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

WSTAG381: Divermon's Lake, East Sector. More...

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

Go to the source code of this file.

Macros

#define STAGE_TEXT   TEXT_FILE(TEXT_TALKS_04)
 
#define STAGE_FILE   0x581
 

Functions

void setupStage (void)
 Sets the stage up: its map, actors and battles, playing FIELDBGM; BGM_0029 instead except at STORY_PRESIDENT_ARRESTED once flag 0x1A0A is set.
 

Variables

const CVECTOR stageColor = { 0x80, 0x80, 0x80, 0x00 }
 the color the setup copies to FIELDSTG_state.spriteColor
 
AreaBattle area0Battle0 = { 106, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area0Battle1 = { 106, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area0Battle2 = { 106, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area0Battle3 = { 106, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area0Battle4 = { 151, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area0Battle5 = { 151, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area0Battle6 = { 151, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area0Battle7 = { 151, 13, (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 = { 329, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area3Battle4 = { 330, 8, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area3Battle5 = { 0, 0, (0x60000000 | ( 1 ) << 18 | ( 0 )) }
 
AreaBattle area3Battle6 = { 99, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
AreaBattle area3Battle7 = { 64, 8, (0x60000000 | ( 2 ) << 18 | ( 0 )) }
 
BattleList area3Battles
 
FieldBattles stageBattles []
 
ActorImage stageImages []
 
u16 actor0Talk0Actions []
 
FieldTalk actor0Talks []
 
u16 actor0Conditions [] = { (( 2 ) << 8 | ( 0x1C )) , 0, 0xFFFF }
 
FieldActorEntry actor0 = { actor0Conditions, actor0Talks, 0x21, 4, 129, 417, 1 }
 
FieldActorEntry actor1 = { ((void *)0) , ((void *)0) , 0x4B, 5, 760, 357, 7 }
 
FieldActorEntry actor2 = { ((void *)0) , ((void *)0) , 0x4C, 6, 670, 280, 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.
 

Detailed Description

WSTAG381: Divermon's Lake, East Sector.

On the Amaterasu server; its Asuka server twin is WSTAG380.

Definition in file wstag381.c.

Macro Definition Documentation

◆ STAGE_TEXT

#define STAGE_TEXT   TEXT_FILE(TEXT_TALKS_04)

Definition at line 17 of file wstag381.c.

◆ STAGE_FILE

#define STAGE_FILE   0x581

Definition at line 18 of file wstag381.c.

Function Documentation

◆ setupStage()

void setupStage ( void  )

Sets the stage up: its map, actors and battles, playing FIELDBGM; BGM_0029 instead except at STORY_PRESIDENT_ARRESTED once flag 0x1A0A is set.

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.

< FIELDBGM: Central Park, the Wire Forest Entrance, Shell Beach, Plug Cape

< FIELDBGM: Central Park, the Wire Forest Entrance, Shell Beach, Plug Cape

< a cell's value: a direction (3 bits) and a StageSlot (5)

< a cell's value: its battle area (FieldBattles), or 0

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

< BGM_0029: the cities and their streets instead of their music while the story is at a crisis (Knightmon reprogrammed, the A.o.A's headquarters, the Amaterasu server's Oinkmon)

< BGM_0029: the cities and their streets instead of their music while the story is at a crisis (Knightmon reprogrammed, the A.o.A's headquarters, the Amaterasu server's Oinkmon)

Definition at line 24 of file wstag381.c.

Variable Documentation

◆ stageColor

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 12 of file wstag381.c.

Referenced by setupStage().

◆ area0Battle0

AreaBattle area0Battle0 = { 106, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 49 of file wstag381.c.

◆ area0Battle1

AreaBattle area0Battle1 = { 106, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 50 of file wstag381.c.

◆ area0Battle2

AreaBattle area0Battle2 = { 106, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 51 of file wstag381.c.

◆ area0Battle3

AreaBattle area0Battle3 = { 106, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 52 of file wstag381.c.

◆ area0Battle4

AreaBattle area0Battle4 = { 151, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 53 of file wstag381.c.

◆ area0Battle5

AreaBattle area0Battle5 = { 151, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 54 of file wstag381.c.

◆ area0Battle6

AreaBattle area0Battle6 = { 151, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 55 of file wstag381.c.

◆ area0Battle7

AreaBattle area0Battle7 = { 151, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 56 of file wstag381.c.

◆ area0Battles

BattleList area0Battles
Initial value:
= {
3,
}
AreaBattle area0Battle7
Definition wstag381.c:56
AreaBattle area0Battle1
Definition wstag381.c:50
AreaBattle area0Battle6
Definition wstag381.c:55
AreaBattle area0Battle3
Definition wstag381.c:52
AreaBattle area0Battle5
Definition wstag381.c:54
AreaBattle area0Battle0
Definition wstag381.c:49
AreaBattle area0Battle2
Definition wstag381.c:51
AreaBattle area0Battle4
Definition wstag381.c:53

Definition at line 57 of file wstag381.c.

◆ area1Battle0

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

Definition at line 62 of file wstag381.c.

◆ area1Battle1

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

Definition at line 63 of file wstag381.c.

◆ area1Battle2

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

Definition at line 64 of file wstag381.c.

◆ area1Battle3

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

Definition at line 65 of file wstag381.c.

◆ area1Battle4

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

Definition at line 66 of file wstag381.c.

◆ area1Battle5

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

Definition at line 67 of file wstag381.c.

◆ area1Battle6

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

Definition at line 68 of file wstag381.c.

◆ area1Battle7

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

Definition at line 69 of file wstag381.c.

◆ area1Battles

BattleList area1Battles
Initial value:
= {
0,
}
AreaBattle area1Battle6
Definition wstag381.c:68
AreaBattle area1Battle2
Definition wstag381.c:64
AreaBattle area1Battle4
Definition wstag381.c:66
AreaBattle area1Battle5
Definition wstag381.c:67
AreaBattle area1Battle3
Definition wstag381.c:65
AreaBattle area1Battle0
Definition wstag381.c:62
AreaBattle area1Battle1
Definition wstag381.c:63
AreaBattle area1Battle7
Definition wstag381.c:69

Definition at line 70 of file wstag381.c.

◆ area2Battle0

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

Definition at line 75 of file wstag381.c.

◆ area2Battle1

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

Definition at line 76 of file wstag381.c.

◆ area2Battle2

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

Definition at line 77 of file wstag381.c.

◆ area2Battle3

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

Definition at line 78 of file wstag381.c.

◆ area2Battle4

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

Definition at line 79 of file wstag381.c.

◆ area2Battle5

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

Definition at line 80 of file wstag381.c.

◆ area2Battle6

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

Definition at line 81 of file wstag381.c.

◆ area2Battle7

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

Definition at line 82 of file wstag381.c.

◆ area2Battles

BattleList area2Battles
Initial value:
= {
0,
}
AreaBattle area2Battle7
Definition wstag381.c:82
AreaBattle area2Battle6
Definition wstag381.c:81
AreaBattle area2Battle0
Definition wstag381.c:75
AreaBattle area2Battle4
Definition wstag381.c:79
AreaBattle area2Battle2
Definition wstag381.c:77
AreaBattle area2Battle1
Definition wstag381.c:76
AreaBattle area2Battle5
Definition wstag381.c:80
AreaBattle area2Battle3
Definition wstag381.c:78

Definition at line 83 of file wstag381.c.

◆ area3Battle0

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

Definition at line 88 of file wstag381.c.

◆ area3Battle1

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

Definition at line 89 of file wstag381.c.

◆ area3Battle2

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

Definition at line 90 of file wstag381.c.

◆ area3Battle3

AreaBattle area3Battle3 = { 329, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 91 of file wstag381.c.

◆ area3Battle4

AreaBattle area3Battle4 = { 330, 8, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 92 of file wstag381.c.

◆ area3Battle5

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

Definition at line 93 of file wstag381.c.

◆ area3Battle6

AreaBattle area3Battle6 = { 99, 13, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 94 of file wstag381.c.

◆ area3Battle7

AreaBattle area3Battle7 = { 64, 8, (0x60000000 | ( 2 ) << 18 | ( 0 )) }

Definition at line 95 of file wstag381.c.

◆ area3Battles

BattleList area3Battles
Initial value:
= {
0,
}
AreaBattle area3Battle4
Definition wstag381.c:92
AreaBattle area3Battle3
Definition wstag381.c:91
AreaBattle area3Battle0
Definition wstag381.c:88
AreaBattle area3Battle2
Definition wstag381.c:90
AreaBattle area3Battle1
Definition wstag381.c:89
AreaBattle area3Battle6
Definition wstag381.c:94
AreaBattle area3Battle5
Definition wstag381.c:93
AreaBattle area3Battle7
Definition wstag381.c:95

Definition at line 96 of file wstag381.c.

◆ stageBattles

FieldBattles stageBattles[]
Initial value:
= {
}
BattleList area3Battles
Definition wstag381.c:96
BattleList area1Battles
Definition wstag381.c:70
BattleList area2Battles
Definition wstag381.c:83
BattleList area0Battles
Definition wstag381.c:57

Definition at line 101 of file wstag381.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 },
{ 0x180, 0x100, 0x180, 0x100, 0x100, 0, 0x150, 0x1FF },
{ 0x140, 0x100, 0x172, 0x19C, 0xC8, 0x9C, 0x160, 0x1FF },
{ 0x140, 0x100, 0x140, 0x1C2, 0, 0xC2, 0x170, 0x1FF },
}

Definition at line 104 of file wstag381.c.

Referenced by setupStage().

◆ actor0Talk0Actions

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

Definition at line 115 of file wstag381.c.

◆ actor0Talks

FieldTalk actor0Talks[]
Initial value:
= {
{ ((void *)0) , actor0Talk0Actions, 0x17C },
{ ((void *)0) , ((void *)0) , 0 },
}
u16 actor0Talk0Actions[]
Definition wstag381.c:115

Definition at line 121 of file wstag381.c.

◆ actor0Conditions

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

Definition at line 125 of file wstag381.c.

◆ actor0

FieldActorEntry actor0 = { actor0Conditions, actor0Talks, 0x21, 4, 129, 417, 1 }

Definition at line 126 of file wstag381.c.

◆ actor1

FieldActorEntry actor1 = { ((void *)0) , ((void *)0) , 0x4B, 5, 760, 357, 7 }

Definition at line 127 of file wstag381.c.

◆ actor2

FieldActorEntry actor2 = { ((void *)0) , ((void *)0) , 0x4C, 6, 670, 280, 1 }

Definition at line 128 of file wstag381.c.

◆ stageActors

FieldActorEntry* stageActors[]
Initial value:
= {
((void *)0) ,
}
FieldActorEntry actor0
Definition wstag381.c:126
FieldActorEntry actor2
Definition wstag381.c:128
FieldActorEntry actor1
Definition wstag381.c:127

Definition at line 129 of file wstag381.c.

Referenced by setupStage().

◆ stageObjects

StageTile stageObjects[]

The tables and color setupStage gives FIELDSTG_state (FieldState)

Definition at line 135 of file wstag381.c.

Referenced by setupStage().

◆ stageSlots

StageSlot stageSlots[]
Initial value:
= {
{ { { 0xFFFF , 0 }, { 0xFFFF , 0 } }, 1 , 0x291, 0x32A, 0x334, 3, 0, 0, 0 },
{ { { 0xFFFF , 0 }, { 0xFFFF , 0 } }, 1 , 0x298, 0x9A, 0x74, 7, 0, 0, 0 },
{ { { (0x7000 | ( 0x93 )) , 1 }, { 0xFFFF , 0 } }, 10 , 0x2E2, 0xB0, 0x148, 7, 0, 0x12, 1 },
{ { { 0xFFFF , 0 }, { 0xFFFF , 0 } }, 3 , 3, 0x1A1, 0x140, 0, 0, 0, 0 },
{ { { 0xFFFF , 0 }, { 0xFFFF , 0 } }, 2 , 3, 0x1B0, 0x176, 0, 0, 0, 0 },
{ { { (0x8000 | ( 0 ) << 9 | ( 5 )), 1 }, { 0xFFFF , 0 } }, 7 , 0x38, 0x58, 0, 0, 0, 0, 0 },
{ { { (0x8000 | ( 0 ) << 9 | ( 5 )), 1 }, { 0xFFFF , 0 } }, 7 , 0x40, 0x40, 0, 0, 0, 0, 0 },
{ { { (0x8000 | ( 0 ) << 9 | ( 5 )), 1 }, { 0xFFFF , 0 } }, 7 , 0, 0xFFC0, 0, 0, 0, 0, 0 },
{ { { (0x8000 | ( 0 ) << 9 | ( 5 )), 1 }, { 0xFFFF , 0 } }, 7 , 0xFFB8, 0x28, 0, 0, 0, 0, 0 },
{ { { (0x8000 | ( 0 ) << 9 | ( 5 )), 1 }, { 0xFFFF , 0 } }, 7 , 0xFFC0, 0x38, 0, 0, 0, 0, 0 },
{ { { (0x8000 | ( 0 ) << 9 | ( 5 )), 1 }, { 0xFFFF , 0 } }, 7 , 0xFF90, 0xFFF8, 0, 0, 0, 0, 0 },
{ { { (0x8000 | ( 0 ) << 9 | ( 5 )), 1 }, { 0xFFFF , 0 } }, 7 , 0xFFB0, 0xFFF8, 0, 0, 0, 0, 0 },
{ { { (0x8000 | ( 0 ) << 9 | ( 5 )), 1 }, { 0xFFFF , 0 } }, 7 , 0x40, 0xFFE8, 0, 0, 0, 0, 0 },
{ { { (0x8000 | ( 0 ) << 9 | ( 5 )), 1 }, { 0xFFFF , 0 } }, 7 , 0xFFE0, 0x18, 0, 0, 0, 0, 0 },
{ { { (0x8000 | ( 0 ) << 9 | ( 5 )), 1 }, { 0xFFFF , 0 } }, 7 , 0xFFF0, 0x10, 0, 0, 0, 0, 0 },
{ { { 0xFFFF , 0 }, { 0xFFFF , 0 } }, 0, 0, 0, 0, 0, 0, 0, 0 },
}

Definition at line 183 of file wstag381.c.

Referenced by setupStage().

◆ stageFuncs

void(* stageFuncs[])(void) ( void  )
Initial value:
= {
}
void setupStage(void)
Sets the stage up: its map, actors and battles, playing FIELDBGM; BGM_0029 instead except at STORY_PR...
Definition wstag381.c:24

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 201 of file wstag381.c.