summaryrefslogtreecommitdiff
path: root/src/d/d_simple_model.cpp
blob: 46f79ed3fe9a6b240ee5d9d8ad3730b651016652 (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
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
//
// Generated By: dol2asm
// Translation Unit: d/d_simple_model
//

#include "d/d_simple_model.h"
#include "dol2asm.h"
#include "dolphin/types.h"

//
// Types:
//

struct modelList_c {};

struct J3DModelData {};

struct diff_model_c {
    /* 80048D60 */ diff_model_c();
    /* 800490EC */ void create(J3DModelData*, int, u8);
    /* 800491F4 */ void getModelData();
    /* 80049210 */ void remove(int);
    /* 80049270 */ void draw();
    /* 80049368 */ void init();
    /* 80049388 */ void isSame(J3DModelData*, int);
    /* 800493FC */ void getRoomNo();
    /* 80049408 */ void insert(modelList_c*);
};

struct dStage_roomControl_c {
    static u8 mStatus[65792];
};

struct J3DModel {};

struct dSmplMdl_draw_c {
    /* 80048CB4 */ dSmplMdl_draw_c();
    /* 80048D80 */ ~dSmplMdl_draw_c();
    /* 80048E0C */ void draw();
    /* 80048EBC */ void entry(J3DModel*, int);
    /* 80048F70 */ void addModel(J3DModelData*, int, u8);
    /* 80049058 */ void removeModel(J3DModelData*, int);
};

struct dKy_tevstr_c {};

struct dScnKy_env_light_c {
    /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};

struct JKRSolidHeap {};

//
// Forward References:
//

extern "C" static void dSmplMdl_modelUpdateDL__FP8J3DModel();
extern "C" void __ct__15dSmplMdl_draw_cFv();
extern "C" void __ct__12diff_model_cFv();
extern "C" void __dt__15dSmplMdl_draw_cFv();
extern "C" void draw__15dSmplMdl_draw_cFv();
extern "C" void entry__15dSmplMdl_draw_cFP8J3DModeli();
extern "C" void addModel__15dSmplMdl_draw_cFP12J3DModelDataiUc();
extern "C" void removeModel__15dSmplMdl_draw_cFP12J3DModelDatai();
extern "C" void create__12diff_model_cFP12J3DModelDataiUc();
extern "C" void getModelData__12diff_model_cFv();
extern "C" void remove__12diff_model_cFi();
extern "C" void draw__12diff_model_cFv();
extern "C" void init__12diff_model_cFv();
extern "C" void isSame__12diff_model_cFP12J3DModelDatai();
extern "C" void getRoomNo__12diff_model_cFv();
extern "C" void insert__12diff_model_cFP11modelList_c();

//
// External References:
//

extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_createSolidHeapFromGameToCurrent__FUlUl();
extern "C" void mDoExt_adjustSolidHeapToSystem__FP12JKRSolidHeap();
extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap();
extern "C" void mDoExt_restoreCurrentHeap__Fv();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void __dl__FPv();
extern "C" void PSMTXCopy();
extern "C" void __construct_array();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern u8 g_mDoMtx_identity[48 + 24 /* padding */];
extern "C" u8 mStatus__20dStage_roomControl_c[65792];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 j3dSys[284];

//
// Declarations:
//

/* 80048C54-80048CB4 043594 0060+00 1/1 0/0 0/0 .text            dSmplMdl_modelUpdateDL__FP8J3DModel
 */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dSmplMdl_modelUpdateDL(J3DModel* param_0) {
    nofralloc
#include "asm/d/d_simple_model/dSmplMdl_modelUpdateDL__FP8J3DModel.s"
}
#pragma pop

/* ############################################################################################## */
/* 803A82F8-803A8308 005418 000C+04 2/2 0/0 0/0 .data            __vt__15dSmplMdl_draw_c */
SECTION_DATA extern void* __vt__15dSmplMdl_draw_c[3 + 1 /* padding */] = {
    (void*)NULL /* RTTI */,
    (void*)NULL,
    (void*)__dt__15dSmplMdl_draw_cFv,
    /* padding */
    NULL,
};

/* 80048CB4-80048D60 0435F4 00AC+00 0/0 1/1 0/0 .text            __ct__15dSmplMdl_draw_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dSmplMdl_draw_c::dSmplMdl_draw_c() {
    nofralloc
#include "asm/d/d_simple_model/__ct__15dSmplMdl_draw_cFv.s"
}
#pragma pop

/* 80048D60-80048D80 0436A0 0020+00 1/1 0/0 0/0 .text            __ct__12diff_model_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm diff_model_c::diff_model_c() {
    nofralloc
#include "asm/d/d_simple_model/__ct__12diff_model_cFv.s"
}
#pragma pop

/* 80048D80-80048E0C 0436C0 008C+00 1/0 0/0 0/0 .text            __dt__15dSmplMdl_draw_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dSmplMdl_draw_c::~dSmplMdl_draw_c() {
    nofralloc
#include "asm/d/d_simple_model/__dt__15dSmplMdl_draw_cFv.s"
}
#pragma pop

/* 80048E0C-80048EBC 04374C 00B0+00 0/0 1/1 0/0 .text            draw__15dSmplMdl_draw_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dSmplMdl_draw_c::draw() {
    nofralloc
#include "asm/d/d_simple_model/draw__15dSmplMdl_draw_cFv.s"
}
#pragma pop

/* 80048EBC-80048F70 0437FC 00B4+00 0/0 1/1 0/0 .text entry__15dSmplMdl_draw_cFP8J3DModeli */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dSmplMdl_draw_c::entry(J3DModel* param_0, int param_1) {
    nofralloc
#include "asm/d/d_simple_model/entry__15dSmplMdl_draw_cFP8J3DModeli.s"
}
#pragma pop

/* 80048F70-80049058 0438B0 00E8+00 0/0 1/1 0/0 .text
 * addModel__15dSmplMdl_draw_cFP12J3DModelDataiUc               */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dSmplMdl_draw_c::addModel(J3DModelData* param_0, int param_1, u8 param_2) {
    nofralloc
#include "asm/d/d_simple_model/addModel__15dSmplMdl_draw_cFP12J3DModelDataiUc.s"
}
#pragma pop

/* 80049058-800490EC 043998 0094+00 0/0 1/1 0/0 .text
 * removeModel__15dSmplMdl_draw_cFP12J3DModelDatai              */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dSmplMdl_draw_c::removeModel(J3DModelData* param_0, int param_1) {
    nofralloc
#include "asm/d/d_simple_model/removeModel__15dSmplMdl_draw_cFP12J3DModelDatai.s"
}
#pragma pop

/* ############################################################################################## */
/* 80451F38-80451F40 000538 0004+04 1/1 0/0 0/0 .sdata2          @3763 */
SECTION_SDATA2 static f32 lit_3763[1 + 1 /* padding */] = {
    0.0f,
    /* padding */
    0.0f,
};

/* 800490EC-800491F4 043A2C 0108+00 1/1 0/0 0/0 .text create__12diff_model_cFP12J3DModelDataiUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void diff_model_c::create(J3DModelData* param_0, int param_1, u8 param_2) {
    nofralloc
#include "asm/d/d_simple_model/create__12diff_model_cFP12J3DModelDataiUc.s"
}
#pragma pop

/* 800491F4-80049210 043B34 001C+00 2/2 0/0 0/0 .text            getModelData__12diff_model_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void diff_model_c::getModelData() {
    nofralloc
#include "asm/d/d_simple_model/getModelData__12diff_model_cFv.s"
}
#pragma pop

/* 80049210-80049270 043B50 0060+00 3/3 0/0 0/0 .text            remove__12diff_model_cFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void diff_model_c::remove(int param_0) {
    nofralloc
#include "asm/d/d_simple_model/remove__12diff_model_cFi.s"
}
#pragma pop

/* 80049270-80049368 043BB0 00F8+00 1/1 0/0 0/0 .text            draw__12diff_model_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void diff_model_c::draw() {
    nofralloc
#include "asm/d/d_simple_model/draw__12diff_model_cFv.s"
}
#pragma pop

/* 80049368-80049388 043CA8 0020+00 2/2 0/0 0/0 .text            init__12diff_model_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void diff_model_c::init() {
    nofralloc
#include "asm/d/d_simple_model/init__12diff_model_cFv.s"
}
#pragma pop

/* 80049388-800493FC 043CC8 0074+00 3/3 0/0 0/0 .text isSame__12diff_model_cFP12J3DModelDatai */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void diff_model_c::isSame(J3DModelData* param_0, int param_1) {
    nofralloc
#include "asm/d/d_simple_model/isSame__12diff_model_cFP12J3DModelDatai.s"
}
#pragma pop

/* 800493FC-80049408 043D3C 000C+00 2/2 0/0 0/0 .text            getRoomNo__12diff_model_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void diff_model_c::getRoomNo() {
    nofralloc
#include "asm/d/d_simple_model/getRoomNo__12diff_model_cFv.s"
}
#pragma pop

/* 80049408-80049420 043D48 0018+00 2/2 0/0 0/0 .text insert__12diff_model_cFP11modelList_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void diff_model_c::insert(modelList_c* param_0) {
    nofralloc
#include "asm/d/d_simple_model/insert__12diff_model_cFP11modelList_c.s"
}
#pragma pop