update aurora, fixups

This commit is contained in:
dbalatoni13 2025-04-16 02:49:52 +02:00
parent 7628f37163
commit f5b0640e4c
34 changed files with 108 additions and 72 deletions

View file

@ -150,7 +150,7 @@ endif ()
add_library(dol SHARED ${DOLPHIN_FILES} ${GAME_FILES} ${PORT_FILES}) add_library(dol SHARED ${DOLPHIN_FILES} ${GAME_FILES} ${PORT_FILES})
target_compile_definitions(dol PRIVATE TARGET_PC NON_MATCHING TARGET_DOL VERSION=${VERSION} MUSY_VERSION_MAJOR=1 MUSY_VERSION_MINOR=5 MUSY_VERSION_PATCH=4) target_compile_definitions(dol PRIVATE TARGET_PC NON_MATCHING TARGET_DOL VERSION=${VERSION} MUSY_VERSION_MAJOR=1 MUSY_VERSION_MINOR=5 MUSY_VERSION_PATCH=4)
target_include_directories(dol PRIVATE include build/GMPE01_00/include) target_include_directories(dol PRIVATE include build/GMPE01_00/include)
target_link_libraries(dol PRIVATE aurora::core aurora::gx aurora::vi musyx) target_link_libraries(dol PRIVATE aurora::core aurora::gx aurora::si aurora::vi aurora::pad musyx)
if (MSVC) if (MSVC)
if (CMAKE_SIZEOF_VOID_P EQUAL 8) if (CMAKE_SIZEOF_VOID_P EQUAL 8)
enable_language(ASM_MASM) enable_language(ASM_MASM)

2
extern/aurora vendored

@ -1 +1 @@
Subproject commit a18cdf3b599b482c850096994cef09ba3920851b Subproject commit 6c27585cf9f662ca08ae49560eab1b171ac214dc

View file

@ -241,6 +241,7 @@ typedef struct _unkObjStruct {
float unk68; float unk68;
float unk6C; float unk6C;
float unk70; float unk70;
char unk74[0x4];
} unkObjStruct; } unkObjStruct;
#if VERSION_NTSC #if VERSION_NTSC

View file

@ -767,7 +767,7 @@ s32 fn_1_E2A8(s16 arg0, u8 arg1, u32 arg2, s16 arg3, s16 arg4)
temp_r31->unkC = 1.0f; temp_r31->unkC = 1.0f;
temp_r31->unk10 = 0.0f; temp_r31->unk10 = 0.0f;
if (temp_r31->unk4 == NULL) { if (temp_r31->unk4 == NULL) {
temp_r31->unk4 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x20, MEMORY_DEFAULT_NUM); temp_r31->unk4 = HuMemDirectMallocNum(HEAP_SYSTEM, 4 * sizeof(HsfVector2f), MEMORY_DEFAULT_NUM);
} }
temp_r31->unk4[0].x = temp_r31->unk0 * temp_r30->unk54; temp_r31->unk4[0].x = temp_r31->unk0 * temp_r30->unk54;
temp_r31->unk4[0].y = temp_r31->unk0 * temp_r30->unk58; temp_r31->unk4[0].y = temp_r31->unk0 * temp_r30->unk58;

View file

@ -1,3 +1,4 @@
#include "game/memory.h"
#define HUSPR_USE_OLD_DEFS #define HUSPR_USE_OLD_DEFS
#include "REL/m415Dll.h" #include "REL/m415Dll.h"
@ -767,7 +768,7 @@ void fn_1_ACF4(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4, s16 arg5)
HuSprAnimKill(var_r31->unk0); HuSprAnimKill(var_r31->unk0);
var_r31->unk8 |= 0xFFFF0000; var_r31->unk8 |= 0xFFFF0000;
var_r30 = HuSprAnimMake(arg2, arg3, arg1); var_r30 = HuSprAnimMake(arg2, arg3, arg1);
var_r30->bmp->data = HuMemDirectMallocNum(HEAP_SYSTEM, arg3 * (var_r30->bmp->pixSize * arg2), 0x10000000U); var_r30->bmp->data = HuMemDirectMallocNum(HEAP_SYSTEM, arg3 * (var_r30->bmp->pixSize * arg2), MEMORY_DEFAULT_NUM);
var_f31 = arg4 / (f32)var_r30->bmp->sizeX; var_f31 = arg4 / (f32)var_r30->bmp->sizeX;
var_f30 = arg5 / (f32)var_r30->bmp->sizeY; var_f30 = arg5 / (f32)var_r30->bmp->sizeY;
var_r31->unk0 = var_r30; var_r31->unk0 = var_r30;

View file

@ -112,9 +112,9 @@ void fn_1_4D8(omObjData *object)
{ {
UnkM417Struct *var_r31; UnkM417Struct *var_r31;
object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x68, 268435456); object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM417Struct), 268435456);
var_r31 = object->data; var_r31 = object->data;
memset(var_r31, 0, 0x68); memset(var_r31, 0, sizeof(UnkM417Struct));
var_r31->unk_00 = 0; var_r31->unk_00 = 0;
var_r31->unk_04 = 0; var_r31->unk_04 = 0;
var_r31->unk_0C = 0; var_r31->unk_0C = 0;

View file

@ -9,6 +9,7 @@
#include "game/hsfdraw.h" #include "game/hsfdraw.h"
#include "game/hsfman.h" #include "game/hsfman.h"
#include "game/hsfmotion.h" #include "game/hsfmotion.h"
#include "game/memory.h"
#include "game/pad.h" #include "game/pad.h"
#include "game/sprite.h" #include "game/sprite.h"
#include "string.h" #include "string.h"
@ -1085,7 +1086,7 @@ void *fn_1_6078(s32 arg0)
if (var_r31 == 0x20) { if (var_r31 == 0x20) {
return NULL; return NULL;
} }
lbl_1_bss_5BC[var_r31] = HuMemDirectMallocNum(HEAP_SYSTEM, arg0, 0x10000000); lbl_1_bss_5BC[var_r31] = HuMemDirectMallocNum(HEAP_SYSTEM, arg0, MEMORY_DEFAULT_NUM);
return lbl_1_bss_5BC[var_r31]; return lbl_1_bss_5BC[var_r31];
} }

