164 lines
6.7 KiB
ArmAsm
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
|