Merge pull request #404 from mrshigure/m437
Matched most of REL/m437Dll (1 function missing: fn_1_65E0)
This commit is contained in:
commit
549019b474
6 changed files with 4065 additions and 41 deletions
|
|
@ -166,7 +166,7 @@ fn_1_108A4 = .text:0x000108A4; // type:function size:0x1EC
|
|||
_prolog = .text:0x00010A90; // type:function size:0x54 scope:global
|
||||
_epilog = .text:0x00010AE4; // type:function size:0x4C scope:global
|
||||
fn_1_10B30 = .text:0x00010B30; // type:function size:0x40C
|
||||
fn_1_10F3C = .text:0x00010F3C; // type:function size:0x40C
|
||||
ObjectSetup = .text:0x00010F3C; // type:function size:0x40C
|
||||
fn_1_11348 = .text:0x00011348; // type:function size:0x28
|
||||
fn_1_11370 = .text:0x00011370; // type:function size:0x40
|
||||
fn_1_113B0 = .text:0x000113B0; // type:function size:0xC8
|
||||
|
|
@ -235,9 +235,9 @@ lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float
|
|||
lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0xC data:4byte
|
||||
lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0xC data:4byte
|
||||
lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC data:4byte
|
||||
lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0xC data:float
|
||||
lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0xC data:float
|
||||
lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0xC data:float
|
||||
lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float
|
||||
|
|
@ -253,11 +253,11 @@ lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float
|
|||
lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:4byte
|
||||
lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x78
|
||||
lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x78
|
||||
lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x78 data:float
|
||||
lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0xC8
|
||||
lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x78
|
||||
lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x78 data:float
|
||||
lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float
|
||||
|
|
@ -269,7 +269,7 @@ lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x14 data:4byte
|
|||
lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x30 data:4byte
|
||||
lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x30 data:float
|
||||
lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float
|
||||
|
|
@ -287,7 +287,7 @@ lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float
|
|||
lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x30 data:4byte
|
||||
lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x30 data:float
|
||||
lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float
|
||||
|
|
@ -314,7 +314,7 @@ lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x20 data:4byte
|
|||
lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 data:4byte
|
||||
lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x20 data:4byte
|
||||
lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x8 data:4byte
|
||||
lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x30 data:4byte
|
||||
lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x30 data:float
|
||||
lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float
|
||||
|
|
@ -330,26 +330,26 @@ lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x8 data:4byte
|
|||
lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0xC data:4byte
|
||||
lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x8 data:4byte
|
||||
lbl_1_rodata_57C = .rodata:0x0000057C; // type:object size:0x8 data:4byte
|
||||
lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x30 data:4byte
|
||||
lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x18 data:4byte
|
||||
lbl_1_rodata_584 = .rodata:0x00000584; // type:object size:0x30 data:float
|
||||
lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x18 data:float
|
||||
lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_62C = .rodata:0x0000062C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_62C = .rodata:0x0000062C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_data_0 = .data:0x00000000; // type:object size:0xA0
|
||||
lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x4 data:4byte
|
||||
lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x4 data:4byte
|
||||
|
|
@ -358,30 +358,30 @@ lbl_1_data_AC = .data:0x000000AC; // type:object size:0x1B data:string
|
|||
lbl_1_data_C7 = .data:0x000000C7; // type:object size:0x22 data:string
|
||||
lbl_1_data_E9 = .data:0x000000E9; // type:object size:0x1A data:string
|
||||
lbl_1_data_103 = .data:0x00000103; // type:object size:0x1A data:string
|
||||
lbl_1_data_11D = .data:0x0000011D; // type:object size:0xF
|
||||
lbl_1_data_11D = .data:0x0000011D; // type:object size:0xE data:string
|
||||
lbl_1_data_12C = .data:0x0000012C; // type:object size:0x4 data:4byte
|
||||
lbl_1_data_130 = .data:0x00000130; // type:object size:0x16 data:string
|
||||
lbl_1_data_146 = .data:0x00000146; // type:object size:0x13 data:string
|
||||
lbl_1_data_159 = .data:0x00000159; // type:object size:0xE data:string
|
||||
lbl_1_data_167 = .data:0x00000167; // type:object size:0xE data:string
|
||||
lbl_1_data_175 = .data:0x00000175; // type:object size:0x13
|
||||
lbl_1_data_175 = .data:0x00000175; // type:object size:0x12 data:string
|
||||
lbl_1_data_188 = .data:0x00000188; // type:object size:0x4 data:float
|
||||
lbl_1_data_18C = .data:0x0000018C; // type:object size:0x14 data:string
|
||||
jumptable_1_data_1A0 = .data:0x000001A0; // type:object size:0x20 scope:local
|
||||
lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x14
|
||||
lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x12 data:string
|
||||
jumptable_1_data_1D4 = .data:0x000001D4; // type:object size:0x30 scope:local
|
||||
lbl_1_data_204 = .data:0x00000204; // type:object size:0x78
|
||||
lbl_1_data_27C = .data:0x0000027C; // type:object size:0x90
|
||||
lbl_1_data_30C = .data:0x0000030C; // type:object size:0x18
|
||||
jumptable_1_data_324 = .data:0x00000324; // type:object size:0x2C scope:local
|
||||
lbl_1_data_350 = .data:0x00000350; // type:object size:0x10 data:string
|
||||
lbl_1_data_360 = .data:0x00000360; // type:object size:0x10 data:string
|
||||
lbl_1_data_370 = .data:0x00000370; // type:object size:0x10 data:string
|
||||
lbl_1_data_380 = .data:0x00000380; // type:object size:0x10 data:string
|
||||
lbl_1_data_390 = .data:0x00000390; // type:object size:0x10 data:string
|
||||
lbl_1_data_3A0 = .data:0x000003A0; // type:object size:0x10 data:string
|
||||
lbl_1_data_3B0 = .data:0x000003B0; // type:object size:0x10 data:string
|
||||
lbl_1_data_3C0 = .data:0x000003C0; // type:object size:0x10 data:string
|
||||
lbl_1_data_350 = .data:0x00000350; // type:object size:0x10 scope:local data:string
|
||||
lbl_1_data_360 = .data:0x00000360; // type:object size:0x10 scope:local data:string
|
||||
lbl_1_data_370 = .data:0x00000370; // type:object size:0x10 scope:local data:string
|
||||
lbl_1_data_380 = .data:0x00000380; // type:object size:0x10 scope:local data:string
|
||||
lbl_1_data_390 = .data:0x00000390; // type:object size:0x10 scope:local data:string
|
||||
lbl_1_data_3A0 = .data:0x000003A0; // type:object size:0x10 scope:local data:string
|
||||
lbl_1_data_3B0 = .data:0x000003B0; // type:object size:0x10 scope:local data:string
|
||||
lbl_1_data_3C0 = .data:0x000003C0; // type:object size:0x10 scope:local data:string
|
||||
lbl_1_data_3D0 = .data:0x000003D0; // type:object size:0x20
|
||||
lbl_1_data_3F0 = .data:0x000003F0; // type:object size:0x40
|
||||
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte
|
||||
|
|
|
|||
|
|
@ -1118,7 +1118,7 @@ config.libs = [
|
|||
"m437Dll", # Balloon of Doom
|
||||
objects={
|
||||
Object(NonMatching, "REL/m437Dll/main.c"),
|
||||
Object(NonMatching, "REL/m437Dll/sequence.c"),
|
||||
Object(Matching, "REL/m437Dll/sequence.c"),
|
||||
},
|
||||
),
|
||||
Rel(
|
||||
|
|
|
|||
73
include/REL/m437Dll.h
Executable file
73
include/REL/m437Dll.h
Executable file
|
|
@ -0,0 +1,73 @@
|
|||
#include "game/object.h"
|
||||
|
||||
#include "dolphin.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ void (*unk00)(void);
|
||||
/* 0x04 */ s32 (*unk04)(void);
|
||||
/* 0x08 */ s32 unk08;
|
||||
} StructData204; // Size 0xC
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 unk00;
|
||||
/* 0x04 */ StructData204* unk04;
|
||||
/* 0x08 */ void (*unk08)(void);
|
||||
/* 0x0C */ s32 (*unk0C)(void);
|
||||
/* 0x10 */ s32 unk10;
|
||||
/* 0x14 */ s32 unk14;
|
||||
} StructBss50; // Size 0x18
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ void (*unk00)(void);
|
||||
/* 0x04 */ void (*unk04)(void);
|
||||
/* 0x08 */ float unk08;
|
||||
/* 0x08 */ float unk0C;
|
||||
/* 0x10 */ float unk10;
|
||||
/* 0x14 */ float unk14;
|
||||
/* 0x18 */ float unk18;
|
||||
/* 0x1C */ float unk1C;
|
||||
/* 0x20 */ float unk20;
|
||||
/* 0x24 */ float unk24;
|
||||
/* 0x28 */ float unk28;
|
||||
/* 0x2C */ float unk2C;
|
||||
/* 0x30 */ float unk30;
|
||||
/* 0x34 */ float unk34;
|
||||
/* 0x38 */ float unk38;
|
||||
/* 0x3C */ float unk3C;
|
||||
/* 0x40 */ s32 unk40;
|
||||
/* 0x44 */ s32 unk44[7];
|
||||
/* 0x60 */ float unk60[7];
|
||||
} StructBss160; // Size 0x7C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 unk00;
|
||||
/* 0x04 */ char unk04[128];
|
||||
/* 0x84 */ s32 unk84;
|
||||
/* 0x88 */ s32 unk88;
|
||||
/* 0x8C */ s32 unk8C;
|
||||
/* 0x90 */ s32 unk90;
|
||||
/* 0x94 */ s32 unk94[20];
|
||||
/* 0xE4 */ omObjData* unkE4;
|
||||
} StructFn15CD0; // Size 0xE8
|
||||
|
||||
float fn_1_11348(float arg0, float arg1, float arg2, float arg3);
|
||||
float fn_1_11370(float arg0, float arg1, float arg2);
|
||||
float fn_1_113B0(float arg0, float arg1, float arg2, float arg3);
|
||||
float fn_1_11478(float arg0, float arg1, float arg2, float arg3);
|
||||
float fn_1_11540(float arg0, float arg1, float arg2, float arg3);
|
||||
void fn_1_11668(StructBss50* arg0, StructData204* arg1);
|
||||
s32 fn_1_116C4(StructBss50* arg0);
|
||||
s32 fn_1_117C0(StructBss50* arg0, s32 arg1);
|
||||
s32 fn_1_11854(StructBss50* arg0, s32 arg1);
|
||||
s32 fn_1_11890(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
|
||||
void fn_1_119A0(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
|
||||
void fn_1_11B18(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
|
||||
s32 fn_1_11CE0(omObjData* arg0, Vec arg1, float arg2, float arg3, float arg4, float arg5, s32 arg6);
|
||||
void fn_1_12ABC(StructBss160* arg0);
|
||||
void fn_1_12E14(StructBss160* arg0, float arg1);
|
||||
void fn_1_13658(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3, float arg4);
|
||||
void fn_1_15544(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3, float arg4);
|
||||
void fn_1_15CD0(StructFn15CD0* arg0, s32 arg1);
|
||||
void fn_1_15DC8(StructFn15CD0* arg0);
|
||||
void fn_1_164B0(Process* arg0, StructFn15CD0* arg1, s32 arg2, const char* arg3);
|
||||
void fn_1_1660C(Process* arg0, StructFn15CD0* arg1, s32 arg2, s32 arg3);
|
||||
|
|
@ -274,6 +274,11 @@ static inline s32 GWBoardGet(void)
|
|||
return GWSystem.board;
|
||||
}
|
||||
|
||||
static inline s32 GWPlayerCurrGet(void)
|
||||
{
|
||||
return GWSystem.player_curr;
|
||||
}
|
||||
|
||||
static inline s32 GWPlayerTeamGet(s32 player)
|
||||
{
|
||||
return GWPlayer[player].team;
|
||||
|
|
|
|||
3360
src/REL/m437Dll/main.c
Executable file
3360
src/REL/m437Dll/main.c
Executable file
File diff suppressed because it is too large
Load diff
586
src/REL/m437Dll/sequence.c
Executable file
586
src/REL/m437Dll/sequence.c
Executable file
|
|
@ -0,0 +1,586 @@
|
|||
#include "REL/m437Dll.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/hsfmotion.h"
|
||||
|
||||
#include "ext_math.h"
|
||||
#include "string.h"
|
||||
|
||||
void fn_1_11618(StructBss50* arg0);
|
||||
s32 fn_1_1174C(StructBss50* arg0);
|
||||
void fn_1_12494(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8);
|
||||
void fn_1_12958(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6);
|
||||
void fn_1_129B8(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6);
|
||||
void fn_1_12A1C(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6);
|
||||
void fn_1_12A80(StructBss160* arg0);
|
||||
void fn_1_12B00(StructBss160* arg0, StructBss160* arg1, float arg2);
|
||||
void fn_1_13128(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3);
|
||||
void fn_1_133A4(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3);
|
||||
void fn_1_13B88(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3);
|
||||
void fn_1_13FDC(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3);
|
||||
void fn_1_14468(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3, float arg4);
|
||||
void fn_1_14B84(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3);
|
||||
void fn_1_15048(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3);
|
||||
void fn_1_15D3C(StructFn15CD0* arg0, s32 arg1);
|
||||
void fn_1_15DA4(StructFn15CD0* arg0, s32 arg1);
|
||||
void fn_1_15DB4(StructFn15CD0* arg0);
|
||||
void fn_1_15DC0(StructFn15CD0* arg0, s32 arg1);
|
||||
float fn_1_15E10(s32 arg0, s32 arg1, s32 arg2);
|
||||
float fn_1_16154(s32 arg0, s32 arg1);
|
||||
float fn_1_162E4(s32 arg0, float arg1, float arg2);
|
||||
void fn_1_16348(omObjData* arg0);
|
||||
void fn_1_1634C(Process* arg0, StructFn15CD0* arg1, s32 arg2, const char* arg3, s32 arg4, s32 arg5);
|
||||
|
||||
const char* lbl_1_data_3D0[] = {
|
||||
"c000m1-ske_head",
|
||||
"c001m1-ske_head",
|
||||
"c002m1-ske_head",
|
||||
"c003m1-ske_head",
|
||||
"c004m1-ske_head",
|
||||
"c005m1-ske_head",
|
||||
"c006m1-ske_head",
|
||||
"c007m1-ske_head"
|
||||
};
|
||||
|
||||
s32 lbl_1_data_3F0[][2] = {
|
||||
{ 0x100, 1 },
|
||||
{ 0x100, 1 },
|
||||
{ 0x80, 0 },
|
||||
{ 0x80, 0 },
|
||||
{ 0x80, 0 },
|
||||
{ 0x100, 1 },
|
||||
{ 0x80, 0 },
|
||||
{ 0x80, 0 }
|
||||
};
|
||||
|
||||
// Similar to mgmodedll/main.c::fn_1_240E4 (identical in behavior)
|
||||
float fn_1_11348(float arg0, float arg1, float arg2, float arg3) {
|
||||
if (arg2 >= arg3) {
|
||||
return arg1;
|
||||
}
|
||||
return arg0 + (arg2 / arg3) * (arg1 - arg0);
|
||||
}
|
||||
|
||||
float fn_1_11370(float arg0, float arg1, float arg2) {
|
||||
if (arg2 <= 1.0f) {
|
||||
return arg1;
|
||||
}
|
||||
return (arg1 + arg0 * (arg2 - 1.0f)) / arg2;
|
||||
}
|
||||
|
||||
// Identical to mgmodedll/main.c::fn_1_24204
|
||||
float fn_1_113B0(float arg0, float arg1, float arg2, float arg3) {
|
||||
if (arg2 >= arg3) {
|
||||
return arg1;
|
||||
}
|
||||
return arg0 + (arg1 - arg0) * sind((90.0f / arg3) * arg2);
|
||||
}
|
||||
|
||||
// Identical to mgmodedll/main.c::fn_1_242CC
|
||||
float fn_1_11478(float arg0, float arg1, float arg2, float arg3) {
|
||||
if (arg2 >= arg3) {
|
||||
return arg1;
|
||||
}
|
||||
return arg0 + (arg1 - arg0) * sind((360.0f / arg3) * arg2);
|
||||
}
|
||||
|
||||
// Identical to mgmodedll/main.c::fn_1_2412C
|
||||
float fn_1_11540(float arg0, float arg1, float arg2, float arg3) {
|
||||
if (arg2 >= arg3) {
|
||||
return arg1;
|
||||
}
|
||||
return arg0 + (arg1 - arg0) * (1.0 - cosd((90.0f / arg3) * arg2));
|
||||
}
|
||||
|
||||
void fn_1_11618(StructBss50* arg0) {
|
||||
arg0->unk10 = 0;
|
||||
arg0->unk14 = arg0->unk04[arg0->unk00].unk08;
|
||||
arg0->unk08 = arg0->unk04[arg0->unk00].unk00;
|
||||
arg0->unk0C = arg0->unk04[arg0->unk00].unk04;
|
||||
}
|
||||
|
||||
void fn_1_11668(StructBss50* arg0, StructData204* arg1) {
|
||||
arg0->unk00 = 0;
|
||||
arg0->unk04 = arg1;
|
||||
fn_1_11618(arg0);
|
||||
}
|
||||
|
||||
s32 fn_1_116C4(StructBss50* arg0) {
|
||||
arg0->unk00++;
|
||||
fn_1_11618(arg0);
|
||||
if (arg0->unk08 == NULL && arg0->unk0C == NULL) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 fn_1_1174C(StructBss50* arg0) {
|
||||
arg0->unk00--;
|
||||
if (arg0->unk00 < 0) {
|
||||
return 1;
|
||||
}
|
||||
fn_1_11618(arg0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 fn_1_117C0(StructBss50* arg0, s32 arg1) {
|
||||
arg0->unk00 = arg1;
|
||||
if (arg0->unk00 < 0) {
|
||||
return 1;
|
||||
}
|
||||
fn_1_11618(arg0);
|
||||
if (arg0->unk08 == NULL && arg0->unk0C == NULL) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 fn_1_11854(StructBss50* arg0, s32 arg1) {
|
||||
if (arg1 != 0) {
|
||||
arg0->unk10 += arg1;
|
||||
if (arg0->unk10 >= arg0->unk14) {
|
||||
return 1;
|
||||
}
|
||||
} else {
|
||||
return arg0->unk10;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 fn_1_11890(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
if (arg0->motion[arg2] == Hu3DMotionIDGet(arg0->model[0])) {
|
||||
if (arg4 != 0) {
|
||||
if (Hu3DMotionTimeGet(arg0->model[arg1]) >= arg3) {
|
||||
return 1;
|
||||
}
|
||||
} else if (Hu3DMotionTimeGet(arg0->model[arg1]) <= arg3) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void fn_1_119A0(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
switch (arg4) {
|
||||
case 0:
|
||||
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0);
|
||||
break;
|
||||
case 1:
|
||||
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000001);
|
||||
break;
|
||||
case 2:
|
||||
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000002);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_11B18(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
if (arg0->motion[arg2] != Hu3DMotionIDGet(arg0->model[arg1]) && arg0->motion[arg2] != Hu3DMotionShiftIDGet(arg0->model[arg1])) {
|
||||
fn_1_119A0(arg0, arg1, arg2, arg3, arg4);
|
||||
}
|
||||
}
|
||||
|
||||
s32 fn_1_11CE0(omObjData* arg0, Vec arg1, float arg2, float arg3, float arg4, float arg5, s32 arg6) {
|
||||
float var_f31;
|
||||
float var_f30;
|
||||
float var_f26;
|
||||
float var_f27;
|
||||
|
||||
var_f31 = arg1.x - arg0->trans.x;
|
||||
var_f30 = arg0->trans.z - arg1.z;
|
||||
var_f26 = 90.0 + atan2d(var_f30, var_f31);
|
||||
var_f27 = sqrtf(var_f31 * var_f31 + var_f30 * var_f30);
|
||||
if (var_f27 <= arg4) {
|
||||
var_f31 = var_f30 = 0.0f;
|
||||
} else {
|
||||
var_f31 = 72.0f * (var_f31 / var_f27);
|
||||
var_f30 = 72.0f * (var_f30 / var_f27);
|
||||
}
|
||||
var_f27 = arg3 * (sqrtf(var_f31 * var_f31 + var_f30 * var_f30) / 72.0f);
|
||||
if (var_f27 >= arg3) {
|
||||
var_f27 = arg3;
|
||||
} else if (var_f27 <= 1.0f) {
|
||||
var_f31 = var_f30 = var_f27 = 0.0f;
|
||||
}
|
||||
if (var_f31 != 0.0f || var_f30 != 0.0f || arg2 >= 0.0f) {
|
||||
if (arg2 >= 0.0f && var_f31 == 0.0f && var_f30 == 0.0f) {
|
||||
var_f26 = arg2;
|
||||
}
|
||||
if (var_f26 >= 180.0f) {
|
||||
if (arg0->rot.y - var_f26 >= 180.0f) {
|
||||
arg0->rot.y -= 360.0f;
|
||||
}
|
||||
if (arg0->rot.y - var_f26 < -180.0f) {
|
||||
arg0->rot.y += 360.0f;
|
||||
}
|
||||
} else {
|
||||
if (arg0->rot.y - var_f26 > 180.0f) {
|
||||
arg0->rot.y -= 360.0f;
|
||||
}
|
||||
if (arg0->rot.y - var_f26 <= -180.0f) {
|
||||
arg0->rot.y += 360.0f;
|
||||
}
|
||||
}
|
||||
arg0->rot.y = (var_f26 + arg0->rot.y * (arg5 - 1.0f)) / arg5;
|
||||
}
|
||||
arg0->trans.x += var_f27 * sind(arg0->rot.y);
|
||||
arg0->trans.z += var_f27 * cosd(arg0->rot.y);
|
||||
if (arg6 != 0) {
|
||||
if (var_f27 > 0.0f) {
|
||||
if (arg6 == 1 || arg6 == 3) {
|
||||
if (arg0->motion[1] != Hu3DMotionIDGet(arg0->model[0]) && arg0->motion[1] != Hu3DMotionShiftIDGet(arg0->model[0])) {
|
||||
Hu3DMotionShiftSet(arg0->model[0], arg0->motion[1], 0.0f, 10.0f, 0x40000001);
|
||||
}
|
||||
} else if (arg0->motion[10] != Hu3DMotionIDGet(arg0->model[0]) && arg0->motion[10] != Hu3DMotionShiftIDGet(arg0->model[0])) {
|
||||
Hu3DMotionShiftSet(arg0->model[0], arg0->motion[10], 0.0f, 10.0f, 0x40000001);
|
||||
}
|
||||
} else {
|
||||
if (arg0->motion[0] != Hu3DMotionIDGet(arg0->model[0]) && arg0->motion[0] != Hu3DMotionShiftIDGet(arg0->model[0])) {
|
||||
Hu3DMotionShiftSet(arg0->model[0], arg0->motion[0], 0.0f, 10.0f, 0x40000001);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void fn_1_12494(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) {
|
||||
Vec sp2C;
|
||||
Vec sp20;
|
||||
Vec sp14;
|
||||
float var_f31;
|
||||
float var_f30;
|
||||
float temp_f29;
|
||||
float temp_f28;
|
||||
|
||||
sp2C.x = arg2->x;
|
||||
sp2C.y = arg2->y;
|
||||
sp2C.z = arg2->z;
|
||||
sp20.x = arg3->x;
|
||||
sp20.y = arg3->y;
|
||||
sp20.z = arg3->z;
|
||||
var_f31 = Hu3DData[arg0->model[arg1]].rot.y;
|
||||
if (var_f31 < 0.0f) {
|
||||
var_f31 += 360.0f;
|
||||
} else if (var_f31 >= 360.0f) {
|
||||
var_f31 -= 360.0f;
|
||||
}
|
||||
temp_f29 = arg5;
|
||||
temp_f28 = arg6;
|
||||
if (arg7 != 0) {
|
||||
sp14.x = fn_1_11348(sp2C.x, sp20.x, temp_f29, temp_f28);
|
||||
sp14.y = fn_1_11348(sp2C.y, sp20.y, temp_f29, temp_f28);
|
||||
sp14.z = fn_1_11348(sp2C.z, sp20.z, temp_f29, temp_f28);
|
||||
if (arg1 == 0) {
|
||||
omSetTra(arg0, sp14.x, sp14.y, sp14.z);
|
||||
} else {
|
||||
Hu3DModelPosSet(arg0->model[arg1], sp14.x, sp14.y, sp14.z);
|
||||
}
|
||||
}
|
||||
if (arg8 == 0) {
|
||||
return;
|
||||
}
|
||||
var_f30 = -(atan2d(sp20.z - sp2C.z, sp20.x - sp2C.x) - 90.0);
|
||||
if (var_f30 < 0.0f) {
|
||||
var_f30 += 360.0f;
|
||||
} else if (var_f30 >= 360.0f) {
|
||||
var_f30 -= 360.0f;
|
||||
}
|
||||
if (var_f30 >= 180.0f) {
|
||||
if (var_f31 - var_f30 >= 180.0f) {
|
||||
var_f31 -= 360.0f;
|
||||
}
|
||||
if (var_f31 - var_f30 < -180.0f) {
|
||||
var_f31 += 360.0f;
|
||||
}
|
||||
} else {
|
||||
if (var_f31 - var_f30 > 180.0f) {
|
||||
var_f31 -= 360.0f;
|
||||
}
|
||||
if (var_f31 - var_f30 <= -180.0f) {
|
||||
var_f31 += 360.0f;
|
||||
}
|
||||
}
|
||||
var_f31 = (var_f30 + var_f31 * (arg4 - 1)) / arg4;
|
||||
if (arg1 == 0) {
|
||||
arg0->rot.y = var_f31;
|
||||
} else {
|
||||
Hu3DData[arg0->model[arg1]].rot.y = var_f31;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_12958(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6) {
|
||||
fn_1_12494(arg0, arg1, arg2, arg3, 0, arg5, arg6, 1, 0);
|
||||
}
|
||||
|
||||
void fn_1_129B8(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6) {
|
||||
fn_1_12494(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 0, 1);
|
||||
}
|
||||
|
||||
void fn_1_12A1C(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 arg5, s32 arg6) {
|
||||
fn_1_12494(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 1, 1);
|
||||
}
|
||||
|
||||
void fn_1_12A80(StructBss160* arg0) {
|
||||
arg0->unk08 = arg0->unk14;
|
||||
arg0->unk0C = arg0->unk18;
|
||||
arg0->unk10 = arg0->unk1C;
|
||||
arg0->unk20 = arg0->unk2C;
|
||||
arg0->unk24 = arg0->unk30;
|
||||
arg0->unk28 = arg0->unk34;
|
||||
arg0->unk38 = arg0->unk3C;
|
||||
}
|
||||
|
||||
void fn_1_12ABC(StructBss160* arg0) {
|
||||
arg0->unk40 = 0;
|
||||
arg0->unk14 = arg0->unk08;
|
||||
arg0->unk18 = arg0->unk0C;
|
||||
arg0->unk1C = arg0->unk10;
|
||||
arg0->unk2C = arg0->unk20;
|
||||
arg0->unk30 = arg0->unk24;
|
||||
arg0->unk34 = arg0->unk28;
|
||||
arg0->unk3C = arg0->unk38;
|
||||
}
|
||||
|
||||
void fn_1_12B00(StructBss160* arg0, StructBss160* arg1, float arg2) {
|
||||
arg0->unk08 = fn_1_11370(arg0->unk08, arg1->unk14, arg2);
|
||||
arg0->unk0C = fn_1_11370(arg0->unk0C, arg1->unk18, arg2);
|
||||
arg0->unk10 = fn_1_11370(arg0->unk10, arg1->unk1C, arg2);
|
||||
arg0->unk20 = fn_1_11370(arg0->unk20, arg1->unk2C, arg2);
|
||||
arg0->unk24 = fn_1_11370(arg0->unk24, arg1->unk30, arg2);
|
||||
arg0->unk28 = fn_1_11370(arg0->unk28, arg1->unk34, arg2);
|
||||
arg0->unk38 = fn_1_11370(arg0->unk38, arg1->unk3C, arg2);
|
||||
}
|
||||
|
||||
void fn_1_12E14(StructBss160* arg0, float arg1) {
|
||||
fn_1_12B00(arg0, arg0, arg1);
|
||||
}
|
||||
|
||||
void fn_1_13128(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3) {
|
||||
arg1->unk14 = fn_1_11348(arg0->unk14, arg1->unk08, arg2, arg3);
|
||||
arg1->unk18 = fn_1_11348(arg0->unk18, arg1->unk0C, arg2, arg3);
|
||||
arg1->unk1C = fn_1_11348(arg0->unk1C, arg1->unk10, arg2, arg3);
|
||||
arg1->unk2C = fn_1_11348(arg0->unk2C, arg1->unk20, arg2, arg3);
|
||||
arg1->unk30 = fn_1_11348(arg0->unk30, arg1->unk24, arg2, arg3);
|
||||
arg1->unk34 = fn_1_11348(arg0->unk34, arg1->unk28, arg2, arg3);
|
||||
arg1->unk3C = fn_1_11348(arg0->unk3C, arg1->unk38, arg2, arg3);
|
||||
}
|
||||
|
||||
void fn_1_133A4(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3) {
|
||||
fn_1_13128(arg0, arg1, arg2, arg3);
|
||||
arg0->unk08 = arg1->unk14;
|
||||
arg0->unk0C = arg1->unk18;
|
||||
arg0->unk10 = arg1->unk1C;
|
||||
arg0->unk20 = arg1->unk2C;
|
||||
arg0->unk24 = arg1->unk30;
|
||||
arg0->unk28 = arg1->unk34;
|
||||
arg0->unk38 = arg1->unk3C;
|
||||
}
|
||||
|
||||
void fn_1_13658(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3, float arg4) {
|
||||
fn_1_13128(arg0, arg1, arg2, arg3);
|
||||
fn_1_12B00(arg0, arg1, arg4);
|
||||
}
|
||||
|
||||
void fn_1_13B88(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3) {
|
||||
arg1->unk14 = fn_1_113B0(arg0->unk14, arg1->unk08, arg2, arg3);
|
||||
arg1->unk18 = fn_1_113B0(arg0->unk18, arg1->unk0C, arg2, arg3);
|
||||
arg1->unk1C = fn_1_113B0(arg0->unk1C, arg1->unk10, arg2, arg3);
|
||||
arg1->unk2C = fn_1_113B0(arg0->unk2C, arg1->unk20, arg2, arg3);
|
||||
arg1->unk30 = fn_1_113B0(arg0->unk30, arg1->unk24, arg2, arg3);
|
||||
arg1->unk34 = fn_1_113B0(arg0->unk34, arg1->unk28, arg2, arg3);
|
||||
arg1->unk3C = fn_1_113B0(arg0->unk3C, arg1->unk38, arg2, arg3);
|
||||
}
|
||||
|
||||
void fn_1_13FDC(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3) {
|
||||
fn_1_13B88(arg0, arg1, arg2, arg3);
|
||||
arg0->unk08 = arg1->unk14;
|
||||
arg0->unk0C = arg1->unk18;
|
||||
arg0->unk10 = arg1->unk1C;
|
||||
arg0->unk20 = arg1->unk2C;
|
||||
arg0->unk24 = arg1->unk30;
|
||||
arg0->unk28 = arg1->unk34;
|
||||
arg0->unk38 = arg1->unk3C;
|
||||
}
|
||||
|
||||
void fn_1_14468(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3, float arg4) {
|
||||
fn_1_13B88(arg0, arg1, arg2, arg3);
|
||||
fn_1_12B00(arg0, arg1, arg4);
|
||||
}
|
||||
|
||||
void fn_1_14B84(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3) {
|
||||
arg1->unk14 = fn_1_11540(arg0->unk14, arg1->unk08, arg2, arg3);
|
||||
arg1->unk18 = fn_1_11540(arg0->unk18, arg1->unk0C, arg2, arg3);
|
||||
arg1->unk1C = fn_1_11540(arg0->unk1C, arg1->unk10, arg2, arg3);
|
||||
arg1->unk2C = fn_1_11540(arg0->unk2C, arg1->unk20, arg2, arg3);
|
||||
arg1->unk30 = fn_1_11540(arg0->unk30, arg1->unk24, arg2, arg3);
|
||||
arg1->unk34 = fn_1_11540(arg0->unk34, arg1->unk28, arg2, arg3);
|
||||
arg1->unk3C = fn_1_11540(arg0->unk3C, arg1->unk38, arg2, arg3);
|
||||
}
|
||||
|
||||
void fn_1_15048(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3) {
|
||||
fn_1_14B84(arg0, arg1, arg2, arg3);
|
||||
arg0->unk08 = arg1->unk14;
|
||||
arg0->unk0C = arg1->unk18;
|
||||
arg0->unk10 = arg1->unk1C;
|
||||
arg0->unk20 = arg1->unk2C;
|
||||
arg0->unk24 = arg1->unk30;
|
||||
arg0->unk28 = arg1->unk34;
|
||||
arg0->unk38 = arg1->unk3C;
|
||||
}
|
||||
|
||||
void fn_1_15544(StructBss160* arg0, StructBss160* arg1, float arg2, float arg3, float arg4) {
|
||||
fn_1_14B84(arg0, arg1, arg2, arg3);
|
||||
fn_1_12B00(arg0, arg1, arg4);
|
||||
}
|
||||
|
||||
void fn_1_15CD0(StructFn15CD0* arg0, s32 arg1) {
|
||||
s32 var_r30;
|
||||
s32 i;
|
||||
|
||||
var_r30 = -1;
|
||||
for (i = 0; i < 20; i++) {
|
||||
if (arg0->unk94[i] == -1) {
|
||||
var_r30 = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_r30 != -1) {
|
||||
arg0->unk94[var_r30] = arg1;
|
||||
arg0->unk00 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_15D3C(StructFn15CD0* arg0, s32 arg1) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 20; i++) {
|
||||
if (arg1 == -1) {
|
||||
arg0->unk94[i] = -1;
|
||||
} else if (arg0->unk94[i] == arg1) {
|
||||
arg0->unk94[i] = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_15DA4(StructFn15CD0* arg0, s32 arg1) {
|
||||
arg0->unk90 = arg1;
|
||||
arg0->unk00 = 1;
|
||||
}
|
||||
|
||||
void fn_1_15DB4(StructFn15CD0* arg0) {
|
||||
arg0->unk90 = -1;
|
||||
}
|
||||
|
||||
void fn_1_15DC0(StructFn15CD0* arg0, s32 arg1) {
|
||||
arg0->unk00 = arg1;
|
||||
}
|
||||
|
||||
void fn_1_15DC8(StructFn15CD0* arg0) {
|
||||
fn_1_15DC0(arg0, 0);
|
||||
fn_1_15D3C(arg0, -1);
|
||||
fn_1_15DB4(arg0);
|
||||
}
|
||||
|
||||
float fn_1_15E10(s32 arg0, s32 arg1, s32 arg2) {
|
||||
Vec sp20;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
float var_f31;
|
||||
float var_f30;
|
||||
|
||||
sp20.x = Hu3DData[arg0].pos.x;
|
||||
sp20.z = Hu3DData[arg0].pos.z;
|
||||
sp14.x = Hu3DData[arg1].pos.x;
|
||||
sp14.z = Hu3DData[arg1].pos.z;
|
||||
sp8.x = sp14.x - sp20.x;
|
||||
sp8.z = sp14.z - sp20.z;
|
||||
var_f30 = Hu3DData[arg0].rot.y;
|
||||
if (var_f30 >= 360.0f) {
|
||||
var_f30 -= 360.0f;
|
||||
} else if (var_f30 < 0.0f) {
|
||||
var_f30 += 360.0f;
|
||||
}
|
||||
if (var_f30 >= 360.0f) {
|
||||
var_f30 -= 360.0f;
|
||||
} else if (var_f30 < 0.0f) {
|
||||
var_f30 += 360.0f;
|
||||
}
|
||||
if (var_f30 >= 360.0f) {
|
||||
var_f30 -= 360.0f;
|
||||
} else if (var_f30 < 0.0f) {
|
||||
var_f30 += 360.0f;
|
||||
}
|
||||
var_f31 = atan2d(sp8.z, sp8.x) - 90.0;
|
||||
if (arg2 == 0) {
|
||||
var_f31 *= -1.0f;
|
||||
}
|
||||
if (arg2 != 0) {
|
||||
var_f31 += var_f30;
|
||||
} else {
|
||||
var_f31 -= var_f30;
|
||||
}
|
||||
if (var_f31 >= 180.0f) {
|
||||
var_f31 -= 360.0f;
|
||||
} else if (var_f31 < -180.0f) {
|
||||
var_f31 += 360.0f;
|
||||
}
|
||||
if (var_f31 >= 180.0f) {
|
||||
var_f31 -= 360.0f;
|
||||
} else if (var_f31 < -180.0f) {
|
||||
var_f31 += 360.0f;
|
||||
}
|
||||
if (var_f31 >= 180.0f) {
|
||||
var_f31 -= 360.0f;
|
||||
} else if (var_f31 < -180.0f) {
|
||||
var_f31 += 360.0f;
|
||||
}
|
||||
return var_f31;
|
||||
}
|
||||
|
||||
float fn_1_16154(s32 arg0, s32 arg1) {
|
||||
Vec sp24;
|
||||
Vec sp18;
|
||||
Vec spC;
|
||||
|
||||
sp24.x = Hu3DData[arg0].pos.x;
|
||||
sp24.z = Hu3DData[arg0].pos.z;
|
||||
sp18.x = Hu3DData[arg1].pos.x;
|
||||
sp18.z = Hu3DData[arg1].pos.z;
|
||||
spC.x = sp18.x - sp24.x;
|
||||
spC.z = sp18.z - sp24.z;
|
||||
return sqrtf(spC.x * spC.x + spC.z * spC.z);
|
||||
}
|
||||
|
||||
float fn_1_162E4(s32 arg0, float arg1, float arg2) {
|
||||
return (arg2 + arg1 * (arg0 - 1)) / arg0;
|
||||
}
|
||||
|
||||
void fn_1_16348(omObjData* arg0) {
|
||||
}
|
||||
|
||||
void fn_1_1634C(Process* arg0, StructFn15CD0* arg1, s32 arg2, const char* arg3, s32 arg4, s32 arg5) {
|
||||
arg1->unk00 = 0;
|
||||
arg1->unk84 = arg2;
|
||||
strcpy(arg1->unk04, arg3);
|
||||
arg1->unk88 = arg4;
|
||||
arg1->unk8C = arg5;
|
||||
arg1->unk90 = -1;
|
||||
fn_1_15D3C(arg1, -1);
|
||||
arg1->unkE4 = omAddObjEx(arg0, 0x3000, 0, 0, -1, fn_1_16348);
|
||||
arg1->unkE4->data = arg1;
|
||||
arg1->unkE4->trans.x = 10.0f;
|
||||
arg1->unkE4->trans.y = 10000.0f;
|
||||
arg1->unkE4->trans.z = 10.0f;
|
||||
arg1->unkE4->rot.x = 0.0f;
|
||||
arg1->unkE4->rot.y = 0.0f;
|
||||
arg1->unkE4->rot.z = 0.0f;
|
||||
arg1->unkE4->work[0] = arg1->unkE4->work[1] = arg1->unkE4->work[2] = arg1->unkE4->work[3] = 0;
|
||||
}
|
||||
|
||||
void fn_1_164B0(Process* arg0, StructFn15CD0* arg1, s32 arg2, const char* arg3) {
|
||||
fn_1_1634C(arg0, arg1, arg2, arg3, 0x100, 0);
|
||||
}
|
||||
|
||||
void fn_1_1660C(Process* arg0, StructFn15CD0* arg1, s32 arg2, s32 arg3) {
|
||||
fn_1_1634C(arg0, arg1, arg2, lbl_1_data_3D0[arg3], lbl_1_data_3F0[arg3][0], lbl_1_data_3F0[arg3][1]);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue