|
Digimon World 3 decomp
The European version, SLES_039.36
|
WSTAG810: Gunslinger 1F, Spy Satellite. More...
#include "common.h"#include "field/stage.h"#include "common/step_tile_animation_u8.inc.c"#include "common/start_stage.inc.c"#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 | STAGE_FILE 0x6ED |
| #define | STAGE_CHILDREN_SIZE 0x104 |
| #define | STAGE_TEXT TEXT_FILE(TEXT_TALKS_07) |
| #define | EVENT_TEXT_FILE (TEXT_EVENTS_800 - 1) |
Functions | |
| void | updateTilePairN (StageTilePairN *task) |
| Shows the first map object animated while running; when done, both. | |
| void | handleCommands842To844 (StageTilePairN *task, s32 id) |
| Plays the first map object's one-shot animation when the event of map object 0x35B happens. | |
| static void * | createTilePairN (s32 arg, s32 anim) |
| Creates the tile pair object of animations ANIM and ANIM + 1 with the id ARG. | |
| void * | createTilePairN1 (s32 arg) |
| Creates the tile pair object of animations 1 and 2. | |
| void * | createTilePairN3 (s32 arg) |
| Creates the tile pair object of animations 3 and 4. | |
| void * | createTilePairN5 (s32 arg) |
| Creates the tile pair object of animations 5 and 6. | |
| void * | createTilePairNDone (s32 anim) |
| Creates the tile pair object of animations anim and anim + 1, started in TASK_DONE. | |
| void | updateStage (StageTask *task, void **children) |
| Creates the stage's 62 effects and its three tile pairs, started by flags 0x406E, 0x406F and 0x406D. | |
| void * | startEvent9000 (void) |
| Puts back the first triggers map when GAME.altTriggers is set, and clears it. | |
| void * | startEvent9001 (void) |
| Switches to the second triggers map when GAME.altTriggers is clear, and sets it. | |
| void | endEvent990 (void) |
| After event 990, with the player: sets flag 0x1C3A (which decides whether actor 0 appears) and keeps it from playing again. | |
| void | endEvent1000 (void) |
| After event 1000, with the player: sets flag 0x1C3B (which decides whether actor 1 appears) and keeps it from playing again. | |
| void | endEvent1010 (void) |
| After event 1010, with the player: sets flag 0x1C3C (which decides whether actor 2 appears) and keeps it from playing again. | |
| void | endEvent1035 (void) |
| After event 1035, with the player: moves the story on to STORY_GUNSLINGER. | |
| void | setupStage (void) |
| Sets the stage up: its map, actors, battles and events, playing BGM_0026, with the first triggers map when the player comes in, and the second one kept when back from a battle or a menu that left it in use. | |
Variables | |
| AnimFrame | updateTilePairNFrames0 [] |
| Defined below, after the code that uses them. | |
| AnimFrame | updateTilePairNFrames2 [] |
| AnimFrame | updateTilePairNFrames1 [] |
| StageEffectSpot | updateStageSpots [] |
| StageSlot | stageSlots0 [] |
| StageSlot | stageSlots1 [] |
| s16 | script990 [] |
| s16 | script1000 [] |
| s16 | script1010 [] |
| s16 | script1035 [] |
| AnimFrame | effectClutFrames [] |
| AnimFrame | effectFrames [] |
| AreaBattle | area0Battle0 = { 185, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle1 = { 185, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle2 = { 185, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle3 = { 135, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle4 = { 135, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle5 = { 135, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle6 = { 140, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle7 = { 140, 17, (0x60000000 | ( 2 ) << 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 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
| AreaBattle | area3Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 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 [] |
| FieldTalk | actor0Talks [] |
| FieldTalk | actor1Talks [] |
| FieldTalk | actor2Talks [] |
| u16 | actor0Conditions [] = { (( 0x1C ) << 8 | ( 0x3A )) , 0, 0xFFFF } |
| u16 | actor1Conditions [] = { (( 0x1C ) << 8 | ( 0x3B )) , 0, 0xFFFF } |
| u16 | actor2Conditions [] = { (( 0x1C ) << 8 | ( 0x3C )) , 0, 0xFFFF } |
| FieldActorEntry | actor0 = { actor0Conditions, actor0Talks, 0x180, 4, 369, 912, 7 } |
| FieldActorEntry | actor1 = { actor1Conditions, actor1Talks, 0x181, 5, 400, 800, 7 } |
| FieldActorEntry | actor2 = { actor2Conditions, actor2Talks, 0x182, 6, 208, 704, 7 } |
| FieldActorEntry * | stageActors [] |
| StageTile | stageObjects [] |
| The tables and color setupStage gives FIELDSTG_state (FieldState) | |
| 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 [] |
WSTAG810: Gunslinger 1F, Spy Satellite.
Reached from Amaterasu's A.o.A Headquarters (WSTAG311); its blocks open from panels.
Definition in file wstag810.c.
| #define STAGE_FILE 0x6ED |
Definition at line 11 of file wstag810.c.
| #define STAGE_CHILDREN_SIZE 0x104 |
Definition at line 182 of file wstag810.c.
| #define STAGE_TEXT TEXT_FILE(TEXT_TALKS_07) |
Definition at line 246 of file wstag810.c.
| #define EVENT_TEXT_FILE (TEXT_EVENTS_800 - 1) |
Definition at line 247 of file wstag810.c.
| void updateTilePairN | ( | StageTilePairN * | task | ) |
Shows the first map object animated while running; when done, both.
Definition at line 25 of file wstag810.c.
Referenced by createTilePairN(), and createTilePairNDone().
| void handleCommands842To844 | ( | StageTilePairN * | task, |
| s32 | id | ||
| ) |
Plays the first map object's one-shot animation when the event of map object 0x35B happens.
Definition at line 104 of file wstag810.c.
Creates the tile pair object of animations ANIM and ANIM + 1 with the id ARG.
Definition at line 114 of file wstag810.c.
Referenced by createTilePairN1(), createTilePairN3(), and createTilePairN5().
| void * createTilePairN1 | ( | s32 | arg | ) |
Creates the tile pair object of animations 1 and 2.
Definition at line 123 of file wstag810.c.
Referenced by updateStage().
| void * createTilePairN3 | ( | s32 | arg | ) |
Creates the tile pair object of animations 3 and 4.
Definition at line 128 of file wstag810.c.
Referenced by updateStage().
| void * createTilePairN5 | ( | s32 | arg | ) |
Creates the tile pair object of animations 5 and 6.
Definition at line 133 of file wstag810.c.
Referenced by updateStage().
| void * createTilePairNDone | ( | s32 | anim | ) |
Creates the tile pair object of animations anim and anim + 1, started in TASK_DONE.
Definition at line 138 of file wstag810.c.
Referenced by updateStage().
| void updateStage | ( | StageTask * | task, |
| void ** | children | ||
| ) |
Creates the stage's 62 effects and its three tile pairs, started by flags 0x406E, 0x406F and 0x406D.
< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40
< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40
< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40
Definition at line 147 of file wstag810.c.
| void * startEvent9000 | ( | void | ) |
Puts back the first triggers map when GAME.altTriggers is set, and clears it.
< a cell's value: a direction (3 bits) and a StageSlot (5)
Definition at line 191 of file wstag810.c.
Referenced by setupStage().
| void * startEvent9001 | ( | void | ) |
Switches to the second triggers map when GAME.altTriggers is clear, and sets it.
< a cell's value: a direction (3 bits) and a StageSlot (5)
Definition at line 201 of file wstag810.c.
Referenced by setupStage().
| void endEvent990 | ( | void | ) |
After event 990, with the player: sets flag 0x1C3A (which decides whether actor 0 appears) and keeps it from playing again.
< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40
< 0x1C 0x00-0x40: FLAGS_00, GAME.flags02-flags40
Definition at line 214 of file wstag810.c.
| void endEvent1000 | ( | void | ) |
After event 1000, with the player: sets flag 0x1C3B (which decides whether actor 1 appears) and keeps it from playing again.
< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40
< 0x1C 0x00-0x40: FLAGS_00, GAME.flags02-flags40
Definition at line 223 of file wstag810.c.
| void endEvent1010 | ( | void | ) |
After event 1010, with the player: sets flag 0x1C3C (which decides whether actor 2 appears) and keeps it from playing again.
< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40
< 0x1C 0x00-0x40: FLAGS_00, GAME.flags02-flags40
Definition at line 232 of file wstag810.c.
| void endEvent1035 | ( | void | ) |
After event 1035, with the player: moves the story on to STORY_GUNSLINGER.
Definition at line 238 of file wstag810.c.
| void setupStage | ( | void | ) |
Sets the stage up: its map, actors, battles and events, playing BGM_0026, with the first triggers map when the player comes in, and the second one kept when back from a battle or a menu that left it in use.
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: its battle area (FieldBattles), or 0
Definition at line 254 of file wstag810.c.
| AnimFrame updateTilePairNFrames0 |
Defined below, after the code that uses them.
Definition at line 470 of file wstag810.c.
Referenced by updateTilePairN().
| AnimFrame updateTilePairNFrames2 |
Definition at line 473 of file wstag810.c.
Referenced by handleCommands842To844(), and updateTilePairN().
| AnimFrame updateTilePairNFrames1 |
Definition at line 479 of file wstag810.c.
Referenced by updateTilePairN().
| StageEffectSpot updateStageSpots[] |
Definition at line 483 of file wstag810.c.
Referenced by updateStage().
| StageSlot stageSlots0[] |
Definition at line 679 of file wstag810.c.
Referenced by startEvent9000().
| StageSlot stageSlots1[] |
Definition at line 713 of file wstag810.c.
Referenced by startEvent9001().
| s16 script990[] |
Definition at line 280 of file wstag810.c.
| s16 script1000[] |
Definition at line 332 of file wstag810.c.
| s16 script1010[] |
Definition at line 384 of file wstag810.c.
| s16 script1035[] |
Definition at line 436 of file wstag810.c.
| AnimFrame effectClutFrames[] |
Definition at line 547 of file wstag810.c.
| AnimFrame effectFrames[] |
Definition at line 551 of file wstag810.c.
| AreaBattle area0Battle0 = { 185, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 559 of file wstag810.c.
| AreaBattle area0Battle1 = { 185, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 560 of file wstag810.c.
| AreaBattle area0Battle2 = { 185, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 561 of file wstag810.c.
| AreaBattle area0Battle3 = { 135, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 562 of file wstag810.c.
| AreaBattle area0Battle4 = { 135, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 563 of file wstag810.c.
| AreaBattle area0Battle5 = { 135, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 564 of file wstag810.c.
| AreaBattle area0Battle6 = { 140, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 565 of file wstag810.c.
| AreaBattle area0Battle7 = { 140, 17, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 566 of file wstag810.c.
| BattleList area0Battles |
Definition at line 567 of file wstag810.c.
| AreaBattle area1Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 572 of file wstag810.c.
| AreaBattle area1Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 573 of file wstag810.c.
| AreaBattle area1Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 574 of file wstag810.c.
| AreaBattle area1Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 575 of file wstag810.c.
| AreaBattle area1Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 576 of file wstag810.c.
| AreaBattle area1Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 577 of file wstag810.c.
| AreaBattle area1Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 578 of file wstag810.c.
| AreaBattle area1Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 579 of file wstag810.c.
| BattleList area1Battles |
Definition at line 580 of file wstag810.c.
| AreaBattle area2Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 585 of file wstag810.c.
| AreaBattle area2Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 586 of file wstag810.c.
| AreaBattle area2Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 587 of file wstag810.c.
| AreaBattle area2Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 588 of file wstag810.c.
| AreaBattle area2Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 589 of file wstag810.c.
| AreaBattle area2Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 590 of file wstag810.c.
| AreaBattle area2Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 591 of file wstag810.c.
| AreaBattle area2Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 592 of file wstag810.c.
| BattleList area2Battles |
Definition at line 593 of file wstag810.c.
| AreaBattle area3Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 598 of file wstag810.c.
| AreaBattle area3Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 599 of file wstag810.c.
| AreaBattle area3Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 600 of file wstag810.c.
| AreaBattle area3Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 601 of file wstag810.c.
| AreaBattle area3Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 602 of file wstag810.c.
| AreaBattle area3Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 603 of file wstag810.c.
| AreaBattle area3Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 604 of file wstag810.c.
| AreaBattle area3Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 605 of file wstag810.c.
| BattleList area3Battles |
Definition at line 606 of file wstag810.c.
| FieldBattles stageBattles[] |
| ActorImage stageImages[] |
Definition at line 614 of file wstag810.c.
Referenced by setupStage().
| FieldTalk actor0Talks[] |
Definition at line 625 of file wstag810.c.
| FieldTalk actor1Talks[] |
Definition at line 629 of file wstag810.c.
| FieldTalk actor2Talks[] |
Definition at line 633 of file wstag810.c.
| u16 actor0Conditions[] = { (( 0x1C ) << 8 | ( 0x3A )) , 0, 0xFFFF } |
Definition at line 637 of file wstag810.c.
| u16 actor1Conditions[] = { (( 0x1C ) << 8 | ( 0x3B )) , 0, 0xFFFF } |
Definition at line 638 of file wstag810.c.
| u16 actor2Conditions[] = { (( 0x1C ) << 8 | ( 0x3C )) , 0, 0xFFFF } |
Definition at line 639 of file wstag810.c.
| FieldActorEntry actor0 = { actor0Conditions, actor0Talks, 0x180, 4, 369, 912, 7 } |
Definition at line 640 of file wstag810.c.
| FieldActorEntry actor1 = { actor1Conditions, actor1Talks, 0x181, 5, 400, 800, 7 } |
Definition at line 641 of file wstag810.c.
| FieldActorEntry actor2 = { actor2Conditions, actor2Talks, 0x182, 6, 208, 704, 7 } |
Definition at line 642 of file wstag810.c.
| FieldActorEntry* stageActors[] |
Definition at line 643 of file wstag810.c.
Referenced by setupStage().
| StageTile stageObjects[] |
The tables and color setupStage gives FIELDSTG_state (FieldState)
Definition at line 649 of file wstag810.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 738 of file wstag810.c.
| FieldEvent stageEvents[] |
Definition at line 741 of file wstag810.c.
Referenced by setupStage().