Attempt to decompile hudmsgCreate
This commit is contained in:
parent
29a6e491e2
commit
60956138be
|
|
@ -6953,7 +6953,7 @@ s32 g_ScreenSize = SCREENSIZE_FULL;
|
|||
s32 g_ScreenRatio = SCREENRATIO_NORMAL;
|
||||
u8 g_ScreenSplit = SCREENSPLIT_HORIZONTAL;
|
||||
u32 var8007fabc = 0x00000000;
|
||||
u32 var8007fac0 = 0x00000001;
|
||||
s32 var8007fac0 = 0x00000001;
|
||||
u32 var8007fac4 = 0x00000000;
|
||||
u32 var8007fac8 = 0x00000000;
|
||||
u32 var8007facc = 0x00000000;
|
||||
|
|
|
|||
|
|
@ -12115,7 +12115,7 @@ void currentPlayerDieByShooter(u32 shooter, bool force)
|
|||
func0f0f8120();
|
||||
g_MpPlayerNum = prevplayernum;
|
||||
|
||||
hudmsgRemoveByPlayer(g_Vars.currentplayernum);
|
||||
hudmsgRemoveForDeadPlayer(g_Vars.currentplayernum);
|
||||
|
||||
if (g_Vars.mplayerisrunning) {
|
||||
func0f0b09f4(shooter, g_Vars.currentplayernum);
|
||||
|
|
|
|||
|
|
@ -1068,8 +1068,8 @@ void func0f0ddd44(s32 value)
|
|||
s32 i;
|
||||
|
||||
for (i = 0; i < g_NumHudMessages; i++) {
|
||||
if (g_HudMessages[i].active && g_HudMessages[i].unk1b0 == value) {
|
||||
g_HudMessages[i].flags |= HUDMSGFLAG_00000002;
|
||||
if (g_HudMessages[i].state && g_HudMessages[i].unk1b0 == value) {
|
||||
g_HudMessages[i].flags |= HUDMSGFLAG_2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -1083,10 +1083,10 @@ void hudmsgSystemInit(void)
|
|||
g_HudMessages = malloc((sizeof(struct hudmessage) * g_NumHudMessages + 0x3f | 0x3f) ^ 0x3f, 4);
|
||||
|
||||
for (i = 0; i < g_NumHudMessages; i++) {
|
||||
g_HudMessages[i].active = false;
|
||||
g_HudMessages[i].state = HUDMSGSTATE_FREE;
|
||||
}
|
||||
|
||||
var8009dea0 = 0;
|
||||
g_NextHudMessageId = 0;
|
||||
}
|
||||
|
||||
void hudmsgRemoveAll(void)
|
||||
|
|
@ -1094,22 +1094,22 @@ void hudmsgRemoveAll(void)
|
|||
s32 i;
|
||||
|
||||
for (i = 0; i < g_NumHudMessages; i++) {
|
||||
g_HudMessages[i].active = false;
|
||||
g_HudMessages[i].state = HUDMSGSTATE_FREE;
|
||||
}
|
||||
}
|
||||
|
||||
s32 func0f0ddeac(s32 arg0)
|
||||
s32 hudmsgGetNext(s32 refid)
|
||||
{
|
||||
s32 bestvalue = -1;
|
||||
s32 bestid = -1;
|
||||
s32 bestindex = -1;
|
||||
s32 i;
|
||||
|
||||
// Finding the smallest unk1b8 that is greater than arg0
|
||||
// Finding the smallest ID that is greater than refid
|
||||
for (i = 0; i < g_NumHudMessages; i++) {
|
||||
if (g_HudMessages[i].active && g_HudMessages[i].unk1b8 > arg0) {
|
||||
if (bestvalue < 0 || g_HudMessages[i].unk1b8 < bestvalue) {
|
||||
if (g_HudMessages[i].state && g_HudMessages[i].id > refid) {
|
||||
if (bestid < 0 || g_HudMessages[i].id < bestid) {
|
||||
bestindex = i;
|
||||
bestvalue = g_HudMessages[i].unk1b8;
|
||||
bestid = g_HudMessages[i].id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2280,7 +2280,7 @@ glabel hudmsgCreate
|
|||
.L0f0df03c:
|
||||
/* f0df03c: 2404ffff */ addiu $a0,$zero,-1
|
||||
.L0f0df040:
|
||||
/* f0df040: 0fc377ab */ jal func0f0ddeac
|
||||
/* f0df040: 0fc377ab */ jal hudmsgGetNext
|
||||
/* f0df044: afa901ec */ sw $t1,0x1ec($sp)
|
||||
/* f0df048: 8fa901ec */ lw $t1,0x1ec($sp)
|
||||
/* f0df04c: 0440001d */ bltz $v0,.L0f0df0c4
|
||||
|
|
@ -2310,7 +2310,7 @@ glabel hudmsgCreate
|
|||
/* f0df0a4: 00007812 */ mflo $t7
|
||||
/* f0df0a8: 00afc821 */ addu $t9,$a1,$t7
|
||||
/* f0df0ac: 8f2401b8 */ lw $a0,0x1b8($t9)
|
||||
/* f0df0b0: 0fc377ab */ jal func0f0ddeac
|
||||
/* f0df0b0: 0fc377ab */ jal hudmsgGetNext
|
||||
/* f0df0b4: afa901ec */ sw $t1,0x1ec($sp)
|
||||
/* f0df0b8: 8fa901ec */ lw $t1,0x1ec($sp)
|
||||
/* f0df0bc: 0441ffe7 */ bgez $v0,.L0f0df05c
|
||||
|
|
@ -2409,17 +2409,17 @@ glabel hudmsgCreate
|
|||
/* f0df21c: 8fa901ec */ lw $t1,0x1ec($sp)
|
||||
.L0f0df220:
|
||||
/* f0df220: 2406018f */ addiu $a2,$zero,0x18f
|
||||
/* f0df224: 0c004c72 */ jal func000131c8
|
||||
/* f0df224: 0c004c72 */ jal strncpy
|
||||
/* f0df228: afa901ec */ sw $t1,0x1ec($sp)
|
||||
/* f0df22c: 8fa901ec */ lw $t1,0x1ec($sp)
|
||||
/* f0df230: a22001af */ sb $zero,0x1af($s1)
|
||||
.L0f0df234:
|
||||
/* f0df234: 8fae0230 */ lw $t6,0x230($sp)
|
||||
/* f0df238: 3c18800a */ lui $t8,%hi(g_Vars+0x28c)
|
||||
/* f0df23c: 3c02800a */ lui $v0,%hi(var8009dea0)
|
||||
/* f0df23c: 3c02800a */ lui $v0,%hi(g_NextHudMessageId)
|
||||
/* f0df240: ae2e01c4 */ sw $t6,0x1c4($s1)
|
||||
/* f0df244: 8f18a24c */ lw $t8,%lo(g_Vars+0x28c)($t8)
|
||||
/* f0df248: 2442dea0 */ addiu $v0,$v0,%lo(var8009dea0)
|
||||
/* f0df248: 2442dea0 */ addiu $v0,$v0,%lo(g_NextHudMessageId)
|
||||
/* f0df24c: 240c0001 */ addiu $t4,$zero,0x1
|
||||
/* f0df250: ae3801c0 */ sw $t8,0x1c0($s1)
|
||||
/* f0df254: 8faf01fc */ lw $t7,0x1fc($sp)
|
||||
|
|
@ -2495,6 +2495,151 @@ glabel hudmsgCreate
|
|||
/* f0df360: 27bd01f8 */ addiu $sp,$sp,0x1f8
|
||||
);
|
||||
|
||||
// Mismatch due to regalloc in duplicate check near:
|
||||
// g_HudMessages[index].playernum == g_Vars.currentplayernum
|
||||
//void hudmsgCreate(char *text, s32 type, s32 conf00, s32 conf01, s32 conf02,
|
||||
// struct hudmessagething *conf04, struct hudmessagething *conf08,
|
||||
// u32 textcolour, u32 shadowcolour,
|
||||
// u32 alignh, s32 conf16, u32 alignv, s32 conf18, s32 arg14, u32 flags)
|
||||
//{
|
||||
// char *pos;
|
||||
// struct hudmessage *msg;
|
||||
// s32 hash = 0;
|
||||
// s32 i;
|
||||
// s32 index;
|
||||
// s32 uStack24;
|
||||
// u32 uStack28;
|
||||
// u32 uStack32;
|
||||
// s32 iStack36;
|
||||
// char stacktext[400];
|
||||
// s32 writeindex;
|
||||
//
|
||||
// if (type == HUDMSGTYPE_SUBTITLE && !optionsGetInGameSubtitles()) {
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// pos = text;
|
||||
//
|
||||
// while (*pos) {
|
||||
// hash = hash + *pos;
|
||||
// pos++;
|
||||
// }
|
||||
//
|
||||
// if ((flags & HUDMSGFLAG_ONLYIFALIVE) == 0 || !g_Vars.currentplayer->isdead) {
|
||||
// if ((flags & HUDMSGFLAG_ALLOWDUPES) == 0) {
|
||||
// // Check for duplicate messages
|
||||
// s32 dupeofindex = -1;
|
||||
//
|
||||
// for (index = 0; index < g_NumHudMessages; index++) {
|
||||
// if (g_HudMessages[index].state
|
||||
// && g_HudMessages[index].state != HUDMSGSTATE_ONSCREEN
|
||||
// && g_HudMessages[index].playernum == g_Vars.currentplayernum
|
||||
// && g_HudMessages[index].hash == hash) {
|
||||
// dupeofindex = index;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (dupeofindex >= 0) {
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// var8007fac0 = var800706c8 == 1 ? 2 : 1;
|
||||
//
|
||||
// // Find an unused index for the new message
|
||||
// for (index = 0; index < g_NumHudMessages; index++) {
|
||||
// if (g_HudMessages[index].state == HUDMSGSTATE_FREE) {
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (index >= g_NumHudMessages
|
||||
// && (type == HUDMSGTYPE_OBJECTIVECOMPLETE
|
||||
// || type == HUDMSGTYPE_OBJECTIVEFAILED
|
||||
// || type == HUDMSGTYPE_SUBTITLE)) {
|
||||
// // Out of space - Check if an existing message can be replaced
|
||||
// index = hudmsgGetNext(-1);
|
||||
//
|
||||
// while (index >= 0) {
|
||||
// if (g_HudMessages[index].state == HUDMSGSTATE_QUEUED) {
|
||||
// if (g_HudMessages[index].type == HUDMSGTYPE_DEFAULT
|
||||
// || g_HudMessages[index].type == HUDMSGTYPE_3
|
||||
// || g_HudMessages[index].type == HUDMSGTYPE_4) {
|
||||
// // Good to replace this one
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // Can't replace - try and find another
|
||||
// index = hudmsgGetNext(g_HudMessages[index].id);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (index >= 0 && index < g_NumHudMessages) {
|
||||
// uStack32 = 0;
|
||||
// msg = &g_HudMessages[index];
|
||||
// iStack36 = func0f0ddb1c(&uStack32, conf16);
|
||||
// func0f1572f8(&uStack28, &uStack24, text, conf04->unk00, conf08->unk00, 0);
|
||||
//
|
||||
// if (iStack36 < uStack24) {
|
||||
// i = 0;
|
||||
// writeindex = 0;
|
||||
//
|
||||
// while (i < 400 && text[i] != '\0') {
|
||||
// if (text[i] != '\n') {
|
||||
// stacktext[writeindex++] = text[i];
|
||||
// }
|
||||
//
|
||||
// i++;
|
||||
// }
|
||||
//
|
||||
// stacktext[writeindex++] = '\n';
|
||||
// stacktext[writeindex++] = '\0';
|
||||
//
|
||||
// func0f157520(iStack36, stacktext, msg->text, conf04->unk00, conf08->unk00);
|
||||
// func0f1572f8(&uStack28, &uStack24, msg->text, conf04->unk00, conf08->unk00, 0);
|
||||
// } else {
|
||||
// strncpy(msg->text, text, 399);
|
||||
// msg->text[399] = '\0';
|
||||
// }
|
||||
//
|
||||
// msg->flags = flags;
|
||||
// msg->playernum = g_Vars.currentplayernum;
|
||||
// msg->type = type;
|
||||
// msg->id = g_NextHudMessageId++;
|
||||
// msg->state = HUDMSGSTATE_QUEUED;
|
||||
// msg->unk006 = 0;
|
||||
// msg->unk001 = conf00;
|
||||
// msg->unk002 = conf01;
|
||||
// msg->unk003 = conf02;
|
||||
// msg->unk008 = conf04->unk00;
|
||||
// msg->unk00c = conf08->unk00;
|
||||
// msg->textcolour = textcolour;
|
||||
// msg->shadowcolour = shadowcolour;
|
||||
// msg->alignh = alignh;
|
||||
// msg->alignv = alignv;
|
||||
// msg->unk01c = uStack24;
|
||||
// msg->unk01e = uStack28;
|
||||
// msg->unk1cc = uStack32;
|
||||
// msg->unk1d0 = conf16;
|
||||
// msg->unk1d4 = conf18;
|
||||
// msg->hash = hash;
|
||||
//
|
||||
// func0f0de7fc(msg);
|
||||
//
|
||||
// if (flags & HUDMSGFLAG_4) {
|
||||
// msg->unk1bc = arg14;
|
||||
// msg->unk1b0 = -1;
|
||||
// } else {
|
||||
// msg->unk1bc = g_HudMessageConfigs[type].duration;
|
||||
// msg->unk1b0 = arg14;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// var8007fac0 = 1;
|
||||
// }
|
||||
//}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0df364
|
||||
.late_rodata
|
||||
|
|
@ -2606,7 +2751,7 @@ glabel var7f1aded8
|
|||
/* f0df4b0: 24150004 */ addiu $s5,$zero,0x4
|
||||
/* f0df4b4: 2414000b */ addiu $s4,$zero,0xb
|
||||
.L0f0df4b8:
|
||||
/* f0df4b8: 0fc377ab */ jal func0f0ddeac
|
||||
/* f0df4b8: 0fc377ab */ jal hudmsgGetNext
|
||||
/* f0df4bc: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f0df4c0: 0440014a */ bltz $v0,.L0f0df9ec
|
||||
/* f0df4c4: 240a00ff */ addiu $t2,$zero,0xff
|
||||
|
|
@ -2988,15 +3133,15 @@ void currentPlayerSetFlag(u32 flag)
|
|||
g_Vars.currentplayer->flags |= flag;
|
||||
}
|
||||
|
||||
void hudmsgRemoveByPlayer(s32 playernum)
|
||||
void hudmsgRemoveForDeadPlayer(s32 playernum)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < g_NumHudMessages; i++) {
|
||||
if (g_HudMessages[i].active
|
||||
if (g_HudMessages[i].state
|
||||
&& g_HudMessages[i].playernum == playernum
|
||||
&& (g_HudMessages[i].flags & HUDMSGFLAG_00000001)) {
|
||||
g_HudMessages[i].active = false;
|
||||
&& (g_HudMessages[i].flags & HUDMSGFLAG_ONLYIFALIVE)) {
|
||||
g_HudMessages[i].state = HUDMSGSTATE_FREE;
|
||||
g_HudMessages[i].unk006 = 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -3865,6 +4010,6 @@ void hudmsgsReset(void)
|
|||
s32 i;
|
||||
|
||||
for (i = 0; i < g_NumHudMessages; i++) {
|
||||
g_HudMessages[i].active = false;
|
||||
g_HudMessages[i].state = HUDMSGSTATE_FREE;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16104,7 +16104,7 @@ u32 var8009de90 = 0;
|
|||
u32 var8009de94 = 0;
|
||||
u32 var8009de98 = 0;
|
||||
u32 var8009de9c = 0;
|
||||
u32 var8009dea0 = 0;
|
||||
u32 g_NextHudMessageId = 0;
|
||||
u32 var8009dea4 = 0;
|
||||
u32 var8009dea8 = 0;
|
||||
u32 var8009deac = 0;
|
||||
|
|
|
|||
|
|
@ -558,8 +558,21 @@
|
|||
#define GAILIST_INIT_SEARCH 0x002c // unused
|
||||
#define GAILIST_INVINCIBLE_AND_IDLE 0x002d
|
||||
|
||||
#define HUDMSGFLAG_00000001 0x00000001
|
||||
#define HUDMSGFLAG_00000002 0x00000002
|
||||
#define HUDMSGFLAG_ONLYIFALIVE 0x1
|
||||
#define HUDMSGFLAG_2 0x2
|
||||
#define HUDMSGFLAG_4 0x4
|
||||
#define HUDMSGFLAG_ALLOWDUPES 0x8
|
||||
|
||||
#define HUDMSGSTATE_FREE 0
|
||||
#define HUDMSGSTATE_QUEUED 1
|
||||
#define HUDMSGSTATE_ONSCREEN 5
|
||||
|
||||
#define HUDMSGTYPE_DEFAULT 0
|
||||
#define HUDMSGTYPE_OBJECTIVECOMPLETE 1
|
||||
#define HUDMSGTYPE_OBJECTIVEFAILED 2
|
||||
#define HUDMSGTYPE_3 3
|
||||
#define HUDMSGTYPE_4 4
|
||||
#define HUDMSGTYPE_SUBTITLE 6
|
||||
|
||||
#define IDLEACTION_STANDING 0x01
|
||||
#define IDLEACTION_SITTING_TYPING 0x02
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ extern u8 g_CutsceneSubtitles;
|
|||
extern s32 g_ScreenSize;
|
||||
extern s32 g_ScreenRatio;
|
||||
extern u8 g_ScreenSplit;
|
||||
extern u32 var8007fac0;
|
||||
extern s32 var8007fac0;
|
||||
extern u32 var8007fac4;
|
||||
extern u32 var8007facc;
|
||||
extern u32 var8007fad0;
|
||||
|
|
|
|||
|
|
@ -8,24 +8,25 @@ s32 func0f0dcdbc(void);
|
|||
u32 func0f0dcef4(void);
|
||||
u32 func0f0dd2ac(void);
|
||||
u32 func0f0dd848(void);
|
||||
u32 func0f0ddb1c(void);
|
||||
s32 func0f0ddb1c(u32 *arg0, u32 arg1);
|
||||
void func0f0ddd44(s32 value);
|
||||
void hudmsgSystemInit(void);
|
||||
void hudmsgRemoveAll(void);
|
||||
s32 func0f0ddeac(s32 param_1);
|
||||
void hudmsgCreateViaPreset(char *text, s32 confignum);
|
||||
void func0f0ddfa4(char *text, s32 confignum, s32 arg2);
|
||||
void hudmsgCreateViaPresetWithColour(char *text, s32 confignum, u8 colour);
|
||||
void hudmsgCreateViaStruct(char *text, s32 confignum, struct hudmessageconfig *config, s32 arg3);
|
||||
s32 hudmsgGetNext(s32 refid);
|
||||
void hudmsgCreateViaPreset(char *text, s32 type);
|
||||
void func0f0ddfa4(char *text, s32 type, s32 arg2);
|
||||
void hudmsgCreateViaPresetWithColour(char *text, s32 type, u8 colour);
|
||||
void hudmsgCreateViaStruct(char *text, s32 type, struct hudmessageconfig *config, s32 arg3);
|
||||
u32 func0f0de160(void);
|
||||
u32 func0f0de7fc(void);
|
||||
u32 hudmsgCreate(char *text, s32 confignum, u8 conf00, u8 conf01, u8 conf02,
|
||||
void *conf04, void *conf08, u32 colour, u32 conf10, u8 alignh, s16 conf16,
|
||||
u8 alignv, s16 conf18, s32 arg14, s32 arg15);
|
||||
void func0f0de7fc(struct hudmessage *msg);
|
||||
void hudmsgCreate(char *text, s32 type, s32 conf00, s32 conf01, s32 conf02,
|
||||
struct hudmessagething *conf04, struct hudmessagething *conf08,
|
||||
u32 textcolour, u32 shadowcolour,
|
||||
u32 alignh, s32 conf16, u32 alignv, s32 conf18, s32 arg14, u32 flags);
|
||||
void func0f0df364(void);
|
||||
void currentPlayerUnsetFlag(u32 flag);
|
||||
void currentPlayerSetFlag(u32 flag);
|
||||
void hudmsgRemoveByPlayer(s32 playernum);
|
||||
void hudmsgRemoveForDeadPlayer(s32 playernum);
|
||||
u32 func0f0dfad0(void);
|
||||
void hudmsgsReset(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ u32 func0f156790(void);
|
|||
u32 func0f156a24(void);
|
||||
u32 func0f156e48(void);
|
||||
void func0f1572f8(u32 *arg0, s32 *arg1, char *label, u32 arg3, u32 arg4, u32 arg5);
|
||||
u32 func0f157520(void);
|
||||
void func0f157520(s32 arg0, char *arg1, char *arg2, u32 arg3, u32 arg4);
|
||||
u32 func0f1577f0(void);
|
||||
u32 func0f1578c8(void);
|
||||
u32 func0f1579cc(void);
|
||||
|
|
|
|||
|
|
@ -627,7 +627,7 @@ extern s32 g_NumSpawnPoints;
|
|||
extern u32 var8009de78;
|
||||
extern u32 var8009de98;
|
||||
extern u32 var8009de9c;
|
||||
extern u32 var8009dea0;
|
||||
extern u32 g_NextHudMessageId;
|
||||
extern u32 var8009deb0;
|
||||
extern char g_CheatMarqueeString[];
|
||||
extern u32 var8009dfbc;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "types.h"
|
||||
|
||||
char *strcpy(char *dest, char *src);
|
||||
u32 func000131c8(void);
|
||||
char *strncpy(char *dest, char *src, u32 len);
|
||||
u32 strcat(char *dst, char *src);
|
||||
u32 func00013274(void);
|
||||
u32 func00013274(void);
|
||||
|
|
|
|||
|
|
@ -5257,12 +5257,16 @@ struct mpteaminfo {
|
|||
s32 score;
|
||||
};
|
||||
|
||||
struct hudmessagething {
|
||||
s32 unk00;
|
||||
};
|
||||
|
||||
struct hudmessageconfig {
|
||||
/*0x00*/ u8 unk00;
|
||||
/*0x01*/ u8 unk01;
|
||||
/*0x02*/ u8 unk02;
|
||||
/*0x04*/ void *unk04;
|
||||
/*0x08*/ void *unk08;
|
||||
/*0x04*/ struct hudmessagething *unk04;
|
||||
/*0x08*/ struct hudmessagething *unk08;
|
||||
/*0x0c*/ u32 colour;
|
||||
/*0x10*/ u32 unk10;
|
||||
/*0x14*/ u8 alignh;
|
||||
|
|
@ -5273,127 +5277,32 @@ struct hudmessageconfig {
|
|||
};
|
||||
|
||||
struct hudmessage {
|
||||
/*0x000*/ u8 active;
|
||||
/*0x002*/ u16 unk002;
|
||||
/*0x000*/ u8 state;
|
||||
/*0x001*/ u8 unk001;
|
||||
/*0x002*/ u8 unk002;
|
||||
/*0x003*/ u8 unk003;
|
||||
/*0x004*/ u16 unk004;
|
||||
/*0x006*/ u16 unk006;
|
||||
/*0x008*/ u32 unk008;
|
||||
/*0x00c*/ u32 unk00c;
|
||||
/*0x010*/ u32 unk010;
|
||||
/*0x014*/ u32 unk014;
|
||||
/*0x010*/ u32 textcolour;
|
||||
/*0x014*/ u32 shadowcolour;
|
||||
/*0x018*/ u32 unk018;
|
||||
/*0x01c*/ u32 unk01c;
|
||||
/*0x020*/ u32 unk020;
|
||||
/*0x024*/ u32 unk024;
|
||||
/*0x028*/ u32 unk028;
|
||||
/*0x02c*/ u32 unk02c;
|
||||
/*0x030*/ u32 unk030;
|
||||
/*0x034*/ u32 unk034;
|
||||
/*0x038*/ u32 unk038;
|
||||
/*0x03c*/ u32 unk03c;
|
||||
/*0x040*/ u32 unk040;
|
||||
/*0x044*/ u32 unk044;
|
||||
/*0x048*/ u32 unk048;
|
||||
/*0x04c*/ u32 unk04c;
|
||||
/*0x050*/ u32 unk050;
|
||||
/*0x054*/ u32 unk054;
|
||||
/*0x058*/ u32 unk058;
|
||||
/*0x05c*/ u32 unk05c;
|
||||
/*0x060*/ u32 unk060;
|
||||
/*0x064*/ u32 unk064;
|
||||
/*0x068*/ u32 unk068;
|
||||
/*0x06c*/ u32 unk06c;
|
||||
/*0x070*/ u32 unk070;
|
||||
/*0x074*/ u32 unk074;
|
||||
/*0x078*/ u32 unk078;
|
||||
/*0x07c*/ u32 unk07c;
|
||||
/*0x080*/ u32 unk080;
|
||||
/*0x084*/ u32 unk084;
|
||||
/*0x088*/ u32 unk088;
|
||||
/*0x08c*/ u32 unk08c;
|
||||
/*0x090*/ u32 unk090;
|
||||
/*0x094*/ u32 unk094;
|
||||
/*0x098*/ u32 unk098;
|
||||
/*0x09c*/ u32 unk09c;
|
||||
/*0x0a0*/ u32 unk0a0;
|
||||
/*0x0a4*/ u32 unk0a4;
|
||||
/*0x0a8*/ u32 unk0a8;
|
||||
/*0x0ac*/ u32 unk0ac;
|
||||
/*0x0b0*/ u32 unk0b0;
|
||||
/*0x0b4*/ u32 unk0b4;
|
||||
/*0x0b8*/ u32 unk0b8;
|
||||
/*0x0bc*/ u32 unk0bc;
|
||||
/*0x0c0*/ u32 unk0c0;
|
||||
/*0x0c4*/ u32 unk0c4;
|
||||
/*0x0c8*/ u32 unk0c8;
|
||||
/*0x0cc*/ u32 unk0cc;
|
||||
/*0x0d0*/ u32 unk0d0;
|
||||
/*0x0d4*/ u32 unk0d4;
|
||||
/*0x0d8*/ u32 unk0d8;
|
||||
/*0x0dc*/ u32 unk0dc;
|
||||
/*0x0e0*/ u32 unk0e0;
|
||||
/*0x0e4*/ u32 unk0e4;
|
||||
/*0x0e8*/ u32 unk0e8;
|
||||
/*0x0ec*/ u32 unk0ec;
|
||||
/*0x0f0*/ u32 unk0f0;
|
||||
/*0x0f4*/ u32 unk0f4;
|
||||
/*0x0f8*/ u32 unk0f8;
|
||||
/*0x0fc*/ u32 unk0fc;
|
||||
/*0x100*/ u32 unk100;
|
||||
/*0x104*/ u32 unk104;
|
||||
/*0x108*/ u32 unk108;
|
||||
/*0x10c*/ u32 unk10c;
|
||||
/*0x110*/ u32 unk110;
|
||||
/*0x114*/ u32 unk114;
|
||||
/*0x118*/ u32 unk118;
|
||||
/*0x11c*/ u32 unk11c;
|
||||
/*0x120*/ u32 unk120;
|
||||
/*0x124*/ u32 unk124;
|
||||
/*0x128*/ u32 unk128;
|
||||
/*0x12c*/ u32 unk12c;
|
||||
/*0x130*/ u32 unk130;
|
||||
/*0x134*/ u32 unk134;
|
||||
/*0x138*/ u32 unk138;
|
||||
/*0x13c*/ u32 unk13c;
|
||||
/*0x140*/ u32 unk140;
|
||||
/*0x144*/ u32 unk144;
|
||||
/*0x148*/ u32 unk148;
|
||||
/*0x14c*/ u32 unk14c;
|
||||
/*0x150*/ u32 unk150;
|
||||
/*0x154*/ u32 unk154;
|
||||
/*0x158*/ u32 unk158;
|
||||
/*0x15c*/ u32 unk15c;
|
||||
/*0x160*/ u32 unk160;
|
||||
/*0x164*/ u32 unk164;
|
||||
/*0x168*/ u32 unk168;
|
||||
/*0x16c*/ u32 unk16c;
|
||||
/*0x170*/ u32 unk170;
|
||||
/*0x174*/ u32 unk174;
|
||||
/*0x178*/ u32 unk178;
|
||||
/*0x17c*/ u32 unk17c;
|
||||
/*0x180*/ u32 unk180;
|
||||
/*0x184*/ u32 unk184;
|
||||
/*0x188*/ u32 unk188;
|
||||
/*0x18c*/ u32 unk18c;
|
||||
/*0x190*/ u32 unk190;
|
||||
/*0x194*/ u32 unk194;
|
||||
/*0x198*/ u32 unk198;
|
||||
/*0x19c*/ u32 unk19c;
|
||||
/*0x1a0*/ u32 unk1a0;
|
||||
/*0x1a4*/ u32 unk1a4;
|
||||
/*0x1a8*/ u32 unk1a8;
|
||||
/*0x1ac*/ u32 unk1ac;
|
||||
/*0x1b0*/ u32 unk1b0;
|
||||
/*0x1b4*/ u32 unk1b4;
|
||||
/*0x1b8*/ s32 unk1b8;
|
||||
/*0x1bc*/ u32 unk1bc;
|
||||
/*0x1c0*/ u32 playernum;
|
||||
/*0x01c*/ u16 unk01c;
|
||||
/*0x01e*/ u16 unk01e;
|
||||
/*0x020*/ char text[400];
|
||||
/*0x1b0*/ s32 unk1b0;
|
||||
/*0x1b4*/ u32 type;
|
||||
/*0x1b8*/ s32 id;
|
||||
/*0x1bc*/ u32 unk1bc; // duration
|
||||
/*0x1c0*/ s32 playernum;
|
||||
/*0x1c4*/ u32 flags;
|
||||
/*0x1c8*/ u32 unk1c8;
|
||||
/*0x1c8*/ u8 alignh;
|
||||
/*0x1c9*/ u8 alignv;
|
||||
/*0x1cc*/ u32 unk1cc;
|
||||
/*0x1d0*/ u32 unk1d0;
|
||||
/*0x1d4*/ u32 unk1d4;
|
||||
/*0x1d8*/ u32 unk1d8;
|
||||
/*0x1d8*/ u32 hash;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ glabel strcpy
|
|||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func000131c8
|
||||
glabel strncpy
|
||||
/* 131c8: 90a20000 */ lbu $v0,0x0($a1)
|
||||
/* 131cc: 24830001 */ addiu $v1,$a0,0x1
|
||||
/* 131d0: 24a50001 */ addiu $a1,$a1,0x1
|
||||
|
|
|
|||
Loading…
Reference in New Issue