Tidy up model skeletons
This commit is contained in:
parent
fcba7f272a
commit
d305a4d4f9
|
|
@ -139,8 +139,22 @@
|
|||
build/ROMID/game/debug2.o (section); \
|
||||
build/ROMID/game/debug3.o (section); \
|
||||
build/ROMID/game/stubs/game_11eff0.o (section); \
|
||||
build/ROMID/game/data/ailists.o (section); \
|
||||
build/ROMID/game/data/data_020df0.o (section); \
|
||||
build/ROMID/game/gailists.o (section); \
|
||||
build/ROMID/game/modeldata/general.o (section); \
|
||||
build/ROMID/game/modeldata/basic.o (section); \
|
||||
build/ROMID/game/modeldata/chrgun.o (section); \
|
||||
build/ROMID/game/modeldata/skel0b.o (section); \
|
||||
build/ROMID/game/modeldata/player.o (section); \
|
||||
build/ROMID/game/modeldata/skel0a.o (section); \
|
||||
build/ROMID/game/modeldata/skel20.o (section); \
|
||||
build/ROMID/game/modeldata/classicgun.o (section); \
|
||||
build/ROMID/game/modeldata/casing.o (section); \
|
||||
build/ROMID/game/modeldata/skel06.o (section); \
|
||||
build/ROMID/game/modeldata/uzi.o (section); \
|
||||
build/ROMID/game/modeldata/weapon.o (section); \
|
||||
build/ROMID/game/modeldata/chr.o (section); \
|
||||
build/ROMID/game/modeldata/skedar.o (section); \
|
||||
build/ROMID/game/modeldata/robot.o (section); \
|
||||
build/ROMID/game/game_11f000.o (section); \
|
||||
build/ROMID/game/game_127910.o (section); \
|
||||
build/ROMID/game/crc.o (section); \
|
||||
|
|
|
|||
|
|
@ -138,8 +138,22 @@
|
|||
build/ROMID/game/debug.o (section); \
|
||||
build/ROMID/game/debug3.o (section); \
|
||||
build/ROMID/game/stubs/game_11eff0.o (section); \
|
||||
build/ROMID/game/data/ailists.o (section); \
|
||||
build/ROMID/game/data/data_020df0.o (section); \
|
||||
build/ROMID/game/gailists.o (section); \
|
||||
build/ROMID/game/modeldata/general.o (section); \
|
||||
build/ROMID/game/modeldata/basic.o (section); \
|
||||
build/ROMID/game/modeldata/chrgun.o (section); \
|
||||
build/ROMID/game/modeldata/skel0b.o (section); \
|
||||
build/ROMID/game/modeldata/player.o (section); \
|
||||
build/ROMID/game/modeldata/skel0a.o (section); \
|
||||
build/ROMID/game/modeldata/skel20.o (section); \
|
||||
build/ROMID/game/modeldata/classicgun.o (section); \
|
||||
build/ROMID/game/modeldata/casing.o (section); \
|
||||
build/ROMID/game/modeldata/skel06.o (section); \
|
||||
build/ROMID/game/modeldata/uzi.o (section); \
|
||||
build/ROMID/game/modeldata/weapon.o (section); \
|
||||
build/ROMID/game/modeldata/chr.o (section); \
|
||||
build/ROMID/game/modeldata/skedar.o (section); \
|
||||
build/ROMID/game/modeldata/robot.o (section); \
|
||||
build/ROMID/game/game_11f000.o (section); \
|
||||
build/ROMID/game/game_127910.o (section); \
|
||||
build/ROMID/game/crc.o (section); \
|
||||
|
|
|
|||
|
|
@ -138,8 +138,22 @@
|
|||
build/ROMID/game/debug.o (section); \
|
||||
build/ROMID/game/debug3.o (section); \
|
||||
build/ROMID/game/stubs/game_11eff0.o (section); \
|
||||
build/ROMID/game/data/ailists.o (section); \
|
||||
build/ROMID/game/data/data_020df0.o (section); \
|
||||
build/ROMID/game/gailists.o (section); \
|
||||
build/ROMID/game/modeldata/general.o (section); \
|
||||
build/ROMID/game/modeldata/basic.o (section); \
|
||||
build/ROMID/game/modeldata/chrgun.o (section); \
|
||||
build/ROMID/game/modeldata/skel0b.o (section); \
|
||||
build/ROMID/game/modeldata/player.o (section); \
|
||||
build/ROMID/game/modeldata/skel0a.o (section); \
|
||||
build/ROMID/game/modeldata/skel20.o (section); \
|
||||
build/ROMID/game/modeldata/classicgun.o (section); \
|
||||
build/ROMID/game/modeldata/casing.o (section); \
|
||||
build/ROMID/game/modeldata/skel06.o (section); \
|
||||
build/ROMID/game/modeldata/uzi.o (section); \
|
||||
build/ROMID/game/modeldata/weapon.o (section); \
|
||||
build/ROMID/game/modeldata/chr.o (section); \
|
||||
build/ROMID/game/modeldata/skedar.o (section); \
|
||||
build/ROMID/game/modeldata/robot.o (section); \
|
||||
build/ROMID/game/game_11f000.o (section); \
|
||||
build/ROMID/game/game_127910.o (section); \
|
||||
build/ROMID/game/crc.o (section); \
|
||||
|
|
|
|||
|
|
@ -4821,13 +4821,13 @@ glabel var7f1a879c
|
|||
/* f021544: afa5015c */ sw $a1,0x15c($sp)
|
||||
/* f021548: e7a40154 */ swc1 $f4,0x154($sp)
|
||||
/* f02154c: 8cce0020 */ lw $t6,0x20($a2)
|
||||
/* f021550: 3c188008 */ lui $t8,%hi(g_ModelTypeRobot)
|
||||
/* f021550: 3c188008 */ lui $t8,%hi(g_SkelRobot)
|
||||
/* f021554: 00803825 */ or $a3,$a0,$zero
|
||||
/* f021558: 8dcf0008 */ lw $t7,0x8($t6)
|
||||
/* f02155c: 2718cefc */ addiu $t8,$t8,%lo(g_ModelTypeRobot)
|
||||
/* f021560: 3c198008 */ lui $t9,%hi(g_ModelTypeChr)
|
||||
/* f02155c: 2718cefc */ addiu $t8,$t8,%lo(g_SkelRobot)
|
||||
/* f021560: 3c198008 */ lui $t9,%hi(g_SkelChr)
|
||||
/* f021564: 8de20004 */ lw $v0,0x4($t7)
|
||||
/* f021568: 2739ce40 */ addiu $t9,$t9,%lo(g_ModelTypeChr)
|
||||
/* f021568: 2739ce40 */ addiu $t9,$t9,%lo(g_SkelChr)
|
||||
/* f02156c: 24040007 */ addiu $a0,$zero,0x7
|
||||
/* f021570: 1702006d */ bne $t8,$v0,.L0f021728
|
||||
/* f021574: 00000000 */ nop
|
||||
|
|
@ -4948,14 +4948,14 @@ glabel var7f1a879c
|
|||
/* f021724: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f021728:
|
||||
/* f021728: 17220006 */ bne $t9,$v0,.L0f021744
|
||||
/* f02172c: 3c0b8008 */ lui $t3,%hi(g_ModelTypeSkedar)
|
||||
/* f02172c: 3c0b8008 */ lui $t3,%hi(g_SkelSkedar)
|
||||
/* f021730: 24050002 */ addiu $a1,$zero,0x2
|
||||
/* f021734: 24080003 */ addiu $t0,$zero,0x3
|
||||
/* f021738: 240a0001 */ addiu $t2,$zero,0x1
|
||||
/* f02173c: 1000000c */ b .L0f021770
|
||||
/* f021740: 00004825 */ or $t1,$zero,$zero
|
||||
.L0f021744:
|
||||
/* f021744: 256bce98 */ addiu $t3,$t3,%lo(g_ModelTypeSkedar)
|
||||
/* f021744: 256bce98 */ addiu $t3,$t3,%lo(g_SkelSkedar)
|
||||
/* f021748: 15620006 */ bne $t3,$v0,.L0f021764
|
||||
/* f02174c: 2405ffff */ addiu $a1,$zero,-1
|
||||
/* f021750: 24050003 */ addiu $a1,$zero,0x3
|
||||
|
|
@ -5615,13 +5615,13 @@ glabel var7f1a879c
|
|||
/* f021544: afa5015c */ sw $a1,0x15c($sp)
|
||||
/* f021548: e7a40154 */ swc1 $f4,0x154($sp)
|
||||
/* f02154c: 8cce0020 */ lw $t6,0x20($a2)
|
||||
/* f021550: 3c188008 */ lui $t8,%hi(g_ModelTypeRobot)
|
||||
/* f021550: 3c188008 */ lui $t8,%hi(g_SkelRobot)
|
||||
/* f021554: 00803825 */ or $a3,$a0,$zero
|
||||
/* f021558: 8dcf0008 */ lw $t7,0x8($t6)
|
||||
/* f02155c: 2718cefc */ addiu $t8,$t8,%lo(g_ModelTypeRobot)
|
||||
/* f021560: 3c198008 */ lui $t9,%hi(g_ModelTypeChr)
|
||||
/* f02155c: 2718cefc */ addiu $t8,$t8,%lo(g_SkelRobot)
|
||||
/* f021560: 3c198008 */ lui $t9,%hi(g_SkelChr)
|
||||
/* f021564: 8de20004 */ lw $v0,0x4($t7)
|
||||
/* f021568: 2739ce40 */ addiu $t9,$t9,%lo(g_ModelTypeChr)
|
||||
/* f021568: 2739ce40 */ addiu $t9,$t9,%lo(g_SkelChr)
|
||||
/* f02156c: 24040007 */ addiu $a0,$zero,0x7
|
||||
/* f021570: 1702006d */ bne $t8,$v0,.L0f021728
|
||||
/* f021574: 00000000 */ nop
|
||||
|
|
@ -5742,14 +5742,14 @@ glabel var7f1a879c
|
|||
/* f021724: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f021728:
|
||||
/* f021728: 17220006 */ bne $t9,$v0,.L0f021744
|
||||
/* f02172c: 3c0b8008 */ lui $t3,%hi(g_ModelTypeSkedar)
|
||||
/* f02172c: 3c0b8008 */ lui $t3,%hi(g_SkelSkedar)
|
||||
/* f021730: 24050002 */ addiu $a1,$zero,0x2
|
||||
/* f021734: 24080003 */ addiu $t0,$zero,0x3
|
||||
/* f021738: 240a0001 */ addiu $t2,$zero,0x1
|
||||
/* f02173c: 1000000c */ b .L0f021770
|
||||
/* f021740: 00004825 */ or $t1,$zero,$zero
|
||||
.L0f021744:
|
||||
/* f021744: 256bce98 */ addiu $t3,$t3,%lo(g_ModelTypeSkedar)
|
||||
/* f021744: 256bce98 */ addiu $t3,$t3,%lo(g_SkelSkedar)
|
||||
/* f021748: 15620006 */ bne $t3,$v0,.L0f021764
|
||||
/* f02174c: 2405ffff */ addiu $a1,$zero,-1
|
||||
/* f021750: 24050003 */ addiu $a1,$zero,0x3
|
||||
|
|
@ -7505,7 +7505,7 @@ s32 chrTick(struct prop *prop)
|
|||
}
|
||||
}
|
||||
|
||||
if (model->filedata->type == &g_ModelTypeChr) {
|
||||
if (model->filedata->skel == &g_SkelChr) {
|
||||
struct modelnode *headspotnode = modelGetPart(model->filedata, MODELPART_CHR_HEADSPOT);
|
||||
|
||||
if (headspotnode && headspotnode->type == MODELNODETYPE_HEADSPOT) {
|
||||
|
|
@ -7579,7 +7579,7 @@ void chrSetHudpieceVisible(struct chrdata *chr, bool visible)
|
|||
{
|
||||
struct modelfiledata *modelfiledata = chr->model->filedata;
|
||||
|
||||
if (modelfiledata->type == &g_ModelTypeChr) {
|
||||
if (modelfiledata->skel == &g_SkelChr) {
|
||||
struct modelnode *headspotnode = modelGetPart(modelfiledata, MODELPART_CHR_HEADSPOT);
|
||||
|
||||
if (headspotnode && headspotnode->type == MODELNODETYPE_HEADSPOT) {
|
||||
|
|
@ -7663,7 +7663,7 @@ bool chr0f024738(struct chrdata *chr)
|
|||
struct doorobj *door = prop->door;
|
||||
struct coord pos;
|
||||
|
||||
if (obj->model->filedata->type != &g_ModelTypeWindowedDoor
|
||||
if (obj->model->filedata->skel != &g_SkelWindowedDoor
|
||||
&& door->doortype != DOORTYPE_EYE
|
||||
&& door->doortype != DOORTYPE_IRIS
|
||||
&& door->doortype != DOORTYPE_FALLAWAY
|
||||
|
|
@ -8394,7 +8394,7 @@ Gfx *chrRender(struct prop *prop, Gfx *gdl, bool withalpha)
|
|||
}
|
||||
|
||||
// Set Skedar eyes open or closed
|
||||
if (model->filedata->type == &g_ModelTypeSkedar) {
|
||||
if (model->filedata->skel == &g_SkelSkedar) {
|
||||
struct modelnode *node1 = modelGetPart(model->filedata, MODELPART_SKEDAR_EYESOPEN);
|
||||
struct modelnode *node2 = modelGetPart(model->filedata, MODELPART_SKEDAR_EYESCLOSED);
|
||||
|
||||
|
|
@ -8412,7 +8412,7 @@ Gfx *chrRender(struct prop *prop, Gfx *gdl, bool withalpha)
|
|||
|| chr->headnum == HEAD_ELVIS
|
||||
|| chr->headnum == HEAD_MAIAN_S
|
||||
|| chr->headnum == HEAD_ELVIS_GOGS) {
|
||||
if (model->filedata->type == &g_ModelTypeChr) {
|
||||
if (model->filedata->skel == &g_SkelChr) {
|
||||
struct modelnode *headspotnode = modelGetPart(model->filedata, MODELPART_CHR_HEADSPOT);
|
||||
|
||||
if (headspotnode && headspotnode->type == MODELNODETYPE_HEADSPOT) {
|
||||
|
|
@ -10519,14 +10519,14 @@ bool chrCalculateAutoAim(struct prop *prop, struct coord *arg1, f32 *arg2, f32 *
|
|||
Mtxf *mtx1;
|
||||
Mtxf *mtx2;
|
||||
|
||||
if (model->filedata->type == &g_ModelTypeChr) {
|
||||
if (model->filedata->skel == &g_SkelChr) {
|
||||
mtx1 = &model->matrices[0];
|
||||
mtx2 = &model->matrices[1];
|
||||
arg1->z = mtx2->m[3][2] + (mtx1->m[3][2] - mtx2->m[3][2]) * 0.5f;
|
||||
} else if (model->filedata->type == &g_ModelTypeSkedar) {
|
||||
} else if (model->filedata->skel == &g_SkelSkedar) {
|
||||
mtx2 = &model->matrices[0];
|
||||
arg1->z = mtx2->m[3][2];
|
||||
} else if (model->filedata->type == &g_ModelTypeDrCaroll) {
|
||||
} else if (model->filedata->skel == &g_SkelDrCaroll) {
|
||||
mtx2 = &model->matrices[0];
|
||||
arg1->z = mtx2->m[3][2];
|
||||
} else {
|
||||
|
|
@ -10534,13 +10534,13 @@ bool chrCalculateAutoAim(struct prop *prop, struct coord *arg1, f32 *arg2, f32 *
|
|||
}
|
||||
|
||||
if (arg1->z < 0) {
|
||||
if (model->filedata->type == &g_ModelTypeChr) {
|
||||
if (model->filedata->skel == &g_SkelChr) {
|
||||
arg1->x = mtx2->m[3][0] + (mtx1->m[3][0] - mtx2->m[3][0]) * 0.5f;
|
||||
arg1->y = mtx2->m[3][1] + (mtx1->m[3][1] - mtx2->m[3][1]) * 0.5f;
|
||||
} else if (model->filedata->type == &g_ModelTypeSkedar) {
|
||||
} else if (model->filedata->skel == &g_SkelSkedar) {
|
||||
arg1->x = mtx2->m[3][0];
|
||||
arg1->y = mtx2->m[3][1];
|
||||
} else if (model->filedata->type == &g_ModelTypeDrCaroll) {
|
||||
} else if (model->filedata->skel == &g_SkelDrCaroll) {
|
||||
arg1->x = mtx2->m[3][0];
|
||||
arg1->y = mtx2->m[3][1];
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -16412,8 +16412,8 @@ glabel var7f1a91dc
|
|||
/* f042ab0: 0fc10a76 */ jal func0f0429d8
|
||||
/* f042ab4: 02402025 */ or $a0,$s2,$zero
|
||||
/* f042ab8: 8e4f0020 */ lw $t7,0x20($s2)
|
||||
/* f042abc: 3c0e8008 */ lui $t6,%hi(g_ModelTypeRobot)
|
||||
/* f042ac0: 25cecefc */ addiu $t6,$t6,%lo(g_ModelTypeRobot)
|
||||
/* f042abc: 3c0e8008 */ lui $t6,%hi(g_SkelRobot)
|
||||
/* f042ac0: 25cecefc */ addiu $t6,$t6,%lo(g_SkelRobot)
|
||||
/* f042ac4: 8df80008 */ lw $t8,0x8($t7)
|
||||
/* f042ac8: 2655002c */ addiu $s5,$s2,0x2c
|
||||
/* f042acc: 02a0b825 */ or $s7,$s5,$zero
|
||||
|
|
@ -16796,7 +16796,7 @@ glabel var7f1a91dc
|
|||
//
|
||||
// func0f0429d8(chr, 0.085f, invtheta);
|
||||
//
|
||||
// if (chr->model->filedata->type != &g_ModelTypeRobot) {
|
||||
// if (chr->model->filedata->type != &g_SkelRobot) {
|
||||
// act->finished = true;
|
||||
// return;
|
||||
// }
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -6,6 +6,16 @@
|
|||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
/**
|
||||
* gailists - Global AI Lists
|
||||
*
|
||||
* AI lists are bytecode that is interpreted by the game engine to implement AI.
|
||||
* The u8 arrays below make heavy use of macros for readability purposes.
|
||||
*
|
||||
* The file contains the AI lists that are common to all stages such as general
|
||||
* guard combat.
|
||||
*/
|
||||
|
||||
u8 func0000_idle[] = {
|
||||
dprint 'd','y','e','n','g',0,
|
||||
beginloop(0x0d)
|
||||
|
|
@ -46,7 +46,7 @@ u16 func0f0002a0(s16 animnum, s32 frame, s32 endframe)
|
|||
u16 count = 0;
|
||||
|
||||
while (frame < endframe) {
|
||||
count += anim0002485c(0, 0, &g_ModelTypeChr, animnum, frame, sp48, 0);
|
||||
count += anim0002485c(0, 0, &g_SkelChr, animnum, frame, sp48, 0);
|
||||
frame++;
|
||||
}
|
||||
|
||||
|
|
@ -59,7 +59,7 @@ s32 func0f000358(s16 animnum, s32 frame, s32 endframe)
|
|||
s16 sp44[4];
|
||||
|
||||
while (frame < endframe) {
|
||||
anim0002485c(0, 0, &g_ModelTypeChr, animnum, frame, sp44, 0);
|
||||
anim0002485c(0, 0, &g_SkelChr, animnum, frame, sp44, 0);
|
||||
count += sp44[2];
|
||||
frame++;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ void func0f0125a0(s16 animnum, s32 loopframe, s32 endframe, s32 *arg3)
|
|||
arg3[2] = 0;
|
||||
|
||||
while (loopframe < endframe) {
|
||||
anim0002485c(0, 0, &g_ModelTypeChr, animnum, loopframe, sp48, 0);
|
||||
anim0002485c(0, 0, &g_SkelChr, animnum, loopframe, sp48, 0);
|
||||
|
||||
arg3[0] += sp48[0];
|
||||
arg3[1] += sp48[1];
|
||||
|
|
|
|||
|
|
@ -234,8 +234,8 @@ glabel var7f1a8a84
|
|||
/* f02cf4c: 056200b9 */ bltzl $t3,.L0f02d234
|
||||
/* f02cf50: 8fa2005c */ lw $v0,0x5c($sp)
|
||||
/* f02cf54: 8d830004 */ lw $v1,0x4($t4)
|
||||
/* f02cf58: 3c0d8008 */ lui $t5,%hi(g_ModelTypeChr)
|
||||
/* f02cf5c: 25adce40 */ addiu $t5,$t5,%lo(g_ModelTypeChr)
|
||||
/* f02cf58: 3c0d8008 */ lui $t5,%hi(g_SkelChr)
|
||||
/* f02cf5c: 25adce40 */ addiu $t5,$t5,%lo(g_SkelChr)
|
||||
/* f02cf60: 15a30090 */ bne $t5,$v1,.L0f02d1a4
|
||||
/* f02cf64: 01802025 */ or $a0,$t4,$zero
|
||||
/* f02cf68: 0c006a47 */ jal modelGetPart
|
||||
|
|
@ -390,8 +390,8 @@ glabel var7f1a8a84
|
|||
/* f02d19c: 10000024 */ b .L0f02d230
|
||||
/* f02d1a0: e7aa0044 */ swc1 $f10,0x44($sp)
|
||||
.L0f02d1a4:
|
||||
/* f02d1a4: 3c0d8008 */ lui $t5,%hi(g_ModelTypeSkedar)
|
||||
/* f02d1a8: 25adce98 */ addiu $t5,$t5,%lo(g_ModelTypeSkedar)
|
||||
/* f02d1a4: 3c0d8008 */ lui $t5,%hi(g_SkelSkedar)
|
||||
/* f02d1a8: 25adce98 */ addiu $t5,$t5,%lo(g_SkelSkedar)
|
||||
/* f02d1ac: 15a30020 */ bne $t5,$v1,.L0f02d230
|
||||
/* f02d1b0: 0002c080 */ sll $t8,$v0,0x2
|
||||
/* f02d1b4: 0701001e */ bgez $t8,.L0f02d230
|
||||
|
|
@ -527,7 +527,7 @@ glabel var7f1a8a84
|
|||
// modelCalculateRwDataLen(bodyfiledata);
|
||||
//
|
||||
// if (!g_HeadsAndBodies[bodynum].unk00_01) {
|
||||
// if (bodyfiledata->type == &g_ModelTypeChr) {
|
||||
// if (bodyfiledata->type == &g_SkelChr) {
|
||||
// node = modelGetPart(bodyfiledata, MODELPART_CHR_HEADSPOT);
|
||||
//
|
||||
// if (node != NULL) {
|
||||
|
|
@ -575,7 +575,7 @@ glabel var7f1a8a84
|
|||
// }
|
||||
// }
|
||||
// }
|
||||
// } else if (bodyfiledata->type == &g_ModelTypeSkedar) {
|
||||
// } else if (bodyfiledata->type == &g_SkelSkedar) {
|
||||
// if (g_HeadsAndBodies[bodynum].canvaryheight && varyheight && bodynum == BODY_SKEDAR) {
|
||||
// // Set height to between 65% and 85%
|
||||
// f32 frac = random() * (1.0f / U32_MAX);
|
||||
|
|
@ -601,7 +601,7 @@ glabel var7f1a8a84
|
|||
//
|
||||
// func0f0b32a0(model, node, headfiledata);
|
||||
//
|
||||
// if ((s16)*(s32 *)&headfiledata->type == MODELTYPE_HEAD) {
|
||||
// if ((s16)*(s32 *)&headfiledata->type == SKEL_HEAD) {
|
||||
// struct modelnode *node2;
|
||||
//
|
||||
// if (!sunglasses) {
|
||||
|
|
@ -982,7 +982,7 @@ void bodyCalculateHeadOffset(struct modelfiledata *headfiledata, s32 headnum, s3
|
|||
struct modelrodata_bbox *bbox;
|
||||
s32 i;
|
||||
|
||||
if ((s16)(*(s32 *)&headfiledata->type) == MODELTYPE_HEAD) {
|
||||
if ((s16)(*(s32 *)&headfiledata->skel) == SKEL_HEAD) {
|
||||
if (g_HeadsAndBodies[headnum].type == g_HeadsAndBodies[bodynum].type) {
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3893,7 +3893,7 @@ void func0f0ba190(u32 arg0)
|
|||
anim00023d38(g_CutsceneAnimNum);
|
||||
sp7f = anim00023ab0(g_CutsceneAnimNum, lastframe);
|
||||
anim00023d0c();
|
||||
anim00024050(0, 0, &g_ModelType20, g_CutsceneAnimNum, sp7f, &sp94, &sp88, &sp7c);
|
||||
anim00024050(0, 0, &g_Skel20, g_CutsceneAnimNum, sp7f, &sp94, &sp88, &sp7c);
|
||||
mtx4LoadRotation(&sp94, &sp38);
|
||||
|
||||
theta = atan2f(-sp38.m[2][0], -sp38.m[2][2]);
|
||||
|
|
@ -3984,7 +3984,7 @@ void func0f0ba29c(bool arg0)
|
|||
g_Vars.in_cutscene = (g_Vars.tickmode == TICKMODE_CUTSCENE && g_CutsceneCurAnimFrame60 < endframe);
|
||||
sp15f = anim00023ab0(g_CutsceneAnimNum, g_CutsceneCurAnimFrame60);
|
||||
anim00023d0c();
|
||||
anim00024050(0, 0, &g_ModelType20, g_CutsceneAnimNum, sp15f, &sp178, &sp16c, &sp160);
|
||||
anim00024050(0, 0, &g_Skel20, g_CutsceneAnimNum, sp15f, &sp178, &sp16c, &sp160);
|
||||
|
||||
pos.x = sp16c.x * sp118;
|
||||
pos.y = sp16c.y * sp118;
|
||||
|
|
@ -15260,7 +15260,7 @@ s32 playerTick(struct prop *prop)
|
|||
chr0f0220ac(prop->chr);
|
||||
|
||||
if (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) {
|
||||
if (player->model00d4->filedata->type == &g_ModelTypeChr) {
|
||||
if (player->model00d4->filedata->skel == &g_SkelChr) {
|
||||
spe8 = player->model00d4->matrices;
|
||||
} else {
|
||||
spe8 = player->model00d4->matrices;
|
||||
|
|
|
|||
|
|
@ -8134,8 +8134,8 @@ glabel var7f1b2948
|
|||
/* f0f3df8: 240a0001 */ addiu $t2,$zero,0x1
|
||||
/* f0f3dfc: afaa02f4 */ sw $t2,0x2f4($sp)
|
||||
/* f0f3e00: 8e040054 */ lw $a0,0x54($s0)
|
||||
/* f0f3e04: 3c0b8008 */ lui $t3,%hi(g_ModelTypeChr)
|
||||
/* f0f3e08: 256bce40 */ addiu $t3,$t3,%lo(g_ModelTypeChr)
|
||||
/* f0f3e04: 3c0b8008 */ lui $t3,%hi(g_SkelChr)
|
||||
/* f0f3e08: 256bce40 */ addiu $t3,$t3,%lo(g_SkelChr)
|
||||
/* f0f3e0c: 8c8e0004 */ lw $t6,0x4($a0)
|
||||
/* f0f3e10: 556e002f */ bnel $t3,$t6,.L0f0f3ed0
|
||||
/* f0f3e14: 8faf02f4 */ lw $t7,0x2f4($sp)
|
||||
|
|
@ -8999,8 +8999,8 @@ glabel var7f1b2948
|
|||
/* f0f4ab4: 0c0073af */ jal model0001cebc
|
||||
/* f0f4ab8: afaf03c8 */ sw $t7,0x3c8($sp)
|
||||
/* f0f4abc: 8e040054 */ lw $a0,0x54($s0)
|
||||
/* f0f4ac0: 3c188008 */ lui $t8,%hi(g_ModelTypeHudPiece)
|
||||
/* f0f4ac4: 2718cc34 */ addiu $t8,$t8,%lo(g_ModelTypeHudPiece)
|
||||
/* f0f4ac0: 3c188008 */ lui $t8,%hi(g_SkelHudPiece)
|
||||
/* f0f4ac4: 2718cc34 */ addiu $t8,$t8,%lo(g_SkelHudPiece)
|
||||
/* f0f4ac8: 8c990004 */ lw $t9,0x4($a0)
|
||||
/* f0f4acc: 57190092 */ bnel $t8,$t9,.L0f0f4d18
|
||||
/* f0f4ad0: 8fb80440 */ lw $t8,0x440($sp)
|
||||
|
|
|
|||
|
|
@ -50,6 +50,41 @@ u32 var800a3424;
|
|||
u32 var800a3428;
|
||||
u32 var800a342c;
|
||||
|
||||
f32 var8007db80 = 0;
|
||||
f32 var8007db84 = 1;
|
||||
u32 var8007db88 = 0x00000000;
|
||||
u32 var8007db8c = 0x00000000;
|
||||
u32 var8007db90 = 0x00000000;
|
||||
u32 var8007db94 = 0x00000000;
|
||||
u32 var8007db98 = 0x00000000;
|
||||
u32 var8007db9c = 0x00000000;
|
||||
u32 var8007dba0 = 0x00000010;
|
||||
u32 var8007dba4 = 0x00000020;
|
||||
u32 var8007dba8 = 0x0000000c;
|
||||
u32 var8007dbac = 0x00000020;
|
||||
u32 var8007dbb0 = 0x00000018;
|
||||
u32 var8007dbb4 = 0x00000040;
|
||||
u32 var8007dbb8 = 0x0000003c;
|
||||
u32 var8007dbbc = 0x00000050;
|
||||
u32 var8007dbc0 = 0x000000e1;
|
||||
u32 var8007dbc4 = 0x00000113;
|
||||
u32 var8007dbc8 = 0x000001d6;
|
||||
u32 var8007dbcc = 0x0000023a;
|
||||
u32 var8007dbd0 = 0xff99ffff;
|
||||
u32 var8007dbd4 = 0x9999ffff;
|
||||
u32 var8007dbd8 = 0x99ffffff;
|
||||
u32 var8007dbdc = 0x99ff99ff;
|
||||
u32 var8007dbe0 = 0xffff99ff;
|
||||
u32 var8007dbe4 = 0xff9999ff;
|
||||
u32 var8007dbe8 = 0x00000000;
|
||||
u32 var8007dbec = 0x00000000;
|
||||
u32 var8007dbf0 = 0x00000000;
|
||||
u32 var8007dbf4 = 0x00000000;
|
||||
u32 var8007dbf8 = 0x00000000;
|
||||
u32 var8007dbfc = 0x3f800000;
|
||||
u32 var8007dc00 = 0x00000000;
|
||||
u32 var8007dc04 = 0x3f800000;
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f11f000
|
||||
/* f11f000: 27bdffd8 */ addiu $sp,$sp,-40
|
||||
|
|
|
|||
|
|
@ -23,86 +23,86 @@
|
|||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
struct modeltype *g_ModelTypes[] = {
|
||||
&g_ModelTypeChr,
|
||||
&g_ModelTypeClassicGun,
|
||||
&g_ModelType06,
|
||||
&g_ModelTypeUzi,
|
||||
&g_ModelTypeBasic,
|
||||
&g_ModelTypeCctv,
|
||||
&g_ModelTypeWindowedDoor,
|
||||
&g_ModelType11,
|
||||
&g_ModelType12,
|
||||
&g_ModelType13,
|
||||
&g_ModelTypeTerminal,
|
||||
&g_ModelTypeCiHub,
|
||||
&g_ModelTypeAutogun,
|
||||
&g_ModelType17,
|
||||
&g_ModelType18,
|
||||
&g_ModelType19,
|
||||
&g_ModelType0A,
|
||||
&g_ModelType0B,
|
||||
&g_ModelTypeCasing,
|
||||
&g_ModelTypeChrGun,
|
||||
&g_ModelType0C,
|
||||
&g_ModelTypeJoypad,
|
||||
&g_ModelTypeLift,
|
||||
&g_ModelTypeSkedar,
|
||||
&g_ModelTypeLogo,
|
||||
&g_ModelTypePdLogo,
|
||||
&g_ModelTypeHoverbike,
|
||||
&g_ModelTypeJumpship,
|
||||
&g_ModelType20,
|
||||
&g_ModelType21,
|
||||
&g_ModelType22,
|
||||
&g_ModelTypeLaptopGun,
|
||||
&g_ModelTypeK7Avenger,
|
||||
&g_ModelTypeChopper,
|
||||
&g_ModelTypeFalcon2,
|
||||
&g_ModelTypeKnife,
|
||||
&g_ModelTypeDrCaroll,
|
||||
&g_ModelTypeRope,
|
||||
&g_ModelTypeCmp150,
|
||||
&g_ModelTypeBanner,
|
||||
&g_ModelTypeDragon,
|
||||
&g_ModelTypeSuperDragon,
|
||||
&g_ModelTypeRocket,
|
||||
&g_ModelType4A,
|
||||
&g_ModelTypeShotgun,
|
||||
&g_ModelTypeFarsight,
|
||||
&g_ModelType4D,
|
||||
&g_ModelTypeReaper,
|
||||
&g_ModelTypeDropship,
|
||||
&g_ModelTypeMauler,
|
||||
&g_ModelTypeDevastator,
|
||||
&g_ModelTypeRobot,
|
||||
&g_ModelTypePistol,
|
||||
&g_ModelTypeAr34,
|
||||
&g_ModelTypeMagnum,
|
||||
&g_ModelTypeSlayerRocket,
|
||||
&g_ModelTypeCyclone,
|
||||
&g_ModelTypeSniperRifle,
|
||||
&g_ModelTypeTranquilizer,
|
||||
&g_ModelTypeCrossbow,
|
||||
&g_ModelTypeHudPiece,
|
||||
&g_ModelTypeTimedProxyMine,
|
||||
&g_ModelTypePhoenix,
|
||||
&g_ModelTypeCallisto,
|
||||
&g_ModelTypeHand,
|
||||
&g_ModelTypeRcp120,
|
||||
&g_ModelTypeSkShuttle,
|
||||
&g_ModelTypeLaser,
|
||||
&g_ModelTypeMaianUfo,
|
||||
&g_ModelTypeGrenade,
|
||||
&g_ModelTypeCableCar,
|
||||
&g_ModelTypeSubmarine,
|
||||
&g_ModelTypeTarget,
|
||||
&g_ModelTypeEcmMine,
|
||||
&g_ModelTypeUplink,
|
||||
&g_ModelTypeRareLogo,
|
||||
&g_ModelTypeWireFence,
|
||||
&g_ModelTypeRemoteMine,
|
||||
&g_ModelTypeBB,
|
||||
struct skeleton *g_Skeletons[] = {
|
||||
&g_SkelChr,
|
||||
&g_SkelClassicGun,
|
||||
&g_Skel06,
|
||||
&g_SkelUzi,
|
||||
&g_SkelBasic,
|
||||
&g_SkelCctv,
|
||||
&g_SkelWindowedDoor,
|
||||
&g_Skel11,
|
||||
&g_Skel12,
|
||||
&g_Skel13,
|
||||
&g_SkelTerminal,
|
||||
&g_SkelCiHub,
|
||||
&g_SkelAutogun,
|
||||
&g_Skel17,
|
||||
&g_Skel18,
|
||||
&g_Skel19,
|
||||
&g_Skel0A,
|
||||
&g_Skel0B,
|
||||
&g_SkelCasing,
|
||||
&g_SkelChrGun,
|
||||
&g_Skel0C,
|
||||
&g_SkelJoypad,
|
||||
&g_SkelLift,
|
||||
&g_SkelSkedar,
|
||||
&g_SkelLogo,
|
||||
&g_SkelPdLogo,
|
||||
&g_SkelHoverbike,
|
||||
&g_SkelJumpship,
|
||||
&g_Skel20,
|
||||
&g_Skel21,
|
||||
&g_Skel22,
|
||||
&g_SkelLaptopGun,
|
||||
&g_SkelK7Avenger,
|
||||
&g_SkelChopper,
|
||||
&g_SkelFalcon2,
|
||||
&g_SkelKnife,
|
||||
&g_SkelDrCaroll,
|
||||
&g_SkelRope,
|
||||
&g_SkelCmp150,
|
||||
&g_SkelBanner,
|
||||
&g_SkelDragon,
|
||||
&g_SkelSuperDragon,
|
||||
&g_SkelRocket,
|
||||
&g_Skel4A,
|
||||
&g_SkelShotgun,
|
||||
&g_SkelFarsight,
|
||||
&g_Skel4D,
|
||||
&g_SkelReaper,
|
||||
&g_SkelDropship,
|
||||
&g_SkelMauler,
|
||||
&g_SkelDevastator,
|
||||
&g_SkelRobot,
|
||||
&g_SkelPistol,
|
||||
&g_SkelAr34,
|
||||
&g_SkelMagnum,
|
||||
&g_SkelSlayerRocket,
|
||||
&g_SkelCyclone,
|
||||
&g_SkelSniperRifle,
|
||||
&g_SkelTranquilizer,
|
||||
&g_SkelCrossbow,
|
||||
&g_SkelHudPiece,
|
||||
&g_SkelTimedProxyMine,
|
||||
&g_SkelPhoenix,
|
||||
&g_SkelCallisto,
|
||||
&g_SkelHand,
|
||||
&g_SkelRcp120,
|
||||
&g_SkelSkShuttle,
|
||||
&g_SkelLaser,
|
||||
&g_SkelMaianUfo,
|
||||
&g_SkelGrenade,
|
||||
&g_SkelCableCar,
|
||||
&g_SkelSubmarine,
|
||||
&g_SkelTarget,
|
||||
&g_SkelEcmMine,
|
||||
&g_SkelUplink,
|
||||
&g_SkelRareLogo,
|
||||
&g_SkelWireFence,
|
||||
&g_SkelRemoteMine,
|
||||
&g_SkelBB,
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -237,10 +237,10 @@ void modelPromoteTypeToPointer(struct modelfiledata *filedata)
|
|||
{
|
||||
s32 i;
|
||||
|
||||
if ((u32)filedata->type < 0x10000) {
|
||||
for (i = 0; g_ModelTypes[i] != NULL; i++) {
|
||||
if ((s16)filedata->type == g_ModelTypes[i]->type) {
|
||||
filedata->type = g_ModelTypes[i];
|
||||
if ((u32)filedata->skel < 0x10000) {
|
||||
for (i = 0; g_Skeletons[i] != NULL; i++) {
|
||||
if ((s16)filedata->skel == g_Skeletons[i]->skel) {
|
||||
filedata->skel = g_Skeletons[i];
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
#include <ultra64.h>
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u8 g_SkelBasicJoints[][2] = {
|
||||
{ 0, 0 },
|
||||
{ 1, 1 },
|
||||
{ 2, 2 },
|
||||
{ 3, 3 },
|
||||
{ 4, 4 },
|
||||
{ 5, 5 },
|
||||
{ 6, 6 },
|
||||
{ 7, 7 },
|
||||
{ 8, 8 },
|
||||
{ 9, 9 },
|
||||
{ 10, 10 },
|
||||
{ 11, 11 },
|
||||
{ 12, 12 },
|
||||
{ 13, 13 },
|
||||
{ 14, 14 },
|
||||
{ 15, 15 },
|
||||
{ 16, 16 },
|
||||
{ 17, 17 },
|
||||
{ 18, 18 },
|
||||
{ 19, 19 },
|
||||
{ 20, 20 },
|
||||
};
|
||||
|
||||
struct skeleton g_SkelBasic = {
|
||||
SKEL_BASIC, ARRAYCOUNT(g_SkelBasicJoints), g_SkelBasicJoints,
|
||||
};
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
#include <ultra64.h>
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u8 g_SkelCasingJoints[][2] = {
|
||||
{ 0, 0 },
|
||||
};
|
||||
|
||||
struct skeleton g_SkelCasing = {
|
||||
SKEL_CASING, ARRAYCOUNT(g_SkelCasingJoints), g_SkelCasingJoints,
|
||||
};
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
#include <ultra64.h>
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u8 g_SkelChrJoints[][2] = {
|
||||
{ 0, 0 },
|
||||
{ 1, 1 },
|
||||
{ 2, 2 },
|
||||
{ 3, 4 },
|
||||
{ 4, 3 },
|
||||
{ 5, 6 },
|
||||
{ 6, 5 },
|
||||
{ 7, 8 },
|
||||
{ 8, 7 },
|
||||
{ 9, 10 },
|
||||
{ 10, 9 },
|
||||
{ 11, 12 },
|
||||
{ 12, 11 },
|
||||
{ 13, 14 },
|
||||
{ 14, 13 },
|
||||
};
|
||||
|
||||
struct skeleton g_SkelChr = {
|
||||
SKEL_CHR, ARRAYCOUNT(g_SkelChrJoints), g_SkelChrJoints,
|
||||
};
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
#include <ultra64.h>
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u8 g_SkelChrGunJoints[][2] = {
|
||||
{ 0, 0 },
|
||||
{ 1, 1 },
|
||||
};
|
||||
|
||||
struct skeleton g_SkelChrGun = {
|
||||
SKEL_CHRGUN, ARRAYCOUNT(g_SkelChrGunJoints), g_SkelChrGunJoints,
|
||||
};
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
#include <ultra64.h>
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u8 g_SkelClassicGunJoints[][2] = {
|
||||
{ 0, 0 },
|
||||
{ 1, 1 },
|
||||
{ 2, 2 },
|
||||
{ 5, 5 },
|
||||
{ 3, 3 },
|
||||
{ 4, 4 },
|
||||
};
|
||||
|
||||
struct skeleton g_SkelClassicGun = {
|
||||
SKEL_CLASSICGUN, ARRAYCOUNT(g_SkelClassicGunJoints), g_SkelClassicGunJoints,
|
||||
};
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,43 @@
|
|||
#include <ultra64.h>
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
struct modelnode var8007c0dc;
|
||||
struct modelnode var8007c0f4;
|
||||
struct modelnode var8007c10c;
|
||||
struct modelrodata_chrinfo var8007c124;
|
||||
struct modelrodata_position var8007c130;
|
||||
struct modelrodata_position var8007c148;
|
||||
|
||||
struct modelfiledata g_PlayerModelFileData = {
|
||||
(struct modelnode *) &var8007c0dc,
|
||||
&g_Skel0B,
|
||||
NULL,
|
||||
0,
|
||||
3,
|
||||
41.161228179932,
|
||||
0,
|
||||
NULL,
|
||||
};
|
||||
|
||||
// rodata parent next prev child
|
||||
struct modelnode var8007c0dc = { MODELNODETYPE_CHRINFO, (union modelrodata *)&var8007c124, NULL, NULL, NULL, &var8007c0f4 };
|
||||
struct modelnode var8007c0f4 = { MODELNODETYPE_POSITION, (union modelrodata *)&var8007c130, &var8007c0dc, NULL, NULL, &var8007c10c };
|
||||
struct modelnode var8007c10c = { MODELNODETYPE_POSITION, (union modelrodata *)&var8007c148, &var8007c0f4, NULL, NULL, NULL };
|
||||
|
||||
struct modelrodata_chrinfo var8007c124 = {0, 1, 0, 0};
|
||||
|
||||
struct modelrodata_position var8007c130 = {
|
||||
{ 1.1779819726944f, 41.144371032715, 0 }, // pos
|
||||
MODELPART_0001, // part
|
||||
{ 2, -1, -1 }, // pieces
|
||||
0, // draw distance
|
||||
};
|
||||
|
||||
struct modelrodata_position var8007c148 = {
|
||||
{ -2.5760269165039, 480.42901611328, 0 }, // pos
|
||||
MODELPART_0002, // part
|
||||
{ 0, -1, -1 }, // pieces
|
||||
0, // draw distance
|
||||
};
|
||||
|
|
@ -0,0 +1,248 @@
|
|||
#include <ultra64.h>
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u8 g_SkelDrCarollJoints[][2] = {
|
||||
{ 0, 0 },
|
||||
{ 1, 1 },
|
||||
{ 2, 2 },
|
||||
{ 3, 3 },
|
||||
};
|
||||
|
||||
struct skeleton g_SkelDrCaroll = {
|
||||
SKEL_DRCAROLL, ARRAYCOUNT(g_SkelDrCarollJoints), g_SkelDrCarollJoints,
|
||||
};
|
||||
|
||||
u8 g_Skel22Joints[][2] = {
|
||||
{ 0, 0 },
|
||||
{ 1, 1 },
|
||||
{ 2, 2 },
|
||||
{ 3, 3 },
|
||||
{ 4, 4 },
|
||||
{ 5, 5 },
|
||||
{ 6, 6 },
|
||||
{ 7, 7 },
|
||||
{ 8, 8 },
|
||||
{ 9, 9 },
|
||||
{ 10, 10 },
|
||||
{ 11, 11 },
|
||||
{ 12, 12 },
|
||||
{ 13, 13 },
|
||||
{ 14, 14 },
|
||||
{ 15, 15 },
|
||||
{ 16, 16 },
|
||||
{ 17, 17 },
|
||||
{ 18, 19 },
|
||||
{ 19, 18 },
|
||||
{ 20, 21 },
|
||||
{ 21, 20 },
|
||||
{ 22, 23 },
|
||||
{ 23, 22 },
|
||||
{ 24, 25 },
|
||||
{ 25, 24 },
|
||||
{ 26, 27 },
|
||||
{ 27, 26 },
|
||||
{ 28, 29 },
|
||||
{ 29, 28 },
|
||||
};
|
||||
|
||||
struct skeleton g_Skel22 = {
|
||||
SKEL_22, ARRAYCOUNT(g_Skel22Joints), g_Skel22Joints,
|
||||
};
|
||||
|
||||
u8 g_SkelRobotJoints[][2] = {
|
||||
{ 0, 0 },
|
||||
{ 1, 2 },
|
||||
{ 2, 1 },
|
||||
};
|
||||
|
||||
struct skeleton g_SkelRobot = {
|
||||
SKEL_ROBOT, ARRAYCOUNT(g_SkelRobotJoints), g_SkelRobotJoints,
|
||||
};
|
||||
|
||||
struct headorbody g_HeadsAndBodies[] = {
|
||||
// ismale
|
||||
// | height
|
||||
// | |
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
{ /*0x0000*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 167, FILE_CDJBOND, 1, 1.0446009635925, 0, FILE_GHAND_DDSECURITY },
|
||||
{ /*0x0001*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 167, FILE_CCONNERY, 1, 1.0300469398499, 0, FILE_GHAND_MRBLONDE },
|
||||
{ /*0x0002*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 165, FILE_CDALTON, 1, 1.0572769641876, 0, FILE_GHAND_DDSECURITY },
|
||||
{ /*0x0003*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 167, FILE_CMOORE, 1, 1.0399061441422, 0, FILE_GHAND_DDSECURITY },
|
||||
#else
|
||||
{ /*0x0000*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 169, FILE_CDJBOND, 1, 1.0446009635925, 0, FILE_GHAND_DDSECURITY },
|
||||
{ /*0x0001*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 169, FILE_CCONNERY, 1, 1.0300469398499, 0, FILE_GHAND_MRBLONDE },
|
||||
{ /*0x0002*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 167, FILE_CDALTON, 1, 1.0572769641876, 0, FILE_GHAND_DDSECURITY },
|
||||
{ /*0x0003*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 169, FILE_CMOORE, 1, 1.0399061441422, 0, FILE_GHAND_DDSECURITY },
|
||||
#endif
|
||||
{ /*0x0004*/ 0, 1, 0, HEADBODYTYPE_FEMALE, 13, FILE_CHEADDARK_COMBAT, 1, 1, 0, 0 },
|
||||
{ /*0x0005*/ 1, 1, 0, HEADBODYTYPE_MAIAN, 27, FILE_CHEADELVIS, 1, 1, 0, 0 },
|
||||
{ /*0x0006*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADROSS, 1, 1, 0, 0 },
|
||||
{ /*0x0007*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADCARRINGTON, 1, 1, 0, 0 },
|
||||
{ /*0x0008*/ 1, 1, 0, HEADBODYTYPE_MRBLONDE, 13, FILE_CHEADMRBLONDE, 1, 1, 0, 0 },
|
||||
{ /*0x0009*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADTRENT, 1, 1, 0, 0 },
|
||||
{ /*0x000a*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADDDSHOCK, 1, 1, 0, 0 },
|
||||
{ /*0x000b*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADGRAHAM, 1, 1, 0, 0 },
|
||||
{ /*0x000c*/ 0, 1, 0, HEADBODYTYPE_FEMALE, 13, FILE_CHEADDARK_FROCK, 1, 1, 0, 0 },
|
||||
{ /*0x000d*/ 0, 1, 0, HEADBODYTYPE_FEMALE, 13, FILE_CHEADSECRETARY, 1, 1, 0, 0 },
|
||||
{ /*0x000e*/ 0, 1, 0, HEADBODYTYPE_CASS, 13, FILE_CHEADCASSANDRA, 1, 1, 0, 0 },
|
||||
{ /*0x000f*/ 1, 1, 0, HEADBODYTYPE_MAIAN, 27, FILE_CHEADTHEKING, 1, 1, 0, 0 },
|
||||
{ /*0x0010*/ 0, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADFEM_GUARD, 1, 1, 0, 0 },
|
||||
{ /*0x0011*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADJON, 1, 1, 0, 0 },
|
||||
{ /*0x0012*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADMARK2, 1, 1, 0, 0 },
|
||||
{ /*0x0013*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADCHRIST, 1, 1, 0, 0 },
|
||||
{ /*0x0014*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADRUSS, 1, 1, 0, 0 },
|
||||
{ /*0x0015*/ 1, 1, 0, HEADBODYTYPE_MAIAN, 13, FILE_CHEADGREY, 1, 1, 0, 0 },
|
||||
{ /*0x0016*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADDARLING, 1, 1, 0, 0 },
|
||||
{ /*0x0017*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADROBERT, 1, 1, 0, 0 },
|
||||
{ /*0x0018*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADBEAU, 1, 1, 0, 0 },
|
||||
{ /*0x0019*/ 0, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADFEM_GUARD2, 1, 1, 0, 0 },
|
||||
{ /*0x001a*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADBRIAN, 1, 1, 0, 0 },
|
||||
{ /*0x001b*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADJAMIE, 1, 1, 0, 0 },
|
||||
{ /*0x001c*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADDUNCAN2, 1, 1, 0, 0 },
|
||||
{ /*0x001d*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADBIOTECH, 1, 1, 0, 0 },
|
||||
{ /*0x001e*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADNEIL2, 1, 1, 0, 0 },
|
||||
{ /*0x001f*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADEDMCG, 1, 1, 0, 0 },
|
||||
{ /*0x0020*/ 0, 1, 0, HEADBODYTYPE_FEMALE, 13, FILE_CHEADANKA, 1, 1, 0, 0 },
|
||||
{ /*0x0021*/ 0, 1, 0, HEADBODYTYPE_FEMALE, 13, FILE_CHEADLESLIE_S, 1, 1, 0, 0 },
|
||||
{ /*0x0022*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADMATT_C, 1, 1, 0, 0 },
|
||||
{ /*0x0023*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADPEER_S, 1, 1, 0, 0 },
|
||||
{ /*0x0024*/ 0, 1, 0, HEADBODYTYPE_FEMALE, 13, FILE_CHEADEILEEN_T, 1, 1, 0, 0 },
|
||||
{ /*0x0025*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADANDY_R, 1, 1, 0, 0 },
|
||||
{ /*0x0026*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADBEN_R, 1, 1, 0, 0 },
|
||||
{ /*0x0027*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADSTEVE_K, 1, 1, 0, 0 },
|
||||
{ /*0x0028*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADJONATHAN, 1, 1, 0, 0 },
|
||||
{ /*0x0029*/ 1, 1, 0, HEADBODYTYPE_MAIAN, 27, FILE_CHEADMAIAN_S, 1, 1, 0, 0 },
|
||||
{ /*0x002a*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADSHAUN, 1, 1, 0, 0 },
|
||||
{ /*0x002b*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADBEAU, 1, 1, 0, 0 },
|
||||
{ /*0x002c*/ 0, 1, 0, HEADBODYTYPE_FEMALE, 13, FILE_CHEADEILEEN_H, 1, 1, 0, 0 },
|
||||
{ /*0x002d*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADSCOTT_H, 1, 1, 0, 0 },
|
||||
{ /*0x002e*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADSANCHEZ, 1, 1, 0, 0 },
|
||||
{ /*0x002f*/ 0, 1, 0, HEADBODYTYPE_FEMALE, 13, FILE_CHEADDARKAQUA, 1, 1, 0, 0 },
|
||||
{ /*0x0030*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADDDSNIPER, 1, 1, 0, 0 },
|
||||
{ /*0x0031*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADBEAU, 1, 1, 0, 0 },
|
||||
{ /*0x0032*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADBEAU, 1, 1, 0, 0 },
|
||||
{ /*0x0033*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADBEAU, 1, 1, 0, 0 },
|
||||
{ /*0x0034*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADBEAU, 1, 1, 0, 0 },
|
||||
{ /*0x0035*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADGRIFFEY, 1, 1, 0, 0 },
|
||||
{ /*0x0036*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADMOTO, 1, 1, 0, 0 },
|
||||
{ /*0x0037*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADKEITH, 1, 1, 0, 0 },
|
||||
{ /*0x0038*/ 0, 1, 0, HEADBODYTYPE_FEMALE, 13, FILE_CHEADWINNER, 1, 1, 0, 0 },
|
||||
{ /*0x0039*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CA51FACEPLATE, 1, 1, 0, 0 },
|
||||
{ /*0x003a*/ 1, 1, 0, HEADBODYTYPE_MAIAN, 27, FILE_CHEADELVIS_GOGS, 1, 1, 0, 0 },
|
||||
{ /*0x003b*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADSTEVEM, 1, 1, 0, 0 },
|
||||
{ /*0x003c*/ 0, 1, 0, HEADBODYTYPE_FEMALE, 13, FILE_CHEADDARK_SNOW, 1, 1, 0, 0 },
|
||||
{ /*0x003d*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADPRESIDENT, 1, 1, 0, 0 },
|
||||
{ /*0x003e*/ 0, 1, 0, HEADBODYTYPE_FEMALE, 13, FILE_CHEAD_VD, 1, 1, 0, 0 },
|
||||
{ /*0x003f*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADKEN, 1, 1, 0, 0 },
|
||||
{ /*0x0040*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADJOEL, 1, 1, 0, 0 },
|
||||
{ /*0x0041*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADTIM, 1, 1, 0, 0 },
|
||||
{ /*0x0042*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADGRANT, 1, 1, 0, 0 },
|
||||
{ /*0x0043*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADPENNY, 1, 1, 0, 0 },
|
||||
{ /*0x0044*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADROBIN, 1, 1, 0, 0 },
|
||||
{ /*0x0045*/ 0, 1, 0, HEADBODYTYPE_FEMALEGUARD, 13, FILE_CHEADALEX, 1, 1, 0, 0 },
|
||||
{ /*0x0046*/ 0, 1, 0, HEADBODYTYPE_FEMALEGUARD, 13, FILE_CHEADJULIANNE, 1, 1, 0, 0 },
|
||||
{ /*0x0047*/ 0, 1, 0, HEADBODYTYPE_FEMALEGUARD, 13, FILE_CHEADLAURA, 1, 1, 0, 0 },
|
||||
{ /*0x0048*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADDAVEC, 1, 1, 0, 0 },
|
||||
{ /*0x0049*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADCOOK, 1, 1, 0, 0 },
|
||||
{ /*0x004a*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADPRYCE, 1, 1, 0, 0 },
|
||||
{ /*0x004b*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADSILKE, 1, 1, 0, 0 },
|
||||
{ /*0x004c*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADSMITH, 1, 1, 0, 0 },
|
||||
{ /*0x004d*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADGARETH, 1, 1, 0, 0 },
|
||||
{ /*0x004e*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADMURCHIE, 1, 1, 0, 0 },
|
||||
{ /*0x004f*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADWONG, 1, 1, 0, 0 },
|
||||
{ /*0x0050*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADCARTER, 1, 1, 0, 0 },
|
||||
{ /*0x0051*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADTINTIN, 1, 1, 0, 0 },
|
||||
{ /*0x0052*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADMUNTON, 1, 1, 0, 0 },
|
||||
{ /*0x0053*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADSTAMPER, 1, 1, 0, 0 },
|
||||
{ /*0x0054*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADJONES, 1, 1, 0, 0 },
|
||||
{ /*0x0055*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 13, FILE_CHEADPHELPS, 1, 1, 0, 0 },
|
||||
{ /*0x0056*/ 0, 0, 0, HEADBODYTYPE_FEMALE, 159, FILE_CDARK_COMBAT, 1, 0.95305162668228, 0, FILE_GCOMBATHANDSLOD },
|
||||
{ /*0x0057*/ 1, 0, 0, HEADBODYTYPE_MAIAN, 106, FILE_CELVIS1, 1, 0.57276993989944, 0, FILE_GHAND_ELVIS },
|
||||
{ /*0x0058*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 157, FILE_CAREA51GUARD, 1, 0.92769956588745, 0, FILE_GHAND_A51GUARD },
|
||||
{ /*0x0059*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 159, FILE_COVERALL, 1, 0.92769956588745, 0, FILE_GHAND_A51GUARD },
|
||||
{ /*0x005a*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 154, FILE_CCARRINGTON, 1, 0.85915493965149, 0, FILE_GHAND_CARRINGTON },
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
{ /*0x005b*/ 1, 0, 0, HEADBODYTYPE_MRBLONDE, 169, FILE_CMRBLONDE, 1, 1.1032863855362, 0, FILE_GHAND_MRBLONDE },
|
||||
#else
|
||||
{ /*0x005b*/ 1, 0, 0, HEADBODYTYPE_MRBLONDE, 175, FILE_CMRBLONDE, 1, 1.1032863855362, 0, FILE_GHAND_MRBLONDE },
|
||||
#endif
|
||||
{ /*0x005c*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 159, FILE_CSKEDAR, 1, 1, 0, 0 },
|
||||
{ /*0x005d*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 161, FILE_CTRENT, 1, 0.93896716833115, 0, FILE_GHAND_TRENT },
|
||||
{ /*0x005e*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 157, FILE_CDDSHOCK, 1, 0.93896716833115, 0, FILE_GHAND_DDFODDER },
|
||||
{ /*0x005f*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 157, FILE_CLABTECH, 1, 0.93896716833115, 0, FILE_GHAND_MRBLONDE },
|
||||
{ /*0x0060*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 158, FILE_CSTRIPES, 1, 0.92769956588745, 0, FILE_GHAND_BLACKGUARD },
|
||||
{ /*0x0061*/ 0, 0, 0, HEADBODYTYPE_FEMALE, 159, FILE_CDARK_FROCK, 1, 0.95305162668228, 0, FILE_GHAND_JOFROCK },
|
||||
{ /*0x0062*/ 0, 0, 0, HEADBODYTYPE_FEMALE, 159, FILE_CDARK_TRENCH, 1, 0.95305162668228, 0, FILE_GHAND_JOTRENCH },
|
||||
{ /*0x0063*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 157, FILE_COFFICEWORKER, 1, 0.93896716833115, 0, FILE_GHAND_JOFROCK },
|
||||
{ /*0x0064*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 157, FILE_COFFICEWORKER2, 1, 0.93896716833115, 0, FILE_GHAND_JOFROCK },
|
||||
{ /*0x0065*/ 0, 0, 0, HEADBODYTYPE_FEMALE, 140, FILE_CSECRETARY, 1, 0.87323945760727, 0, FILE_GHAND_JOFROCK },
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
{ /*0x0066*/ 0, 0, 0, HEADBODYTYPE_CASS, 167, FILE_CCASSANDRA, 1, 0.98591554164886, 0, FILE_GHAND_VRIES },
|
||||
#else
|
||||
{ /*0x0066*/ 0, 0, 0, HEADBODYTYPE_CASS, 169, FILE_CCASSANDRA, 1, 0.98591554164886, 0, FILE_GHAND_VRIES },
|
||||
#endif
|
||||
{ /*0x0067*/ 1, 0, 0, HEADBODYTYPE_MAIAN, 106, FILE_CTHEKING, 1, 0.57276993989944, 0, FILE_GHAND_ELVIS },
|
||||
{ /*0x0068*/ 0, 0, 1, HEADBODYTYPE_FEMALEGUARD, 160, FILE_CFEM_GUARD, 1, 0.96713620424271, 0, FILE_GHAND_JOTRENCH },
|
||||
{ /*0x0069*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 157, FILE_CDD_LABTECH, 1, 0.93896716833115, 0, FILE_GHAND_DDLABTECH },
|
||||
{ /*0x006a*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 160, FILE_CDD_SECGUARD, 1, 0.93427228927612, 0, FILE_GHAND_DDSECURITY },
|
||||
{ /*0x006b*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 159, FILE_CDRCARROLL, 1, 1, 0, 0 },
|
||||
{ /*0x006c*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 159, FILE_CEYESPY, 1, 1, 0, 0 },
|
||||
{ /*0x006d*/ 0, 0, 0, HEADBODYTYPE_FEMALE, 159, FILE_CDARK_RIPPED, 1, 0.95305162668228, 0, FILE_GHAND_JOFROCK },
|
||||
{ /*0x006e*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 160, FILE_CDD_GUARD, 1, 0.93896716833115, 0, FILE_GHAND_DDSECURITY },
|
||||
{ /*0x006f*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 157, FILE_CDD_SHOCK_INF, 1, 0.93896716833115, 0, FILE_GHAND_DDSHOCK },
|
||||
{ /*0x0070*/ 1, 1, 0, HEADBODYTYPE_DEFAULT, 159, FILE_CTESTCHR, 1, 1, 0, 0 },
|
||||
{ /*0x0071*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 155, FILE_CBIOTECH, 1, 0.93896716833115, 0, FILE_GHAND_DDBIO },
|
||||
{ /*0x0072*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 159, FILE_CFBIGUY, 1, 0.93896716833115, 0, FILE_GHAND_FBIARM },
|
||||
{ /*0x0073*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 159, FILE_CCIAGUY, 1, 0.93896716833115, 0, FILE_GHAND_CIA },
|
||||
{ /*0x0074*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 159, FILE_CA51TROOPER, 1, 0.93896716833115, 0, FILE_GHAND_JOFROCK },
|
||||
{ /*0x0075*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 157, FILE_CA51AIRMAN, 1, 0.93896716833115, 0, FILE_GHAND_A51AIRMAN },
|
||||
{ /*0x0076*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 159, FILE_CCHICROB, 1, 1, 0, 0 },
|
||||
{ /*0x0077*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 153, FILE_CSTEWARD, 1, 0.89201879501343, 0, FILE_GHAND_JOFROCK },
|
||||
{ /*0x0078*/ 0, 0, 0, HEADBODYTYPE_FEMALE, 143, FILE_CSTEWARDESS, 1, 0.85446006059647, 0, FILE_GHAND_JOFROCK },
|
||||
{ /*0x0079*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 159, FILE_CPRESIDENT, 1, 0.93896716833115, 0, FILE_GHAND_PRESIDENT },
|
||||
{ /*0x007a*/ 0, 0, 0, HEADBODYTYPE_FEMALE, 143, FILE_CSTEWARDESS_COAT, 1, 0.85446006059647, 0, FILE_GHAND_STEWARDESS_COAT },
|
||||
{ /*0x007b*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 159, FILE_CMINISKEDAR, 0.75, 0.5, 0, 0 },
|
||||
{ /*0x007c*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 159, FILE_CNSA_LACKEY, 1, 0.93896716833115, 0, FILE_GHAND_CARRINGTON },
|
||||
{ /*0x007d*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 159, FILE_CPRES_SECURITY, 1, 0.93896716833115, 0, FILE_GHAND_CARRINGTON },
|
||||
{ /*0x007e*/ 0, 0, 0, HEADBODYTYPE_FEMALE, 142, FILE_CNEGOTIATOR, 1, 0.85446006059647, 0, FILE_GHAND_JOFROCK },
|
||||
{ /*0x007f*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 159, FILE_CG5_GUARD, 1, 0.93896716833115, 0, FILE_GHAND_G5GUARD },
|
||||
{ /*0x0080*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 159, FILE_CPELAGIC_GUARD, 1, 0.93896716833115, 0, FILE_GHAND_TRAGIC_PELAGIC },
|
||||
{ /*0x0081*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 158, FILE_CG5_SWAT_GUARD, 1, 0.93896716833115, 0, FILE_GHAND_G5GUARD },
|
||||
{ /*0x0082*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 158, FILE_CALASKAN_GUARD, 1, 0.93896716833115, 0, FILE_GHAND_JOSNOW },
|
||||
{ /*0x0083*/ 1, 0, 1, HEADBODYTYPE_MAIAN, 106, FILE_CMAIAN_SOLDIER, 1, 0.57276993989944, 0, FILE_GHAND_ELVIS },
|
||||
{ /*0x0084*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 159, FILE_CPRESIDENT_CLONE, 1, 0.93896716833115, 0, FILE_GCOMBATHANDSLOD },
|
||||
{ /*0x0085*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 159, FILE_CPRESIDENT_CLONE, 1, 0.93896716833115, 0, FILE_GHAND_PRESIDENT },
|
||||
{ /*0x0086*/ 0, 0, 0, HEADBODYTYPE_FEMALE, 159, FILE_CDARK_AF1, 1, 0.95305162668228, 0, FILE_GHAND_JOPILOT },
|
||||
{ /*0x0087*/ 0, 0, 0, HEADBODYTYPE_FEMALE, 159, FILE_CDARKWET, 1, 0.95305162668228, 0, FILE_GHAND_JOWETSUIT },
|
||||
{ /*0x0088*/ 0, 0, 0, HEADBODYTYPE_FEMALE, 159, FILE_CDARKAQUALUNG, 1, 0.95305162668228, 0, FILE_GHAND_JOWETSUIT },
|
||||
{ /*0x0089*/ 0, 0, 0, HEADBODYTYPE_FEMALE, 159, FILE_CDARKSNOW, 1, 0.95305162668228, 0, FILE_GHAND_JOSNOW },
|
||||
{ /*0x008a*/ 0, 0, 0, HEADBODYTYPE_FEMALE, 159, FILE_CDARKLAB, 1, 0.95305162668228, 0, FILE_GHAND_MRBLONDE },
|
||||
{ /*0x008b*/ 0, 0, 1, HEADBODYTYPE_FEMALE, 159, FILE_CFEMLABTECH, 1, 0.87323945760727, 0, FILE_GHAND_MRBLONDE },
|
||||
{ /*0x008c*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 159, FILE_CDDSNIPER, 1, 0.93896716833115, 0, FILE_GHAND_DDSNIPER },
|
||||
{ /*0x008d*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 159, FILE_CPILOTAF1, 1, 0.88262909650803, 0, FILE_GHAND_JOPILOT },
|
||||
{ /*0x008e*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 159, FILE_CCILABTECH, 1, 0.93896716833115, 0, FILE_GHAND_CIFEMTECH },
|
||||
{ /*0x008f*/ 0, 0, 1, HEADBODYTYPE_FEMALE, 159, FILE_CCIFEMTECH, 1, 0.86854463815689, 0, FILE_GHAND_CIFEMTECH },
|
||||
{ /*0x0090*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 159, FILE_CCARREVENINGSUIT, 1, 0.85915493965149, 0, FILE_GHAND_MRBLONDE },
|
||||
{ /*0x0091*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 159, FILE_CJONATHON, 1, 0.93896716833115, 0, FILE_GHAND_A51GUARD },
|
||||
{ /*0x0092*/ 1, 0, 1, HEADBODYTYPE_DEFAULT, 159, FILE_CCISOLDIER, 1, 0.93896716833115, 0, FILE_GHAND_CISOLDIER },
|
||||
{ /*0x0093*/ 1, 0, 0, HEADBODYTYPE_DEFAULT, 159, FILE_CSKEDARKING, 1, 1.25, 0, 0 },
|
||||
{ /*0x0094*/ 1, 0, 0, HEADBODYTYPE_MAIAN, 106, FILE_CELVISWAISTCOAT, 1, 0.57276993989944, 0, FILE_GHAND_ELVIS },
|
||||
{ /*0x0095*/ 0, 0, 0, HEADBODYTYPE_FEMALE, 159, FILE_CDARK_LEATHER, 1, 0.95305162668228, 0, FILE_GHAND_JOFROCK },
|
||||
{ /*0x0096*/ 0, 0, 0, HEADBODYTYPE_FEMALE, 159, FILE_CDARK_NEGOTIATOR, 1, 0.95305162668228, 0, FILE_GHAND_JOAF1 },
|
||||
{ /*0x0097*/ 0, 0, 0, HEADBODYTYPE_DEFAULT, 0, 0, 1, 0, 0, FILE_GCOMBATHANDSLOD },
|
||||
};
|
||||
|
||||
// [headnum][hattype]
|
||||
struct hatposition var8007dae4[1][6] = {
|
||||
{
|
||||
// HEAD_SHAUN
|
||||
{ -0.070299997925758, 0.49189999699593, -0.83359998464584, 1.072811961174, 1.0883259773254, 0.92612099647522 },
|
||||
{ -0.10000000149012, 0.42750000953674, -0.48249998688698, 1.0333679914474, 0.96552097797394, 0.92990499734879 },
|
||||
{ 0.18000000715256, 0, 0, 1.0722140073776, 1, 1 },
|
||||
{ 0.23700000345707, 0.97699999809265, -0.43999999761581, 1.1784629821777, 1.1406099796295, 1.1434650421143 },
|
||||
{ -0.090300001204014, 0.23190000653267, 0.12639999389648, 0.99080002307892, 1.0199999809265, 0.84659999608994 },
|
||||
{ 0, 0.14849999547005, 0.37929999828339, 1.1548000574112, 0.99190002679825, 0.95139998197556 },
|
||||
}
|
||||
};
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
#include <ultra64.h>
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u8 g_SkelSkedarJoints[][2] = {
|
||||
{ 0, 0 },
|
||||
{ 1, 1 },
|
||||
{ 2, 2 },
|
||||
{ 3, 3 },
|
||||
{ 4, 4 },
|
||||
{ 5, 5 },
|
||||
{ 6, 6 },
|
||||
{ 7, 7 },
|
||||
{ 8, 15 },
|
||||
{ 9, 16 },
|
||||
{ 10, 17 },
|
||||
{ 11, 18 },
|
||||
{ 12, 19 },
|
||||
{ 13, 20 },
|
||||
{ 14, 21 },
|
||||
{ 15, 8 },
|
||||
{ 16, 9 },
|
||||
{ 17, 10 },
|
||||
{ 18, 11 },
|
||||
{ 19, 12 },
|
||||
{ 20, 13 },
|
||||
{ 21, 14 },
|
||||
{ 22, 29 },
|
||||
{ 23, 30 },
|
||||
{ 24, 31 },
|
||||
{ 25, 32 },
|
||||
{ 26, 33 },
|
||||
{ 27, 34 },
|
||||
{ 28, 35 },
|
||||
{ 29, 22 },
|
||||
{ 30, 23 },
|
||||
{ 31, 24 },
|
||||
{ 32, 25 },
|
||||
{ 33, 26 },
|
||||
{ 34, 27 },
|
||||
{ 35, 28 },
|
||||
};
|
||||
|
||||
struct skeleton g_SkelSkedar = {
|
||||
SKEL_SKEDAR, ARRAYCOUNT(g_SkelSkedarJoints), g_SkelSkedarJoints,
|
||||
};
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
#include <ultra64.h>
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u8 g_Skel06Joints[][2] = {
|
||||
{ 0, 0 },
|
||||
{ 1, 1 },
|
||||
{ 2, 2 },
|
||||
{ 3, 3 },
|
||||
{ 4, 4 },
|
||||
{ 5, 5 },
|
||||
{ 6, 6 },
|
||||
};
|
||||
|
||||
struct skeleton g_Skel06 = {
|
||||
SKEL_06, ARRAYCOUNT(g_Skel06Joints), g_Skel06Joints,
|
||||
};
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
#include <ultra64.h>
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u8 g_Skel0AJoints[][2] = {
|
||||
{ 0, 0 },
|
||||
{ 1, 1 },
|
||||
{ 2, 2 },
|
||||
{ 3, 4 },
|
||||
{ 4, 3 },
|
||||
{ 5, 6 },
|
||||
{ 6, 5 },
|
||||
{ 7, 8 },
|
||||
{ 8, 7 },
|
||||
{ 9, 10 },
|
||||
{ 10, 9 },
|
||||
{ 11, 12 },
|
||||
{ 12, 11 },
|
||||
{ 13, 14 },
|
||||
{ 14, 13 },
|
||||
{ 15, 15 },
|
||||
{ 16, 16 },
|
||||
{ 17, 17 },
|
||||
};
|
||||
|
||||
struct skeleton g_Skel0A = {
|
||||
SKEL_0A, ARRAYCOUNT(g_Skel0AJoints), g_Skel0AJoints,
|
||||
};
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
#include <ultra64.h>
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u8 g_Skel0BJoints[][2] = {
|
||||
{ 0, 0 },
|
||||
{ 1, 1 },
|
||||
{ 2, 2 },
|
||||
{ 3, 4 },
|
||||
{ 4, 3 },
|
||||
{ 5, 6 },
|
||||
{ 6, 5 },
|
||||
{ 7, 8 },
|
||||
{ 8, 7 },
|
||||
{ 9, 10 },
|
||||
{ 10, 9 },
|
||||
{ 11, 12 },
|
||||
{ 12, 11 },
|
||||
{ 13, 14 },
|
||||
{ 14, 13 },
|
||||
};
|
||||
|
||||
struct skeleton g_Skel0B = {
|
||||
SKEL_0B, ARRAYCOUNT(g_Skel0BJoints), g_Skel0BJoints,
|
||||
};
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
#include <ultra64.h>
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u8 g_Skel20Joints[][2] = {
|
||||
{ 0, 0 },
|
||||
};
|
||||
|
||||
struct skeleton g_Skel20 = {
|
||||
SKEL_20, ARRAYCOUNT(g_Skel20Joints), g_Skel20Joints,
|
||||
};
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
#include <ultra64.h>
|
||||
#include "bss.h"
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u8 g_SkelUziJoints[][2] = {
|
||||
{ 0, 0 },
|
||||
{ 1, 1 },
|
||||
{ 2, 2 },
|
||||
{ 3, 3 },
|
||||
{ 6, 6 },
|
||||
{ 4, 4 },
|
||||
{ 5, 5 },
|
||||
};
|
||||
|
||||
struct skeleton g_SkelUzi = {
|
||||
SKEL_UZI, ARRAYCOUNT(g_SkelUziJoints), g_SkelUziJoints,
|
||||
};
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -4056,20 +4056,20 @@ glabel func0f069850
|
|||
/* f06988c: 0c005775 */ jal mtx4SetTranslation
|
||||
/* f069890: 27a50038 */ addiu $a1,$sp,0x38
|
||||
/* f069894: 8e0e0018 */ lw $t6,0x18($s0)
|
||||
/* f069898: 3c0f8008 */ lui $t7,%hi(g_ModelTypeHoverbike)
|
||||
/* f06989c: 25efaf3c */ addiu $t7,$t7,%lo(g_ModelTypeHoverbike)
|
||||
/* f069898: 3c0f8008 */ lui $t7,%hi(g_SkelHoverbike)
|
||||
/* f06989c: 25efaf3c */ addiu $t7,$t7,%lo(g_SkelHoverbike)
|
||||
/* f0698a0: 8dc40008 */ lw $a0,0x8($t6)
|
||||
/* f0698a4: 3c188008 */ lui $t8,%hi(g_ModelTypeBasic)
|
||||
/* f0698a8: 2718c06c */ addiu $t8,$t8,%lo(g_ModelTypeBasic)
|
||||
/* f0698a4: 3c188008 */ lui $t8,%hi(g_SkelBasic)
|
||||
/* f0698a8: 2718c06c */ addiu $t8,$t8,%lo(g_SkelBasic)
|
||||
/* f0698ac: 8c820004 */ lw $v0,0x4($a0)
|
||||
/* f0698b0: 11e20009 */ beq $t7,$v0,.L0f0698d8
|
||||
/* f0698b4: 00000000 */ nop
|
||||
/* f0698b8: 13020007 */ beq $t8,$v0,.L0f0698d8
|
||||
/* f0698bc: 3c198008 */ lui $t9,%hi(g_ModelTypeMaianUfo)
|
||||
/* f0698c0: 2739afc8 */ addiu $t9,$t9,%lo(g_ModelTypeMaianUfo)
|
||||
/* f0698bc: 3c198008 */ lui $t9,%hi(g_SkelMaianUfo)
|
||||
/* f0698c0: 2739afc8 */ addiu $t9,$t9,%lo(g_SkelMaianUfo)
|
||||
/* f0698c4: 13220004 */ beq $t9,$v0,.L0f0698d8
|
||||
/* f0698c8: 3c088008 */ lui $t0,%hi(g_ModelTypeDropship)
|
||||
/* f0698cc: 2508adf0 */ addiu $t0,$t0,%lo(g_ModelTypeDropship)
|
||||
/* f0698c8: 3c088008 */ lui $t0,%hi(g_SkelDropship)
|
||||
/* f0698cc: 2508adf0 */ addiu $t0,$t0,%lo(g_SkelDropship)
|
||||
/* f0698d0: 55020005 */ bnel $t0,$v0,.L0f0698e8
|
||||
/* f0698d4: 8e090010 */ lw $t1,0x10($s0)
|
||||
.L0f0698d8:
|
||||
|
|
@ -33366,7 +33366,7 @@ void doorTick(struct prop *doorprop)
|
|||
}
|
||||
|
||||
// Consider playing a sound effect
|
||||
if (model->filedata->type == &g_ModelType13) {
|
||||
if (model->filedata->skel == &g_Skel13) {
|
||||
f32 soundpoint = door->maxfrac * 0.3f;
|
||||
|
||||
if (door->frac > soundpoint) {
|
||||
|
|
@ -33440,7 +33440,7 @@ void doorUpdatePortalIfWindowed(struct prop *doorprop, s32 playercount)
|
|||
canhide = false;
|
||||
}
|
||||
|
||||
if (model->filedata->type == &g_ModelTypeWindowedDoor) {
|
||||
if (model->filedata->skel == &g_SkelWindowedDoor) {
|
||||
node = modelGetPart(model->filedata, MODELPART_WINDOWEDDOOR_0001);
|
||||
rwdata = modelGetNodeRwData(model, node);
|
||||
|
||||
|
|
@ -33497,13 +33497,13 @@ glabel var7f1aa44c
|
|||
/* f07749c: 0c0056f8 */ jal mtx00015be0
|
||||
/* f0774a0: 02a02825 */ or $a1,$s5,$zero
|
||||
/* f0774a4: 8ec40008 */ lw $a0,0x8($s6)
|
||||
/* f0774a8: 3c0e8008 */ lui $t6,%hi(g_ModelType11)
|
||||
/* f0774ac: 25ceae84 */ addiu $t6,$t6,%lo(g_ModelType11)
|
||||
/* f0774a8: 3c0e8008 */ lui $t6,%hi(g_Skel11)
|
||||
/* f0774ac: 25ceae84 */ addiu $t6,$t6,%lo(g_Skel11)
|
||||
/* f0774b0: 8c820004 */ lw $v0,0x4($a0)
|
||||
/* f0774b4: 3c0f8008 */ lui $t7,%hi(g_ModelType13)
|
||||
/* f0774b4: 3c0f8008 */ lui $t7,%hi(g_Skel13)
|
||||
/* f0774b8: 3c017f1b */ lui $at,%hi(var7f1aa440)
|
||||
/* f0774bc: 15c20024 */ bne $t6,$v0,.L0f077550
|
||||
/* f0774c0: 25efaea8 */ addiu $t7,$t7,%lo(g_ModelType13)
|
||||
/* f0774c0: 25efaea8 */ addiu $t7,$t7,%lo(g_Skel13)
|
||||
/* f0774c4: c42ea440 */ lwc1 $f14,%lo(var7f1aa440)($at)
|
||||
/* f0774c8: c604007c */ lwc1 $f4,0x7c($s0)
|
||||
/* f0774cc: 3c017f1b */ lui $at,%hi(var7f1aa444)
|
||||
|
|
@ -33628,7 +33628,7 @@ glabel var7f1aa44c
|
|||
// func0f08c424(door, matrices);
|
||||
// mtx00015be0(currentPlayerGetMatrix1740(), matrices);
|
||||
//
|
||||
// if (model->filedata->type == &g_ModelType11) {
|
||||
// if (model->filedata->type == &g_Skel11) {
|
||||
// f32 xrot = M_BADTAU - door->frac * 0.017450513318181f;
|
||||
//
|
||||
// rodata = modelGetPartRodata(model->filedata, 1);
|
||||
|
|
@ -33640,7 +33640,7 @@ glabel var7f1aa44c
|
|||
// mtx4LoadXRotation(M_BADTAU - xrot, &matrices[2]);
|
||||
// mtx4SetTranslation(&rodata->position.pos, &matrices[2]);
|
||||
// mtx4MultMtx4InPlace(matrices, &matrices[2]);
|
||||
// } else if (model->filedata->type == &g_ModelType13) {
|
||||
// } else if (model->filedata->type == &g_Skel13) {
|
||||
// f32 zrot1 = 0;
|
||||
// f32 zrot2 = door->frac * 0.017450513318181f;
|
||||
// f32 limit = door->maxfrac * 0.3f;
|
||||
|
|
@ -49782,7 +49782,7 @@ s32 objTick(struct prop *prop)
|
|||
sp144 = floorf(model->anim->frame);
|
||||
|
||||
for (i = sp148; i <= sp144; i++) {
|
||||
anim00024b64(0, 0, model->filedata->type, model->anim->animnum, i, &sp128, 0);
|
||||
anim00024b64(0, 0, model->filedata->skel, model->anim->animnum, i, &sp128, 0);
|
||||
|
||||
sp116.x += sp128.x * 0.1f;
|
||||
sp112 = sp128.y * 0.1f;
|
||||
|
|
@ -49943,7 +49943,7 @@ s32 objTick(struct prop *prop)
|
|||
|
||||
if (obj->type == OBJTYPE_FAN) {
|
||||
fanUpdateModel(prop);
|
||||
} else if (obj->model->filedata->type == &g_ModelTypeDropship) {
|
||||
} else if (obj->model->filedata->skel == &g_SkelDropship) {
|
||||
dropshipUpdateInterior(prop);
|
||||
}
|
||||
|
||||
|
|
@ -53838,13 +53838,13 @@ glabel var7f1aa82c
|
|||
|
||||
bool modelIsNodeNotTvscreen(struct modelfiledata *filedata, struct modelnode *node)
|
||||
{
|
||||
if (filedata->type == &g_ModelTypeTerminal) {
|
||||
if (filedata->skel == &g_SkelTerminal) {
|
||||
if (modelGetPart(filedata, MODELPART_TERMINAL_0000) == node) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (filedata->type == &g_ModelTypeCiHub) {
|
||||
if (filedata->skel == &g_SkelCiHub) {
|
||||
if (modelGetPart(filedata, MODELPART_CIHUB_0000) == node
|
||||
|| modelGetPart(filedata, MODELPART_CIHUB_0001) == node
|
||||
|| modelGetPart(filedata, MODELPART_CIHUB_0002) == node
|
||||
|
|
@ -57662,10 +57662,10 @@ glabel func0f0841dc
|
|||
/* f08421c: 3c19800a */ lui $t9,%hi(g_Vars+0x2ac)
|
||||
/* f084220: 8f39a26c */ lw $t9,%lo(g_Vars+0x2ac)($t9)
|
||||
/* f084224: 8e050014 */ lw $a1,0x14($s0)
|
||||
/* f084228: 3c068008 */ lui $a2,%hi(propexplosiontypes+0x8)
|
||||
/* f084228: 3c068008 */ lui $a2,%hi(g_PropExplosionTypes+0x8)
|
||||
/* f08422c: 24010006 */ addiu $at,$zero,0x6
|
||||
/* f084230: 00d83021 */ addu $a2,$a2,$t8
|
||||
/* f084234: 80c6be3c */ lb $a2,%lo(propexplosiontypes+0x8)($a2)
|
||||
/* f084234: 80c6be3c */ lb $a2,%lo(g_PropExplosionTypes+0x8)($a2)
|
||||
/* f084238: 17210007 */ bne $t9,$at,.L0f084258
|
||||
/* f08423c: 00a01825 */ or $v1,$a1,$zero
|
||||
/* f084240: 3c08800a */ lui $t0,%hi(g_CutsceneAnimNum)
|
||||
|
|
@ -57924,10 +57924,10 @@ glabel func0f0841dc
|
|||
/* f08421c: 3c19800a */ lui $t9,%hi(g_Vars+0x2ac)
|
||||
/* f084220: 8f39a26c */ lw $t9,%lo(g_Vars+0x2ac)($t9)
|
||||
/* f084224: 8e050014 */ lw $a1,0x14($s0)
|
||||
/* f084228: 3c068008 */ lui $a2,%hi(propexplosiontypes+0x8)
|
||||
/* f084228: 3c068008 */ lui $a2,%hi(g_PropExplosionTypes+0x8)
|
||||
/* f08422c: 24010006 */ addiu $at,$zero,0x6
|
||||
/* f084230: 00d83021 */ addu $a2,$a2,$t8
|
||||
/* f084234: 80c6be3c */ lb $a2,%lo(propexplosiontypes+0x8)($a2)
|
||||
/* f084234: 80c6be3c */ lb $a2,%lo(g_PropExplosionTypes+0x8)($a2)
|
||||
/* f084238: 17210007 */ bne $t9,$at,.L0f084258
|
||||
/* f08423c: 00a01825 */ or $v1,$a1,$zero
|
||||
/* f084240: 3c08800a */ lui $t0,%hi(g_CutsceneAnimNum)
|
||||
|
|
@ -59258,7 +59258,7 @@ void func0f0859a0(struct prop *prop, struct shotdata *shotdata)
|
|||
if ((obj->flags & OBJFLAG_INVINCIBLE) == 0) {
|
||||
if (obj->type == OBJTYPE_GLASS || obj->type == OBJTYPE_TINTEDGLASS) {
|
||||
isnotglass = false;
|
||||
} else if (obj->model->filedata->type == &g_ModelTypeWindowedDoor
|
||||
} else if (obj->model->filedata->skel == &g_SkelWindowedDoor
|
||||
&& modelGetPart(obj->model->filedata, MODELPART_WINDOWEDDOOR_0003) == node2) {
|
||||
isnotglass = false;
|
||||
}
|
||||
|
|
@ -59598,8 +59598,8 @@ glabel objHit
|
|||
/* f0862e4: 15c00041 */ bnez $t6,.L0f0863ec
|
||||
/* f0862e8: 00000000 */ nop
|
||||
/* f0862ec: 8f2f0018 */ lw $t7,0x18($t9)
|
||||
/* f0862f0: 3c188008 */ lui $t8,%hi(g_ModelTypeWindowedDoor)
|
||||
/* f0862f4: 2718aed8 */ addiu $t8,$t8,%lo(g_ModelTypeWindowedDoor)
|
||||
/* f0862f0: 3c188008 */ lui $t8,%hi(g_SkelWindowedDoor)
|
||||
/* f0862f4: 2718aed8 */ addiu $t8,$t8,%lo(g_SkelWindowedDoor)
|
||||
/* f0862f8: 8deb0008 */ lw $t3,0x8($t7)
|
||||
/* f0862fc: 8d0a0004 */ lw $t2,0x4($t0)
|
||||
/* f086300: 00001825 */ or $v1,$zero,$zero
|
||||
|
|
@ -59700,9 +59700,9 @@ glabel objHit
|
|||
/* f086458: afa600d0 */ sw $a2,0xd0($sp)
|
||||
/* f08645c: 8fa600d0 */ lw $a2,0xd0($sp)
|
||||
/* f086460: 8fb9011c */ lw $t9,0x11c($sp)
|
||||
/* f086464: 3c188008 */ lui $t8,%hi(g_ModelTypeWindowedDoor)
|
||||
/* f086464: 3c188008 */ lui $t8,%hi(g_SkelWindowedDoor)
|
||||
/* f086468: 84ce000a */ lh $t6,0xa($a2)
|
||||
/* f08646c: 2718aed8 */ addiu $t8,$t8,%lo(g_ModelTypeWindowedDoor)
|
||||
/* f08646c: 2718aed8 */ addiu $t8,$t8,%lo(g_SkelWindowedDoor)
|
||||
/* f086470: 24050003 */ addiu $a1,$zero,0x3
|
||||
/* f086474: 004e001b */ divu $zero,$v0,$t6
|
||||
/* f086478: 00007810 */ mfhi $t7
|
||||
|
|
@ -59728,8 +59728,8 @@ glabel objHit
|
|||
/* f0864c4: 8de40008 */ lw $a0,0x8($t7)
|
||||
/* f0864c8: 8c830004 */ lw $v1,0x4($a0)
|
||||
.L0f0864cc:
|
||||
/* f0864cc: 3c198008 */ lui $t9,%hi(g_ModelTypeCctv)
|
||||
/* f0864d0: 2739ae34 */ addiu $t9,$t9,%lo(g_ModelTypeCctv)
|
||||
/* f0864cc: 3c198008 */ lui $t9,%hi(g_SkelCctv)
|
||||
/* f0864d0: 2739ae34 */ addiu $t9,$t9,%lo(g_SkelCctv)
|
||||
/* f0864d4: 17230009 */ bne $t9,$v1,.L0f0864fc
|
||||
/* f0864d8: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f0864dc: 0c006a47 */ jal modelGetPart
|
||||
|
|
@ -59833,8 +59833,8 @@ glabel objHit
|
|||
/* f086644: 1441001d */ bne $v0,$at,.L0f0866bc
|
||||
/* f086648: 8fac0100 */ lw $t4,0x100($sp)
|
||||
/* f08664c: 8fae011c */ lw $t6,0x11c($sp)
|
||||
/* f086650: 3c0b8008 */ lui $t3,%hi(g_ModelTypeCctv)
|
||||
/* f086654: 256bae34 */ addiu $t3,$t3,%lo(g_ModelTypeCctv)
|
||||
/* f086650: 3c0b8008 */ lui $t3,%hi(g_SkelCctv)
|
||||
/* f086654: 256bae34 */ addiu $t3,$t3,%lo(g_SkelCctv)
|
||||
/* f086658: 8dcf0018 */ lw $t7,0x18($t6)
|
||||
/* f08665c: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f086660: 8de40008 */ lw $a0,0x8($t7)
|
||||
|
|
@ -59892,8 +59892,8 @@ glabel objHit
|
|||
/* f086718: 0fc2149c */ jal objTakeGunfire
|
||||
/* f08671c: afaf0010 */ sw $t7,0x10($sp)
|
||||
/* f086720: 8fa4011c */ lw $a0,0x11c($sp)
|
||||
/* f086724: 3c0b8008 */ lui $t3,%hi(g_ModelTypeWindowedDoor)
|
||||
/* f086728: 256baed8 */ addiu $t3,$t3,%lo(g_ModelTypeWindowedDoor)
|
||||
/* f086724: 3c0b8008 */ lui $t3,%hi(g_SkelWindowedDoor)
|
||||
/* f086728: 256baed8 */ addiu $t3,$t3,%lo(g_SkelWindowedDoor)
|
||||
/* f08672c: 8c980018 */ lw $t8,0x18($a0)
|
||||
/* f086730: 8fac0124 */ lw $t4,0x124($sp)
|
||||
/* f086734: 8f190008 */ lw $t9,0x8($t8)
|
||||
|
|
@ -65126,7 +65126,7 @@ glabel func0f089a94
|
|||
|
||||
struct prop *hatApplyToChr(struct hatobj *hat, struct chrdata *chr, struct modelfiledata *filedata, struct prop *prop, struct model *model)
|
||||
{
|
||||
if (chr->model->filedata->type == &g_ModelTypeChr) {
|
||||
if (chr->model->filedata->skel == &g_SkelChr) {
|
||||
prop = objInit(&hat->base, filedata, prop, model);
|
||||
|
||||
if (prop && hat->base.model) {
|
||||
|
|
@ -65763,7 +65763,7 @@ bool chrEquipWeapon(struct weaponobj *weapon, struct chrdata *chr)
|
|||
}
|
||||
|
||||
if (!chr->weapons_held[handnum]) {
|
||||
if (chr->model->filedata->type == &g_ModelTypeChr) {
|
||||
if (chr->model->filedata->skel == &g_SkelChr) {
|
||||
weapon->base.model->attachedtomodel = chr->model;
|
||||
|
||||
if (handnum == HAND_RIGHT) {
|
||||
|
|
@ -65777,7 +65777,7 @@ bool chrEquipWeapon(struct weaponobj *weapon, struct chrdata *chr)
|
|||
if ((weapon->base.flags & OBJFLAG_80000000) && chr->weapons_held[1 - handnum]) {
|
||||
propweaponSetDual(weapon, chr->weapons_held[1 - handnum]->weapon);
|
||||
}
|
||||
} else if (chr->model->filedata->type == &g_ModelTypeSkedar) {
|
||||
} else if (chr->model->filedata->skel == &g_SkelSkedar) {
|
||||
weapon->base.model->attachedtomodel = chr->model;
|
||||
|
||||
if (handnum == HAND_RIGHT) {
|
||||
|
|
@ -66603,7 +66603,7 @@ void weaponSetGunfireVisible(struct prop *prop, bool visible, s16 room)
|
|||
if (obj && obj->type == OBJTYPE_WEAPON) {
|
||||
struct model *model = obj->model;
|
||||
|
||||
if (model && model->filedata->type == &g_ModelTypeChrGun) {
|
||||
if (model && model->filedata->skel == &g_SkelChrGun) {
|
||||
node1 = modelGetPart(model->filedata, MODELPART_CHRGUN_GUNFIRE);
|
||||
|
||||
if (node1) {
|
||||
|
|
@ -66639,7 +66639,7 @@ bool weaponIsGunfireVisible(struct prop *prop)
|
|||
struct model *model = obj->model;
|
||||
struct modelnode *node;
|
||||
|
||||
if (model && model->filedata->type == &g_ModelTypeChrGun) {
|
||||
if (model && model->filedata->skel == &g_SkelChrGun) {
|
||||
node = modelGetPart(model->filedata, MODELPART_CHRGUN_GUNFIRE);
|
||||
|
||||
if (node) {
|
||||
|
|
|
|||
|
|
@ -731,12 +731,17 @@
|
|||
#define EXPLOSIONTYPE_1 1
|
||||
#define EXPLOSIONTYPE_2 2
|
||||
#define EXPLOSIONTYPE_3 3
|
||||
#define EXPLOSIONTYPE_4 4
|
||||
#define EXPLOSIONTYPE_5 5
|
||||
#define EXPLOSIONTYPE_6 6
|
||||
#define EXPLOSIONTYPE_7 7
|
||||
#define EXPLOSIONTYPE_8 8
|
||||
#define EXPLOSIONTYPE_9 9
|
||||
#define EXPLOSIONTYPE_11 11
|
||||
#define EXPLOSIONTYPE_12 12
|
||||
#define EXPLOSIONTYPE_13 13
|
||||
#define EXPLOSIONTYPE_14 14
|
||||
#define EXPLOSIONTYPE_16 16
|
||||
#define EXPLOSIONTYPE_17 17
|
||||
#define EXPLOSIONTYPE_18 18
|
||||
#define EXPLOSIONTYPE_21 21
|
||||
|
|
@ -2284,87 +2289,6 @@
|
|||
#define MODELPART_0066 0x0066
|
||||
#define MODELPART_0067 0x0067
|
||||
|
||||
#define MODELTYPE_BASIC 0x02
|
||||
#define MODELTYPE_CHRGUN 0x03
|
||||
#define MODELTYPE_JOYPAD 0x04
|
||||
#define MODELTYPE_UZI 0x05
|
||||
#define MODELTYPE_06 0x06
|
||||
#define MODELTYPE_CLASSICGUN 0x07
|
||||
#define MODELTYPE_CASING 0x08
|
||||
#define MODELTYPE_CHR 0x09
|
||||
#define MODELTYPE_0A 0x0a
|
||||
#define MODELTYPE_0B 0x0b
|
||||
#define MODELTYPE_0C 0x0c
|
||||
#define MODELTYPE_HEAD 0x0d
|
||||
#define MODELTYPE_CCTV 0x0f
|
||||
#define MODELTYPE_WINDOWEDDOOR 0x10
|
||||
#define MODELTYPE_11 0x11
|
||||
#define MODELTYPE_12 0x12
|
||||
#define MODELTYPE_13 0x13
|
||||
#define MODELTYPE_TERMINAL 0x14
|
||||
#define MODELTYPE_CIHUB 0x15
|
||||
#define MODELTYPE_AUTOGUN 0x16
|
||||
#define MODELTYPE_17 0x17
|
||||
#define MODELTYPE_18 0x18
|
||||
#define MODELTYPE_19 0x19
|
||||
#define MODELTYPE_LIFT 0x1b
|
||||
#define MODELTYPE_SKEDAR 0x1c
|
||||
#define MODELTYPE_LOGO 0x1d
|
||||
#define MODELTYPE_PDLOGO 0x1e
|
||||
#define MODELTYPE_HOVERBIKE 0x1f
|
||||
#define MODELTYPE_20 0x20
|
||||
#define MODELTYPE_21 0x21
|
||||
#define MODELTYPE_22 0x22
|
||||
#define MODELTYPE_LAPTOPGUN 0x23
|
||||
#define MODELTYPE_K7AVENGER 0x24
|
||||
#define MODELTYPE_FALCON2 0x25
|
||||
#define MODELTYPE_KNIFE 0x26
|
||||
#define MODELTYPE_CHOPPER 0x27
|
||||
#define MODELTYPE_DRCAROLL 0x28
|
||||
#define MODELTYPE_ROPE 0x29
|
||||
#define MODELTYPE_HUDPIECE 0x2a
|
||||
#define MODELTYPE_RARELOGO 0x2c
|
||||
#define MODELTYPE_JUMPSHIP 0x32
|
||||
#define MODELTYPE_BANNER 0x33
|
||||
#define MODELTYPE_ROBOT 0x34
|
||||
#define MODELTYPE_CABLECAR 0x3c
|
||||
#define MODELTYPE_SUBMARINE 0x43
|
||||
#define MODELTYPE_MAIANUFO 0x44
|
||||
#define MODELTYPE_SKSHUTTLE 0x45
|
||||
#define MODELTYPE_CMP150 0x46
|
||||
#define MODELTYPE_DRAGON 0x47
|
||||
#define MODELTYPE_SUPERDRAGON 0x48
|
||||
#define MODELTYPE_ROCKET 0x49
|
||||
#define MODELTYPE_4A 0x4a
|
||||
#define MODELTYPE_SHOTGUN 0x4b
|
||||
#define MODELTYPE_FARSIGHT 0x4c
|
||||
#define MODELTYPE_4D 0x4d
|
||||
#define MODELTYPE_REAPER 0x4e
|
||||
#define MODELTYPE_DROPSHIP 0x4f
|
||||
#define MODELTYPE_MAULER 0x64
|
||||
#define MODELTYPE_DEVASTATOR 0x65
|
||||
#define MODELTYPE_PISTOL 0x66
|
||||
#define MODELTYPE_AR34 0x67
|
||||
#define MODELTYPE_MAGNUM 0x68
|
||||
#define MODELTYPE_SLAYERROCKET 0x69
|
||||
#define MODELTYPE_CYCLONE 0x6a
|
||||
#define MODELTYPE_SNIPERRIFLE 0x6b
|
||||
#define MODELTYPE_TRANQUILIZER 0x6c
|
||||
#define MODELTYPE_CROSSBOW 0x6d
|
||||
#define MODELTYPE_TIMEDPROXYMINE 0x6e
|
||||
#define MODELTYPE_PHOENIX 0x6f
|
||||
#define MODELTYPE_CALLISTO 0x70
|
||||
#define MODELTYPE_RCP120 0x71
|
||||
#define MODELTYPE_LASER 0x72
|
||||
#define MODELTYPE_GRENADE 0x73
|
||||
#define MODELTYPE_ECMMINE 0x74
|
||||
#define MODELTYPE_UPLINK 0x75
|
||||
#define MODELTYPE_REMOTEMINE 0x76
|
||||
#define MODELTYPE_TARGET 0x8c
|
||||
#define MODELTYPE_BB 0xbb
|
||||
#define MODELTYPE_WIREFENCE 0xc8
|
||||
#define MODELTYPE_HAND 0xfa
|
||||
|
||||
#define MODFILE_GAME 1
|
||||
#define MODFILE_MPSETUP 2
|
||||
#define MODFILE_BOSS 4
|
||||
|
|
@ -3406,6 +3330,87 @@
|
|||
#define SIMTYPE_TURTLE 11
|
||||
#define SIMTYPE_VENGE 12
|
||||
|
||||
#define SKEL_BASIC 0x02
|
||||
#define SKEL_CHRGUN 0x03
|
||||
#define SKEL_JOYPAD 0x04
|
||||
#define SKEL_UZI 0x05
|
||||
#define SKEL_06 0x06
|
||||
#define SKEL_CLASSICGUN 0x07
|
||||
#define SKEL_CASING 0x08
|
||||
#define SKEL_CHR 0x09
|
||||
#define SKEL_0A 0x0a
|
||||
#define SKEL_0B 0x0b
|
||||
#define SKEL_0C 0x0c
|
||||
#define SKEL_HEAD 0x0d
|
||||
#define SKEL_CCTV 0x0f
|
||||
#define SKEL_WINDOWEDDOOR 0x10
|
||||
#define SKEL_11 0x11
|
||||
#define SKEL_12 0x12
|
||||
#define SKEL_13 0x13
|
||||
#define SKEL_TERMINAL 0x14
|
||||
#define SKEL_CIHUB 0x15
|
||||
#define SKEL_AUTOGUN 0x16
|
||||
#define SKEL_17 0x17
|
||||
#define SKEL_18 0x18
|
||||
#define SKEL_19 0x19
|
||||
#define SKEL_LIFT 0x1b
|
||||
#define SKEL_SKEDAR 0x1c
|
||||
#define SKEL_LOGO 0x1d
|
||||
#define SKEL_PDLOGO 0x1e
|
||||
#define SKEL_HOVERBIKE 0x1f
|
||||
#define SKEL_20 0x20
|
||||
#define SKEL_21 0x21
|
||||
#define SKEL_22 0x22
|
||||
#define SKEL_LAPTOPGUN 0x23
|
||||
#define SKEL_K7AVENGER 0x24
|
||||
#define SKEL_FALCON2 0x25
|
||||
#define SKEL_KNIFE 0x26
|
||||
#define SKEL_CHOPPER 0x27
|
||||
#define SKEL_DRCAROLL 0x28
|
||||
#define SKEL_ROPE 0x29
|
||||
#define SKEL_HUDPIECE 0x2a
|
||||
#define SKEL_RARELOGO 0x2c
|
||||
#define SKEL_JUMPSHIP 0x32
|
||||
#define SKEL_BANNER 0x33
|
||||
#define SKEL_ROBOT 0x34
|
||||
#define SKEL_CABLECAR 0x3c
|
||||
#define SKEL_SUBMARINE 0x43
|
||||
#define SKEL_MAIANUFO 0x44
|
||||
#define SKEL_SKSHUTTLE 0x45
|
||||
#define SKEL_CMP150 0x46
|
||||
#define SKEL_DRAGON 0x47
|
||||
#define SKEL_SUPERDRAGON 0x48
|
||||
#define SKEL_ROCKET 0x49
|
||||
#define SKEL_4A 0x4a
|
||||
#define SKEL_SHOTGUN 0x4b
|
||||
#define SKEL_FARSIGHT 0x4c
|
||||
#define SKEL_4D 0x4d
|
||||
#define SKEL_REAPER 0x4e
|
||||
#define SKEL_DROPSHIP 0x4f
|
||||
#define SKEL_MAULER 0x64
|
||||
#define SKEL_DEVASTATOR 0x65
|
||||
#define SKEL_PISTOL 0x66
|
||||
#define SKEL_AR34 0x67
|
||||
#define SKEL_MAGNUM 0x68
|
||||
#define SKEL_SLAYERROCKET 0x69
|
||||
#define SKEL_CYCLONE 0x6a
|
||||
#define SKEL_SNIPERRIFLE 0x6b
|
||||
#define SKEL_TRANQUILIZER 0x6c
|
||||
#define SKEL_CROSSBOW 0x6d
|
||||
#define SKEL_TIMEDPROXYMINE 0x6e
|
||||
#define SKEL_PHOENIX 0x6f
|
||||
#define SKEL_CALLISTO 0x70
|
||||
#define SKEL_RCP120 0x71
|
||||
#define SKEL_LASER 0x72
|
||||
#define SKEL_GRENADE 0x73
|
||||
#define SKEL_ECMMINE 0x74
|
||||
#define SKEL_UPLINK 0x75
|
||||
#define SKEL_REMOTEMINE 0x76
|
||||
#define SKEL_TARGET 0x8c
|
||||
#define SKEL_BB 0xbb
|
||||
#define SKEL_WIREFENCE 0xc8
|
||||
#define SKEL_HAND 0xfa
|
||||
|
||||
#define SKJUMPSTATE_TAKEOFF 0
|
||||
#define SKJUMPSTATE_AIRBORNE 1
|
||||
|
||||
|
|
|
|||
|
|
@ -320,88 +320,88 @@ extern u8 unregistered_function1[];
|
|||
extern u8 unregistered_function2[];
|
||||
extern u8 unregistered_function3[];
|
||||
extern struct ailist g_GlobalAilists[];
|
||||
extern struct modeltype g_ModelTypeDropship;
|
||||
extern struct modeltype g_ModelTypeSkShuttle;
|
||||
extern struct modeltype g_ModelTypeLift;
|
||||
extern struct modeltype g_ModelTypeCctv;
|
||||
extern struct modeltype g_ModelTypeTerminal;
|
||||
extern struct modeltype g_ModelTypeCiHub;
|
||||
extern struct modeltype g_ModelType19;
|
||||
extern struct modeltype g_ModelTypeAutogun;
|
||||
extern struct modeltype g_ModelType11;
|
||||
extern struct modeltype g_ModelType13;
|
||||
extern struct modeltype g_ModelType18;
|
||||
extern struct modeltype g_ModelType12;
|
||||
extern struct modeltype g_ModelTypeWindowedDoor;
|
||||
extern struct modeltype g_ModelType17;
|
||||
extern struct modeltype g_ModelType0C;
|
||||
extern struct modeltype g_ModelTypeLogo;
|
||||
extern struct modeltype g_ModelTypePdLogo;
|
||||
extern struct modeltype g_ModelTypeHoverbike;
|
||||
extern struct modeltype g_ModelTypeJumpship;
|
||||
extern struct modeltype g_ModelTypeChopper;
|
||||
extern struct modeltype g_ModelTypeRope;
|
||||
extern struct modeltype g_ModelTypeBanner;
|
||||
extern struct modeltype g_ModelTypeMaianUfo;
|
||||
extern struct modeltype g_ModelTypeCableCar;
|
||||
extern struct modeltype g_ModelTypeSubmarine;
|
||||
extern struct modeltype g_ModelTypeTarget;
|
||||
extern struct modeltype g_ModelTypeRareLogo;
|
||||
extern struct modeltype g_ModelTypeWireFence;
|
||||
extern struct modeltype g_ModelTypeBB;
|
||||
extern struct skeleton g_SkelDropship;
|
||||
extern struct skeleton g_SkelSkShuttle;
|
||||
extern struct skeleton g_SkelLift;
|
||||
extern struct skeleton g_SkelCctv;
|
||||
extern struct skeleton g_SkelTerminal;
|
||||
extern struct skeleton g_SkelCiHub;
|
||||
extern struct skeleton g_Skel19;
|
||||
extern struct skeleton g_SkelAutogun;
|
||||
extern struct skeleton g_Skel11;
|
||||
extern struct skeleton g_Skel13;
|
||||
extern struct skeleton g_Skel18;
|
||||
extern struct skeleton g_Skel12;
|
||||
extern struct skeleton g_SkelWindowedDoor;
|
||||
extern struct skeleton g_Skel17;
|
||||
extern struct skeleton g_Skel0C;
|
||||
extern struct skeleton g_SkelLogo;
|
||||
extern struct skeleton g_SkelPdLogo;
|
||||
extern struct skeleton g_SkelHoverbike;
|
||||
extern struct skeleton g_SkelJumpship;
|
||||
extern struct skeleton g_SkelChopper;
|
||||
extern struct skeleton g_SkelRope;
|
||||
extern struct skeleton g_SkelBanner;
|
||||
extern struct skeleton g_SkelMaianUfo;
|
||||
extern struct skeleton g_SkelCableCar;
|
||||
extern struct skeleton g_SkelSubmarine;
|
||||
extern struct skeleton g_SkelTarget;
|
||||
extern struct skeleton g_SkelRareLogo;
|
||||
extern struct skeleton g_SkelWireFence;
|
||||
extern struct skeleton g_SkelBB;
|
||||
extern struct modelstate g_ModelStates[441];
|
||||
extern u8 propexplosiontypes[];
|
||||
extern struct modeltype g_ModelTypeBasic;
|
||||
extern struct modeltype g_ModelTypeChrGun;
|
||||
extern struct modeltype g_ModelType0B;
|
||||
extern u8 g_PropExplosionTypes[];
|
||||
extern struct skeleton g_SkelBasic;
|
||||
extern struct skeleton g_SkelChrGun;
|
||||
extern struct skeleton g_Skel0B;
|
||||
extern struct modelfiledata g_PlayerModelFileData;
|
||||
extern struct modeltype g_ModelType0A;
|
||||
extern struct modeltype g_ModelType20;
|
||||
extern struct modeltype g_ModelTypeClassicGun;
|
||||
extern struct modeltype g_ModelTypeCasing;
|
||||
extern struct modeltype g_ModelType06;
|
||||
extern struct modeltype g_ModelTypeUzi;
|
||||
extern struct modeltype g_ModelTypeJoypad;
|
||||
extern struct modeltype g_ModelType21;
|
||||
extern struct modeltype g_ModelTypeLaptopGun;
|
||||
extern struct modeltype g_ModelTypeK7Avenger;
|
||||
extern struct modeltype g_ModelTypeFalcon2;
|
||||
extern struct modeltype g_ModelTypeKnife;
|
||||
extern struct modeltype g_ModelTypeCmp150;
|
||||
extern struct modeltype g_ModelTypeDragon;
|
||||
extern struct modeltype g_ModelTypeSuperDragon;
|
||||
extern struct modeltype g_ModelTypeRocket;
|
||||
extern struct modeltype g_ModelType4A;
|
||||
extern struct modeltype g_ModelTypeShotgun;
|
||||
extern struct modeltype g_ModelTypeFarsight;
|
||||
extern struct modeltype g_ModelType4D;
|
||||
extern struct modeltype g_ModelTypeReaper;
|
||||
extern struct modeltype g_ModelTypeMauler;
|
||||
extern struct modeltype g_ModelTypeDevastator;
|
||||
extern struct modeltype g_ModelTypePistol;
|
||||
extern struct modeltype g_ModelTypeAr34;
|
||||
extern struct modeltype g_ModelTypeMagnum;
|
||||
extern struct modeltype g_ModelTypeSlayerRocket;
|
||||
extern struct modeltype g_ModelTypeCyclone;
|
||||
extern struct modeltype g_ModelTypeSniperRifle;
|
||||
extern struct modeltype g_ModelTypeTranquilizer;
|
||||
extern struct modeltype g_ModelTypeCrossbow;
|
||||
extern struct modeltype g_ModelTypeTimedProxyMine;
|
||||
extern struct modeltype g_ModelTypePhoenix;
|
||||
extern struct modeltype g_ModelTypeCallisto;
|
||||
extern struct modeltype g_ModelTypeRcp120;
|
||||
extern struct modeltype g_ModelTypeHudPiece;
|
||||
extern struct modeltype g_ModelTypeHand;
|
||||
extern struct modeltype g_ModelTypeLaser;
|
||||
extern struct modeltype g_ModelTypeGrenade;
|
||||
extern struct modeltype g_ModelTypeEcmMine;
|
||||
extern struct modeltype g_ModelTypeUplink;
|
||||
extern struct modeltype g_ModelTypeRemoteMine;
|
||||
extern struct modeltype g_ModelTypeChr;
|
||||
extern struct modeltype g_ModelTypeSkedar;
|
||||
extern struct modeltype g_ModelTypeDrCaroll;
|
||||
extern struct modeltype g_ModelType22;
|
||||
extern struct modeltype g_ModelTypeRobot;
|
||||
extern struct skeleton g_Skel0A;
|
||||
extern struct skeleton g_Skel20;
|
||||
extern struct skeleton g_SkelClassicGun;
|
||||
extern struct skeleton g_SkelCasing;
|
||||
extern struct skeleton g_Skel06;
|
||||
extern struct skeleton g_SkelUzi;
|
||||
extern struct skeleton g_SkelJoypad;
|
||||
extern struct skeleton g_Skel21;
|
||||
extern struct skeleton g_SkelLaptopGun;
|
||||
extern struct skeleton g_SkelK7Avenger;
|
||||
extern struct skeleton g_SkelFalcon2;
|
||||
extern struct skeleton g_SkelKnife;
|
||||
extern struct skeleton g_SkelCmp150;
|
||||
extern struct skeleton g_SkelDragon;
|
||||
extern struct skeleton g_SkelSuperDragon;
|
||||
extern struct skeleton g_SkelRocket;
|
||||
extern struct skeleton g_Skel4A;
|
||||
extern struct skeleton g_SkelShotgun;
|
||||
extern struct skeleton g_SkelFarsight;
|
||||
extern struct skeleton g_Skel4D;
|
||||
extern struct skeleton g_SkelReaper;
|
||||
extern struct skeleton g_SkelMauler;
|
||||
extern struct skeleton g_SkelDevastator;
|
||||
extern struct skeleton g_SkelPistol;
|
||||
extern struct skeleton g_SkelAr34;
|
||||
extern struct skeleton g_SkelMagnum;
|
||||
extern struct skeleton g_SkelSlayerRocket;
|
||||
extern struct skeleton g_SkelCyclone;
|
||||
extern struct skeleton g_SkelSniperRifle;
|
||||
extern struct skeleton g_SkelTranquilizer;
|
||||
extern struct skeleton g_SkelCrossbow;
|
||||
extern struct skeleton g_SkelTimedProxyMine;
|
||||
extern struct skeleton g_SkelPhoenix;
|
||||
extern struct skeleton g_SkelCallisto;
|
||||
extern struct skeleton g_SkelRcp120;
|
||||
extern struct skeleton g_SkelHudPiece;
|
||||
extern struct skeleton g_SkelHand;
|
||||
extern struct skeleton g_SkelLaser;
|
||||
extern struct skeleton g_SkelGrenade;
|
||||
extern struct skeleton g_SkelEcmMine;
|
||||
extern struct skeleton g_SkelUplink;
|
||||
extern struct skeleton g_SkelRemoteMine;
|
||||
extern struct skeleton g_SkelChr;
|
||||
extern struct skeleton g_SkelSkedar;
|
||||
extern struct skeleton g_SkelDrCaroll;
|
||||
extern struct skeleton g_Skel22;
|
||||
extern struct skeleton g_SkelRobot;
|
||||
extern struct headorbody g_HeadsAndBodies[];
|
||||
extern struct hatposition var8007dae4[1][6];
|
||||
extern f32 var8007db80;
|
||||
|
|
|
|||
|
|
@ -19,9 +19,9 @@ void anim00023d0c(void);
|
|||
void anim00023d38(s16 animnum);
|
||||
u32 anim00023f50(u8 *arg0, u8 arg1, u32 arg2);
|
||||
u32 anim00023fe0(u8 *arg0, u8 arg1, u32 arg2);
|
||||
void anim00024050(s32 arg0, s32 arg1, struct modeltype *arg2, s32 animnum, u32 arg4, struct coord *arg5, struct coord *arg6, struct coord *arg7);
|
||||
u32 anim0002485c(s32 arg0, s32 arg1, struct modeltype *arg2, s16 animnum, s32 loopframe, s16 *arg5, s32 arg6);
|
||||
f32 anim00024b64(u32 arg0, u32 arg1, struct modeltype *arg2, s16 animnum, u32 arg4, struct coord *coord, u32 arg6);
|
||||
void anim00024050(s32 arg0, s32 arg1, struct skeleton *skel, s32 animnum, u32 arg4, struct coord *arg5, struct coord *arg6, struct coord *arg7);
|
||||
u32 anim0002485c(s32 arg0, s32 arg1, struct skeleton *skel, s16 animnum, s32 loopframe, s16 *arg5, s32 arg6);
|
||||
f32 anim00024b64(u32 arg0, u32 arg1, struct skeleton *skel, s16 animnum, u32 arg4, struct coord *coord, u32 arg6);
|
||||
f32 anim00024c14(s32 arg0, s16 animnum, u8 arg2);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -535,10 +535,10 @@ struct anim {
|
|||
/*0x88*/ f32 animscale;
|
||||
};
|
||||
|
||||
struct modeltype {
|
||||
s16 type;
|
||||
struct skeleton {
|
||||
s16 skel;
|
||||
u16 numthings;
|
||||
u16 *things;
|
||||
u8 (*things)[2];
|
||||
};
|
||||
|
||||
struct modelrodata_chrinfo { // type 0x01
|
||||
|
|
@ -704,7 +704,7 @@ struct modelnode {
|
|||
|
||||
struct modelfiledata {
|
||||
struct modelnode *rootnode;
|
||||
struct modeltype *type;
|
||||
struct skeleton *skel;
|
||||
|
||||
// This is a pointer to a variable length array of pointers to modelnodes,
|
||||
// but the array is followed by an s16 array of part numbers.
|
||||
|
|
|
|||
|
|
@ -1498,7 +1498,7 @@ glabel anim0002485c
|
|||
/* 24b60: 01001025 */ or $v0,$t0,$zero
|
||||
);
|
||||
|
||||
f32 anim00024b64(u32 arg0, u32 arg1, struct modeltype *arg2, s16 animnum, u32 arg4, struct coord *coord, u32 arg6)
|
||||
f32 anim00024b64(u32 arg0, u32 arg1, struct skeleton *arg2, s16 animnum, u32 arg4, struct coord *coord, u32 arg6)
|
||||
{
|
||||
s16 sp30[3];
|
||||
|
||||
|
|
|
|||
|
|
@ -667,7 +667,7 @@ void model0001b400(struct objticksp476 *arg0, struct model *model, struct modeln
|
|||
u32 stack1;
|
||||
Mtxf *mtx = &model->matrices[rodata->chrinfo.mtxindex];
|
||||
s32 sp240 = rodata->chrinfo.unk00;
|
||||
struct modeltype *type = model->filedata->type;
|
||||
struct skeleton *skel = model->filedata->skel;
|
||||
struct coord sp230;
|
||||
struct coord sp224;
|
||||
struct coord sp218;
|
||||
|
|
@ -701,7 +701,7 @@ void model0001b400(struct objticksp476 *arg0, struct model *model, struct modeln
|
|||
sp24c = arg0->matrix;
|
||||
}
|
||||
|
||||
anim00024050(sp240, anim->flip, type, anim->animnum, anim->unk04, &sp230, &sp224, &sp218);
|
||||
anim00024050(sp240, anim->flip, skel, anim->animnum, anim->unk04, &sp230, &sp224, &sp218);
|
||||
|
||||
if (g_Vars.in_cutscene && anim->speed > 0) {
|
||||
#if VERSION >= VERSION_PAL_FINAL
|
||||
|
|
@ -714,15 +714,15 @@ void model0001b400(struct objticksp476 *arg0, struct model *model, struct modeln
|
|||
}
|
||||
|
||||
if (sp154 != 0.0f) {
|
||||
anim00024050(sp240, anim->flip, type, anim->animnum, anim->unk05, &sp148, &sp13c, &sp130);
|
||||
anim00024050(sp240, anim->flip, skel, anim->animnum, anim->unk05, &sp148, &sp13c, &sp130);
|
||||
model0001b07c(&sp230, &sp148, sp154);
|
||||
}
|
||||
|
||||
if (anim->fracmerge != 0.0f) {
|
||||
anim00024050(sp240, anim->flip2, type, anim->animnum2, anim->unk06, &sp124, &sp118, &sp10c);
|
||||
anim00024050(sp240, anim->flip2, skel, anim->animnum2, anim->unk06, &sp124, &sp118, &sp10c);
|
||||
|
||||
if (anim->frac2 != 0.0f) {
|
||||
anim00024050(sp240, anim->flip2, type, anim->animnum2, anim->unk07, &spd0, &spc4, &spb8);
|
||||
anim00024050(sp240, anim->flip2, skel, anim->animnum2, anim->unk07, &spd0, &spc4, &spb8);
|
||||
model0001b07c(&sp124, &spd0, anim->frac2);
|
||||
}
|
||||
|
||||
|
|
@ -2781,7 +2781,7 @@ void model0001d62c(struct model *model, s16 animnum, s32 flip, f32 fstartframe,
|
|||
struct modelrodata_chrinfo *rodata = &model->filedata->rootnode->rodata->chrinfo;
|
||||
struct modelrwdata_chrinfo *rwdata = (struct modelrwdata_chrinfo *) modelGetNodeRwData(model, model->filedata->rootnode);
|
||||
s32 spa4 = rodata->unk00;
|
||||
struct modeltype *type = model->filedata->type;
|
||||
struct skeleton *skel = model->filedata->skel;
|
||||
f32 scale;
|
||||
f32 sp98;
|
||||
f32 sp94;
|
||||
|
|
@ -2803,7 +2803,7 @@ void model0001d62c(struct model *model, s16 animnum, s32 flip, f32 fstartframe,
|
|||
anim00023d38(anim->animnum);
|
||||
sp83 = anim00023ab0(anim->animnum, anim->framea);
|
||||
anim00023d0c();
|
||||
anim00024050(spa4, anim->flip, type, anim->animnum, sp83, &sp74, &sp88, &sp68);
|
||||
anim00024050(spa4, anim->flip, skel, anim->animnum, sp83, &sp74, &sp88, &sp68);
|
||||
|
||||
rwdata->unk34.x = sp88.x * sp64;
|
||||
rwdata->unk34.y = sp88.y * sp64;
|
||||
|
|
@ -2816,7 +2816,7 @@ void model0001d62c(struct model *model, s16 animnum, s32 flip, f32 fstartframe,
|
|||
anim00023d38(anim->animnum);
|
||||
sp83 = anim00023ab0(anim->animnum, anim->frameb);
|
||||
anim00023d0c();
|
||||
anim00024050(spa4, anim->flip, type, anim->animnum, sp83, &sp74, &sp88, &sp68);
|
||||
anim00024050(spa4, anim->flip, skel, anim->animnum, sp83, &sp74, &sp88, &sp68);
|
||||
|
||||
rwdata->unk24.x = sp88.x * sp64;
|
||||
rwdata->unk24.y = sp88.y * sp64;
|
||||
|
|
@ -2826,7 +2826,7 @@ void model0001d62c(struct model *model, s16 animnum, s32 flip, f32 fstartframe,
|
|||
rwdata->unk01 = 1;
|
||||
}
|
||||
} else {
|
||||
sp84 = anim00024b64(spa4, anim->flip, type, anim->animnum, anim->frameb, &sp88, anim->average);
|
||||
sp84 = anim00024b64(spa4, anim->flip, skel, anim->animnum, anim->frameb, &sp88, anim->average);
|
||||
scale = model->scale * anim->animscale;
|
||||
|
||||
if (scale != 1) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue