172 lines
4.1 KiB
C
172 lines
4.1 KiB
C
//
|
|
// Stage ID 0x4e
|
|
//
|
|
|
|
#include "stagesetup.h"
|
|
|
|
u8 intro[];
|
|
u8 props[];
|
|
struct aipaths paths[];
|
|
struct ailists functions[];
|
|
|
|
void *setup[] = {
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
intro,
|
|
props,
|
|
paths,
|
|
functions,
|
|
NULL,
|
|
};
|
|
|
|
u8 props[] = {
|
|
tag(0x00, 1)
|
|
stdobject(0x0100, MODEL_A51_CRATE1, 0xffff, 0x00021501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x01, 1)
|
|
stdobject(0x0100, MODEL_A51_CRATE1, 0xffff, 0x00021501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x02, 1)
|
|
stdobject(0x0100, MODEL_A51_CRATE1, 0xffff, 0x00021501, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
endprops
|
|
};
|
|
|
|
u8 intro[] = {
|
|
outfit(OUTFIT_DEFAULT)
|
|
endintro
|
|
};
|
|
|
|
struct aipaths paths[] = {
|
|
{ NULL, 0, 0 },
|
|
};
|
|
|
|
/**
|
|
* Some kind of camera movement test? When you press a button it jumps forward
|
|
* to the next camera animation rather than ending the cutscene.
|
|
*/
|
|
u8 func0c00_017c[] = {
|
|
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
|
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
|
set_music_track(MUSIC_G5_INTRO)
|
|
camera_movement(0x045d)
|
|
cmd01c8(2)
|
|
|
|
beginloop(0x12)
|
|
cmd01c9(/*goto*/ 0x59)
|
|
endloop(0x12)
|
|
|
|
label(0x59)
|
|
cmd01c8(3)
|
|
|
|
beginloop(0x13)
|
|
cmd01c9(/*goto*/ 0x59)
|
|
endloop(0x13)
|
|
|
|
label(0x59)
|
|
camera_movement(0x045d)
|
|
show_object(0x00)
|
|
set_object_flag_bank1(0x00, OBJECTFLAG1_04000000)
|
|
set_object_flag_bank2(0x00, OBJECTFLAG2_00000010)
|
|
object_do_animation(0x045e, 0x00, 0x04ff, 0xff)
|
|
|
|
beginloop(0x08)
|
|
if_camera_animating(/*goto*/ 0x31)
|
|
goto_next(0x59)
|
|
|
|
label(0x31)
|
|
if_controller_button_pressed(/*goto*/ 0x59)
|
|
label(0x31)
|
|
endloop(0x08)
|
|
|
|
label(0x59)
|
|
hide_object(0x00)
|
|
camera_movement(0x0464)
|
|
show_object(0x01)
|
|
set_object_flag_bank1(0x01, OBJECTFLAG1_04000000)
|
|
set_object_flag_bank2(0x01, OBJECTFLAG2_00000010)
|
|
object_do_animation(0x0465, 0x01, 0x04ff, 0xff)
|
|
|
|
beginloop(0x0b)
|
|
if_camera_animating(/*goto*/ 0x31)
|
|
goto_next(0x59)
|
|
|
|
label(0x31)
|
|
if_controller_button_pressed(/*goto*/ 0x59)
|
|
label(0x31)
|
|
endloop(0x0b)
|
|
|
|
label(0x59)
|
|
hide_object(0x01)
|
|
camera_movement(0x0461)
|
|
|
|
show_object(0x00)
|
|
set_object_flag_bank1(0x00, OBJECTFLAG1_04000000)
|
|
set_object_flag_bank2(0x00, OBJECTFLAG2_00000010)
|
|
object_do_animation(0x0462, 0x00, 0x04ff, 0xff)
|
|
|
|
show_object(0x01)
|
|
set_object_flag_bank1(0x01, OBJECTFLAG1_04000000)
|
|
set_object_flag_bank2(0x01, OBJECTFLAG2_00000010)
|
|
object_do_animation(0x0463, 0x01, 0x04ff, 0xff)
|
|
|
|
beginloop(0x0a)
|
|
if_camera_animating(/*goto*/ 0x31)
|
|
goto_next(0x59)
|
|
|
|
label(0x31)
|
|
if_controller_button_pressed(/*goto*/ 0x59)
|
|
label(0x31)
|
|
endloop(0x0a)
|
|
|
|
label(0x59)
|
|
hide_object(0x01)
|
|
hide_object(0x00)
|
|
camera_movement(0x046c)
|
|
|
|
show_object(0x01)
|
|
unset_object_flag_bank1(0x01, OBJECTFLAG1_04000000)
|
|
set_object_flag_bank2(0x01, OBJECTFLAG2_00000010)
|
|
object_do_animation(0x046e, 0x01, 0x04ff, 0xff)
|
|
|
|
show_object(0x00)
|
|
set_object_flag_bank1(0x00, OBJECTFLAG1_04000000)
|
|
set_object_flag_bank2(0x00, OBJECTFLAG2_00000010)
|
|
object_do_animation(0x046d, 0x00, 0x04ff, 0xff)
|
|
|
|
show_object(0x02)
|
|
set_object_flag_bank1(0x02, OBJECTFLAG1_04000000)
|
|
set_object_flag_bank2(0x02, OBJECTFLAG2_00000010)
|
|
object_do_animation(0x046f, 0x02, 0x04ff, 0xff)
|
|
|
|
beginloop(0x0e)
|
|
if_camera_animating(/*goto*/ 0x31)
|
|
goto_next(0x59)
|
|
|
|
label(0x31)
|
|
if_controller_button_pressed(/*goto*/ 0x59)
|
|
label(0x31)
|
|
endloop(0x0e)
|
|
|
|
label(0x59)
|
|
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
|
|
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
|
|
cmd01c8(5)
|
|
|
|
beginloop(0x15)
|
|
cmd01c9(/*goto*/ 0x59)
|
|
endloop(0x15)
|
|
|
|
label(0x59)
|
|
restart_default_music
|
|
reset_ambience
|
|
enter_firstperson
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
endfunction
|
|
};
|
|
|
|
struct ailists functions[] = {
|
|
{ func0c00_017c, 0x0401 },
|
|
{ func0c00_017c, 0x0c00 },
|
|
{ NULL, 0 },
|
|
};
|
|
|