From: hgn Date: Mon, 3 Feb 2025 21:11:03 +0000 (+0000) Subject: rest of the story X-Git-Url: https://harrygodden.com/git/?a=commitdiff_plain;h=e61b6eb087966682c424ffa653119ade133f6fc1;p=carveJwlIkooP6JGAAIwe30JlM.git rest of the story --- diff --git a/content_skaterift/maps/dev_heaven/main.mdl b/content_skaterift/maps/dev_heaven/main.mdl new file mode 100644 index 0000000..c83c222 Binary files /dev/null and b/content_skaterift/maps/dev_heaven/main.mdl differ diff --git a/content_skaterift/maps/mp_mtzero/main.mdl b/content_skaterift/maps/mp_mtzero/main.mdl index 87d11a4..2551173 100644 Binary files a/content_skaterift/maps/mp_mtzero/main.mdl and b/content_skaterift/maps/mp_mtzero/main.mdl differ diff --git a/content_skaterift/metascenes/ch2e1.ms b/content_skaterift/metascenes/ch2e1.ms new file mode 100644 index 0000000..5565ebf Binary files /dev/null and b/content_skaterift/metascenes/ch2e1.ms differ diff --git a/content_skaterift/metascenes/ch2s3a.ms b/content_skaterift/metascenes/ch2s3a.ms index 73bfae6..66b50d5 100644 Binary files a/content_skaterift/metascenes/ch2s3a.ms and b/content_skaterift/metascenes/ch2s3a.ms differ diff --git a/content_skaterift/metascenes/ch2s4.ms b/content_skaterift/metascenes/ch2s4.ms new file mode 100644 index 0000000..deaafcc Binary files /dev/null and b/content_skaterift/metascenes/ch2s4.ms differ diff --git a/content_skaterift/metascenes/ch2s5.ms b/content_skaterift/metascenes/ch2s5.ms new file mode 100644 index 0000000..063c7f7 Binary files /dev/null and b/content_skaterift/metascenes/ch2s5.ms differ diff --git a/content_skaterift/metascenes/ch2s6.ms b/content_skaterift/metascenes/ch2s6.ms new file mode 100644 index 0000000..10c50c9 Binary files /dev/null and b/content_skaterift/metascenes/ch2s6.ms differ diff --git a/content_skaterift/metascenes/ch3s1.ms b/content_skaterift/metascenes/ch3s1.ms new file mode 100644 index 0000000..2091c2c Binary files /dev/null and b/content_skaterift/metascenes/ch3s1.ms differ diff --git a/content_skaterift/metascenes/ch3s2.ms b/content_skaterift/metascenes/ch3s2.ms new file mode 100644 index 0000000..0990752 Binary files /dev/null and b/content_skaterift/metascenes/ch3s2.ms differ diff --git a/content_skaterift/metascenes/ch3s3.ms b/content_skaterift/metascenes/ch3s3.ms new file mode 100644 index 0000000..2e1c064 Binary files /dev/null and b/content_skaterift/metascenes/ch3s3.ms differ diff --git a/content_skaterift/metascenes/ch4s1.ms b/content_skaterift/metascenes/ch4s1.ms new file mode 100644 index 0000000..6e858e5 Binary files /dev/null and b/content_skaterift/metascenes/ch4s1.ms differ diff --git a/content_skaterift/metascenes/ch4s1a.ms b/content_skaterift/metascenes/ch4s1a.ms new file mode 100644 index 0000000..221baff Binary files /dev/null and b/content_skaterift/metascenes/ch4s1a.ms differ diff --git a/content_skaterift/metascenes/ch4s2.ms b/content_skaterift/metascenes/ch4s2.ms new file mode 100644 index 0000000..031a3e9 Binary files /dev/null and b/content_skaterift/metascenes/ch4s2.ms differ diff --git a/content_skaterift/metascenes/ch4s3.ms b/content_skaterift/metascenes/ch4s3.ms new file mode 100644 index 0000000..5fe7a9f Binary files /dev/null and b/content_skaterift/metascenes/ch4s3.ms differ diff --git a/content_skaterift/metascenes/intro.ms b/content_skaterift/metascenes/intro.ms new file mode 100644 index 0000000..553827b Binary files /dev/null and b/content_skaterift/metascenes/intro.ms differ diff --git a/content_skaterift/playermodels/skaterift_fbi/ch_fbi.mdl b/content_skaterift/playermodels/skaterift_fbi/ch_fbi.mdl new file mode 100644 index 0000000..3c3aa08 Binary files /dev/null and b/content_skaterift/playermodels/skaterift_fbi/ch_fbi.mdl differ diff --git a/content_skaterift/playermodels/skaterift_fbi2/ch_fbi2.mdl b/content_skaterift/playermodels/skaterift_fbi2/ch_fbi2.mdl new file mode 100644 index 0000000..30c504a Binary files /dev/null and b/content_skaterift/playermodels/skaterift_fbi2/ch_fbi2.mdl differ diff --git a/content_skaterift/playermodels/skaterift_jesus/ch_jesus.mdl b/content_skaterift/playermodels/skaterift_jesus/ch_jesus.mdl new file mode 100644 index 0000000..f78a3ee Binary files /dev/null and b/content_skaterift/playermodels/skaterift_jesus/ch_jesus.mdl differ diff --git a/content_skaterift/playermodels/skaterift_president/ch_president.mdl b/content_skaterift/playermodels/skaterift_president/ch_president.mdl new file mode 100644 index 0000000..882a400 Binary files /dev/null and b/content_skaterift/playermodels/skaterift_president/ch_president.mdl differ diff --git a/content_skaterift/sound/cs/ch2e1.JC.ogg b/content_skaterift/sound/cs/ch2e1.JC.ogg new file mode 100644 index 0000000..d5010f0 Binary files /dev/null and b/content_skaterift/sound/cs/ch2e1.JC.ogg differ diff --git a/content_skaterift/sound/cs/ch2s2.MIKE.ogg b/content_skaterift/sound/cs/ch2s2.MIKE.ogg index 381a9b9..4cb7247 100644 Binary files a/content_skaterift/sound/cs/ch2s2.MIKE.ogg and b/content_skaterift/sound/cs/ch2s2.MIKE.ogg differ diff --git a/content_skaterift/sound/cs/ch2s3a.JC.ogg b/content_skaterift/sound/cs/ch2s3a.JC.ogg new file mode 100644 index 0000000..5b9a4fb Binary files /dev/null and b/content_skaterift/sound/cs/ch2s3a.JC.ogg differ diff --git a/content_skaterift/sound/cs/ch2s3a.MIKE.ogg b/content_skaterift/sound/cs/ch2s3a.MIKE.ogg index 2014e87..ad0d509 100644 Binary files a/content_skaterift/sound/cs/ch2s3a.MIKE.ogg and b/content_skaterift/sound/cs/ch2s3a.MIKE.ogg differ diff --git a/content_skaterift/sound/cs/ch2s3b.JC.ogg b/content_skaterift/sound/cs/ch2s3b.JC.ogg new file mode 100644 index 0000000..de42dbd Binary files /dev/null and b/content_skaterift/sound/cs/ch2s3b.JC.ogg differ diff --git a/content_skaterift/sound/cs/ch2s3b.MIKE.ogg b/content_skaterift/sound/cs/ch2s3b.MIKE.ogg new file mode 100644 index 0000000..901afdc Binary files /dev/null and b/content_skaterift/sound/cs/ch2s3b.MIKE.ogg differ diff --git a/content_skaterift/sound/cs/ch2s4.JC.ogg b/content_skaterift/sound/cs/ch2s4.JC.ogg new file mode 100644 index 0000000..f6d543b Binary files /dev/null and b/content_skaterift/sound/cs/ch2s4.JC.ogg differ diff --git a/content_skaterift/sound/cs/ch2s4.MIKE.ogg b/content_skaterift/sound/cs/ch2s4.MIKE.ogg new file mode 100644 index 0000000..918c90c Binary files /dev/null and b/content_skaterift/sound/cs/ch2s4.MIKE.ogg differ diff --git a/content_skaterift/sound/cs/ch2s5.MIKE.ogg b/content_skaterift/sound/cs/ch2s5.MIKE.ogg new file mode 100644 index 0000000..3545859 Binary files /dev/null and b/content_skaterift/sound/cs/ch2s5.MIKE.ogg differ diff --git a/content_skaterift/sound/cs/ch2s6.JC.ogg b/content_skaterift/sound/cs/ch2s6.JC.ogg new file mode 100644 index 0000000..ecb6eeb Binary files /dev/null and b/content_skaterift/sound/cs/ch2s6.JC.ogg differ diff --git a/content_skaterift/sound/cs/ch2s6.MIKE.ogg b/content_skaterift/sound/cs/ch2s6.MIKE.ogg new file mode 100644 index 0000000..fb3b189 Binary files /dev/null and b/content_skaterift/sound/cs/ch2s6.MIKE.ogg differ diff --git a/content_skaterift/sound/cs/ch3s1.JC.ogg b/content_skaterift/sound/cs/ch3s1.JC.ogg new file mode 100644 index 0000000..8bf3d77 Binary files /dev/null and b/content_skaterift/sound/cs/ch3s1.JC.ogg differ diff --git a/content_skaterift/sound/cs/ch3s1.MIKE.ogg b/content_skaterift/sound/cs/ch3s1.MIKE.ogg new file mode 100644 index 0000000..cc25243 Binary files /dev/null and b/content_skaterift/sound/cs/ch3s1.MIKE.ogg differ diff --git a/content_skaterift/sound/cs/ch3s2.MIKE.ogg b/content_skaterift/sound/cs/ch3s2.MIKE.ogg new file mode 100644 index 0000000..f4de6ee Binary files /dev/null and b/content_skaterift/sound/cs/ch3s2.MIKE.ogg differ diff --git a/content_skaterift/sound/cs/ch3s3.MIKE.ogg b/content_skaterift/sound/cs/ch3s3.MIKE.ogg new file mode 100644 index 0000000..b190d21 Binary files /dev/null and b/content_skaterift/sound/cs/ch3s3.MIKE.ogg differ diff --git a/content_skaterift/sound/cs/ch3s3.PRESIDENT.ogg b/content_skaterift/sound/cs/ch3s3.PRESIDENT.ogg new file mode 100644 index 0000000..651942d Binary files /dev/null and b/content_skaterift/sound/cs/ch3s3.PRESIDENT.ogg differ diff --git a/content_skaterift/sound/cs/ch4s1.MIKE.ogg b/content_skaterift/sound/cs/ch4s1.MIKE.ogg new file mode 100644 index 0000000..5e3f72c Binary files /dev/null and b/content_skaterift/sound/cs/ch4s1.MIKE.ogg differ diff --git a/content_skaterift/sound/cs/ch4s1a.MIKE.ogg b/content_skaterift/sound/cs/ch4s1a.MIKE.ogg new file mode 100644 index 0000000..bc95e73 Binary files /dev/null and b/content_skaterift/sound/cs/ch4s1a.MIKE.ogg differ diff --git a/content_skaterift/sound/cs/ch4s2.FBI MAN.ogg b/content_skaterift/sound/cs/ch4s2.FBI MAN.ogg new file mode 100644 index 0000000..b8ad834 Binary files /dev/null and b/content_skaterift/sound/cs/ch4s2.FBI MAN.ogg differ diff --git a/content_skaterift/sound/cs/ch4s2.MIKE.ogg b/content_skaterift/sound/cs/ch4s2.MIKE.ogg new file mode 100644 index 0000000..7860d0a Binary files /dev/null and b/content_skaterift/sound/cs/ch4s2.MIKE.ogg differ diff --git a/content_skaterift/sound/cs/ch4s3.JC.ogg b/content_skaterift/sound/cs/ch4s3.JC.ogg new file mode 100644 index 0000000..b0fb832 Binary files /dev/null and b/content_skaterift/sound/cs/ch4s3.JC.ogg differ diff --git a/content_skaterift/sound/cs/intro.OTHER.ogg b/content_skaterift/sound/cs/intro.OTHER.ogg new file mode 100644 index 0000000..c6e6754 Binary files /dev/null and b/content_skaterift/sound/cs/intro.OTHER.ogg differ diff --git a/src/skaterift_script.c b/src/skaterift_script.c index 1a07fbe..755c853 100644 --- a/src/skaterift_script.c +++ b/src/skaterift_script.c @@ -7,6 +7,9 @@ #define KCOL_JOHN KRED #define KCOL_MIKE KBLU +#define KCOL_PRES KYEL +#define KCOL_FBI KGRN +#define KCOL_JESUS KMAG enum escript_event { @@ -60,6 +63,73 @@ static void _skaterift_dialogue( struct sr_subtitle *subtitles, u32 *index, *index = i; } +static bool _skaterift_script_intro( enum escript_event ev, const char *inf ) +{ + static u32 state, subtitle_id; + static struct cs_instance *override_inst; + + if( ev == k_escript_event_call ) + { + state = k_escript_state_loading; + override_inst = NULL; + subtitle_id = 0; + vg_info( "test:state = loading\n" ); + } + + if( ev == k_escript_event_cutscene_marker ) + { + struct sr_subtitle EN[] = { + { "a1", KCOL_JESUS "Aww hello" }, + { "a2", KCOL_JESUS "welcome to heaven." }, + { "a3", KCOL_JESUS "Not quite your time yet," }, + { "a4", KCOL_JESUS "but if you wanna take a quick look around" }, + { "a5", KCOL_JESUS "then feel free to do so." }, + { "a6", KCOL_JESUS "We've got a great grift shop on the way out!" }, + { NULL, NULL }, + }; + _skaterift_dialogue( EN, &subtitle_id, inf ); + + return 0; + } + + /* scene + * --------------------------------------------------------------- */ + + if( state == k_escript_state_loading ) + { + if( cmd_cutscene_load( 1, (const char *[]){ "metascenes/intro.ms" } ) ) + { + state = k_escript_state_initializing; + vg_info( "test:state = initializing\n" ); + } + } + + if( state == k_escript_state_initializing ) + { + if( _cutscene.state == k_cutscene_state_ready ) + { + _skaterift_script_bind_player(); + state = k_escript_state_playing; + vg_info( "test:state = playing\n" ); + _cutscene_play(); + } + } + + if( state == k_escript_state_playing ) + { + if( _cutscene.state == k_cutscene_state_done ) + { + state = k_escript_state_end; + vg_info( "test:state = end\n" ); + _cutscene_unload(); + return 1; + } + } + + return 0; +} + + static bool _skaterift_script_ch1s2( enum escript_event ev, const char *inf ) { static u32 state, subtitle_id; @@ -647,6 +717,77 @@ static bool _skaterift_script_ch2s3a( enum escript_event ev, const char *inf ) { "m5", KCOL_MIKE "Don't you think its.. pointless?" }, { "m6", KCOL_MIKE "Myeah I'm heading back to the shop" }, { "m7", KCOL_MIKE "Coming?" }, + { "m8", KCOL_MIKE "Ohh man.." }, + { "m9", KCOL_MIKE "What a **** racket" }, + { "m10", KCOL_MIKE "It's 8pm even." }, + { "j1", KCOL_JOHN "You guys can't be walking in and scaring me like that" }, + { "m11", KCOL_MIKE "John, " }, + { "m12", KCOL_MIKE "Whats that?" }, + { "j2", KCOL_JOHN "uhhh just uh just uhh" }, + { "j3", KCOL_JOHN "just cleaning something up for a client" }, + { "m13", KCOL_MIKE "A 20ft tall quaterpipe" }, + { "m14", KCOL_MIKE "for a client.." }, + { "m15", KCOL_MIKE "on an island full of pensioners?" }, + { "j4", KCOL_JOHN "Yeah why not?" }, + { "j5", KCOL_JOHN "Skating's taking off right now!" }, + { "m16", KCOL_MIKE "Come on mate.." }, + { "j6", KCOL_JOHN "Aight look.." }, + { "j7", KCOL_JOHN "I'm just skimming little bits from the surplus" }, + { "j8", KCOL_JOHN "I got this plan right." }, + { "j9", KCOL_JOHN "It's gonna be BIG" }, + { "j10", KCOL_JOHN "People from all over the world are gonna come to see it." }, + { "j11", KCOL_JOHN "You know how like uh..." }, + { "j12", KCOL_JOHN "You know how no one visits the west island?" }, + { "m17", KCOL_MIKE "Well.. yeah?" }, + { "j13", KCOL_JOHN "Behold!" }, + { "j14", KCOL_JOHN "Mango mega island!" }, + { "j15", KCOL_JOHN "A skaters dream.." }, + { "m18", KCOL_MIKE "Ohhh yeah john" }, + { "m19", KCOL_MIKE "Looks great!" }, + { "m20", KCOL_MIKE "And whos gonna build this.." }, + { "m21", KCOL_MIKE "gigantic skate thing then..?" }, + { "j16", KCOL_JOHN "Well uhhh" }, + { "j17", KCOL_JOHN "Thats where I need your guys help." }, + { "m22", KCOL_MIKE "What are we gonna help with exactly?" }, + { "m23", KCOL_MIKE "You always do this John." }, + { "m24", KCOL_MIKE "Have some grand idea and suddenly everyones onboard with it." }, + { "j18", KCOL_JOHN "Whens the last time I asked you for anything?" }, + { "m25", KCOL_MIKE "Yesterday.." }, + { "j19", KCOL_JOHN "Oh..." }, + { "j20", KCOL_JOHN "Yeah, anyway" }, + { "j21", KCOL_JOHN "All I need is for you guys to finish the time trials" }, + { "j22", KCOL_JOHN "Go work on those, and come back when you've got it." }, + { "m26", KCOL_MIKE "Yeah well I got news for you!" }, + { "m27", KCOL_MIKE "Bird here has smashed all of them already." }, + { "j23", KCOL_JOHN "wait what?" }, + { "j24", KCOL_JOHN "You did!?" }, + { "j25", KCOL_JOHN "really???" }, + { "j26", KCOL_JOHN "Holy I knew you were good!" }, + { "m28", KCOL_MIKE "Yeah but uhh.." }, + { "m29", KCOL_MIKE "What exactly does this have to do with building a world record size skatepark island?" }, + { "j27", KCOL_JOHN "You see.." }, + { "j28", KCOL_JOHN "It was the missing component. It was speed." }, + { "j29", KCOL_JOHN "It's all we needed, to build a time net" }, + { "j30", KCOL_JOHN "Large enough to create infinite energy." }, + { "m30", KCOL_MIKE "Infinite.. energy..?" }, + { "j31", KCOL_JOHN "Yeah! You know to uh contact Allen and Alvin." }, + { "j32", KCOL_JOHN "They're the ones who are gonna help us with this whole thing." }, + { "m31", KCOL_MIKE "Them! Ahhh no man" }, + { "m32", KCOL_MIKE "not the aliens again.." }, + { "m33", KCOL_MIKE "the tiny little dudes you saw in a drug induced coma" }, + { "m34", KCOL_MIKE "are gonna help us build a megapark, on an abandoned island" }, + { "m35", KCOL_MIKE "I dont even know why I asked.." }, + { "m36", KCOL_MIKE "I'm clocking out. See you later." }, + { "j33", KCOL_JOHN "Look..." }, + { "j34", KCOL_JOHN "I'm not crazy, I promise. Just trust me." }, + { "j35", KCOL_JOHN "Lemme prove it." }, + { "j36", KCOL_JOHN "Bring this with you, hold onto it." }, + { "j37", KCOL_JOHN "Skate those trails as fast as you can with it on you." }, + { "j38", KCOL_JOHN "You'll understand when it happens," }, + { "j39", KCOL_JOHN "And you'll see what I mean by that" }, + { "j40", KCOL_JOHN "You'll just see it.. and" }, + { "j41", KCOL_JOHN "If anyone asks, you didn't get this from me." }, + { "j42", KCOL_JOHN "But I'll be there, I'll be watching, just get on with it." }, { NULL, NULL }, }; _skaterift_dialogue( EN, &subtitle_id, inf ); @@ -691,6 +832,789 @@ static bool _skaterift_script_ch2s3a( enum escript_event ev, const char *inf ) return 0; } +static bool _skaterift_script_ch2s4( enum escript_event ev, const char *inf ) +{ + static u32 state, subtitle_id; + static struct cs_instance *override_inst; + + if( ev == k_escript_event_call ) + { + state = k_escript_state_loading; + override_inst = NULL; + subtitle_id = 0; + vg_info( "test:state = loading\n" ); + } + + if( ev == k_escript_event_cutscene_marker ) + { + struct sr_subtitle EN[] = { + { "j1", KCOL_JOHN "Oh my god.." }, + { "j2", KCOL_JOHN "You **** did it now" }, + { "j3", KCOL_JOHN "I told you I am not crazy!" }, + { "j4", KCOL_JOHN "You've done me a real solid mate." }, + { "j5", KCOL_JOHN "When I switch this thing on" }, + { "j6", KCOL_JOHN "It's gonna broadcast our location to them.." }, + { "j7", KCOL_JOHN "We have just enough power. Thanks to you my friend" }, + { "j8", KCOL_JOHN "Okayyy any second" }, + { "j9", KCOL_JOHN "BOSH" }, + { "j10", KCOL_JOHN "HELLO MY FRIENDS" }, + { "j11", KCOL_JOHN "WE NEED HELP" }, + { "j12", KCOL_JOHN "THIS IS CAPTAIN JOHN COCROACH" }, + { "j13", KCOL_JOHN "PLEASE COME AS SOON AS YOU CAN TO MT.ZERO ISLAND" }, + { "j14", KCOL_JOHN "Our coordinates are...." }, + { NULL, NULL }, + }; + _skaterift_dialogue( EN, &subtitle_id, inf ); + + return 0; + } + + /* scene + * --------------------------------------------------------------- */ + + if( state == k_escript_state_loading ) + { + if( cmd_cutscene_load( 1, (const char *[]){ "metascenes/ch2s4.ms" } ) ) + { + state = k_escript_state_initializing; + vg_info( "test:state = initializing\n" ); + } + } + + if( state == k_escript_state_initializing ) + { + if( _cutscene.state == k_cutscene_state_ready ) + { + _skaterift_script_bind_player(); + state = k_escript_state_playing; + vg_info( "test:state = playing\n" ); + _cutscene_play(); + } + } + + if( state == k_escript_state_playing ) + { + if( _cutscene.state == k_cutscene_state_done ) + { + state = k_escript_state_end; + vg_info( "test:state = end\n" ); + _cutscene_unload(); + return 1; + } + } + + return 0; +} + +static bool _skaterift_script_ch2e1( enum escript_event ev, const char *inf ) +{ + static u32 state, subtitle_id; + static struct cs_instance *override_inst; + + if( ev == k_escript_event_call ) + { + state = k_escript_state_loading; + override_inst = NULL; + subtitle_id = 0; + vg_info( "test:state = loading\n" ); + } + + if( ev == k_escript_event_cutscene_marker ) + { + struct sr_subtitle EN[] = { + { "j1", KCOL_JOHN "Hey bird I'm just working on some boards here." }, + { "j2", KCOL_JOHN "If you wanna give me a graphic," }, + { "j3", KCOL_JOHN "I'll print it onto this plywood and press it" }, + { "j4", KCOL_JOHN "Mike'l griptape it and seal it" }, + { "j5", KCOL_JOHN "Ready to sell and skate!" }, + { NULL, NULL }, + }; + _skaterift_dialogue( EN, &subtitle_id, inf ); + + return 0; + } + + /* scene + * --------------------------------------------------------------- */ + + if( state == k_escript_state_loading ) + { + if( cmd_cutscene_load( 1, (const char *[]){ "metascenes/ch2e1.ms" } ) ) + { + state = k_escript_state_initializing; + vg_info( "test:state = initializing\n" ); + } + } + + if( state == k_escript_state_initializing ) + { + if( _cutscene.state == k_cutscene_state_ready ) + { + _skaterift_script_bind_player(); + state = k_escript_state_playing; + vg_info( "test:state = playing\n" ); + _cutscene_play(); + } + } + + if( state == k_escript_state_playing ) + { + if( _cutscene.state == k_cutscene_state_done ) + { + state = k_escript_state_end; + vg_info( "test:state = end\n" ); + _cutscene_unload(); + return 1; + } + } + + return 0; +} + +static bool _skaterift_script_ch2s5( enum escript_event ev, const char *inf ) +{ + static u32 state, subtitle_id; + static struct cs_instance *override_inst; + + if( ev == k_escript_event_call ) + { + state = k_escript_state_loading; + override_inst = NULL; + subtitle_id = 0; + vg_info( "test:state = loading\n" ); + } + + if( ev == k_escript_event_cutscene_marker ) + { + struct sr_subtitle EN[] = { + { "m1", KCOL_MIKE "Hi mate, hows it goin?" }, + { "m2", KCOL_MIKE "Yeah yeah.. I get you.. um." }, + { "m3", KCOL_MIKE "I genuinely have no idea where he found that cell thing" }, + { "m4", KCOL_MIKE "I reckon it came of some kind of secret government tech or whatever" }, + { "m5", KCOL_MIKE "but.." }, + { "m6", KCOL_MIKE "Now you know what he was doing with all those stupid poles he put up across the island" }, + { "m7", KCOL_MIKE "I'm starting to think I might be going crazy but.." }, + { "m8", KCOL_MIKE "Did you see the whole west side has actually been taken over?" }, + { "m9", KCOL_MIKE "Just like JC was saying.." }, + { "m10", KCOL_MIKE "Are you telling me the aliens are actually real?" }, + { NULL, NULL }, + }; + _skaterift_dialogue( EN, &subtitle_id, inf ); + + return 0; + } + + /* scene + * --------------------------------------------------------------- */ + + if( state == k_escript_state_loading ) + { + if( cmd_cutscene_load( 1, (const char *[]){ "metascenes/ch2s5.ms" } ) ) + { + state = k_escript_state_initializing; + vg_info( "test:state = initializing\n" ); + } + } + + if( state == k_escript_state_initializing ) + { + if( _cutscene.state == k_cutscene_state_ready ) + { + _skaterift_script_bind_player(); + state = k_escript_state_playing; + vg_info( "test:state = playing\n" ); + _cutscene_play(); + } + } + + if( state == k_escript_state_playing ) + { + if( _cutscene.state == k_cutscene_state_done ) + { + state = k_escript_state_end; + vg_info( "test:state = end\n" ); + _cutscene_unload(); + return 1; + } + } + + return 0; +} + +static bool _skaterift_script_ch2s6( enum escript_event ev, const char *inf ) +{ + static u32 state, subtitle_id; + static struct cs_instance *override_inst; + + if( ev == k_escript_event_call ) + { + state = k_escript_state_loading; + override_inst = NULL; + subtitle_id = 0; + vg_info( "test:state = loading\n" ); + } + + if( ev == k_escript_event_cutscene_marker ) + { + struct sr_subtitle EN[] = { + { "j1", KCOL_JOHN "Ello guys" }, + { "j2", KCOL_JOHN "Bout time you showed up" }, + { "j3", KCOL_JOHN "Look who I've got here!" }, + { "m1", KCOL_MIKE "Uhhhhhhhhhhhhhhhhhhhhhhhhhhh" }, + { "m2", KCOL_MIKE "Right then." }, + { "m3", KCOL_MIKE "I almost feel bad for these guys" }, + { "m4", KCOL_MIKE "Couldve' been any scientist across the planet" }, + { "m5", KCOL_MIKE "you know actually smart people" }, + { "m6", KCOL_MIKE "but no.." }, + { "m7", KCOL_MIKE "JC somehow contacts them first" }, + { "j4", KCOL_JOHN "Heyyy man." }, + { "j5", KCOL_JOHN "This required a special kind of science" }, + { "j6", KCOL_JOHN "The kinda stuff the world isn't quite ready for yet." }, + { "j7", KCOL_JOHN "But if you're done insulting me.." }, + { "j8", KCOL_JOHN "We're off to the states for a bit." }, + { "j9", KCOL_JOHN "Fancy a road trip?" }, + { NULL, NULL }, + }; + _skaterift_dialogue( EN, &subtitle_id, inf ); + + return 0; + } + + /* scene + * --------------------------------------------------------------- */ + + if( state == k_escript_state_loading ) + { + if( cmd_cutscene_load( 1, (const char *[]){ "metascenes/ch2s6.ms" } ) ) + { + state = k_escript_state_initializing; + vg_info( "test:state = initializing\n" ); + } + } + + if( state == k_escript_state_initializing ) + { + if( _cutscene.state == k_cutscene_state_ready ) + { + _skaterift_script_bind_player(); + state = k_escript_state_playing; + vg_info( "test:state = playing\n" ); + _cutscene_play(); + } + } + + if( state == k_escript_state_playing ) + { + if( _cutscene.state == k_cutscene_state_done ) + { + state = k_escript_state_end; + vg_info( "test:state = end\n" ); + _cutscene_unload(); + return 1; + } + } + + return 0; +} + +static bool _skaterift_script_ch3s1( enum escript_event ev, const char *inf ) +{ + static u32 state, subtitle_id; + static struct cs_instance *override_inst; + + if( ev == k_escript_event_call ) + { + state = k_escript_state_loading; + override_inst = NULL; + subtitle_id = 0; + vg_info( "test:state = loading\n" ); + } + + if( ev == k_escript_event_cutscene_marker ) + { + struct sr_subtitle EN[] = { + { "j1", KCOL_JOHN "Ohh this is it guys." }, + { "j2", KCOL_JOHN "Good enough!" }, + { "m1", KCOL_MIKE "Never even thought I'd visit the USA" }, + { "m2", KCOL_MIKE "But here we are I guess.." }, + { "j3", KCOL_JOHN "I've had weirder sundays." }, + { "m3", KCOL_MIKE "Somehow I'm not surprised." }, + { NULL, NULL }, + }; + _skaterift_dialogue( EN, &subtitle_id, inf ); + + return 0; + } + + /* scene + * --------------------------------------------------------------- */ + + if( state == k_escript_state_loading ) + { + if( cmd_cutscene_load( 1, (const char *[]){ "metascenes/ch3s1.ms" } ) ) + { + state = k_escript_state_initializing; + vg_info( "test:state = initializing\n" ); + } + } + + if( state == k_escript_state_initializing ) + { + if( _cutscene.state == k_cutscene_state_ready ) + { + _skaterift_script_bind_player(); + state = k_escript_state_playing; + vg_info( "test:state = playing\n" ); + _cutscene_play(); + } + } + + if( state == k_escript_state_playing ) + { + if( _cutscene.state == k_cutscene_state_done ) + { + state = k_escript_state_end; + vg_info( "test:state = end\n" ); + _cutscene_unload(); + return 1; + } + } + + return 0; +} + +static bool _skaterift_script_ch3s2( enum escript_event ev, const char *inf ) +{ + static u32 state, subtitle_id; + static struct cs_instance *override_inst; + + if( ev == k_escript_event_call ) + { + state = k_escript_state_loading; + override_inst = NULL; + subtitle_id = 0; + vg_info( "test:state = loading\n" ); + } + + if( ev == k_escript_event_cutscene_marker ) + { + struct sr_subtitle EN[] = { + { "m1", KCOL_MIKE "Is that the FBI??" }, + { "m2", KCOL_MIKE "I don't know about this man things are getting weird." }, + { "m3", KCOL_MIKE "Oh no that is not good" }, + { "m4", KCOL_MIKE "What do they even want with him?" }, + { "m5", KCOL_MIKE "Ahhh yeah, the aliens. That'l do it." }, + { NULL, NULL }, + }; + _skaterift_dialogue( EN, &subtitle_id, inf ); + + return 0; + } + + /* scene + * --------------------------------------------------------------- */ + + if( state == k_escript_state_loading ) + { + if( cmd_cutscene_load( 1, (const char *[]){ "metascenes/ch3s2.ms" } ) ) + { + state = k_escript_state_initializing; + vg_info( "test:state = initializing\n" ); + } + } + + if( state == k_escript_state_initializing ) + { + if( _cutscene.state == k_cutscene_state_ready ) + { + _skaterift_script_bind_player(); + state = k_escript_state_playing; + vg_info( "test:state = playing\n" ); + _cutscene_play(); + } + } + + if( state == k_escript_state_playing ) + { + if( _cutscene.state == k_cutscene_state_done ) + { + state = k_escript_state_end; + vg_info( "test:state = end\n" ); + _cutscene_unload(); + return 1; + } + } + + return 0; +} + +static bool _skaterift_script_ch3s3( enum escript_event ev, const char *inf ) +{ + static u32 state, subtitle_id; + static struct cs_instance *override_inst; + + if( ev == k_escript_event_call ) + { + state = k_escript_state_loading; + override_inst = NULL; + subtitle_id = 0; + vg_info( "test:state = loading\n" ); + } + + if( ev == k_escript_event_cutscene_marker ) + { + struct sr_subtitle EN[] = { + { "p1", KCOL_PRES "Yall have some explaining to do here.." }, + { "p2", KCOL_PRES "Every single power plant in the USA is currently offline" }, + { "p3", KCOL_PRES "And yet.." }, + { "p4", KCOL_PRES "There is no national emergency?" }, + { "p5", KCOL_PRES "Nothing is wrong!" }, + { "p6", KCOL_PRES "So where the hell is all this power coming from?" }, + { "p7", KCOL_PRES "We traced it back here, to you guys" }, + { "p8", KCOL_PRES "Now, please. Enlighten me." }, + { "p9", KCOL_PRES "How exactly are you powering all of America?" }, + { "p10", KCOL_PRES "From this one tiny establishment?" }, + { "m1", KCOL_MIKE "Look, this is gonna be a tough one to explain mate" }, + { "m2", KCOL_MIKE "And to be honest I don't really get it myself" }, + { "p11", KCOL_PRES "Do your best!" }, + { "m3", KCOL_MIKE "Mr. President, we saw you take JC," }, + { "m4", KCOL_MIKE "Didn't he explain it to you already?" }, + { "p12", KCOL_PRES "JC JC.." }, + { "p13", KCOL_PRES "Ah! John Cockroach.." }, + { "p14", KCOL_PRES "Of course. He's a friend of yours?" }, + { "m5", KCOL_MIKE "Yeah.. I'm an intern at his wood company." }, + { "m6", KCOL_MIKE "And this is just a friend of ours here." }, + { "p15", KCOL_PRES "So what you're telling me is, and what he told me is," }, + { "p16", KCOL_PRES "Three random people, from a wood company," }, + { "p17", KCOL_PRES "in Tasmania, Australia" }, + { "p18", KCOL_PRES "just happen to have nuclear fusion" }, + { "m7", KCOL_MIKE "Yeah I guess.." }, + { "p19", KCOL_PRES "Man I cannot believe that old guy was telling the truth this whole time" }, + { "m8", KCOL_MIKE "Thats what I've been saying!" }, + { "p20", KCOL_PRES "The world don't make sense any more" }, + { "p21", KCOL_PRES "Well! Fortunately for you lot," }, + { "p22", KCOL_PRES "you're coming with us!" }, + { "p23", KCOL_PRES "We're sending you to Cambodia." }, + { "m9", KCOL_MIKE "What!?" }, + { "m10", KCOL_MIKE "Can he even do that?" }, + { "p24", KCOL_PRES "Yes I can. Now, get in." }, + { NULL, NULL }, + }; + _skaterift_dialogue( EN, &subtitle_id, inf ); + + return 0; + } + + /* scene + * --------------------------------------------------------------- */ + + if( state == k_escript_state_loading ) + { + if( cmd_cutscene_load( 1, (const char *[]){ "metascenes/ch3s3.ms" } ) ) + { + state = k_escript_state_initializing; + vg_info( "test:state = initializing\n" ); + } + } + + if( state == k_escript_state_initializing ) + { + if( _cutscene.state == k_cutscene_state_ready ) + { + _skaterift_script_bind_player(); + state = k_escript_state_playing; + vg_info( "test:state = playing\n" ); + _cutscene_play(); + } + } + + if( state == k_escript_state_playing ) + { + if( _cutscene.state == k_cutscene_state_done ) + { + state = k_escript_state_end; + vg_info( "test:state = end\n" ); + _cutscene_unload(); + return 1; + } + } + + return 0; +} + +static bool _skaterift_script_ch4s1a( enum escript_event ev, const char *inf ) +{ + static u32 state, subtitle_id; + static struct cs_instance *override_inst; + + if( ev == k_escript_event_call ) + { + state = k_escript_state_loading; + override_inst = NULL; + subtitle_id = 0; + vg_info( "test:state = loading\n" ); + } + + if( ev == k_escript_event_cutscene_marker ) + { + struct sr_subtitle EN[] = { + { "m1", KCOL_MIKE "This has gotta be some kindof dream right?" }, + { "m2", KCOL_MIKE "I mean... Cambodia?" }, + { "m3", KCOL_MIKE "What are we even doing here.?" }, + { NULL, NULL }, + }; + _skaterift_dialogue( EN, &subtitle_id, inf ); + + return 0; + } + + /* scene + * --------------------------------------------------------------- */ + + if( state == k_escript_state_loading ) + { + if( cmd_cutscene_load( 1, (const char *[]){ "metascenes/ch4s1a.ms" } ) ) + { + state = k_escript_state_initializing; + vg_info( "test:state = initializing\n" ); + } + } + + if( state == k_escript_state_initializing ) + { + if( _cutscene.state == k_cutscene_state_ready ) + { + _skaterift_script_bind_player(); + state = k_escript_state_playing; + vg_info( "test:state = playing\n" ); + _cutscene_play(); + } + } + + if( state == k_escript_state_playing ) + { + if( _cutscene.state == k_cutscene_state_done ) + { + state = k_escript_state_end; + vg_info( "test:state = end\n" ); + _cutscene_unload(); + return 1; + } + } + + return 0; +} + + +static bool _skaterift_script_ch4s1( enum escript_event ev, const char *inf ) +{ + static u32 state, subtitle_id; + static struct cs_instance *override_inst; + + if( ev == k_escript_event_call ) + { + state = k_escript_state_loading; + override_inst = NULL; + subtitle_id = 0; + vg_info( "test:state = loading\n" ); + } + + if( ev == k_escript_event_cutscene_marker ) + { + struct sr_subtitle EN[] = { + { "m1", KCOL_MIKE "John hasn't turned up anywhere.." }, + { "m2", KCOL_MIKE "Not here, not back in Australia" }, + { "m3", KCOL_MIKE "nowhere?" }, + { "m4", KCOL_MIKE "I don't know how we can trust a single note.." }, + { "m5", KCOL_MIKE "I mean it is JC but.." }, + { "m6", KCOL_MIKE "Come on." }, + { "m7", KCOL_MIKE "I havn't seen him in weeks" }, + { "m8", KCOL_MIKE "I'm gonna go home," }, + { "m9", KCOL_MIKE "I'm bailing on this one man I'm sorry." }, + { NULL, NULL }, + }; + _skaterift_dialogue( EN, &subtitle_id, inf ); + + return 0; + } + + /* scene + * --------------------------------------------------------------- */ + + if( state == k_escript_state_loading ) + { + if( cmd_cutscene_load( 1, (const char *[]){ "metascenes/ch4s1.ms" } ) ) + { + state = k_escript_state_initializing; + vg_info( "test:state = initializing\n" ); + } + } + + if( state == k_escript_state_initializing ) + { + if( _cutscene.state == k_cutscene_state_ready ) + { + _skaterift_script_bind_player(); + state = k_escript_state_playing; + vg_info( "test:state = playing\n" ); + _cutscene_play(); + } + } + + if( state == k_escript_state_playing ) + { + if( _cutscene.state == k_cutscene_state_done ) + { + state = k_escript_state_end; + vg_info( "test:state = end\n" ); + _cutscene_unload(); + return 1; + } + } + + return 0; +} + +static bool _skaterift_script_ch4s2( enum escript_event ev, const char *inf ) +{ + static u32 state, subtitle_id; + static struct cs_instance *override_inst; + + if( ev == k_escript_event_call ) + { + state = k_escript_state_loading; + override_inst = NULL; + subtitle_id = 0; + vg_info( "test:state = loading\n" ); + } + + if( ev == k_escript_event_cutscene_marker ) + { + struct sr_subtitle EN[] = { + { "m1", KCOL_MIKE "What the hell is that thing?" }, + { "f1", KCOL_FBI "Look man, all they told is that uhh" }, + { "f2", KCOL_FBI "they're sending you up to one of saturns moons.." }, + { "f3", KCOL_FBI "On that thing." }, + { "f4", KCOL_FBI "To help you on your mission." }, + { "f5", KCOL_FBI "You guys are more important than any person on earth right now" }, + { "f6", KCOL_FBI "According to the president." }, + { "f7", KCOL_FBI "But obviously this is some kind of joke I'm not in on." }, + { "f8", KCOL_FBI "I don't believe a word of it." }, + { NULL, NULL }, + }; + _skaterift_dialogue( EN, &subtitle_id, inf ); + + return 0; + } + + /* scene + * --------------------------------------------------------------- */ + + if( state == k_escript_state_loading ) + { + if( cmd_cutscene_load( 1, (const char *[]){ "metascenes/ch4s2.ms" } ) ) + { + state = k_escript_state_initializing; + vg_info( "test:state = initializing\n" ); + } + } + + if( state == k_escript_state_initializing ) + { + if( _cutscene.state == k_cutscene_state_ready ) + { + _skaterift_script_bind_player(); + state = k_escript_state_playing; + vg_info( "test:state = playing\n" ); + _cutscene_play(); + } + } + + if( state == k_escript_state_playing ) + { + if( _cutscene.state == k_cutscene_state_done ) + { + state = k_escript_state_end; + vg_info( "test:state = end\n" ); + _cutscene_unload(); + return 1; + } + } + + return 0; +} + +static bool _skaterift_script_ch4s3( enum escript_event ev, const char *inf ) +{ + static u32 state, subtitle_id; + static struct cs_instance *override_inst; + + if( ev == k_escript_event_call ) + { + state = k_escript_state_loading; + override_inst = NULL; + subtitle_id = 0; + vg_info( "test:state = loading\n" ); + } + + if( ev == k_escript_event_cutscene_marker ) + { + struct sr_subtitle EN[] = { + { "j1", KCOL_JOHN "Betcha didn't think ya'd see me here!!?" }, + { "j2", KCOL_JOHN "Did you miss me?" }, + { "j3", KCOL_JOHN "You're probably wondering how the hell I got up here myself right?" }, + { "j4", KCOL_JOHN "Well. I'm not gonna tell you." }, + { "j5", KCOL_JOHN "It was all a trick. A ROUSE!" }, + { "j6", KCOL_JOHN "Truth is, none of this is really real!" }, + { "j7", KCOL_JOHN "And I'm leaving you here." }, + { "j8", KCOL_JOHN "Cause its the only way I'm gonna get you to wake up." }, + { "j9", KCOL_JOHN "Sorry I had to do all this to you..." }, + { "j10",KCOL_JOHN "We can still be friends right?" }, + { NULL, NULL }, + }; + _skaterift_dialogue( EN, &subtitle_id, inf ); + + return 0; + } + + /* scene + * --------------------------------------------------------------- */ + + if( state == k_escript_state_loading ) + { + if( cmd_cutscene_load( 1, (const char *[]){ "metascenes/ch4s3.ms" } ) ) + { + state = k_escript_state_initializing; + vg_info( "test:state = initializing\n" ); + } + } + + if( state == k_escript_state_initializing ) + { + if( _cutscene.state == k_cutscene_state_ready ) + { + _skaterift_script_bind_player(); + state = k_escript_state_playing; + vg_info( "test:state = playing\n" ); + _cutscene_play(); + } + } + + if( state == k_escript_state_playing ) + { + if( _cutscene.state == k_cutscene_state_done ) + { + state = k_escript_state_end; + vg_info( "test:state = end\n" ); + _cutscene_unload(); + return 1; + } + } + + return 0; +} + + /* This is the development one */ static bool _skaterift_script_test( enum escript_event ev, const char *inf ) { @@ -813,6 +1737,7 @@ static bool _skaterift_script_test( enum escript_event ev, const char *inf ) enum escript_script_id { k_escript_script_id_test = 0, + k_escript_script_id_intro, k_escript_script_id_ch1s2, k_escript_script_id_ch1s3, k_escript_script_id_ch1s3b, @@ -822,6 +1747,17 @@ enum escript_script_id k_escript_script_id_ch2s1, k_escript_script_id_ch2s2, k_escript_script_id_ch2s3a, + k_escript_script_id_ch2s4, + k_escript_script_id_ch2e1, + k_escript_script_id_ch2s5, + k_escript_script_id_ch2s6, + k_escript_script_id_ch3s1, + k_escript_script_id_ch3s2, + k_escript_script_id_ch3s3, + k_escript_script_id_ch4s1a, + k_escript_script_id_ch4s1, /* NOTE: 1 and 2 are backwards in order (accident) */ + k_escript_script_id_ch4s2, + k_escript_script_id_ch4s3, k_escript_script_id_max }; @@ -839,6 +1775,7 @@ struct script_binding _script_bindings[] = { [k_escript_script_id_test] = { "test", _skaterift_script_test }, + [k_escript_script_id_intro] = { "intro", _skaterift_script_intro }, [k_escript_script_id_ch1s2] = { "ch1s2", _skaterift_script_ch1s2 }, [k_escript_script_id_ch1s3] = { "ch1s3", _skaterift_script_ch1s3 }, [k_escript_script_id_ch1s3b] = { "ch1s3b", _skaterift_script_ch1s3b }, @@ -848,6 +1785,17 @@ _script_bindings[] = [k_escript_script_id_ch2s1] = { "ch2s1", _skaterift_script_ch2s1 }, [k_escript_script_id_ch2s2] = { "ch2s2", _skaterift_script_ch2s2 }, [k_escript_script_id_ch2s3a] = { "ch2s3a", _skaterift_script_ch2s3a }, + [k_escript_script_id_ch2s4] = { "ch2s4", _skaterift_script_ch2s4 }, + [k_escript_script_id_ch2e1] = { "ch2e1", _skaterift_script_ch2e1 }, + [k_escript_script_id_ch2s5] = { "ch2s5", _skaterift_script_ch2s5 }, + [k_escript_script_id_ch2s6] = { "ch2s6", _skaterift_script_ch2s6 }, + [k_escript_script_id_ch3s1] = { "ch3s1", _skaterift_script_ch3s1 }, + [k_escript_script_id_ch3s2] = { "ch3s2", _skaterift_script_ch3s2 }, + [k_escript_script_id_ch3s3] = { "ch3s3", _skaterift_script_ch3s3 }, + [k_escript_script_id_ch4s1a]= { "ch4s1a",_skaterift_script_ch4s1a }, + [k_escript_script_id_ch4s1] = { "ch4s1", _skaterift_script_ch4s1 }, + [k_escript_script_id_ch4s2] = { "ch4s2", _skaterift_script_ch4s2 }, + [k_escript_script_id_ch4s3] = { "ch4s3", _skaterift_script_ch4s3 }, }; static int _skaterift_script_hook( int argc, const char *argv[] )