summaryrefslogtreecommitdiff
path: root/src/m_Do/m_Do_lib.cpp
blob: 3a2e8d3e5cd501cb26678fa684cf4c2a2dcf01d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
//
// Generated By: dol2asm
// Translation Unit: m_Do/m_Do_lib
//

#include "m_Do/m_Do_lib.h"
#include "dol2asm.h"
#include "dolphin/types.h"

//
// Types:
//

struct mDoLib_clipper {
    /* 8001528C */ void setup(f32, f32, f32, f32);

    static u8 mClipper[92];
    static f32 mSystemFar;
    static f32 mFovyRate;
};

struct _GXTlutObj {};

struct _GXTexObj {};

struct Vec {};

struct ResTIMG {};

struct JMath {
    static u8 sincosTable_[65536];
};

struct J3DUClipper {
    /* 80015590 */ ~J3DUClipper();
    /* 80273778 */ void init();
    /* 8027378C */ void calcViewFrustum();
};

//
// Forward References:
//

extern "C" void mDoLib_setResTimgObj__FPC7ResTIMGP9_GXTexObjUlP10_GXTlutObj();
extern "C" void setup__14mDoLib_clipperFffff();
extern "C" void mDoLib_project__FP3VecP3Vec();
extern "C" void mDoLib_pos2camera__FP3VecP3Vec();
extern "C" void __sinit_m_Do_lib_cpp();
extern "C" void __dt__11J3DUClipperFv();
extern "C" u8 mClipper__14mDoLib_clipper[92];
extern "C" f32 mSystemFar__14mDoLib_clipper;
extern "C" f32 mFovyRate__14mDoLib_clipper;

//
// External References:
//

extern "C" void init__11J3DUClipperFv();
extern "C" void calcViewFrustum__11J3DUClipperFv();
extern "C" void __dl__FPv();
extern "C" void PSMTXMultVec();
extern "C" void GXInitTexObj();
extern "C" void GXInitTexObjCI();
extern "C" void GXInitTexObjLOD();
extern "C" void GXInitTlutObj();
extern "C" void __register_global_object();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 sincosTable___5JMath[65536];

//
// Declarations:
//

/* ############################################################################################## */
/* 80451B70-80451B74 000170 0004+00 1/1 0/0 0/0 .sdata2          @3634 */
SECTION_SDATA2 static f32 lit_3634 = 0.125f;

/* 80451B74-80451B78 000174 0004+00 1/1 0/0 0/0 .sdata2          @3635 */
SECTION_SDATA2 static f32 lit_3635 = 1.0f / 100.0f;

/* 80451B78-80451B80 000178 0008+00 1/1 0/0 0/0 .sdata2          @3638 */
SECTION_SDATA2 static f64 lit_3638 = 4503601774854144.0 /* cast s32 to float */;

/* 8001513C-8001528C 00FA7C 0150+00 0/0 3/3 2/2 .text
 * mDoLib_setResTimgObj__FPC7ResTIMGP9_GXTexObjUlP10_GXTlutObj  */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoLib_setResTimgObj(ResTIMG const* param_0, _GXTexObj* param_1, u32 param_2,
                              _GXTlutObj* param_3) {
    nofralloc
#include "asm/m_Do/m_Do_lib/mDoLib_setResTimgObj__FPC7ResTIMGP9_GXTexObjUlP10_GXTlutObj.s"
}
#pragma pop

/* ############################################################################################## */
/* 803DD8D8-803DD8E4 00A5F8 000C+00 1/1 0/0 0/0 .bss             @3727 */
static u8 lit_3727[12];

/* 803DD8E4-803DD940 00A604 005C+00 2/2 5/5 5/5 .bss             mClipper__14mDoLib_clipper */
u8 mDoLib_clipper::mClipper[92];

/* 80450C70-80450C74 000170 0004+00 1/1 2/2 4/4 .sbss            mSystemFar__14mDoLib_clipper */
f32 mDoLib_clipper::mSystemFar;

/* 80450C74-80450C78 000174 0004+00 1/1 1/1 0/0 .sbss            mFovyRate__14mDoLib_clipper */
f32 mDoLib_clipper::mFovyRate;

