Shipwright/soh/src/overlays/actors/ovl_En_Niw/z_en_niw.h

94 lines
2.4 KiB
C
Raw Normal View History

#ifndef Z_EN_NIW_H
#define Z_EN_NIW_H
#include "ultra64.h"
#include "global.h"
struct EnNiw;
typedef void (*EnNiwActionFunc)(struct EnNiw*, GlobalContext*);
typedef struct {
/* 0x0000 */ u8 type;
/* 0x0004 */ Vec3f pos;
/* 0x0010 */ Vec3f vel;
/* 0x001C */ Vec3f accel;
/* 0x0028 */ s16 life;
/* 0x002A */ s16 unk_2A; // Variance timer?
/* 0x002C */ f32 scale;
/* 0x0030 */ f32 unk_30;
/* 0x0034 */ u8 timer;
u32 epoch;
} EnNiwFeather; // size = 0x0038
typedef struct EnNiw {
/* 0x0000 */ Actor actor;
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ Vec3s jointTable[16];
/* 0x01F0 */ Vec3s morphTable[16];
/* 0x0250 */ EnNiwActionFunc actionFunc;
/* 0x0254 */ s16 timer1;
/* 0x0256 */ s16 timer2;
/* 0x0258 */ s16 timer3;
/* 0x025A */ s16 timer4;
/* 0x025C */ s16 timer5;
/* 0x025E */ s16 timer6;
/* 0x0260 */ s16 sfxTimer1;
/* 0x0262 */ s16 sfxTimer2;
/* 0x0264 */ s16 sfxTimer3;
/* 0x0266 */ s16 timer7;
/* 0x0268 */ s16 timer8;
/* 0x026A */ s16 timer9;
/* 0x026C */ f32 unk_26C[10];
/* 0x0294 */ s16 unk_294;
/* 0x0296 */ s16 unk_296;
/* 0x0298 */ s16 unk_298;
/* 0x029A */ s16 unk_29A;
/* 0x029C */ s16 unk_29C;
/* 0x029E */ s16 unk_29E;
/* 0x02A0 */ s16 unk_2A0;
/* 0x02A2 */ s16 unk_2A2;
/* 0x02A4 */ s16 unk_2A4;
/* 0x02A6 */ s16 unk_2A6;
/* 0x02A8 */ s16 unk_2A8;
/* 0x02AA */ s16 unk_2AA;
/* 0x02AC */ Vec3f unk_2AC;
/* 0x02B8 */ Vec3f unk_2B8;
/* 0x02C4 */ f32 unk_2C4;
/* 0x02C8 */ f32 unk_2C8;
/* 0x02CC */ f32 unk_2CC;
/* 0x02D0 */ f32 unk_2D0;
/* 0x02D4 */ f32 unk_2D4;
/* 0x02D8 */ f32 unk_2D8;
/* 0x02DC */ f32 unk_2DC;
/* 0x02E0 */ f32 unk_2E0;
/* 0x02E4 */ s16 unk_2E4;
/* 0x02E6 */ s16 unk_2E6;
/* 0x02E8 */ s16 path;
/* 0x02EA */ s16 waypoint;
/* 0x02EC */ s16 unk_2EC;
/* 0x02EE */ s16 unk_2EE;
/* 0x02F0 */ Vec3f unk_2F0;
/* 0x02FC */ f32 unk_2FC;
/* 0x0300 */ f32 unk_300;
/* 0x0304 */ f32 unk_304;
/* 0x0308 */ u8 unk_308;
/* 0x030C */ ColliderCylinder collider;
/* 0x0358 */ EnNiwFeather feathers[20];
} EnNiw; // size = 0x07B8
Feature: Crowd Control Integration (#1568) * Start effects * Disable input to game when typing in console * Add gravity support * noUI placeholder * Add rest of effects to console * Remove z_play code * Add rupee modification * Add OneHit KO (#27) * few fix and paper Link * Better method and now use the reset flag * Revert "Better method and now use the reset flag" This reverts commit 2aafcc1df29686940945ebab87372360a06a3cf7. * Revert "few fix and paper Link" This reverts commit 65e76dcfeec3924ca9977c931703b4c3232a9733. * Paper Link & few fixes (#28) * Implement pacifist mode (#30) * Implement cucco storm (#31) * Add no UI functionality (#32) * Enable CrowdControl on windows (#33) * Use std::format and implement wallmaster * Implement defense modifier * Implement no_z and clean up * Implement reverse controls * Some fixes while testing CC connection * Implement speed modifier and fix defese modifier * Fail magic effects if magic is not acquired * Fix queue system * Implement rainstorm * Some cleanup * Use IS_ZERO to handle very low near zero values * Split some effects * Fix emptying magic * Don’t run cucco on pre-rendered backgrounds * Use correct method for updating ruppees * Fix decreasing speed * Remove old SDL stuff * Remove old fixes * Enable Crowd Control for both debug and release * Add missing returns * Cleanup event firing * Further clean up on event firing * Fix some bugs * CC fixes and enemy spawning (#35) * Fix icetraps * Fix title screen * Fix pause screen * Fix death screen timer & Code cleanup * Fix timer during textboxes * Code cleanup * Add: Multiple enemy spawning * More enemies + more code cleanup (#36) * Enums for returning effect states * Add more enemies * Update CrowdControl.cpp * Remove enums from enemies * Fix up flow for events (#37) # Conflicts: # soh/soh/Enhancements/crowd-control/CrowdControl.cpp * Fix spawn position of likelike * CC temp enemy fixes (#38) * Check for pause in pacifist and allow button presses (#39) * Fix Pacifist mode (#41) * First attempt pacifier fix * Real fix for pacifist mode * Comment * Remove cutscene and long delay from cucco_storm (#40) * Some PR Fixes * Use standard types * Handle JSON parsing error and free memory * Add CC configuration file * Add: Giving deku shield option. Fix: Giant Lonk (#42) * Small stalfos fix (#43) * Syntax Improvements (#44) * Revert bools to uint32_t * Add comment about bools * Fix cucco storm, fix empty heart (#45) * Protect commands vector with mutex * prefix effects with chaosEffect (#46) Co-authored-by: briaguya <briaguya@alice> Co-authored-by: Baoulettes <perlouzerie@hotmail.fr> Co-authored-by: aMannus <mannusmenting@gmail.com> Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com> Co-authored-by: briaguya <briaguya@alice>
2022-09-27 22:41:17 -04:00
#ifdef __cplusplus
#define this thisx
extern "C"
{
#endif
void func_80AB70A0(EnNiw* this, GlobalContext* globalCtx);
void func_80AB70A0_nocutscene(EnNiw* this, GlobalContext* globalCtx);
#ifdef __cplusplus
#undef this
};
#undef this
#endif
#endif