papermario/include/effects_internal.h
Ethan Roseman 33c9dda3a5
KMC GCC, effects, cleanup, map funcs (#476)
* warnings, cleanup, 2 npc ai funcs

* kmcgcc stuff

* effect_75

* effect_9.c done

* cleanup, work on kmc gcc

* start on fx_73

* guOrtho/guOrthoF

* more libultra/cleanup

* more libultra

* add wine for darwin

* effect_73 done

* UnkQuizFunc

* effect func naming

* name appendGfx funcs

* fix fx_66

* Add KMC wrapper to Jenkinsfile

* mac fixes

* fix macro usage

* oopz

* 3 fixes

* blah

* KMC_ASM

* config changes
2021-10-22 23:01:27 +09:00

55 lines
1.7 KiB
C

#ifndef _EFFECTS_INTERNAL_H_
#define _EFFECTS_INTERNAL_H_
#include "effects.h"
// Used by effects 8 and 9 (TODO: better name)
typedef struct Effect8 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ u16 unk_04;
/* 0x06 */ s16 unk_06;
/* 0x08 */ u8 primAlpha;
/* 0x09 */ s8 unk_09;
/* 0x0A */ char unk_0A[0x2];
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ Mtx unk_30;
/* 0x70 */ f32 unk_70;
/* 0x74 */ f32 unk_74;
/* 0x78 */ f32 unk_78;
/* 0x7C */ f32 unk_7C;
/* 0x80 */ f32 unk_80;
/* 0x84 */ f32 unk_84;
/* 0x88 */ f32 unk_88;
/* 0x8C */ f32 unk_8C;
/* 0x90 */ f32 unk_90;
/* 0x94 */ f32 unk_94;
} Effect8; // size = 0x98
u32 func_E0200000(s32);
EffectInstance* shim_create_effect_instance(EffectBlueprint* effectBp);
void shim_remove_effect(EffectInstance*);
s32 shim_rand_int(s32);
void* shim_general_heap_malloc(s32 size);
RenderTask* shim_queue_render_task(RenderTask* task);
f32 shim_sin_deg(f32 x);
f32 shim_cos_deg(f32 x);
f32 shim_clamp_angle(f32 theta);
void shim_guMtxF2L(float mf[4][4], Mtx *m);
void shim_guMtxCatF(float m[4][4], float n[4][4], float r[4][4]);
void shim_guScaleF(float mf[4][4], float x, float y, float z);
void shim_guRotateF(float mf[4][4], float a, float x, float y, float z);
void shim_guTranslateF(float mf[4][4], float x, float y, float z);
void shim_guPositionF(float mf[4][4], float r, float p, float h, float s, float x, float y, float z);
void shim_mem_clear(s8* data, s32 numBytes);
#endif