sm64/map/stage7/Sstage7.s

164 lines
6.7 KiB
ArmAsm

/********************************************************************************
Ultra 64 MARIO Brothers
stage 7 sequence module
Copyright 1995 Nintendo co., ltd. All rights reserved
This module was programmed by Y.Nishida
Mar 18, 1996
********************************************************************************/
#define ASSEMBLER
#include "../../headers.h"
.data
.align 2
.align 0
.globl SEQ_DoStage07
/* ====================================================================================
: BG parts sequence.
======================================================================================= */
SEQ_Stage07_BGParts:
seqActor(S_fireball_yellow, 4936,-357,-4146, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 5018,-460,-5559, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 1997, 666, -235, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 1762,-460,-2610, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 4178,-255,-3737, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 2233,-460, 256, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 5510,-255,-3429, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 4690,-357, -767, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 3462,-255,-1125, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 1762, 666, 0, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 1762,-460, 256, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 6482, 461,3226, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 1075, 461,6543, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 6912, 461,6543, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 6912, 461,3697, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 6482, 461,7014, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_fireball_yellow, 3817, 717,1034, 0,0,0, 0,0,0, e_fire_animation)
seqActor(S_NULL, 799,1024,4434, 0,0,0, 0,184,0, e_bar)
seqActor(S_NULL, 889,1024,3277, 0,0,0, 0,184,0, e_bar)
seqReturn
/* ====================================================================================
: Move BGs sequence.
======================================================================================= */
SEQ_Stage07_MoveBGs:
seqActor(S_movebg01, 1100, 950, 6350, 0, 0,0, 0,0,0, e_NEWSlift)
seqActor(S_movebg03, -3243,1434, 1392, 0,27,0, 0,0,0, e_udlift_s)
seqActor(S_movebg03, -2816,2253,-2509, 0, 0,0, 0,1,0, e_udlift_s)
seqActor(S_movebg03, -973,1741,-7347, 0, 0,0, 0,2,0, e_udlift_s)
seqActor(S_movebg03, -3533,1741,-7040, 0, 0,0, 0,3,0, e_udlift_s)
seqActor(S_NULL, 614,-4690,2330, 0,270,0, 0,1,0, e_switchdoor)
seqActor(S_hanbutton, -307,-4997,2483, 0,270,0, 0,0,0, e_switchdoor_switch)
seqActor(S_commonlift, 1270,2000,4000, 0,270,0, 9,164,0, e_linelift)
seqReturn
/* ====================================================================================
: Enemies sequence.
======================================================================================= */
SEQ_Stage07_Enemies:
seqActor(S_nessy, -3533,-4969, 3558, 0,0,0, 0,0,0, e_nessy)
seqActor(S_NULL, -6093, 3075,-7807, 0,0,0, 0,0,0, e_dunjon_rock_st)
seqActor(S_NULL, -500, 1600, 3500, 0,0,0, 0,4,0, e_firebigbar)
seqActor(S_NULL, -500, 1600, 3800, 0,0,0, 0,4,0, e_firebigbar)
seqReturn
/* ====================================================================================
: Stars sequence.
======================================================================================= */
SEQ_Stage07_Stars:
seqLevelActor(0x003f,S_polystar, -3600,-4000, 3600, 0,0,0, 0,0,0, e_tripstar) /* nessy */
seqLevelActor(0x003f,S_NULL , 4000, 300, 5000, 0,0,0, 1,0,0, e_tripstar_getcoins) /* 8_coin_in_lift_room */
seqLevelActor(0x003f,S_polystar, 6200,-4400, 2300, 0,0,0, 2,0,0, e_tripstar) /* metal */
seqLevelActor(0x003f,S_polystar, -2100, 2100,-7550, 0,0,0, 3,0,0, e_tripstar) /* gus_room */
seqLevelActor(0x003f,S_polystar, -6500, 2700,-1600, 0,0,0, 4,0,0, e_tripstar) /* up_to_the_hole */
seqLevelActor(0x003f,S_polystar, -5000, 3050,-6700, 0,0,0, 5,0,0, e_tripstar) /* secret_hole */
seqReturn
/* ====================================================================================
: Stage 7 main sequence.
======================================================================================= */
SEQ_DoStage07:
seqInitStage()
seqLoadPres(SEGMENT_STAGE1 , _GfxStage7SegmentRomStart , _GfxStage7SegmentRomEnd )
seqLoadText(SEGMENT_TEXTURE , _GCaveTextureSegmentRomStart , _GCaveTextureSegmentRomEnd )
seqLoadPres(SEGMENT_ENEMY1 , _GfxEnemy1_fSegmentRomStart , _GfxEnemy1_fSegmentRomEnd )
seqLoadData(SEGMENT_ENEMYDATA1, _HmsEnemy1_fSegmentRomStart , _HmsEnemy1_fSegmentRomEnd )
seqLoadPres(SEGMENT_ENEMY2 , _GfxEnemy2_hSegmentRomStart , _GfxEnemy2_hSegmentRomEnd )
seqLoadData(SEGMENT_ENEMYDATA2, _HmsEnemy2_hSegmentRomStart , _HmsEnemy2_hSegmentRomEnd )
seqLoadPres(SEGMENT_ENEMY3 , _GfxBasic_enemySegmentRomStart, _GfxBasic_enemySegmentRomEnd)
seqLoadData(SEGMENT_ENEMYDATA3, _HmsBasic_enemySegmentRomStart, _HmsBasic_enemySegmentRomEnd)
seqBeginConstruction()
seqHmsMario(S_Mario, ShapePlayer1, e_mario)
seqCall(SetBasicEnemy)
seqCall(SetEnemy1_f)
seqCall(SetEnemy2_h)
seqHmsShape(S_door1, RCP_HmsDoor1) /* Wood door. */
seqHmsShape(S_door3, RCP_HmsDoor3) /* Iron door. */
seqHmsShape(S_door4, RCP_HmsDoor4) /* Stone door. */
seqHmsShape(S_movebg01, RCP_HmsNEWSLift )
seqHmsShape(S_movebg02, RCP_HmsNEWSBut )
seqHmsShape(S_movebg03, RCP_HmsKdowElv )
seqHmsShape(S_movebg04, RCP_HmsKdBigRock)
seqHmsShape(S_movebg05, RCP_HmsKdRockPiA)
seqHmsShape(S_movebg06, RCP_HmsKdRockPiB)
seqHmsShape(S_movebg07, RCP_HmsKdTrap)
seqBeginScene(1, RCP_Stage7Scene1)
seqActor(S_NULL, -7152,2161+START_H,7181, 0,135,0, 0,10,0, e_player_entpict)
seqActor(S_NULL, 3351, -4690,4773, 0, 0,0, 52,11,0, e_tripchimney2 )
seqPort(10, 7, 1, 10) /* MARIO stage in. */
seqPort(11, 28, 1, 10) /* To St28 [ Ext 5. In Fall. ]. */
seqGameClear(6, 3, 52)
seqGameOver (6, 3, 102)
seqCall(SEQ_Stage07_BGParts)
seqCall(SEQ_Stage07_MoveBGs)
seqCall(SEQ_Stage07_Enemies)
seqCall(SEQ_Stage07_Stars)
seqMapInfo(cx0701_info)
seqTagInfo(cx0701_info_tag)
seqAreaInfo(cx0701_area)
seqSetMusic(NA_STG_DUNGEON, NA_DUNGEON_BGM)
seqEnvironment(ENV_ROCKMT)
seqEndScene()
seqEndConstruction()
seqEnterMario(1, 135, -7152,2161,7181)
seqCProgram(GameProcess, 0)
seqRunning(GameProcess, 1)
seqDestroyStage()
seqFreeze(1)
seqExit