View file

@ -8,6 +8,7 @@
#include "game/hsfdraw.h" #include "game/hsfdraw.h"
#include "game/hsfman.h" #include "game/hsfman.h"
#include "game/hsfmotion.h" #include "game/hsfmotion.h"
#include "game/memory.h"
#include "game/pad.h" #include "game/pad.h"
#include "math.h" #include "math.h"
@ -152,8 +153,8 @@ void fn_1_94D0(omObjData *arg0)
s32 var_r29; s32 var_r29;
M424DllClawStruct *var_r31; M424DllClawStruct *var_r31;
var_r31 = arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x1B0, 0x10000000); var_r31 = arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M424DllClawStruct), MEMORY_DEFAULT_NUM);
memset(var_r31, 0, 0x1B0); memset(var_r31, 0, sizeof(M424DllClawStruct));
var_r31->unk0 = lbl_1_bss_24[3]; var_r31->unk0 = lbl_1_bss_24[3];
var_r31->unk2 = GWPlayerCfg[var_r31->unk0].character; var_r31->unk2 = GWPlayerCfg[var_r31->unk0].character;
var_r31->unk4 = GWPlayerCfg[var_r31->unk0].pad_idx; var_r31->unk4 = GWPlayerCfg[var_r31->unk0].pad_idx;

View file

@ -55,8 +55,8 @@ void fn_1_1BB8(omObjData *arg0)
{ {
M424DllMapStruct *var_r30; M424DllMapStruct *var_r30;
var_r30 = arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x54, 0x10000000); var_r30 = arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M424DllMapStruct), MEMORY_DEFAULT_NUM);
memset(var_r30, 0, 0x54); memset(var_r30, 0, sizeof(M424DllMapStruct));
var_r30->unk0 = 0.0f; var_r30->unk0 = 0.0f;
var_r30->unk4 = 0.0f; var_r30->unk4 = 0.0f;
var_r30->unk38 = -1; var_r30->unk38 = -1;

View file

@ -1450,7 +1450,7 @@ void fn_1_5608(GXColor **arg0, s16 arg1, GXColor *arg2)
s32 var_r29; s32 var_r29;
s32 var_r28; s32 var_r28;
var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * (4 * sizeof(GXColor)), 0x10000000); var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * (4 * sizeof(GXColor)), MEMORY_DEFAULT_NUM);
for (var_r29 = 0; var_r29 < arg1; var_r29++) { for (var_r29 = 0; var_r29 < arg1; var_r29++) {
for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) { for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) {
var_r31->r = arg2->r; var_r31->r = arg2->r;

View file

@ -543,7 +543,7 @@ void fn_1_1954(void) {
s32 var_r31; s32 var_r31;
M427DllStruct2* var_r30; M427DllStruct2* var_r30;
var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xA4, 0x10000000); var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M427DllStruct2), MEMORY_DEFAULT_NUM);
lbl_1_bss_40 = var_r30; lbl_1_bss_40 = var_r30;
var_r30->unk9C = 0; var_r30->unk9C = 0;
var_r30->unkA0 = 0; var_r30->unkA0 = 0;

View file

@ -388,9 +388,9 @@ void fn_1_32F4(Process *arg0)
lbl_1_bss_158.unk0 = 0; lbl_1_bss_158.unk0 = 0;
lbl_1_bss_548 = omAddObjEx(arg0, 0x7F, 0, 0, -1, fn_1_6760); lbl_1_bss_548 = omAddObjEx(arg0, 0x7F, 0, 0, -1, fn_1_6760);
lbl_1_bss_F0 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x10 * sizeof(M427DllMapStruct), MEMORY_DEFAULT_NUM); lbl_1_bss_F0 = HuMemDirectMallocNum(HEAP_SYSTEM, 16 * sizeof(M427DllMapStruct), MEMORY_DEFAULT_NUM);
for (var_r31 = 0; var_r31 < 0x10; var_r31++) { for (var_r31 = 0; var_r31 < 16; var_r31++) {
lbl_1_bss_F0[var_r31].unk2 = -1; lbl_1_bss_F0[var_r31].unk2 = -1;
} }
temp_r30 = HuSprAnimRead(HuDataReadNum(0x3A0017, MEMORY_DEFAULT_NUM)); temp_r30 = HuSprAnimRead(HuDataReadNum(0x3A0017, MEMORY_DEFAULT_NUM));
@ -613,8 +613,8 @@ void fn_1_3E58(omObjData *arg0)
var_r29->unk48[0] = 0; var_r29->unk48[0] = 0;
var_r29->unk4A = 0; var_r29->unk4A = 0;
var_r29->unk4 = 0; var_r29->unk4 = 0;
lbl_1_bss_E4 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x10 * sizeof(M427DllMapStruct5), MEMORY_DEFAULT_NUM); lbl_1_bss_E4 = HuMemDirectMallocNum(HEAP_SYSTEM, 16 * sizeof(M427DllMapStruct5), MEMORY_DEFAULT_NUM);
for (var_r28 = 0; var_r28 < 0x10; var_r28++) { for (var_r28 = 0; var_r28 < 16; var_r28++) {
lbl_1_bss_E4[var_r28].unk10 = -1.0f; lbl_1_bss_E4[var_r28].unk10 = -1.0f;
} }
fn_1_510C(0, 0x32, 0x32); fn_1_510C(0, 0x32, 0x32);

View file

