1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 04:24:43 +00:00

Objects used in DemoEffect OK (#731)

* object_triforce_spot

* object_gi_jewel

* object_efc_crystal_light

* object_efc_fire_ball

* object_efc_lgt_shower

* object_god_lgt

* object_light_ring

* object_efc_tw

* undefined_syms

* fix gameplay_keep
This commit is contained in:
EllipticEllipsis 2021-03-24 00:40:36 +00:00 committed by GitHub
parent effd4256c9
commit dab0d957fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 119 additions and 78 deletions

View File

@ -0,0 +1,6 @@
<Root>
<File Name="object_efc_crystal_light" Segment="6">
<Texture Name="gCrystalLightTex" OutName="crystal_light" Format="i4" Width="64" Height="64" Offset="0x0000"/>
<DList Name="gCrystalLightDL" Offset="0x0980"/>
</File>
</Root>

View File

@ -0,0 +1,7 @@
<Root>
<File Name="object_efc_fire_ball" Segment="6">
<DList Name="gCreationFireBallDL" Offset="0x0040"/>
<Texture Name="gCreationFireBallMaskTex" OutName="fire_ball_mask" Format="i8" Width="32" Height="32" Offset="0x0100"/>
<Texture Name="gCreationFireBallFlameEffectTex" OutName="fire_ball_flame_effect" Format="i8" Width="32" Height="64" Offset="0x0500"/>
</File>
</Root>

View File

@ -0,0 +1,6 @@
<Root>
<File Name="object_efc_lgt_shower" Segment="6">
<Texture Name="gEnliveningLightTex" OutName="enlivening_light" Format="i8" Width="64" Height="64" Offset="0x0000"/>
<DList Name="gEnliveningLightDL" Offset="0x11D0"/>
</File>
</Root>

View File

@ -0,0 +1,13 @@
<Root>
<File Name="object_efc_tw" Segment="6">
<Skeleton Name="gTimeWarpSkel" Type="Curve" LimbType="Curve" Offset="0x12E8"/>
<CurveAnimation Name="gTimeWarpAnim" SkelOffset="0x12E8" Offset="0x0050"/>
<Array Name="gTimeWarpVtx" Count="21" Offset="0x0060">
<Vtx/>
</Array>
<DList Name="gTimeWarpDL" Offset="0x01B0"/>
<Texture Name="gTimeWarpTex" OutName="time_warp" Format="i8" Width="64" Height="64" Offset="0x02C8"/>
</File>
</Root>

View File

@ -1,10 +1,15 @@
<Root>
<File Name="object_gi_jewel" Segment="6">
<DList Name="gGiKokiriEmeraldSetting" Offset="0x10E0"/>
<DList Name="gGiKokiriEmeraldGem" Offset="0x1240"/>
<DList Name="gGiGoronRubySetting" Offset="0x1FB0"/>
<DList Name="gGiGoronRubyGem" Offset="0x20A0"/>
<DList Name="gGiZoraSapphireSetting" Offset="0x3370"/>
<DList Name="gGiZoraSapphireGem" Offset="0x3530"/>
<Texture Name="gGiKokiriEmeraldScintillationTex" OutName="kokiri_emerald_scintillation" Format="i4" Width="64" Height="64" Offset="0x0000"/>
<DList Name="gGiKokiriEmeraldSettingDL" Offset="0x10E0"/>
<DList Name="gGiKokiriEmeraldGemDL" Offset="0x1240"/>
<Texture Name="gGiGoronRubyScintillationTex" OutName="goron_ruby_scintillation" Format="i8" Width="32" Height="64" Offset="0x13E0"/>
<DList Name="gGiGoronRubySettingDL" Offset="0x1FB0"/>
<DList Name="gGiGoronRubyGemDL" Offset="0x20A0"/>
<Texture Name="gGiZoraSapphireScintillationTex" OutName="zora_sapphire_scintillation" Format="i4" Width="64" Height="64" Offset="0x21F0"/>
<DList Name="gGiZoraSapphireSettingDL" Offset="0x3370"/>
<DList Name="gGiZoraSapphireGemDL" Offset="0x3530"/>
</File>
</Root>

View File

@ -0,0 +1,9 @@
<Root>
<File Name="object_god_lgt" Segment="6">
<DList Name="gGoldenGoddessAuraDL" Offset="0x0330"/>
<Texture Name="gGoldenGoddessAuraHTailTex" OutName="golden_goddess_aura_tail" Format="i8" Width="32" Height="32" Offset="0x0530"/>
<Texture Name="gGoldenGoddessAuraHeadTex" OutName="golden_goddess_aura_head" Format="i8" Width="64" Height="64" Offset="0x0930"/>
<Texture Name="gGoldenGoddessAuraMaskTex" OutName="golden_goddess_aura_mask" Format="i8" Width="16" Height="96" Offset="0x1930"/>
<DList Name="gGoldenGoddessBodyDL" Offset="0x3C50"/>
</File>
</Root>

View File

@ -0,0 +1,6 @@
<Root>
<File Name="object_light_ring" Segment="6">
<DList Name="gGoldenGoddessLightRingDL" Offset="0x0190"/>
<Texture Name="gGoldenGoddessLightRingTex" OutName="goddess_light_ring" Format="i8" Width="32" Height="128" Offset="0x0278"/>
</File>
</Root>

View File

@ -0,0 +1,14 @@
<Root>
<File Name="object_triforce_spot" Segment="6">
<Array Name="gTriforceVtx" Count="32" Offset="0x0000">
<Vtx/>
</Array>
<DList Name="gTriforceDL" Offset="0x0600"/>
<DList Name="gTriforceLightColumnDL" Offset="0x0840"/>
<Texture Name="gTriforceTex" OutName="triforce" Format="i8" Width="64" Height="64" Offset="0x0910"/>
<Texture Name="gTriforceColumnSide1Tex" OutName="triforce_light_column_side_1" Format="i8" Width="64" Height="32" Offset="0x1910"/>
<Texture Name="gTriforceColumnSide2Tex" OutName="triforce_light_column_side_2" Format="i8" Width="64" Height="32" Offset="0x2110"/>
</File>
</Root>

21
spec
View File

@ -4241,13 +4241,15 @@ endseg
beginseg
name "object_efc_crystal_light"
romalign 0x1000
include "build/baserom/object_efc_crystal_light.o"
include "build/assets/objects/object_efc_crystal_light/object_efc_crystal_light.o"
number 6
endseg
beginseg
name "object_efc_fire_ball"
romalign 0x1000
include "build/baserom/object_efc_fire_ball.o"
include "build/assets/objects/object_efc_fire_ball/object_efc_fire_ball.o"
number 6
endseg
beginseg
@ -4259,7 +4261,8 @@ endseg
beginseg
name "object_efc_lgt_shower"
romalign 0x1000
include "build/baserom/object_efc_lgt_shower.o"
include "build/assets/objects/object_efc_lgt_shower/object_efc_lgt_shower.o"
number 6
endseg
beginseg
@ -4271,19 +4274,22 @@ endseg
beginseg
name "object_god_lgt"
romalign 0x1000
include "build/baserom/object_god_lgt.o"
include "build/assets/objects/object_god_lgt/object_god_lgt.o"
number 6
endseg
beginseg
name "object_light_ring"
romalign 0x1000
include "build/baserom/object_light_ring.o"
include "build/assets/objects/object_light_ring/object_light_ring.o"
number 6
endseg
beginseg
name "object_triforce_spot"
romalign 0x1000
include "build/baserom/object_triforce_spot.o"
include "build/assets/objects/object_triforce_spot/object_triforce_spot.o"
number 6
endseg
beginseg
@ -4398,7 +4404,8 @@ endseg
beginseg
name "object_efc_tw"
romalign 0x1000
include "build/baserom/object_efc_tw.o"
include "build/assets/objects/object_efc_tw/object_efc_tw.o"
number 6
endseg
beginseg

View File

@ -1,6 +1,14 @@
#include "z_demo_effect.h"
#include "vt.h"
#include "objects/gameplay_keep/gameplay_keep.h"
#include "objects/object_efc_crystal_light/object_efc_crystal_light.h"
#include "objects/object_efc_fire_ball/object_efc_fire_ball.h"
#include "objects/object_efc_lgt_shower/object_efc_lgt_shower.h"
#include "objects/object_god_lgt/object_god_lgt.h"
#include "objects/object_light_ring/object_light_ring.h"
#include "objects/object_triforce_spot/object_triforce_spot.h"
#include "objects/object_efc_tw/object_efc_tw.h"
#include "objects/object_gi_jewel/object_gi_jewel.h"
#define FLAGS 0x00000030
@ -56,26 +64,6 @@ void DemoEffect_InitPositionFromCsAction(DemoEffect* this, GlobalContext* global
void DemoEffect_MoveToCsEndpoint(DemoEffect* this, GlobalContext* globalCtx, s32 csActionId, s32 shouldUpdateFacing);
void DemoEffect_MoveGetItem(DemoEffect* this, GlobalContext* globalCtx, s32 csActionId, f32 speed);
extern Gfx D_06001240[]; // kokiriJewel
extern Gfx D_060010E0[]; // kokiriJewelHolder
extern Gfx D_060020A0[]; // goronJewel
extern Gfx D_06001FB0[]; // goronJewelHolder
extern Gfx D_06003530[]; // zoraJewel
extern Gfx D_06003370[]; // zoraJewelHolder
extern Gfx D_06000040[]; // fireBall
extern Gfx D_06000190[]; // lightRing
extern Gfx D_06000330[]; // godLgtTrail
extern Gfx D_06003C50[]; // godLgt
extern Gfx D_06000600[]; // triforceSpot
extern Gfx D_06000840[]; // triforceLightColumn
extern Gfx D_06000980[]; // crystalLight
extern Gfx D_060011D0[]; // lgtShower
extern Vtx D_06000000[]; // triforceLightColumnVertices
extern Vtx D_06000060[]; // timewarpVertices
extern TransformUpdateIndex D_06000050; // timewarpTransformUpdateIndex
extern SkelCurveLimbList D_060012E8; // timewarpLimbList
const ActorInit Demo_Effect_InitVars = {
ACTOR_DEMO_EFFECT,
ACTORCAT_BG,
@ -482,24 +470,24 @@ void DemoEffect_Init(Actor* thisx, GlobalContext* globalCtx) {
break;
case DEMO_EFFECT_JEWEL_KOKIRI:
this->jewelDisplayList = D_06001240;
this->jewelHolderDisplayList = D_060010E0;
this->jewelDisplayList = gGiKokiriEmeraldGemDL;
this->jewelHolderDisplayList = gGiKokiriEmeraldSettingDL;
this->jewel.type = DEMO_EFFECT_JEWEL_KOKIRI;
this->jewel.isPositionInit = 0;
DemoEffect_InitJewel(globalCtx, this);
break;
case DEMO_EFFECT_JEWEL_GORON:
this->jewelDisplayList = D_060020A0;
this->jewelHolderDisplayList = D_06001FB0;
this->jewelDisplayList = gGiGoronRubyGemDL;
this->jewelHolderDisplayList = gGiGoronRubySettingDL;
this->jewel.type = DEMO_EFFECT_JEWEL_GORON;
this->jewel.isPositionInit = 0;
DemoEffect_InitJewel(globalCtx, this);
break;
case DEMO_EFFECT_JEWEL_ZORA:
this->jewelDisplayList = D_06003530;
this->jewelHolderDisplayList = D_06003370;
this->jewelDisplayList = gGiZoraSapphireGemDL;
this->jewelHolderDisplayList = gGiZoraSapphireSettingDL;
this->jewel.type = DEMO_EFFECT_JEWEL_ZORA;
this->jewel.isPositionInit = 0;
DemoEffect_InitJewel(globalCtx, this);
@ -694,12 +682,12 @@ void DemoEffect_UpdateGetItem(DemoEffect* this, GlobalContext* globalCtx) {
void DemoEffect_InitTimeWarp(DemoEffect* this, GlobalContext* globalCtx) {
s32 effectType = (this->actor.params & 0x00FF);
if (!SkelCurve_Init(globalCtx, &this->skelCurve, &D_060012E8, &D_06000050)) {
if (!SkelCurve_Init(globalCtx, &this->skelCurve, &gTimeWarpSkel, &gTimeWarpAnim)) {
__assert("0", "../z_demo_effect.c", 1283);
}
if (effectType == DEMO_EFFECT_TIMEWARP_TIMEBLOCK_LARGE || effectType == DEMO_EFFECT_TIMEWARP_TIMEBLOCK_SMALL) {
SkelCurve_SetAnim(&this->skelCurve, &D_06000050, 1.0f, 59.0f, 1.0f, 1.7f);
SkelCurve_SetAnim(&this->skelCurve, &gTimeWarpAnim, 1.0f, 59.0f, 1.0f, 1.7f);
SkelCurve_Update(globalCtx, &this->skelCurve);
this->updateFunc = DemoEffect_InitTimeWarpTimeblock;
@ -710,12 +698,12 @@ void DemoEffect_InitTimeWarp(DemoEffect* this, GlobalContext* globalCtx) {
}
} else if (gSaveContext.sceneSetupIndex == 5 || gSaveContext.sceneSetupIndex == 4 ||
(gSaveContext.entranceIndex == 0x0324 && !((gSaveContext.eventChkInf[12] & 0x200)))) {
SkelCurve_SetAnim(&this->skelCurve, &D_06000050, 1.0f, 59.0f, 59.0f, 0.0f);
SkelCurve_SetAnim(&this->skelCurve, &gTimeWarpAnim, 1.0f, 59.0f, 59.0f, 0.0f);
SkelCurve_Update(globalCtx, &this->skelCurve);
this->updateFunc = DemoEffect_UpdateTimeWarpReturnFromChamberOfSages;
osSyncPrintf(VT_FGCOL(CYAN) " 縮むバージョン \n" VT_RST);
} else {
SkelCurve_SetAnim(&this->skelCurve, &D_06000050, 1.0f, 59.0f, 1.0f, 1.0f);
SkelCurve_SetAnim(&this->skelCurve, &gTimeWarpAnim, 1.0f, 59.0f, 1.0f, 1.0f);
SkelCurve_Update(globalCtx, &this->skelCurve);
this->updateFunc = DemoEffect_UpdateTimeWarpPullMasterSword;
osSyncPrintf(VT_FGCOL(CYAN) " 通常 バージョン \n" VT_RST);
@ -734,7 +722,7 @@ void DemoEffect_UpdateTimeWarpPullMasterSword(DemoEffect* this, GlobalContext* g
}
if (SkelCurve_Update(globalCtx, &this->skelCurve)) {
SkelCurve_SetAnim(&this->skelCurve, &D_06000050, 1.0f, 60.0f, 59.0f, 0.0f);
SkelCurve_SetAnim(&this->skelCurve, &gTimeWarpAnim, 1.0f, 60.0f, 59.0f, 0.0f);
}
}
}
@ -749,7 +737,7 @@ void DemoEffect_TimewarpShrink(f32 size) {
u8 sizes[3];
// This function uses the data in obj_efc_tw offset 0x0060 to 0x01B0
vertices = SEGMENTED_TO_VIRTUAL(D_06000060);
vertices = SEGMENTED_TO_VIRTUAL(gTimeWarpVtx);
sizes[0] = 0;
sizes[1] = (s32)(202.0f * size);
@ -827,7 +815,7 @@ void DemoEffect_InitTimeWarpTimeblock(DemoEffect* this, GlobalContext* globalCtx
func_8002F948(&this->actor, NA_SE_EV_TIMETRIP_LIGHT - SFX_FLAG);
if (SkelCurve_Update(globalCtx, &this->skelCurve)) {
SkelCurve_SetAnim(&this->skelCurve, &D_06000050, 1.0f, 60.0f, 59.0f, 0.0f);
SkelCurve_SetAnim(&this->skelCurve, &gTimeWarpAnim, 1.0f, 60.0f, 59.0f, 0.0f);
this->updateFunc = DemoEffect_UpdateTimeWarpTimeblock;
this->timeWarp.shrinkTimer = 0;
}
@ -1763,7 +1751,7 @@ void DemoEffect_DrawCrystalLight(Actor* thisx, GlobalContext* globalCtx) {
Matrix_Translate(0.0f, 150.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2661),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06000980);
gSPDisplayList(POLY_XLU_DISP++, gCrystalLightDL);
Matrix_Pop();
Matrix_Push();
Matrix_RotateY((2.0f * M_PI) / 3.0f, MTXMODE_APPLY);
@ -1771,7 +1759,7 @@ void DemoEffect_DrawCrystalLight(Actor* thisx, GlobalContext* globalCtx) {
Matrix_Translate(0.0f, 150.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2672),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06000980);
gSPDisplayList(POLY_XLU_DISP++, gCrystalLightDL);
Matrix_Pop();
Matrix_Push();
Matrix_RotateY((4.0f * M_PI) / 3.0f, MTXMODE_APPLY);
@ -1779,7 +1767,7 @@ void DemoEffect_DrawCrystalLight(Actor* thisx, GlobalContext* globalCtx) {
Matrix_Translate(0.0f, 150.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2683),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06000980);
gSPDisplayList(POLY_XLU_DISP++, gCrystalLightDL);
Matrix_Pop();
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2688);
}
@ -1801,7 +1789,7 @@ void DemoEffect_DrawFireBall(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(
POLY_XLU_DISP++, 8,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 32, 32, 1, 0, 128 - ((frames * 20) % 128) - 1, 32, 32));
gSPDisplayList(POLY_XLU_DISP++, D_06000040);
gSPDisplayList(POLY_XLU_DISP++, gCreationFireBallDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2723);
}
@ -1842,7 +1830,7 @@ void DemoEffect_DrawGodLgt(Actor* thisx, GlobalContext* globalCtx) {
Matrix_Push();
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2801),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_06000330);
gSPDisplayList(POLY_XLU_DISP++, gGoldenGoddessAuraDL);
func_80093D18(globalCtx->state.gfxCtx);
func_8002EBCC(&this->actor, globalCtx, 0);
Matrix_Pop();
@ -1859,7 +1847,7 @@ void DemoEffect_DrawGodLgt(Actor* thisx, GlobalContext* globalCtx) {
Matrix_Scale(0.03f, 0.03f, 0.03f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2824),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, D_06003C50);
gSPDisplayList(POLY_OPA_DISP++, gGoldenGoddessBodyDL);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2829);
@ -1944,7 +1932,7 @@ void DemoEffect_DrawLgtShower(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_XLU_DISP++, 8,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (frames * 5) % 1024, 0, 256, 64, 1, (frames * 10) % 128,
512 - ((frames * 50) % 512), 32, 16));
gSPDisplayList(POLY_XLU_DISP++, D_060011D0);
gSPDisplayList(POLY_XLU_DISP++, gEnliveningLightDL);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2942);
}
@ -1966,7 +1954,7 @@ void DemoEffect_DrawLightRing(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_XLU_DISP++, 8,
Gfx_TwoTexScroll(globalCtx2->state.gfxCtx, 0, (frames * 5) % 64, 512 - ((frames * 2) % 512) - 1, 16, 128,
1, 0, 0, 8, 1024));
gSPDisplayList(POLY_XLU_DISP++, D_06000190);
gSPDisplayList(POLY_XLU_DISP++, gGoldenGoddessLightRingDL);
CLOSE_DISPS(globalCtx2->state.gfxCtx, "../z_demo_effect.c", 2978);
}
@ -1977,7 +1965,7 @@ void DemoEffect_DrawLightRing(Actor* thisx, GlobalContext* globalCtx) {
void DemoEffect_DrawTriforceSpot(Actor* thisx, GlobalContext* globalCtx) {
DemoEffect* this = THIS;
s32 pad;
Vtx* vertices = SEGMENTED_TO_VIRTUAL(D_06000000);
Vtx* vertices = SEGMENTED_TO_VIRTUAL(gTriforceVtx);
u32 frames = globalCtx->gameplayFrames;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_effect.c", 2994);
@ -1997,7 +1985,7 @@ void DemoEffect_DrawTriforceSpot(Actor* thisx, GlobalContext* globalCtx) {
vertices[93].n.a = vertices[94].n.a = vertices[95].n.a = (s8)this->triforceSpot.lightColumnOpacity;
gDPSetPrimColor(POLY_XLU_DISP++, 128, 128, 180, 255, 255, this->triforceSpot.lightColumnOpacity);
gDPSetEnvColor(POLY_XLU_DISP++, 0, 255, 150, 255);
gSPDisplayList(POLY_XLU_DISP++, D_06000840);
gSPDisplayList(POLY_XLU_DISP++, gTriforceLightColumnDL);
Matrix_Pop();
}
@ -2017,7 +2005,7 @@ void DemoEffect_DrawTriforceSpot(Actor* thisx, GlobalContext* globalCtx) {
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 32, 16, 1, 0, 0, 16, 8));
gDPSetPrimColor(POLY_XLU_DISP++, 128, 128, 255, 255, 160, this->triforceSpot.triforceSpotOpacity);
gDPSetEnvColor(POLY_XLU_DISP++, 170, 140, 0, 255);
gSPDisplayList(POLY_XLU_DISP++, D_06000600);
gSPDisplayList(POLY_XLU_DISP++, gTriforceDL);
} else {
func_8002EBCC(&this->actor, globalCtx, 0);
func_80093D18(globalCtx->state.gfxCtx);
@ -2029,7 +2017,7 @@ void DemoEffect_DrawTriforceSpot(Actor* thisx, GlobalContext* globalCtx) {
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 32, 16, 1, 0, 0, 16, 8));
gDPSetPrimColor(POLY_OPA_DISP++, 128, 128, 255, 255, 160, 255);
gDPSetEnvColor(POLY_OPA_DISP++, 170, 140, 0, 255);
gSPDisplayList(POLY_OPA_DISP++, D_06000600);
gSPDisplayList(POLY_OPA_DISP++, gTriforceDL);
}
}
}

View File

@ -1238,26 +1238,6 @@ D_0600045C = 0x0600045C;
D_06005EA0 = 0x06005EA0;
D_0600018C = 0x0600018C;
// z_demo_effect
D_06001240 = 0x06001240;
D_060010E0 = 0x060010E0;
D_060020A0 = 0x060020A0;
D_06001FB0 = 0x06001FB0;
D_06003530 = 0x06003530;
D_06003370 = 0x06003370;
D_06000040 = 0x06000040;
D_06000190 = 0x06000190;
D_06000330 = 0x06000330;
D_06003C50 = 0x06003C50;
D_06000600 = 0x06000600;
D_06000840 = 0x06000840;
D_06000980 = 0x06000980;
D_060011D0 = 0x060011D0;
D_06000000 = 0x06000000;
D_06000060 = 0x06000060;
D_06000050 = 0x06000050;
D_060012E8 = 0x060012E8;
// z_bg_gnd_darkmeiro
D_0600C080 = 0x0600C080;
D_060088B0 = 0x060088B0;