|
Digimon World 3 decomp
The European version, SLES_039.36
|
WSTAG949: Protocol Ruins, East Sector, in the extra chapter. More...
#include "common.h"#include "field/stage.h"#include "common/create_far_sprites.inc.c"#include "common/start_stage.inc.c"Go to the source code of this file.
Macros | |
| #define | STAGE_TEXT TEXT_FILE(TEXT_TALKS_09) |
| #define | STAGE_FILE 0x919 |
| #define | STAGE_FILE_8 0x1BE |
| #define | STAGE_CHILDREN_SIZE 0x8 |
Functions | |
| void | updateFarSprites (StageTask *task) |
| Draws the 36 sprites of STAGE_FILE at their places, scrolling at 1/8 of the layer. | |
| void | updateStage (StageTask *task, void **children) |
| The stage task: creates the far sprites (updateFarSprites) | |
| void | setupStage (void) |
| Sets the stage up: its map, actors, battles and events, playing PYRA_BGM. | |
Variables | |
| Vec2 | farSpriteSpots [] |
| Defined below, after the code that uses them. | |
| const CVECTOR | stageColor = { 0x80, 0x80, 0x80, 0x00 } |
| the color the setup copies to FIELDSTG_state.spriteColor | |
| ActorImage | stageImages [] |
| u16 | actor1Talk0Conditions [] = { (( 0 ) << 8 | ( 0x11 )) , 1, (( 0 ) << 8 | ( 0x10 )) , 0, 0xFFFF } |
| u16 | actor1Talk0Actions [] = { (( 0 ) << 8 | ( 0x11 )) , 0, (( 0 ) << 8 | ( 0 )) , 0, 0xFFFF } |
| u16 | actor1Talk1Conditions [] = { (( 0 ) << 8 | ( 0x11 )) , 1, (( 0 ) << 8 | ( 0x10 )) , 1, 0xFFFF } |
| u16 | actor1Talk1Actions [] |
| u16 | actor1Talk2Conditions [] = { (( 0 ) << 8 | ( 0x11 )) , 0, (( 0 ) << 8 | ( 0 )) , 0, 0xFFFF } |
| u16 | actor1Talk2Actions [] = { (( 0 ) << 8 | ( 0 )) , 1, 0xFFFF } |
| u16 | actor1Talk3Conditions [] = { (( 0 ) << 8 | ( 0x11 )) , 0, (( 0 ) << 8 | ( 0 )) , 1, 0xFFFF } |
| u16 | actor1Talk3Actions [] = { ((0x7600 + ( 1 ) * 0x200) | ( 0x42 )) , 1, 0xFFFF } |
| u16 | actor2Talk0Actions [] = { 0x7C01, 1, 0xFFFF } |
| u16 | actor3Talk0Conditions [] = { (0x7000 | ( 0x96 )) , 0, 0xFFFF } |
| u16 | actor3Talk1Conditions [] |
| u16 | actor3Talk1Actions [] = { (0x7400 | ( 0 )) , 1, (( 0x10 ) << 8 | ( 0xE )) , 1, 0xFFFF } |
| u16 | actor3Talk2Conditions [] |
| u16 | actor4Talk0Conditions [] = { (0x7000 | ( 0x96 )) , 0, 0xFFFF } |
| u16 | actor4Talk1Conditions [] |
| u16 | actor4Talk1Actions [] = { (( 0x10 ) << 8 | ( 0xF )) , 1, (0x7400 | ( 1 )) , 1, 0xFFFF } |
| u16 | actor4Talk2Conditions [] |
| FieldTalk | actor0Talks [] |
| FieldTalk | actor1Talks [] |
| FieldTalk | actor2Talks [] |
| FieldTalk | actor3Talks [] |
| FieldTalk | actor4Talks [] |
| u16 | actor0Conditions [] = { (0x8000 | ( 0 ) << 9 | ( 0x192 )), 0, 0xFFFF } |
| u16 | actor1Conditions [] = { (0x8000 | ( 0 ) << 9 | ( 0x192 )), 1, 0xFFFF } |
| FieldActorEntry | actor0 = { actor0Conditions, actor0Talks, 0x39, 4, 320, 344, 7 } |
| FieldActorEntry | actor1 = { actor1Conditions, actor1Talks, 0x39, 4, 320, 344, 7 } |
| FieldActorEntry | actor2 = { ((void *)0) , actor2Talks, 0x3D, 5, 97, 242, 1 } |
| FieldActorEntry | actor3 = { ((void *)0) , actor3Talks, 0x90, 6, 1073, 145, 1 } |
| FieldActorEntry | actor4 = { ((void *)0) , actor4Talks, 0x91, 7, 520, 220, 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 [] |
| AreaBattle | area0Battle0 = { 46, 7, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle1 = { 46, 7, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle2 = { 150, 7, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle3 = { 150, 7, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle4 = { 96, 7, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle5 = { 96, 7, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle6 = { 97, 7, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
| AreaBattle | area0Battle7 = { 97, 7, (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 = { 306, 18, (0x60000000 | ( 0x23 ) << 18 | ( 0 )) } |
| AreaBattle | area3Battle1 = { 307, 18, (0x60000000 | ( 0x23 ) << 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 [] |
WSTAG949: Protocol Ruins, East Sector, in the extra chapter.
The European version's: in its extra chapter (STORY_EXTRA), mode 661 starts it instead of WSTAG376.
Definition in file wstag949.c.
| #define STAGE_TEXT TEXT_FILE(TEXT_TALKS_09) |
Definition at line 13 of file wstag949.c.
| #define STAGE_FILE 0x919 |
Definition at line 14 of file wstag949.c.
| #define STAGE_FILE_8 0x1BE |
Definition at line 15 of file wstag949.c.
| #define STAGE_CHILDREN_SIZE 0x8 |
Definition at line 71 of file wstag949.c.
| void updateFarSprites | ( | StageTask * | task | ) |
Draws the 36 sprites of STAGE_FILE at their places, scrolling at 1/8 of the layer.
< the map, its objects and characters, and the menus
< the map, its objects and characters, and the menus
Definition at line 23 of file wstag949.c.
| void updateStage | ( | StageTask * | task, |
| void ** | children | ||
| ) |
The stage task: creates the far sprites (updateFarSprites)
Definition at line 57 of file wstag949.c.
| void setupStage | ( | void | ) |
Sets the stage up: its map, actors, battles and events, playing PYRA_BGM.
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.
< PYRA_BGM: the Protocol Ruins
< PYRA_BGM: the Protocol Ruins
< a cell's value: a direction (3 bits) and a StageSlot (5)
< a cell's value: its battle area (FieldBattles), or 0
Definition at line 76 of file wstag949.c.
| Vec2 farSpriteSpots[] |
Defined below, after the code that uses them.
Definition at line 99 of file wstag949.c.
Referenced by updateFarSprites().
| const CVECTOR stageColor = { 0x80, 0x80, 0x80, 0x00 } |
the color the setup copies to FIELDSTG_state.spriteColor
the color the setup copies to FIELDSTG_state.spriteColor
It starts the stage, before its jump tables: in wstag924.c GCC would align them to 8 bytes after it, so it is a file of its own, linked first
Definition at line 74 of file wstag949.c.
Referenced by setupStage().
| ActorImage stageImages[] |
Definition at line 110 of file wstag949.c.
Referenced by setupStage().
| u16 actor1Talk0Conditions[] = { (( 0 ) << 8 | ( 0x11 )) , 1, (( 0 ) << 8 | ( 0x10 )) , 0, 0xFFFF } |
Definition at line 122 of file wstag949.c.
| u16 actor1Talk0Actions[] = { (( 0 ) << 8 | ( 0x11 )) , 0, (( 0 ) << 8 | ( 0 )) , 0, 0xFFFF } |
Definition at line 123 of file wstag949.c.
| u16 actor1Talk1Conditions[] = { (( 0 ) << 8 | ( 0x11 )) , 1, (( 0 ) << 8 | ( 0x10 )) , 1, 0xFFFF } |
Definition at line 124 of file wstag949.c.
| u16 actor1Talk1Actions[] |
Definition at line 125 of file wstag949.c.
| u16 actor1Talk2Conditions[] = { (( 0 ) << 8 | ( 0x11 )) , 0, (( 0 ) << 8 | ( 0 )) , 0, 0xFFFF } |
Definition at line 131 of file wstag949.c.
| u16 actor1Talk2Actions[] = { (( 0 ) << 8 | ( 0 )) , 1, 0xFFFF } |
Definition at line 132 of file wstag949.c.
| u16 actor1Talk3Conditions[] = { (( 0 ) << 8 | ( 0x11 )) , 0, (( 0 ) << 8 | ( 0 )) , 1, 0xFFFF } |
Definition at line 133 of file wstag949.c.
| u16 actor1Talk3Actions[] = { ((0x7600 + ( 1 ) * 0x200) | ( 0x42 )) , 1, 0xFFFF } |
Definition at line 134 of file wstag949.c.
| u16 actor2Talk0Actions[] = { 0x7C01, 1, 0xFFFF } |
Definition at line 135 of file wstag949.c.
| u16 actor3Talk0Conditions[] = { (0x7000 | ( 0x96 )) , 0, 0xFFFF } |
Definition at line 136 of file wstag949.c.
| u16 actor3Talk1Conditions[] |
Definition at line 137 of file wstag949.c.
| u16 actor3Talk1Actions[] = { (0x7400 | ( 0 )) , 1, (( 0x10 ) << 8 | ( 0xE )) , 1, 0xFFFF } |
Definition at line 142 of file wstag949.c.
| u16 actor3Talk2Conditions[] |
Definition at line 143 of file wstag949.c.
| u16 actor4Talk0Conditions[] = { (0x7000 | ( 0x96 )) , 0, 0xFFFF } |
Definition at line 148 of file wstag949.c.
| u16 actor4Talk1Conditions[] |
Definition at line 149 of file wstag949.c.
| u16 actor4Talk1Actions[] = { (( 0x10 ) << 8 | ( 0xF )) , 1, (0x7400 | ( 1 )) , 1, 0xFFFF } |
Definition at line 154 of file wstag949.c.
| u16 actor4Talk2Conditions[] |
Definition at line 155 of file wstag949.c.
| FieldTalk actor0Talks[] |
Definition at line 160 of file wstag949.c.
| FieldTalk actor1Talks[] |
Definition at line 164 of file wstag949.c.
| FieldTalk actor2Talks[] |
Definition at line 171 of file wstag949.c.
| FieldTalk actor3Talks[] |
Definition at line 175 of file wstag949.c.
| FieldTalk actor4Talks[] |
Definition at line 181 of file wstag949.c.
| u16 actor0Conditions[] = { (0x8000 | ( 0 ) << 9 | ( 0x192 )), 0, 0xFFFF } |
Definition at line 187 of file wstag949.c.
| u16 actor1Conditions[] = { (0x8000 | ( 0 ) << 9 | ( 0x192 )), 1, 0xFFFF } |
Definition at line 188 of file wstag949.c.
| FieldActorEntry actor0 = { actor0Conditions, actor0Talks, 0x39, 4, 320, 344, 7 } |
Definition at line 189 of file wstag949.c.
| FieldActorEntry actor1 = { actor1Conditions, actor1Talks, 0x39, 4, 320, 344, 7 } |
Definition at line 190 of file wstag949.c.
| FieldActorEntry actor2 = { ((void *)0) , actor2Talks, 0x3D, 5, 97, 242, 1 } |
Definition at line 191 of file wstag949.c.
| FieldActorEntry actor3 = { ((void *)0) , actor3Talks, 0x90, 6, 1073, 145, 1 } |
Definition at line 192 of file wstag949.c.
| FieldActorEntry actor4 = { ((void *)0) , actor4Talks, 0x91, 7, 520, 220, 7 } |
Definition at line 193 of file wstag949.c.
| FieldActorEntry* stageActors[] |
Definition at line 194 of file wstag949.c.
Referenced by setupStage().
| StageTile stageObjects[] |
The tables and color setupStage gives FIELDSTG_state (FieldState)
Definition at line 202 of file wstag949.c.
Referenced by setupStage().
| StageSlot stageSlots[] |
Definition at line 205 of file wstag949.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 217 of file wstag949.c.
| FieldEvent stageEvents[] |
Definition at line 220 of file wstag949.c.
Referenced by setupStage().
| AreaBattle area0Battle0 = { 46, 7, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 224 of file wstag949.c.
| AreaBattle area0Battle1 = { 46, 7, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 225 of file wstag949.c.
| AreaBattle area0Battle2 = { 150, 7, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 226 of file wstag949.c.
| AreaBattle area0Battle3 = { 150, 7, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 227 of file wstag949.c.
| AreaBattle area0Battle4 = { 96, 7, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 228 of file wstag949.c.
| AreaBattle area0Battle5 = { 96, 7, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 229 of file wstag949.c.
| AreaBattle area0Battle6 = { 97, 7, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 230 of file wstag949.c.
| AreaBattle area0Battle7 = { 97, 7, (0x60000000 | ( 2 ) << 18 | ( 0 )) } |
Definition at line 231 of file wstag949.c.
| BattleList area0Battles |
Definition at line 232 of file wstag949.c.
| AreaBattle area1Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 237 of file wstag949.c.
| AreaBattle area1Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 238 of file wstag949.c.
| AreaBattle area1Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 239 of file wstag949.c.
| AreaBattle area1Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 240 of file wstag949.c.
| AreaBattle area1Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 241 of file wstag949.c.
| AreaBattle area1Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 242 of file wstag949.c.
| AreaBattle area1Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 243 of file wstag949.c.
| AreaBattle area1Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 244 of file wstag949.c.
| BattleList area1Battles |
Definition at line 245 of file wstag949.c.
| AreaBattle area2Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 250 of file wstag949.c.
| AreaBattle area2Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 251 of file wstag949.c.
| AreaBattle area2Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 252 of file wstag949.c.
| AreaBattle area2Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 253 of file wstag949.c.
| AreaBattle area2Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 254 of file wstag949.c.
| AreaBattle area2Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 255 of file wstag949.c.
| AreaBattle area2Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 256 of file wstag949.c.
| AreaBattle area2Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 257 of file wstag949.c.
| BattleList area2Battles |
Definition at line 258 of file wstag949.c.
| AreaBattle area3Battle0 = { 306, 18, (0x60000000 | ( 0x23 ) << 18 | ( 0 )) } |
Definition at line 263 of file wstag949.c.
| AreaBattle area3Battle1 = { 307, 18, (0x60000000 | ( 0x23 ) << 18 | ( 0 )) } |
Definition at line 264 of file wstag949.c.
| AreaBattle area3Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 265 of file wstag949.c.
| AreaBattle area3Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 266 of file wstag949.c.
| AreaBattle area3Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 267 of file wstag949.c.
| AreaBattle area3Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 268 of file wstag949.c.
| AreaBattle area3Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 269 of file wstag949.c.
| AreaBattle area3Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) } |
Definition at line 270 of file wstag949.c.
| BattleList area3Battles |
Definition at line 271 of file wstag949.c.
| FieldBattles stageBattles[] |