@ -1570,10 +1570,10 @@ void fn_1_12B08(void)
lbl_1_bss_558 = lbl_1_data_260; lbl_1_bss_558 = lbl_1_data_260;
lbl_1_bss_554 = lbl_1_data_3BC; lbl_1_bss_554 = lbl_1_data_3BC;
lbl_1_bss_550 = lbl_1_bss_584; lbl_1_bss_550 = lbl_1_bss_584;
var_r29 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x40 * sizeof(M427DllBss57CStruct), MEMORY_DEFAULT_NUM); var_r29 = HuMemDirectMallocNum(HEAP_SYSTEM, 64 * sizeof(M427DllBss57CStruct), MEMORY_DEFAULT_NUM);
lbl_1_bss_57C = var_r29; lbl_1_bss_57C = var_r29;
memset(lbl_1_bss_57C, 0, 0x40 * sizeof(M427DllBss57CStruct)); memset(lbl_1_bss_57C, 0, 64 * sizeof(M427DllBss57CStruct));
for (var_r30 = 0; var_r30 < 0x40; var_r30++, var_r29++) { for (var_r30 = 0; var_r30 < 64; var_r30++, var_r29++) {
var_r29->unk_00 = var_r30; var_r29->unk_00 = var_r30;
var_r29->unk_04 = -1; var_r29->unk_04 = -1;
var_r29->unk_08 = -1; var_r29->unk_08 = -1;

View file

@ -1633,9 +1633,9 @@ void fn_1_10B88(void)
M430PlayerBss16CStruct *var_r31; M430PlayerBss16CStruct *var_r31;
s32 var_r30; s32 var_r30;
var_r31 = lbl_1_bss_16C = HuMemDirectMallocNum(HEAP_SYSTEM, 0x10 * sizeof(M430PlayerBss16CStruct), MEMORY_DEFAULT_NUM); var_r31 = lbl_1_bss_16C = HuMemDirectMallocNum(HEAP_SYSTEM, 16 * sizeof(M430PlayerBss16CStruct), MEMORY_DEFAULT_NUM);
memset(var_r31, 0, 0x10 * sizeof(M430PlayerBss16CStruct)); memset(var_r31, 0, 16 * sizeof(M430PlayerBss16CStruct));
for (var_r30 = 0; var_r30 < 0x10; var_r30++, var_r31++) { for (var_r30 = 0; var_r30 < 16; var_r30++, var_r31++) {
var_r31->unk_00 = var_r30; var_r31->unk_00 = var_r30;
if (var_r30 == 0) { if (var_r30 == 0) {
var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x23)); var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x23));
@ -1810,9 +1810,9 @@ void fn_1_113AC(void)
M430PlayerBss168Struct *var_r31; M430PlayerBss168Struct *var_r31;
s32 var_r30; s32 var_r30;
var_r31 = lbl_1_bss_168 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x20 * sizeof(M430PlayerBss168Struct), MEMORY_DEFAULT_NUM); var_r31 = lbl_1_bss_168 = HuMemDirectMallocNum(HEAP_SYSTEM, 32 * sizeof(M430PlayerBss168Struct), MEMORY_DEFAULT_NUM);
memset(var_r31, 0, 0x20 * sizeof(M430PlayerBss168Struct)); memset(var_r31, 0, 32 * sizeof(M430PlayerBss168Struct));
for (var_r30 = 0; var_r30 < 0x20; var_r31++) { for (var_r30 = 0; var_r30 < 32; var_r31++) {
var_r31->unk_00 = var_r30; var_r31->unk_00 = var_r30;
if (var_r30 == 0) { if (var_r30 == 0) {
var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x22)); var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M430, 0x22));

View file

@ -2328,7 +2328,7 @@ void fn_1_B974(Vec *arg0, float arg8, float arg9)
if (lbl_1_bss_402 < 0xF0) { if (lbl_1_bss_402 < 0xF0) {
lbl_1_bss_402++; lbl_1_bss_402++;
var_r30 = omAddObjEx(lbl_1_bss_5B4, 0x67, 1, 0, 3, fn_1_B7E4); var_r30 = omAddObjEx(lbl_1_bss_5B4, 0x67, 1, 0, 3, fn_1_B7E4);
var_r30->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM432DllStruct2), 0x10000000); var_r30->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM432DllStruct2), MEMORY_DEFAULT_NUM);
var_r31 = var_r30->data; var_r31 = var_r30->data;
var_r31->unk_00 = *arg0; var_r31->unk_00 = *arg0;
var_r31->unk_00.x += 30.0f * arg9; var_r31->unk_00.x += 30.0f * arg9;

View file

