Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions config/RUUE01_00/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -634,6 +634,7 @@ modules:
name: d_skyNP
symbols: config/RUUE01_00/d_skyNP/symbols.txt
splits: config/RUUE01_00/d_skyNP/splits.txt
force_active: [__global_destructor_chain] # the module runtime's chain: the REL's first 4 bytes of .bss
- object: files/rels/d_sky_auroraNP.rel
hash: 8ac2dd16d6f0a4a6d9239411fdb20cb24f9f61ad
name: d_sky_auroraNP
Expand Down
13 changes: 13 additions & 0 deletions config/RUUE01_00/d_skyNP/splits.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,16 @@ Sections:
.rodata type:rodata align:8
.data type:data align:8
.bss type:bss align:8

d_skyNP/global_destructor_chain.c:
.bss start:0x00000000 end:0x00000004

d_skyNP/rel_init.cpp:
.text start:0x00000000 end:0x0000005C

d_skyNP/d_sky.cpp:
.text start:0x0000005C end:0x00001AB8
.ctors start:0x00000000 end:0x00000004
.rodata start:0x00000000 end:0x000000AC
.data start:0x00000000 end:0x000001B8
.bss start:0x00000008 end:0x0000001C
82 changes: 43 additions & 39 deletions config/RUUE01_00/d_skyNP/symbols.txt
Original file line number Diff line number Diff line change
@@ -1,34 +1,33 @@
_prolog = .text:0x00000000; // type:function size:0x2C scope:global
_epilog = .text:0x0000002C; // type:function size:0x2C scope:global
_unresolved = .text:0x00000058; // type:function size:0x4 scope:global
fn_120_5C = .text:0x0000005C; // type:function size:0x30
fn_120_8C = .text:0x0000008C; // type:function size:0x2E4
fn_120_370 = .text:0x00000370; // type:function size:0x14C
fn_120_4BC = .text:0x000004BC; // type:function size:0x32C
fn_120_7E8 = .text:0x000007E8; // type:function size:0x80
fn_120_868 = .text:0x00000868; // type:function size:0x610
fn_120_E78 = .text:0x00000E78; // type:function size:0x110
fn_120_F88 = .text:0x00000F88; // type:function size:0x20
fn_120_FA8 = .text:0x00000FA8; // type:function size:0x4
fn_120_FAC = .text:0x00000FAC; // type:function size:0x10C
fn_120_10B8 = .text:0x000010B8; // type:function size:0x70
fn_120_1128 = .text:0x00001128; // type:function size:0x48
fn_120_1170 = .text:0x00001170; // type:function size:0x718
fn_120_1888 = .text:0x00001888; // type:function size:0xA0
fn_120_1928 = .text:0x00001928; // type:function size:0x58
fn_120_1980 = .text:0x00001980; // type:function size:0x4
fn_120_1984 = .text:0x00001984; // type:function size:0x4
fn_120_1988 = .text:0x00001988; // type:function size:0x8
fn_120_1990 = .text:0x00001990; // type:function size:0x1C
fn_120_19AC = .text:0x000019AC; // type:function size:0x40
fn_120_19EC = .text:0x000019EC; // type:function size:0x5C
fn_120_1A48 = .text:0x00001A48; // type:function size:0x48
fn_120_1A90 = .text:0x00001A90; // type:function size:0xC
fn_120_1A9C = .text:0x00001A9C; // type:function size:0x8
fn_120_1AA4 = .text:0x00001AA4; // type:function size:0x4
fn_120_1AA8 = .text:0x00001AA8; // type:function size:0x4
fn_120_1AAC = .text:0x00001AAC; // type:function size:0x4
fn_120_1AB0 = .text:0x00001AB0; // type:function size:0x8
dSky_c_classInit__Fv = .text:0x0000005C; // type:function size:0x30
__ct__6dSky_cFv = .text:0x0000008C; // type:function size:0x2E4
__dt__6dSky_cFv = .text:0x00000370; // type:function size:0x14C
create__6dSky_cFv = .text:0x000004BC; // type:function size:0x32C
execute__6dSky_cFv = .text:0x000007E8; // type:function size:0x80
draw__6dSky_cFv = .text:0x00000868; // type:function size:0x610
doDelete__6dSky_cFv = .text:0x00000E78; // type:function size:0x110
setFireworksBrightness__6dSky_cFf = .text:0x00000F88; // type:function size:0x24
getMoonAge__FPC7dTime_c = .text:0x00000FAC; // type:function size:0x10C
getOffsetY__Fv = .text:0x000010B8; // type:function size:0x70
getOffsetZ__Fv = .text:0x00001128; // type:function size:0x48
calc__6dSky_cFv = .text:0x00001170; // type:function size:0x718
__sinit_\d_sky_cpp = .text:0x00001888; // type:function size:0xA0 scope:local
__dt__Q23m3d6proc_cFv = .text:0x00001928; // type:function size:0x58 scope:weak
drawXlu__Q23m3d6proc_cFv = .text:0x00001980; // type:function size:0x4 scope:weak
drawOpa__Q23m3d6proc_cFv = .text:0x00001984; // type:function size:0x4 scope:weak
getType__Q23m3d6proc_cCFv = .text:0x00001988; // type:function size:0x8 scope:weak
__ct__Q211dStarDraw_c6star_cFv = .text:0x00001990; // type:function size:0x1C scope:weak
__dt__Q211dStarDraw_c6star_cFv = .text:0x000019AC; // type:function size:0x40 scope:weak
__dt__Q24dDvd11brresBank_cFv = .text:0x000019EC; // type:function size:0x5C scope:weak
onLoaded__Q24dDvd11brresBank_cFv = .text:0x00001A48; // type:function size:0x48 scope:weak
getViewCenter<Q34nw4r4math4VEC3>__Fv_PQ34nw4r4math4VEC3 = .text:0x00001A90; // type:function size:0xC scope:weak
createHeap__6dSky_cFv = .text:0x00001A9C; // type:function size:0x8 scope:weak
deleteReady__6dSky_cFv = .text:0x00001AA4; // type:function size:0x4 scope:weak
postDraw__6dSky_cFQ27fBase_c12MAIN_STATE_e = .text:0x00001AA8; // type:function size:0x4 scope:weak
postExecute__6dSky_cFQ27fBase_c12MAIN_STATE_e = .text:0x00001AAC; // type:function size:0x4 scope:weak
preCreate__6dSky_cFv = .text:0x00001AB0; // type:function size:0x8 scope:weak
_ctors = .ctors:0x00000000; // type:label scope:global
_dtors = .dtors:0x00000000; // type:label scope:global
lbl_120_rodata_0 = .rodata:0x00000000; // type:object size:0x4 align:4 data:float
Expand All @@ -37,27 +36,32 @@ lbl_120_rodata_14 = .rodata:0x00000014; // type:object size:0x14 align:4 data:fl
lbl_120_rodata_28 = .rodata:0x00000028; // type:object size:0x10 align:8 data:double
lbl_120_rodata_38 = .rodata:0x00000038; // type:object size:0xC align:4 data:float
lbl_120_rodata_44 = .rodata:0x00000044; // type:object size:0x68 align:4 data:float
lbl_120_data_0 = .data:0x00000000; // type:object size:0x48
g_profile_SKY = .data:0x00000000; // type:object size:0x8
lbl_120_data_8 = .data:0x00000008; // type:object size:0x14 data:string
lbl_120_data_1C = .data:0x0000001C; // type:object size:0x12 data:string
lbl_120_data_30 = .data:0x00000030; // type:object size:0x13 data:string
lbl_120_data_48 = .data:0x00000048; // type:object size:0x8 data:string
lbl_120_data_50 = .data:0x00000050; // type:object size:0x6 data:string
lbl_120_data_58 = .data:0x00000058; // type:object size:0x50
__vt__6dSky_c = .data:0x00000058; // type:object size:0x50
lbl_120_data_A8 = .data:0x000000A8; // type:object size:0x7 data:string
lbl_120_data_B0 = .data:0x000000B0; // type:object size:0x10
lbl_120_data_C0 = .data:0x000000C0; // type:object size:0x8
lbl_120_data_C8 = .data:0x000000C8; // type:object size:0x14
__RTTI__6dSky_c = .data:0x000000C0; // type:object size:0x8
__vt__Q24dDvd11brresBank_c = .data:0x000000C8; // type:object size:0x14
lbl_120_data_DC = .data:0x000000DC; // type:object size:0x12 data:string
lbl_120_data_F0 = .data:0x000000F0; // type:object size:0x18
lbl_120_data_108 = .data:0x00000108; // type:object size:0x8
__RTTI__Q24dDvd11brresBank_c = .data:0x00000108; // type:object size:0x8
lbl_120_data_110 = .data:0x00000110; // type:object size:0xD data:string
lbl_120_data_120 = .data:0x00000120; // type:object size:0x10
lbl_120_data_130 = .data:0x00000130; // type:object size:0x8
__RTTI__Q24dDvd6bank_c = .data:0x00000130; // type:object size:0x8
lbl_120_data_138 = .data:0x00000138; // type:object size:0xF data:string
lbl_120_data_148 = .data:0x00000148; // type:object size:0x8
__RTTI__Q24dDvd8loader_c = .data:0x00000148; // type:object size:0x8
lbl_120_data_150 = .data:0x00000150; // type:object size:0x8 data:string
lbl_120_data_158 = .data:0x00000158; // type:object size:0x28
__RTTI__7fBase_c = .data:0x00000158; // type:object size:0x8
__vt__Q23m3d6proc_c = .data:0x00000160; // type:object size:0x20
lbl_120_data_180 = .data:0x00000180; // type:object size:0xC data:string
lbl_120_data_18C = .data:0x0000018C; // type:object size:0xC
lbl_120_data_198 = .data:0x00000198; // type:object size:0x8
__RTTI__Q23m3d6proc_c = .data:0x00000198; // type:object size:0x8
lbl_120_data_1A0 = .data:0x000001A0; // type:object size:0xF data:string
lbl_120_data_1B0 = .data:0x000001B0; // type:object size:0x8
lbl_120_bss_8 = .bss:0x00000008; // type:object size:0x14 data:byte
__RTTI__Q23m3d9scnLeaf_c = .data:0x000001B0; // type:object size:0x8
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
sUnusedColors = .bss:0x00000008; // type:object size:0x14 scope:local data:byte
28 changes: 14 additions & 14 deletions config/RUUE01_00/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15311,7 +15311,7 @@ fn_80233490 = .text:0x80233490; // type:function size:0x7C
fn_8023350C = .text:0x8023350C; // type:function size:0x68
fn_80233574 = .text:0x80233574; // type:function size:0x70
GetResMdl__Q34nw4r3g3d7ResFileCFPCc = .text:0x802335E4; // type:function size:0x6C
fn_80233650 = .text:0x80233650; // type:function size:0x98
GetResMdl__Q34nw4r3g3d7ResFileCFi = .text:0x80233650; // type:function size:0x98
fn_802336E8 = .text:0x802336E8; // type:function size:0x98
fn_80233780 = .text:0x80233780; // type:function size:0x6C
fn_802337EC = .text:0x802337EC; // type:function size:0x6C
Expand Down Expand Up @@ -15341,7 +15341,7 @@ fn_80234368 = .text:0x80234368; // type:function size:0x98
fn_80234400 = .text:0x80234400; // type:function size:0x98
fn_80234498 = .text:0x80234498; // type:function size:0x6C
fn_80234504 = .text:0x80234504; // type:function size:0x6C
fn_80234570 = .text:0x80234570; // type:function size:0x98
GetResAnmTexSrt__Q34nw4r3g3d7ResFileCFi = .text:0x80234570; // type:function size:0x98
fn_80234608 = .text:0x80234608; // type:function size:0x98
fn_802346A0 = .text:0x802346A0; // type:function size:0x6C
fn_8023470C = .text:0x8023470C; // type:function size:0x98
Expand Down Expand Up @@ -15377,11 +15377,11 @@ fn_80235638 = .text:0x80235638; // type:function size:0x54
fn_8023568C = .text:0x8023568C; // type:function size:0x34
fn_802356C0 = .text:0x802356C0; // type:function size:0x54
fn_80235714 = .text:0x80235714; // type:function size:0x54
fn_80235768 = .text:0x80235768; // type:function size:0x44
GetResMat__Q34nw4r3g3d6ResMdlCFPCc = .text:0x80235768; // type:function size:0x44
fn_802357AC = .text:0x802357AC; // type:function size:0x50
fn_802357FC = .text:0x802357FC; // type:function size:0x54
GetResMat__Q34nw4r3g3d6ResMdlCFi = .text:0x802357FC; // type:function size:0x54
fn_80235850 = .text:0x80235850; // type:function size:0x54
fn_802358A4 = .text:0x802358A4; // type:function size:0x34
GetResMatNumEntries__Q34nw4r3g3d6ResMdlCFv = .text:0x802358A4; // type:function size:0x34
fn_802358D8 = .text:0x802358D8; // type:function size:0x44
fn_8023591C = .text:0x8023591C; // type:function size:0x54
fn_80235970 = .text:0x80235970; // type:function size:0x54
Expand Down Expand Up @@ -15430,8 +15430,8 @@ fn_80237414 = .text:0x80237414; // type:function size:0x34
fn_80237448 = .text:0x80237448; // type:function size:0x44
fn_8023748C = .text:0x8023748C; // type:function size:0x88
fn_80237514 = .text:0x80237514; // type:function size:0xD4
fn_802375E8 = .text:0x802375E8; // type:function size:0x7C
fn_80237664 = .text:0x80237664; // type:function size:0x50
SetEffectMtx__Q34nw4r3g3d9ResTexSrtFUlPCQ34nw4r4math5MTX34 = .text:0x802375E8; // type:function size:0x7C
GetEffectMtx__Q34nw4r3g3d9ResTexSrtCFUlPQ34nw4r4math5MTX34 = .text:0x80237664; // type:function size:0x50
fn_802376B4 = .text:0x802376B4; // type:function size:0x88
fn_8023773C = .text:0x8023773C; // type:function size:0x5C
fn_80237798 = .text:0x80237798; // type:function size:0x34
Expand Down Expand Up @@ -17666,15 +17666,15 @@ setAnm__Q33m3d11anmTexSrt_c7child_cFRQ23m3d6bmdl_cQ34nw4r3g3d12ResAnmTexSrtQ23m3
fn_802B2B04 = .text:0x802B2B04; // type:function size:0x48
setFrmCtrlDefault__Q33m3d11anmTexSrt_c7child_cFRQ34nw4r3g3d12ResAnmTexSrtQ23m3d10playMode_e = .text:0x802B2B4C; // type:function size:0x68
heapCost__Q23m3d11anmTexSrt_cFQ34nw4r3g3d6ResMdlQ34nw4r3g3d12ResAnmTexSrtlb = .text:0x802B2BB4; // type:function size:0xE0
fn_802B2C94 = .text:0x802B2C94; // type:function size:0x244
create__Q23m3d11anmTexSrt_cFQ34nw4r3g3d6ResMdlQ34nw4r3g3d12ResAnmTexSrtP12mAllocator_cPUll = .text:0x802B2C94; // type:function size:0x244
__dt__Q23m3d11anmTexSrt_cFv = .text:0x802B2ED8; // type:function size:0x6C
remove__Q23m3d11anmTexSrt_cFv = .text:0x802B2F44; // type:function size:0xEC
setAnm__Q23m3d11anmTexSrt_cFRQ23m3d6bmdl_cQ34nw4r3g3d12ResAnmTexSrtlQ23m3d10playMode_e = .text:0x802B3030; // type:function size:0x140
fn_802B3170 = .text:0x802B3170; // type:function size:0x74
play__Q23m3d11anmTexSrt_cFv = .text:0x802B31E4; // type:function size:0xAC
play__Q23m3d11anmTexSrt_cFl = .text:0x802B3290; // type:function size:0x60
fn_802B32F0 = .text:0x802B32F0; // type:function size:0x10
fn_802B3300 = .text:0x802B3300; // type:function size:0x10
setFrame__Q23m3d11anmTexSrt_cFfl = .text:0x802B3300; // type:function size:0x10
fn_802B3310 = .text:0x802B3310; // type:function size:0x10
fn_802B3320 = .text:0x802B3320; // type:function size:0x10
fn_802B3330 = .text:0x802B3330; // type:function size:0x10
Expand Down Expand Up @@ -24397,7 +24397,7 @@ __mod2u = .text:0x8044EAC4; // type:function size:0xE4 scope:global
fn_8044EBA8 = .text:0x8044EBA8; // type:function size:0x10C
fn_8044ECB4 = .text:0x8044ECB4; // type:function size:0x24
fn_8044ECD8 = .text:0x8044ECD8; // type:function size:0x24
fn_8044ECFC = .text:0x8044ECFC; // type:function size:0xB4
__cvt_sll_flt = .text:0x8044ECFC; // type:function size:0xB4
fn_8044EDB0 = .text:0x8044EDB0; // type:function size:0xA8
__init_cpp_exceptions = .text:0x8044EE58; // type:function size:0x3C scope:global
__fini_cpp_exceptions = .text:0x8044EE94; // type:function size:0x34 scope:global
Expand Down Expand Up @@ -24543,7 +24543,7 @@ fn_8045F844 = .text:0x8045F844; // type:function size:0x88
fn_8045F8CC = .text:0x8045F8CC; // type:function size:0x16C
fn_8045FA38 = .text:0x8045FA38; // type:function size:0xFC
fn_8045FB34 = .text:0x8045FB34; // type:function size:0xD8
fn_8045FC0C = .text:0x8045FC0C; // type:function size:0x78
tan = .text:0x8045FC0C; // type:function size:0x78
fn_8045FC84 = .text:0x8045FC84; // type:function size:0x4
fn_8045FC88 = .text:0x8045FC88; // type:function size:0x4
fn_8045FC8C = .text:0x8045FC8C; // type:function size:0x4
Expand Down Expand Up @@ -29375,7 +29375,7 @@ lbl_804F0C64 = .data:0x804F0C64; // type:object size:0xE data:string
lbl_804F0C78 = .data:0x804F0C78; // type:object size:0x12C0
lbl_804F1F38 = .data:0x804F1F38; // type:object size:0x5A0
lbl_804F24D8 = .data:0x804F24D8; // type:object size:0x1098 data:2byte
lbl_804F3570 = .data:0x804F3570; // type:object size:0x20
__vt__11dStarDraw_c = .data:0x804F3570; // type:object size:0x20
lbl_804F3590 = .data:0x804F3590; // type:object size:0xC data:string
lbl_804F359C = .data:0x804F359C; // type:object size:0x14
lbl_804F35B0 = .data:0x804F35B0; // type:object size:0xC data:string
Expand Down Expand Up @@ -31257,7 +31257,7 @@ lbl_80523C90 = .data:0x80523C90; // type:object size:0x30
lbl_80523CC0 = .data:0x80523CC0; // type:object size:0x16 data:string
lbl_80523CD8 = .data:0x80523CD8; // type:object size:0x18
g_banmHeapName = .data:0x80523CF0; // type:object size:0x30
lbl_80523D20 = .data:0x80523D20; // type:object size:0x18
__vt__Q23m3d11anmTexSrt_c = .data:0x80523D20; // type:object size:0x18
lbl_80523D38 = .data:0x80523D38; // type:object size:0x11 data:string
lbl_80523D4C = .data:0x80523D4C; // type:object size:0xC
lbl_80523D58 = .data:0x80523D58; // type:object size:0x18
Expand Down Expand Up @@ -41129,7 +41129,7 @@ lbl_80752940 = .sdata2:0x80752940; // type:object size:0x4 align:4 data:float
lbl_80752948 = .sdata2:0x80752948; // type:object size:0x8 align:8 data:double
lbl_80752950 = .sdata2:0x80752950; // type:object size:0x4
lbl_80752954 = .sdata2:0x80752954; // type:object size:0x3 data:string
lbl_80752958 = .sdata2:0x80752958; // type:object size:0x4 align:4 data:float
AngleToDegreeCoefficient__4mAng = .sdata2:0x80752958; // type:object size:0x4 align:4 data:float
lbl_8075295C = .sdata2:0x8075295C; // type:object size:0x4 align:4 data:float
DegreeToAngleCoefficient__4mAng = .sdata2:0x80752960; // type:object size:0x4 align:4 data:float
lbl_80752964 = .sdata2:0x80752964; // type:object size:0x4 align:4 data:float
Expand Down
9 changes: 9 additions & 0 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1114,6 +1114,15 @@ def MatchingFor(*versions):
Object(Matching, "d_fish_fieldNP/d_fish_field.cpp", extra_cflags=["-sym on"]),
],
),
Rel(
"d_skyNP",
[
Object(Matching, "d_skyNP/rel_init.cpp", source="runtime/rel_init.cpp"),
Object(Matching, "d_skyNP/global_destructor_chain.c", source="runtime/global_destructor_chain.c",
cflags=[*cflags_runtime, "-sdata 0", "-sdata2 0"]),
Object(Matching, "d_skyNP/d_sky.cpp", extra_cflags=["-sym on"]),
],
),
]


