Fixed many bugs (#586)

* Fixed some includes

* Fix allocation bugs

* More fixes and trying to get 3D rendering done

* Fixed many bugs
This commit is contained in:
Dávid Balatoni 2025-04-22 03:40:10 +02:00 committed by GitHub
parent 59c19c8046
commit b05b70d6b7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
26 changed files with 167 additions and 96 deletions

View file

@ -20,7 +20,7 @@ typedef void (*ARCallback)(void);
ARCallback ARRegisterDMACallback(ARCallback callback);
u32 ARGetDMAStatus(void);
void ARStartDMA(u32 type, u32 mainmem_addr, u32 aram_addr, u32 length);
void ARStartDMA(u32 type, uintptr_t mainmem_addr, u32 aram_addr, u32 length);
u32 ARInit(u32* stack_index_addr, u32 num_entries);
u32 ARGetBaseAddress(void);
BOOL ARCheckInit(void);

View file

@ -7,8 +7,15 @@
extern "C" {
#endif
#ifdef AURORA
#define GXCALLDISPLAYLISTLE GXCallDisplayListLE
#else
#define GXCALLDISPLAYLISTLE GXCallDisplayList
#endif
void GXBeginDisplayList(void* list, u32 size);
u32 GXEndDisplayList(void);
void GXCallDisplayListLE(const void* list, u32 nbytes);
void GXCallDisplayList(const void* list, u32 nbytes);
#ifdef __cplusplus

View file

@ -78,6 +78,13 @@ typedef struct anim_data {
/* 0x08 */ AnimBankData *bank;
/* 0x0C */ AnimPatData *pat;
/* 0x10 */ AnimBmpData *bmp;
#ifdef TARGET_PC
u32 valid;
#endif
} AnimData; //sizeof 0x14
#ifdef TARGET_PC
#define ANIM_DATA_ALLOCATION_VALID 0xD3D3D3D3
#endif
#endif

View file

@ -9,6 +9,10 @@
typedef struct model_data ModelData;
typedef struct particle_data ParticleData;
#ifdef TARGET_PC
typedef void (*ParticleDLCallFunc)(ParticleData *particle);
#endif
typedef void (*ParticleHook)(ModelData *model, ParticleData *particle, Mtx matrix);
typedef struct {
@ -45,11 +49,11 @@ struct particle_data {
/* 0x34 */ u32 unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ u32 unk_3C;
/* 0x40 */ s32 unk_40;
/* 0x40 */ s32 unk_40; // dlSize
/* 0x44 */ AnimData *unk_44;
/* 0x48 */ HsfanimStruct01 *unk_48;
/* 0x4C */ Vec *unk_4C;
/* 0x50 */ void *unk_50;
/* 0x50 */ void *unk_50; // dlPtr
/* 0x54 */ ParticleHook unk_54;
}; // Size 0x58

View file

@ -165,6 +165,7 @@ s32 msmSysDelGroupAll(void);
s32 msmSysGetSampSize(BOOL baseGrp);
s32 msmSysDelGroupBase(s32 grpNum);
s32 msmSysSetAux(s32 auxA, s32 auxB);
void msmSysRegularProc(void);
s32 msmSeSetParam(int seNo, MSM_SEPARAM *param);
int msmSePlay(int seId, MSM_SEPARAM *param);