Rename modeldata_* to modelrwdata_*, modelnode_* to modelrodata_*

This commit is contained in:
Ryan Dwyer
2021-04-28 12:17:07 +10:00
parent d908de6b5a
commit dc18fb09e8
15 changed files with 358 additions and 352 deletions
+37 -37
View File
@@ -1568,7 +1568,7 @@ glabel var7f1a992cpf
/* f020220: 46121182 */ mul.s $f6,$f2,$f18
/* f020224: 15a10005 */ bne $t5,$at,.PF0f02023c
/* f020228: e60600b0 */ swc1 $f6,0xb0($s0)
/* f02022c: 0c0069eb */ jal modelGetNodeData
/* f02022c: 0c0069eb */ jal modelGetNodeRwData
/* f020230: 8fa40120 */ lw $a0,0x120($sp)
/* f020234: c4480028 */ lwc1 $f8,0x28($v0)
/* f020238: e4480038 */ swc1 $f8,0x38($v0)
@@ -2846,7 +2846,7 @@ glabel var7f1a8720
/* f02011c: 46081182 */ mul.s $f6,$f2,$f8
/* f020120: 15a10005 */ bne $t5,$at,.L0f020138
/* f020124: e60600b0 */ swc1 $f6,0xb0($s0)
/* f020128: 0c006a87 */ jal modelGetNodeData
/* f020128: 0c006a87 */ jal modelGetNodeRwData
/* f02012c: 8fa40120 */ lw $a0,0x120($sp)
/* f020130: c44a0028 */ lwc1 $f10,0x28($v0)
/* f020134: e44a0038 */ swc1 $f10,0x38($v0)
@@ -4001,7 +4001,7 @@ glabel var7f1a8720
/* f01fd30: e60400b0 */ swc1 $f4,0xb0($s0)
/* f01fd34: 1521009b */ bne $t1,$at,.NB0f01ffa4
/* f01fd38: e7a200c8 */ swc1 $f2,0xc8($sp)
/* f01fd3c: 0c006bab */ jal modelGetNodeData
/* f01fd3c: 0c006bab */ jal modelGetNodeRwData
/* f01fd40: 8fa400f0 */ lw $a0,0xf0($sp)
/* f01fd44: c4480028 */ lwc1 $f8,0x28($v0)
/* f01fd48: 10000096 */ beqz $zero,.NB0f01ffa4
@@ -4544,8 +4544,8 @@ struct prop *func0f020b14(struct prop *prop, struct model *model,
nodetype = chr->model->filedata->rootnode->type;
if ((nodetype & 0xff) == MODELNODETYPE_ROOT) {
struct modeldata_root *data = modelGetNodeData(chr->model, chr->model->filedata->rootnode);
data->ground = ground;
union modelrwdata *rwdata = modelGetNodeRwData(chr->model, chr->model->filedata->rootnode);
rwdata->root.ground = ground;
}
chr->prevpos.x = prop->pos.x;
@@ -8307,7 +8307,7 @@ glabel var7f1a99ecpf
/* f024504: 24010017 */ li $at,0x17
/* f024508: 55010036 */ bnel $t0,$at,.PF0f0245e4
/* f02450c: 8fac01f0 */ lw $t4,0x1f0($sp)
/* f024510: 0c0069eb */ jal modelGetNodeData
/* f024510: 0c0069eb */ jal modelGetNodeRwData
/* f024514: 8fa40208 */ lw $a0,0x208($sp)
/* f024518: 8c590000 */ lw $t9,0x0($v0)
/* f02451c: 24050001 */ li $a1,0x1
@@ -8317,7 +8317,7 @@ glabel var7f1a99ecpf
/* f02452c: 8c440000 */ lw $a0,0x0($v0)
/* f024530: 1040002b */ beqz $v0,.PF0f0245e0
/* f024534: 00402825 */ move $a1,$v0
/* f024538: 0c0069eb */ jal modelGetNodeData
/* f024538: 0c0069eb */ jal modelGetNodeRwData
/* f02453c: 8fa40208 */ lw $a0,0x208($sp)
/* f024540: 8fae0200 */ lw $t6,0x200($sp)
/* f024544: 10000026 */ b .PF0f0245e0
@@ -9745,7 +9745,7 @@ glabel var7f1a87d8
/* f0243e0: 24010017 */ addiu $at,$zero,0x17
/* f0243e4: 55c10036 */ bnel $t6,$at,.L0f0244c0
/* f0243e8: 8fb801f0 */ lw $t8,0x1f0($sp)
/* f0243ec: 0c006a87 */ jal modelGetNodeData
/* f0243ec: 0c006a87 */ jal modelGetNodeRwData
/* f0243f0: 8fa40208 */ lw $a0,0x208($sp)
/* f0243f4: 8c490000 */ lw $t1,0x0($v0)
/* f0243f8: 24050001 */ addiu $a1,$zero,0x1
@@ -9755,7 +9755,7 @@ glabel var7f1a87d8
/* f024408: 8c440000 */ lw $a0,0x0($v0)
/* f02440c: 1040002b */ beqz $v0,.L0f0244bc
/* f024410: 00402825 */ or $a1,$v0,$zero
/* f024414: 0c006a87 */ jal modelGetNodeData
/* f024414: 0c006a87 */ jal modelGetNodeRwData
/* f024418: 8fa40208 */ lw $a0,0x208($sp)
/* f02441c: 8faa0200 */ lw $t2,0x200($sp)
/* f024420: 10000026 */ b .L0f0244bc
@@ -11124,7 +11124,7 @@ glabel var7f1a87d8
/* f023df8: 24010017 */ addiu $at,$zero,0x17
/* f023dfc: 55010037 */ bnel $t0,$at,.NB0f023edc
/* f023e00: 8fad01f0 */ lw $t5,0x1f0($sp)
/* f023e04: 0c006bab */ jal modelGetNodeData
/* f023e04: 0c006bab */ jal modelGetNodeRwData
/* f023e08: 8fa40208 */ lw $a0,0x208($sp)
/* f023e0c: 8c4f0000 */ lw $t7,0x0($v0)
/* f023e10: 24050001 */ addiu $a1,$zero,0x1
@@ -11134,7 +11134,7 @@ glabel var7f1a87d8
/* f023e20: 8c440000 */ lw $a0,0x0($v0)
/* f023e24: 1040002c */ beqz $v0,.NB0f023ed8
/* f023e28: 00402825 */ or $a1,$v0,$zero
/* f023e2c: 0c006bab */ jal modelGetNodeData
/* f023e2c: 0c006bab */ jal modelGetNodeRwData
/* f023e30: 8fa40208 */ lw $a0,0x208($sp)
/* f023e34: 8fb90200 */ lw $t9,0x200($sp)
/* f023e38: 10000027 */ beqz $zero,.NB0f023ed8
@@ -11241,14 +11241,14 @@ void chrSetHudpieceVisible(struct chrdata *chr, bool visible)
struct modelnode *node = modelGetPart(modelfiledata, MODELPART_HUDPIECE);
if (node && node->type == MODELNODETYPE_HEADSPOT) {
struct modeldata_headspot *data = modelGetNodeData(chr->model, node);
union modelrwdata *rwdata = modelGetNodeRwData(chr->model, node);
if (data->modelfiledata) {
struct modelnode *node2 = modelGetPart(data->modelfiledata, MODELPART_HUDPIECE);
if (rwdata->headspot.modelfiledata) {
struct modelnode *node2 = modelGetPart(rwdata->headspot.modelfiledata, MODELPART_HUDPIECE);
if (node2) {
struct modeldata_partid *data2 = modelGetNodeData(chr->model, node2);
data2->visible.u32 = visible;
union modelrwdata *rwdata2 = modelGetNodeRwData(chr->model, node2);
rwdata2->partid.visible.u32 = visible;
}
}
}
@@ -12226,11 +12226,11 @@ Gfx *chrRender(struct prop *prop, Gfx *gdl, bool withalpha)
struct modelnode *node2 = modelGetPart(model->filedata, MODELPART_05);
if (node1 && node2) {
struct modeldata_partid *data1 = modelGetNodeData(model, node1);
struct modeldata_partid *data2 = modelGetNodeData(model, node2);
union modelrwdata *data1 = modelGetNodeRwData(model, node1);
union modelrwdata *data2 = modelGetNodeRwData(model, node2);
data2->visible.u32 = chr->actiontype == ACT_DIE || chr->actiontype == ACT_DEAD;
data1->visible.u32 = !data2->visible.u32;
data2->partid.visible.u32 = chr->actiontype == ACT_DIE || chr->actiontype == ACT_DEAD;
data1->partid.visible.u32 = !data2->partid.visible.u32;
}
}
@@ -12243,18 +12243,18 @@ Gfx *chrRender(struct prop *prop, Gfx *gdl, bool withalpha)
struct modelnode *node = modelGetPart(model->filedata, MODELPART_04);
if (node && node->type == MODELNODETYPE_HEADSPOT) {
struct modeldata_headspot *headdata = modelGetNodeData(model, node);
union modelrwdata *headrwdata = modelGetNodeRwData(model, node);
if (headdata->modelfiledata) {
struct modelnode *node1 = modelGetPart(headdata->modelfiledata, MODELPART_02);
struct modelnode *node2 = modelGetPart(headdata->modelfiledata, MODELPART_03);
if (headrwdata->headspot.modelfiledata) {
struct modelnode *node1 = modelGetPart(headrwdata->headspot.modelfiledata, MODELPART_02);
struct modelnode *node2 = modelGetPart(headrwdata->headspot.modelfiledata, MODELPART_03);
if (node1 && node2) {
struct modeldata_partid *data1 = modelGetNodeData(model, node1);
struct modeldata_partid *data2 = modelGetNodeData(model, node2);
union modelrwdata *data1 = modelGetNodeRwData(model, node1);
union modelrwdata *data2 = modelGetNodeRwData(model, node2);
data2->visible.u32 = chr->actiontype == ACT_DIE || chr->actiontype == ACT_DEAD;
data1->visible.u32 = !data2->visible.u32;
data2->partid.visible.u32 = chr->actiontype == ACT_DIE || chr->actiontype == ACT_DEAD;
data1->partid.visible.u32 = !data2->partid.visible.u32;
}
}
}
@@ -12474,7 +12474,7 @@ glabel func0f0260c4
/* f0261c4: 8ca20014 */ lw $v0,0x14($a1)
.L0f0261c8:
/* f0261c8: 8cb20004 */ lw $s2,0x4($a1)
/* f0261cc: 0c006a87 */ jal modelGetNodeData
/* f0261cc: 0c006a87 */ jal modelGetNodeRwData
/* f0261d0: afa50110 */ sw $a1,0x110($sp)
/* f0261d4: 8c440004 */ lw $a0,0x4($v0)
/* f0261d8: 8fa50110 */ lw $a1,0x110($sp)
@@ -12697,7 +12697,7 @@ glabel func0f0260c4
/* f0264e8: 8ca20014 */ lw $v0,0x14($a1)
/* f0264ec: 8cb20004 */ lw $s2,0x4($a1)
.L0f0264f0:
/* f0264f0: 0c006a87 */ jal modelGetNodeData
/* f0264f0: 0c006a87 */ jal modelGetNodeRwData
/* f0264f4: afa50110 */ sw $a1,0x110($sp)
/* f0264f8: 8c440004 */ lw $a0,0x4($v0)
/* f0264fc: 00408025 */ or $s0,$v0,$zero
@@ -13072,7 +13072,7 @@ glabel var7f1a8944
/* f0269b4: 8ca20014 */ lw $v0,0x14($a1)
.L0f0269b8:
/* f0269b8: 8cb20004 */ lw $s2,0x4($a1)
/* f0269bc: 0c006a87 */ jal modelGetNodeData
/* f0269bc: 0c006a87 */ jal modelGetNodeRwData
/* f0269c0: afa500fc */ sw $a1,0xfc($sp)
/* f0269c4: 8c440004 */ lw $a0,0x4($v0)
/* f0269c8: 8fa500fc */ lw $a1,0xfc($sp)
@@ -13328,7 +13328,7 @@ glabel var7f1a8944
/* f026d4c: 1160002a */ beqz $t3,.L0f026df8
/* f026d50: 00000000 */ nop
/* f026d54: 8cb20004 */ lw $s2,0x4($a1)
/* f026d58: 0c006a87 */ jal modelGetNodeData
/* f026d58: 0c006a87 */ jal modelGetNodeRwData
/* f026d5c: afa500fc */ sw $a1,0xfc($sp)
/* f026d60: 8c440004 */ lw $a0,0x4($v0)
/* f026d64: 00408025 */ or $s0,$v0,$zero
@@ -13637,7 +13637,7 @@ glabel func0f0270f4
/* f0271b0: 8ca90004 */ lw $t1,0x4($a1)
.L0f0271b4:
/* f0271b4: afa500a4 */ sw $a1,0xa4($sp)
/* f0271b8: 0c006a87 */ jal modelGetNodeData
/* f0271b8: 0c006a87 */ jal modelGetNodeRwData
/* f0271bc: afa900a0 */ sw $t1,0xa0($sp)
/* f0271c0: 8c4a0004 */ lw $t2,0x4($v0)
/* f0271c4: 0040a025 */ or $s4,$v0,$zero
@@ -22329,7 +22329,7 @@ void chrSetDrCarollImages(struct chrdata *drcaroll, s32 imageleft, s32 imagerigh
if (drcaroll && imageleft >= 0 && imageleft < 6 && imageright >= 0 && imageright < 6) {
struct model *model = drcaroll->model;
struct modelnode *nodes[2];
struct modeldata_partid *data;
union modelrwdata *rwdata;
s32 i;
s32 j;
u32 stack;
@@ -22343,12 +22343,12 @@ void chrSetDrCarollImages(struct chrdata *drcaroll, s32 imageleft, s32 imagerigh
for (j = 0; j < 2; j++) {
if (nodes[j]) {
data = modelGetNodeData(model, nodes[j]);
rwdata = modelGetNodeRwData(model, nodes[j]);
if (j == 0) {
data->visible.u32 = (imageleft == i) ? true : false;
rwdata->partid.visible.u32 = (imageleft == i) ? true : false;
} else {
data->visible.u32 = (imageright == i) ? true : false;
rwdata->partid.visible.u32 = (imageright == i) ? true : false;
}
}
}
+27 -27
View File
@@ -7496,7 +7496,7 @@ glabel var7f1a8dac
/* f0377d4: afa5003c */ sw $a1,0x3c($sp)
/* f0377d8: 8e040020 */ lw $a0,0x20($s0)
/* f0377dc: 8c8f0008 */ lw $t7,0x8($a0)
/* f0377e0: 0c006a87 */ jal modelGetNodeData
/* f0377e0: 0c006a87 */ jal modelGetNodeRwData
/* f0377e4: 8de50000 */ lw $a1,0x0($t7)
/* f0377e8: c7b20108 */ lwc1 $f18,0x108($sp)
/* f0377ec: 2401000e */ addiu $at,$zero,0xe
@@ -7757,7 +7757,7 @@ glabel var7f1a8dac
/* f0377d4: afa5003c */ sw $a1,0x3c($sp)
/* f0377d8: 8e040020 */ lw $a0,0x20($s0)
/* f0377dc: 8c8f0008 */ lw $t7,0x8($a0)
/* f0377e0: 0c006a87 */ jal modelGetNodeData
/* f0377e0: 0c006a87 */ jal modelGetNodeRwData
/* f0377e4: 8de50000 */ lw $a1,0x0($t7)
/* f0377e8: c7b20108 */ lwc1 $f18,0x108($sp)
/* f0377ec: 2401000e */ addiu $at,$zero,0xe
@@ -13779,7 +13779,7 @@ glabel var7f1a8fc8
/* f03f4e4: 8da40020 */ lw $a0,0x20($t5)
/* f03f4e8: 8c8c0008 */ lw $t4,0x8($a0)
/* f03f4ec: 8d850000 */ lw $a1,0x0($t4)
/* f03f4f0: 0c006a87 */ jal modelGetNodeData
/* f03f4f0: 0c006a87 */ jal modelGetNodeRwData
/* f03f4f4: e7b00188 */ swc1 $f16,0x188($sp)
/* f03f4f8: 44801000 */ mtc1 $zero,$f2
/* f03f4fc: c440005c */ lwc1 $f0,0x5c($v0)
@@ -14268,7 +14268,7 @@ bool func0f03fde4(struct chrdata *chr, s32 handnum, struct coord *arg2)
struct modelnode *part1;
Mtxf *spac;
Mtxf sp6c;
struct modelnode_type16 *data;
struct modelrodata_type16 *rodata;
Mtxf *sp64;
Mtxf sp24;
@@ -14279,11 +14279,11 @@ bool func0f03fde4(struct chrdata *chr, s32 handnum, struct coord *arg2)
if ((chr->prop->flags & PROPFLAG_02) && (weaponprop->flags & PROPFLAG_02)) {
if ((part0 = modelGetPart(model->filedata, MODELPART_00))) {
spac = func0001a5cc(model, part0, 0);
data = &part0->data->type16;
rodata = &part0->rodata->type16;
arg2->x = data->pos.x;
arg2->y = data->pos.y;
arg2->z = data->pos.z;
arg2->x = rodata->pos.x;
arg2->y = rodata->pos.y;
arg2->z = rodata->pos.z;
func00015be4(currentPlayerGetUnk174c(), spac, &sp6c);
func00015b64(&sp6c, arg2);
@@ -14399,9 +14399,9 @@ void chrCalculateShieldHit(struct chrdata *chr, struct coord *pos, struct coord
#endif
{
Mtxf sp48;
struct modelnode_bbox *data = &bestnode->data->bbox;
struct modelrodata_bbox *rodata = &bestnode->rodata->bbox;
*ibhptr = data->ibh;
*ibhptr = rodata->ibh;
*nodeptr = bestnode;
*modelptr = chr->model;
*sideptr = 0;
@@ -14446,10 +14446,10 @@ void chrCalculateShieldHit(struct chrdata *chr, struct coord *pos, struct coord
while (node) {
if ((node->type & 0xff) == MODELNODETYPE_BBOX) {
struct modelnode_bbox *data = &node->data->bbox;
struct modelrodata_bbox *rodata = &node->rodata->bbox;
if (data->ibh == IBH_TORSO) {
*ibhptr = data->ibh;
if (rodata->ibh == IBH_TORSO) {
*ibhptr = rodata->ibh;
*nodeptr = node;
*modelptr = chr->model;
*sideptr = 0;
@@ -20898,7 +20898,7 @@ void chrTickAttackAmount(struct chrdata *chr)
void robotSetMuzzleFlash(struct chrdata *chr, bool right, bool enabled)
{
struct modelnode *node;
struct modeldata_partid *data;
union modelrwdata *rwdata;
s32 partnum;
if (right) {
@@ -20910,12 +20910,12 @@ void robotSetMuzzleFlash(struct chrdata *chr, bool right, bool enabled)
node = modelGetPart(chr->model->filedata, partnum);
if (node) {
data = modelGetNodeData(chr->model, node);
rwdata = modelGetNodeRwData(chr->model, node);
}
// @dangerous: data may be uninitialised
if (data) {
data->visible.u16 = enabled;
if (rwdata) {
rwdata->partid.visible.u16 = enabled;
}
}
@@ -21178,7 +21178,7 @@ glabel var7f1a91dc
/* f042c98: 24050001 */ addiu $a1,$zero,0x1
.L0f042c9c:
/* f042c9c: 8e4b0020 */ lw $t3,0x20($s2)
/* f042ca0: 0c006a6f */ jal modelGetPartNodeData
/* f042ca0: 0c006a6f */ jal modelGetPartRodata
/* f042ca4: 8d640008 */ lw $a0,0x8($t3)
/* f042ca8: c4500000 */ lwc1 $f16,0x0($v0)
/* f042cac: 3c014396 */ lui $at,0x4396
@@ -22202,7 +22202,7 @@ glabel chrTickAttackRoll
/* f043750: 00000000 */ nop
/* f043754: 8c880008 */ lw $t0,0x8($a0)
/* f043758: 8d050000 */ lw $a1,0x0($t0)
/* f04375c: 0c006a87 */ jal modelGetNodeData
/* f04375c: 0c006a87 */ jal modelGetNodeRwData
/* f043760: e7a20034 */ swc1 $f2,0x34($sp)
/* f043764: c7a20034 */ lwc1 $f2,0x34($sp)
/* f043768: e442005c */ swc1 $f2,0x5c($v0)
@@ -31131,7 +31131,7 @@ bool chrMoveToPos(struct chrdata *chr, struct coord *pos, s16 *rooms, f32 angle,
s16 rooms2[8];
bool result = false;
u32 nodetype;
struct modeldata_root *data;
union modelrwdata *rwdata;
struct player *player;
f32 ground;
@@ -31166,8 +31166,8 @@ bool chrMoveToPos(struct chrdata *chr, struct coord *pos, s16 *rooms, f32 angle,
nodetype = chr->model->filedata->rootnode->type;
if ((nodetype & 0xff) == MODELNODETYPE_ROOT) {
data = modelGetNodeData(chr->model, chr->model->filedata->rootnode);
data->ground = ground;
rwdata = modelGetNodeRwData(chr->model, chr->model->filedata->rootnode);
rwdata->root.ground = ground;
}
chr->chrflags |= CHRCFLAG_00000001;
@@ -33130,15 +33130,15 @@ void chrToggleModelPart(struct chrdata *chr, s32 partnum)
{
if (chr && chr->model && chr->model->filedata) {
struct modelnode *node = modelGetPart(chr->model->filedata, partnum);
struct modeldata_partid *data = NULL;
union modelrwdata *rwdata = NULL;
if (node) {
data = modelGetNodeData(chr->model, node);
rwdata = modelGetNodeRwData(chr->model, node);
}
if (data) {
bool visible = data->visible.u32;
data->visible.u32 = !visible;
if (rwdata) {
bool visible = rwdata->partid.visible.u32;
rwdata->partid.visible.u32 = !visible;
}
}
}
+8 -8
View File
@@ -1079,7 +1079,7 @@ void setupCamera(struct cameraobj *camera, s32 cmdindex)
if (camera->lookatpadnum >= 0) {
struct coord lenspos;
union modelnode_data *lens = modelGetPartNodeData(obj->model->filedata, MODELPART_LENS);
union modelrodata *lens = modelGetPartRodata(obj->model->filedata, MODELPART_LENS);
struct pad pad;
f32 xdiff;
f32 ydiff;
@@ -3027,19 +3027,19 @@ void setupParseObjects(s32 stagenum)
modelstate = &g_ModelStates[modelnum];
if (modelstate->filedata) {
if (modelGetPartNodeData(modelstate->filedata, 1)) {
if (modelGetPartRodata(modelstate->filedata, 1)) {
obj->numtiles++;
}
if (modelGetPartNodeData(modelstate->filedata, 2)) {
if (modelGetPartRodata(modelstate->filedata, 2)) {
obj->numtiles++;
}
if (modelGetPartNodeData(modelstate->filedata, 3)) {
if (modelGetPartRodata(modelstate->filedata, 3)) {
obj->numtiles++;
}
if (modelGetPartNodeData(modelstate->filedata, 4)) {
if (modelGetPartRodata(modelstate->filedata, 4)) {
obj->numtiles++;
}
if (modelGetPartNodeData(modelstate->filedata, 6)) {
if (modelGetPartRodata(modelstate->filedata, 6)) {
obj->numtiles++;
}
}
@@ -3199,8 +3199,8 @@ void setupParseObjects(s32 stagenum)
struct modelnode *node = modelGetPart(obj->model->filedata, 5);
if (node) {
struct modeldata_05 *data = modelGetNodeData(obj->model, node);
data->unk00 = ((obj->flags & OBJFLAG_DEACTIVATED) == 0);
union modelrwdata *rwdata = modelGetNodeRwData(obj->model, node);
rwdata->type05.unk00 = ((obj->flags & OBJFLAG_DEACTIVATED) == 0);
}
}
+2 -2
View File
@@ -479,7 +479,7 @@ glabel var7f1a8a84
/* f02d2ec: 00002825 */ or $a1,$zero,$zero
/* f02d2f0: 10400004 */ beqz $v0,.L0f02d304
/* f02d2f4: 00402825 */ or $a1,$v0,$zero
/* f02d2f8: 0c006a87 */ jal modelGetNodeData
/* f02d2f8: 0c006a87 */ jal modelGetNodeRwData
/* f02d2fc: 8fa4005c */ lw $a0,0x5c($sp)
/* f02d300: ac400000 */ sw $zero,0x0($v0)
.L0f02d304:
@@ -488,7 +488,7 @@ glabel var7f1a8a84
/* f02d30c: 24050004 */ addiu $a1,$zero,0x4
/* f02d310: 10400004 */ beqz $v0,.L0f02d324
/* f02d314: 00402825 */ or $a1,$v0,$zero
/* f02d318: 0c006a87 */ jal modelGetNodeData
/* f02d318: 0c006a87 */ jal modelGetNodeRwData
/* f02d31c: 8fa4005c */ lw $a0,0x5c($sp)
/* f02d320: ac400000 */ sw $zero,0x0($v0)
.L0f02d324:
+13 -13
View File
@@ -430,8 +430,8 @@ void func0f097e74(s16 partnum, s32 arg1, struct hand *hand, struct modelfiledata
node = modelGetPart(g_Vars.currentplayer->gunctrl.unk1594, partnum);
if (node) {
union modelnode_data *data = node->data;
u32 *ptr = &hand->handsavedata[data->partid.index];
struct modelrodata_partid *rodata = &node->rodata->partid;
u32 *ptr = &hand->handsavedata[rodata->rwdataindex];
*ptr = arg1;
}
}
@@ -439,8 +439,8 @@ void func0f097e74(s16 partnum, s32 arg1, struct hand *hand, struct modelfiledata
node = modelGetPart(arg3, partnum);
if (node) {
union modelnode_data *data = node->data;
u32 *ptr = &hand->unk0a6c[data->partid.index];
struct modelrodata_partid *rodata = &node->rodata->partid;
u32 *ptr = &hand->unk0a6c[rodata->rwdataindex];
*ptr = arg1;
}
}
@@ -17462,7 +17462,7 @@ glabel var7f1ac7c4
/* f0a2f0c: 00000000 */ nop
/* f0a2f10: 8e120004 */ lw $s2,0x4($s0)
/* f0a2f14: 02802025 */ or $a0,$s4,$zero
/* f0a2f18: 0c006a87 */ jal modelGetNodeData
/* f0a2f18: 0c006a87 */ jal modelGetNodeRwData
/* f0a2f1c: 02002825 */ or $a1,$s0,$zero
/* f0a2f20: ac400000 */ sw $zero,0x0($v0)
/* f0a2f24: 8e580008 */ lw $t8,0x8($s2)
@@ -17477,7 +17477,7 @@ glabel var7f1ac7c4
/* f0a2f48: ae39fffc */ sw $t9,-0x4($s1)
/* f0a2f4c: 8e120004 */ lw $s2,0x4($s0)
/* f0a2f50: 02802025 */ or $a0,$s4,$zero
/* f0a2f54: 0c006a87 */ jal modelGetNodeData
/* f0a2f54: 0c006a87 */ jal modelGetNodeRwData
/* f0a2f58: 02002825 */ or $a1,$s0,$zero
/* f0a2f5c: ac550000 */ sw $s5,0x0($v0)
/* f0a2f60: 8e480000 */ lw $t0,0x0($s2)
@@ -17491,7 +17491,7 @@ glabel var7f1ac7c4
/* f0a2f80: 1000003b */ b .L0f0a3070
/* f0a2f84: ae29fffc */ sw $t1,-0x4($s1)
/* f0a2f88: 02802025 */ or $a0,$s4,$zero
/* f0a2f8c: 0c006a87 */ jal modelGetNodeData
/* f0a2f8c: 0c006a87 */ jal modelGetNodeRwData
/* f0a2f90: 02002825 */ or $a1,$s0,$zero
/* f0a2f94: ac400000 */ sw $zero,0x0($v0)
/* f0a2f98: ac400004 */ sw $zero,0x4($v0)
@@ -17502,7 +17502,7 @@ glabel var7f1ac7c4
/* f0a2fac: 10000030 */ b .L0f0a3070
/* f0a2fb0: 26730008 */ addiu $s3,$s3,0x8
/* f0a2fb4: 02802025 */ or $a0,$s4,$zero
/* f0a2fb8: 0c006a87 */ jal modelGetNodeData
/* f0a2fb8: 0c006a87 */ jal modelGetNodeRwData
/* f0a2fbc: 02002825 */ or $a1,$s0,$zero
/* f0a2fc0: a4400000 */ sh $zero,0x0($v0)
/* f0a2fc4: 240b0003 */ addiu $t3,$zero,0x3
@@ -17512,7 +17512,7 @@ glabel var7f1ac7c4
/* f0a2fd4: 10000026 */ b .L0f0a3070
/* f0a2fd8: 26730008 */ addiu $s3,$s3,0x8
/* f0a2fdc: 02802025 */ or $a0,$s4,$zero
/* f0a2fe0: 0c006a87 */ jal modelGetNodeData
/* f0a2fe0: 0c006a87 */ jal modelGetNodeRwData
/* f0a2fe4: 02002825 */ or $a1,$s0,$zero
/* f0a2fe8: a4400000 */ sh $zero,0x0($v0)
/* f0a2fec: 240c0004 */ addiu $t4,$zero,0x4
@@ -17523,7 +17523,7 @@ glabel var7f1ac7c4
/* f0a3000: 26730008 */ addiu $s3,$s3,0x8
/* f0a3004: 8e120004 */ lw $s2,0x4($s0)
/* f0a3008: 02802025 */ or $a0,$s4,$zero
/* f0a300c: 0c006a87 */ jal modelGetNodeData
/* f0a300c: 0c006a87 */ jal modelGetNodeRwData
/* f0a3010: 02002825 */ or $a1,$s0,$zero
/* f0a3014: 8e4d000c */ lw $t5,0xc($s2)
/* f0a3018: 26310014 */ addiu $s1,$s1,0x14
@@ -25601,7 +25601,7 @@ glabel var7f1aca90
/* f0a7568: 0c006a47 */ jal modelGetPart
/* f0a756c: 24050011 */ addiu $a1,$zero,0x11
/* f0a7570: 8fa4003c */ lw $a0,0x3c($sp)
/* f0a7574: 0c006a87 */ jal modelGetNodeData
/* f0a7574: 0c006a87 */ jal modelGetNodeRwData
/* f0a7578: 00402825 */ or $a1,$v0,$zero
/* f0a757c: 10400003 */ beqz $v0,.L0f0a758c
/* f0a7580: 3c06800a */ lui $a2,%hi(var8009cf88)
@@ -26442,7 +26442,7 @@ glabel var7f1aca90
/* f0a7568: 0c006a47 */ jal modelGetPart
/* f0a756c: 24050011 */ addiu $a1,$zero,0x11
/* f0a7570: 8fa4003c */ lw $a0,0x3c($sp)
/* f0a7574: 0c006a87 */ jal modelGetNodeData
/* f0a7574: 0c006a87 */ jal modelGetNodeRwData
/* f0a7578: 00402825 */ or $a1,$v0,$zero
/* f0a757c: 10400003 */ beqz $v0,.L0f0a758c
/* f0a7580: 3c06800a */ lui $a2,%hi(var8009cf88)
@@ -27283,7 +27283,7 @@ glabel var7f1aca90
/* f0a52b4: 0c006ea3 */ jal modelGetPart
/* f0a52b8: 24050011 */ addiu $a1,$zero,0x11
/* f0a52bc: 8fa40038 */ lw $a0,0x38($sp)
/* f0a52c0: 0c006bab */ jal modelGetNodeData
/* f0a52c0: 0c006bab */ jal modelGetNodeRwData
/* f0a52c4: 00402825 */ or $a1,$v0,$zero
/* f0a52c8: 10400003 */ beqz $v0,.NB0f0a52d8
/* f0a52cc: 3c06800a */ lui $a2,0x800a
+9 -9
View File
@@ -1257,9 +1257,9 @@ void currentPlayerResetToDefault(void)
bool currentPlayerAssumeChrForAnti(struct chrdata *hostchr, bool force)
{
struct prop *hostprop;
struct modeldata_root *chrrootnode;
union modelrwdata *chrrootrwdata;
struct chrdata *playerchr = g_Vars.currentplayer->prop->chr;
struct modeldata_root *playerrootnode;
union modelrwdata *playerrootrwdata;
hostprop = hostchr->prop;
@@ -1341,17 +1341,17 @@ bool currentPlayerAssumeChrForAnti(struct chrdata *hostchr, bool force)
modelCopyAnimData(hostchr->model, playerchr->model);
func0f02e9a0(playerchr, 12);
chrrootnode = modelGetNodeData(hostchr->model, hostchr->model->filedata->rootnode);
playerrootnode = modelGetNodeData(playerchr->model, playerchr->model->filedata->rootnode);
chrrootrwdata = modelGetNodeRwData(hostchr->model, hostchr->model->filedata->rootnode);
playerrootrwdata = modelGetNodeRwData(playerchr->model, playerchr->model->filedata->rootnode);
*playerrootnode = *chrrootnode;
playerrootrwdata->root = chrrootrwdata->root;
if (playerrootnode->unk34.y < 10) {
playerrootnode->unk34.y = 10;
if (playerrootrwdata->root.unk34.y < 10) {
playerrootrwdata->root.unk34.y = 10;
}
if (playerrootnode->unk24.y < 10) {
playerrootnode->unk24.y = 10;
if (playerrootrwdata->root.unk24.y < 10) {
playerrootrwdata->root.unk24.y = 10;
}
playerchr->chrwidth = hostchr->chrwidth;
+3 -3
View File
@@ -6068,7 +6068,7 @@ glabel var7f1b3c40pf
/* f0f4ccc: 1040000d */ beqz $v0,.PF0f0f4d04
/* f0f4cd0: 00402825 */ move $a1,$v0
/* f0f4cd4: 8fa4003c */ lw $a0,0x3c($sp)
/* f0f4cd8: 0c0069eb */ jal modelGetNodeData
/* f0f4cd8: 0c0069eb */ jal modelGetNodeRwData
/* f0f4cdc: afa3028c */ sw $v1,0x28c($sp)
/* f0f4ce0: 10400008 */ beqz $v0,.PF0f0f4d04
/* f0f4ce4: 8fa3028c */ lw $v1,0x28c($sp)
@@ -7681,7 +7681,7 @@ glabel var7f1b2948
/* f0f459c: 1040000d */ beqz $v0,.L0f0f45d4
/* f0f45a0: 00402825 */ or $a1,$v0,$zero
/* f0f45a4: 8fa4003c */ lw $a0,0x3c($sp)
/* f0f45a8: 0c006a87 */ jal modelGetNodeData
/* f0f45a8: 0c006a87 */ jal modelGetNodeRwData
/* f0f45ac: afa3028c */ sw $v1,0x28c($sp)
/* f0f45b0: 10400008 */ beqz $v0,.L0f0f45d4
/* f0f45b4: 8fa3028c */ lw $v1,0x28c($sp)
@@ -9290,7 +9290,7 @@ glabel var7f1b2948
/* f0f10e0: 1040000d */ beqz $v0,.NB0f0f1118
/* f0f10e4: 00402825 */ or $a1,$v0,$zero
/* f0f10e8: 8fa40040 */ lw $a0,0x40($sp)
/* f0f10ec: 0c006bab */ jal modelGetNodeData
/* f0f10ec: 0c006bab */ jal modelGetNodeRwData
/* f0f10f0: afa302b4 */ sw $v1,0x2b4($sp)
/* f0f10f4: 10400008 */ beqz $v0,.NB0f0f1118
/* f0f10f8: 8fa302b4 */ lw $v1,0x2b4($sp)
+5 -5
View File
@@ -44,7 +44,7 @@ struct var8007e3d0 var8007e3d0[] = {
* Search all props and their model data for something, and replace it with
* something else.
*/
void func0f129210(void *find, void *replacement)
void func0f129210(union modelrwdata *find, union modelrwdata *replacement)
{
u32 stack;
struct prop *prop = g_Vars.list1head;
@@ -55,15 +55,15 @@ void func0f129210(void *find, void *replacement)
struct model *model = obj->model;
struct modelfiledata *filedata = model->filedata;
struct modelnode *node = filedata->rootnode;
struct modelnode_displaylist *data;
struct modelrodata_displaylist *rodata;
while (node) {
switch (node->type & 0xff) {
case MODELNODETYPE_DISPLAYLIST:
data = &node->data->displaylist;
rodata = &node->rodata->displaylist;
if (model->datas[data->index] == find) {
model->datas[data->index] = replacement;
if (model->rwdatas[rodata->rwdataindex] == find) {
model->rwdatas[rodata->rwdataindex] = replacement;
}
break;
case MODELNODETYPE_NEARFAR:
+73 -75
View File
@@ -4653,7 +4653,7 @@ glabel func0f069850
/* f0698d0: 55020005 */ bnel $t0,$v0,.L0f0698e8
/* f0698d4: 8e090010 */ lw $t1,0x10($s0)
.L0f0698d8:
/* f0698d8: 0c006a6f */ jal modelGetPartNodeData
/* f0698d8: 0c006a6f */ jal modelGetPartRodata
/* f0698dc: 24050064 */ addiu $a1,$zero,0x64
/* f0698e0: afa20030 */ sw $v0,0x30($sp)
/* f0698e4: 8e090010 */ lw $t1,0x10($s0)
@@ -4847,7 +4847,7 @@ glabel func0f069b4c
/* f069b98: 8e280018 */ lw $t0,0x18($s1)
.L0f069b9c:
/* f069b9c: 24050065 */ addiu $a1,$zero,0x65
/* f069ba0: 0c006a6f */ jal modelGetPartNodeData
/* f069ba0: 0c006a6f */ jal modelGetPartRodata
/* f069ba4: 8d040008 */ lw $a0,0x8($t0)
/* f069ba8: 1040000c */ beqz $v0,.L0f069bdc
/* f069bac: 00401825 */ or $v1,$v0,$zero
@@ -4866,7 +4866,7 @@ glabel func0f069b4c
.L0f069bdc:
/* f069bdc: 8e2a0018 */ lw $t2,0x18($s1)
/* f069be0: 24050066 */ addiu $a1,$zero,0x66
/* f069be4: 0c006a6f */ jal modelGetPartNodeData
/* f069be4: 0c006a6f */ jal modelGetPartRodata
/* f069be8: 8d440008 */ lw $a0,0x8($t2)
/* f069bec: 10400006 */ beqz $v0,.L0f069c08
/* f069bf0: 02202025 */ or $a0,$s1,$zero
@@ -4928,7 +4928,7 @@ glabel func0f069cd8
/* f069d00: 260500c9 */ addiu $a1,$s0,0xc9
/* f069d04: 10400006 */ beqz $v0,.L0f069d20
/* f069d08: 00402825 */ or $a1,$v0,$zero
/* f069d0c: 0c006a87 */ jal modelGetNodeData
/* f069d0c: 0c006a87 */ jal modelGetNodeRwData
/* f069d10: 02202025 */ or $a0,$s1,$zero
/* f069d14: 26100001 */ addiu $s0,$s0,0x1
/* f069d18: 1612fff7 */ bne $s0,$s2,.L0f069cf8
@@ -5227,7 +5227,7 @@ glabel var7f1aa1fc
/* f06a118: 8d040008 */ lw $a0,0x8($t0)
/* f06a11c: 10400004 */ beqz $v0,.L0f06a130
/* f06a120: 00402825 */ or $a1,$v0,$zero
/* f06a124: 0c006a87 */ jal modelGetNodeData
/* f06a124: 0c006a87 */ jal modelGetNodeRwData
/* f06a128: 8e040018 */ lw $a0,0x18($s0)
/* f06a12c: ac400000 */ sw $zero,0x0($v0)
.L0f06a130:
@@ -5238,7 +5238,7 @@ glabel var7f1aa1fc
/* f06a140: 24a500c9 */ addiu $a1,$a1,0xc9
/* f06a144: 10400005 */ beqz $v0,.L0f06a15c
/* f06a148: 00402825 */ or $a1,$v0,$zero
/* f06a14c: 0c006a87 */ jal modelGetNodeData
/* f06a14c: 0c006a87 */ jal modelGetNodeRwData
/* f06a150: 8e040018 */ lw $a0,0x18($s0)
/* f06a154: 240d0001 */ addiu $t5,$zero,0x1
/* f06a158: ac4d0000 */ sw $t5,0x0($v0)
@@ -5534,7 +5534,7 @@ glabel var7f1aa1fc
/* f06a118: 8d040008 */ lw $a0,0x8($t0)
/* f06a11c: 10400004 */ beqz $v0,.L0f06a130
/* f06a120: 00402825 */ or $a1,$v0,$zero
/* f06a124: 0c006a87 */ jal modelGetNodeData
/* f06a124: 0c006a87 */ jal modelGetNodeRwData
/* f06a128: 8e040018 */ lw $a0,0x18($s0)
/* f06a12c: ac400000 */ sw $zero,0x0($v0)
.L0f06a130:
@@ -5545,7 +5545,7 @@ glabel var7f1aa1fc
/* f06a140: 24a500c9 */ addiu $a1,$a1,0xc9
/* f06a144: 10400005 */ beqz $v0,.L0f06a15c
/* f06a148: 00402825 */ or $a1,$v0,$zero
/* f06a14c: 0c006a87 */ jal modelGetNodeData
/* f06a14c: 0c006a87 */ jal modelGetNodeRwData
/* f06a150: 8e040018 */ lw $a0,0x18($s0)
/* f06a154: 240d0001 */ addiu $t5,$zero,0x1
/* f06a158: ac4d0000 */ sw $t5,0x0($v0)
@@ -5621,7 +5621,7 @@ glabel func0f06a1ec
/* f06a238: 24050065 */ addiu $a1,$zero,0x65
/* f06a23c: ae070018 */ sw $a3,0x18($s0)
/* f06a240: afa60028 */ sw $a2,0x28($sp)
/* f06a244: 0c006a6f */ jal modelGetPartNodeData
/* f06a244: 0c006a6f */ jal modelGetPartRodata
/* f06a248: 8fa40024 */ lw $a0,0x24($sp)
/* f06a24c: 10400004 */ beqz $v0,.L0f06a260
/* f06a250: 8fa60028 */ lw $a2,0x28($sp)
@@ -5631,7 +5631,7 @@ glabel func0f06a1ec
.L0f06a260:
/* f06a260: 8fa40024 */ lw $a0,0x24($sp)
/* f06a264: 24050066 */ addiu $a1,$zero,0x66
/* f06a268: 0c006a6f */ jal modelGetPartNodeData
/* f06a268: 0c006a6f */ jal modelGetPartRodata
/* f06a26c: afa60028 */ sw $a2,0x28($sp)
/* f06a270: 10400004 */ beqz $v0,.L0f06a284
/* f06a274: 8fa60028 */ lw $a2,0x28($sp)
@@ -8235,7 +8235,7 @@ glabel var7f1aa264
/* f06c088: 12e00034 */ beqz $s7,.L0f06c15c
/* f06c08c: 02602025 */ or $a0,$s3,$zero
/* f06c090: 8e110004 */ lw $s1,0x4($s0)
/* f06c094: 0c006a87 */ jal modelGetNodeData
/* f06c094: 0c006a87 */ jal modelGetNodeRwData
/* f06c098: 02002825 */ or $a1,$s0,$zero
/* f06c09c: 8c430004 */ lw $v1,0x4($v0)
/* f06c0a0: 1060002e */ beqz $v1,.L0f06c15c
@@ -16881,13 +16881,13 @@ glabel func0f070f08
/* f070f78: 24050005 */ addiu $a1,$zero,0x5
/* f070f7c: 8e280018 */ lw $t0,0x18($s1)
/* f070f80: 2413003b */ addiu $s3,$zero,0x3b
/* f070f84: 0c006a6f */ jal modelGetPartNodeData
/* f070f84: 0c006a6f */ jal modelGetPartRodata
/* f070f88: 8d040008 */ lw $a0,0x8($t0)
/* f070f8c: 14400036 */ bnez $v0,.L0f071068
/* f070f90: 00408025 */ or $s0,$v0,$zero
/* f070f94: 8e290018 */ lw $t1,0x18($s1)
/* f070f98: 00002825 */ or $a1,$zero,$zero
/* f070f9c: 0c006a6f */ jal modelGetPartNodeData
/* f070f9c: 0c006a6f */ jal modelGetPartRodata
/* f070fa0: 8d240008 */ lw $a0,0x8($t1)
/* f070fa4: 14400030 */ bnez $v0,.L0f071068
/* f070fa8: 0040a025 */ or $s4,$v0,$zero
@@ -16900,7 +16900,7 @@ glabel func0f070f08
/* f070fc0: 02a02825 */ or $a1,$s5,$zero
/* f070fc4: 8e2a0018 */ lw $t2,0x18($s1)
/* f070fc8: 24130004 */ addiu $s3,$zero,0x4
/* f070fcc: 0c006a6f */ jal modelGetPartNodeData
/* f070fcc: 0c006a6f */ jal modelGetPartRodata
/* f070fd0: 8d440008 */ lw $a0,0x8($t2)
/* f070fd4: 10000024 */ b .L0f071068
/* f070fd8: 00408025 */ or $s0,$v0,$zero
@@ -16909,7 +16909,7 @@ glabel func0f070f08
/* f070fe0: 02c02825 */ or $a1,$s6,$zero
/* f070fe4: 8e2b0018 */ lw $t3,0x18($s1)
/* f070fe8: 24130004 */ addiu $s3,$zero,0x4
/* f070fec: 0c006a6f */ jal modelGetPartNodeData
/* f070fec: 0c006a6f */ jal modelGetPartRodata
/* f070ff0: 8d640008 */ lw $a0,0x8($t3)
/* f070ff4: 1000001c */ b .L0f071068
/* f070ff8: 00408025 */ or $s0,$v0,$zero
@@ -16918,7 +16918,7 @@ glabel func0f070f08
/* f071000: 02e02825 */ or $a1,$s7,$zero
/* f071004: 8e2c0018 */ lw $t4,0x18($s1)
/* f071008: 24130004 */ addiu $s3,$zero,0x4
/* f07100c: 0c006a6f */ jal modelGetPartNodeData
/* f07100c: 0c006a6f */ jal modelGetPartRodata
/* f071010: 8d840008 */ lw $a0,0x8($t4)
/* f071014: 10000014 */ b .L0f071068
/* f071018: 00408025 */ or $s0,$v0,$zero
@@ -16931,7 +16931,7 @@ glabel func0f070f08
/* f071030: 00000000 */ nop
/* f071034: 8e2f0018 */ lw $t7,0x18($s1)
/* f071038: 24130004 */ addiu $s3,$zero,0x4
/* f07103c: 0c006a6f */ jal modelGetPartNodeData
/* f07103c: 0c006a6f */ jal modelGetPartRodata
/* f071040: 8de40008 */ lw $a0,0x8($t7)
/* f071044: 10000008 */ b .L0f071068
/* f071048: 00408025 */ or $s0,$v0,$zero
@@ -16940,7 +16940,7 @@ glabel func0f070f08
/* f071050: 24050006 */ addiu $a1,$zero,0x6
/* f071054: 8e2e0018 */ lw $t6,0x18($s1)
/* f071058: 2413003b */ addiu $s3,$zero,0x3b
/* f07105c: 0c006a6f */ jal modelGetPartNodeData
/* f07105c: 0c006a6f */ jal modelGetPartRodata
/* f071060: 8dc40008 */ lw $a0,0x8($t6)
/* f071064: 00408025 */ or $s0,$v0,$zero
.L0f071068:
@@ -33346,7 +33346,7 @@ void doorUpdatePortalIfWindowed(struct prop *doorprop, s32 playercount)
struct modelnode *node;
bool canhide = true;
struct model *model = doorprop->obj->model;
struct modeldata_partid *partdata;
union modelrwdata *rwdata;
if (doorobj->doorflags & DOORFLAG_WINDOWED) {
doorobj->fadealpha = func0f07092c(&doorprop->pos, doorobj->xludist, doorobj->opadist, 0);
@@ -33357,9 +33357,9 @@ void doorUpdatePortalIfWindowed(struct prop *doorprop, s32 playercount)
if (model->filedata->type == &g_ModelTypeWindowedDoor) {
node = modelGetPart(model->filedata, MODELPART_01);
partdata = modelGetNodeData(model, node);
rwdata = modelGetNodeRwData(model, node);
if (partdata->visible.u32 == 0) {
if (rwdata->partid.visible.u32 == 0) {
canhide = false;
}
}
@@ -33425,7 +33425,7 @@ glabel var7f1aa44c
/* f0774d0: c436a444 */ lwc1 $f22,%lo(var7f1aa444)($at)
/* f0774d4: 460e2182 */ mul.s $f6,$f4,$f14
/* f0774d8: 24050001 */ addiu $a1,$zero,0x1
/* f0774dc: 0c006a6f */ jal modelGetPartNodeData
/* f0774dc: 0c006a6f */ jal modelGetPartRodata
/* f0774e0: 4606b501 */ sub.s $f20,$f22,$f6
/* f0774e4: 26b10040 */ addiu $s1,$s5,0x40
/* f0774e8: 00408025 */ or $s0,$v0,$zero
@@ -33439,7 +33439,7 @@ glabel var7f1aa44c
/* f077508: 0c00567f */ jal func000159fc
/* f07750c: 02202825 */ or $a1,$s1,$zero
/* f077510: 8ec40008 */ lw $a0,0x8($s6)
/* f077514: 0c006a6f */ jal modelGetPartNodeData
/* f077514: 0c006a6f */ jal modelGetPartRodata
/* f077518: 24050002 */ addiu $a1,$zero,0x2
/* f07751c: 26b10080 */ addiu $s1,$s5,0x80
/* f077520: 00408025 */ or $s0,$v0,$zero
@@ -33482,7 +33482,7 @@ glabel var7f1aa44c
.L0f0775ac:
/* f0775ac: 26330001 */ addiu $s3,$s1,0x1
/* f0775b0: 02602825 */ or $a1,$s3,$zero
/* f0775b4: 0c006a6f */ jal modelGetPartNodeData
/* f0775b4: 0c006a6f */ jal modelGetPartRodata
/* f0775b8: 8ec40008 */ lw $a0,0x8($s6)
/* f0775bc: 0013c180 */ sll $t8,$s3,0x6
/* f0775c0: 02b89021 */ addu $s2,$s5,$t8
@@ -33498,7 +33498,7 @@ glabel var7f1aa44c
/* f0775e8: 02402825 */ or $a1,$s2,$zero
/* f0775ec: 26330002 */ addiu $s3,$s1,0x2
/* f0775f0: 02602825 */ or $a1,$s3,$zero
/* f0775f4: 0c006a6f */ jal modelGetPartNodeData
/* f0775f4: 0c006a6f */ jal modelGetPartRodata
/* f0775f8: 8ec40008 */ lw $a0,0x8($s6)
/* f0775fc: 0013c980 */ sll $t9,$s3,0x6
/* f077600: 02b98821 */ addu $s1,$s5,$t9
@@ -33719,7 +33719,7 @@ glabel var7f1aa454
/* f07790c: 304d00ff */ andi $t5,$v0,0xff
/* f077910: 55a100ab */ bnel $t5,$at,.L0f077bc0
/* f077914: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077918: 0c006a87 */ jal modelGetNodeData
/* f077918: 0c006a87 */ jal modelGetNodeRwData
/* f07791c: 00000000 */ nop
/* f077920: c6aa0004 */ lwc1 $f10,0x4($s5)
/* f077924: c6c40004 */ lwc1 $f4,0x4($s6)
@@ -34105,7 +34105,7 @@ glabel var7f1aa454
/* f07790c: 304d00ff */ andi $t5,$v0,0xff
/* f077910: 55a100ab */ bnel $t5,$at,.L0f077bc0
/* f077914: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077918: 0c006a87 */ jal modelGetNodeData
/* f077918: 0c006a87 */ jal modelGetNodeRwData
/* f07791c: 00000000 */ nop
/* f077920: c6aa0004 */ lwc1 $f10,0x4($s5)
/* f077924: c6c40004 */ lwc1 $f4,0x4($s6)
@@ -34488,7 +34488,7 @@ glabel var7f1aa454
/* f076504: 304d00ff */ andi $t5,$v0,0xff
/* f076508: 55a10067 */ bnel $t5,$at,.NB0f0766a8
/* f07650c: 8fac0088 */ lw $t4,0x88($sp)
/* f076510: 0c006bab */ jal modelGetNodeData
/* f076510: 0c006bab */ jal modelGetNodeRwData
/* f076514: 00000000 */ sll $zero,$zero,0x0
/* f076518: c64a0004 */ lwc1 $f10,0x4($s2)
/* f07651c: c6640004 */ lwc1 $f4,0x4($s3)
@@ -35031,7 +35031,7 @@ glabel var7f1aa4ac
/* f078948: 8c4e000c */ lw $t6,0xc($v0)
/* f07894c: afae0074 */ sw $t6,0x74($sp)
/* f078950: 8c440008 */ lw $a0,0x8($v0)
/* f078954: 0c006a6f */ jal modelGetPartNodeData
/* f078954: 0c006a6f */ jal modelGetPartRodata
/* f078958: afa3007c */ sw $v1,0x7c($sp)
/* f07895c: 8fa3007c */ lw $v1,0x7c($sp)
/* f078960: 44802000 */ mtc1 $zero,$f4
@@ -37667,7 +37667,7 @@ glabel var7f1aa588
/* f079d00: 8e240008 */ lw $a0,0x8($s1)
.L0f079d04:
/* f079d04: e7ac0048 */ swc1 $f12,0x48($sp)
/* f079d08: 0c006a6f */ jal modelGetPartNodeData
/* f079d08: 0c006a6f */ jal modelGetPartRodata
/* f079d0c: afa20064 */ sw $v0,0x64($sp)
/* f079d10: c4500000 */ lwc1 $f16,0x0($v0)
/* f079d14: 02002025 */ or $a0,$s0,$zero
@@ -38747,7 +38747,7 @@ glabel var7f1aa5a8
/* f07ac78: 8da40008 */ lw $a0,0x8($t5)
/* f07ac7c: 10400005 */ beqz $v0,.L0f07ac94
/* f07ac80: 00402825 */ or $a1,$v0,$zero
/* f07ac84: 0c006a87 */ jal modelGetNodeData
/* f07ac84: 0c006a87 */ jal modelGetNodeRwData
/* f07ac88: 8fa40184 */ lw $a0,0x184($sp)
/* f07ac8c: 8fae018c */ lw $t6,0x18c($sp)
/* f07ac90: a44e0000 */ sh $t6,0x0($v0)
@@ -38758,7 +38758,7 @@ glabel var7f1aa5a8
/* f07aca0: 8d640008 */ lw $a0,0x8($t3)
/* f07aca4: 10400005 */ beqz $v0,.L0f07acbc
/* f07aca8: 00402825 */ or $a1,$v0,$zero
/* f07acac: 0c006a87 */ jal modelGetNodeData
/* f07acac: 0c006a87 */ jal modelGetNodeRwData
/* f07acb0: 8fa40184 */ lw $a0,0x184($sp)
/* f07acb4: 8fb80188 */ lw $t8,0x188($sp)
/* f07acb8: a4580000 */ sh $t8,0x0($v0)
@@ -39709,7 +39709,7 @@ glabel var7f1aa5a8
/* f07ac78: 8da40008 */ lw $a0,0x8($t5)
/* f07ac7c: 10400005 */ beqz $v0,.L0f07ac94
/* f07ac80: 00402825 */ or $a1,$v0,$zero
/* f07ac84: 0c006a87 */ jal modelGetNodeData
/* f07ac84: 0c006a87 */ jal modelGetNodeRwData
/* f07ac88: 8fa40184 */ lw $a0,0x184($sp)
/* f07ac8c: 8fae018c */ lw $t6,0x18c($sp)
/* f07ac90: a44e0000 */ sh $t6,0x0($v0)
@@ -39720,7 +39720,7 @@ glabel var7f1aa5a8
/* f07aca0: 8d640008 */ lw $a0,0x8($t3)
/* f07aca4: 10400005 */ beqz $v0,.L0f07acbc
/* f07aca8: 00402825 */ or $a1,$v0,$zero
/* f07acac: 0c006a87 */ jal modelGetNodeData
/* f07acac: 0c006a87 */ jal modelGetNodeRwData
/* f07acb0: 8fa40184 */ lw $a0,0x184($sp)
/* f07acb4: 8fb80188 */ lw $t8,0x188($sp)
/* f07acb8: a4580000 */ sh $t8,0x0($v0)
@@ -39750,7 +39750,7 @@ glabel var7f1aa5b0
/* f07ace8: 8c4e000c */ lw $t6,0xc($v0)
/* f07acec: afae00ec */ sw $t6,0xec($sp)
/* f07acf0: 8c440008 */ lw $a0,0x8($v0)
/* f07acf4: 0c006a6f */ jal modelGetPartNodeData
/* f07acf4: 0c006a6f */ jal modelGetPartRodata
/* f07acf8: afa200f0 */ sw $v0,0xf0($sp)
/* f07acfc: afa200e8 */ sw $v0,0xe8($sp)
/* f07ad00: 3c017f1b */ lui $at,%hi(var7f1aa5ac)
@@ -39780,7 +39780,7 @@ glabel var7f1aa5b0
/* f07ad60: afa60024 */ sw $a2,0x24($sp)
/* f07ad64: 8faf00f0 */ lw $t7,0xf0($sp)
/* f07ad68: 24050002 */ addiu $a1,$zero,0x2
/* f07ad6c: 0c006a6f */ jal modelGetPartNodeData
/* f07ad6c: 0c006a6f */ jal modelGetPartRodata
/* f07ad70: 8de40008 */ lw $a0,0x8($t7)
/* f07ad74: afa200e8 */ sw $v0,0xe8($sp)
/* f07ad78: c60c00dc */ lwc1 $f12,0xdc($s0)
@@ -40138,7 +40138,7 @@ glabel var7f1aa610
/* f07b48c: 8fa90114 */ lw $t1,0x114($sp)
/* f07b490: 510000b2 */ beqzl $t0,.L0f07b75c
/* f07b494: c60000d8 */ lwc1 $f0,0xd8($s0)
/* f07b498: 0c006a6f */ jal modelGetPartNodeData
/* f07b498: 0c006a6f */ jal modelGetPartRodata
/* f07b49c: 8d240008 */ lw $a0,0x8($t1)
/* f07b4a0: 8faa00dc */ lw $t2,0xdc($sp)
/* f07b4a4: afa200d0 */ sw $v0,0xd0($sp)
@@ -40455,7 +40455,7 @@ glabel var7f1aa610
/* f07b93c: 8d240008 */ lw $a0,0x8($t1)
/* f07b940: 10400004 */ beqz $v0,.L0f07b954
/* f07b944: 00402825 */ or $a1,$v0,$zero
/* f07b948: 0c006a87 */ jal modelGetNodeData
/* f07b948: 0c006a87 */ jal modelGetNodeRwData
/* f07b94c: 8fa40114 */ lw $a0,0x114($sp)
/* f07b950: afa200d4 */ sw $v0,0xd4($sp)
.L0f07b954:
@@ -40599,7 +40599,7 @@ glabel var7f1aa610
/* f07b48c: 8fa90114 */ lw $t1,0x114($sp)
/* f07b490: 510000b2 */ beqzl $t0,.L0f07b75c
/* f07b494: c60000d8 */ lwc1 $f0,0xd8($s0)
/* f07b498: 0c006a6f */ jal modelGetPartNodeData
/* f07b498: 0c006a6f */ jal modelGetPartRodata
/* f07b49c: 8d240008 */ lw $a0,0x8($t1)
/* f07b4a0: 8faa00dc */ lw $t2,0xdc($sp)
/* f07b4a4: afa200d0 */ sw $v0,0xd0($sp)
@@ -40916,7 +40916,7 @@ glabel var7f1aa610
/* f07b93c: 8d240008 */ lw $a0,0x8($t1)
/* f07b940: 10400004 */ beqz $v0,.L0f07b954
/* f07b944: 00402825 */ or $a1,$v0,$zero
/* f07b948: 0c006a87 */ jal modelGetNodeData
/* f07b948: 0c006a87 */ jal modelGetNodeRwData
/* f07b94c: 8fa40114 */ lw $a0,0x114($sp)
/* f07b950: afa200d4 */ sw $v0,0xd4($sp)
.L0f07b954:
@@ -47323,10 +47323,10 @@ void func0f07e058(struct prop *prop)
struct modelnode *node = modelGetPart(model->filedata, MODELPART_6E);
if (node) {
struct modeldata_partid *data = modelGetNodeData(model, node);
union modelrwdata *data = modelGetNodeRwData(model, node);
u32 flags = obj->flags;
data->visible.u32 = (flags & OBJFLAG_DEACTIVATED) == 0;
data->partid.visible.u32 = (flags & OBJFLAG_DEACTIVATED) == 0;
}
}
@@ -47435,7 +47435,7 @@ glabel func0f07e1fc
/* f07e210: 00002825 */ or $a1,$zero,$zero
/* f07e214: 8c510018 */ lw $s1,0x18($v0)
/* f07e218: 8e30000c */ lw $s0,0xc($s1)
/* f07e21c: 0c006a6f */ jal modelGetPartNodeData
/* f07e21c: 0c006a6f */ jal modelGetPartRodata
/* f07e220: 8e240008 */ lw $a0,0x8($s1)
/* f07e224: 26050040 */ addiu $a1,$s0,0x40
/* f07e228: afa50024 */ sw $a1,0x24($sp)
@@ -47445,7 +47445,7 @@ glabel func0f07e1fc
/* f07e238: 0c0056f8 */ jal func00015be0
/* f07e23c: 02002025 */ or $a0,$s0,$zero
/* f07e240: 8e240008 */ lw $a0,0x8($s1)
/* f07e244: 0c006a6f */ jal modelGetPartNodeData
/* f07e244: 0c006a6f */ jal modelGetPartRodata
/* f07e248: 24050001 */ addiu $a1,$zero,0x1
/* f07e24c: 26050080 */ addiu $a1,$s0,0x80
/* f07e250: afa50024 */ sw $a1,0x24($sp)
@@ -47455,7 +47455,7 @@ glabel func0f07e1fc
/* f07e260: 0c0056f8 */ jal func00015be0
/* f07e264: 02002025 */ or $a0,$s0,$zero
/* f07e268: 8e240008 */ lw $a0,0x8($s1)
/* f07e26c: 0c006a6f */ jal modelGetPartNodeData
/* f07e26c: 0c006a6f */ jal modelGetPartRodata
/* f07e270: 24050002 */ addiu $a1,$zero,0x2
/* f07e274: 260500c0 */ addiu $a1,$s0,0xc0
/* f07e278: afa50024 */ sw $a1,0x24($sp)
@@ -47465,7 +47465,7 @@ glabel func0f07e1fc
/* f07e288: 0c0056f8 */ jal func00015be0
/* f07e28c: 02002025 */ or $a0,$s0,$zero
/* f07e290: 8e240008 */ lw $a0,0x8($s1)
/* f07e294: 0c006a6f */ jal modelGetPartNodeData
/* f07e294: 0c006a6f */ jal modelGetPartRodata
/* f07e298: 24050003 */ addiu $a1,$zero,0x3
/* f07e29c: 26110100 */ addiu $s1,$s0,0x100
/* f07e2a0: 02202825 */ or $a1,$s1,$zero
@@ -48536,7 +48536,7 @@ glabel var7f1aa824
/* f07fc68: afb800ac */ sw $t8,0xac($sp)
/* f07fc6c: 8e290004 */ lw $t1,0x4($s1)
/* f07fc70: 02202825 */ or $a1,$s1,$zero
/* f07fc74: 0c006a87 */ jal modelGetNodeData
/* f07fc74: 0c006a87 */ jal modelGetNodeRwData
/* f07fc78: afa900a8 */ sw $t1,0xa8($sp)
/* f07fc7c: 3c017f1b */ lui $at,%hi(var7f1aa7cc)
/* f07fc80: c43aa7cc */ lwc1 $f26,%lo(var7f1aa7cc)($at)
@@ -51306,7 +51306,7 @@ glabel var7f1aa82c
/* f081664: 8c460004 */ lw $a2,0x4($v0)
/* f081668: 8e040018 */ lw $a0,0x18($s0)
/* f08166c: 00402825 */ or $a1,$v0,$zero
/* f081670: 0c006a87 */ jal modelGetNodeData
/* f081670: 0c006a87 */ jal modelGetNodeRwData
/* f081674: afa60060 */ sw $a2,0x60($sp)
/* f081678: 8fa60060 */ lw $a2,0x60($sp)
/* f08167c: afa2005c */ sw $v0,0x5c($sp)
@@ -51941,7 +51941,7 @@ glabel var7f1aa82c
/* f081664: 8c460004 */ lw $a2,0x4($v0)
/* f081668: 8e040018 */ lw $a0,0x18($s0)
/* f08166c: 00402825 */ or $a1,$v0,$zero
/* f081670: 0c006a87 */ jal modelGetNodeData
/* f081670: 0c006a87 */ jal modelGetNodeRwData
/* f081674: afa60060 */ sw $a2,0x60($sp)
/* f081678: 8fa60060 */ lw $a2,0x60($sp)
/* f08167c: afa2005c */ sw $v0,0x5c($sp)
@@ -52448,7 +52448,7 @@ glabel var7f1aa82c
// if (door->doortype == DOORTYPE_LASER) {
// node = func0f0687e4(obj->model);
// dldata1 = &node->data->displaylist;
// dldata2 = modelGetNodeData(obj->model, node);
// dldata2 = modelGetNodeRwData(obj->model, node);
// oldcolours = (struct colour *)(((u32)&dldata1->ptable[dldata1->pcount] + 7 | 7) ^ 7);
// newcolours = (struct colour *)gfxAllocateColours(dldata1->numcolours);
//
@@ -58997,7 +58997,7 @@ glabel var7f1aaa00
/* f084a70: 00000000 */ nop
/* f084a74: 8e110004 */ lw $s1,0x4($s0)
/* f084a78: 02c02025 */ or $a0,$s6,$zero
/* f084a7c: 0c006a87 */ jal modelGetNodeData
/* f084a7c: 0c006a87 */ jal modelGetNodeRwData
/* f084a80: 02002825 */ or $a1,$s0,$zero
/* f084a84: 8c430004 */ lw $v1,0x4($v0)
/* f084a88: 1060002b */ beqz $v1,.L0f084b38
@@ -59222,12 +59222,11 @@ void doorDestroyGlass(struct doorobj *door)
bool bail;
struct prop *prop = door->base.prop;
struct model *model = door->base.model;
struct model08thing *thing;
struct modeldata_partid *data;
union modelrodata *rodata;
union modelrwdata *rwdata;
f32 matrix[16];
// TODO: Remove cast
thing = (struct model08thing *) modelGetPartNodeData(model->filedata, 2);
rodata = modelGetPartRodata(model->filedata, 2);
if (door->portalnum >= 0) {
bail = (g_BgPortals[door->portalnum].flags & PORTALFLAG_ENABLED) != 0
@@ -59242,38 +59241,37 @@ void doorDestroyGlass(struct doorobj *door)
func0f08c424(door, matrix);
shardsCreate((struct coord *) &matrix[12], &matrix[0], &matrix[4], &matrix[8],
thing->unk04[0], thing->unk04[1], thing->unk04[2], thing->unk04[3],
rodata->bbox.xmin, rodata->bbox.xmax, rodata->bbox.ymin, rodata->bbox.ymax,
SHARDTYPE_GLASS, prop);
func0f13e40c(prop, 1);
node = modelGetPart(model->filedata, 1);
data = modelGetNodeData(model, node);
data->visible.u32 = 0;
rwdata = modelGetNodeRwData(model, node);
rwdata->partid.visible.u32 = 0;
}
void func0f084f64(struct defaultobj *obj)
{
struct prop *prop = obj->prop;
struct model *model = obj->model;
struct model08thing *thing;
struct modeldata_partid *data;
union modelrodata *rodata;
union modelrwdata *rwdata;
Mtxf *sp7c;
Mtxf matrix;
if (prop->flags & PROPFLAG_02) {
// TODO: Remove cast
thing = (struct model08thing *) modelGetPartNodeData(model->filedata, 2);
rodata = modelGetPartRodata(model->filedata, 2);
sp7c = func0001a5cc(model, modelGetPart(model->filedata, 1), 0);
func00015be4(currentPlayerGetUnk174c(), sp7c, &matrix);
shardsCreate((struct coord *) matrix.m[3], matrix.m[0], matrix.m[1], matrix.m[2],
thing->unk04[0], thing->unk04[1], thing->unk04[2], thing->unk04[3],
rodata->bbox.xmin, rodata->bbox.xmax, rodata->bbox.ymin, rodata->bbox.ymax,
SHARDTYPE_GLASS, prop);
}
func0f13e40c(prop, 1);
data = modelGetNodeData(model, modelGetPart(model->filedata, 3));
data->visible.u32 = 0;
rwdata = modelGetNodeRwData(model, modelGetPart(model->filedata, 3));
rwdata->partid.visible.u32 = 0;
}
void func0f085050(struct prop *prop, f32 damage, struct coord *pos, s32 arg3, s32 arg4)
@@ -66586,7 +66584,7 @@ glabel func0f089a94
/* f089b18: 8e020014 */ lw $v0,0x14($s0)
.L0f089b1c:
/* f089b1c: 8e110004 */ lw $s1,0x4($s0)
/* f089b20: 0c006a87 */ jal modelGetNodeData
/* f089b20: 0c006a87 */ jal modelGetNodeRwData
/* f089b24: 02002825 */ or $a1,$s0,$zero
/* f089b28: 00409025 */ or $s2,$v0,$zero
/* f089b2c: 02c02025 */ or $a0,$s6,$zero
@@ -69799,7 +69797,7 @@ glabel func0f08bb5c
/* f08bbb8: 00002825 */ or $a1,$zero,$zero
/* f08bbbc: 1040000a */ beqz $v0,.L0f08bbe8
/* f08bbc0: 00402825 */ or $a1,$v0,$zero
/* f08bbc4: 0c006a87 */ jal modelGetNodeData
/* f08bbc4: 0c006a87 */ jal modelGetNodeRwData
/* f08bbc8: 02002025 */ or $a0,$s0,$zero
/* f08bbcc: 8fb9003c */ lw $t9,0x3c($sp)
/* f08bbd0: 24090001 */ addiu $t1,$zero,0x1
@@ -69815,7 +69813,7 @@ glabel func0f08bb5c
/* f08bbf0: 24050002 */ addiu $a1,$zero,0x2
/* f08bbf4: 1040000a */ beqz $v0,.L0f08bc20
/* f08bbf8: 00402825 */ or $a1,$v0,$zero
/* f08bbfc: 0c006a87 */ jal modelGetNodeData
/* f08bbfc: 0c006a87 */ jal modelGetNodeRwData
/* f08bc00: 02002025 */ or $a0,$s0,$zero
/* f08bc04: 8faa003c */ lw $t2,0x3c($sp)
/* f08bc08: 240c0001 */ addiu $t4,$zero,0x1
@@ -69865,7 +69863,7 @@ glabel func0f08bc5c
/* f08bc98: 8fa60018 */ lw $a2,0x18($sp)
/* f08bc9c: 10400005 */ beqz $v0,.L0f08bcb4
/* f08bca0: 00402825 */ or $a1,$v0,$zero
/* f08bca4: 0c006a87 */ jal modelGetNodeData
/* f08bca4: 0c006a87 */ jal modelGetNodeRwData
/* f08bca8: 00c02025 */ or $a0,$a2,$zero
/* f08bcac: 1000000d */ b .L0f08bce4
/* f08bcb0: 84420000 */ lh $v0,0x0($v0)
@@ -69877,7 +69875,7 @@ glabel func0f08bc5c
/* f08bcc4: 8fa60018 */ lw $a2,0x18($sp)
/* f08bcc8: 10400005 */ beqz $v0,.L0f08bce0
/* f08bccc: 00402825 */ or $a1,$v0,$zero
/* f08bcd0: 0c006a87 */ jal modelGetNodeData
/* f08bcd0: 0c006a87 */ jal modelGetNodeRwData
/* f08bcd4: 00c02025 */ or $a0,$a2,$zero
/* f08bcd8: 10000002 */ b .L0f08bce4
/* f08bcdc: 8c420000 */ lw $v0,0x0($v0)
@@ -71549,7 +71547,7 @@ glabel func0f08d3dc
/* f08d408: 8c580004 */ lw $t8,0x4($v0)
/* f08d40c: 00402825 */ or $a1,$v0,$zero
/* f08d410: afb80028 */ sw $t8,0x28($sp)
/* f08d414: 0c006a87 */ jal modelGetNodeData
/* f08d414: 0c006a87 */ jal modelGetNodeRwData
/* f08d418: 8e040018 */ lw $a0,0x18($s0)
/* f08d41c: 8fb90028 */ lw $t9,0x28($sp)
/* f08d420: afa20024 */ sw $v0,0x24($sp)
@@ -71587,7 +71585,7 @@ glabel func0f08d460
/* f08d48c: 8c430004 */ lw $v1,0x4($v0)
/* f08d490: 8e040018 */ lw $a0,0x18($s0)
/* f08d494: 00402825 */ or $a1,$v0,$zero
/* f08d498: 0c006a87 */ jal modelGetNodeData
/* f08d498: 0c006a87 */ jal modelGetNodeRwData
/* f08d49c: afa30028 */ sw $v1,0x28($sp)
/* f08d4a0: 8e0600a4 */ lw $a2,0xa4($s0)
/* f08d4a4: 8c580000 */ lw $t8,0x0($v0)
@@ -77908,16 +77906,16 @@ void objSetModelPartVisible(struct defaultobj *obj, s32 partnum, bool visible)
struct modelnode *node = modelGetPart(obj->model->filedata, partnum);
if (node) {
struct modeldata_partid *data = modelGetNodeData(obj->model, node);
union modelrwdata *rwdata = modelGetNodeRwData(obj->model, node);
if (data) {
if (rwdata) {
if (visible) {
visible = true;
} else {
visible = false;
}
data->visible.u32 = visible;
rwdata->partid.visible.u32 = visible;
}
}
}
+26 -26
View File
@@ -1642,7 +1642,7 @@ glabel titleInitPdLogo
/* f016fa4: 0c006b4d */ jal modelSetRootPosition
/* f016fa8: 27a50034 */ addiu $a1,$sp,0x34
/* f016fac: 8e240268 */ lw $a0,0x268($s1)
/* f016fb0: 0c006a6f */ jal modelGetPartNodeData
/* f016fb0: 0c006a6f */ jal modelGetPartRodata
/* f016fb4: 24050002 */ addiu $a1,$zero,0x2
/* f016fb8: 84430010 */ lh $v1,0x10($v0)
/* f016fbc: 3c04800a */ lui $a0,%hi(var8009cca8)
@@ -1755,7 +1755,7 @@ glabel titleInitPdLogo
//
// {
// // fb0
// struct modelthing *modelthing = modelGetPartNodeData(g_ModelStates[MODEL_PDTWO].filedata, 2);
// struct modelthing *modelthing = modelGetPartRodata(g_ModelStates[MODEL_PDTWO].filedata, 2);
// u32 size2;
//
// size = ALIGN8(modelthing->unk10 * 0xc);
@@ -1946,7 +1946,7 @@ glabel func0f017248
/* f0172cc: 0c006a47 */ jal modelGetPart
/* f0172d0: 8ee40008 */ lw $a0,0x8($s7)
/* f0172d4: 02e02025 */ or $a0,$s7,$zero
/* f0172d8: 0c006a87 */ jal modelGetNodeData
/* f0172d8: 0c006a87 */ jal modelGetNodeRwData
/* f0172dc: 00402825 */ or $a1,$v0,$zero
/* f0172e0: 8fac0158 */ lw $t4,0x158($sp)
/* f0172e4: 24050001 */ addiu $a1,$zero,0x1
@@ -1954,7 +1954,7 @@ glabel func0f017248
/* f0172ec: 0c006a47 */ jal modelGetPart
/* f0172f0: 8ee40008 */ lw $a0,0x8($s7)
/* f0172f4: 02e02025 */ or $a0,$s7,$zero
/* f0172f8: 0c006a87 */ jal modelGetNodeData
/* f0172f8: 0c006a87 */ jal modelGetNodeRwData
/* f0172fc: 00402825 */ or $a1,$v0,$zero
/* f017300: 3c014780 */ lui $at,0x4780
/* f017304: 44812000 */ mtc1 $at,$f4
@@ -2092,14 +2092,14 @@ glabel func0f017248
/* f0174d8: 8e150004 */ lw $s5,0x4($s0)
/* f0174dc: 8cd10004 */ lw $s1,0x4($a2)
/* f0174e0: 02e02025 */ or $a0,$s7,$zero
/* f0174e4: 0c006a87 */ jal modelGetNodeData
/* f0174e4: 0c006a87 */ jal modelGetNodeRwData
/* f0174e8: 02002825 */ or $a1,$s0,$zero
/* f0174ec: 10000006 */ b .L0f017508
/* f0174f0: 86af0010 */ lh $t7,0x10($s5)
.L0f0174f4:
/* f0174f4: 8cd50004 */ lw $s5,0x4($a2)
/* f0174f8: 8e110004 */ lw $s1,0x4($s0)
/* f0174fc: 0c006a87 */ jal modelGetNodeData
/* f0174fc: 0c006a87 */ jal modelGetNodeRwData
/* f017500: 00c02825 */ or $a1,$a2,$zero
/* f017504: 86af0010 */ lh $t7,0x10($s5)
.L0f017508:
@@ -3342,7 +3342,7 @@ glabel var7f1a8468
/* f018800: 94ce0016 */ lhu $t6,0x16($a2)
/* f018804: afa60164 */ sw $a2,0x164($sp)
/* f018808: 25d80001 */ addiu $t8,$t6,0x1
/* f01880c: 0c0069eb */ jal modelGetNodeData
/* f01880c: 0c0069eb */ jal modelGetNodeRwData
/* f018810: afb800d8 */ sw $t8,0xd8($sp)
/* f018814: afa20160 */ sw $v0,0x160($sp)
/* f018818: 0fc5a25d */ jal gfxAllocate
@@ -3391,7 +3391,7 @@ glabel var7f1a8468
/* f0188c0: afa60164 */ sw $a2,0x164($sp)
/* f0188c4: 01d8c821 */ addu $t9,$t6,$t8
/* f0188c8: 272f0001 */ addiu $t7,$t9,0x1
/* f0188cc: 0c0069eb */ jal modelGetNodeData
/* f0188cc: 0c0069eb */ jal modelGetNodeRwData
/* f0188d0: afaf00d8 */ sw $t7,0xd8($sp)
/* f0188d4: afa20160 */ sw $v0,0x160($sp)
/* f0188d8: 0fc5a25d */ jal gfxAllocate
@@ -3453,7 +3453,7 @@ glabel var7f1a8468
/* f0189b0: afa60164 */ sw $a2,0x164($sp)
/* f0189b4: 01eec021 */ addu $t8,$t7,$t6
/* f0189b8: 27190001 */ addiu $t9,$t8,0x1
/* f0189bc: 0c0069eb */ jal modelGetNodeData
/* f0189bc: 0c0069eb */ jal modelGetNodeRwData
/* f0189c0: afb900d8 */ sw $t9,0xd8($sp)
/* f0189c4: afa20160 */ sw $v0,0x160($sp)
/* f0189c8: 0fc5a25d */ jal gfxAllocate
@@ -3515,7 +3515,7 @@ glabel var7f1a8468
/* f018aa0: afa60164 */ sw $a2,0x164($sp)
/* f018aa4: 032f7021 */ addu $t6,$t9,$t7
/* f018aa8: 25d80001 */ addiu $t8,$t6,0x1
/* f018aac: 0c0069eb */ jal modelGetNodeData
/* f018aac: 0c0069eb */ jal modelGetNodeRwData
/* f018ab0: afb800d8 */ sw $t8,0xd8($sp)
/* f018ab4: afa20160 */ sw $v0,0x160($sp)
/* f018ab8: 0fc5a25d */ jal gfxAllocate
@@ -4673,7 +4673,7 @@ glabel var7f1a8468
/* f01871c: 94cf0016 */ lhu $t7,0x16($a2)
/* f018720: afa60164 */ sw $a2,0x164($sp)
/* f018724: 25ee0001 */ addiu $t6,$t7,0x1
/* f018728: 0c006a87 */ jal modelGetNodeData
/* f018728: 0c006a87 */ jal modelGetNodeRwData
/* f01872c: afae00d8 */ sw $t6,0xd8($sp)
/* f018730: afa20160 */ sw $v0,0x160($sp)
/* f018734: 0fc59e7d */ jal gfxAllocate
@@ -4722,7 +4722,7 @@ glabel var7f1a8468
/* f0187dc: afa60164 */ sw $a2,0x164($sp)
/* f0187e0: 01eec021 */ addu $t8,$t7,$t6
/* f0187e4: 27190001 */ addiu $t9,$t8,0x1
/* f0187e8: 0c006a87 */ jal modelGetNodeData
/* f0187e8: 0c006a87 */ jal modelGetNodeRwData
/* f0187ec: afb900d8 */ sw $t9,0xd8($sp)
/* f0187f0: afa20160 */ sw $v0,0x160($sp)
/* f0187f4: 0fc59e7d */ jal gfxAllocate
@@ -4784,7 +4784,7 @@ glabel var7f1a8468
/* f0188cc: afa60164 */ sw $a2,0x164($sp)
/* f0188d0: 032f7021 */ addu $t6,$t9,$t7
/* f0188d4: 25d80001 */ addiu $t8,$t6,0x1
/* f0188d8: 0c006a87 */ jal modelGetNodeData
/* f0188d8: 0c006a87 */ jal modelGetNodeRwData
/* f0188dc: afb800d8 */ sw $t8,0xd8($sp)
/* f0188e0: afa20160 */ sw $v0,0x160($sp)
/* f0188e4: 0fc59e7d */ jal gfxAllocate
@@ -4846,7 +4846,7 @@ glabel var7f1a8468
/* f0189bc: afa60164 */ sw $a2,0x164($sp)
/* f0189c0: 03197821 */ addu $t7,$t8,$t9
/* f0189c4: 25ee0001 */ addiu $t6,$t7,0x1
/* f0189c8: 0c006a87 */ jal modelGetNodeData
/* f0189c8: 0c006a87 */ jal modelGetNodeRwData
/* f0189cc: afae00d8 */ sw $t6,0xd8($sp)
/* f0189d0: afa20160 */ sw $v0,0x160($sp)
/* f0189d4: 0fc59e7d */ jal gfxAllocate
@@ -6391,7 +6391,7 @@ glabel var7f1a84bc
/* f01a100: 0c006a47 */ jal modelGetPart
/* f01a104: 8f240008 */ lw $a0,0x8($t9)
/* f01a108: 8e640000 */ lw $a0,0x0($s3)
/* f01a10c: 0c006a87 */ jal modelGetNodeData
/* f01a10c: 0c006a87 */ jal modelGetNodeRwData
/* f01a110: 00402825 */ or $a1,$v0,$zero
/* f01a114: 50400003 */ beqzl $v0,.L0f01a124
/* f01a118: 8e780000 */ lw $t8,0x0($s3)
@@ -6402,7 +6402,7 @@ glabel var7f1a84bc
/* f01a128: 0c006a47 */ jal modelGetPart
/* f01a12c: 8f040008 */ lw $a0,0x8($t8)
/* f01a130: 8e640000 */ lw $a0,0x0($s3)
/* f01a134: 0c006a87 */ jal modelGetNodeData
/* f01a134: 0c006a87 */ jal modelGetNodeRwData
/* f01a138: 00402825 */ or $a1,$v0,$zero
/* f01a13c: 10400002 */ beqz $v0,.L0f01a148
/* f01a140: 24080001 */ addiu $t0,$zero,0x1
@@ -6413,7 +6413,7 @@ glabel var7f1a84bc
/* f01a150: 0c006a47 */ jal modelGetPart
/* f01a154: 8de40008 */ lw $a0,0x8($t7)
/* f01a158: 8e640000 */ lw $a0,0x0($s3)
/* f01a15c: 0c006a87 */ jal modelGetNodeData
/* f01a15c: 0c006a87 */ jal modelGetNodeRwData
/* f01a160: 00402825 */ or $a1,$v0,$zero
/* f01a164: 10400002 */ beqz $v0,.L0f01a170
/* f01a168: 3c12bc00 */ lui $s2,0xbc00
@@ -6453,7 +6453,7 @@ glabel var7f1a84bc
/* f01a1ec: 0c006a47 */ jal modelGetPart
/* f01a1f0: 8d640008 */ lw $a0,0x8($t3)
/* f01a1f4: 8e640000 */ lw $a0,0x0($s3)
/* f01a1f8: 0c006a87 */ jal modelGetNodeData
/* f01a1f8: 0c006a87 */ jal modelGetNodeRwData
/* f01a1fc: 00402825 */ or $a1,$v0,$zero
/* f01a200: 10400002 */ beqz $v0,.L0f01a20c
/* f01a204: 240d0001 */ addiu $t5,$zero,0x1
@@ -6464,7 +6464,7 @@ glabel var7f1a84bc
/* f01a214: 0c006a47 */ jal modelGetPart
/* f01a218: 8f240008 */ lw $a0,0x8($t9)
/* f01a21c: 8e640000 */ lw $a0,0x0($s3)
/* f01a220: 0c006a87 */ jal modelGetNodeData
/* f01a220: 0c006a87 */ jal modelGetNodeRwData
/* f01a224: 00402825 */ or $a1,$v0,$zero
/* f01a228: 50400003 */ beqzl $v0,.L0f01a238
/* f01a22c: 8e780000 */ lw $t8,0x0($s3)
@@ -6475,7 +6475,7 @@ glabel var7f1a84bc
/* f01a23c: 0c006a47 */ jal modelGetPart
/* f01a240: 8f040008 */ lw $a0,0x8($t8)
/* f01a244: 8e640000 */ lw $a0,0x0($s3)
/* f01a248: 0c006a87 */ jal modelGetNodeData
/* f01a248: 0c006a87 */ jal modelGetNodeRwData
/* f01a24c: 00402825 */ or $a1,$v0,$zero
/* f01a250: 10400003 */ beqz $v0,.L0f01a260
/* f01a254: 26830008 */ addiu $v1,$s4,0x8
@@ -6809,7 +6809,7 @@ glabel var7f1a84bc
/* f01a100: 0c006a47 */ jal modelGetPart
/* f01a104: 8f240008 */ lw $a0,0x8($t9)
/* f01a108: 8e640000 */ lw $a0,0x0($s3)
/* f01a10c: 0c006a87 */ jal modelGetNodeData
/* f01a10c: 0c006a87 */ jal modelGetNodeRwData
/* f01a110: 00402825 */ or $a1,$v0,$zero
/* f01a114: 50400003 */ beqzl $v0,.L0f01a124
/* f01a118: 8e780000 */ lw $t8,0x0($s3)
@@ -6820,7 +6820,7 @@ glabel var7f1a84bc
/* f01a128: 0c006a47 */ jal modelGetPart
/* f01a12c: 8f040008 */ lw $a0,0x8($t8)
/* f01a130: 8e640000 */ lw $a0,0x0($s3)
/* f01a134: 0c006a87 */ jal modelGetNodeData
/* f01a134: 0c006a87 */ jal modelGetNodeRwData
/* f01a138: 00402825 */ or $a1,$v0,$zero
/* f01a13c: 10400002 */ beqz $v0,.L0f01a148
/* f01a140: 24080001 */ addiu $t0,$zero,0x1
@@ -6831,7 +6831,7 @@ glabel var7f1a84bc
/* f01a150: 0c006a47 */ jal modelGetPart
/* f01a154: 8de40008 */ lw $a0,0x8($t7)
/* f01a158: 8e640000 */ lw $a0,0x0($s3)
/* f01a15c: 0c006a87 */ jal modelGetNodeData
/* f01a15c: 0c006a87 */ jal modelGetNodeRwData
/* f01a160: 00402825 */ or $a1,$v0,$zero
/* f01a164: 10400002 */ beqz $v0,.L0f01a170
/* f01a168: 3c12bc00 */ lui $s2,0xbc00
@@ -6871,7 +6871,7 @@ glabel var7f1a84bc
/* f01a1ec: 0c006a47 */ jal modelGetPart
/* f01a1f0: 8d640008 */ lw $a0,0x8($t3)
/* f01a1f4: 8e640000 */ lw $a0,0x0($s3)
/* f01a1f8: 0c006a87 */ jal modelGetNodeData
/* f01a1f8: 0c006a87 */ jal modelGetNodeRwData
/* f01a1fc: 00402825 */ or $a1,$v0,$zero
/* f01a200: 10400002 */ beqz $v0,.L0f01a20c
/* f01a204: 240d0001 */ addiu $t5,$zero,0x1
@@ -6882,7 +6882,7 @@ glabel var7f1a84bc
/* f01a214: 0c006a47 */ jal modelGetPart
/* f01a218: 8f240008 */ lw $a0,0x8($t9)
/* f01a21c: 8e640000 */ lw $a0,0x0($s3)
/* f01a220: 0c006a87 */ jal modelGetNodeData
/* f01a220: 0c006a87 */ jal modelGetNodeRwData
/* f01a224: 00402825 */ or $a1,$v0,$zero
/* f01a228: 50400003 */ beqzl $v0,.L0f01a238
/* f01a22c: 8e780000 */ lw $t8,0x0($s3)
@@ -6893,7 +6893,7 @@ glabel var7f1a84bc
/* f01a23c: 0c006a47 */ jal modelGetPart
/* f01a240: 8f040008 */ lw $a0,0x8($t8)
/* f01a244: 8e640000 */ lw $a0,0x0($s3)
/* f01a248: 0c006a87 */ jal modelGetNodeData
/* f01a248: 0c006a87 */ jal modelGetNodeRwData
/* f01a24c: 00402825 */ or $a1,$v0,$zero
/* f01a250: 10400003 */ beqz $v0,.L0f01a260
/* f01a254: 26830008 */ addiu $v1,$s4,0x8
+1 -1
View File
@@ -4,7 +4,7 @@
#include "data.h"
#include "types.h"
void func0f129210(void *find, void *replacement);
void func0f129210(union modelrwdata *find, union modelrwdata *replacement);
void func0f12939c(void);
void *func0f12955c(s32 count, s32 index, s32 arg2, s32 arg3);
void func0f129818(s32 arg0, void *arg1);
+2 -2
View File
@@ -16,9 +16,9 @@ struct modelnode *func0001a784(struct modelnode *node);
u32 func0001a7cc(void);
u32 func0001a85c(void);
struct modelnode *modelGetPart(struct modelfiledata *arg0, s32 partnum);
union modelnode_data *modelGetPartNodeData(struct modelfiledata *modelfiledata, s32 partnum);
union modelrodata *modelGetPartRodata(struct modelfiledata *modelfiledata, s32 partnum);
u32 func0001a9e8(void);
void *modelGetNodeData(struct model *model, struct modelnode *node);
void *modelGetNodeRwData(struct model *model, struct modelnode *node);
void modelNodeGetPosition(struct model *model, struct modelnode *node, struct coord *pos);
void modelNodeSetPosition(struct model *model, struct modelnode *node, struct coord *pos);
void modelGetRootPosition(struct model *model, struct coord *pos);
+49 -41
View File
@@ -514,13 +514,13 @@ struct modeltype {
u16 *things;
};
struct modelnode_root { // type 0x01
struct modelrodata_root { // type 0x01
u32 modeltype;
f32 unk04;
u16 index;
u16 rwdataindex;
};
struct modelnode_position { // type 0x02
struct modelrodata_position { // type 0x02
struct coord pos;
u16 part;
s16 piece0;
@@ -529,14 +529,14 @@ struct modelnode_position { // type 0x02
f32 drawdist;
};
struct modelnode_nearfar { // type 0x08
struct modelrodata_nearfar { // type 0x08
f32 near;
f32 far;
struct modelnode *target;
u16 index;
u16 rwdataindex;
};
struct modelnode_hat { // type 0x09
struct modelrodata_hat { // type 0x09
u32 unk00;
u32 unk04;
u32 unk08;
@@ -546,10 +546,10 @@ struct modelnode_hat { // type 0x09
u32 unk18;
u32 unk1c;
u16 unk20;
u16 index;
u16 rwdataindex;
};
struct modelnode_bbox { // type 0x0a
struct modelrodata_bbox { // type 0x0a
s32 ibh;
f32 xmin;
f32 xmax;
@@ -559,7 +559,7 @@ struct modelnode_bbox { // type 0x0a
f32 zmax;
};
struct modelnode_0b { // type 0x0b
struct modelrodata_type0b { // type 0x0b
u32 unk00;
u32 unk04;
u32 unk08;
@@ -577,63 +577,63 @@ struct modelnode_0b { // type 0x0b
u32 unk38;
u32 unk3c;
u32 unk40;
u16 index;
u16 rwdataindex;
};
struct modelnode_gunfire { // type 0x0c
struct modelrodata_gunfire { // type 0x0c
struct coord pos;
struct coord dim;
u32 texture;
f32 unk1c;
u16 index;
u16 rwdataindex;
};
struct modelnode_partid { // type 0x12
struct modelrodata_partid { // type 0x12
struct modelnode *target;
u16 index;
u16 rwdataindex;
};
struct modelnode_positionheld { // type 0x15
struct modelrodata_positionheld { // type 0x15
struct coord pos;
};
struct modelnode_type16 { // type 0x16
struct modelrodata_type16 { // type 0x16
struct coord pos;
};
struct modelnode_headspot { // type 0x17
u16 index;
struct modelrodata_headspot { // type 0x17
u16 rwdataindex;
};
struct modelnode_displaylist { // type 0x18
struct modelrodata_displaylist { // type 0x18
/*0x00*/ u32 primary;
/*0x04*/ u32 secondary;
/*0x08*/ u32 *colourtable;
/*0x0c*/ struct coord *ptable;
/*0x10*/ s16 pcount;
/*0x12*/ u16 mcount;
/*0x14*/ u16 index;
/*0x14*/ u16 rwdataindex;
/*0x16*/ u16 numcolours;
};
union modelnode_data {
struct modelnode_root root;
struct modelnode_position position;
struct modelnode_nearfar nearfar;
struct modelnode_hat hat;
struct modelnode_bbox bbox;
struct modelnode_0b unk0b;
struct modelnode_gunfire gunfire;
struct modelnode_partid partid;
struct modelnode_positionheld positionheld;
struct modelnode_type16 type16;
struct modelnode_headspot headspot;
struct modelnode_displaylist displaylist;
union modelrodata {
struct modelrodata_root root;
struct modelrodata_position position;
struct modelrodata_nearfar nearfar;
struct modelrodata_hat hat;
struct modelrodata_bbox bbox;
struct modelrodata_type0b type0b;
struct modelrodata_gunfire gunfire;
struct modelrodata_partid partid;
struct modelrodata_positionheld positionheld;
struct modelrodata_type16 type16;
struct modelrodata_headspot headspot;
struct modelrodata_displaylist displaylist;
};
struct modelnode {
/*0x00*/ u16 type;
/*0x04*/ union modelnode_data *data;
/*0x04*/ union modelrodata *rodata;
/*0x08*/ struct modelnode *parent;
/*0x0c*/ struct modelnode *next;
/*0x10*/ struct modelnode *prev;
@@ -660,14 +660,14 @@ struct model {
/*0x04*/ struct chrdata *chr;
/*0x08*/ struct modelfiledata *filedata;
/*0x0c*/ Mtxf *matrices;
/*0x10*/ void **datas; // array of pointers to modeldata structs
/*0x10*/ union modelrwdata **rwdatas; // array of pointers to modelrwdata structs
/*0x14*/ f32 scale;
/*0x18*/ struct model *attachedto;
/*0x1c*/ struct modelnode *unk1c;
/*0x20*/ struct anim *anim;
};
struct modeldata_root { // type 0x01
struct modelrwdata_root { // type 0x01
u16 unk00;
u8 unk02;
f32 ground;
@@ -685,24 +685,32 @@ struct modeldata_root { // type 0x01
u32 unk5c;
};
struct modeldata_nearfar { // type 0x08
struct modelrwdata_nearfar { // type 0x08
bool visible;
};
struct modeldata_partid { // type 0x12
struct modelrwdata_partid { // type 0x12
union {
u16 u16;
bool u32;
} visible;
};
struct modeldata_05 {
struct modelrwdata_05 {
bool unk00;
};
struct modeldata_headspot { // type 0x17
struct modelrwdata_headspot { // type 0x17
struct modelfiledata *modelfiledata;
void *datas;
void *rwdatas;
};
union modelrwdata {
struct modelrwdata_root root;
struct modelrwdata_nearfar nearfar;
struct modelrwdata_partid partid;
struct modelrwdata_05 type05;
struct modelrwdata_headspot headspot;
};
struct waygroup {
+2 -2
View File
@@ -1789,7 +1789,7 @@ glabel func00019d1c
#if VERSION < VERSION_NTSC_1_0
GLOBAL_ASM(
glabel modelGetNodeData
glabel modelGetNodeRwData
/* 1aeac: 27bdfff0 */ addiu $sp,$sp,-16
/* 1aeb0: afa80000 */ sw $t0,0x0($sp)
/* 1aeb4: afa90004 */ sw $t1,0x4($sp)
@@ -1823,7 +1823,7 @@ glabel modelGetNodeData
/* 1af1c: 24010017 */ addiu $at,$zero,0x17
/* 1af20: 1521fff9 */ bne $t1,$at,.NB0001af08
/* 1af24: 00000000 */ sll $zero,$zero,0x0
/* 1af28: 0c006bab */ jal modelGetNodeData
/* 1af28: 0c006bab */ jal modelGetNodeRwData
/* 1af2c: 00000000 */ sll $zero,$zero,0x0
/* 1af30: 8c4b0004 */ lw $t3,0x4($v0)
.NB0001af34:
+101 -101
View File
@@ -387,12 +387,12 @@ struct modelnode *modelGetPart(struct modelfiledata *modelfiledata, s32 partnum)
return NULL;
}
union modelnode_data *modelGetPartNodeData(struct modelfiledata *modelfiledata, s32 partnum)
union modelrodata *modelGetPartRodata(struct modelfiledata *modelfiledata, s32 partnum)
{
struct modelnode *node = modelGetPart(modelfiledata, partnum);
if (node) {
return node->data;
return node->rodata;
}
return NULL;
@@ -419,35 +419,35 @@ glabel func0001a9e8
#if VERSION >= VERSION_NTSC_1_0
// ntsc-beta has this function in another file
void *modelGetNodeData(struct model *model, struct modelnode *node)
void *modelGetNodeRwData(struct model *model, struct modelnode *node)
{
u32 index = 0;
void **datas = model->datas;
union modelrwdata **rwdatas = model->rwdatas;
switch (node->type & 0xff) {
case MODELNODETYPE_ROOT:
index = node->data->root.index;
index = node->rodata->root.rwdataindex;
break;
case MODELNODETYPE_DISPLAYLIST:
index = node->data->displaylist.index;
index = node->rodata->displaylist.rwdataindex;
break;
case MODELNODETYPE_NEARFAR:
index = node->data->nearfar.index;
index = node->rodata->nearfar.rwdataindex;
break;
case MODELNODETYPE_PARTID:
index = node->data->partid.index;
index = node->rodata->partid.rwdataindex;
break;
case MODELNODETYPE_HAT:
index = node->data->hat.index;
index = node->rodata->hat.rwdataindex;
break;
case MODELNODETYPE_0B:
index = node->data->unk0b.index;
index = node->rodata->type0b.rwdataindex;
break;
case MODELNODETYPE_GUNFIRE:
index = node->data->gunfire.index;
index = node->rodata->gunfire.rwdataindex;
break;
case MODELNODETYPE_HEADSPOT:
index = node->data->headspot.index;
index = node->rodata->headspot.rwdataindex;
break;
}
@@ -455,13 +455,13 @@ void *modelGetNodeData(struct model *model, struct modelnode *node)
node = node->parent;
if ((node->type & 0xff) == MODELNODETYPE_HEADSPOT) {
struct modeldata_headspot *tmp = modelGetNodeData(model, node);
datas = tmp->datas;
struct modelrwdata_headspot *tmp = modelGetNodeRwData(model, node);
rwdatas = tmp->rwdatas;
break;
}
}
return &datas[index];
return &rwdatas[index];
}
#endif
@@ -470,26 +470,26 @@ void modelNodeGetPosition(struct model *model, struct modelnode *node, struct co
switch (node->type & 0xff) {
case MODELNODETYPE_ROOT:
{
struct modeldata_root *data = modelGetNodeData(model, node);
pos->x = data->pos.x;
pos->y = data->pos.y;
pos->z = data->pos.z;
struct modelrwdata_root *rwdata = modelGetNodeRwData(model, node);
pos->x = rwdata->pos.x;
pos->y = rwdata->pos.y;
pos->z = rwdata->pos.z;
}
break;
case MODELNODETYPE_POSITION:
{
struct modelnode_position *data = &node->data->position;
pos->x = data->pos.x;
pos->y = data->pos.y;
pos->z = data->pos.z;
struct modelrodata_position *rodata = &node->rodata->position;
pos->x = rodata->pos.x;
pos->y = rodata->pos.y;
pos->z = rodata->pos.z;
}
break;
case MODELNODETYPE_POSITIONHELD:
{
struct modelnode_positionheld *data = &node->data->positionheld;
pos->x = data->pos.x;
pos->y = data->pos.y;
pos->z = data->pos.z;
struct modelrodata_positionheld *rodata = &node->rodata->positionheld;
pos->x = rodata->pos.x;
pos->y = rodata->pos.y;
pos->z = rodata->pos.z;
}
break;
default:
@@ -505,36 +505,36 @@ void modelNodeSetPosition(struct model *model, struct modelnode *node, struct co
switch (node->type & 0xff) {
case MODELNODETYPE_ROOT:
{
struct modeldata_root *data = modelGetNodeData(model, node);
struct modelrwdata_root *rwdata = modelGetNodeRwData(model, node);
struct coord diff[1];
diff[0].x = pos->x - data->pos.x;
diff[0].z = pos->z - data->pos.z;
diff[0].x = pos->x - rwdata->pos.x;
diff[0].z = pos->z - rwdata->pos.z;
data->pos.x = pos->x;
data->pos.y = pos->y;
data->pos.z = pos->z;
rwdata->pos.x = pos->x;
rwdata->pos.y = pos->y;
rwdata->pos.z = pos->z;
data->unk24.x += diff[0].x; data->unk24.z += diff[0].z;
data->unk34.x += diff[0].x; data->unk34.z += diff[0].z;
data->unk40.x += diff[0].x; data->unk40.z += diff[0].z;
data->unk4c.x += diff[0].x; data->unk4c.z += diff[0].z;
rwdata->unk24.x += diff[0].x; rwdata->unk24.z += diff[0].z;
rwdata->unk34.x += diff[0].x; rwdata->unk34.z += diff[0].z;
rwdata->unk40.x += diff[0].x; rwdata->unk40.z += diff[0].z;
rwdata->unk4c.x += diff[0].x; rwdata->unk4c.z += diff[0].z;
}
break;
case MODELNODETYPE_POSITION:
{
struct modelnode_position *data = &node->data->position;
data->pos.x = pos->x;
data->pos.y = pos->y;
data->pos.z = pos->z;
struct modelrodata_position *rodata = &node->rodata->position;
rodata->pos.x = pos->x;
rodata->pos.y = pos->y;
rodata->pos.z = pos->z;
}
break;
case MODELNODETYPE_POSITIONHELD:
{
struct modelnode_positionheld *data = &node->data->positionheld;
data->pos.x = pos->x;
data->pos.y = pos->y;
data->pos.z = pos->z;
struct modelrodata_positionheld *rodata = &node->rodata->positionheld;
rodata->pos.x = pos->x;
rodata->pos.y = pos->y;
rodata->pos.z = pos->z;
}
break;
}
@@ -619,8 +619,8 @@ glabel func0001ad5c
f32 func0001ae44(struct model *model)
{
if ((model->filedata->rootnode->type & 0xff) == MODELNODETYPE_ROOT) {
struct modeldata_root *data = modelGetNodeData(model, model->filedata->rootnode);
return data->unk14;
union modelrwdata *rwdata = modelGetNodeRwData(model, model->filedata->rootnode);
return rwdata->root.unk14;
}
return 0;
@@ -629,26 +629,26 @@ f32 func0001ae44(struct model *model)
void func0001ae90(struct model *model, f32 angle)
{
if ((model->filedata->rootnode->type & 0xff) == MODELNODETYPE_ROOT) {
struct modeldata_root *data = modelGetNodeData(model, model->filedata->rootnode);
f32 diff = angle - data->unk14;
struct modelrwdata_root *rwdata = modelGetNodeRwData(model, model->filedata->rootnode);
f32 diff = angle - rwdata->unk14;
if (diff < 0) {
diff += M_BADTAU;
}
data->unk30 += diff;
rwdata->unk30 += diff;
if (data->unk30 >= M_BADTAU) {
data->unk30 -= M_BADTAU;
if (rwdata->unk30 >= M_BADTAU) {
rwdata->unk30 -= M_BADTAU;
}
data->unk20 += diff;
rwdata->unk20 += diff;
if (data->unk20 >= M_BADTAU) {
data->unk20 -= M_BADTAU;
if (rwdata->unk20 >= M_BADTAU) {
rwdata->unk20 -= M_BADTAU;
}
data->unk14 = angle;
rwdata->unk14 = angle;
}
}
@@ -764,7 +764,7 @@ glabel var70053f98pf
/* 1ae84: 510000b1 */ beqzl $t0,.PF0001b14c
/* 1ae88: 8fbf0014 */ lw $ra,0x14($sp)
/* 1ae8c: afa40048 */ sw $a0,0x48($sp)
/* 1ae90: 0c0069eb */ jal modelGetNodeData
/* 1ae90: 0c0069eb */ jal modelGetNodeRwData
/* 1ae94: afa80040 */ sw $t0,0x40($sp)
/* 1ae98: 804e0000 */ lb $t6,0x0($v0)
/* 1ae9c: 8fa80040 */ lw $t0,0x40($sp)
@@ -962,7 +962,7 @@ glabel func0001b0e8
/* 1b0f4: 510000ae */ beqzl $t0,.L0001b3b0
/* 1b0f8: 8fbf0014 */ lw $ra,0x14($sp)
/* 1b0fc: afa40048 */ sw $a0,0x48($sp)
/* 1b100: 0c006a87 */ jal modelGetNodeData
/* 1b100: 0c006a87 */ jal modelGetNodeRwData
/* 1b104: afa80040 */ sw $t0,0x40($sp)
/* 1b108: 804e0000 */ lb $t6,0x0($v0)
/* 1b10c: 8fa80040 */ lw $t0,0x40($sp)
@@ -1173,7 +1173,7 @@ glabel func0001b400
/* 1b1bc: 00c02825 */ move $a1,$a2
/* 1b1c0: afa7026c */ sw $a3,0x26c($sp)
/* 1b1c4: afa60270 */ sw $a2,0x270($sp)
/* 1b1c8: 0c0069eb */ jal modelGetNodeData
/* 1b1c8: 0c0069eb */ jal modelGetNodeRwData
/* 1b1cc: afa80260 */ sw $t0,0x260($sp)
/* 1b1d0: 8fa7026c */ lw $a3,0x26c($sp)
/* 1b1d4: afa2025c */ sw $v0,0x25c($sp)
@@ -1455,7 +1455,7 @@ glabel func0001b400
/* 1b420: 00c02825 */ or $a1,$a2,$zero
/* 1b424: afa7026c */ sw $a3,0x26c($sp)
/* 1b428: afa60270 */ sw $a2,0x270($sp)
/* 1b42c: 0c006a87 */ jal modelGetNodeData
/* 1b42c: 0c006a87 */ jal modelGetNodeRwData
/* 1b430: afa80260 */ sw $t0,0x260($sp)
/* 1b434: 8fa7026c */ lw $a3,0x26c($sp)
/* 1b438: afa2025c */ sw $v0,0x25c($sp)
@@ -3188,7 +3188,7 @@ glabel func0001c664
/* 1c670: afa40030 */ sw $a0,0x30($sp)
/* 1c674: 8cae0004 */ lw $t6,0x4($a1)
/* 1c678: 00a08025 */ or $s0,$a1,$zero
/* 1c67c: 0c006a87 */ jal modelGetNodeData
/* 1c67c: 0c006a87 */ jal modelGetNodeRwData
/* 1c680: afae002c */ sw $t6,0x2c($sp)
/* 1c684: afa20028 */ sw $v0,0x28($sp)
/* 1c688: 8fa40030 */ lw $a0,0x30($sp)
@@ -3265,11 +3265,11 @@ glabel func0001c664
void func0001c784(struct model *model, struct modelnode *node)
{
struct modelnode_nearfar *data1 = &node->data->nearfar;
struct modeldata_nearfar *data2 = modelGetNodeData(model, node);
struct modelrodata_nearfar *rodata = &node->rodata->nearfar;
struct modelrwdata_nearfar *rwdata = modelGetNodeRwData(model, node);
if (data2->visible) {
node->child = data1->target;
if (rwdata->visible) {
node->child = rodata->target;
} else {
node->child = NULL;
}
@@ -3277,11 +3277,11 @@ void func0001c784(struct model *model, struct modelnode *node)
void func0001c7d0(struct model *model, struct modelnode *node)
{
struct modelnode_partid *data1 = &node->data->partid;
struct modeldata_partid *data2 = modelGetNodeData(model, node);
struct modelrodata_partid *rodata = &node->rodata->partid;
struct modelrwdata_partid *rwdata = modelGetNodeRwData(model, node);
if (data2->visible.u32) {
node->child = data1->target;
if (rwdata->visible.u32) {
node->child = rodata->target;
} else {
node->child = NULL;
}
@@ -3294,10 +3294,10 @@ void func0001c7d0(struct model *model, struct modelnode *node)
*/
void modelAttachHead(struct model *model, struct modelnode *bodynode)
{
struct modeldata_headspot *data = modelGetNodeData(model, bodynode);
struct modelrwdata_headspot *rwdata = modelGetNodeRwData(model, bodynode);
if (data->modelfiledata) {
struct modelnode *headnode = data->modelfiledata->rootnode;
if (rwdata->modelfiledata) {
struct modelnode *headnode = rwdata->modelfiledata->rootnode;
bodynode->child = headnode;
@@ -3371,7 +3371,7 @@ GLOBAL_ASM(
glabel func0001c924
/* 1c924: 27bdffe8 */ addiu $sp,$sp,-24
/* 1c928: afbf0014 */ sw $ra,0x14($sp)
/* 1c92c: 0c006a87 */ jal modelGetNodeData
/* 1c92c: 0c006a87 */ jal modelGetNodeRwData
/* 1c930: afa5001c */ sw $a1,0x1c($sp)
/* 1c934: 8fa4001c */ lw $a0,0x1c($sp)
/* 1c938: 0c00721a */ jal func0001c868
@@ -3389,7 +3389,7 @@ glabel func0001c950
/* 1c958: afb00018 */ sw $s0,0x18($sp)
/* 1c95c: afa40050 */ sw $a0,0x50($sp)
/* 1c960: 8cb00004 */ lw $s0,0x4($a1)
/* 1c964: 0c006a87 */ jal modelGetNodeData
/* 1c964: 0c006a87 */ jal modelGetNodeRwData
/* 1c968: afa50054 */ sw $a1,0x54($sp)
/* 1c96c: afa20048 */ sw $v0,0x48($sp)
/* 1c970: 8fa40050 */ lw $a0,0x50($sp)
@@ -4414,14 +4414,14 @@ void modelCopyAnimForMerge(struct model *model, f32 arg1)
anim->endframe2 = anim->endframe;
if (nodetype == MODELNODETYPE_ROOT) {
struct modeldata_root *data = modelGetNodeData(model, node);
data->unk02 = 1;
data->unk4c.x = data->unk34.x;
data->unk4c.y = data->unk34.y;
data->unk4c.z = data->unk34.z;
data->unk40.x = data->unk24.x;
data->unk40.y = data->unk24.y;
data->unk40.z = data->unk24.z;
struct modelrwdata_root *rwdata = modelGetNodeRwData(model, node);
rwdata->unk02 = 1;
rwdata->unk4c.x = rwdata->unk34.x;
rwdata->unk4c.y = rwdata->unk34.y;
rwdata->unk4c.z = rwdata->unk34.z;
rwdata->unk40.x = rwdata->unk24.x;
rwdata->unk40.y = rwdata->unk24.y;
rwdata->unk40.z = rwdata->unk24.z;
}
} else {
anim->animnum2 = 0;
@@ -4491,7 +4491,7 @@ glabel var7005444c
/* 1d6e8: 55010126 */ bnel $t0,$at,.L0001db84
/* 1d6ec: 8fbf002c */ lw $ra,0x2c($sp)
/* 1d6f0: 8ca90004 */ lw $t1,0x4($a1)
/* 1d6f4: 0c006a87 */ jal modelGetNodeData
/* 1d6f4: 0c006a87 */ jal modelGetNodeRwData
/* 1d6f8: afa900ac */ sw $t1,0xac($sp)
/* 1d6fc: 8fab00c0 */ lw $t3,0xc0($sp)
/* 1d700: 3c0d8006 */ lui $t5,%hi(var8005efd0)
@@ -5169,7 +5169,7 @@ glabel var70054450
/* 1e314: 304f00ff */ andi $t7,$v0,0xff
/* 1e318: 55e102ac */ bnel $t7,$at,.L0001edcc
/* 1e31c: c7b40140 */ lwc1 $f20,0x140($sp)
/* 1e320: 0c006a87 */ jal modelGetNodeData
/* 1e320: 0c006a87 */ jal modelGetNodeRwData
/* 1e324: 8cb30004 */ lw $s3,0x4($a1)
/* 1e328: 80580000 */ lb $t8,0x0($v0)
/* 1e32c: 00409025 */ or $s2,$v0,$zero
@@ -8233,7 +8233,7 @@ glabel func00020f30
/* 20f78: 33190001 */ andi $t9,$t8,0x1
/* 20f7c: 53200068 */ beqzl $t9,.L00021120
/* 20f80: 8e0b0008 */ lw $t3,0x8($s0)
/* 20f84: 0c006a87 */ jal modelGetNodeData
/* 20f84: 0c006a87 */ jal modelGetNodeRwData
/* 20f88: 8fa50058 */ lw $a1,0x58($sp)
/* 20f8c: afa20048 */ sw $v0,0x48($sp)
/* 20f90: 8c480004 */ lw $t0,0x4($v0)
@@ -8347,7 +8347,7 @@ glabel func00020f30
/* 21124: 316c0002 */ andi $t4,$t3,0x2
/* 21128: 51800044 */ beqzl $t4,.L0002123c
/* 2112c: 8fbf001c */ lw $ra,0x1c($sp)
/* 21130: 0c006a87 */ jal modelGetNodeData
/* 21130: 0c006a87 */ jal modelGetNodeRwData
/* 21134: 8fa50058 */ lw $a1,0x58($sp)
/* 21138: afa20030 */ sw $v0,0x30($sp)
/* 2113c: 8c4d0004 */ lw $t5,0x4($v0)
@@ -8757,7 +8757,7 @@ glabel var70054454
/* 2172c: 00a02025 */ or $a0,$a1,$zero
/* 21730: 00c08025 */ or $s0,$a2,$zero
/* 21734: 8cd10004 */ lw $s1,0x4($a2)
/* 21738: 0c006a87 */ jal modelGetNodeData
/* 21738: 0c006a87 */ jal modelGetNodeRwData
/* 2173c: 00c02825 */ or $a1,$a2,$zero
/* 21740: 3c198006 */ lui $t9,%hi(var8005efec)
/* 21744: 2739efec */ addiu $t9,$t9,%lo(var8005efec)
@@ -9350,7 +9350,7 @@ glabel var700544b4
/* 21f78: 8e110004 */ lw $s1,0x4($s0)
/* 21f7c: afa3002c */ sw $v1,0x2c($sp)
/* 21f80: 02402025 */ or $a0,$s2,$zero
/* 21f84: 0c006a87 */ jal modelGetNodeData
/* 21f84: 0c006a87 */ jal modelGetNodeRwData
/* 21f88: 02002825 */ or $a1,$s0,$zero
/* 21f8c: 8fa3002c */ lw $v1,0x2c($sp)
/* 21f90: 24010008 */ addiu $at,$zero,0x8
@@ -9382,7 +9382,7 @@ glabel var700544b4
/* 21fe8: 1000002d */ b .L000220a0
/* 21fec: 8e020014 */ lw $v0,0x14($s0)
/* 21ff0: 02402025 */ or $a0,$s2,$zero
/* 21ff4: 0c006a87 */ jal modelGetNodeData
/* 21ff4: 0c006a87 */ jal modelGetNodeRwData
/* 21ff8: 02002825 */ or $a1,$s0,$zero
/* 21ffc: 8c440000 */ lw $a0,0x0($v0)
/* 22000: 10800008 */ beqz $a0,.L00022024
@@ -9924,7 +9924,7 @@ glabel var70054514
/* 226e4: 00009825 */ or $s3,$zero,$zero
/* 226e8: 8e110004 */ lw $s1,0x4($s0)
/* 226ec: 02402025 */ or $a0,$s2,$zero
/* 226f0: 0c006a87 */ jal modelGetNodeData
/* 226f0: 0c006a87 */ jal modelGetNodeRwData
/* 226f4: 02002825 */ or $a1,$s0,$zero
/* 226f8: 8c490000 */ lw $t1,0x0($v0)
/* 226fc: 11200004 */ beqz $t1,.L00022710
@@ -9937,7 +9937,7 @@ glabel var70054514
/* 22714: ae000014 */ sw $zero,0x14($s0)
/* 22718: 8e110004 */ lw $s1,0x4($s0)
/* 2271c: 02402025 */ or $a0,$s2,$zero
/* 22720: 0c006a87 */ jal modelGetNodeData
/* 22720: 0c006a87 */ jal modelGetNodeRwData
/* 22724: 02002825 */ or $a1,$s0,$zero
/* 22728: 8c4b0000 */ lw $t3,0x0($v0)
/* 2272c: 11600004 */ beqz $t3,.L00022740
@@ -9949,7 +9949,7 @@ glabel var70054514
/* 22740: 1000000e */ b .L0002277c
/* 22744: ae000014 */ sw $zero,0x14($s0)
/* 22748: 02402025 */ or $a0,$s2,$zero
/* 2274c: 0c006a87 */ jal modelGetNodeData
/* 2274c: 0c006a87 */ jal modelGetNodeRwData
/* 22750: 02002825 */ or $a1,$s0,$zero
/* 22754: 8c440000 */ lw $a0,0x0($v0)
/* 22758: 10800008 */ beqz $a0,.L0002277c
@@ -10568,7 +10568,7 @@ glabel var70054634
/* 22da8: 01e00008 */ jr $t7
/* 22dac: 00000000 */ nop
/* 22db0: 02402025 */ or $a0,$s2,$zero
/* 22db4: 0c006a87 */ jal modelGetNodeData
/* 22db4: 0c006a87 */ jal modelGetNodeRwData
/* 22db8: 02002825 */ or $a1,$s0,$zero
/* 22dbc: a0400000 */ sb $zero,0x0($v0)
/* 22dc0: e4540004 */ swc1 $f20,0x4($v0)
@@ -10599,7 +10599,7 @@ glabel var70054634
/* 22e24: 8e030014 */ lw $v1,0x14($s0)
/* 22e28: 8e110004 */ lw $s1,0x4($s0)
/* 22e2c: 02402025 */ or $a0,$s2,$zero
/* 22e30: 0c006a87 */ jal modelGetNodeData
/* 22e30: 0c006a87 */ jal modelGetNodeRwData
/* 22e34: 02002825 */ or $a1,$s0,$zero
/* 22e38: ac400000 */ sw $zero,0x0($v0)
/* 22e3c: 8e230008 */ lw $v1,0x8($s1)
@@ -10607,7 +10607,7 @@ glabel var70054634
/* 22e44: ae030014 */ sw $v1,0x14($s0)
/* 22e48: 8e110004 */ lw $s1,0x4($s0)
/* 22e4c: 02402025 */ or $a0,$s2,$zero
/* 22e50: 0c006a87 */ jal modelGetNodeData
/* 22e50: 0c006a87 */ jal modelGetNodeRwData
/* 22e54: 02002825 */ or $a1,$s0,$zero
/* 22e58: 24190001 */ addiu $t9,$zero,0x1
/* 22e5c: ac590000 */ sw $t9,0x0($v0)
@@ -10615,14 +10615,14 @@ glabel var70054634
/* 22e64: 10000032 */ b .L00022f30
/* 22e68: ae030014 */ sw $v1,0x14($s0)
/* 22e6c: 02402025 */ or $a0,$s2,$zero
/* 22e70: 0c006a87 */ jal modelGetNodeData
/* 22e70: 0c006a87 */ jal modelGetNodeRwData
/* 22e74: 02002825 */ or $a1,$s0,$zero
/* 22e78: ac400000 */ sw $zero,0x0($v0)
/* 22e7c: ac400004 */ sw $zero,0x4($v0)
/* 22e80: 1000002b */ b .L00022f30
/* 22e84: 8e030014 */ lw $v1,0x14($s0)
/* 22e88: 02402025 */ or $a0,$s2,$zero
/* 22e8c: 0c006a87 */ jal modelGetNodeData
/* 22e8c: 0c006a87 */ jal modelGetNodeRwData
/* 22e90: 02002825 */ or $a1,$s0,$zero
/* 22e94: ac400000 */ sw $zero,0x0($v0)
/* 22e98: 02402025 */ or $a0,$s2,$zero
@@ -10631,20 +10631,20 @@ glabel var70054634
/* 22ea4: 10000022 */ b .L00022f30
/* 22ea8: 8e030014 */ lw $v1,0x14($s0)
/* 22eac: 02402025 */ or $a0,$s2,$zero
/* 22eb0: 0c006a87 */ jal modelGetNodeData
/* 22eb0: 0c006a87 */ jal modelGetNodeRwData
/* 22eb4: 02002825 */ or $a1,$s0,$zero
/* 22eb8: a4400000 */ sh $zero,0x0($v0)
/* 22ebc: 1000001c */ b .L00022f30
/* 22ec0: 8e030014 */ lw $v1,0x14($s0)
/* 22ec4: 02402025 */ or $a0,$s2,$zero
/* 22ec8: 0c006a87 */ jal modelGetNodeData
/* 22ec8: 0c006a87 */ jal modelGetNodeRwData
/* 22ecc: 02002825 */ or $a1,$s0,$zero
/* 22ed0: a4400000 */ sh $zero,0x0($v0)
/* 22ed4: 10000016 */ b .L00022f30
/* 22ed8: 8e030014 */ lw $v1,0x14($s0)
/* 22edc: 8e110004 */ lw $s1,0x4($s0)
/* 22ee0: 02402025 */ or $a0,$s2,$zero
/* 22ee4: 0c006a87 */ jal modelGetNodeData
/* 22ee4: 0c006a87 */ jal modelGetNodeRwData
/* 22ee8: 02002825 */ or $a1,$s0,$zero
/* 22eec: 8e29000c */ lw $t1,0xc($s1)
/* 22ef0: ac490000 */ sw $t1,0x0($v0)
@@ -10811,7 +10811,7 @@ glabel func00023108
/* 23114: afa40018 */ sw $a0,0x18($sp)
/* 23118: afa70024 */ sw $a3,0x24($sp)
/* 2311c: 00c02825 */ or $a1,$a2,$zero
/* 23120: 0c006a87 */ jal modelGetNodeData
/* 23120: 0c006a87 */ jal modelGetNodeRwData
/* 23124: afa60020 */ sw $a2,0x20($sp)
/* 23128: 8fa50024 */ lw $a1,0x24($sp)
/* 2312c: 8fa60020 */ lw $a2,0x20($sp)