Expand Down
14 changes: 14 additions & 0 deletions include/game/game/d_camera.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#pragma once

// The game camera; not decompiled yet. Only what the sky uses.

#include <nw4r/math.h>

extern "C" {
extern nw4r::math::VEC3 lbl_80623FEC; // 80623FEC: the camera's target (the view center)
}

template <typename T>
T *getViewCenter() {
return &lbl_80623FEC;
}
60 changes: 53 additions & 7 deletions include/game/game/d_sky.hpp
Original file line number Diff line number Diff line change
@@ -1,16 +1,62 @@
#pragma once

// The sky actor (RTTI dSky_c). Its code is in the d_skyNP REL, which is not split yet.
// The sky actor (RTTI dSky_c, profile 0xAA): the sky, cloud and moon models, the star field and the
// shooting stars. Source: src/d_skyNP/d_sky.cpp. Names other than the classes' are inferred.

#include <game/game/d_base.hpp>
#include <game/mLib/m_3d.hpp>
#include <game/framework/f_base.hpp>
#include <game/game/d_dvd.hpp>
#include <game/game/d_star.hpp>
#include <game/game/d_star_draw.hpp>
#include <game/mLib/m_allocator.hpp>
#include <game/mLib/m_color.hpp>
#include <game/mLib/m_mtx.hpp>
#include <nw4r/math.h>

