mirror of
https://github.com/Mallos31/Quest.git
synced 2024-11-23 13:20:17 +00:00
update hud.c to fix some struct errors
This commit is contained in:
parent
61cb609b49
commit
588a820c75
@ -1,6 +1,10 @@
|
||||
#ifndef _MONSTERS_H_
|
||||
#define _MONSTERS_H_
|
||||
|
||||
#define ON_GROUND 0
|
||||
#define FLYING 1
|
||||
#define MAMMON 2
|
||||
|
||||
typedef struct {
|
||||
u8 unk0[0x18];
|
||||
}AIScript;
|
||||
@ -31,10 +35,22 @@ typedef struct {
|
||||
} MonsterBaseData; // size 0x38
|
||||
|
||||
typedef struct {
|
||||
u8 pad[0x86];
|
||||
u16 unk86;
|
||||
char unk88[0xC];
|
||||
f32 unk94;
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
u16 unk8;
|
||||
}UnknownMonsterData3;
|
||||
|
||||
typedef struct {
|
||||
/*0x00*/ u8 pad[0x12];
|
||||
/*0x12*/ u8 status[7];
|
||||
/*0x19*/ char unk19[0x2B];
|
||||
/*0x44*/ UnknownMonsterData3* unk44[4];
|
||||
/*0x54*/ char unk54[0x32];
|
||||
/*0x86*/ u16 unk86;
|
||||
/*0x88*/ char unk88[0xC];
|
||||
/*0x94*/ f32 unk94;
|
||||
} UnknownMonsterData2;
|
||||
|
||||
typedef struct {
|
||||
|
21
src/1E4B0.c
21
src/1E4B0.c
@ -2,11 +2,19 @@
|
||||
#include "player.h"
|
||||
|
||||
typedef struct {
|
||||
char unk0[0x8];
|
||||
void* unk0;
|
||||
u16 unk4;
|
||||
u16 unk6;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
}test4;
|
||||
s8 unk14;
|
||||
s8 unk15;
|
||||
u8 unk16;
|
||||
char unk17; //pad
|
||||
s32 unk18;
|
||||
char unk1C[4];
|
||||
}unk1e138s;
|
||||
|
||||
typedef struct {
|
||||
char unk0[0x52];
|
||||
@ -90,10 +98,5 @@ void func_8001E0AC(s32 arg0, unk1e0acs *arg1, unk1e0acs2 *arg2)
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/1E4B0/func_8001E138.s")
|
||||
#ifdef NON_MATCHING
|
||||
void func_8001E138(MtxF* arg0, test4* arg1) {
|
||||
arg0->mf[3][0] -= (arg0->mf[0][0] * arg1->unk8) + (arg0->mf[1][0] * arg1->unkC) + (arg0->mf[2][0] * arg1->unk10);
|
||||
arg0->mf[3][1] -= (arg0->mf[0][1] * arg1->unk8) + (arg0->mf[1][1] * arg1->unkC) + (arg0->mf[2][1] * arg1->unk10);
|
||||
arg0->mf[3][2] -= (arg0->mf[0][2] * arg1->unk8) + (arg0->mf[1][2] * arg1->unkC) + (arg0->mf[2][2] * arg1->unk10);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
15
src/27640.c
15
src/27640.c
@ -1,10 +1,23 @@
|
||||
#include "common.h"
|
||||
|
||||
|
||||
//static s8 D_8008FD00[4] = {0, 0, 0, 0};
|
||||
//static u16 D_8008FD0C = 0; //pause and save screen flags
|
||||
//static u16 D_8008FD20 = 0; //unknown at this time, but found between save menu and pfs related vars.
|
||||
|
||||
void func_80026A40();
|
||||
void func_80026A7C(void* arg0);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/27640/func_80026A40.s")
|
||||
#ifdef NON_MATCHING //This function DOES match, but bss needs to be migrated. The variables will be commented out above.
|
||||
void func_80026A40(void) {
|
||||
s32 i;
|
||||
D_8008FD0C = 0x8000;
|
||||
D_8008FD20 = 0;
|
||||
for(i=0; i<4; i++) {
|
||||
D_8008FD00[i] = i;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/27640/func_80026A7C.s")
|
||||
|
||||
|
128
src/camera.c
128
src/camera.c
@ -47,6 +47,7 @@ extern f64 D_800716E0;
|
||||
extern f64 D_800716E8;
|
||||
extern f64 D_800716F0;
|
||||
extern f64 D_800716F8;
|
||||
extern f32 D_8004D74C;
|
||||
|
||||
|
||||
|
||||
@ -67,7 +68,7 @@ void func_80023974(unk23df4s* arg0, f32 arg1, f32 arg2, f32 arg3, f32* arg4, f32
|
||||
void func_80023BCC(Mtx* arg0, f32 arg1, f32 arg2, f32 arg3);
|
||||
|
||||
void func_80023DF4(f32 (*arg0)[4], f32 arg1, f32 arg2, f32 arg3);
|
||||
|
||||
void func_80023E80(MtxF *arg0, MtxF *arg1, MtxF *arg2);
|
||||
|
||||
//#pragma GLOBAL_ASM("asm/nonmatchings/camera/getRandomNumber.s")
|
||||
u32 getRandomNumber(u32 arg0)
|
||||
@ -397,6 +398,41 @@ void func_80023BCC(Mtx* arg0, f32 arg1, f32 arg2, f32 arg3) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/camera/func_80023C1C.s")
|
||||
#ifdef NON_MATCHING
|
||||
void func_80023C1C(MtxF *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8, f32 arg9)
|
||||
{
|
||||
f32 s1;
|
||||
f32 s2;
|
||||
f32 s3;
|
||||
f32 c2;
|
||||
f32 c3;
|
||||
f32 c1;
|
||||
arg5 *= D_8004D74C;
|
||||
arg6 *= D_8004D74C;
|
||||
s1 = sinf(arg4 * D_8004D74C);
|
||||
c1 = cosf(arg4 * ((0, D_8004D74C)));
|
||||
s2 = sinf(arg5);
|
||||
c2 = cosf(arg5);
|
||||
s3 = sinf(arg6);
|
||||
c3 = cosf(arg6);
|
||||
arg0->mf[0][0] = ((c3 * c2) + ((s3 * s1) * s2)) * arg7;
|
||||
arg0->mf[0][1] = (s3 * c1) * arg7;
|
||||
arg0->mf[0][2] = (((-s2) * c3) + ((s3 * s1) * c2)) * arg7;
|
||||
arg0->mf[0][3] = 0.0f;
|
||||
arg0->mf[1][0] = (((-s3) * c2) + ((c3 * s1) * s2)) * arg8;
|
||||
arg0->mf[1][1] = (c3 * c1) * arg8;
|
||||
arg0->mf[1][2] = (((-s3) * (-s2)) + ((c3 * s1) * c2)) * arg8;
|
||||
arg0->mf[1][3] = 0.0f;
|
||||
arg0->mf[2][0] = (c1 * s2) * arg9;
|
||||
arg0->mf[2][1] = (-s1) * arg9;
|
||||
arg0->mf[2][2] = (c1 * c2) * arg9;
|
||||
arg0->mf[2][3] = 0.0f;
|
||||
arg0->mf[3][0] = arg1;
|
||||
arg0->mf[3][1] = arg2;
|
||||
arg0->mf[3][2] = arg3;
|
||||
arg0->mf[3][3] = 1.0f;
|
||||
}
|
||||
#endif
|
||||
|
||||
//#pragma GLOBAL_ASM("asm/nonmatchings/camera/func_80023DF4.s")
|
||||
void func_80023DF4(f32 (*arg0)[4], f32 arg1, f32 arg2, f32 arg3) {
|
||||
@ -411,7 +447,95 @@ void func_80023DF4(f32 (*arg0)[4], f32 arg1, f32 arg2, f32 arg3) {
|
||||
arg0[2][2] *= arg3;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/camera/func_80023E80.s")
|
||||
//#pragma GLOBAL_ASM("asm/nonmatchings/camera/func_80023E80.s")
|
||||
void func_80023E80(MtxF *arg0, MtxF *arg1, MtxF *arg2)
|
||||
{
|
||||
f32 temp_f2;
|
||||
f32 temp_f20;
|
||||
f32 temp_f14;
|
||||
f32 temp_f12;
|
||||
f32 temp_f0;
|
||||
f32 temp_f16;
|
||||
f32 temp_f22;
|
||||
f32 temp_f24;
|
||||
f32 temp_f18;
|
||||
f32 sp58;
|
||||
f32 sp54;
|
||||
f32 sp50;
|
||||
f32 temp_f10;
|
||||
f32 sp48;
|
||||
f32 temp_f6;
|
||||
f32 temp_f8;
|
||||
f32 sp3C;
|
||||
f32 temp_f4;
|
||||
f32 sp34;
|
||||
f32 sp30;
|
||||
f32 temp_f10_2;
|
||||
f32 sp28;
|
||||
f32 temp_f6_2;
|
||||
f32 sp20;
|
||||
|
||||
|
||||
temp_f0 = arg0->mf[0][0];
|
||||
temp_f2 = arg0->mf[0][1];
|
||||
temp_f12 = arg0->mf[0][2];
|
||||
|
||||
temp_f14 = arg0->mf[1][0];
|
||||
temp_f16 = arg0->mf[1][1];
|
||||
temp_f18 = arg0->mf[1][2];
|
||||
|
||||
temp_f20 = arg0->mf[2][0];
|
||||
temp_f22 = arg0->mf[2][1];
|
||||
temp_f24 = arg0->mf[2][2];
|
||||
|
||||
sp58 = arg0->mf[3][0];
|
||||
sp54 = arg0->mf[3][1];
|
||||
sp50 = arg0->mf[3][2];
|
||||
|
||||
temp_f10 = arg1->mf[0][0];
|
||||
sp48 = arg1->mf[0][1];
|
||||
temp_f6 = arg1->mf[0][2];
|
||||
|
||||
temp_f8 = arg1->mf[1][0];
|
||||
sp3C = arg1->mf[1][1];
|
||||
temp_f4 = arg1->mf[1][2];
|
||||
|
||||
sp34 = arg1->mf[2][0];
|
||||
sp30 = arg1->mf[2][1];
|
||||
temp_f10_2 = arg1->mf[2][2];
|
||||
|
||||
sp28 = arg1->mf[3][0];
|
||||
temp_f6_2 = arg1->mf[3][1];
|
||||
sp20 = arg1->mf[3][2];
|
||||
|
||||
arg2->mf[0][0] = ((temp_f0 * temp_f10) + (temp_f14 * sp48)) + (temp_f20 * temp_f6);
|
||||
arg2->mf[1][0] = ((temp_f0 * temp_f8) + (temp_f14 * sp3C)) + (temp_f20 * temp_f4);
|
||||
arg2->mf[2][0] = ((temp_f0 * sp34) + (temp_f14 * sp30)) + (temp_f20 * temp_f10_2);
|
||||
arg2->mf[3][0] = (((temp_f0 * sp28) + (temp_f14 * temp_f6_2)) + (temp_f20 * sp20)) + sp58;
|
||||
|
||||
arg2->mf[0][1] = ((temp_f2 * temp_f10) + (temp_f16 * sp48)) + (temp_f22 * temp_f6);
|
||||
arg2->mf[1][1] = ((temp_f2 * temp_f8) + (temp_f16 * sp3C)) + (temp_f22 * temp_f4);
|
||||
arg2->mf[2][1] = ((temp_f2 * sp34) + (temp_f16 * sp30)) + (temp_f22 * temp_f10_2);
|
||||
arg2->mf[3][1] = (((temp_f2 * sp28) + (temp_f16 * temp_f6_2)) + (temp_f22 * sp20)) + sp54;
|
||||
|
||||
arg2->mf[0][2] = ((temp_f12 * temp_f10) + (temp_f18 * sp48)) + (temp_f24 * temp_f6);
|
||||
arg2->mf[1][2] = ((temp_f12 * temp_f8) + (temp_f18 * sp3C)) + (temp_f24 * temp_f4);
|
||||
arg2->mf[2][2] = ((temp_f12 * sp34) + (temp_f18 * sp30)) + (temp_f24 * temp_f10_2);
|
||||
arg2->mf[3][2] = (((temp_f12 * sp28) + (temp_f18 * temp_f6_2)) + (temp_f24 * sp20)) + sp50;
|
||||
|
||||
arg2->mf[0][3] = 0.0f;
|
||||
arg2->mf[1][3] = 0.0f;
|
||||
arg2->mf[2][3] = 0.0f;
|
||||
arg2->mf[3][3] = 1.f;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/camera/func_8002413C.s")
|
||||
/*s32 func_8002413C(f32 arg0, f32 arg1, f32 arg2, s32 *arg3, s32 *arg4)
|
||||
|
116
src/hud.c
116
src/hud.c
@ -1,40 +1,18 @@
|
||||
#include "common.h"
|
||||
#include "monsters.h"
|
||||
#include "player.h"
|
||||
//#include "hud.h" !TODO once everything at the top of this file is named and updated, put it in hud.h and uncomment.
|
||||
|
||||
#define ON_GROUND 0
|
||||
#define FLYING 1
|
||||
#define MAMMON 2
|
||||
#define U_CBUTTONS CONT_E
|
||||
#define L_CBUTTONS CONT_C
|
||||
#define R_CBUTTONS CONT_F
|
||||
#define D_CBUTTONS CONT_D
|
||||
|
||||
typedef struct {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
u16 unk8;
|
||||
}unk202e4s3;
|
||||
|
||||
typedef struct {
|
||||
char unk0[0x12];
|
||||
u8 unk12[7];
|
||||
char unk19[0x2B];
|
||||
unk202e4s3* unk44[4];
|
||||
}unk202e4s2;
|
||||
|
||||
typedef struct {
|
||||
char unk0[0x68];
|
||||
unk202e4s2* unk68;
|
||||
}unk202e4s;
|
||||
|
||||
|
||||
typedef struct {
|
||||
s32 unk0;
|
||||
void* unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
}unk20e2cs;
|
||||
|
||||
typedef struct {
|
||||
@ -119,10 +97,10 @@ extern s32 D_8008C658; //number of lines to draw from left to right (HUD)
|
||||
extern s32 D_8008C65C; //number of lines to draw from top to bottom (HUD)
|
||||
extern MissIcon gMISSData;
|
||||
extern u8 gBattleStatusPal[]; //Status icons palette
|
||||
extern unk20e2cs D_803A6F70;
|
||||
extern u8 D_8004D44C[];
|
||||
extern u8 D_803A6F80[];
|
||||
extern void* D_803A6FB0[];
|
||||
extern unk20e2cs D_803A6F70; //pointers to status icons and text
|
||||
extern u8 gAlphaNumerics[]; //0-9, punctuation, and capital letters
|
||||
extern u8 gAlphaNumericTexture[]; //texture corresponds perfectly with gAlphaNumerics
|
||||
extern void* D_803A6FB0[]; //array of palettes
|
||||
extern unk203d0s* D_8007D088;
|
||||
extern s32 *D_8007D0AC;
|
||||
extern u8 D_80399AB0[];
|
||||
@ -151,7 +129,7 @@ void func_8001EA84(Mtx *arg0);
|
||||
void func_80020D4C(u16 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
s32 func_8002413C(f32 arg0, f32 arg1, f32 arg2, s32* arg3, s32* arg4);
|
||||
void func_80020F8C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7);
|
||||
void func_800210FC(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8);
|
||||
void func_800210FC(unk20e2cs* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8);
|
||||
void func_80020E2C(unk20e2cs* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
|
||||
void func_80020B4C(temp4* arg0, s32 arg1, s32 arg2, u8* arg3);
|
||||
|
||||
@ -178,17 +156,17 @@ void func_8001E7FC(BrianData2 *arg0)
|
||||
brianData = arg0->brianData1;
|
||||
gfxHUD = &gTex_HUD_and_Menu;
|
||||
|
||||
func_800210FC((s32) gfxHUD, 0, 1, 0x3E, 0x11, 0x20, 0x27, 0x400, 0x400);
|
||||
func_800210FC((s32) gfxHUD, 0, 0x12, 0x3E, 0x12, 0x20, 0x38, 0x400, 0x400);
|
||||
func_800210FC(gfxHUD, 0, 1, 0x3E, 0x11, 0x20, 0x27, 0x400, 0x400);
|
||||
func_800210FC(gfxHUD, 0, 0x12, 0x3E, 0x12, 0x20, 0x38, 0x400, 0x400);
|
||||
temp_lo = ((s32) (brianData->currHP * 0x38)) / ((s32) brianData->maxHP);
|
||||
if (temp_lo != 0)
|
||||
{
|
||||
func_800210FC((s32) gfxHUD, 3, 0xB, temp_lo, 5, 0x5E, 0x27, 0x400, 0x400);
|
||||
func_800210FC(gfxHUD, 3, 0xB, temp_lo, 5, 0x5E, 0x27, 0x400, 0x400);
|
||||
}
|
||||
temp_lo = ((s32) (brianData->currMP * 0x38)) / ((s32) brianData->maxMP);
|
||||
if (temp_lo != 0)
|
||||
{
|
||||
func_800210FC((s32) gfxHUD, 3, 0x15, temp_lo, 5, 0x5E, 0x2C, 0x400, 0x400);
|
||||
func_800210FC(gfxHUD, 3, 0x15, temp_lo, 5, 0x5E, 0x2C, 0x400, 0x400);
|
||||
}
|
||||
func_80020E2C(gfxHUD, 0x20, 0x1D, 0x80, 0xA);
|
||||
func_80020D4C(3, 0xC, 0, (s32) brianData->currHP);
|
||||
@ -218,7 +196,7 @@ void func_8001EA84(Mtx *arg0) {
|
||||
gSPDisplayList(gMasterGfxPos++, D_803A8EA0); //Compass DL
|
||||
|
||||
//Pointer to texture, X, Y, NumPixelsX, NumPixelsY, SheetLocationX, unknown, resolutionX, resolutionY
|
||||
func_800210FC((s32) &gTex_HUD_and_Menu, 0xD, 0xA, 0xB, 0xE, 0x93, 0, 0x400, 0x400);
|
||||
func_800210FC(&gTex_HUD_and_Menu, 0xD, 0xA, 0xB, 0xE, 0x93, 0, 0x400, 0x400);
|
||||
}
|
||||
//#pragma GLOBAL_ASM("asm/nonmatchings/hud/func_8001EBDC.s")
|
||||
void func_8001EBDC(unk1ebdcs* arg0) {
|
||||
@ -227,11 +205,11 @@ void func_8001EBDC(unk1ebdcs* arg0) {
|
||||
void* HUDTex;
|
||||
|
||||
HUDTex = &gTex_HUD_and_Menu;
|
||||
func_800210FC((s32)HUDTex, 0, 0, 0xC, 0xC, 0x20, 0x10, 0x400, 0x400);
|
||||
func_800210FC((s32)HUDTex, 0x16, 0, 0xC, 0xC, 0x2C, 0x10, 0x400, 0x400);
|
||||
func_800210FC((s32)HUDTex, 0x2C, 0, 0xC, 0xC, 0x38, 0x10, 0x400, 0x400);
|
||||
func_800210FC((s32)HUDTex, 0x42, 0, 0xC, 0xC, 0x44, 0x10, 0x400, 0x400);
|
||||
func_80020E2C((unk20e2cs*)HUDTex, 0x20, 0x1D, 0x80, 0xA);
|
||||
func_800210FC(HUDTex, 0, 0, 0xC, 0xC, 0x20, 0x10, 0x400, 0x400);
|
||||
func_800210FC(HUDTex, 0x16, 0, 0xC, 0xC, 0x2C, 0x10, 0x400, 0x400);
|
||||
func_800210FC(HUDTex, 0x2C, 0, 0xC, 0xC, 0x38, 0x10, 0x400, 0x400);
|
||||
func_800210FC(HUDTex, 0x42, 0, 0xC, 0xC, 0x44, 0x10, 0x400, 0x400);
|
||||
func_80020E2C(HUDTex, 0x20, 0x1D, 0x80, 0xA);
|
||||
|
||||
var_s0 = 6;
|
||||
for (i = 0; i < 4; i++) {
|
||||
@ -261,10 +239,10 @@ void func_8001F3DC(unk1f3dcTEST* arg0) {
|
||||
gDPPipeSync(gMasterGfxPos++);
|
||||
|
||||
temp = &D_803A6F60;
|
||||
func_800210FC((s32) temp, 0x81, 0x48, 0x40, 0x14, 0, 0, 0x400, 0x400);
|
||||
func_800210FC((s32) temp, 0x81, 0x5C, 0x40, 0x14, 0, 0x14, 0x400, 0x400);
|
||||
func_800210FC((s32) temp, 0x81, 0x70, 0x40, 0x14, 0, 0x28, 0x400, 0x400);
|
||||
func_800210FC((s32) temp, 0x81, 0x84, 0x40, 0x14, 0, 0x3C, 0x400, 0x400);
|
||||
func_800210FC(temp, 0x81, 0x48, 0x40, 0x14, 0, 0, 0x400, 0x400);
|
||||
func_800210FC(temp, 0x81, 0x5C, 0x40, 0x14, 0, 0x14, 0x400, 0x400);
|
||||
func_800210FC(temp, 0x81, 0x70, 0x40, 0x14, 0, 0x28, 0x400, 0x400);
|
||||
func_800210FC(temp, 0x81, 0x84, 0x40, 0x14, 0, 0x3C, 0x400, 0x400);
|
||||
func_80020E2C(&gTex_HUD_and_Menu, 0x20, 0x1D, 0x80, 0xA);
|
||||
|
||||
gDPSetTextureImage(gMasterGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, D_80399AB0);
|
||||
@ -404,17 +382,19 @@ void func_8001FB94(void) {
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/hud/func_8001FEEC.s")
|
||||
|
||||
//#pragma GLOBAL_ASM("asm/nonmatchings/hud/func_800202E4.s")//Matched by EllipticEllipsis and StuckPixel
|
||||
void func_800202E4(unk202e4s *arg0)
|
||||
|
||||
/*This funciton has something to do with status effects and buffs/debuffs on monsters*/
|
||||
void func_800202E4(MonsterBattleData *arg0)
|
||||
{
|
||||
u32 i;
|
||||
unk202e4s2 *temp_v0;
|
||||
unk202e4s3 *temp_a0;
|
||||
UnknownMonsterData2 *temp_v0;
|
||||
UnknownMonsterData3 *temp_a0;
|
||||
|
||||
temp_v0 = arg0->unk68;
|
||||
|
||||
for(i = 0; i < 7; i++) {
|
||||
if(temp_v0->unk12[i] != 0) {
|
||||
temp_v0->unk12[i] = 0;
|
||||
if(temp_v0->status[i] != 0) {
|
||||
temp_v0->status[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -457,16 +437,16 @@ void func_800203D0(void)
|
||||
new_var = &D_803A6F60;
|
||||
if (D_8007D088->unk90 & 0x80)
|
||||
{
|
||||
func_800210FC((s32) new_var, 0, 0, 0x6E, 0x10, 0x64, 0x1C, 0x400, 0x400);
|
||||
func_800210FC((s32) new_var, 0, 0x10, 0x6E, 0x10, 0x64, 0x2C, 0x400, 0x400);
|
||||
func_800210FC((s32) new_var, 0, 0x20, 0x6E, 0x10, 0x64, 0x3C, 0x400, 0x400);
|
||||
func_800210FC((s32) new_var, 0, 0x30, 0x6E, 4, 0x64, 0x4C, 0x400, 0x400);
|
||||
func_800210FC(new_var, 0, 0, 0x6E, 0x10, 0x64, 0x1C, 0x400, 0x400);
|
||||
func_800210FC(new_var, 0, 0x10, 0x6E, 0x10, 0x64, 0x2C, 0x400, 0x400);
|
||||
func_800210FC(new_var, 0, 0x20, 0x6E, 0x10, 0x64, 0x3C, 0x400, 0x400);
|
||||
func_800210FC(new_var, 0, 0x30, 0x6E, 4, 0x64, 0x4C, 0x400, 0x400);
|
||||
}
|
||||
else
|
||||
{
|
||||
func_800210FC((s32) new_var, 0, 0, 0x6E, 0x10, 0x64, 0x1C, 0x400, 0x400);
|
||||
func_800210FC((s32) new_var, 0, 0x10, 0x6E, 0xA, 0x64, 0x2C, 0x400, 0x400);
|
||||
func_800210FC((s32) new_var, 0, 0x1A, 0x6E, 2, 0x64, 0x4E, 0x400, 0x400);
|
||||
func_800210FC(new_var, 0, 0, 0x6E, 0x10, 0x64, 0x1C, 0x400, 0x400);
|
||||
func_800210FC(new_var, 0, 0x10, 0x6E, 0xA, 0x64, 0x2C, 0x400, 0x400);
|
||||
func_800210FC(new_var, 0, 0x1A, 0x6E, 2, 0x64, 0x4E, 0x400, 0x400);
|
||||
}
|
||||
func_80020B4C(4, 0x11, 0, D_8007D0AC[D_8007D088->unk20->unk2]);
|
||||
func_80020E2C(&gTex_HUD_and_Menu, 0x20, 0x1D, 0x80, 0xA);
|
||||
@ -483,7 +463,7 @@ void func_800203D0(void)
|
||||
func_80020D4C(3U, 0x46, 0x26, (s32) D_8007D088->unk20->unkC);
|
||||
if (D_8007D088->unk20->unk26 != 4)
|
||||
{
|
||||
func_800210FC((s32) (&gTex_HUD_and_Menu), 0x5B, 3, 0xC, 0xC, (D_8007D088->unk20->unk26 * 0xC) + 0x20, 0x10, 0x400, 0x400);
|
||||
func_800210FC(&gTex_HUD_and_Menu, 0x5B, 3, 0xC, 0xC, (D_8007D088->unk20->unk26 * 0xC) + 0x20, 0x10, 0x400, 0x400);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -568,7 +548,7 @@ void Draw_MISS_Icon(void)
|
||||
var_f0 += missIconData->pos->z;
|
||||
}
|
||||
func_8002413C(var_f12, var_f14, var_f0, &sp74, &sp70);
|
||||
func_800210FC((s32) new_var, sp74 - (((s32) missIconData->width) >> 1), sp70 - missIconData->height, (s32) missIconData->width, (s32) missIconData->height, (s32) missIconData->unk14, (s32) missIconData->unk16, 0x400, 0x400);
|
||||
func_800210FC(new_var, sp74 - (((s32) missIconData->width) >> 1), sp70 - missIconData->height, (s32) missIconData->width, (s32) missIconData->height, (s32) missIconData->unk14, (s32) missIconData->unk16, 0x400, 0x400);
|
||||
missIconData->displayTimer--;
|
||||
}
|
||||
var_s1--;
|
||||
@ -606,7 +586,7 @@ void func_80020B4C(temp4* arg0, s32 arg1, s32 arg2, u8* arg3) {
|
||||
continue;
|
||||
} else {
|
||||
for (i = 0; i < 44; i++) {
|
||||
if (D_8004D44C[i] != *arg3) {
|
||||
if (gAlphaNumerics[i] != *arg3) {
|
||||
continue;
|
||||
} else {
|
||||
break;
|
||||
@ -614,7 +594,7 @@ void func_80020B4C(temp4* arg0, s32 arg1, s32 arg2, u8* arg3) {
|
||||
}
|
||||
}
|
||||
|
||||
func_800210FC(D_803A6F80, arg0, arg1, 6, 8, i * 6, 0, 0x400, 0x400);
|
||||
func_800210FC(gAlphaNumericTexture, arg0, arg1, 6, 8, i * 6, 0, 0x400, 0x400);
|
||||
arg0++;
|
||||
arg3++;
|
||||
}
|
||||
@ -670,15 +650,15 @@ void func_80020E24(void) {
|
||||
|
||||
//#pragma GLOBAL_ASM("asm/nonmatchings/hud/func_80020E2C.s") //Assist by StuckPixel
|
||||
/*This function sets up the graphics pipeline for loading a texture image and rendering it to the screen.*/
|
||||
void func_80020E2C(unk20e2cs* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
void func_80020E2C(unk20e2cs* arg0, s32 s, s32 t, s32 lrx, s32 lry) {
|
||||
|
||||
gDPSetTextureImage(gMasterGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, arg0->unk8, arg0->unk0);
|
||||
gDPSetTile(gMasterGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, ((((arg1 + arg3) - arg1) + 8)) >> 3, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
|
||||
gDPSetTile(gMasterGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, ((((s + lrx) - s) + 8)) >> 3, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
|
||||
gDPLoadSync(gMasterGfxPos++);
|
||||
gDPLoadTile(gMasterGfxPos++, G_TX_LOADTILE, arg1 * 4, arg2 * 4, (arg1 + arg3) * 4, (arg2 + arg4) * 4);
|
||||
gDPLoadTile(gMasterGfxPos++, G_TX_LOADTILE, s * 4, t * 4, (s + lrx) * 4, (t + lry) * 4);
|
||||
gDPPipeSync(gMasterGfxPos++);
|
||||
gDPSetTile(gMasterGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, ((((arg1 + arg3) - arg1) + 8)) >> 3, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
|
||||
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, arg1 * 4, arg2 * 4, (arg1 + arg3) * 4, (arg2 + arg4) * 4);
|
||||
gDPSetTile(gMasterGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, ((((s + lrx) - s) + 8)) >> 3, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
|
||||
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, s * 4, t * 4, (s + lrx) * 4, (t + lry) * 4);
|
||||
}
|
||||
|
||||
//#pragma GLOBAL_ASM("asm/nonmatchings/hud/func_80020F8C.s")
|
||||
@ -716,7 +696,7 @@ void func_80020F8C(s32 ulx, s32 uly, s32 lrx, s32 lry, s32 s, s32 t, s32 dsdx, s
|
||||
dummy_label_814065: ;
|
||||
}
|
||||
//#pragma GLOBAL_ASM("asm/nonmatchings/hud/func_800210FC.s")
|
||||
void func_800210FC(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8) {
|
||||
func_80020E2C((unk20e2cs* ) arg0, arg5, arg6, arg3, arg4);
|
||||
func_80020F8C(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
|
||||
void func_800210FC(unk20e2cs* arg0, s32 ulx, s32 uly, s32 lrx, s32 lry, s32 s, s32 t, s32 dsdx, s32 dtdy) {
|
||||
func_80020E2C(arg0, s, t, lrx, lry);
|
||||
func_80020F8C(ulx, uly, lrx, lry, s, t, dsdx, dtdy);
|
||||
}
|
@ -367,6 +367,7 @@ alSeqNew = 0x80049c78;
|
||||
alSynSetPriority = 0x80049d50;
|
||||
ldiv = 0x80049e60;
|
||||
|
||||
gAlphaNumerics = 0x8004D44C;
|
||||
gCheckItemUsableFuncs = 0x8004D480;
|
||||
gUseItemFuncs = 0x8004D490;
|
||||
dlScreenDimRectangle = 0x8004D4F0;
|
||||
|
@ -8,3 +8,5 @@ D_8008C592 = 0x8008C592;
|
||||
gDL_StaffIcon = 0x803A8CF8;
|
||||
gExclamationMarkPalette = 0x803A8C08;
|
||||
gCurrentTime = 0x800859d0;
|
||||
gAlphaNumerics = 0x8004D44C;
|
||||
gAlphaNumericTexture = 0x803A6F80;
|
Loading…
Reference in New Issue
Block a user