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
113 changes: 54 additions & 59 deletions config/RUUE01_00/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2962,8 +2962,8 @@ fn_80068270 = .text:0x80068270; // type:function size:0x34
fn_800682A4 = .text:0x800682A4; // type:function size:0xD0
fn_80068374 = .text:0x80068374; // type:function size:0x20
fn_80068394 = .text:0x80068394; // type:function size:0x58
fn_800683EC = .text:0x800683EC; // type:function size:0x4
fn_800683F0 = .text:0x800683F0; // type:function size:0x8
drawOpa__Q23m3d6proc_cFv = .text:0x800683EC; // type:function size:0x4 scope:weak
getType__Q23m3d6proc_cCFv = .text:0x800683F0; // type:function size:0x8 scope:weak
fn_800683F8 = .text:0x800683F8; // type:function size:0x4
__ct__7mVec3_cFv = .text:0x800683FC; // type:function size:0x4
__ml__FfRC7mVec3_c = .text:0x80068400; // type:function size:0x28
Expand Down Expand Up @@ -6131,8 +6131,8 @@ fn_800CEBDC = .text:0x800CEBDC; // type:function size:0x1C
fn_800CEBF8 = .text:0x800CEBF8; // type:function size:0x10
fn_800CEC08 = .text:0x800CEC08; // type:function size:0x14
fn_800CEC1C = .text:0x800CEC1C; // type:function size:0x8
fn_800CEC24 = .text:0x800CEC24; // type:function size:0x24
fn_800CEC48 = .text:0x800CEC48; // type:function size:0x1C
__pl__Q23EGG8Vector2fCFRCQ23EGG8Vector2f = .text:0x800CEC24; // type:function size:0x24 scope:weak
__ml__Q23EGG8Vector2fCFf = .text:0x800CEC48; // type:function size:0x1C scope:weak
postDraw__7fBase_cFQ27fBase_c12MAIN_STATE_e = .text:0x800CEC64; // type:function size:0x4
fn_800CEC68 = .text:0x800CEC68; // type:function size:0x8
fn_800CEC70 = .text:0x800CEC70; // type:function size:0x8
Expand Down Expand Up @@ -11006,42 +11006,42 @@ setReturnExit__14dSceneChange_cFUcPC7mVec3_cUls = .text:0x801636FC; // type:func
setReturnExitHere__14dSceneChange_cFf = .text:0x80163740; // type:function size:0x78
__sinit_\d_scene_cpp = .text:0x801637B8; // type:function size:0x2A8 scope:local
__dt__14dSceneChange_cFv = .text:0x80163A60; // type:function size:0x40 scope:weak
fn_80163AA0 = .text:0x80163AA0; // type:function size:0x174
fn_80163C14 = .text:0x80163C14; // type:function size:0x154
fn_80163D68 = .text:0x80163D68; // type:function size:0x110
fn_80163E78 = .text:0x80163E78; // type:function size:0x84
fn_80163EFC = .text:0x80163EFC; // type:function size:0xDC
fn_80163FD8 = .text:0x80163FD8; // type:function size:0x104
fn_801640DC = .text:0x801640DC; // type:function size:0xB0
fn_8016418C = .text:0x8016418C; // type:function size:0x64
fn_801641F0 = .text:0x801641F0; // type:function size:0x88
fn_80164278 = .text:0x80164278; // type:function size:0x19C
fn_80164414 = .text:0x80164414; // type:function size:0x158
fn_8016456C = .text:0x8016456C; // type:function size:0xDC
fn_80164648 = .text:0x80164648; // type:function size:0x118
fn_80164760 = .text:0x80164760; // type:function size:0x1D4
fn_80164934 = .text:0x80164934; // type:function size:0x1FC
fn_80164B30 = .text:0x80164B30; // type:function size:0x1E4
fn_80164D14 = .text:0x80164D14; // type:function size:0x3D4
fn_801650E8 = .text:0x801650E8; // type:function size:0x218
fn_80165300 = .text:0x80165300; // type:function size:0x400
fn_80165700 = .text:0x80165700; // type:function size:0x9C
fn_8016579C = .text:0x8016579C; // type:function size:0x2E8
fn_80165A84 = .text:0x80165A84; // type:function size:0x394
fn_80165E18 = .text:0x80165E18; // type:function size:0x138
fn_80165F50 = .text:0x80165F50; // type:function size:0x6C
fn_80165FBC = .text:0x80165FBC; // type:function size:0xB4
fn_80166070 = .text:0x80166070; // type:function size:0x40
fn_801660B0 = .text:0x801660B0; // type:function size:0x168
fn_80166218 = .text:0x80166218; // type:function size:0x154
fn_8016636C = .text:0x8016636C; // type:function size:0x100
fn_8016646C = .text:0x8016646C; // type:function size:0x1E4
fn_80166650 = .text:0x80166650; // type:function size:0xB8
fn_80166708 = .text:0x80166708; // type:function size:0x10C
fn_80166814 = .text:0x80166814; // type:function size:0x9C
fn_801668B0 = .text:0x801668B0; // type:function size:0x24
fn_801668D4 = .text:0x801668D4; // type:function size:0x7C
fn_80166950 = .text:0x80166950; // type:function size:0x40
isStarFree__11dStarDraw_cFiPC11dStarDraw_c = .text:0x80163AA0; // type:function size:0x174
isStarSelectable__11dStarDraw_cFiPC11dStarDraw_c = .text:0x80163C14; // type:function size:0x154
isLineFree__11dStarDraw_cFUsPC11dStarDraw_c = .text:0x80163D68; // type:function size:0x110
isLineSelectable__11dStarDraw_cFUsPC11dStarDraw_c = .text:0x80163E78; // type:function size:0x84
traceSign__11dStarDraw_cFPC11dStarSign_ciUsPUc = .text:0x80163EFC; // type:function size:0xDC
isLineRemovable__11dStarDraw_cFUsPC11dStarDraw_c = .text:0x80163FD8; // type:function size:0x104
create__11dStarDraw_cFPQ23EGG4Heap = .text:0x801640DC; // type:function size:0xB0
unload__11dStarDraw_cFv = .text:0x8016418C; // type:function size:0x64
setup__11dStarDraw_cFQ34nw4r3g3d7ResFile = .text:0x801641F0; // type:function size:0x88
calc__11dStarDraw_cFPC7mVec3_cRC4mAng = .text:0x80164278; // type:function size:0x19C
getStarScreenPos__11dStarDraw_cFiP7mVec2_c = .text:0x80164414; // type:function size:0x158
findStar__11dStarDraw_cFPC7mVec2_cPFiPC11dStarDraw_c_if = .text:0x8016456C; // type:function size:0xDC
findLinkedStar__11dStarDraw_cFiPC7mVec2_cPUsPFUsPC11dStarDraw_c_if = .text:0x80164648; // type:function size:0x118
findLine__11dStarDraw_cFiPC7mVec2_cPFUsPC11dStarDraw_c_if = .text:0x80164760; // type:function size:0x1D4
findSignLine__11dStarDraw_cFPC7mVec2_cPFUsPC11dStarDraw_c_iPUsf = .text:0x80164934; // type:function size:0x1FC
findSign__11dStarDraw_cFPC7mVec2_cf = .text:0x80164B30; // type:function size:0x1E4
drawXlu__11dStarDraw_cFv = .text:0x80164D14; // type:function size:0x3D4
drawSigns__11dStarDraw_cFv = .text:0x801650E8; // type:function size:0x218
drawBackground__11dStarDraw_cFv = .text:0x80165300; // type:function size:0x400
calcAlpha__11dStarDraw_cFPCQ34nw4r4math4VEC3 = .text:0x80165700; // type:function size:0x9C
drawStar__11dStarDraw_cFPQ211dStarDraw_c5pos_cfPCQ34nw4r2ut5Color = .text:0x8016579C; // type:function size:0x2E8
drawLine__11dStarDraw_cFPCQ211dStarDraw_c5pos_cPCQ211dStarDraw_c5pos_cfRCQ34nw4r2ut5Color = .text:0x80165A84; // type:function size:0x394
drawStarLines__11dStarDraw_cFiRCQ34nw4r2ut5Color = .text:0x80165E18; // type:function size:0x138
init__Q211dStarDraw_c6star_cFi = .text:0x80165F50; // type:function size:0x6C
calc__Q211dStarDraw_c6star_cFv = .text:0x80165FBC; // type:function size:0xB4
getScale__Q211dStarDraw_c6star_cCFv = .text:0x80166070; // type:function size:0x40
getSkyAngle__11dStarDraw_cFPC7dTime_c = .text:0x801660B0; // type:function size:0x168
getSignAngle__11dStarDraw_cFPC11dStarSign_c = .text:0x80166218; // type:function size:0x154
getSignDate__11dStarDraw_cFPC11dStarSign_cP7dTime_c = .text:0x8016636C; // type:function size:0x100
getSignTime__11dStarDraw_cFPC11dStarSign_cP7dTime_c = .text:0x8016646C; // type:function size:0x1E4
isSignVisible__11dStarDraw_cFPC11dStarSign_cPC7dTime_c = .text:0x80166650; // type:function size:0xB8
isSignLinked__11dStarDraw_cFPC11dStarSign_cPC11dStarSign_c = .text:0x80166708; // type:function size:0x10C
__dt__11dStarDraw_cFv = .text:0x80166814; // type:function size:0x9C scope:weak
__as__6mColorFQ34nw4r2ut5Color = .text:0x801668B0; // type:function size:0x24 scope:weak
rndRange<l>__2cMFll_l = .text:0x801668D4; // type:function size:0x7C scope:weak
__dt__Q211dStarDraw_c6star_cFv = .text:0x80166950; // type:function size:0x40 scope:weak
fn_80166990 = .text:0x80166990; // type:function size:0xC
fn_8016699C = .text:0x8016699C; // type:function size:0xE0
fn_80166A7C = .text:0x80166A7C; // type:function size:0x64
Expand Down Expand Up @@ -11940,8 +11940,8 @@ fn_8018B0A0 = .text:0x8018B0A0; // type:function size:0x14
fn_8018B0B4 = .text:0x8018B0B4; // type:function size:0x64
fn_8018B118 = .text:0x8018B118; // type:function size:0x180
fn_8018B298 = .text:0x8018B298; // type:function size:0x54
fn_8018B2EC = .text:0x8018B2EC; // type:function size:0x10
fn_8018B2FC = .text:0x8018B2FC; // type:function size:0xC
getAspect__9dCamera_cCFv = .text:0x8018B2EC; // type:function size:0x10
getFovy__9dCamera_cFv = .text:0x8018B2FC; // type:function size:0xC
fn_8018B308 = .text:0x8018B308; // type:function size:0x10
fn_8018B318 = .text:0x8018B318; // type:function size:0x10
fn_8018B328 = .text:0x8018B328; // type:function size:0x14
Expand Down Expand Up @@ -15383,7 +15383,7 @@ GetResMat__Q34nw4r3g3d6ResMdlCFi = .text:0x802357FC; // type:function size:0x54
GetResMat__Q34nw4r3g3d6ResMdlCFUl = .text:0x80235850; // type:function size:0x54
GetResMatNumEntries__Q34nw4r3g3d6ResMdlCFv = .text:0x802358A4; // type:function size:0x34
fn_802358D8 = .text:0x802358D8; // type:function size:0x44
fn_8023591C = .text:0x8023591C; // type:function size:0x54
GetResShp__Q34nw4r3g3d6ResMdlCFi = .text:0x8023591C; // type:function size:0x54
fn_80235970 = .text:0x80235970; // type:function size:0x54
fn_802359C4 = .text:0x802359C4; // type:function size:0x34
fn_802359F8 = .text:0x802359F8; // type:function size:0x10C
Expand Down Expand Up @@ -15438,7 +15438,7 @@ fn_80237798 = .text:0x80237798; // type:function size:0x34
fn_802377CC = .text:0x802377CC; // type:function size:0x1C
SetLightSetIdx__Q34nw4r3g3d10ResMatMiscFi = .text:0x802377E8; // type:function size:0x30
fn_80237818 = .text:0x80237818; // type:function size:0x20
fn_80237838 = .text:0x80237838; // type:function size:0x14
SetFogIdx__Q34nw4r3g3d10ResMatMiscFi = .text:0x80237838; // type:function size:0x14
fn_8023784C = .text:0x8023784C; // type:function size:0x20
fn_8023786C = .text:0x8023786C; // type:function size:0x48
fn_802378B4 = .text:0x802378B4; // type:function size:0x6C
Expand Down Expand Up @@ -15490,7 +15490,7 @@ fn_80239540 = .text:0x80239540; // type:function size:0x18
fn_80239558 = .text:0x80239558; // type:function size:0x18
DCStore__Q34nw4r3g3d7ResPlttFb = .text:0x80239570; // type:function size:0x18
DCStore__Q34nw4r3g3d6ResTexFb = .text:0x80239588; // type:function size:0x18
fn_802395A0 = .text:0x802395A0; // type:function size:0xBC
GetTexObjParam__Q34nw4r3g3d6ResTexCFPPvPUsPUsP9_GXTexFmtPfPfPUc = .text:0x802395A0; // type:function size:0xBC
fn_8023965C = .text:0x8023965C; // type:function size:0xBC
Init__Q34nw4r3g3d6ResTexFv = .text:0x80239718; // type:function size:0xC
fn_80239724 = .text:0x80239724; // type:function size:0x19C
Expand Down Expand Up @@ -15800,7 +15800,7 @@ fn_80246B50 = .text:0x80246B50; // type:function size:0x40
fn_80246B90 = .text:0x80246B90; // type:function size:0x294
fn_80246E24 = .text:0x80246E24; // type:function size:0x68
fn_80246E8C = .text:0x80246E8C; // type:function size:0x494
fn_80247320 = .text:0x80247320; // type:function size:0x8A0
Draw1Mat1ShpDirectly__Q24nw4r3g3dFQ34nw4r3g3d6ResMatQ34nw4r3g3d6ResShpPCQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34UlPQ34nw4r3g3d16Draw1Mat1ShpSwapPQ44nw4r3g3d8G3DState8IndMtxOp = .text:0x80247320; // type:function size:0x8A0
fn_80247BC0 = .text:0x80247BC0; // type:function size:0xC0
fn_80247C80 = .text:0x80247C80; // type:function size:0xD8
fn_80247D58 = .text:0x80247D58; // type:function size:0x250
Expand Down Expand Up @@ -24111,8 +24111,8 @@ fn_80447D50 = .text:0x80447D50; // type:function size:0x2C
fn_80447D7C = .text:0x80447D7C; // type:function size:0x2C
fn_80447DA8 = .text:0x80447DA8; // type:function size:0x6C
fn_80447E14 = .text:0x80447E14; // type:function size:0x68
fn_80447E7C = .text:0x80447E7C; // type:function size:0x90
fn_80447F0C = .text:0x80447F0C; // type:function size:0x90
GetPerspectiveMtx__Q23EGG7FrustumCFPQ34nw4r4math5MTX44 = .text:0x80447E7C; // type:function size:0x90
GetOrthographicMtx__Q23EGG7FrustumCFPQ34nw4r4math5MTX44 = .text:0x80447F0C; // type:function size:0x90
fn_80447F9C = .text:0x80447F9C; // type:function size:0xBC
fn_80448058 = .text:0x80448058; // type:function size:0xE0
fn_80448138 = .text:0x80448138; // type:function size:0x164
Expand Down Expand Up @@ -29379,9 +29379,9 @@ sSceneList = .data:0x804F0A18; // type:object size:0x220 scope:local
sCreateFuncs = .data:0x804F0C38; // type:object size:0x18 scope:local
lbl_804F0C50 = .data:0x804F0C50; // type:object size:0x13 data:string
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
sStars__11dStarDraw_c = .data:0x804F0C78; // type:object size:0x12C0
sBgStars__11dStarDraw_c = .data:0x804F1F38; // type:object size:0x5A0
sLines__11dStarDraw_c = .data:0x804F24D8; // type:object size:0x1098 data:2byte
__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
Expand Down Expand Up @@ -35580,7 +35580,7 @@ lbl_8074B330 = .sdata:0x8074B330; // type:object size:0x8 data:string
sSeasonOverride = .sdata:0x8074B338; // type:object size:0x4 scope:local data:4byte
sCurScene = .sdata:0x8074B33C; // type:object size:0x1 scope:local data:byte
sPrevScene = .sdata:0x8074B33D; // type:object size:0x1 scope:local data:byte
lbl_8074B340 = .sdata:0x8074B340; // type:object size:0x8
__RTTI__11dStarDraw_c = .sdata:0x8074B340; // type:object size:0x8
lbl_8074B348 = .sdata:0x8074B348; // type:object size:0x8 data:string
lbl_8074B350 = .sdata:0x8074B350; // type:object size:0x8 data:string
lbl_8074B358 = .sdata:0x8074B358; // type:object size:0x5 data:string
Expand Down Expand Up @@ -39735,18 +39735,13 @@ lbl_80750F10 = .sdata2:0x80750F10; // type:object size:0x8 align:8 data:double
lbl_80750F18 = .sdata2:0x80750F18; // type:object size:0x4 align:4 data:float
lbl_80750F1C = .sdata2:0x80750F1C; // type:object size:0x4 align:4 data:float
lbl_80750F20 = .sdata2:0x80750F20; // type:object size:0x4 align:4 data:float
lbl_80750F24 = .sdata2:0x80750F24; // type:object size:0x1 data:byte
lbl_80750F25 = .sdata2:0x80750F25; // type:object size:0x1 data:byte
lbl_80750F26 = .sdata2:0x80750F26; // type:object size:0x1 data:byte
lbl_80750F27 = .sdata2:0x80750F27; // type:object size:0x1 data:byte
lbl_80750F24 = .sdata2:0x80750F24; // type:object size:0x4 data:byte
lbl_80750F28 = .sdata2:0x80750F28; // type:object size:0x4 align:4 data:float
lbl_80750F2C = .sdata2:0x80750F2C; // type:object size:0x4 align:4 data:float
lbl_80750F30 = .sdata2:0x80750F30; // type:object size:0x4 align:4 data:float
lbl_80750F34 = .sdata2:0x80750F34; // type:object size:0x4 align:4 data:float
lbl_80750F38 = .sdata2:0x80750F38; // type:object size:0x8 align:8 data:double
lbl_80750F40 = .sdata2:0x80750F40; // type:object size:0x1 data:byte
lbl_80750F41 = .sdata2:0x80750F41; // type:object size:0x1 data:byte
lbl_80750F42 = .sdata2:0x80750F42; // type:object size:0x1 data:byte
lbl_80750F40 = .sdata2:0x80750F40; // type:object size:0x4 data:byte
lbl_80750F44 = .sdata2:0x80750F44; // type:object size:0x4 align:4 data:float
lbl_80750F48 = .sdata2:0x80750F48; // type:object size:0x4 align:4 data:float
lbl_80750F4C = .sdata2:0x80750F4C; // type:object size:0x4 align:4 data:float
Expand Down
1 change: 1 addition & 0 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -701,6 +701,7 @@ def MatchingFor(*versions):
Object(Matching, "dol/game/d_police_box.cpp"),
Object(Matching, "dol/game/d_recycle_bin.cpp"),
Object(Matching, "dol/game/d_script.cpp", extra_cflags=["-sym on"]),
Object(NonMatching, "dol/game/d_star_draw.cpp", extra_cflags=["-sym on"]),
Object(NonMatching, "dol/game/d_str.cpp"),
Object(Matching, "dol/game/d_string.cpp", extra_cflags=["-sym on"]),
Object(Matching, "dol/game/d_date.cpp"),
Expand Down
21 changes: 18 additions & 3 deletions include/game/game/d_camera.hpp
Original file line number Diff line number Diff line change
@@ -1,14 +1,26 @@
#pragma once

