mirror of
https://github.com/doldecomp/melee.git
synced 2024-11-30 08:40:49 +00:00
Re-link if
(#1150)
This commit is contained in:
parent
93f8a85257
commit
c779ee6512
File diff suppressed because it is too large
Load Diff
3248
asm/melee/if/ifstatus.s
Normal file
3248
asm/melee/if/ifstatus.s
Normal file
File diff suppressed because it is too large
Load Diff
@ -138,8 +138,8 @@ ifStatus_804D57C0:
|
||||
|
||||
.section .bss, "wa"
|
||||
.balign 8
|
||||
.global ifStatus_804A10C8
|
||||
ifStatus_804A10C8:
|
||||
.global ifStatus_HudInfo
|
||||
ifStatus_HudInfo:
|
||||
.skip 0x278
|
||||
|
||||
|
||||
|
@ -3298,16 +3298,14 @@ melee/if/iftime.c:
|
||||
.sdata start:0x804D5788 end:0x804D57A8
|
||||
.sdata2 start:0x804DDA38 end:0x804DDA48
|
||||
|
||||
melee/if/ifstatus_data.c:
|
||||
melee/if/ifstatus.c:
|
||||
.text start:0x802F4910 end:0x802F7288
|
||||
.data start:0x803F9598 end:0x803F9780
|
||||
.bss start:0x804A10C8 end:0x804A1340
|
||||
.sdata start:0x804D57A8 end:0x804D57C8
|
||||
.sbss start:0x804D6D60 end:0x804D7058
|
||||
.sbss start:0x804D6D60 end:0x804D6D68
|
||||
.sdata2 start:0x804DDA48 end:0x804DDAB0
|
||||
|
||||
melee/if/ifstatus.c:
|
||||
.text start:0x802F4910 end:0x802F7288
|
||||
|
||||
melee/if/if_2F72.c:
|
||||
.text start:0x802F7288 end:0x802F7EFC
|
||||
.data start:0x803F9780 end:0x803F97A8
|
||||
|
@ -25066,7 +25066,7 @@ it_804A0E70 = .bss:0x804A0E70; // type:object size:0xF0 scope:global
|
||||
it_804A0F60 = .bss:0x804A0F60; // type:object size:0x78 scope:global
|
||||
ifAll_804A0FD8 = .bss:0x804A0FD8; // type:object size:0xA0 scope:global data:4byte
|
||||
ifTime_804A1078 = .bss:0x804A1078; // type:object size:0x50 scope:global data:4byte
|
||||
ifStatus_804A10C8 = .bss:0x804A10C8; // type:object size:0x278 scope:global data:4byte
|
||||
ifStatus_HudInfo = .bss:0x804A10C8; // type:object size:0x278 scope:global data:4byte
|
||||
lbl_804A1340 = .bss:0x804A1340; // type:object size:0x38 data:4byte
|
||||
ifStock_804A1378 = .bss:0x804A1378; // type:object size:0x3FC scope:global data:4byte
|
||||
ifStock_804A1774 = .bss:0x804A1774; // type:object size:0x318 scope:global data:byte
|
||||
|
@ -1052,11 +1052,10 @@ config.libs = [
|
||||
[
|
||||
Object(NonMatching, "melee/if/ifall.c"),
|
||||
Object(NonMatching, "melee/if/iftime.c"),
|
||||
Object(NonMatching, "melee/if/ifstatus_data.c"),
|
||||
Object(Unknown, "melee/if/ifstatus.c"),
|
||||
Object(NonMatching, "melee/if/ifstatus.c"),
|
||||
Object(NonMatching, "melee/if/if_2F72.c"),
|
||||
Object(NonMatching, "melee/if/ifstock.c"),
|
||||
Object(Unknown, "melee/if/ifmagnify.c"),
|
||||
Object(NonMatching, "melee/if/ifmagnify.c"),
|
||||
],
|
||||
),
|
||||
MeleeLib(
|
||||
|
@ -768,11 +768,9 @@ TEXT_O_FILES +=\
|
||||
TEXT_O_FILES +=\
|
||||
$(BUILD_DIR)/asm/melee/if/ifall.s.o\
|
||||
$(BUILD_DIR)/asm/melee/if/iftime.s.o\
|
||||
$(BUILD_DIR)/asm/melee/if/ifstatus_data.s.o\
|
||||
$(BUILD_DIR)/src/melee/if/ifstatus.c.o\
|
||||
$(BUILD_DIR)/asm/melee/if/ifstatus.s.o\
|
||||
$(BUILD_DIR)/asm/melee/if/if_2F72.s.o\
|
||||
$(BUILD_DIR)/asm/melee/if/ifstock.s.o\
|
||||
$(BUILD_DIR)/src/melee/if/ifmagnify.c.o\
|
||||
$(BUILD_DIR)/asm/melee/if/ifmagnify.s.o\
|
||||
|
||||
TEXT_O_FILES +=\
|
||||
|
@ -1,8 +1,11 @@
|
||||
#ifndef MELEE_GM_FORWARD_H
|
||||
#define MELEE_GM_FORWARD_H
|
||||
|
||||
#include <placeholder.h>
|
||||
|
||||
typedef struct datetime datetime;
|
||||
typedef struct GameRules GameRules;
|
||||
typedef struct Placeholder_8016AE38_flags Placeholder_8016AE38_flags;
|
||||
typedef struct Placeholder_8016AE38_flags_2 Placeholder_8016AE38_flags_2;
|
||||
typedef struct Placeholder_8016AE38_ret_val Placeholder_8016AE38_ret_val;
|
||||
typedef struct Placeholder_8016AE50_ret_val Placeholder_8016AE50_ret_val;
|
||||
|
||||
#endif
|
||||
|
@ -2,14 +2,10 @@
|
||||
#define GALE01_1601C4
|
||||
|
||||
#include <platform.h>
|
||||
#include "gm/forward.h"
|
||||
|
||||
#include <placeholder.h>
|
||||
|
||||
struct datetime {
|
||||
u16 year;
|
||||
u8 month, day, hour, minute, second;
|
||||
};
|
||||
|
||||
/* 160854 */ void gm_80160854(void);
|
||||
/* 160968 */ bool gm_80160968(void);
|
||||
/* 164600 */ bool gm_80164600(void);
|
||||
@ -17,8 +13,10 @@ struct datetime {
|
||||
/* 164ABC */ bool gm_80164ABC(void);
|
||||
/* 167320 */ void gm_80167320(int slot, bool);
|
||||
/* 168B34 */ void gm_80168B34(void);
|
||||
/* 1692E8 */ void gm_801692E8(int, struct datetime* datetime);
|
||||
/* 1692E8 */ void gm_801692E8(int, datetime* datetime);
|
||||
/* 16AE38 */ Placeholder_8016AE38_ret_val* gm_8016AE38(void);
|
||||
/* 16AE44 */ bool gm_8016AE44(void);
|
||||
/* 16AE50 */ Placeholder_8016AE50_ret_val* gm_8016AE50(void);
|
||||
/* 16AE80 */ bool gm_8016AE80(void);
|
||||
/* 16AEDC */ bool gm_8016AEDC(void);
|
||||
/* 16B014 */ bool gm_8016B014(void);
|
||||
@ -35,6 +33,7 @@ struct datetime {
|
||||
/* 16B3D8 */ bool gm_8016B3D8(void);
|
||||
/* 16B41C */ bool gm_8016B41C(void);
|
||||
/* 16B498 */ void gm_8016B498(void);
|
||||
/* 16B8D4 */ void gm_8016B8D4(s32, s32);
|
||||
/* 16C5C0 */ bool gm_8016C5C0(int pl_slot);
|
||||
/* 16C6C0 */ /* static */ UNK_RET gm_8016C6C0(UNK_PARAMS);
|
||||
/* 16C75C */ /* static */ UNK_RET gm_8016C75C(UNK_PARAMS);
|
||||
|
@ -177,4 +177,39 @@ struct gmm_retval_EDB0 {
|
||||
s32 x4;
|
||||
};
|
||||
|
||||
struct Placeholder_8016AE38_flags {
|
||||
u8 unk80 : 1;
|
||||
u8 unk40 : 1;
|
||||
u8 unk20 : 1;
|
||||
u8 unk10 : 1;
|
||||
u8 unk8 : 1;
|
||||
u8 unk4 : 1;
|
||||
u8 unk2 : 1;
|
||||
u8 unk1 : 1;
|
||||
};
|
||||
|
||||
struct Placeholder_8016AE38_flags_2 {
|
||||
u8 top3 : 3;
|
||||
u8 bot5 : 5;
|
||||
};
|
||||
|
||||
struct Placeholder_8016AE38_ret_val {
|
||||
u32 unk0;
|
||||
u32 unk4;
|
||||
u32 unk8;
|
||||
u8 unkC;
|
||||
u8 unkD;
|
||||
u8 unkE;
|
||||
u8 unkF;
|
||||
u32 padding[0x931 - 3];
|
||||
Placeholder_8016AE38_flags_2 unk24C8;
|
||||
u8 unk24C9;
|
||||
Placeholder_8016AE38_flags unk24CA;
|
||||
};
|
||||
|
||||
struct datetime {
|
||||
u16 year;
|
||||
u8 month, day, hour, minute, second;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
14
src/melee/if/forward.h
Normal file
14
src/melee/if/forward.h
Normal file
@ -0,0 +1,14 @@
|
||||
#ifndef MELEE_IF_FORWARD_H
|
||||
#define MELEE_IF_FORWARD_H
|
||||
|
||||
typedef struct Element_803F9628 Element_803F9628;
|
||||
typedef struct Element_803F9628_Obj_14 Element_803F9628_Obj_14;
|
||||
typedef struct HudFlags HudFlags;
|
||||
typedef struct HudIndex HudIndex;
|
||||
typedef struct HudValue HudValue;
|
||||
typedef struct ifMagnify ifMagnify;
|
||||
typedef struct Placeholder_8016AE50_flags Placeholder_8016AE50_flags;
|
||||
typedef struct Thing_803F9628 Thing_803F9628;
|
||||
typedef struct UnknownClassTypeE UnknownClassTypeE;
|
||||
|
||||
#endif
|
13
src/melee/if/if_2F72.h
Normal file
13
src/melee/if/if_2F72.h
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef GALE01_2F7288
|
||||
#define GALE01_2F7288
|
||||
|
||||
#include <platform.h>
|
||||
|
||||
#include <placeholder.h>
|
||||
|
||||
/* 2F7AF8 */ void if_802F7AF8(s32);
|
||||
/* 2F7BB4 */ void if_802F7BB4(s32);
|
||||
/* 2F7C30 */ void if_802F7C30(s32);
|
||||
/* 2F7D08 */ void if_802F7D08(s32);
|
||||
|
||||
#endif
|
@ -1,10 +1,10 @@
|
||||
#ifndef MELEE_IF_IFALL_H
|
||||
#define MELEE_IF_IFALL_H
|
||||
#ifndef GALE01_2F3394
|
||||
#define GALE01_2F3394
|
||||
|
||||
#include <platform.h>
|
||||
|
||||
void ifAll_802F3424(void);
|
||||
void ifAll_802F3690(void);
|
||||
void ifAll_802F343C(void);
|
||||
/* 2F3424 */ void ifAll_802F3424(void);
|
||||
/* 2F343C */ void ifAll_802F343C(void);
|
||||
/* 2F3690 */ void ifAll_802F3690(void);
|
||||
|
||||
#endif
|
||||
|
@ -1,39 +1,12 @@
|
||||
#ifndef MELEE_IF_IFMAGNIFY_H
|
||||
#define MELEE_IF_IFMAGNIFY_H
|
||||
#ifndef GALE01_2FB6E8
|
||||
#define GALE01_2FB6E8
|
||||
|
||||
#include <platform.h>
|
||||
#include <baselib/forward.h>
|
||||
|
||||
#include <sysdolphin/baselib/gobj.h>
|
||||
#include <sysdolphin/baselib/jobj.h>
|
||||
#include <sysdolphin/baselib/tobj.h>
|
||||
#include "if/types.h"
|
||||
|
||||
typedef struct ifMagnify {
|
||||
HSD_Joint* joint; // // ifMagnify_802fc3c0 accesses 0x804A1DE0 for a Joint
|
||||
int x4;
|
||||
int x8;
|
||||
int xC;
|
||||
int x10;
|
||||
|
||||
struct {
|
||||
HSD_GObj* gobj; // ifMagnify_802fc750 accesses 0x804A1DF4 + slot * 0x10
|
||||
// for a GObj
|
||||
HSD_TObj* tobj; // ifMagnify_802fc3c0 accesses 0x804A1DF8 + slot * 0x10
|
||||
// for a TObj
|
||||
HSD_ImageDesc*
|
||||
idesc; // ifMagnify_802FBBDC access 0x804A1DFC for an ImageDesc
|
||||
struct {
|
||||
u8 is_offscreen : 1;
|
||||
u8 ignore_offscreen : 1;
|
||||
u8 unk : 6;
|
||||
} state;
|
||||
} player[6];
|
||||
u8 unk[0xF0 - 0x74];
|
||||
} ifMagnify;
|
||||
|
||||
extern ifMagnify ifMagnify_804A1DE0;
|
||||
|
||||
s32 ifMagnify_802FB6E8(s32);
|
||||
bool ifMagnify_802FC998(s32 ply_slot);
|
||||
/* 2FB6E8 */ s32 ifMagnify_802FB6E8(s32);
|
||||
/* 2FC998 */ bool ifMagnify_802FC998(s32 ply_slot);
|
||||
/* 4A1DE0 */ extern ifMagnify ifMagnify_804A1DE0;
|
||||
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,241 +1,38 @@
|
||||
#ifndef MELEE_IF_IFSTATUS_H
|
||||
#define MELEE_IF_IFSTATUS_H
|
||||
#ifndef GALE01_2F4910
|
||||
#define GALE01_2F4910
|
||||
|
||||
#include <platform.h>
|
||||
#include "if/forward.h"
|
||||
#include <baselib/forward.h>
|
||||
|
||||
#include "pl/player.h"
|
||||
|
||||
#include <baselib/gobj.h>
|
||||
#include <baselib/gobjgxlink.h>
|
||||
#include <baselib/jobj.h>
|
||||
#include <baselib/tobj.h>
|
||||
|
||||
typedef struct _HudFlags {
|
||||
u8 explode_animation : 1;
|
||||
u8 unk40 : 1;
|
||||
u8 force_digit_shake : 1;
|
||||
u8 unk10 : 1;
|
||||
u8 hide_all_digits : 1;
|
||||
u8 animation_status_id : 2;
|
||||
u8 unk1 : 1;
|
||||
} HudFlags;
|
||||
|
||||
typedef struct _UnknownClassTypeE {
|
||||
s32 padding[0x24];
|
||||
HSD_JObj* unk28;
|
||||
} UnknownClassTypeE;
|
||||
|
||||
typedef struct _HudValue {
|
||||
// pointer to "unknown class type E"
|
||||
// 0x00
|
||||
HSD_GObj* HUD_parent_entity;
|
||||
// probably a pointer to "unknown class type E"
|
||||
// 0x04
|
||||
HSD_GObj* next;
|
||||
// represents players 1-6
|
||||
// TODO: list if this 0 indexed, or what
|
||||
// 0x08
|
||||
u8 player_slot;
|
||||
// 0x09
|
||||
u8 unk9;
|
||||
// damage as int
|
||||
// 0x0A
|
||||
u16 damage_percent;
|
||||
// 0x0C
|
||||
u16 old_damage;
|
||||
// 0x0E
|
||||
u8 damage_from_last_attack;
|
||||
// 0x0F
|
||||
u8 frames_of_shake_remaining;
|
||||
// 0x10
|
||||
HudFlags flags;
|
||||
// 0x14
|
||||
f32 hundreds_digit_x_translation;
|
||||
// 0x18
|
||||
f32 tens_digit_x_translation;
|
||||
// 0x1C
|
||||
f32 ones_digit_x_translation;
|
||||
// 0x20
|
||||
f32 percent_sign_x_translation;
|
||||
// 0x24
|
||||
f32 hundreds_digit_y_translation;
|
||||
// 0x28
|
||||
f32 tens_digit_y_translation;
|
||||
f32 ones_digit_y_translation;
|
||||
f32 percent_sign_y_translation;
|
||||
f32 hundreds_x_velocity;
|
||||
f32 hundreds_y_velocity;
|
||||
f32 tens_x_velocity;
|
||||
f32 tens_y_velocity;
|
||||
f32 ones_x_velocity;
|
||||
f32 ones_y_velocity;
|
||||
f32 percent_sign_x_velocity;
|
||||
f32 percent_sign_y_velocity;
|
||||
HSD_JObj* hundreds_jobj;
|
||||
HSD_JObj* tens_jobj;
|
||||
HSD_JObj* ones_jobj;
|
||||
HSD_JObj* percent_sign_jobj;
|
||||
} HudValue;
|
||||
|
||||
typedef struct _HudIndex {
|
||||
HudValue players[6];
|
||||
// 258 unk
|
||||
HSD_Joint* unk258;
|
||||
// 0x25c
|
||||
void* jobj_desc_parent;
|
||||
// 0x260
|
||||
HSD_AnimJoint* janim_selection_joints;
|
||||
// 0x264
|
||||
void* janim_selection_textures;
|
||||
// 0x268 null?
|
||||
void* unk268;
|
||||
void* unk26C;
|
||||
void* unk270;
|
||||
void* unk274;
|
||||
// 8 elements of size 0x28, what is this?
|
||||
} HudIndex;
|
||||
|
||||
typedef struct _Element_803F9628_Obj_14 {
|
||||
s32 padding[6];
|
||||
s32 unk1C;
|
||||
} Element_803F9628_Obj_14;
|
||||
|
||||
typedef struct _Element_803F9628 {
|
||||
// 0x00
|
||||
// maybe?
|
||||
HSD_GObj* unk0;
|
||||
// 0x04
|
||||
u32 unk4;
|
||||
// 0x08
|
||||
void* unk8;
|
||||
// 0x0C
|
||||
// flags?
|
||||
u32 unkC;
|
||||
// 0x10
|
||||
// flags?
|
||||
u32 unk10;
|
||||
// 0x14
|
||||
s32 unk14;
|
||||
// 0x18
|
||||
u32 unk18;
|
||||
// 0x1C
|
||||
u32 unk1C;
|
||||
// 0x20
|
||||
u32 unk20;
|
||||
// 0x24
|
||||
u32 unk24;
|
||||
// 0x28
|
||||
// u32 unk40;
|
||||
} Element_803F9628;
|
||||
|
||||
typedef struct _Thing_803F9628 {
|
||||
Element_803F9628 things[8];
|
||||
u32 extra[6];
|
||||
} Thing_803F9628;
|
||||
|
||||
typedef struct _Coordinate3D {
|
||||
f32 x;
|
||||
f32 y;
|
||||
f32 z;
|
||||
} Coordinate3D;
|
||||
|
||||
typedef struct _Placeholder_8016AE38_flags {
|
||||
u8 unk80 : 1;
|
||||
u8 unk40 : 1;
|
||||
u8 unk20 : 1;
|
||||
u8 unk10 : 1;
|
||||
u8 unk8 : 1;
|
||||
u8 unk4 : 1;
|
||||
u8 unk2 : 1;
|
||||
u8 unk1 : 1;
|
||||
} Placeholder_8016AE38_flags;
|
||||
|
||||
typedef struct _Placeholder_8016AE38_flags_2 {
|
||||
u8 top3 : 3;
|
||||
u8 bot5 : 5;
|
||||
} Placeholder_8016AE38_flags_2;
|
||||
|
||||
// When we figure out what that function is, replace this type with an actual
|
||||
// type
|
||||
typedef struct _Placeholder_8016AE38_ret_val {
|
||||
u32 unk0;
|
||||
u32 unk4;
|
||||
u32 unk8;
|
||||
u8 unkC;
|
||||
u8 unkD;
|
||||
u8 unkE;
|
||||
u8 unkF;
|
||||
u32 padding[0x931 - 3];
|
||||
Placeholder_8016AE38_flags_2 unk24C8;
|
||||
u8 unk24C9;
|
||||
Placeholder_8016AE38_flags unk24CA;
|
||||
} Placeholder_8016AE38_ret_val;
|
||||
|
||||
typedef struct _Placeholder_8016AE50_flags {
|
||||
u8 unk80 : 1;
|
||||
u8 unk40 : 1;
|
||||
u8 unk20 : 1;
|
||||
u8 unk10 : 1;
|
||||
u8 unk8 : 1;
|
||||
u8 unk4 : 1;
|
||||
u8 unk2 : 1;
|
||||
u8 unk1 : 1;
|
||||
} Placeholder_8016AE50_flags;
|
||||
|
||||
// When we figure out what that function is, replace this type with an actual
|
||||
// type
|
||||
typedef struct _Placeholder_8016AE50_ret_val {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
Placeholder_8016AE50_flags flags;
|
||||
} Placeholder_8016AE50_ret_val;
|
||||
|
||||
// external functions we need
|
||||
// takes HSD obj* ?
|
||||
// extern void func_80391CAC(void*);
|
||||
extern void ifStock_802FB6AC(s32);
|
||||
extern Placeholder_8016AE38_ret_val* gm_8016AE38(void);
|
||||
extern Placeholder_8016AE50_ret_val* gm_8016AE50(void);
|
||||
extern void gm_8016B8D4(s32, s32);
|
||||
extern void if_802F7C30(s32);
|
||||
extern void if_802F7AF8(s32);
|
||||
extern void if_802F7D08(s32);
|
||||
extern void if_802F7BB4(s32);
|
||||
extern void ifStock_802FB650(s32);
|
||||
|
||||
// functions defined in this file
|
||||
|
||||
HudIndex* ifStatus_802F4910(void);
|
||||
HSD_GObj* ifStatus_802F6194(HSD_GObj*, s32);
|
||||
void ifStatus_802F6508(s32);
|
||||
void ifStatus_802F665C(s8);
|
||||
void ifStatus_802F6788(s32);
|
||||
void ifStatus_802F6804(void);
|
||||
void ifStatus_802F6898(void);
|
||||
void ifStatus_802F68F0(void);
|
||||
void ifStatus_802F6948(s32);
|
||||
void ifStatus_802F69C0(s32, s32);
|
||||
void ifStatus_802F6AF8(s32);
|
||||
void ifStatus_802F6C04(s32);
|
||||
void ifStatus_802F6D10(s32);
|
||||
void ifStatus_802F6E1C(int slot);
|
||||
void ifStatus_802F6E3C(s32);
|
||||
void ifStatus_802F7220(void);
|
||||
|
||||
extern HudIndex ifStatus_804A10C8; // global array of HUD info
|
||||
|
||||
void ifStatus_802F5B48(void);
|
||||
void ifStatus_802F5DE0(HSD_GObj* player, s32 arg1);
|
||||
void ifStatus_802F5E50(void);
|
||||
void ifStatus_802F5EC0(void);
|
||||
void ifStatus_802F61FC(void);
|
||||
void ifStatus_802F66A4(void);
|
||||
void ifStatus_802F4B84(void);
|
||||
void ifStatus_802F6EA4(void);
|
||||
void ifStatus_802F7034(void);
|
||||
void ifStatus_802F7134(void);
|
||||
void ifStatus_802F4EDC(void);
|
||||
void ifStatus_802F491C(void);
|
||||
/* 2F4910 */ HudIndex* ifStatus_802F4910(void);
|
||||
/* 2F491C */ void ifStatus_802F491C(void);
|
||||
/* 2F4B84 */ void ifStatus_802F4B84(void);
|
||||
/* 2F4EDC */ void ifStatus_802F4EDC(void);
|
||||
/* 2F5B48 */ void ifStatus_802F5B48(void);
|
||||
/* 2F5DE0 */ void ifStatus_802F5DE0(HSD_GObj* player, s32 arg1);
|
||||
/* 2F5E50 */ void ifStatus_802F5E50(void);
|
||||
/* 2F5EC0 */ void ifStatus_802F5EC0(void);
|
||||
/* 2F6194 */ HSD_GObj* ifStatus_802F6194(HSD_GObj*, s32);
|
||||
/* 2F61FC */ void ifStatus_802F61FC(void);
|
||||
/* 2F6508 */ void ifStatus_802F6508(s32);
|
||||
/* 2F665C */ void ifStatus_802F665C(s8);
|
||||
/* 2F66A4 */ void ifStatus_802F66A4(void);
|
||||
/* 2F6788 */ void ifStatus_802F6788(s32);
|
||||
/* 2F6804 */ void ifStatus_802F6804(void);
|
||||
/* 2F6898 */ void ifStatus_802F6898(void);
|
||||
/* 2F68F0 */ void ifStatus_802F68F0(void);
|
||||
/* 2F6948 */ void ifStatus_802F6948(s32);
|
||||
/* 2F69C0 */ void ifStatus_802F69C0(s32, s32);
|
||||
/* 2F6AF8 */ void ifStatus_802F6AF8(s32);
|
||||
/* 2F6C04 */ void ifStatus_802F6C04(s32);
|
||||
/* 2F6D10 */ void ifStatus_802F6D10(s32);
|
||||
/* 2F6E1C */ void ifStatus_802F6E1C(int slot);
|
||||
/* 2F6E3C */ void ifStatus_802F6E3C(s32);
|
||||
/* 2F6EA4 */ void ifStatus_802F6EA4(void);
|
||||
/* 2F7034 */ void ifStatus_802F7034(void);
|
||||
/* 2F7134 */ void ifStatus_802F7134(void);
|
||||
/* 2F7220 */ void ifStatus_802F7220(void);
|
||||
/* 4A10C8 */ extern HudIndex ifStatus_HudInfo;
|
||||
|
||||
#endif
|
||||
|
@ -1,8 +1,10 @@
|
||||
#ifndef MELEE_IF_IFSTOCK_H
|
||||
#define MELEE_IF_IFSTOCK_H
|
||||
#ifndef GALE01_2F7EFC
|
||||
#define GALE01_2F7EFC
|
||||
|
||||
#include <platform.h>
|
||||
|
||||
void ifStock_802F98E8(void);
|
||||
/* 2F98E8 */ void ifStock_802F98E8(void);
|
||||
/* 2FB650 */ void ifStock_802FB650(s32);
|
||||
/* 2FB6AC */ void ifStock_802FB6AC(s32);
|
||||
|
||||
#endif
|
||||
|
170
src/melee/if/types.h
Normal file
170
src/melee/if/types.h
Normal file
@ -0,0 +1,170 @@
|
||||
#ifndef MELEE_IF_TYPES_H
|
||||
#define MELEE_IF_TYPES_H
|
||||
|
||||
#include <platform.h>
|
||||
#include "if/forward.h" // IWYU pragma: export
|
||||
#include <baselib/forward.h>
|
||||
|
||||
struct HudFlags {
|
||||
u8 explode_animation : 1;
|
||||
u8 unk40 : 1;
|
||||
u8 force_digit_shake : 1;
|
||||
u8 unk10 : 1;
|
||||
u8 hide_all_digits : 1;
|
||||
u8 animation_status_id : 2;
|
||||
u8 unk1 : 1;
|
||||
};
|
||||
|
||||
struct UnknownClassTypeE {
|
||||
s32 padding[0x24];
|
||||
HSD_JObj* unk28;
|
||||
};
|
||||
|
||||
struct HudValue {
|
||||
// pointer to "unknown class type E"
|
||||
// 0x00
|
||||
HSD_GObj* HUD_parent_entity;
|
||||
// probably a pointer to "unknown class type E"
|
||||
// 0x04
|
||||
HSD_GObj* next;
|
||||
// represents players 1-6
|
||||
// TODO: list if this 0 indexed, or what
|
||||
// 0x08
|
||||
u8 player_slot;
|
||||
// 0x09
|
||||
u8 unk9;
|
||||
// damage as int
|
||||
// 0x0A
|
||||
u16 damage_percent;
|
||||
// 0x0C
|
||||
u16 old_damage;
|
||||
// 0x0E
|
||||
u8 damage_from_last_attack;
|
||||
// 0x0F
|
||||
u8 frames_of_shake_remaining;
|
||||
// 0x10
|
||||
HudFlags flags;
|
||||
// 0x14
|
||||
f32 hundreds_digit_x_translation;
|
||||
// 0x18
|
||||
f32 tens_digit_x_translation;
|
||||
// 0x1C
|
||||
f32 ones_digit_x_translation;
|
||||
// 0x20
|
||||
f32 percent_sign_x_translation;
|
||||
// 0x24
|
||||
f32 hundreds_digit_y_translation;
|
||||
// 0x28
|
||||
f32 tens_digit_y_translation;
|
||||
f32 ones_digit_y_translation;
|
||||
f32 percent_sign_y_translation;
|
||||
f32 hundreds_x_velocity;
|
||||
f32 hundreds_y_velocity;
|
||||
f32 tens_x_velocity;
|
||||
f32 tens_y_velocity;
|
||||
f32 ones_x_velocity;
|
||||
f32 ones_y_velocity;
|
||||
f32 percent_sign_x_velocity;
|
||||
f32 percent_sign_y_velocity;
|
||||
HSD_JObj* hundreds_jobj;
|
||||
HSD_JObj* tens_jobj;
|
||||
HSD_JObj* ones_jobj;
|
||||
HSD_JObj* percent_sign_jobj;
|
||||
};
|
||||
|
||||
struct HudIndex {
|
||||
HudValue players[6];
|
||||
// 258 unk
|
||||
HSD_Joint* unk258;
|
||||
// 0x25c
|
||||
void* jobj_desc_parent;
|
||||
// 0x260
|
||||
HSD_AnimJoint* janim_selection_joints;
|
||||
// 0x264
|
||||
void* janim_selection_textures;
|
||||
// 0x268 null?
|
||||
void* unk268;
|
||||
void* unk26C;
|
||||
void* unk270;
|
||||
void* unk274;
|
||||
// 8 elements of size 0x28, what is this?
|
||||
};
|
||||
|
||||
struct Element_803F9628_Obj_14 {
|
||||
s32 padding[6];
|
||||
s32 unk1C;
|
||||
};
|
||||
|
||||
struct Element_803F9628 {
|
||||
// 0x00
|
||||
// maybe?
|
||||
HSD_GObj* unk0;
|
||||
// 0x04
|
||||
u32 unk4;
|
||||
// 0x08
|
||||
void* unk8;
|
||||
// 0x0C
|
||||
// flags?
|
||||
u32 unkC;
|
||||
// 0x10
|
||||
// flags?
|
||||
u32 unk10;
|
||||
// 0x14
|
||||
s32 unk14;
|
||||
// 0x18
|
||||
u32 unk18;
|
||||
// 0x1C
|
||||
u32 unk1C;
|
||||
// 0x20
|
||||
u32 unk20;
|
||||
// 0x24
|
||||
u32 unk24;
|
||||
// 0x28
|
||||
// u32 unk40;
|
||||
};
|
||||
|
||||
struct Thing_803F9628 {
|
||||
Element_803F9628 things[8];
|
||||
u32 extra[6];
|
||||
};
|
||||
|
||||
struct Placeholder_8016AE50_flags {
|
||||
u8 unk80 : 1;
|
||||
u8 unk40 : 1;
|
||||
u8 unk20 : 1;
|
||||
u8 unk10 : 1;
|
||||
u8 unk8 : 1;
|
||||
u8 unk4 : 1;
|
||||
u8 unk2 : 1;
|
||||
u8 unk1 : 1;
|
||||
};
|
||||
|
||||
struct Placeholder_8016AE50_ret_val {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
Placeholder_8016AE50_flags flags;
|
||||
};
|
||||
|
||||
struct ifMagnify {
|
||||
HSD_Joint* joint; // // ifMagnify_802fc3c0 accesses 0x804A1DE0 for a Joint
|
||||
int x4;
|
||||
int x8;
|
||||
int xC;
|
||||
int x10;
|
||||
struct {
|
||||
HSD_GObj* gobj; // ifMagnify_802fc750 accesses 0x804A1DF4 + slot * 0x10
|
||||
// for a GObj
|
||||
HSD_TObj* tobj; // ifMagnify_802fc3c0 accesses 0x804A1DF8 + slot * 0x10
|
||||
// for a TObj
|
||||
HSD_ImageDesc*
|
||||
idesc; // ifMagnify_802FBBDC access 0x804A1DFC for an ImageDesc
|
||||
struct {
|
||||
u8 is_offscreen : 1;
|
||||
u8 ignore_offscreen : 1;
|
||||
u8 unk : 6;
|
||||
} state;
|
||||
} player[6];
|
||||
u8 unk[0xF0 - 0x74];
|
||||
};
|
||||
|
||||
#endif
|
@ -39,8 +39,11 @@ lazy_static! {
|
||||
.expect("Failed to parse ldscript glob.")
|
||||
)
|
||||
.add(
|
||||
Glob::new(&format!("{}/config/**/{{symbols,splits}}.txt", *ROOT_STR))
|
||||
.expect("Failed to parse dtk config glob.")
|
||||
Glob::new(&format!(
|
||||
"{}/config/**/{{symbols,splits}}.txt",
|
||||
*ROOT_STR
|
||||
))
|
||||
.expect("Failed to parse dtk config glob.")
|
||||
)
|
||||
.build()
|
||||
.expect("Failed to create SRC_FILES glob.");
|
||||
@ -84,9 +87,10 @@ pub fn replace(from: &Regex, to: &str, path: impl AsRef<Path>) -> Result<()> {
|
||||
}
|
||||
|
||||
fn is_identifier(c: char) -> bool {
|
||||
matches!(c, 'a'..='z' | 'A'..='Z' | '0'..='9' | '_' | '.')
|
||||
matches!(c, 'a'..='z' | 'A'..='Z' | '0'..='9' | '_')
|
||||
}
|
||||
|
||||
/// TODO: Rewrite this using simple regex or nom
|
||||
pub fn replace_symbols<K, V, S>(
|
||||
path: impl AsRef<Path>,
|
||||
replacements: &HashMap<K, V, S>,
|
||||
|
Loading…
Reference in New Issue
Block a user