@ -1,6 +1,7 @@
#include "REL/m438Dll.h" #include "REL/m438Dll.h"
#include "game/hsfdraw.h" #include "game/hsfdraw.h"
#include "game/memory.h"
#define HUSPR_USE_OLD_DEFS #define HUSPR_USE_OLD_DEFS
#include "game/sprite.h" #include "game/sprite.h"
@ -25,10 +26,10 @@ void fn_1_E658(s16 arg0, s16 arg1)
lbl_1_bss_DE4.unk_34 = Hu3DHookFuncCreate(fn_1_F538); lbl_1_bss_DE4.unk_34 = Hu3DHookFuncCreate(fn_1_F538);
Hu3DModelLayerSet(lbl_1_bss_DE4.unk_34, 6); Hu3DModelLayerSet(lbl_1_bss_DE4.unk_34, 6);
lbl_1_bss_DE4.unk_30 = arg0; lbl_1_bss_DE4.unk_30 = arg0;
var_r29 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(M438UnkStruct2), 0x10000000); var_r29 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(M438UnkStruct2), MEMORY_DEFAULT_NUM);
lbl_1_bss_DE4.unk_40 = var_r29; lbl_1_bss_DE4.unk_40 = var_r29;
lbl_1_bss_DE4.unk_32 = arg1; lbl_1_bss_DE4.unk_32 = arg1;
var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(M438UnkStruct3), 0x10000000); var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(M438UnkStruct3), MEMORY_DEFAULT_NUM);
lbl_1_bss_DE4.unk_3C = var_r30; lbl_1_bss_DE4.unk_3C = var_r30;
for (var_r31 = 0; var_r31 < arg0; var_r31++, var_r29++) { for (var_r31 = 0; var_r31 < arg0; var_r31++, var_r29++) {
@ -335,7 +336,7 @@ void fn_1_F6C8(M438FireStruct **arg0, s16 arg1, f32 arg8, f32 arg9)
s32 var_r30; s32 var_r30;
M438FireStruct *var_r31; M438FireStruct *var_r31;
var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(M438FireStruct), 0x10000000); var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(M438FireStruct), MEMORY_DEFAULT_NUM);
for (var_r30 = 0; var_r30 < arg1; var_r31++, var_r30++) { for (var_r30 = 0; var_r30 < arg1; var_r31++, var_r30++) {
var_r31->unk0.x = (-0.5f * arg8); var_r31->unk0.x = (-0.5f * arg8);
@ -376,7 +377,7 @@ void fn_1_F8EC(M438FireStruct2 **arg0, s16 arg1, GXColor *arg2)
s32 var_r29; s32 var_r29;
s32 var_r28; s32 var_r28;
var_r31 = (GXColor *)*arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(M438FireStruct2), 0x10000000U); var_r31 = (GXColor *)*arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(M438FireStruct2), MEMORY_DEFAULT_NUM);
for (var_r29 = 0; var_r29 < arg1; var_r29++) { for (var_r29 = 0; var_r29 < arg1; var_r29++) {
for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) { for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) {
@ -393,7 +394,7 @@ void fn_1_F994(Vec **arg0, s16 arg1, Vec *arg2)
s32 var_r29; s32 var_r29;
Vec *var_r31; Vec *var_r31;
var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(Vec), 0x10000000); var_r31 = *arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(Vec), MEMORY_DEFAULT_NUM);
for (var_r29 = 0; var_r29 < arg1; var_r31++, arg2++, var_r29++) { for (var_r29 = 0; var_r29 < arg1; var_r31++, arg2++, var_r29++) {
var_r31->x = arg2->x; var_r31->x = arg2->x;
@ -408,7 +409,7 @@ void fn_1_FA20(M438FireStruct3 **arg0, s16 arg1, HsfVector2f *arg2)
s32 var_r29; s32 var_r29;
s32 var_r28; s32 var_r28;
var_r31 = (HsfVector2f *)*arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(M438FireStruct3), 0x10000000); var_r31 = (HsfVector2f *)*arg0 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(M438FireStruct3), MEMORY_DEFAULT_NUM);
for (var_r29 = 0; var_r29 < arg1; var_r29++) { for (var_r29 = 0; var_r29 < arg1; var_r29++) {
for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) { for (var_r28 = 0; var_r28 < 4; var_r31++, arg2++, var_r28++) {
@ -595,15 +596,15 @@ s16 fn_1_10258(u8 arg0, u8 arg1)
var_r31->unk_30 = NULL; var_r31->unk_30 = NULL;
var_r31->unk_02 = arg0; var_r31->unk_02 = arg0;
var_r31->unk_04 = arg1; var_r31->unk_04 = arg1;
var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0x98, MEMORY_DEFAULT_NUM); var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(M438UnkStruct), MEMORY_DEFAULT_NUM);
var_r31->unk_3C = var_r30; var_r31->unk_3C = var_r30;
var_r31->unk_34 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * 2, MEMORY_DEFAULT_NUM); var_r31->unk_34 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(s16), MEMORY_DEFAULT_NUM);
var_r31->unk_48 = 0; var_r31->unk_48 = 0;
var_r31->unk_4C = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 << 8, MEMORY_DEFAULT_NUM); var_r31->unk_4C = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 << 8, MEMORY_DEFAULT_NUM);
var_r31->unk_50 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0x30, MEMORY_DEFAULT_NUM); var_r31->unk_50 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * (4 * sizeof(Vec)), MEMORY_DEFAULT_NUM);
var_r31->unk_54 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0x10, MEMORY_DEFAULT_NUM); var_r31->unk_54 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * (4 * sizeof(GXColor)), MEMORY_DEFAULT_NUM);
var_r31->unk_58 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0xC, MEMORY_DEFAULT_NUM); var_r31->unk_58 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * sizeof(Vec), MEMORY_DEFAULT_NUM);
var_r31->unk_5C = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * (arg0 * 0x30), MEMORY_DEFAULT_NUM); var_r31->unk_5C = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * (arg0 * sizeof(M438UnkSubStruct)), MEMORY_DEFAULT_NUM);
DCFlushRangeNoSync(var_r31->unk_4C, arg0 << 8); DCFlushRangeNoSync(var_r31->unk_4C, arg0 << 8);
var_r31->unk_0C.x = var_r31->unk_0C.y = var_r31->unk_0C.z = 0.0f; var_r31->unk_0C.x = var_r31->unk_0C.y = var_r31->unk_0C.z = 0.0f;
var_r31->unk_18.x = var_r31->unk_18.y = var_r31->unk_18.z = 0.0f; var_r31->unk_18.x = var_r31->unk_18.y = var_r31->unk_18.z = 0.0f;
@ -657,7 +658,7 @@ s16 fn_1_10258(u8 arg0, u8 arg1)
var_r31->unk_48 += var_r30->unk_3C; var_r31->unk_48 += var_r30->unk_3C;
} }
temp_r25 = var_r31->unk_4C; temp_r25 = var_r31->unk_4C;
var_r31->unk_4C = HuMemDirectMallocNum(HEAP_SYSTEM, var_r31->unk_48, 0x10000000); var_r31->unk_4C = HuMemDirectMallocNum(HEAP_SYSTEM, var_r31->unk_48, MEMORY_DEFAULT_NUM);
memcpy(var_r31->unk_4C, temp_r25, var_r31->unk_48); memcpy(var_r31->unk_4C, temp_r25, var_r31->unk_48);
HuMemDirectFree(temp_r25); HuMemDirectFree(temp_r25);
DCFlushRangeNoSync(var_r31->unk_50, arg0 * 0x30); DCFlushRangeNoSync(var_r31->unk_50, arg0 * 0x30);
@ -749,11 +750,11 @@ s16 fn_1_10910(u32 arg0, s16 arg1, s16 arg2)
var_r31->unk_06 = 1; var_r31->unk_06 = 1;
if (((arg0 & 0xFFFF0000) + 0x10000) == 0) { if (((arg0 & 0xFFFF0000) + 0x10000) == 0) {
var_r30 = HuSprAnimMake(arg1, arg2, 2); var_r30 = HuSprAnimMake(arg1, arg2, 2);
var_r30->bmp->data = HuMemDirectMallocNum(HEAP_SYSTEM, arg2 * (arg1 * 2), 0x10000000); var_r30->bmp->data = HuMemDirectMallocNum(HEAP_SYSTEM, arg2 * (arg1 * 2), MEMORY_DEFAULT_NUM);
arg1 = arg2 = 0; arg1 = arg2 = 0;
} }
else { else {
var_r30 = HuSprAnimRead(HuDataReadNum(arg0, 0x10000000)); var_r30 = HuSprAnimRead(HuDataReadNum(arg0, MEMORY_DEFAULT_NUM));
} }
if ((arg1 == 0) || (arg2 == 0)) { if ((arg1 == 0) || (arg2 == 0)) {
arg1 = var_r30->bmp->sizeX; arg1 = var_r30->bmp->sizeX;
@ -798,7 +799,7 @@ void fn_1_10CB8(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4, s16 arg5)
HuSprAnimKill(temp_r31->unk_00); HuSprAnimKill(temp_r31->unk_00);
temp_r31->unk_08 |= 0xFFFF0000; temp_r31->unk_08 |= 0xFFFF0000;
temp_r30 = HuSprAnimMake(arg2, arg3, arg1); temp_r30 = HuSprAnimMake(arg2, arg3, arg1);
temp_r30->bmp->data = HuMemDirectMallocNum(HEAP_SYSTEM, arg3 * (temp_r30->bmp->pixSize * arg2), 0x10000000U); temp_r30->bmp->data = HuMemDirectMallocNum(HEAP_SYSTEM, arg3 * (temp_r30->bmp->pixSize * arg2), MEMORY_DEFAULT_NUM);
var_f31 = arg4 / (f32)temp_r30->bmp->sizeX; var_f31 = arg4 / (f32)temp_r30->bmp->sizeX;
var_f30 = arg5 / (f32)temp_r30->bmp->sizeY; var_f30 = arg5 / (f32)temp_r30->bmp->sizeY;
temp_r31->unk_00 = temp_r30; temp_r31->unk_00 = temp_r30;

View file

@ -4,6 +4,7 @@
#include "game/audio.h" #include "game/audio.h"
#include "game/hsfanim.h" #include "game/hsfanim.h"
#include "game/hsfmotion.h" #include "game/hsfmotion.h"
#include "game/memory.h"
#include "game/sprite.h" #include "game/sprite.h"
#include "game/wipe.h" #include "game/wipe.h"
#include "string.h" #include "string.h"
@ -96,7 +97,7 @@ void fn_1_B54C(omObjData *arg0)
M438MapStruct *var_r24; M438MapStruct *var_r24;
M438MapStruct3 *temp_r23; M438MapStruct3 *temp_r23;
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x108C, 0x10000000); arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x108C, MEMORY_DEFAULT_NUM);
temp_r23 = arg0->data; temp_r23 = arg0->data;
memset(temp_r23, 0, 0x108C); memset(temp_r23, 0, 0x108C);
arg0->model[0] = Hu3DModelCreateFile(0x450000); arg0->model[0] = Hu3DModelCreateFile(0x450000);