/* 80451B80-80451B84 000180 0004+00 1/1 0/0 0/0 .sdata2          @3739 */
SECTION_SDATA2 static f32 lit_3739 = 182.04444885253906f;

/* 8001528C-80015310 00FBCC 0084+00 0/0 1/1 0/0 .text            setup__14mDoLib_clipperFffff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoLib_clipper::setup(f32 param_0, f32 param_1, f32 param_2, f32 param_3) {
    nofralloc
#include "asm/m_Do/m_Do_lib/setup__14mDoLib_clipperFffff.s"
}
#pragma pop

/* ############################################################################################## */
/* 80451B84-80451B88 000184 0004+00 2/2 0/0 0/0 .sdata2          @3784 */
SECTION_SDATA2 static u8 lit_3784[4] = {
    0x00,
    0x00,
    0x00,
    0x00,
};

/* 80451B88-80451B8C 000188 0004+00 1/1 0/0 0/0 .sdata2          @3785 */
SECTION_SDATA2 static f32 lit_3785 = 500000.0f;

/* 80451B8C-80451B90 00018C 0004+00 1/1 0/0 0/0 .sdata2          @3786 */
SECTION_SDATA2 static f32 lit_3786 = 0.5f;

/* 80451B90-80451B94 000190 0004+00 1/1 0/0 0/0 .sdata2          @3787 */
SECTION_SDATA2 static f32 lit_3787 = 2.0f;

/* 80451B94-80451B98 000194 0004+00 1/1 0/0 0/0 .sdata2          @3788 */
SECTION_SDATA2 static f32 lit_3788 = 304.0f;

/* 80451B98-80451B9C 000198 0004+00 1/1 0/0 0/0 .sdata2          @3789 */
SECTION_SDATA2 static f32 lit_3789 = 608.0f;

/* 80451B9C-80451BA0 00019C 0004+00 1/1 0/0 0/0 .sdata2          @3790 */
SECTION_SDATA2 static f32 lit_3790 = 224.0f;

/* 80451BA0-80451BA8 0001A0 0004+04 1/1 0/0 0/0 .sdata2          @3791 */
SECTION_SDATA2 static f32 lit_3791[1 + 1 /* padding */] = {
    448.0f,
    /* padding */
    0.0f,
};

/* 80015310-800154EC 00FC50 01DC+00 0/0 21/21 23/23 .text            mDoLib_project__FP3VecP3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoLib_project(Vec* param_0, Vec* param_1) {
    nofralloc
#include "asm/m_Do/m_Do_lib/mDoLib_project__FP3VecP3Vec.s"
}
#pragma pop

/* 800154EC-80015544 00FE2C 0058+00 0/0 2/2 9/9 .text            mDoLib_pos2camera__FP3VecP3Vec */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoLib_pos2camera(Vec* param_0, Vec* param_1) {
    nofralloc
#include "asm/m_Do/m_Do_lib/mDoLib_pos2camera__FP3VecP3Vec.s"
}
#pragma pop

/* ############################################################################################## */
/* 803A3498-803A34A8 0005B8 000C+04 2/2 0/0 0/0 .data            __vt__11J3DUClipper */
SECTION_DATA extern void* __vt__11J3DUClipper[3 + 1 /* padding */] = {
    (void*)NULL /* RTTI */,
    (void*)NULL,
    (void*)__dt__11J3DUClipperFv,
    /* padding */
    NULL,
};

/* 80015544-80015590 00FE84 004C+00 0/0 1/0 0/0 .text            __sinit_m_Do_lib_cpp */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_m_Do_lib_cpp() {
    nofralloc
#include "asm/m_Do/m_Do_lib/__sinit_m_Do_lib_cpp.s"
}
#pragma pop

#pragma push
#pragma force_active on
SECTION_CTORS void* const _ctors_80015544 = (void*)__sinit_m_Do_lib_cpp;
#pragma pop

/* 80015590-800155D8 00FED0 0048+00 2/1 0/0 0/0 .text            __dt__11J3DUClipperFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DUClipper::~J3DUClipper() {
    nofralloc
#include "asm/m_Do/m_Do_lib/__dt__11J3DUClipperFv.s"
}
#pragma pop