Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
wstag585.c File Reference

WSTAG585: Duct Room 01, West Sector. More...

#include "common.h"
#include "field/stage.h"
#include "common/start_stage.inc.c"
Include dependency graph for wstag585.c:

Go to the source code of this file.

Macros

#define STAGE_CHILDREN_SIZE   4
 
#define STAGE_TEXT   TEXT_FILE(TEXT_TALKS_06)
 
#define EVENT_TEXT_FILE   (TEXT_EVENTS_500 - 1)
 
#define STAGE_FILE   0x505
 

Functions

void updateStage (StageTask *task, void **children)
 Creates the event object of flags 0x4033 and 0x1C20.
 
void endEvent460 (void)
 After event 460, with the player: keeps it from playing again.
 
void setupStage (void)
 Sets the stage up: its map, actors, battles and events, playing the ambience ENV_0017.
 

Variables

s16 script460 []
 
AreaBattle area0Battle0 = { 75, 12, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area0Battle1 = { 75, 12, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area0Battle2 = { 75, 12, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area0Battle3 = { 75, 12, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area0Battle4 = { 75, 12, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area0Battle5 = { 75, 12, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area0Battle6 = { 75, 12, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area0Battle7 = { 75, 12, (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 []
 
u16 actor0Talk0Actions []
 
FieldTalk actor0Talks []
 
u16 actor0Conditions [] = { (( 2 ) << 8 | ( 0xD )) , 0, (( 0x1C ) << 8 | ( 0x20 )) , 1, 0xFFFF }
 
FieldActorEntry actor0 = { actor0Conditions, actor0Talks, 0x21, 4, 379, 318, 1 }
 
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 []
 

Detailed Description

WSTAG585: Duct Room 01, West Sector.

Definition in file wstag585.c.

Macro Definition Documentation

◆ STAGE_CHILDREN_SIZE

#define STAGE_CHILDREN_SIZE   4

Definition at line 25 of file wstag585.c.

◆ STAGE_TEXT

#define STAGE_TEXT   TEXT_FILE(TEXT_TALKS_06)

Definition at line 38 of file wstag585.c.

◆ EVENT_TEXT_FILE

#define EVENT_TEXT_FILE   (TEXT_EVENTS_500 - 1)

Definition at line 39 of file wstag585.c.

◆ STAGE_FILE

#define STAGE_FILE   0x505

Definition at line 40 of file wstag585.c.

Function Documentation

◆ updateStage()

void updateStage ( StageTask *  task,
void **  children 
)

Creates the event object of flags 0x4033 and 0x1C20.

< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40

< 0x1C 0x00-0x40: FLAGS_00, GAME.flags02-flags40

Definition at line 9 of file wstag585.c.

Here is the call graph for this function:

◆ endEvent460()

void endEvent460 ( void  )

After event 460, with the player: keeps it from playing again.

< 0x40 0x00-0x40: FLAGS_00, GAME.flags02-flags40

Definition at line 29 of file wstag585.c.

◆ setupStage()

void setupStage ( void  )

Sets the stage up: its map, actors, battles and events, playing the ambience ENV_0017.

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_0017: Bullet Valley, the Dum Dum Factory, its Duct Rooms and Operation Room

< ENV_0017: Bullet Valley, the Dum Dum Factory, its Duct Rooms and Operation Room

< 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 43 of file wstag585.c.

Variable Documentation

◆ script460

s16 script460[]
Initial value:
= {
0x600, 1 , 2 ,
0x100, 2 , 0xEF , 0x180 ,
0x101, 2 , 1 , 5 ,
0x300, 0x1E ,
0x102, 2 , 0x115 , 0x16E , 5 ,
0x302, 2 ,
0x101, 2 , 1 , 5 ,
0x300, 0x1E ,
0x101, 2 , 1 , 7 ,
0x300, 0x3C ,
0x101, 2 , 1 , 3 ,
0x300, 0x3C ,
0x101, 2 , 1 , 5 ,
0x300, 0x3C ,
0x200, 0 , 1 , 2 , 2 ,
0x301 ,
0x600, 0 , 2 ,
0x300, 0x3C ,
0 ,
}

Definition at line 64 of file wstag585.c.

◆ area0Battle0

AreaBattle area0Battle0 = { 75, 12, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 85 of file wstag585.c.

◆ area0Battle1

AreaBattle area0Battle1 = { 75, 12, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 86 of file wstag585.c.

◆ area0Battle2

AreaBattle area0Battle2 = { 75, 12, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 87 of file wstag585.c.

◆ area0Battle3

AreaBattle area0Battle3 = { 75, 12, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 88 of file wstag585.c.

◆ area0Battle4

AreaBattle area0Battle4 = { 75, 12, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 89 of file wstag585.c.

◆ area0Battle5

AreaBattle area0Battle5 = { 75, 12, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 90 of file wstag585.c.

◆ area0Battle6

AreaBattle area0Battle6 = { 75, 12, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 91 of file wstag585.c.

◆ area0Battle7

AreaBattle area0Battle7 = { 75, 12, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 92 of file wstag585.c.

◆ area0Battles

BattleList area0Battles
Initial value:
= {
4,
}
AreaBattle area0Battle7
Definition wstag585.c:92
AreaBattle area0Battle1
Definition wstag585.c:86
AreaBattle area0Battle6
Definition wstag585.c:91
AreaBattle area0Battle3
Definition wstag585.c:88
AreaBattle area0Battle5
Definition wstag585.c:90
AreaBattle area0Battle0
Definition wstag585.c:85
AreaBattle area0Battle2
Definition wstag585.c:87
AreaBattle area0Battle4
Definition wstag585.c:89

Definition at line 93 of file wstag585.c.

◆ area1Battle0

AreaBattle area1Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 98 of file wstag585.c.

◆ area1Battle1

AreaBattle area1Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 99 of file wstag585.c.

◆ area1Battle2

AreaBattle area1Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 100 of file wstag585.c.

◆ area1Battle3

AreaBattle area1Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 101 of file wstag585.c.

◆ area1Battle4

AreaBattle area1Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 102 of file wstag585.c.

◆ area1Battle5

AreaBattle area1Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 103 of file wstag585.c.

◆ area1Battle6

AreaBattle area1Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 104 of file wstag585.c.

◆ area1Battle7

AreaBattle area1Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 105 of file wstag585.c.

◆ area1Battles

BattleList area1Battles
Initial value:
= {
0,
}
AreaBattle area1Battle6
Definition wstag585.c:104
AreaBattle area1Battle2
Definition wstag585.c:100
AreaBattle area1Battle4
Definition wstag585.c:102
AreaBattle area1Battle5
Definition wstag585.c:103
AreaBattle area1Battle3
Definition wstag585.c:101
AreaBattle area1Battle0
Definition wstag585.c:98
AreaBattle area1Battle1
Definition wstag585.c:99
AreaBattle area1Battle7
Definition wstag585.c:105

Definition at line 106 of file wstag585.c.

◆ area2Battle0

AreaBattle area2Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 111 of file wstag585.c.

◆ area2Battle1

AreaBattle area2Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 112 of file wstag585.c.

◆ area2Battle2

AreaBattle area2Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 113 of file wstag585.c.

◆ area2Battle3

AreaBattle area2Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 114 of file wstag585.c.

◆ area2Battle4

AreaBattle area2Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 115 of file wstag585.c.

◆ area2Battle5

AreaBattle area2Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 116 of file wstag585.c.

◆ area2Battle6

AreaBattle area2Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 117 of file wstag585.c.

◆ area2Battle7

AreaBattle area2Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 118 of file wstag585.c.

◆ area2Battles

BattleList area2Battles
Initial value:
= {
0,
}
AreaBattle area2Battle7
Definition wstag585.c:118
AreaBattle area2Battle6
Definition wstag585.c:117
AreaBattle area2Battle0
Definition wstag585.c:111
AreaBattle area2Battle4
Definition wstag585.c:115
AreaBattle area2Battle2
Definition wstag585.c:113
AreaBattle area2Battle1
Definition wstag585.c:112
AreaBattle area2Battle5
Definition wstag585.c:116
AreaBattle area2Battle3
Definition wstag585.c:114

Definition at line 119 of file wstag585.c.

◆ area3Battle0

AreaBattle area3Battle0 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 124 of file wstag585.c.

◆ area3Battle1

AreaBattle area3Battle1 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 125 of file wstag585.c.

◆ area3Battle2

AreaBattle area3Battle2 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 126 of file wstag585.c.

◆ area3Battle3

AreaBattle area3Battle3 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 127 of file wstag585.c.

◆ area3Battle4

AreaBattle area3Battle4 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 128 of file wstag585.c.

◆ area3Battle5

AreaBattle area3Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 129 of file wstag585.c.

◆ area3Battle6

AreaBattle area3Battle6 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 130 of file wstag585.c.

◆ area3Battle7

AreaBattle area3Battle7 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }

Definition at line 131 of file wstag585.c.

◆ area3Battles

BattleList area3Battles
Initial value:
= {
0,
}
AreaBattle area3Battle4
Definition wstag585.c:128
AreaBattle area3Battle3
Definition wstag585.c:127
AreaBattle area3Battle0
Definition wstag585.c:124
AreaBattle area3Battle2
Definition wstag585.c:126
AreaBattle area3Battle1
Definition wstag585.c:125
AreaBattle area3Battle6
Definition wstag585.c:130
AreaBattle area3Battle5
Definition wstag585.c:129
AreaBattle area3Battle7
Definition wstag585.c:131

Definition at line 132 of file wstag585.c.

◆ stageBattles

FieldBattles stageBattles[]
Initial value:
= {
}
BattleList area3Battles
Definition wstag585.c:132
BattleList area1Battles
Definition wstag585.c:106
BattleList area2Battles
Definition wstag585.c:119
BattleList area0Battles
Definition wstag585.c:93

Definition at line 137 of file wstag585.c.

Referenced by setupStage().

◆ stageImages

ActorImage stageImages[]
Initial value:
= {
{ 0x200, 0x100, 0x21C, 0x1A6, 0x70, 0xA6, 0x230, 0x1FE },
{ 0x200, 0x100, 0x200, 0x100, 0, 0, 0x220, 0x1FE },
{ 0x200, 0x100, 0x216, 0x138, 0x58, 0x38, 0x200, 0x1FD },
{ 0x200, 0x100, 0x208, 0x1BC, 0x20, 0xBC, 0x210, 0x1FD },
{ 0x200, 0x100, 0x210, 0x1BC, 0x40, 0xBC, 0x220, 0x1FD },
{ 0x200, 0x100, 0x200, 0x1BC, 0, 0xBC, 0x230, 0x1FD },
{ 0x140, 0x100, 0x176, 0x100, 0xD8, 0, 0x150, 0x1FF },
}

Definition at line 140 of file wstag585.c.

Referenced by setupStage().

◆ actor0Talk0Actions

u16 actor0Talk0Actions[]
Initial value:
= {
(( 2 ) << 8 | ( 0xD )) , 1,
(0x8000 | ( 1 ) << 9 | ( 0x2F )), 1,
(0x7000 | ( 0x13 )) , 1,
0xFFFF ,
}

Definition at line 149 of file wstag585.c.

◆ actor0Talks

FieldTalk actor0Talks[]
Initial value:
= {
{ ((void *)0) , actor0Talk0Actions, 0x256 },
{ ((void *)0) , ((void *)0) , 0 },
}
u16 actor0Talk0Actions[]
Definition wstag585.c:149

Definition at line 155 of file wstag585.c.

◆ actor0Conditions

u16 actor0Conditions[] = { (( 2 ) << 8 | ( 0xD )) , 0, (( 0x1C ) << 8 | ( 0x20 )) , 1, 0xFFFF }

Definition at line 159 of file wstag585.c.

◆ actor0

FieldActorEntry actor0 = { actor0Conditions, actor0Talks, 0x21, 4, 379, 318, 1 }

Definition at line 160 of file wstag585.c.

◆ stageActors

FieldActorEntry* stageActors[]
Initial value:
= {
((void *)0) ,
}
FieldActorEntry actor0
Definition wstag585.c:160

Definition at line 161 of file wstag585.c.

Referenced by setupStage().

◆ stageObjects

StageTile stageObjects[]
Initial value:
= {
{ 1, 0, 0x40, 6, 0x32, 2, 0, 5, 6, 0, 277, 252, 0, 0 },
{ 1, 0, 0x40, 6, 0x33, 2, 0, 5, 6, 0, 405, 317, 0, 0 },
{ 1, 0, 0x40, 6, 0, 1, 0, 0xB, 4, 0, 214, 250, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
}

The tables and color setupStage gives FIELDSTG_state (FieldState)

Definition at line 165 of file wstag585.c.

Referenced by setupStage().

◆ stageSlots

StageSlot stageSlots[]
Initial value:
= {
{ { { 0xFFFF , 0 }, { 0xFFFF , 0 } }, 1 , 0x24D, 0x358, 0x37C, 1, 0, 0, 0 },
{ { { 0xFFFF , 0 }, { 0xFFFF , 0 } }, 0, 0, 0, 0, 0, 0, 0, 0 },
}

Definition at line 171 of file wstag585.c.

Referenced by setupStage().

◆ stageFuncs

void(* stageFuncs[])(void) ( void  )
Initial value:
= {
}
void setupStage(void)
Sets the stage up: its map, actors, battles and events, playing the ambience ENV_0017.
Definition wstag585.c:43

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 175 of file wstag585.c.

◆ stageEvents

FieldEvent stageEvents[]
Initial value:
= {
{ 460, script460, ( ( 0x13D - 1) << 16 | ( 7 )), ((void *)0) , endEvent460 },
{ -1, ((void *)0) , 0, ((void *)0) , ((void *)0) },
}
void endEvent460(void)
After event 460, with the player: keeps it from playing again.
Definition wstag585.c:29
s16 script460[]
Definition wstag585.c:64

Definition at line 178 of file wstag585.c.

Referenced by setupStage().