This commit is contained in:
Daveo 2001-06-22 18:00:09 +00:00
parent 0e5f70080e
commit 77abbf73ff
8 changed files with 631 additions and 75 deletions

View File

@ -37,6 +37,7 @@ scripts/fma_ch3_02.dat
scripts/fma_ch4_00.dat
scripts/fma_ch4_01.dat
scripts/fma_ch4_02.dat
scripts/fma_ch5_00.dat
scripts/fma_ch5_01.dat

View File

@ -6,7 +6,7 @@
#include data/scripts/defs/trans.scr
_setText(CHAR_JACKCUSTARD,STR__INGAME__FMA_C1_INTRO0);
_setText(CHAR_SPONGEBOB,STR__INGAME__FMA_C1_SB0);
_setResponseOptions(QUESTION_OK);
do
{
@ -14,7 +14,31 @@ do
}
while(_getResponse()==ANSWER_NONE);
_setText(CHAR_JACKCUSTARD,STR__INGAME__FMA_C1_INTRO1);
_setText(CHAR_BARNACLEBOY,STR__INGAME__FMA_C1_BB0);
_setResponseOptions(QUESTION_OK);
do
{
pause;
}
while(_getResponse()==ANSWER_NONE);
_setText(CHAR_SPONGEBOB,STR__INGAME__FMA_C1_SB1);
_setResponseOptions(QUESTION_OK);
do
{
pause;
}
while(_getResponse()==ANSWER_NONE);
_setText(CHAR_BARNACLEBOY,STR__INGAME__FMA_C1_BB1);
_setResponseOptions(QUESTION_OK);
do
{
pause;
}
while(_getResponse()==ANSWER_NONE);
_setText(CHAR_MERMAIDMAN,STR__INGAME__FMA_C1_MM0);
_setResponseOptions(QUESTION_OK);
do
{

View File

@ -6,15 +6,7 @@
#include data/scripts/defs/trans.scr
_setText(CHAR_JACKCUSTARD,STR__INGAME__FMA_C1_INTRO0);
_setResponseOptions(QUESTION_OK);
do
{
pause;
}
while(_getResponse()==ANSWER_NONE);
_setText(CHAR_JACKCUSTARD,STR__INGAME__FMA_C1_INTRO1);
_setText(CHAR_SPONGEBOB,STR__INGAME__FMA_C1_SB2);
_setResponseOptions(QUESTION_OK);
do
{

View File

@ -6,7 +6,7 @@
#include data/scripts/defs/trans.scr
_setText(CHAR_JACKCUSTARD,STR__INGAME__FMA_C1_INTRO0);
_setText(CHAR_GARY,STR__INGAME__GARY_MEOW);
_setResponseOptions(QUESTION_OK);
do
{
@ -14,12 +14,5 @@ do
}
while(_getResponse()==ANSWER_NONE);
_setText(CHAR_JACKCUSTARD,STR__INGAME__FMA_C1_INTRO1);
_setResponseOptions(QUESTION_OK);
do
{
pause;
}
while(_getResponse()==ANSWER_NONE);
stop;

View File

@ -22,20 +22,4 @@ do
}
while(_getResponse()==ANSWER_NONE);
_setText(CHAR_SPONGEBOB,STR__INGAME__FMA_C4_SB1);
_setResponseOptions(QUESTION_OK);
do
{
pause;
}
while(_getResponse()==ANSWER_NONE);
_setText(CHAR_BARNACLEBOY,STR__INGAME__FMA_C4_BB0);
_setResponseOptions(QUESTION_OK);
do
{
pause;
}
while(_getResponse()==ANSWER_NONE);
stop;

View File

@ -6,22 +6,6 @@
#include data/scripts/defs/trans.scr
_setText(CHAR_MERMAIDMAN,STR__INGAME__FMA_C4_MM_BB0);
_setResponseOptions(QUESTION_OK);
do
{
pause;
}
while(_getResponse()==ANSWER_NONE);
_setText(CHAR_BARNACLEBOY,STR__INGAME__FMA_C4_MM_BB0);
_setResponseOptions(QUESTION_OK);
do
{
pause;
}
while(_getResponse()==ANSWER_NONE);
_setText(CHAR_SPONGEBOB,STR__INGAME__FMA_C4_SB1);
_setResponseOptions(QUESTION_OK);
do

View File

@ -596,7 +596,7 @@ SCRIPTS_LIST := ch1l1_01 ch1l1_02 ch1l2_01 ch1l2_02 ch1l2_03 ch1l4_01 ch1l4_02
fma_ch1_00 fma_ch1_01 fma_ch1_02 fma_ch1_03 \
fma_ch2_00 fma_ch2_01 fma_ch2_02 fma_ch2_03 \
fma_ch3_00 fma_ch3_01 fma_ch3_02 \
fma_ch4_00 fma_ch4_01 \
fma_ch4_00 fma_ch4_01 fma_ch4_02 \
fma_ch5_00 fma_ch5_01 fma_ch5_02 \
fma_ch6_00 fma_ch6_01 fma_ch6_02 fma_ch6_03

View File

@ -10,7 +10,11 @@
Copyright (c) 2001 Climax Development Ltd
===========================================================================*/
/*
Sprite/object control - Thrown objects, so need curved path, :o(
FX
*/
/*----------------------------------------------------------------------
Includes
@ -73,21 +77,21 @@
// Available actors
enum
{
ACTOR_SPONGEBOB,
ACTOR_MM,
ACTOR_BB,
ACTOR_GARY,
FMA_ACTOR_SPONGEBOB,
FMA_ACTOR_MM,
FMA_ACTOR_BB,
FMA_ACTOR_GARY,
NUM_ACTORS
FMA_NUM_ACTORS
};
// Actor animation types
enum
{
ANIM_IDLE,
ANIM_WALK,
FMA_ANIM_IDLE,
FMA_ANIM_WALK,
NUM_ANIMS,
FMA_NUM_ANIMS,
};
// Available script commands
@ -121,7 +125,7 @@ typedef enum
typedef struct
{
FileEquate m_file;
int m_anims[NUM_ANIMS];
int m_anims[FMA_NUM_ANIMS];
} ACTOR_GRAPHICS_DATA;
@ -156,8 +160,581 @@ typedef struct
CFmaScene FmaScene;
// A test script..
/*****************************************************************************/
// Ch1 FMA
int s_testScript[]=
{
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_00_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_01_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_02_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_03_DAT,
// Scene 1 - Shade Shoals
SC_SNAP_CAMERA_TO, 4*16,16*16,
SC_WAIT_ON_TIMER, 30,
// Scene 2 - SB arrives outside Shady Shoals
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,40*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,1,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_SPONGEBOB,true,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,16*16,30*16,96,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH6_00_DAT,
// Scene 3 - SB Fixing TV
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_MM,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_MM,224*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_MM,1,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_MM,true,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_BB,220*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_BB,1,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_BB,true,
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,208*16,30*16,
SC_SNAP_CAMERA_TO, 197*16,16*16,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_WAIT_ON_TIMER, 10,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
SC_WAIT_ON_TIMER, 10,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_WAIT_ON_TIMER, 10,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,1,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH6_01_DAT,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_WAIT_ON_TIMER, 10,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_WAIT_ON_TIMER, 10,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_WAIT_ON_TIMER, 10,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,1,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
// Scene 4 - Goes to BB, and collects his prize
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,216*16,30*16,16,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH6_02_DAT,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,240*16,30*16,154,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
// Scene 5 - SB leaves Shady Shoals
SC_SNAP_CAMERA_TO, 4*16,16*16,
SC_WAIT_ON_TIMER, 30,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,4*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,40*16,30*16,144,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
// Scene 6 - Back in shady
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_MM,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_MM,207*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_MM,0,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_BB,212*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_BB,1,
SC_SNAP_CAMERA_TO, 197*16,16*16,
SC_WAIT_ON_TIMER, 60,
// Scene 7 - TV goes pop
// Scene 8 - Outside, MM & BB SCREEEEEEEEEEEEEEEAM
SC_SNAP_CAMERA_TO, 4*16,16*16,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH6_03_DAT,
SC_STOP
};
/*****************************************************************************/
/*** Intro FMA ***************************************************************/
/*****************************************************************************/
int s_FMAIntroScript[]=
{
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH1_00_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH1_01_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH1_02_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH1_03_DAT,
// Scene 1 - SB & Gary outside house
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,80*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,1,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_SPONGEBOB,true,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_GARY,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_GARY,84*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_GARY,1,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_GARY,true,
SC_SNAP_CAMERA_TO, 67*16,16*16,
SC_WAIT_ON_TIMER, 60,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH1_00_DAT,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,60*16,30*16,60*2,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_GARY,FMA_ANIM_WALK,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_GARY,64*16,30*16,60*3,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
// SC_WAIT_ON_TIMER, 60*2,
// Scene 2 - Shady shoals with BB & MM
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_MM,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_MM,11*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_MM,0,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_MM,true,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,60*16,30*16,60*2,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_BB,17*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_BB,0,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_BB,true,
SC_SNAP_CAMERA_TO, 4*16,16*16,
SC_WAIT_ON_TIMER, 60,
// Scene 3 - SB Arives
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,40*16,30*16,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,24*16,30*16,60*2,
SC_SET_ACTOR_POSITION, FMA_ACTOR_GARY,44*16,30*16,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_GARY,28*16,30*16,60*3,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_GARY,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_GARY,FMA_ANIM_IDLE,
// Scene 4 - SB talks to em
// Scene 5 - MM gives task
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH1_01_DAT,
// Scene 6 - SB readies to run
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
SC_WAIT_ON_TIMER, 15,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH1_02_DAT,
SC_WAIT_ON_TIMER, 15,
// Scene 7 - SB Leaves
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,40*16,30*16,30,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
// Scene 8 - Back to Gary, for non funny end
SC_SET_ACTOR_FACING, FMA_ACTOR_GARY,0,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_GARY,30*16,30*16,60,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_GARY,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH1_03_DAT,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_GARY,44*16,30*16,60*2,
SC_WAIT_ON_TIMER, 60*5,
SC_STOP
};
/*****************************************************************************/
/*** C1 End FMA **************************************************************/
/*****************************************************************************/
int s_FMAC1EndScript[]=
{
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH2_00_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH2_01_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH2_02_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH2_03_DAT,
// Scene 1 - Shade Shoals
SC_SNAP_CAMERA_TO, 4*16,16*16,
SC_WAIT_ON_TIMER, 60*2,
// Scene 2 - inside Shady Shoals
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_MM,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_MM,207*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_MM,0,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_MM,true,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_BB,212*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_BB,1,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_BB,true,
SC_SNAP_CAMERA_TO, 197*16,16*16,
SC_WAIT_ON_TIMER, 30,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH2_00_DAT,
SC_WAIT_ON_TIMER, 30,
// Scene 3 - SB enter by door
SC_MOVE_CAMERA_TO, 235*16,16*16,60,
SC_WAIT_ON_CAMERA_STOP,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,270*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,1,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_SPONGEBOB,true,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,260*16,30*16,40,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,230*16,30*16,120,
SC_MOVE_CAMERA_TO, 210*16,16*16,120,
SC_WAIT_ON_CAMERA_STOP,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH2_01_DAT,
// scene 6 - sarnie flys thru the air
// SC_SPRITE_SHIT
SC_MOVE_CAMERA_TO, 197*16,16*16,120,
SC_WAIT_ON_CAMERA_STOP,
// Scene 7 - MM Eats sarnie
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,220*16,30*16,40,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_SET_ACTOR_FACING, FMA_ACTOR_BB,0,
SC_WAIT_ON_TIMER, 30,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH2_02_DAT,
// Scene 8 - SB Leaves
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
SC_WAIT_ON_TIMER, 10,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH2_03_DAT,
SC_WAIT_ON_TIMER, 10,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,240*16,30*16,40,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_STOP
};
/*****************************************************************************/
/*** C2 End FMA **************************************************************/
/*****************************************************************************/
int s_FMAC2EndScript[]=
{
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH3_00_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH3_01_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH3_02_DAT,
// Scene 1 - Shade Shoals
SC_SNAP_CAMERA_TO, 4*16,16*16,
SC_WAIT_ON_TIMER, 60*2,
// Scene 2 - inside Shady Shoals
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_MM,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_MM,207*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_MM,0,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_MM,true,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_BB,212*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_BB,0,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_BB,true,
SC_SNAP_CAMERA_TO, 197*16,16*16,
SC_WAIT_ON_TIMER, 60,
// Scene 3 - SB enter by door
SC_MOVE_CAMERA_TO, 235*16,16*16,60,
SC_WAIT_ON_CAMERA_STOP,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,270*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,1,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_SPONGEBOB,true,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,260*16,30*16,40,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH3_00_DAT,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,220*16,30*16,200,
SC_MOVE_CAMERA_TO, 197*16,16*16,200,
SC_WAIT_ON_CAMERA_STOP,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
// Scene 7 - BB gives new task
SC_WAIT_ON_TIMER, 30,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH3_01_DAT,
// Scene 8 - SB Leaves
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
SC_WAIT_ON_TIMER, 10,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH3_02_DAT,
SC_WAIT_ON_TIMER, 10,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,240*16,30*16,40,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_STOP
};
/*****************************************************************************/
/*** C3 End FMA **************************************************************/
/*****************************************************************************/
int s_FMAC3EndScript[]=
{
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH4_00_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH4_01_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH4_02_DAT,
// Scene 1 - Shade Shoals
SC_SNAP_CAMERA_TO, 4*16,16*16,
SC_WAIT_ON_TIMER, 30,
// Scene 2 - SB arrives outside Shady Shoals
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,40*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,1,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_SPONGEBOB,true,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,16*16,30*16,96,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH4_00_DAT,
// Scene 3 - inside Shady Shoals
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_MM,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_MM,207*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_MM,0,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_MM,true,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_BB,212*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_BB,0,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_BB,true,
SC_SNAP_CAMERA_TO, 197*16,16*16,
SC_WAIT_ON_TIMER, 30,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH4_01_DAT,
SC_WAIT_ON_TIMER, 30,
// Scene 4 - SB enter by door, and runs over to them
SC_MOVE_CAMERA_TO, 235*16,16*16,60,
SC_WAIT_ON_CAMERA_STOP,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,270*16,30*16,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,260*16,30*16,40,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,220*16,30*16,200,
SC_MOVE_CAMERA_TO, 197*16,16*16,200,
SC_WAIT_ON_CAMERA_STOP,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
// Scene 5 - MM & BB need to hide here
// Scene 7 - BB gives new task
SC_WAIT_ON_TIMER, 30,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH4_02_DAT,
// Scene 8 - SB Leaves
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
SC_WAIT_ON_TIMER, 20,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,240*16,30*16,40,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_STOP
};
/*****************************************************************************/
/*** C4 End FMA **************************************************************/
/*****************************************************************************/
int s_FMAC4EndScript[]=
{
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH5_00_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH5_01_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH5_02_DAT,
// Scene 1 - Shade Shoals
SC_SNAP_CAMERA_TO, 4*16,16*16,
SC_WAIT_ON_TIMER, 30,
// Scene 2 - SB arrives outside Shady Shoals
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,40*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,1,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_SPONGEBOB,true,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,16*16,30*16,96,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH5_00_DAT,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH5_01_DAT,
/* NEED PORTHOLE TO FINISH THIS BABY
// Scene 3 - inside Shady Shoals
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_MM,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_MM,207*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_MM,0,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_MM,true,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_BB,212*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_BB,0,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_BB,true,
SC_SNAP_CAMERA_TO, 197*16,16*16,
SC_WAIT_ON_TIMER, 30,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH4_01_DAT,
SC_WAIT_ON_TIMER, 30,
// Scene 4 - SB enter by door, and runs over to them
SC_MOVE_CAMERA_TO, 235*16,16*16,60,
SC_WAIT_ON_CAMERA_STOP,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,270*16,30*16,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,260*16,30*16,40,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,220*16,30*16,200,
SC_MOVE_CAMERA_TO, 197*16,16*16,200,
SC_WAIT_ON_CAMERA_STOP,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
// Scene 5 - MM & BB need to hide here
// Scene 7 - BB gives new task
SC_WAIT_ON_TIMER, 30,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH4_02_DAT,
*/
// Scene 8 - SB Leaves
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
SC_WAIT_ON_TIMER, 20,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH5_02_DAT,
SC_WAIT_ON_TIMER, 20,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,240*16,30*16,40,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_STOP
};
/*****************************************************************************/
/*** C5 End FMA **************************************************************/
/*****************************************************************************/
int s_FMAC5EndScript[]=
{
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_00_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_01_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_02_DAT,
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_03_DAT,
// Scene 1 - Shade Shoals
SC_SNAP_CAMERA_TO, 4*16,16*16,
SC_WAIT_ON_TIMER, 30,
// Scene 2 - SB arrives outside Shady Shoals
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,40*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,1,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_SPONGEBOB,true,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,16*16,30*16,96,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH6_00_DAT,
// Scene 3 - SB Fixing TV
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_MM,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_MM,224*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_MM,1,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_MM,true,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_BB,220*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_BB,1,
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_BB,true,
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,208*16,30*16,
SC_SNAP_CAMERA_TO, 197*16,16*16,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_WAIT_ON_TIMER, 10,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
SC_WAIT_ON_TIMER, 10,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_WAIT_ON_TIMER, 10,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,1,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH6_01_DAT,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_WAIT_ON_TIMER, 10,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_WAIT_ON_TIMER, 10,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_WAIT_ON_TIMER, 10,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,1,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
// Scene 4 - Goes to BB, and collects his prize
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,216*16,30*16,16,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH6_02_DAT,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,240*16,30*16,154,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
// Scene 5 - SB leaves Shady Shoals
SC_SNAP_CAMERA_TO, 4*16,16*16,
SC_WAIT_ON_TIMER, 30,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,4*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,40*16,30*16,144,
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
// Scene 6 - Back in shady
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_MM,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_MM,207*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_MM,0,
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_IDLE,
SC_SET_ACTOR_POSITION, FMA_ACTOR_BB,212*16,30*16,
SC_SET_ACTOR_FACING, FMA_ACTOR_BB,1,
SC_SNAP_CAMERA_TO, 197*16,16*16,
SC_WAIT_ON_TIMER, 60,
// Scene 7 - TV goes pop
// Scene 8 - Outside, MM & BB SCREEEEEEEEEEEEEEEAM
SC_SNAP_CAMERA_TO, 4*16,16*16,
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH6_03_DAT,
SC_STOP
};
/*****************************************************************************/
// A test script..
/*
int s_testScriptold[]=
{
SC_REGISTER_CONVERSATION, SCRIPTS_CH1L1_01_DAT,
SC_SNAP_CAMERA_TO, 0,0,
@ -181,19 +758,19 @@ int s_testScript[]=
SC_STOP
};
*/
// Actor graphics data
const ACTOR_GRAPHICS_DATA s_actorGraphicsData[NUM_ACTORS]=
const ACTOR_GRAPHICS_DATA s_actorGraphicsData[FMA_NUM_ACTORS]=
{
{ ACTORS_SPONGEBOB_SBK, { ANIM_SPONGEBOB_IDLEBREATH, ANIM_SPONGEBOB_RUN } }, // ACTOR_SPONGEBOB
{ ACTORS_MERMAIDMAN_SBK, { ANIM_MERMAIDMAN_IDLEBREATHE, ANIM_MERMAIDMAN_IDLEBREATHE } }, // ACTOR_MM
{ ACTORS_BARNACLEBOY_SBK, { ANIM_BARNACLEBOY_IDLEBREATHE, ANIM_BARNACLEBOY_IDLEBREATHE } }, // ACTOR_BB
{ ACTORS_GARY_SBK, { ANIM_GARY_IDLE, ANIM_GARY_SLITHER } }, // ACTOR_GARY
{ ACTORS_GARY_SBK, { ANIM_GARY_IDLE, ANIM_GARY_IDLE/*ANIM_GARY_SLITHER*/ } }, // ACTOR_GARY
};
ACTOR_DATA m_actorData[NUM_ACTORS];
ACTOR_DATA m_actorData[FMA_NUM_ACTORS];
#include "pad\pads.h"
@ -225,11 +802,11 @@ void CFmaScene::init()
CActorPool::Reset();
actor=m_actorData;
for(i=0;i<NUM_ACTORS;i++)
for(i=0;i<FMA_NUM_ACTORS;i++)
{
actor->m_gfx=CActorPool::GetActor(s_actorGraphicsData[i].m_file);
actor->m_active=false;
actor->m_animState=ANIM_IDLE;
actor->m_animState=FMA_ANIM_IDLE;
actor->m_animFrame=0;
actor->m_pos.vx=0;
actor->m_pos.vy=0;
@ -255,7 +832,7 @@ void CFmaScene::init()
---------------------------------------------------------------------- */
void CFmaScene::shutdown()
{
for(int i=0;i<NUM_ACTORS;i++)
for(int i=0;i<FMA_NUM_ACTORS;i++)
{
delete m_actorData[i].m_gfx;
}
@ -285,10 +862,11 @@ void CFmaScene::render()
m_level->render();
actor=m_actorData;
for(i=0;i<NUM_ACTORS;i++)
for(i=0;i<FMA_NUM_ACTORS;i++)
{
if(actor->m_active)
{
// need clipping here
DVECTOR pos;
pos.vx=actor->m_pos.vx-m_cameraPos.vx;
pos.vy=actor->m_pos.vy-m_cameraPos.vy;
@ -323,19 +901,19 @@ void CFmaScene::think(int _frames)
#if defined (__USER_paul__) || defined (__USER_daveo__)
if(PadGetHeld(0)&PAD_UP)
{
m_cameraPos.vy-=10*_frames;
m_cameraPos.vy-=16;
}
else if(PadGetHeld(0)&PAD_DOWN)
{
m_cameraPos.vy+=10*_frames;
m_cameraPos.vy+=16;
}
else if(PadGetHeld(0)&PAD_LEFT)
{
m_cameraPos.vx-=10*_frames;
m_cameraPos.vx-=16;
}
else if(PadGetHeld(0)&PAD_RIGHT)
{
m_cameraPos.vx+=10*_frames;
m_cameraPos.vx+=16;
}
#endif
if(m_scriptRunning==false&&PadGetDown(0)&(PAD_CROSS|PAD_START))
@ -351,7 +929,7 @@ void CFmaScene::think(int _frames)
ACTOR_DATA *actor;
actor=m_actorData;
for(i=0;i<NUM_ACTORS;i++)
for(i=0;i<FMA_NUM_ACTORS;i++)
{
if(actor->m_active)
{