|
Digimon World 3 decomp
The European version, SLES_039.36
|
WSTAG815: Gunslinger 2F, Spy Satellite. More...
#include "common.h"#include "field/stage.h"#include "common/step_animation.inc.c"#include "common/draw_stage_effect.inc.c"#include "common/is_on_screen.inc.c"#include "common/update_stage_effect.inc.c"#include "common/create_stage_effect.inc.c"Go to the source code of this file.
Macros | |
| #define | BG_ARCHIVE 0x776 |
| The files of the background, which the versions number differently. | |
| #define | BG_FILE 0x775 |
| #define | BG_FILE2 0x898 |
| #define | STAGE_TEXT TEXT_FILE(TEXT_TALKS_07) |
| #define | EVENT_TEXT_FILE (TEXT_EVENTS_800 - 1) |
| #define | STAGE_FILE 0x776 |
Functions | |
| void | drawBackground (StageTask *task) |
| Draws the two background images (file BG_ARCHIVE) scrolled at 2/3 of the layer's scroll. | |
| void | updateBackground (StageTask *task) |
| Loads the background images (files BG_FILE and BG_FILE2) to VRAM, then draws them every frame. | |
| void * | createBackground (void) |
| Creates the spy satellite's background (updateBackground) | |
| void | updateStage (StageTask *task, void **children) |
| Creates the background, the stage's five effects and the event object of flags 0x4072/0x40A9. | |
| StageTask * | startStage (void *owner) |
| Creates the stage task (id 0x17) and calls the first function of its table. | |
| void | endEvent1020 (void) |
| After event 1020, with Metal Soldier: starts the stage's event battle 0 and keeps it from playing again. | |
| void | endEvent1030 (void) |
| After event 1030, with Metal Soldier: starts the stage's event battle 0 and keeps it from playing again. | |
| void | endEvent1040 (void) |
| After event 1040, with the player: keeps it from playing again. | |
| void | endEvent1041 (void) |
| After event 1041, with the player: keeps it from playing again. | |
| void | endEvent1050 (void) |
| After event 1050, with the player: starts the stage's event battle 1 and keeps it from playing again. | |
| void | setupStage (void) |
| Sets the stage up: its map, actors, battles and events, playing BGM_0026. | |
Variables | |
| StageEffectSpot | updateStageSpots [] |
| Defined below, after the code that uses them. | |
| s16 | script1020 [] |
| s16 | script1030 [] |
| s16 | script1040 [] |
| s16 | script1041 [] |
| s16 | script1050 [] |
| AnimFrame | effectClutFrames [] |
| AnimFrame | effectFrames [] |
| AreaBattle | area0Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| BattleList | area0Battles |
| AreaBattle | area1Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area1Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area1Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area1Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area1Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area1Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area1Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area1Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| BattleList | area1Battles |
| AreaBattle | area2Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area2Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area2Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area2Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area2Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area2Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area2Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area2Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| BattleList | area2Battles |
| AreaBattle | area3Battle0 = { 194, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area3Battle1 = { 144, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area3Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area3Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area3Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area3Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area3Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area3Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| BattleList | area3Battles |
| FieldBattles | stageBattles [] |
| ActorImage | stageImages [] |
| u16 | actor0Conditions [] |
| u16 | actor1Conditions [] |
| FieldActorEntry | actor0 = { actor0Conditions, ((void *)0) , 0xD0, 4, 302, 691, 7 } |
| FieldActorEntry | actor1 = { actor1Conditions, ((void *)0) , 0xD1, 5, 927, 235, 7 } |
| FieldActorEntry * | stageActors [] |
| StageTile | stageObjects [] |
| The tables and color setupStage gives FIELDSTG_state (FieldState) | |
| StageSlot | stageSlots [] |
| void(* | stageFuncs [])(void) |
| The stage's functions (common/start_stage.inc.c calls the first): a StageFuncs in the stages with a tween, which define STAGE_TWEEN before they include this file, and in the others an array of just setupStage. | |
| FieldEvent | stageEvents [] |
WSTAG815: Gunslinger 2F, Spy Satellite.
Lord Megadeath waits beyond its Warp Gate.
Definition in file wstag815.c.
| #define BG_ARCHIVE 0x776 |
The files of the background, which the versions number differently.
Definition at line 17 of file wstag815.c.
| #define BG_FILE 0x775 |
Definition at line 18 of file wstag815.c.
| #define BG_FILE2 0x898 |
Definition at line 19 of file wstag815.c.
| #define STAGE_TEXT TEXT_FILE(TEXT_TALKS_07) |
Definition at line 153 of file wstag815.c.
| #define EVENT_TEXT_FILE (TEXT_EVENTS_800 - 1) |
Definition at line 154 of file wstag815.c.
| #define STAGE_FILE 0x776 |
Definition at line 155 of file wstag815.c.
| void drawBackground | ( | StageTask * | task | ) |
Draws the two background images (file BG_ARCHIVE) scrolled at 2/3 of the layer's scroll.
< the map, its objects and characters, and the menus
< the map, its objects and characters, and the menus
Definition at line 23 of file wstag815.c.
Referenced by updateBackground().
| void updateBackground | ( | StageTask * | task | ) |
Loads the background images (files BG_FILE and BG_FILE2) to VRAM, then draws them every frame.
Definition at line 42 of file wstag815.c.
Referenced by createBackground().
| void * createBackground | ( | void | ) |
Creates the spy satellite's background (updateBackground)
Definition at line 67 of file wstag815.c.
Referenced by updateStage().
| void updateStage | ( | StageTask * | task, |
| void ** | children | ||
| ) |
Creates the background, the stage's five effects and the event object of flags 0x4072/0x40A9.
< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40
< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40
Definition at line 72 of file wstag815.c.
| StageTask * startStage | ( | void * | owner | ) |
Creates the stage task (id 0x17) and calls the first function of its table.
< a stage's launchers (FIELDSTG_runLaunch)
Definition at line 97 of file wstag815.c.
| void endEvent1020 | ( | void | ) |
After event 1020, with Metal Soldier: starts the stage's event battle 0 and keeps it from playing again.
< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40
< action: FIELDSTG_battleFuncs.startEventBattle
Definition at line 115 of file wstag815.c.
| void endEvent1030 | ( | void | ) |
After event 1030, with Metal Soldier: starts the stage's event battle 0 and keeps it from playing again.
< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40
< action: FIELDSTG_battleFuncs.startEventBattle
Definition at line 124 of file wstag815.c.
| void endEvent1040 | ( | void | ) |
After event 1040, with the player: keeps it from playing again.
< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40
Definition at line 130 of file wstag815.c.
| void endEvent1041 | ( | void | ) |
After event 1041, with the player: keeps it from playing again.
< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40
Definition at line 135 of file wstag815.c.
| void endEvent1050 | ( | void | ) |
After event 1050, with the player: starts the stage's event battle 1 and keeps it from playing again.
< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40
< action: FIELDSTG_battleFuncs.startEventBattle
Definition at line 143 of file wstag815.c.
| void setupStage | ( | void | ) |
Sets the stage up: its map, actors, battles and events, playing BGM_0026.
Sets the stage up: its map, actors, battles and events, playing KANRIBGM; BGM_0029 instead except at STORY_PRESIDENT_ARRESTED once flag 0x1A0A is set.
< BGM_0026: the Gunslinger (the Spy Satellite)
< BGM_0026: the Gunslinger (the Spy Satellite)
< a cell's value: a direction (3 bits) and a StageSlot (5)
Definition at line 158 of file wstag815.c.
| StageEffectSpot updateStageSpots[] |
Defined below, after the code that uses them.
Definition at line 324 of file wstag815.c.
Referenced by updateStage().
| s16 script1020[] |
Definition at line 177 of file wstag815.c.
| s16 script1030[] |
Definition at line 199 of file wstag815.c.
| s16 script1040[] |
Definition at line 221 of file wstag815.c.
| s16 script1041[] |
Definition at line 274 of file wstag815.c.
| s16 script1050[] |
Definition at line 287 of file wstag815.c.
| AnimFrame effectClutFrames[] |
Definition at line 331 of file wstag815.c.
| AnimFrame effectFrames[] |
Definition at line 335 of file wstag815.c.
| AreaBattle area0Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 343 of file wstag815.c.
| AreaBattle area0Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 344 of file wstag815.c.
| AreaBattle area0Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 345 of file wstag815.c.
| AreaBattle area0Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 346 of file wstag815.c.
| AreaBattle area0Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 347 of file wstag815.c.
| AreaBattle area0Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 348 of file wstag815.c.
| AreaBattle area0Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 349 of file wstag815.c.
| AreaBattle area0Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 350 of file wstag815.c.
| BattleList area0Battles |
Definition at line 351 of file wstag815.c.
| AreaBattle area1Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 356 of file wstag815.c.
| AreaBattle area1Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 357 of file wstag815.c.
| AreaBattle area1Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 358 of file wstag815.c.
| AreaBattle area1Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 359 of file wstag815.c.
| AreaBattle area1Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 360 of file wstag815.c.
| AreaBattle area1Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 361 of file wstag815.c.
| AreaBattle area1Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 362 of file wstag815.c.
| AreaBattle area1Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 363 of file wstag815.c.
| BattleList area1Battles |
Definition at line 364 of file wstag815.c.
| AreaBattle area2Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 369 of file wstag815.c.
| AreaBattle area2Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 370 of file wstag815.c.
| AreaBattle area2Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 371 of file wstag815.c.
| AreaBattle area2Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 372 of file wstag815.c.
| AreaBattle area2Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 373 of file wstag815.c.
| AreaBattle area2Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 374 of file wstag815.c.
| AreaBattle area2Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 375 of file wstag815.c.
| AreaBattle area2Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 376 of file wstag815.c.
| BattleList area2Battles |
Definition at line 377 of file wstag815.c.
| AreaBattle area3Battle0 = { 194, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 382 of file wstag815.c.
| AreaBattle area3Battle1 = { 144, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 383 of file wstag815.c.
| AreaBattle area3Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 384 of file wstag815.c.
| AreaBattle area3Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 385 of file wstag815.c.
| AreaBattle area3Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 386 of file wstag815.c.
| AreaBattle area3Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 387 of file wstag815.c.
| AreaBattle area3Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 388 of file wstag815.c.
| AreaBattle area3Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 389 of file wstag815.c.
| BattleList area3Battles |
Definition at line 390 of file wstag815.c.
| FieldBattles stageBattles[] |
| ActorImage stageImages[] |
Definition at line 398 of file wstag815.c.
Referenced by setupStage().
| u16 actor0Conditions[] |
Definition at line 408 of file wstag815.c.
| u16 actor1Conditions[] |
Definition at line 413 of file wstag815.c.
| FieldActorEntry actor0 = { actor0Conditions, ((void *)0) , 0xD0, 4, 302, 691, 7 } |
Definition at line 418 of file wstag815.c.
| FieldActorEntry actor1 = { actor1Conditions, ((void *)0) , 0xD1, 5, 927, 235, 7 } |
Definition at line 419 of file wstag815.c.
| FieldActorEntry* stageActors[] |
Definition at line 420 of file wstag815.c.
Referenced by setupStage().
| StageTile stageObjects[] |
The tables and color setupStage gives FIELDSTG_state (FieldState)
Definition at line 425 of file wstag815.c.
Referenced by setupStage().
| StageSlot stageSlots[] |
Definition at line 437 of file wstag815.c.
Referenced by setupStage().
| void(* stageFuncs[])(void) | ( | void | ) |
The stage's functions (common/start_stage.inc.c calls the first): a StageFuncs in the stages with a tween, which define STAGE_TWEEN before they include this file, and in the others an array of just setupStage.
Definition at line 449 of file wstag815.c.
Referenced by startStage().
| FieldEvent stageEvents[] |
Definition at line 452 of file wstag815.c.
Referenced by setupStage().