summaryrefslogtreecommitdiff
path: root/src/m_Do/m_Do_ext.cpp
diff options
context:
space:
mode:
authorPheenoh <pheenoh@gmail.com>2023-03-17 21:05:06 -0600
committerGitHub <noreply@github.com>2023-03-17 21:05:06 -0600
commit3cdef97cb8648cf5a5f2151938c5fa8d66056751 (patch)
treee96e03eb21c61f9aa4cd2868724b55b4872a190b /src/m_Do/m_Do_ext.cpp
parenta01d65b0b99400f62d93eee28475872b641cfd50 (diff)
d_file_select, JASResArcLoader, d_a_obj_stone, d_a_obj_stone_mark (#309)
* setup TU * JASResArcLoader OK * d_a_obj_stoneMark work * some funcs in d_a_obj_stoneMark * many changes * quat, d_a_obj_stone, d_a_alink, fix python script, tidy makefile * d_file_select functions + pr cleanup
Diffstat (limited to 'src/m_Do/m_Do_ext.cpp')
-rw-r--r--src/m_Do/m_Do_ext.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp
index 4786fe3639..598019f247 100644
--- a/src/m_Do/m_Do_ext.cpp
+++ b/src/m_Do/m_Do_ext.cpp
@@ -3530,26 +3530,28 @@ asm void mDoExt_removeSubFont() {
/* 80014C54-80014D5C 00F594 0108+00 3/3 14/14 445/445 .text
* mDoExt_J3DModel__create__FP12J3DModelDataUlUl */
-J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 param_1, u32 param_2) {
+J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 modelFlag, u32 differedDlistFlag) {
if (i_modelData != NULL) {
J3DModel* model = new J3DModel();
if (model != NULL) {
+ // Update the modelFlag if the model data passed in has a shared dlist object
if (i_modelData->getMaterialNodePointer(0)->getSharedDisplayListObj() != NULL) {
if (i_modelData->isLocked()) {
- param_1 = 0x20000;
- } else if (param_1 == 0x20000) {
- param_1 |= 0x40000;
+ modelFlag = J3DMdlFlag_Unk20000;
+ } else if (modelFlag == J3DMdlFlag_Unk20000) {
+ modelFlag |= J3DMdlFlag_Unk40000;
} else {
- param_1 = 0x80000;
+ modelFlag = J3DMdlFlag_Unk80000;
}
}
- if (!model->entryModelData(i_modelData, param_1, 1)) {
- if (param_1 == 0x80000 && model->newDifferedDisplayList(param_2)) {
+ // Set up the model
+ if (!model->entryModelData(i_modelData, modelFlag, 1)) {
+ if (modelFlag == J3DMdlFlag_Unk80000 && model->newDifferedDisplayList(differedDlistFlag)) {
return NULL;
}
-
+
model->lock();
return model;
}