View file

@ -600,7 +600,7 @@ void fn_1_2470(omObjData *arg0)
s16 var_r30; s16 var_r30;
unkStruct2 *temp_r27; unkStruct2 *temp_r27;
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x34, MEMORY_DEFAULT_NUM); arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkStruct2), MEMORY_DEFAULT_NUM);
temp_r27 = arg0->data; temp_r27 = arg0->data;
arg0->stat |= 0x100; arg0->stat |= 0x100;
arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M440, 0x08)); arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M440, 0x08));
@ -1565,7 +1565,7 @@ void fn_1_6B58(unkStruct6 *arg0, HsfObject *arg1)
break; break;
} }
} }
arg0->unk24 = HuMemDirectMallocNum(HEAP_DATA, arg0->unk20 * 0xD0, var_r22->unk_48); arg0->unk24 = HuMemDirectMallocNum(HEAP_DATA, arg0->unk20 * sizeof(unkStruct8), var_r22->unk_48);
var_r31 = arg0->unk24; var_r31 = arg0->unk24;
if (var_r24 != 0) { if (var_r24 != 0) {
var_r30 = arg1->data.vertex->count; var_r30 = arg1->data.vertex->count;
@ -2255,14 +2255,14 @@ s16 fn_1_956C(AnimData *arg0, s16 arg1, f32 arg2, s16 arg3, s16 arg4)
var_r20 = Hu3DHookFuncCreate(fn_1_9C04); var_r20 = Hu3DHookFuncCreate(fn_1_9C04);
temp_r28 = &Hu3DData[var_r20]; temp_r28 = &Hu3DData[var_r20];
var_r31 = HuMemDirectMallocNum(HEAP_DATA, 0x68, temp_r28->unk_48); var_r31 = HuMemDirectMallocNum(HEAP_DATA, sizeof(unkStruct5), temp_r28->unk_48);
temp_r28->unk_120 = var_r31; temp_r28->unk_120 = var_r31;
arg0->useNum += 1; arg0->useNum += 1;
var_r31->unk10 = arg0; var_r31->unk10 = arg0;
var_r31->unk0 = arg1; var_r31->unk0 = arg1;
var_r31->unk8 = 0; var_r31->unk8 = 0;
var_r31->unkC = NULL; var_r31->unkC = NULL;
var_r24 = HuMemDirectMallocNum(HEAP_DATA, arg1 * 0x64, temp_r28->unk_48); var_r24 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(unkStruct4), temp_r28->unk_48);
var_r31->unk18 = var_r24; var_r31->unk18 = var_r24;
for (var_r30 = 0; var_r30 < arg1; var_r30++, var_r24++) { for (var_r30 = 0; var_r30 < arg1; var_r30++, var_r24++) {

View file

@ -53,9 +53,9 @@ void fn_1_AEE4(omObjData *arg0)
s16 var_r29; s16 var_r29;
unkObjStruct *temp_r31; unkObjStruct *temp_r31;
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x78, MEMORY_DEFAULT_NUM); arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkObjStruct), MEMORY_DEFAULT_NUM);
temp_r31 = (unkObjStruct *)arg0->data; temp_r31 = (unkObjStruct *)arg0->data;
memset(temp_r31, 0, 0x78); memset(temp_r31, 0, sizeof(unkObjStruct));
arg0->stat |= 0x100; arg0->stat |= 0x100;
temp_r31->unk4 = arg0->work[0]; temp_r31->unk4 = arg0->work[0];
temp_r31->unk6 = GWPlayerCfg[temp_r31->unk4].pad_idx; temp_r31->unk6 = GWPlayerCfg[temp_r31->unk4].pad_idx;

