Patch #697312: Beneath a Steel Sky interim/initial support patch
svn-id: r6691
This commit is contained in:
parent
f02506f993
commit
5ffeedb1cb
13 changed files with 1299 additions and 3 deletions
266
sky/intro.cpp
Normal file
266
sky/intro.cpp
Normal file
|
@ -0,0 +1,266 @@
|
|||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header$
|
||||
*
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include "common/scummsys.h"
|
||||
#include "sky/skydefs.h"
|
||||
#include "sky/sky.h"
|
||||
|
||||
#define intro_text_width 128
|
||||
|
||||
#define fn_a_pal 60080
|
||||
#define fn_1a_log 60081
|
||||
#define fn_1a 60082
|
||||
#define fn_1b 60083
|
||||
#define fn_1c 60084
|
||||
#define fn_1d 60085
|
||||
#define fn_1e 60086
|
||||
#define fn_4a 60087
|
||||
#define fn_4b_log 60088
|
||||
#define fn_4b 60089
|
||||
#define fn_4c_log 60090
|
||||
#define fn_4c 60091
|
||||
#define fn_5_pal 60092
|
||||
#define fn_5_log 60093
|
||||
#define fn_5 60094
|
||||
#define fn_6_pal 60095
|
||||
#define fn_6_log 60096
|
||||
#define fn_6a 60097
|
||||
#define fn_6b 60098
|
||||
|
||||
#ifdef short_intro_start
|
||||
#define virgin_time_1 3
|
||||
#define viring_time_2 3
|
||||
#define rev_time 8
|
||||
#define gibb_time 6
|
||||
#else
|
||||
#define virgin_time_1 (3*50)
|
||||
#define virgin_time_2 ((3*50)+8)
|
||||
#define rev_time ((8*50)+8)
|
||||
#define gibb_time ((6*50)+8)
|
||||
#endif
|
||||
|
||||
void prepare_text(void);
|
||||
void show_intro_text(void);
|
||||
void remove_text(void);
|
||||
void intro_fx(void);
|
||||
void intro_vol(void);
|
||||
|
||||
uint8 *seq1a_data;
|
||||
uint8 *seq1b_data;
|
||||
uint8 *seq1c_data;
|
||||
uint8 *seq1d_data;
|
||||
uint8 *seq1e_data;
|
||||
uint8 *seq4a_data;
|
||||
uint8 *seq4b_data;
|
||||
uint8 *seq4c_data;
|
||||
uint8 *seq5_data;
|
||||
uint8 *seq6a_data;
|
||||
uint8 *seq6b_data;
|
||||
|
||||
|
||||
uint8 *vga_data;
|
||||
uint8 *diff_data;
|
||||
|
||||
uint8 *work_base;
|
||||
uint8 *work_screen;
|
||||
uint8 *work_screen_end;
|
||||
|
||||
uint8 *intro_text_space; //space for storing text messages
|
||||
uint8 *intro_text_save; //save screen data here
|
||||
|
||||
uint8 *vga_pointer;
|
||||
uint8 *diff_pointer;
|
||||
|
||||
uint32 no_frames; //number of frames in scrolling intro
|
||||
uint32 frame_counter;
|
||||
|
||||
#define ic_prepare_text 0
|
||||
#define ic_show_text 1
|
||||
#define ic_remove_text 2
|
||||
#define ic_make_sound 3
|
||||
#define ic_fx_volume 4
|
||||
|
||||
|
||||
typedef void (*pfc)(void);
|
||||
pfc command_routines[] = { &prepare_text, &show_intro_text, &remove_text, &intro_fx, &intro_vol };
|
||||
|
||||
uint32 cockpit_commands[] =
|
||||
{
|
||||
1000, //do straight away
|
||||
ic_prepare_text,
|
||||
77,
|
||||
220,
|
||||
ic_show_text, //radar detects jamming signal
|
||||
20,
|
||||
160,
|
||||
105,
|
||||
ic_remove_text,
|
||||
81,
|
||||
105,
|
||||
ic_show_text, //well switch to override you fool
|
||||
170,
|
||||
86,
|
||||
35,
|
||||
ic_remove_text,
|
||||
35,
|
||||
ic_prepare_text,
|
||||
477,
|
||||
35,
|
||||
ic_show_text,
|
||||
30,
|
||||
160,
|
||||
3,
|
||||
ic_remove_text
|
||||
};
|
||||
|
||||
uint32 zero_commands[] = { 0 };
|
||||
|
||||
uint32 anim5_commands[] =
|
||||
{
|
||||
31,
|
||||
ic_make_sound,
|
||||
2,
|
||||
127,
|
||||
0
|
||||
};
|
||||
|
||||
uint32 anim4a_commands[] =
|
||||
{
|
||||
136,
|
||||
ic_make_sound,
|
||||
1,
|
||||
70,
|
||||
90,
|
||||
ic_fx_volume,
|
||||
80,
|
||||
50,
|
||||
ic_fx_volume,
|
||||
90,
|
||||
5,
|
||||
ic_fx_volume,
|
||||
100,
|
||||
0
|
||||
};
|
||||
|
||||
uint32 anim4c_commands[] =
|
||||
{
|
||||
1000,
|
||||
ic_fx_volume,
|
||||
100,
|
||||
25,
|
||||
ic_fx_volume,
|
||||
110,
|
||||
15,
|
||||
ic_fx_volume,
|
||||
120,
|
||||
4,
|
||||
ic_fx_volume,
|
||||
127,
|
||||
0
|
||||
};
|
||||
|
||||
uint32 anim6a_commands[] =
|
||||
{
|
||||
1000,
|
||||
ic_prepare_text,
|
||||
478,
|
||||
13,
|
||||
ic_show_text,
|
||||
175,
|
||||
155,
|
||||
0
|
||||
};
|
||||
|
||||
uint32 anim6b_commands[] =
|
||||
{
|
||||
131,
|
||||
ic_remove_text,
|
||||
131,
|
||||
ic_prepare_text,
|
||||
479,
|
||||
74,
|
||||
ic_show_text,
|
||||
175,
|
||||
155,
|
||||
45,
|
||||
ic_remove_text,
|
||||
45,
|
||||
ic_prepare_text,
|
||||
162,
|
||||
44,
|
||||
ic_show_text,
|
||||
175,
|
||||
155,
|
||||
4,
|
||||
ic_remove_text,
|
||||
0
|
||||
};
|
||||
|
||||
uint32 *command_pointer = (uint32 *)zero_commands;
|
||||
|
||||
|
||||
void SkyState::init_virgin()
|
||||
{
|
||||
_temp_pal = (uint8 *)load_file(60111, NULL);
|
||||
if (_temp_pal != NULL)
|
||||
set_palette(_temp_pal);
|
||||
|
||||
_work_screen = (uint8 *)load_file(60110, NULL);
|
||||
|
||||
if (_work_screen != NULL)
|
||||
show_screen();
|
||||
|
||||
//free the memory that was malloc'ed indirectly via load_file
|
||||
free (_work_screen);
|
||||
free (_temp_pal);
|
||||
}
|
||||
|
||||
void SkyState::show_screen(void)
|
||||
{
|
||||
_system->copy_rect(_work_screen, 320, 0, 0, 320, 200);
|
||||
_system->update_screen();
|
||||
}
|
||||
|
||||
void prepare_text(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void show_intro_text(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void remove_text(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void intro_fx(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void intro_vol(void)
|
||||
{
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue