|
Digimon World 3 decomp
The European version, SLES_039.36
|
WSTAG820: Control Room, Spy Satellite. More...
#include "common.h"#include "field/stage.h"#include "common/step_animation_once.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_CHILDREN_SIZE 0x14 |
| #define | STAGE_TEXT TEXT_FILE(TEXT_TALKS_07) |
| #define | EVENT_TEXT_FILE (TEXT_EVENTS_800 - 1) |
| #define | STAGE_FILE 0x715 |
Functions | |
| void * | createStageEffectWithId (s32 id) |
| Creates the StageEffect of updateStageEffect at (0x1CC, 0x1B4) with frame 0x3C. | |
| void | updateTileTask (StageTileTask *task) |
| Shows the map object with animation 1, animated once, then hides it and kills itself. | |
| void * | createCommand853 (s32 id) |
| Creates the task of updateTileTask with the given id, with a sound. | |
| void | updateStage (StageTask *task, void **children) |
| Creates the stage's four objects and the event object of story progress 0x29 that applies. | |
| void | handleCommand845 (Task *task, s32 id) |
| Sets the task to TASK_DONE when the id is 0x335. | |
| void | endEvent1060 (void) |
| After event 1060, with the player: starts the stage's event battle 0 and keeps it from playing again. | |
| void | endEvent1070 (void) |
| After event 1070, with the player: keeps it from playing again. | |
| void | endEvent1080 (void) |
| After event 1080, with Snatchmon: moves the story on to STORY_MOVIE_BATTLES and starts the stage's event battle 1. | |
| void | setupStage (void) |
| Sets the stage up: its map, actors, battles and events, playing the ambience ENV_0206. | |
Variables | |
| StageEffectSpot | updateStageSpots [] |
| Defined below, after the code that uses them. | |
| AnimFrame | updateTileTaskFrames [] |
| s16 | script1060 [] |
| s16 | script1070 [] |
| s16 | script1080 [] |
| 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 = { 33, 17, (0x60000000 | ( 0x23 ) << 18 | ( 0 )) } |
| AreaBattle | area3Battle1 = { 324, 21, (0x60000000 | ( 0x24 ) << 18 | ( 0 )) } |
| AreaBattle | area3Battle2 = { 325, 22, (0x60000000 | ( 0x26 ) << 18 | ( 0 )) } |
| AreaBattle | area3Battle3 = { 326, 22, (0x60000000 | ( 0x26 ) << 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 [] = { (0x6000 | ( STORY_GUNSLINGER )) , 1, (( 0x40 ) << 8 | ( 0x74 )) , 0, 0xFFFF } |
| u16 | actor1Conditions [] = { (0x6000 | ( STORY_GUNSLINGER )) , 1, 0xFFFF } |
| u16 | actor2Conditions [] = { (0x6000 | ( STORY_GUNSLINGER )) , 1, 0xFFFF } |
| u16 | actor3Conditions [] = { (0x6000 | ( STORY_GUNSLINGER )) , 1, 0xFFFF } |
| u16 | actor4Conditions [] = { (0x6000 | ( STORY_GUNSLINGER )) , 1, 0xFFFF } |
| u16 | actor5Conditions [] = { (0x6000 | ( STORY_GUNSLINGER )) , 1, 0xFFFF } |
| u16 | actor6Conditions [] = { (0x6000 | ( STORY_GUNSLINGER )) , 1, 0xFFFF } |
| u16 | actor7Conditions [] |
| FieldActorEntry | actor0 = { actor0Conditions, ((void *)0) , 1, 4, 0, 0, 1 } |
| FieldActorEntry | actor1 = { actor1Conditions, ((void *)0) , 0xD5, 5, 336, 232, 3 } |
| FieldActorEntry | actor2 = { actor2Conditions, ((void *)0) , 0xD6, 6, 0, 0, 1 } |
| FieldActorEntry | actor3 = { actor3Conditions, ((void *)0) , 0xD7, 7, 249, 177, 7 } |
| FieldActorEntry | actor4 = { actor4Conditions, ((void *)0) , 0xD8, 8, 281, 118, 7 } |
| FieldActorEntry | actor5 = { actor5Conditions, ((void *)0) , 0xD9, 9, 120, 197, 7 } |
| FieldActorEntry | actor6 = { actor6Conditions, ((void *)0) , 0xDA, 0xA, 121, 117, 7 } |
| FieldActorEntry | actor7 = { actor7Conditions, ((void *)0) , 0x188, 0xB, 578, 401, 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 [] |
WSTAG820: Control Room, Spy Satellite.
Where the player faces Lord Megadeath, then Snatchmon.
Definition in file wstag820.c.
| #define STAGE_CHILDREN_SIZE 0x14 |
Definition at line 91 of file wstag820.c.
| #define STAGE_TEXT TEXT_FILE(TEXT_TALKS_07) |
Definition at line 144 of file wstag820.c.
| #define EVENT_TEXT_FILE (TEXT_EVENTS_800 - 1) |
Definition at line 145 of file wstag820.c.
| #define STAGE_FILE 0x715 |
Definition at line 146 of file wstag820.c.
| void * createStageEffectWithId | ( | s32 | arg | ) |
Creates the StageEffect of updateStageEffect at (0x1CC, 0x1B4) with frame 0x3C.
Definition at line 100 of file wstag820.c.
Referenced by updateStage().
| void updateTileTask | ( | StageTileTask * | task | ) |
Shows the map object with animation 1, animated once, then hides it and kills itself.
Definition at line 16 of file wstag820.c.
Referenced by createCommand853().
| void * createCommand853 | ( | s32 | id | ) |
Creates the task of updateTileTask with the given id, with a sound.
< TELEPORT
Definition at line 51 of file wstag820.c.
| void updateStage | ( | StageTask * | task, |
| void ** | children | ||
| ) |
Creates the stage's four objects and the event object of story progress 0x29 that applies.
< 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 59 of file wstag820.c.
Sets the task to TASK_DONE when the id is 0x335.
Definition at line 110 of file wstag820.c.
| void endEvent1060 | ( | void | ) |
After event 1060, with the player: 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 120 of file wstag820.c.
| void endEvent1070 | ( | void | ) |
After event 1070, with the player: keeps it from playing again.
< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40
Definition at line 126 of file wstag820.c.
| void endEvent1080 | ( | void | ) |
After event 1080, with Snatchmon: moves the story on to STORY_MOVIE_BATTLES and starts the stage's event battle 1.
< action: FIELDSTG_battleFuncs.startEventBattle
Definition at line 134 of file wstag820.c.
| void setupStage | ( | void | ) |
Sets the stage up: its map, actors, battles and events, playing the ambience ENV_0206.
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.
< ENV_0206: the Spy Satellite's Control Room
< ENV_0206: the Spy Satellite's Control Room
< a cell's value: a direction (3 bits) and a StageSlot (5)
Definition at line 149 of file wstag820.c.
| StageEffectSpot updateStageSpots[] |
Defined below, after the code that uses them.
Definition at line 488 of file wstag820.c.
Referenced by updateStage().
| AnimFrame updateTileTaskFrames[] |
Definition at line 477 of file wstag820.c.
Referenced by updateTileTask().
| s16 script1060[] |
Definition at line 169 of file wstag820.c.
| s16 script1070[] |
Definition at line 242 of file wstag820.c.
| s16 script1080[] |
Definition at line 282 of file wstag820.c.
| AnimFrame effectClutFrames[] |
Definition at line 494 of file wstag820.c.
| AnimFrame effectFrames[] |
Definition at line 498 of file wstag820.c.
| AreaBattle area0Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 506 of file wstag820.c.
| AreaBattle area0Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 507 of file wstag820.c.
| AreaBattle area0Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 508 of file wstag820.c.
| AreaBattle area0Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 509 of file wstag820.c.
| AreaBattle area0Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 510 of file wstag820.c.
| AreaBattle area0Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 511 of file wstag820.c.
| AreaBattle area0Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 512 of file wstag820.c.
| AreaBattle area0Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 513 of file wstag820.c.
| BattleList area0Battles |
Definition at line 514 of file wstag820.c.
| AreaBattle area1Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 519 of file wstag820.c.
| AreaBattle area1Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 520 of file wstag820.c.
| AreaBattle area1Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 521 of file wstag820.c.
| AreaBattle area1Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 522 of file wstag820.c.
| AreaBattle area1Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 523 of file wstag820.c.
| AreaBattle area1Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 524 of file wstag820.c.
| AreaBattle area1Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 525 of file wstag820.c.
| AreaBattle area1Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 526 of file wstag820.c.
| BattleList area1Battles |
Definition at line 527 of file wstag820.c.
| AreaBattle area2Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 532 of file wstag820.c.
| AreaBattle area2Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 533 of file wstag820.c.
| AreaBattle area2Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 534 of file wstag820.c.
| AreaBattle area2Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 535 of file wstag820.c.
| AreaBattle area2Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 536 of file wstag820.c.
| AreaBattle area2Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 537 of file wstag820.c.
| AreaBattle area2Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 538 of file wstag820.c.
| AreaBattle area2Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 539 of file wstag820.c.
| BattleList area2Battles |
Definition at line 540 of file wstag820.c.
| AreaBattle area3Battle0 = { 33, 17, (0x60000000 | ( 0x23 ) << 18 | ( 0 )) } |
Definition at line 545 of file wstag820.c.
| AreaBattle area3Battle1 = { 324, 21, (0x60000000 | ( 0x24 ) << 18 | ( 0 )) } |
Definition at line 546 of file wstag820.c.
| AreaBattle area3Battle2 = { 325, 22, (0x60000000 | ( 0x26 ) << 18 | ( 0 )) } |
Definition at line 547 of file wstag820.c.
| AreaBattle area3Battle3 = { 326, 22, (0x60000000 | ( 0x26 ) << 18 | ( 0 )) } |
Definition at line 548 of file wstag820.c.
| AreaBattle area3Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 549 of file wstag820.c.
| AreaBattle area3Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 550 of file wstag820.c.
| AreaBattle area3Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 551 of file wstag820.c.
| AreaBattle area3Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 552 of file wstag820.c.
| BattleList area3Battles |
Definition at line 553 of file wstag820.c.
| FieldBattles stageBattles[] |
| ActorImage stageImages[] |
Definition at line 561 of file wstag820.c.
Referenced by setupStage().
| u16 actor0Conditions[] = { (0x6000 | ( STORY_GUNSLINGER )) , 1, (( 0x40 ) << 8 | ( 0x74 )) , 0, 0xFFFF } |
Definition at line 577 of file wstag820.c.
| u16 actor1Conditions[] = { (0x6000 | ( STORY_GUNSLINGER )) , 1, 0xFFFF } |
Definition at line 578 of file wstag820.c.
| u16 actor2Conditions[] = { (0x6000 | ( STORY_GUNSLINGER )) , 1, 0xFFFF } |
Definition at line 579 of file wstag820.c.
| u16 actor3Conditions[] = { (0x6000 | ( STORY_GUNSLINGER )) , 1, 0xFFFF } |
Definition at line 580 of file wstag820.c.
| u16 actor4Conditions[] = { (0x6000 | ( STORY_GUNSLINGER )) , 1, 0xFFFF } |
Definition at line 581 of file wstag820.c.
| u16 actor5Conditions[] = { (0x6000 | ( STORY_GUNSLINGER )) , 1, 0xFFFF } |
Definition at line 582 of file wstag820.c.
| u16 actor6Conditions[] = { (0x6000 | ( STORY_GUNSLINGER )) , 1, 0xFFFF } |
Definition at line 583 of file wstag820.c.
| u16 actor7Conditions[] |
Definition at line 584 of file wstag820.c.
| FieldActorEntry actor0 = { actor0Conditions, ((void *)0) , 1, 4, 0, 0, 1 } |
Definition at line 589 of file wstag820.c.
| FieldActorEntry actor1 = { actor1Conditions, ((void *)0) , 0xD5, 5, 336, 232, 3 } |
Definition at line 590 of file wstag820.c.
| FieldActorEntry actor2 = { actor2Conditions, ((void *)0) , 0xD6, 6, 0, 0, 1 } |
Definition at line 591 of file wstag820.c.
| FieldActorEntry actor3 = { actor3Conditions, ((void *)0) , 0xD7, 7, 249, 177, 7 } |
Definition at line 592 of file wstag820.c.
| FieldActorEntry actor4 = { actor4Conditions, ((void *)0) , 0xD8, 8, 281, 118, 7 } |
Definition at line 593 of file wstag820.c.
| FieldActorEntry actor5 = { actor5Conditions, ((void *)0) , 0xD9, 9, 120, 197, 7 } |
Definition at line 594 of file wstag820.c.
| FieldActorEntry actor6 = { actor6Conditions, ((void *)0) , 0xDA, 0xA, 121, 117, 7 } |
Definition at line 595 of file wstag820.c.
| FieldActorEntry actor7 = { actor7Conditions, ((void *)0) , 0x188, 0xB, 578, 401, 7 } |
Definition at line 596 of file wstag820.c.
| FieldActorEntry* stageActors[] |
| StageTile stageObjects[] |
The tables and color setupStage gives FIELDSTG_state (FieldState)
Definition at line 608 of file wstag820.c.
Referenced by setupStage().
| StageSlot stageSlots[] |
Definition at line 612 of file wstag820.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 618 of file wstag820.c.
| FieldEvent stageEvents[] |
Definition at line 621 of file wstag820.c.
Referenced by setupStage().