View file

@ -220,7 +220,7 @@ void fn_1_5680(omObjData *object)
M443DllWorkStruct *temp_r31; M443DllWorkStruct *temp_r31;
HsfanimStruct01 *var_r28; HsfanimStruct01 *var_r28;
object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x134, MEMORY_DEFAULT_NUM); object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M443DllWorkStruct), MEMORY_DEFAULT_NUM);
temp_r31 = object->data; temp_r31 = object->data;
memset(temp_r31, 0, 0x134); memset(temp_r31, 0, 0x134);
object->stat |= 0x100; object->stat |= 0x100;

View file

@ -15,7 +15,7 @@ unkStruct2 *fn_1_1C64(s32 arg0)
{ {
unkStruct2 *temp_r3; unkStruct2 *temp_r3;
temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC, MEMORY_DEFAULT_NUM); temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkStruct2), MEMORY_DEFAULT_NUM);
if (!temp_r3) { if (!temp_r3) {
return NULL; return NULL;
} }
@ -86,7 +86,7 @@ unkStruct3 *fn_1_1DF4(void *arg0)
{ {
unkStruct3 *temp_r3; unkStruct3 *temp_r3;
temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC, MEMORY_DEFAULT_NUM); temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkStruct3), MEMORY_DEFAULT_NUM);
if (!temp_r3) { if (!temp_r3) {
return NULL; return NULL;
} }
@ -273,7 +273,7 @@ unkStruct4 *m446CardCreate(s32 arg0)
unkStruct4 *temp_r31; unkStruct4 *temp_r31;
unkStruct3 *temp_r30; unkStruct3 *temp_r30;
temp_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x98, MEMORY_DEFAULT_NUM); temp_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkStruct4), MEMORY_DEFAULT_NUM);
if (!temp_r31) { if (!temp_r31) {
OSReport("[!] m446CardCreate ERROR...\n"); OSReport("[!] m446CardCreate ERROR...\n");
return NULL; return NULL;

View file

@ -70,7 +70,7 @@ unkStruct7 *m446CursorCreate(s32 arg0)
unkStruct7 *var_r31; unkStruct7 *var_r31;
unkStruct3 *var_r29; unkStruct3 *var_r29;
var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x54, MEMORY_DEFAULT_NUM); var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkStruct7), MEMORY_DEFAULT_NUM);
if (!var_r31) { if (!var_r31) {
return NULL; return NULL;
} }

View file

@ -18,7 +18,7 @@ unkStruct5* fn_1_3064(void) {
s32 var_r30; s32 var_r30;
unkStruct5* temp_r3; unkStruct5* temp_r3;
temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x10, MEMORY_DEFAULT_NUM); temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkStruct5), MEMORY_DEFAULT_NUM);
if (!temp_r3) { if (!temp_r3) {
return NULL; return NULL;
} }

View file

@ -94,7 +94,7 @@ unkStruct *m446FlowCreate(void)
s32 var_r30; s32 var_r30;
unkStruct *temp_r3; unkStruct *temp_r3;
temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x9C, MEMORY_DEFAULT_NUM); temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkStruct), MEMORY_DEFAULT_NUM);
if (temp_r3 == 0) { if (temp_r3 == 0) {
OSReport("[!] m446FlowCreate() ERROR...\n"); OSReport("[!] m446FlowCreate() ERROR...\n");
return NULL; return NULL;

View file

@ -167,7 +167,7 @@ unkStruct8 *m446PlayerCreate(s32 arg0, unkStruct6 *arg1)
s32 var_r30; s32 var_r30;
unkStruct8 *var_r31; unkStruct8 *var_r31;
var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xCC, MEMORY_DEFAULT_NUM); var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkStruct8), MEMORY_DEFAULT_NUM);
if (!var_r31) { if (!var_r31) {
return NULL; return NULL;
} }

View file

@ -101,7 +101,7 @@ unkStruct9 *m446StageCreate(void)
unkStruct3 *temp_ret; unkStruct3 *temp_ret;
unkStruct9 *var_r31; unkStruct9 *var_r31;
var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x30, MEMORY_DEFAULT_NUM); var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkStruct9), MEMORY_DEFAULT_NUM);
if (!var_r31) { if (!var_r31) {
return NULL; return NULL;
} }