// The game camera (RTTI "dCamera_c"); not decompiled yet. Only what the sky, the drum (d_drum)
// and d_objc use.
// The game camera (RTTI "dCamera_c"); not decompiled yet. Only what the sky, the star field, the drum
// (d_drum) and d_objc use.

#include <egg/gfxe/eggFrustum.h>
#include <game/mLib/m_mtx.hpp>
#include <game/mLib/m_vec.hpp>
#include <nw4r/math.h>

class dCamera_c {
public:
f32 getAspect() const; // 8018B2EC
static f32 getFovy(); // 8018B2FC

void getProjectionMtx(nw4r::math::MTX44 *mtx) const {
if (mFrustum.mProjType == EGG::Frustum::PROJ_ORTHO) {
mFrustum.GetOrthographicMtx(mtx);
} else {
mFrustum.GetPerspectiveMtx(mtx);
}
}

// 801B0194 (weak copy kept in d_objc). Non-const: a const version stores y before x.
mVec3_c getEyePos() { return mVec3_c(mEyePos); }

Expand All @@ -19,7 +31,10 @@ class dCamera_c {
void fn_8018B67C(const mVec3_c *a, const mVec3_c *b); // 8018B67C: focus two actors
void fn_8018B768(const mVec3_c *target); // 8018B768: change the focus (0x228..)

/* 0x000 */ u8 _000[0x130];
/* 0x000 */ u8 _000[0x64];
/* 0x064 */ EGG::Frustum mFrustum;
/* 0x0A0 */ u8 _0A0[0x130 - 0xA0];

/* 0x130 */ nw4r::math::VEC3 mEyePos;
/* 0x13C */ u8 _13C[0x16C - 0x13C];
/* 0x16C */ mMtx_c mViewMtx;
Expand Down
Loading