class dSky_c : public dBase_c {
class dSky_c : public fBase_c {
public:
virtual void setFireworksBrightness(f32 brightness); // vtable 0x4C
dSky_c(); // 0x8C
virtual ~dSky_c(); // 0x370

u8 _pad[0x568 - sizeof(dBase_c)];
/* 0x568 */ nw4r::math::VEC3 mPos;
};
virtual int create(); // 0x4BC
virtual int preCreate() { return SUCCEEDED; } // 0x1AB0 (weak)
virtual int doDelete(); // 0xE78
virtual int execute(); // 0x7E8
virtual void postExecute(MAIN_STATE_e state) {} // 0x1AAC (weak)
virtual int draw(); // 0x868
virtual void postDraw(MAIN_STATE_e state) {} // 0x1AA8 (weak)
virtual void deleteReady() {} // 0x1AA4 (weak)
virtual bool createHeap() { return true; } // 0x1A9C (weak)
virtual void setFireworksBrightness(f32 brightness); // 0xF88: vtable 0x4C

void calc(); // 0x1170

/* 0x000 fBase_c (vtable at 0x060) */
/* 0x064 */ m3d::smdl_c mMdlCloud;
/* 0x070 */ m3d::smdl_c mMdlSky;
/* 0x07C */ m3d::smdl_c mMdlMoon;
/* 0x088 */ mAllocator_c mAllocator;
/* 0x0A4 */ dStarDraw_c mStarDraw;
/* 0x1E8 */ dStarMgr_c mStarMgr;
/* 0x2F0 */ m3d::anmTexSrt_c mAnmCloud;
/* 0x31C */ m3d::anmTexSrt_c mAnmMoon;
/* 0x348 */ dDvd::brresBank_c mResCloud; // /Sky/bg_cloud.brres
/* 0x3A0 */ dDvd::brresBank_c mResSky; // /Sky/bg_sky.brres
/* 0x3F8 */ dDvd::brresBank_c mResUnused;
/* 0x450 */ dDvd::brresBank_c mResMoon; // /Sky/bg_moon.brres
/* 0x4A8 */ mMtx_c mSkyMtx;
/* 0x4D8 */ mMtx_c mCloudMtx;
/* 0x508 */ mMtx_c mMoonMtx;
/* 0x538 */ mMtx_c mMtx538;
/* 0x568 */ mVec3_c mPos;
/* 0x574 */ mColor mSkyColor0;
/* 0x578 */ mColor mSkyColor1;
/* 0x57C */ u8 _57C[0x584 - 0x57C];
/* 0x584 */ f32 mBrightness; // fireworks flashes dim the stars
/* 0x588 */ u8 _588[0x58C - 0x588];
/* 0x58C */ bool mCreated;
/* 0x58D */ bool mSeasonActorCreated;
/* 0x58E */ bool mIsCity;
}; // size 0x590

extern dSky_c *lbl_8074E830; // 8074E830 (defined in d_play_util.cpp)
2 changes: 2 additions & 0 deletions include/game/game/d_star.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@

class dStar_c {
public:
dStar_c() : mWait(0), mActive(false) {}

void start(int wait); // 80090D20
void execute(); // 80090D70
int countDown(); // 80090E10
Expand Down
Loading