View file

@ -47,7 +47,7 @@ unkStruct6 *fn_1_39D0(void)
unkStruct3 *var_r29; unkStruct3 *var_r29;
unkStruct6 *var_r31; unkStruct6 *var_r31;
var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x70, MEMORY_DEFAULT_NUM); var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkStruct6), MEMORY_DEFAULT_NUM);
if (!var_r31) { if (!var_r31) {
return NULL; return NULL;
} }

View file

@ -1707,7 +1707,7 @@ s16 fn_1_5ED8(AnimData *arg0, Vec *arg1, float *arg2, s16 arg3, float arg8, s16
var_r31->unk_00 = 0; var_r31->unk_00 = 0;
var_r31->unk_66 = arg3; var_r31->unk_66 = arg3;
var_r31->unk_6B = 0; var_r31->unk_6B = 0;
var_r31->unk_10 = HuMemDirectMallocNum(HEAP_DATA, arg3 * 0x40, var_r28->unk_48); var_r31->unk_10 = HuMemDirectMallocNum(HEAP_DATA, arg3 * sizeof(UnkM450Struct2), var_r28->unk_48);
for (var_r24 = var_r31->unk_10, var_r30 = 0; var_r30 < arg3; var_r30++, var_r24++) { for (var_r24 = var_r31->unk_10, var_r30 = 0; var_r30 < arg3; var_r30++, var_r24++) {
var_r24->unk_3E = -1; var_r24->unk_3E = -1;
var_r24->unk_3C = -1; var_r24->unk_3C = -1;

View file

@ -7,6 +7,7 @@
#include "game/hsfdraw.h" #include "game/hsfdraw.h"
#include "game/hsfman.h" #include "game/hsfman.h"
#include "game/hsfmotion.h" #include "game/hsfmotion.h"
#include "game/memory.h"
#include "game/sprite.h" #include "game/sprite.h"
#include "math.h" #include "math.h"
#include "string.h" #include "string.h"
@ -459,7 +460,7 @@ void fn_1_6C74(omObjData *object)
s32 var_r31; s32 var_r31;
M453MapUnkStruct *var_r29; M453MapUnkStruct *var_r29;
var_r29 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x54, 0x10000000); var_r29 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M453MapUnkStruct), MEMORY_DEFAULT_NUM);
object->data = var_r29; object->data = var_r29;
memset(object->data, 0, 0x54); memset(object->data, 0, 0x54);
for (var_r31 = 0; var_r31 < 0xC; var_r31++) { for (var_r31 = 0; var_r31 < 0xC; var_r31++) {

View file

@ -660,7 +660,7 @@ void fn_1_48EC(s32 arg0)
temp_r31->unkbit_04 = 0; temp_r31->unkbit_04 = 0;
temp_r31->unk_02 = -1; temp_r31->unk_02 = -1;
temp_r31->unkbit_01 = arg0; temp_r31->unkbit_01 = arg0;
temp_r31->unk_08 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xA00, MEMORY_DEFAULT_NUM); temp_r31->unk_08 = HuMemDirectMallocNum(HEAP_SYSTEM, 80 * sizeof(w03StructUnk3), MEMORY_DEFAULT_NUM);
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_C[2]), "coin", &spC); Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_C[2]), "coin", &spC);
temp_r31->model = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x07), NULL, 0); temp_r31->model = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x07), NULL, 0);
BoardModelVisibilitySet(temp_r31->model, 0); BoardModelVisibilitySet(temp_r31->model, 0);

View file

