mm/include/z64eff_tire_mark.h
Anghelo Carvajal 2fdcdd91b3
Split effect headers and a bit of cleanup (#1482)
* split

* bss

* z64eff_ss_dead.h

* clean eff_blure

* eff_shield_particle cleanup

* tire?mark

* and more cleanup

* format

* forgot to remove this

* review

* EffectBlureDrawMode enum

* review

* review

* bss
2023-11-27 12:24:46 -03:00

48 lines
1.4 KiB
C

#ifndef Z64EFF_TIRE_MARK_H
#define Z64EFF_TIRE_MARK_H
#include "ultra64.h"
#include "color.h"
#include "z64math.h"
#include "unk.h"
struct CollisionContext;
struct CollisionPoly;
struct GraphicsContext;
#define EFFECT_TIRE_MARK_ELEMENT_FLAG_1 (1 << 0)
#define EFFECT_TIRE_MARK_ELEMENT_FLAG_2 (1 << 1)
typedef struct EffectTireMarkElement {
/* 0x00 */ u16 flags;
/* 0x02 */ Vec3s p1;
/* 0x08 */ Vec3s p2;
/* 0x0E */ s16 life;
/* 0x10 */ UNK_TYPE1 pad10[0x4];
/* 0x14 */ struct CollisionPoly* colPoly;
} EffectTireMarkElement; // size = 0x18
typedef struct EffectTireMarkInit {
/* 0x0 */ s16 unk0;
/* 0x2 */ s16 elemDuration;
/* 0x4 */ Color_RGBA8 color;
} EffectTireMarkInit; // size = 0x8
typedef struct EffectTireMark {
/* 0x000 */ EffectTireMarkElement elements[64];
/* 0x600 */ s16 unk600;
/* 0x602 */ s16 numElements;
/* 0x604 */ s16 elemDuration;
/* 0x606 */ Color_RGBA8 color;
} EffectTireMark; // size = 0x60C
void func_800AE930(struct CollisionContext* colCtx, EffectTireMark* this, Vec3f* pos, f32 arg3, s16 angle, struct CollisionPoly* colPoly, s32 bgId);
void func_800AEF44(EffectTireMark* this);
void EffectTireMark_Init(void* thisx, void* initParamsx);
void EffectTireMark_Destroy(void* thisx);
s32 EffectTireMark_Update(void* thisx);
void EffectTireMark_Draw(void* thisx, struct GraphicsContext* gfxCtx);
#endif