diff --git a/data/DataCache.scr b/data/DataCache.scr index 7eaa15e2c..3a7733e4f 100644 --- a/data/DataCache.scr +++ b/data/DataCache.scr @@ -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 diff --git a/data/Scripts/fma_ch1_01.scr b/data/Scripts/fma_ch1_01.scr index 1922eb051..ca4698c14 100644 --- a/data/Scripts/fma_ch1_01.scr +++ b/data/Scripts/fma_ch1_01.scr @@ -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 { diff --git a/data/Scripts/fma_ch1_02.scr b/data/Scripts/fma_ch1_02.scr index 1922eb051..eee74c0ec 100644 --- a/data/Scripts/fma_ch1_02.scr +++ b/data/Scripts/fma_ch1_02.scr @@ -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 { diff --git a/data/Scripts/fma_ch1_03.scr b/data/Scripts/fma_ch1_03.scr index 1922eb051..d9c21467e 100644 --- a/data/Scripts/fma_ch1_03.scr +++ b/data/Scripts/fma_ch1_03.scr @@ -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; diff --git a/data/Scripts/fma_ch4_01.scr b/data/Scripts/fma_ch4_01.scr index e82b22424..45648ca11 100644 --- a/data/Scripts/fma_ch4_01.scr +++ b/data/Scripts/fma_ch4_01.scr @@ -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; diff --git a/data/Scripts/fma_ch4_02.scr b/data/Scripts/fma_ch4_02.scr index e82b22424..4479954fe 100644 --- a/data/Scripts/fma_ch4_02.scr +++ b/data/Scripts/fma_ch4_02.scr @@ -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 diff --git a/makefile.gfx b/makefile.gfx index 97708b92b..eded3fafc 100644 --- a/makefile.gfx +++ b/makefile.gfx @@ -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 diff --git a/source/fma/fma.cpp b/source/fma/fma.cpp index 2edf44332..7815ce2e5 100644 --- a/source/fma/fma.cpp +++ b/source/fma/fma.cpp @@ -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;im_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;irender(); actor=m_actorData; - for(i=0;im_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;im_active) {