@ -1,6 +1,8 @@
#include "game/armem.h" #include "game/armem.h"
#include "game/data.h" #include "game/data.h"
#include <port/byteswap.h>
typedef struct armem_block { typedef struct armem_block {
/* 0x00 */ u8 flag; /* 0x00 */ u8 flag;
/* 0x02 */ u16 dir; /* 0x02 */ u16 dir;
@ -327,6 +329,12 @@ void HuARDirFree(u32 dir) {
} }
} }
#ifdef TARGET_PC
#define DIR_DATA (dir_data_pc)
#else
#define DIR_DATA (dir_data)
#endif
void *HuAR_ARAMtoMRAMFileRead(u32 dir, u32 num, HeapID heap) { void *HuAR_ARAMtoMRAMFileRead(u32 dir, u32 num, HeapID heap) {
s32 *dir_data; s32 *dir_data;
void *dst; void *dst;
@ -335,6 +343,10 @@ void *HuAR_ARAMtoMRAMFileRead(u32 dir, u32 num, HeapID heap) {
s32 count; s32 count;
s32 size; s32 size;
u32 amemptr; u32 amemptr;
#ifdef TARGET_PC
s32 dir_data_pc[2];
s32 i;
#endif
if ((amemptr = HuARDirCheck(dir)) == 0) { if ((amemptr = HuARDirCheck(dir)) == 0) {
OSReport("Error: data none on ARAM %0x\n", dir); OSReport("Error: data none on ARAM %0x\n", dir);
@ -342,19 +354,25 @@ void *HuAR_ARAMtoMRAMFileRead(u32 dir, u32 num, HeapID heap) {
return 0; return 0;
} }
DCInvalidateRange(&preLoadBuf, sizeof(preLoadBuf)); DCInvalidateRange(&preLoadBuf, sizeof(preLoadBuf));
amem_src = amemptr + (u32)((u32)(((u16)dir + 1) * 4) & 0xFFFFFFFE0); amem_src = amemptr + (u32)((((dir & 0xFFFF) + 1) * 4) & 0xFFFFFFFE0);
arqCnt++; arqCnt++;
ARQPostRequest(&ARQueBuf[arqIdx].req, 0x1234, 1, 0, amem_src, (uintptr_t) &preLoadBuf, sizeof(preLoadBuf), ArqCallBackAMFileRead); ARQPostRequest(&ARQueBuf[arqIdx].req, 0x1234, 1, 0, amem_src, (uintptr_t) &preLoadBuf, sizeof(preLoadBuf), ArqCallBackAMFileRead);
arqIdx++; arqIdx++;
arqIdx &= 0xF; arqIdx &= 0xF;
while (HuARDMACheck()); while (HuARDMACheck());
dir_data = &preLoadBuf[(dir + 1) & 7]; dir_data = &preLoadBuf[(dir + 1) & 7];
count = dir_data[0]; #ifdef TARGET_PC
for (i = 0; i < 2; i++) {
dir_data_pc[i] = dir_data[i];
byteswap_s32(&dir_data_pc[i]);
}
#endif
count = DIR_DATA[0];
amem_src = amemptr + (u32)(count & 0xFFFFFFFE0); amem_src = amemptr + (u32)(count & 0xFFFFFFFE0);
if (dir_data[1] - count < 0) { if (DIR_DATA[1] - count < 0) {
size = (HuARSizeGet(amemptr) - count + 0x3F) & 0xFFFFFFFE0; size = (HuARSizeGet(amemptr) - count + 0x3F) & 0xFFFFFFFE0;
} else { } else {
size = (dir_data[1] - count + 0x3F) & 0xFFFFFFFE0; size = (DIR_DATA[1] - count + 0x3F) & 0xFFFFFFFE0;
} }
dvd_data = HuMemDirectMalloc(HEAP_DVD, size); dvd_data = HuMemDirectMalloc(HEAP_DVD, size);
if (!dvd_data) { if (!dvd_data) {
@ -363,20 +381,28 @@ void *HuAR_ARAMtoMRAMFileRead(u32 dir, u32 num, HeapID heap) {
DCFlushRangeNoSync(dvd_data, size); DCFlushRangeNoSync(dvd_data, size);
arqCnt++; arqCnt++;
PPCSync(); PPCSync();
ARQPostRequest(&ARQueBuf[arqIdx].req, 0x1234, 1, 0, amem_src, (u32) dvd_data, (u32) size, ArqCallBackAMFileRead); ARQPostRequest(&ARQueBuf[arqIdx].req, 0x1234, 1, 0, amem_src, (uintptr_t) dvd_data, (u32) size, ArqCallBackAMFileRead);
arqIdx++; arqIdx++;
arqIdx &= 0xF; arqIdx &= 0xF;
while (HuARDMACheck()); while (HuARDMACheck());
dir_data = (s32*) ((u8*) dvd_data + (count & 0x1F)); dir_data = (s32*) ((u8*) dvd_data + (count & 0x1F));
dst = HuMemDirectMallocNum(heap, (dir_data[0] + 1) & ~1, num); #ifdef TARGET_PC
for (i = 0; i < 2; i++) {
dir_data_pc[i] = dir_data[i];
byteswap_s32(&dir_data_pc[i]);
}
#endif
dst = HuMemDirectMallocNum(heap, (DIR_DATA[0] + 1) & ~1, num);
if (!dst) { if (!dst) {
return 0; return 0;
} }
HuDecodeData(&dir_data[2], dst, dir_data[0], dir_data[1]); HuDecodeData(&dir_data[2], dst, DIR_DATA[0], DIR_DATA[1]);
HuMemDirectFree(dvd_data); HuMemDirectFree(dvd_data);
return dst; return dst;
} }
#undef DIR_DATA
static void ArqCallBackAMFileRead(u32 pointerToARQRequest) { static void ArqCallBackAMFileRead(u32 pointerToARQRequest) {
arqCnt--; arqCnt--;
(void)pointerToARQRequest; // required to match (return?) (void)pointerToARQRequest; // required to match (return?)

View file

@ -2510,9 +2510,12 @@ void MakeDisplayList(s16 arg0, uintptr_t arg1)
var_r30 = &Hu3DData[arg0]; var_r30 = &Hu3DData[arg0];
curModelID = arg0; curModelID = arg0;
mallocNo = arg1; mallocNo = arg1;
#ifdef __MWERKS__
// TODO PC
faceNumBuf = HuMemDirectMallocNum(HEAP_DATA, 0x800 * sizeof(u16), mallocNo); faceNumBuf = HuMemDirectMallocNum(HEAP_DATA, 0x800 * sizeof(u16), mallocNo);
MDObjCall(temp_r31, temp_r31->root); MDObjCall(temp_r31, temp_r31->root);
HuMemDirectFree(faceNumBuf); HuMemDirectFree(faceNumBuf);
#endif
if (var_r30->attr & HU3D_ATTR_SHADOW) { if (var_r30->attr & HU3D_ATTR_SHADOW) {
Hu3DShadowCamBit++; Hu3DShadowCamBit++;
} }

View file

@ -1901,7 +1901,7 @@ static void HuWinExCreatePortrait(s16 window, s16 portrait, float x, float y)
WindowData *window_ptr; WindowData *window_ptr;
void *data; void *data;
data = HuAR_ARAMtoMRAMFileRead(winPortraitTbl[portrait], MEMORY_DEFAULT_NUM, 2); data = HuAR_ARAMtoMRAMFileRead(winPortraitTbl[portrait], MEMORY_DEFAULT_NUM, HEAP_DATA);
anim = HuSprAnimRead(data); anim = HuSprAnimRead(data);
window_ptr = &winData[window]; window_ptr = &winData[window];
sprite = HuSprCreate(anim, window_ptr->prio - 1, 0); sprite = HuSprCreate(anim, window_ptr->prio - 1, 0);

View file

@ -259,7 +259,7 @@ s32 HuAudFXVolSet(int seNo, s16 vol)
} }
s32 HuAudSeqPlay(s16 musId) { s32 HuAudSeqPlay(s16 musId) {
s32 channel; s32 channel = 0;
if (musicOffF != 0 || omSysExitReq != 0) { if (musicOffF != 0 || omSysExitReq != 0) {
return 0; return 0;