match and link m407dll/player.c
This commit is contained in:
parent
7a9b03f153
commit
dab5f6028e
4 changed files with 569 additions and 71 deletions
|
|
@ -111,75 +111,75 @@ fn_1_6218 = .text:0x00006218; // type:function size:0x88
|
|||
fn_1_62A0 = .text:0x000062A0; // type:function size:0x164
|
||||
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
|
||||
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
|
||||
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x20
|
||||
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x20 scope:local
|
||||
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float
|
||||
|
|
@ -214,7 +214,7 @@ lbl_1_data_120 = .data:0x00000120; // type:object size:0x19 data:string
|
|||
lbl_1_data_13C = .data:0x0000013C; // type:object size:0x20
|
||||
lbl_1_data_15C = .data:0x0000015C; // type:object size:0x28
|
||||
lbl_1_data_184 = .data:0x00000184; // type:object size:0x8
|
||||
lbl_1_data_18C = .data:0x0000018C; // type:object size:0xB data:string
|
||||
lbl_1_data_18C = .data:0x0000018C; // type:object size:0xB scope:local data:string
|
||||
lbl_1_data_198 = .data:0x00000198; // type:object size:0x34 data:4byte
|
||||
lbl_1_data_1CC = .data:0x000001CC; // type:object size:0x30
|
||||
lbl_1_data_1FC = .data:0x000001FC; // type:object size:0xC data:float
|
||||
|
|
|
|||
|
|
@ -834,7 +834,7 @@ config.libs = [
|
|||
Rel('m407dll',
|
||||
objects = {
|
||||
Object(Matching, "REL/executor.c"),
|
||||
Object(NonMatching, "REL/m407dll/player.c"),
|
||||
Object(Matching, "REL/m407dll/player.c"),
|
||||
Object(NonMatching, "REL/m407dll/map.c"),
|
||||
Object(NonMatching, "REL/m407dll/camera.c"),
|
||||
Object(NonMatching, "REL/m407dll/whomp.c"),
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ typedef enum {
|
|||
|
||||
|
||||
#define OM_GET_WORK_PTR(object, type) ((type *)(&((object)->work[0])))
|
||||
#define OM_GET_DATA_PTR(object, type) ((type *)(((object)->data)))
|
||||
|
||||
typedef void (*omObjFunc)(struct om_obj_data *);
|
||||
|
||||
|
|
|
|||
497
src/REL/m407dll/player.c
Normal file
497
src/REL/m407dll/player.c
Normal file
|
|
@ -0,0 +1,497 @@
|
|||
#include "game/process.h"
|
||||
#include "game/object.h"
|
||||
#include "game/gamework_data.h"
|
||||
#include "game/pad.h"
|
||||
#include "game/objsub.h"
|
||||
#include "game/chrman.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "rel_sqrt_consts.h"
|
||||
|
||||
//structs
|
||||
typedef struct unkDominationData {
|
||||
u8 unk_00;
|
||||
u8 unk_01;
|
||||
u8 unk_02;
|
||||
//padding unk_03
|
||||
s32 unk_04;
|
||||
s32 unk_08;
|
||||
u8 unk_0C;
|
||||
//padding unk_0D
|
||||
f32 unk_10;
|
||||
f32 unk_14;
|
||||
f32 unk_18;
|
||||
s32 unk_1C;
|
||||
s32 unk_20;
|
||||
f32 unk_24;
|
||||
f32 unk_28;
|
||||
f32 unk_2C;
|
||||
f32 unk_30;
|
||||
s32 unk_34;
|
||||
s32 unk_38;
|
||||
} unkDominationData;
|
||||
|
||||
s32 pad_20;
|
||||
Process* lbl_1_bss_18;
|
||||
omObjData* lbl_1_bss_8[4];
|
||||
Process* lbl_1_bss_0[2];
|
||||
|
||||
//data
|
||||
typedef void (*ObjFuncs)(omObjData*);
|
||||
|
||||
void fn_1_A88(omObjData* arg0);
|
||||
void fn_1_A8C(omObjData* arg0);
|
||||
void fn_1_C58(omObjData* arg0);
|
||||
void fn_1_CF4(omObjData* arg0);
|
||||
void fn_1_DB4(omObjData* arg0);
|
||||
void fn_1_F8C(omObjData* arg0);
|
||||
void fn_1_1074(omObjData* arg0);
|
||||
void fn_1_11CC(omObjData* arg0);
|
||||
void fn_1_13E4(omObjData* arg0);
|
||||
void fn_1_1460(omObjData* arg0);
|
||||
|
||||
//function signatures
|
||||
void fn_1_628(omObjData*, s32);
|
||||
void fn_1_64C(omObjData*);
|
||||
void fn_1_99C(omObjData*);
|
||||
void fn_1_A1C(omObjData* arg0);
|
||||
void fn_1_26CC(u8);
|
||||
void fn_1_4544(s32, s32, f32, f32, f32);
|
||||
s16 fn_1_28B8(u8); /* extern */
|
||||
s16 fn_1_28E4(u8); /* extern */
|
||||
double cos(double x);
|
||||
double sin(double x);
|
||||
|
||||
inline SetDominationDataStuff(omObjData* arg0, s32 val0, s32 val1) {
|
||||
unkDominationData* temp_r29 = arg0->data;
|
||||
temp_r29->unk_1C = val0;
|
||||
temp_r29->unk_20 = val1;
|
||||
}
|
||||
|
||||
void ModuleProlog(void) {
|
||||
lbl_1_bss_0[0] = omInitObjMan(0x2F8, 0x2000);
|
||||
omGameSysInit(lbl_1_bss_0[0]);
|
||||
fn_1_4980(lbl_1_bss_0[0]);
|
||||
}
|
||||
|
||||
void fn_1_F4(Process* arg0) {
|
||||
u32 i;
|
||||
lbl_1_bss_18 = arg0;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
lbl_1_bss_8[i] = omAddObjEx(lbl_1_bss_18, 0x100, 2U, 8U, 0, fn_1_64C);
|
||||
lbl_1_bss_8[i]->work[0] = i;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_194(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
fn_1_99C(lbl_1_bss_8[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_1E4(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
fn_1_628(lbl_1_bss_8[i], 1);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_238(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
fn_1_628(lbl_1_bss_8[i], 2);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_28C(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
fn_1_628(lbl_1_bss_8[i], 3);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2E0(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
fn_1_628(lbl_1_bss_8[i], 4);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_334(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
fn_1_628(lbl_1_bss_8[i], 5);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_388(u8 arg0, s32 arg1) {
|
||||
omObjData* obj = lbl_1_bss_8[arg0];
|
||||
unkDominationData* unkData = obj->data;
|
||||
unkData->unk_38 = arg1;
|
||||
}
|
||||
|
||||
void fn_1_3C4(u8 arg0) {
|
||||
fn_1_628(lbl_1_bss_8[arg0], 8);
|
||||
}
|
||||
|
||||
void fn_1_404(void) {
|
||||
omObjData* temp_r31;
|
||||
unkDominationData* unkData;
|
||||
s32 temp_r0;
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
temp_r31 = lbl_1_bss_8[i];
|
||||
unkData = temp_r31->data;
|
||||
switch (unkData->unk_38) {
|
||||
case 0:
|
||||
fn_1_628(temp_r31, 9);
|
||||
break;
|
||||
case 1:
|
||||
fn_1_628(temp_r31, 6);
|
||||
break;
|
||||
case 2:
|
||||
fn_1_628(temp_r31, 9);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 fn_1_4C0(u8 arg0) {
|
||||
unkDominationData* unkData;
|
||||
|
||||
if (arg0 >= 4) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
unkData = lbl_1_bss_8[arg0]->data;
|
||||
return unkData->unk_01;
|
||||
}
|
||||
|
||||
s32 fn_1_508(u8 arg0) {
|
||||
unkDominationData* unkData = lbl_1_bss_8[arg0]->data;
|
||||
return unkData->unk_04;
|
||||
}
|
||||
|
||||
s32 fn_1_53C(u8 arg0) {
|
||||
return OM_GET_DATA_PTR(lbl_1_bss_8[arg0], unkDominationData)->unk_1C == 0;
|
||||
}
|
||||
|
||||
void fn_1_568(s16 arg0, s16 arg1, s16 arg2) {
|
||||
unkDominationData* unkData;
|
||||
|
||||
unkData = OM_GET_DATA_PTR(lbl_1_bss_8[arg0], unkDominationData);
|
||||
switch (arg1) {
|
||||
case 0:
|
||||
omVibrate(unkData->unk_00, arg2, 6, 6);
|
||||
break;
|
||||
case 1:
|
||||
omVibrate(unkData->unk_00, arg2, 4, 2);
|
||||
break;
|
||||
case 2:
|
||||
omVibrate(unkData->unk_00, arg2, 0xC, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_628(omObjData* arg0, s32 arg1) {
|
||||
unkDominationData* temp_r31;
|
||||
|
||||
temp_r31 = OM_GET_DATA_PTR(arg0, unkDominationData);
|
||||
temp_r31->unk_1C = arg1;
|
||||
temp_r31->unk_20 = 0;
|
||||
}
|
||||
|
||||
typedef struct m407UnkDataStruct0 {
|
||||
u32 unk_00[8];
|
||||
} m407UnkDataStruct0;
|
||||
|
||||
m407UnkDataStruct0 lbl_1_data_0[] = {
|
||||
{0x005F0000, 0x005F0024, 0x005F0029, 0x005F0005, 0x005F0006, 0x005F004A, 0x005F004B, 0x005F0018},
|
||||
{0x001A0000, 0x001A0024, 0x001A0029, 0x001A0005, 0x001A0006, 0x001A004A, 0x001A004B, 0x001A0018},
|
||||
{0x006D0000, 0x006D0024, 0x006D0029, 0x006D0005, 0x006D0006, 0x006D004A, 0x006D004B, 0x006D0018},
|
||||
{0x008A0000, 0x008A0024, 0x008A0029, 0x008A0005, 0x008A0006, 0x008A004A, 0x008A004B, 0x008A0018},
|
||||
{0x00850000, 0x00850024, 0x00850029, 0x00850005, 0x00850006, 0x0085004A, 0x0085004B, 0x00850018},
|
||||
{0x00110000, 0x00110024, 0x00110029, 0x00110005, 0x00110006, 0x0011004A, 0x0011004B, 0x00110018},
|
||||
{0x000D0000, 0x000D0024, 0x000D0029, 0x000D0005, 0x000D0006, 0x000D004A, 0x000D004B, 0x000D0018},
|
||||
{0x00810000, 0x00810024, 0x00810029, 0x00810005, 0x00810006, 0x0081004A, 0x0081004B, 0x00810018}
|
||||
};
|
||||
s32 lbl_1_data_100[] = {0x0026000D, 0x0026000E, 0x0026000F, 0x00260010, 0x00260011, 0x00260012, 0x00260013, 0x00260014};
|
||||
|
||||
char lbl_1_data_120[] = "test11_tex_we-itemhook-r";
|
||||
|
||||
char* lbl_1_data_13C[] = {
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120
|
||||
};
|
||||
|
||||
ObjFuncs lbl_1_data_15C[] = {
|
||||
fn_1_A88,
|
||||
fn_1_A8C,
|
||||
fn_1_C58,
|
||||
fn_1_CF4,
|
||||
fn_1_DB4,
|
||||
fn_1_F8C,
|
||||
fn_1_1074,
|
||||
fn_1_11CC,
|
||||
fn_1_13E4,
|
||||
fn_1_1460
|
||||
};
|
||||
|
||||
typedef struct m407UnkDataStruct1 {
|
||||
u8 unk_00;
|
||||
u8 unk_01;
|
||||
} m407UnkDataStruct1;
|
||||
|
||||
m407UnkDataStruct1 lbl_1_data_184[] = {{0x3C, 0x0F}, {0x50, 0x0F}, {0x64, 0x14}, {0x78, 0x14}}; //???
|
||||
|
||||
void fn_1_64C(omObjData* arg0) {
|
||||
u32 temp_r29;
|
||||
unkDominationData* temp_r27;
|
||||
unkDominationData* temp_r31;
|
||||
u32 i;
|
||||
|
||||
arg0->func = fn_1_A1C;
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x3C, 0x10000000U);
|
||||
temp_r31 = arg0->data;
|
||||
temp_r29 = arg0->work[0];
|
||||
temp_r31->unk_00 = temp_r29;
|
||||
temp_r31->unk_01 = GWPlayerCfg[temp_r29].character;
|
||||
temp_r31->unk_0C = GWPlayerCfg[temp_r29].pad_idx;
|
||||
temp_r31->unk_04 = GWPlayerCfg[temp_r29].iscom;
|
||||
temp_r31->unk_02 = GWPlayerCfg[temp_r29].diff;
|
||||
temp_r31->unk_08 = 0;
|
||||
temp_r31->unk_34 = 0;
|
||||
temp_r31->unk_38 = 0;
|
||||
temp_r31->unk_28 = 0.0f;
|
||||
//frand implicit declaration? (probably frandf inline?)
|
||||
temp_r31->unk_30 = (600.0f / (lbl_1_data_184[temp_r31->unk_02].unk_00 - ((frand() & 0x7FFFFFFF) % lbl_1_data_184[temp_r31->unk_02].unk_01)));
|
||||
temp_r31->unk_2C = temp_r31->unk_30;
|
||||
arg0->model[0] = CharModelCreate(temp_r31->unk_01, 8);
|
||||
arg0->model[1] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_100[temp_r31->unk_01], 0x10000000, HEAP_DATA));
|
||||
Hu3DModelAmbSet(arg0->model[0], 1.0f, 1.0f, 1.0f);
|
||||
Hu3DModelAmbSet(arg0->model[1], 1.0f, 1.0f, 1.0f);
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
arg0->motion[i] = CharModelMotionCreate(temp_r31->unk_01, lbl_1_data_0[temp_r31->unk_01].unk_00[i]);
|
||||
}
|
||||
|
||||
Hu3DModelShadowSet(arg0->model[0]);
|
||||
Hu3DModelShadowSet(arg0->model[1]);
|
||||
CharModelMotionDataClose(temp_r31->unk_01);
|
||||
CharModelMotionSet(temp_r31->unk_01, arg0->motion[1]);
|
||||
Hu3DModelAttrSet(arg0->model[0], 0x40000001);
|
||||
Hu3DModelHookSet(arg0->model[0], lbl_1_data_13C[temp_r31->unk_01], arg0->model[1]);
|
||||
temp_r31->unk_10 = (600.0f - (400.0f * temp_r29));
|
||||
temp_r31->unk_14 = 0.0f;
|
||||
temp_r31->unk_18 = -500.0f;
|
||||
SetDominationDataStuff(arg0, 0, 0);
|
||||
}
|
||||
|
||||
void fn_1_99C(omObjData* arg0) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
Hu3DMotionKill(arg0->motion[i]);
|
||||
}
|
||||
|
||||
for (i = 0; i < 2; i++){
|
||||
Hu3DModelKill(arg0->model[i]);
|
||||
}
|
||||
|
||||
HuMemDirectFree(arg0->data);
|
||||
}
|
||||
|
||||
void fn_1_A1C(omObjData* arg0) {
|
||||
unkDominationData* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
lbl_1_data_15C[temp_r31->unk_1C](arg0);
|
||||
omSetTra(arg0, temp_r31->unk_10, temp_r31->unk_14, temp_r31->unk_18);
|
||||
}
|
||||
|
||||
void fn_1_A88(omObjData* arg0) {
|
||||
|
||||
}
|
||||
|
||||
void fn_1_A8C(omObjData* arg0) {
|
||||
s32 var_r29;
|
||||
unkDominationData* temp_r31;
|
||||
|
||||
var_r29 = 0;
|
||||
temp_r31 = OM_GET_DATA_PTR(arg0, unkDominationData);
|
||||
temp_r31->unk_28 += 1.0f;
|
||||
|
||||
if (temp_r31->unk_04 == 0) {
|
||||
var_r29 = (HuPadBtnDown[temp_r31->unk_0C] & 0x100) ? 1 : 0;
|
||||
} else if ((u32) temp_r31->unk_28 >= (u32) temp_r31->unk_2C) {
|
||||
var_r29 = 1;
|
||||
temp_r31->unk_2C = (f32) (temp_r31->unk_2C + temp_r31->unk_30);
|
||||
}
|
||||
|
||||
if (var_r29 != 0) {
|
||||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[2], 0.0f, 0.0f, 0);
|
||||
fn_1_4544(4, 0x10, 600.0f - (400.0f * (f32) temp_r31->unk_00), -20.0f, -450.0f);
|
||||
fn_1_26CC(temp_r31->unk_00);
|
||||
temp_r31->unk_34 = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
if ((temp_r31->unk_34 != 0) && (Hu3DMotionEndCheck(arg0->model[0]) != 0)) {
|
||||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[1], 0.0f, 0.0f, 0x40000001);
|
||||
temp_r31->unk_34 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_C58(omObjData* arg0) {
|
||||
unkDominationData* temp_r30;
|
||||
|
||||
temp_r30 = arg0->data;
|
||||
if (Hu3DMotionEndCheck(arg0->model[0]) != 0) {
|
||||
CharModelMotionShiftSet(temp_r30->unk_01, arg0->motion[1], 0.0f, 10.0f, 0x40000001);
|
||||
temp_r30->unk_34 = 0;
|
||||
SetDominationDataStuff(arg0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_CF4(omObjData* arg0) {
|
||||
unkDominationData* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
if (temp_r31->unk_20 == 0) {
|
||||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[1], 0.0f, 10.0f, 0x40000001U);
|
||||
CharModelItemHookCreate(temp_r31->unk_01, lbl_1_data_13C[temp_r31->unk_01]);
|
||||
}
|
||||
if (temp_r31->unk_20++ >= 30) {
|
||||
SetDominationDataStuff(arg0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_DB4(omObjData* arg0) {
|
||||
f32 temp_f31;
|
||||
f32 temp_f30;
|
||||
unkDominationData* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
|
||||
if (temp_r31->unk_20 == 0) {
|
||||
CharModelVoiceEnableSet(temp_r31->unk_01, arg0->motion[3], 0);
|
||||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[3], 0.0f, 10.0f, 0);
|
||||
temp_r31->unk_24 = 0.0f;
|
||||
temp_r31->unk_20++;
|
||||
}
|
||||
|
||||
temp_f31 = (32.0f * sin(1.0471975511965976)) - (9.8f * temp_r31->unk_24);
|
||||
temp_f30 = 22.0f * cos(1.0471975511965976);
|
||||
temp_r31->unk_18 = temp_r31->unk_18 + temp_f30;
|
||||
temp_r31->unk_14 = temp_r31->unk_14 + temp_f31;
|
||||
temp_r31->unk_24 += 0.3f;
|
||||
|
||||
if (!(temp_f31 < 0.0f) || !(temp_r31->unk_14 <= 30.0f)) {
|
||||
return;
|
||||
}
|
||||
|
||||
temp_r31->unk_14 = 30.0f;
|
||||
CharModelMotionShiftSet((s16) temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, 0U);
|
||||
SetDominationDataStuff(arg0, 0, 0);
|
||||
}
|
||||
|
||||
const s32 lbl_1_rodata_70[] = {0x00000122, 0x00000162, 0x000001A2, 0x000001E2, 0x00000222, 0x00000262, 0x000002A2, 0x000002E2};
|
||||
|
||||
void fn_1_F8C(omObjData* arg0) {
|
||||
unkDominationData* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
|
||||
if (temp_r31->unk_20 == 0) {
|
||||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[5], 0.0f, 10.0f, 0);
|
||||
HuAudFXPlay(lbl_1_rodata_70[temp_r31->unk_01]);
|
||||
}
|
||||
|
||||
if (temp_r31->unk_20++ >= 0x78) {
|
||||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[0], 0.0f, 10.0f, 0x40000001);
|
||||
SetDominationDataStuff(arg0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_1074(omObjData* arg0) {
|
||||
unkDominationData* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
|
||||
if (temp_r31->unk_20 == 0) {
|
||||
CharModelVoiceEnableSet(temp_r31->unk_01, arg0->motion[3], 0);
|
||||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[3], 0.0f, 10.0f, 0U);
|
||||
temp_r31->unk_24 = 0.0f;
|
||||
temp_r31->unk_20 = 1;
|
||||
}
|
||||
|
||||
temp_r31->unk_14 = (temp_r31->unk_14 + ((80.0 * sin(1.5707963267948966)) - (9.8 * temp_r31->unk_24)));
|
||||
temp_r31->unk_24 += 0.3f;
|
||||
|
||||
if (!(temp_r31->unk_14 < 1000.0f)) {
|
||||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, 0);
|
||||
SetDominationDataStuff(arg0, 7, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_11CC(omObjData* arg0) {
|
||||
unkDominationData* temp_r31;
|
||||
s16 temp;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
if (temp_r31->unk_20 == 0) {
|
||||
CharModelVoiceEnableSet(temp_r31->unk_01, arg0->motion[3], 0);
|
||||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[3], 0.0f, 10.0f, 0);
|
||||
temp_r31->unk_14 = 1000.0f;
|
||||
temp_r31->unk_18 = 200.0f * (fn_1_28B8(temp_r31->unk_00) + 2);
|
||||
temp_r31->unk_24 = 0.0f;
|
||||
temp_r31->unk_20 = 1;
|
||||
}
|
||||
|
||||
temp_r31->unk_14 = (temp_r31->unk_14 - (2.0f + (9.8f * temp_r31->unk_24)));
|
||||
temp_r31->unk_24 += 0.3f;
|
||||
|
||||
if (!(temp_r31->unk_14 > 300.0f)) {
|
||||
temp_r31->unk_14 = 300.0f;
|
||||
CharModelVoiceEnableSet(temp_r31->unk_01, arg0->motion[4], 0);
|
||||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, 0);
|
||||
temp = fn_1_28E4(temp_r31->unk_00);
|
||||
//can remove \0 after matching whole rel likely
|
||||
Hu3DModelHookSet(temp, "itemhook_c\0", arg0->model[0]);
|
||||
temp_r31->unk_10 = 0.0f;
|
||||
temp_r31->unk_14 = 0.0f;
|
||||
temp_r31->unk_18 = 0.0f;
|
||||
SetDominationDataStuff(arg0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_13E4(omObjData* arg0) {
|
||||
unkDominationData* temp_r30;
|
||||
|
||||
temp_r30 = arg0->data;
|
||||
CharModelMotionShiftSet(temp_r30->unk_01, arg0->motion[6], 0.0f, 10.0f, 0);
|
||||
SetDominationDataStuff(arg0, 0, 0);
|
||||
}
|
||||
|
||||
void fn_1_1460(omObjData* arg0) {
|
||||
unkDominationData* temp_r30;
|
||||
|
||||
temp_r30 = arg0->data;
|
||||
CharModelVoiceEnableSet(temp_r30->unk_01, arg0->motion[7], 0);
|
||||
CharModelMotionShiftSet(temp_r30->unk_01, arg0->motion[7], 0.0f, 10.0f, 0);
|
||||
SetDominationDataStuff(arg0, 0, 0);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue