2ship2harkinian/include/z64actor.h

1297 lines
45 KiB
C
Raw Normal View History

`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
#ifndef Z64ACTOR_H
#define Z64ACTOR_H
Overhaul the build system (#234) * wip * fix * add disassembler * Disasm builds OK * Variable addends * More wip * Rodata migration implemented * Cleanup old tools * Try fix submodule -> subrepo merge * git subrepo pull --force --remote=https://github.com/zeldaret/ZAPD.git tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "602e609" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "602e609" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * Builds again but assets are totally broken * git subrepo pull --force tools/asm-processor subrepo: subdir: "tools/asm-processor" merged: "1ffdb08a" upstream: origin: "https://github.com/simonlindholm/asm-processor.git" branch: "master" commit: "1ffdb08a" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * More cleanup, move functions.txt and variables.txt to tools/disasm and rm tables * rm z64compress in preparation for subrepo * git subrepo clone (merge) https://github.com/z64me/z64compress.git tools/z64compress subrepo: subdir: "tools/z64compress" merged: "eb11085c" upstream: origin: "https://github.com/z64me/z64compress.git" branch: "main" commit: "eb11085c" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * Fix asset extraction * Fix diff-init make rule * Split code bss * Split assumed linker bug padding from assembly files * add filelists for mm.us.rev1 * Maybe working, but I'm not sure * add overlays to spec * Add rodata to actos * Everything compiles * Make a lot of C files for code * Add almost every file in code to spec * whoops * 3 code files left * add scenes to spec * More progress on progress.py * Fix skelanime in spec * audio files! * Fix merge issues * Fix some C files in code * Fix remaining code files * Use existing O1 C files in spec * reorder boot order in spec * update spec * fault.c * Convert relocs on completed actors, fixbaserom uses current rom name * more boot files * Add VT macros and script * finish already existing boot files * most of libultra * fix 64bits libultra files * Use C files for libultra, wrap some functions in NON_MATCHING * Remove duplicate of OS_CLOCK_RATE from fault.c * C files for fbdemos * delete dumb files * bootstrap C files, still need to add them to the spec * update fixbaserom * boot OK? * I forgot to commit the spec * C for gamestates * C for kaleido * Change all includes to "" * copy actor sizes script from oot * I forgot to delete those files * Basic C files for effects * Add effects initvars names * Remove mislabelled boot functions from header/txt * Begin porting bootstrap_fx, some sizes * Fix <> * Fix enum * Fix diff.py * fix libultra stuff * update regconvert * update setup warnings * add some missing ; * Fix some makefile stuff and other fixes on some non_matching functions * add executable flag in extract_baserom and fixbaserom * fix relative path * copy assist from oot * fix map path * another assist path fix * Delete C files for handwritten files * add code_801A51F0 to spec * add gfxbuffers to spec * Move rodata to top of each file when possible * UNK_TYPEs for func_801A51F0 * Remove kaleido rodata from spec * Update spec and undefined_syms for recent merge * GCC warnings and fix errors in nonmatchings, * round percentage numbers * progress script: format changes * progress: error on non-existing files * fix warning in z_scene_table * Match 2 nonmatchings in z_actor * Warnings in lightswitch and invadepoh * Fix warning in z_actor_dlftbls * I though I fixed this one * whoops * Comment out CC_CHECK * Removed redundant ultra64.h includes * Update asm_processor, sorted boot_O1 into other folders, completed the fbdemo bootstrap, cleaned up undefined_syms * Completed gamestates bootstrap * Split kaleido_scope * Remove section.h and segment.h, move keep object externs to a common location in variables.h * Completed effects bootstrap * Segmented address externs for effects, fbdemos, gamestates and kaleido * Move actor data externs out of the if 0 * Segmented address externs for actors * Prepare actionfunc detection * fix script, how did it even work before * Fix actionfunc script again, re-introduce some more intermediate prints to the disassembler * Automated actionFunc detection in actors * Segmented addresses from player .text * rm old segment addrs script and fix build * Move sizes folder to tools * Make build.py executable * New Jenkinsfile Prayge * Remove numpy dependencies * Add warnings_disasm_current.txt * my bad * Update spec and undefined_syms * Add z_eff_ss_hahen to pametfrog * git subrepo pull (merge) --force tools/z64compress subrepo: subdir: "tools/z64compress" merged: "163ca2af" upstream: origin: "https://github.com/z64me/z64compress.git" branch: "main" commit: "163ca2af" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * Make z64compress print to stdout * sneeky commit to update warnings tooling * test * Another test * Mark fixing overlay reloc generating as a TODO * Update warnings stuff * Communicate the return code from running z64compress back to the Makefile through the wrapper * Run formatter, remove extra commented copy of function * Re-fix some includes * Convert atan to hex to conform to decided style * Some tidying up, remove c for fp and the other two handwritten code files * BSS in z_collision_check & z_scene_proc * add static back in * Fix timerintr bss, add file to spec, some cleanup * Remove externs * Newline * Readd enums * Typo * Colours * Comments for hitmark enum values Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Improvements and suggestions * Organize and remove unused imports and use env for python3 scripts, delete unused overlay.py Co-authored-by: angie <angheloalf95@gmail.com> Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com> Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
2021-08-04 03:21:31 +00:00
#include "PR/ultratypes.h"
#include "z64math.h"
#include "z64animation.h"
#include "z64collision_check.h"
#include "unk.h"
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
// This value is hardcoded to be the size of ovl_Arrow_Fire which currently is the biggest actor that uses the AM_FIELD.
#define AM_FIELD_SIZE SEGMENT_SIZE(ovl_Arrow_Fire)
#define MASS_IMMOVABLE 0xFF // Cannot be pushed by OC collisions
#define MASS_HEAVY 0xFE // Can only be pushed by OC collisions with IMMOVABLE and HEAVY objects.
struct Actor;
struct PlayState;
struct Lights;
struct CollisionPoly;
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
struct EnBox;
typedef void(*ActorFunc)(struct Actor* this, struct PlayState* play);
typedef struct {
/* 0x00 */ Vec3f pos;
/* 0x0C */ Vec3s rot;
} PosRot; // size = 0x14
typedef struct {
/* 0x00 */ u8 attack[32];
} DamageTable; // size = 0x20
typedef struct {
/* 0x0 */ u8 health;
/* 0x2 */ s16 cylRadius;
/* 0x4 */ s16 cylHeight;
/* 0x6 */ u8 mass;
} CollisionCheckInfoInit; // size = 0x8
typedef struct {
/* 0x0 */ u8 health;
/* 0x2 */ s16 cylRadius;
/* 0x4 */ s16 cylHeight;
/* 0x6 */ s16 cylYShift;
/* 0x8 */ u8 mass;
} CollisionCheckInfoInit2; // size = 0xC
typedef struct {
/* 0x00 */ DamageTable* damageTable;
/* 0x04 */ Vec3f displacement;
/* 0x10 */ s16 cylRadius;
/* 0x12 */ s16 cylHeight;
/* 0x14 */ s16 cylYShift;
/* 0x16 */ u8 mass;
/* 0x17 */ u8 health;
/* 0x18 */ u8 damage;
/* 0x19 */ u8 damageEffect;
/* 0x1A */ u8 atHitEffect;
/* 0x1B */ u8 acHitEffect;
} CollisionCheckInfo; // size = 0x1C
typedef struct {
/* 0x00 */ s32 unk0;
/* 0x04 */ s32 unk4;
/* 0x08 */ f32 unk8;
/* 0x0C */ f32 unkC;
/* 0x10 */ f32 unk10;
/* 0x14 */ f32 unk14;
/* 0x18 */ f32 unk18;
/* 0x1C */ f32 unk1C;
/* 0x20 */ f32 unk20;
/* 0x24 */ f32 unk24;
/* 0x28 */ f32 unk28;
/* 0x2C */ f32 unk2C;
/* 0x30 */ s16 unk30;
/* 0x32 */ s16 unk32;
/* 0x34 */ s16 unk34;
/* 0x36 */ s16 unk36;
/* 0x38 */ s16 unk38;
/* 0x3A */ s16 unk3A;
} ActorEnTest20C; // size = 0x3C
`z_player_lib`: Part 1 (#688) * fix some symbols and file splits * PLAYER_STATE macros * Move over a few functions * AP functions and update struct * another small bunch * Add player_lib prototypes * A few more functions * Some fixes and add stuff to actorfixer * format * bss * Elliptic's review * Engineer's review * Some renames and cleanups * bss * A bit of cleaning up * Player_DrawZoraShield * format * actorfixer, bss and format * Forgot to merge master again * Rename some LinkGoron dlists * PlayerMeleeWeaponAnimation enum * format * actorfixer, bss and format * more bss * actorfixer * format * actorfixer and format * bss * Update src/code/z_player_lib.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * sEnvironmentTextTriggers * Update include/z64save.h Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Update src/code/z_player_lib.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Update src/code/z_player_lib.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Update src/code/z_player_lib.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * breman mask march comment * fix * fixes * bss * RESPAWN_MODE_RETURN * review Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * format * Engineer's review Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_player_lib.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * review Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Update include/z64player.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * review Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * format * unused mwas * fixes Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
2022-07-12 03:43:46 +00:00
typedef struct {
/* 0x0 */ s16 unk_0; // frame?
/* 0x2 */ Vec3s unk_2; // scale
`z_player_lib`: Part 1 (#688) * fix some symbols and file splits * PLAYER_STATE macros * Move over a few functions * AP functions and update struct * another small bunch * Add player_lib prototypes * A few more functions * Some fixes and add stuff to actorfixer * format * bss * Elliptic's review * Engineer's review * Some renames and cleanups * bss * A bit of cleaning up * Player_DrawZoraShield * format * actorfixer, bss and format * Forgot to merge master again * Rename some LinkGoron dlists * PlayerMeleeWeaponAnimation enum * format * actorfixer, bss and format * more bss * actorfixer * format * actorfixer and format * bss * Update src/code/z_player_lib.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * sEnvironmentTextTriggers * Update include/z64save.h Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Update src/code/z_player_lib.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Update src/code/z_player_lib.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Update src/code/z_player_lib.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * breman mask march comment * fix * fixes * bss * RESPAWN_MODE_RETURN * review Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * format * Engineer's review Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_player_lib.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * review Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Update include/z64player.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * review Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * format * unused mwas * fixes Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
2022-07-12 03:43:46 +00:00
} struct_80124618; // size = 0x8
typedef struct {
/* 0x00 */ s16 id;
/* 0x02 */ u8 type;
/* 0x04 */ u32 flags;
/* 0x08 */ s16 objectId;
/* 0x0C */ u32 instanceSize;
/* 0x10 */ ActorFunc init;
/* 0x14 */ ActorFunc destroy;
/* 0x18 */ ActorFunc update;
/* 0x1C */ ActorFunc draw;
} ActorInit; // size = 0x20
typedef enum {
ALLOCTYPE_NORMAL,
ALLOCTYPE_ABSOLUTE,
ALLOCTYPE_PERMANENT
} AllocType;
typedef struct {
/* 0x00 */ u32 vromStart;
/* 0x04 */ u32 vromEnd;
/* 0x08 */ void* vramStart;
/* 0x0C */ void* vramEnd;
/* 0x10 */ void* loadedRamAddr; // original name: "allocp"
/* 0x14 */ ActorInit* initInfo;
/* 0x18 */ char* name;
/* 0x1C */ u16 allocType; // bit 0: don't allocate memory, use actorContext->0x250? bit 1: Always keep loaded?
/* 0x1E */ s8 numLoaded; // original name: "clients"
} ActorOverlay; // size = 0x20
typedef void(*ActorShadowFunc)(struct Actor* actor, struct Lights* mapper, struct PlayState* play);
typedef struct {
/* 0x00 */ Vec3s rot; // Current actor shape rotation
/* 0x06 */ s16 face; // Used to index eyebrow/eye/mouth textures. Only used by player
/* 0x08 */ f32 yOffset; // Model y axis offset. Represents model space units
/* 0x0C */ ActorShadowFunc shadowDraw; // Shadow draw function
/* 0x10 */ f32 shadowScale; // Changes the size of the shadow
/* 0x14 */ u8 shadowAlpha; // Default is 255
/* 0x15 */ u8 feetFloorFlags; // Set if the actor's foot is clipped under the floor. & 1 is right foot, & 2 is left
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
/* 0x16 */ u8 unk_16;
/* 0x17 */ u8 unk_17;
Animation system updated, some more boot files decompiled (+6%), z_fcurve_data_skelanime decompiled (1 non-matching), some asm files split, etc (#89) * Progress on various files * gfxprint stuff * split some rodata, add iconv for rodata string parsing * z_std_dma rodata * 2 nonmatchings in gfxprint * mtxuty-cvt ok * more * match a function in idle.c * progress * Cleanup * Rename BgPolygon to CollisionPoly * progress * some effect stuff * more effect progress * updates * made suggested changes * z_effect_soft_sprite_old_init mostly ok * remove old effects enum * gamealloc.c OK * added more files * motor.c almost done * motor.c OK * updates * migration of two files * listalloc.c oK * z_fcurve_data_skelanime split * z_fcurve_data_skelanime.c decompiled * more files split * z_malloc.c OK * contpfs.c OK * fault.c rodata migrated * migrated fault_drawer rodata * update * update preprocess.py * renamed functions in z_skelanime * started z_skelanime cleanup * like halfway through fixing z_skelanime * animation system updated to meet oot standards * remove unused animation structs * rename matrix structs to fit oot * Add -woff 712 * fix diff_settings.py because i accidentally broke it before * fixed merge conflict, doesn't match though * It matches now * Updates * Fixed warnings...added gcc code syntax checking * Remove gcc check, added in Tharo's PR * warnings fixed (i think) * fixed all warnings i think * ok * not sure what to do * Fix all warnings i think (z_en_a_keep needs some file cleanup thouguh) * it matches if i do this * remove comment * accidentally put osPfsFreeBlocks in epilinkhandle.c * memcmp -> bcmp * change u32 size to size_t size, delete string.h because it caused unnecessary confusion with defining size_t twice * format.sh * MTXMODE_NEW and MTXMODE_APPLY to matrix functions * Made suggested changes * pragma sFaultDrawerFont instead of including in repo * add some functions to functions.h * Bss reordering fixed in z_collision_check...added hack to disasm.py * Updated z_en_a_keep.c * Missed suggestion in EnAObj_Destroy * . * update z_fcurve_Data_skelanime and z_skelanime with suggestions * devmgr.c ok * minor changes * Addressed comments * remove redundant file * gfxp -> dlist in game.c * updated actorfixer.py * fixed warnings in z_malloc * Change void* back to Actor* * format * Add the soft_sprit comments back * Rename SV->Flex * remove .common * run format * Update src/code/z_skelanime.c * u32 channel Co-authored-by: Lucas Shaw <lucas.shaw1123@gmail.com> Co-authored-by: angie <angheloalf95@gmail.com> Co-authored-by: Kenix3 <kenixwhisperwind@gmail.com>
2021-10-24 14:59:14 +00:00
/* 0x18 */ Vec3f feetPos[2]; // Update by using `Actor_SetFeetPos` in PostLimbDrawOpa
} ActorShape; // size = 0x30
typedef struct Actor {
/* 0x000 */ s16 id; // Actor ID
/* 0x002 */ u8 category; // Actor category. Refer to the corresponding enum for values
/* 0x003 */ s8 room; // Room number the actor is in. -1 denotes that the actor won't despawn on a room change
/* 0x004 */ u32 flags; // Flags used for various purposes
/* 0x008 */ PosRot home; // Initial position/rotation when spawned. Can be used for other purposes
/* 0x01C */ s16 params; // Configurable variable set by the actor's spawn data; original name: "args_data"
/* 0x01E */ s8 objBankIndex; // Object bank index of the actor's object dependency; original name: "bank"
/* 0x01F */ s8 targetMode; // Controls how far the actor can be targeted from and how far it can stay locked on
/* 0x020 */ s16 unk20;
/* 0x024 */ PosRot world; // Position/rotation in the world
/* 0x038 */ s8 cutscene;
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
/* 0x039 */ u8 audioFlags; // Another set of flags? Seems related to sfx or bgm
/* 0x03C */ PosRot focus; // Target reticle focuses on this position. For player this represents head pos and rot
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
/* 0x050 */ u16 sfxId; // Id of sound effect to play. Plays when value is set, then is cleared the following update cycle
/* 0x054 */ f32 targetArrowOffset; // Height offset of the target arrow relative to `focus` position
/* 0x058 */ Vec3f scale; // Scale of the actor in each axis
/* 0x064 */ Vec3f velocity; // Velocity of the actor in each axis
/* 0x070 */ f32 speedXZ; // How fast the actor is traveling along the XZ plane
/* 0x074 */ f32 gravity; // Acceleration due to gravity. Value is added to Y velocity every frame
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
/* 0x078 */ f32 terminalVelocity; // Sets the lower bounds cap on velocity along the Y axis
/* 0x07C */ struct CollisionPoly* wallPoly; // Wall polygon the actor is touching
/* 0x080 */ struct CollisionPoly* floorPoly; // Floor polygon directly below the actor
/* 0x084 */ u8 wallBgId; // Bg ID of the wall polygon the actor is touching
/* 0x085 */ u8 floorBgId; // Bg ID of the floor polygon directly below the actor
/* 0x086 */ s16 wallYaw; // Y rotation of the wall polygon the actor is touching
/* 0x088 */ f32 floorHeight; // Y position of the floor polygon directly below the actor
/* 0x08C */ f32 depthInWater; // Directed distance to the surface of active waterbox. Negative value means water is below.
/* 0x090 */ u16 bgCheckFlags; // See comments below actor struct for wip docs. TODO: macros for these flags
/* 0x092 */ s16 yawTowardsPlayer; // Y rotation difference between the actor and the player
/* 0x094 */ f32 xyzDistToPlayerSq; // Squared distance between the actor and the player in the x,y,z axis
/* 0x098 */ f32 xzDistToPlayer; // Distance between the actor and the player in the XZ plane
/* 0x09C */ f32 playerHeightRel; // Directed distance is negative if the player is below.
/* 0x0A0 */ CollisionCheckInfo colChkInfo; // Variables related to the Collision Check system
/* 0x0BC */ ActorShape shape; // Variables related to the physical shape of the actor
/* 0x0EC */ Vec3f projectedPos; // Position of the actor in projected space
/* 0x0F8 */ f32 projectedW; // w component of the projected actor position
/* 0x0FC */ f32 uncullZoneForward; // Amount to increase the uncull zone forward by (in projected space)
/* 0x100 */ f32 uncullZoneScale; // Amount to increase the uncull zone scale by (in projected space)
/* 0x104 */ f32 uncullZoneDownward; // Amount to increase uncull zone downward by (in projected space)
/* 0x108 */ Vec3f prevPos; // World position from the previous update cycle
/* 0x114 */ u8 isTargeted; // Set to true if the actor is currently being targeted by the player
/* 0x115 */ u8 targetPriority; // Lower values have higher priority. Resets to 0 when player stops targeting
/* 0x116 */ u16 textId; // Text ID to pass to link/display when interacting with the actor
/* 0x118 */ u16 freezeTimer; // Actor does not update when set. Timer decrements automatically
/* 0x11A */ u16 colorFilterParams; // Set color filter to red, blue, or white. Toggle opa or xlu
/* 0x11C */ u8 colorFilterTimer; // A non-zero value enables the color filter. Decrements automatically
/* 0x11D */ u8 isDrawn; // Set to true if the actor is currently being drawn. Always stays false for lens actors
/* 0x11E */ u8 dropFlag; // Configures what item is dropped by the actor from `Item_DropCollectibleRandom`
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
/* 0x11F */ u8 hintId; // Sets what 0600 dialog to display when talking to Tatl. Default 0xFF
/* 0x120 */ struct Actor* parent; // Usage is actor specific. Set if actor is spawned via `Actor_SpawnAsChild`
/* 0x124 */ struct Actor* child; // Usage is actor specific. Set if actor is spawned via `Actor_SpawnAsChild`
/* 0x128 */ struct Actor* prev; // Previous actor of this category
/* 0x12C */ struct Actor* next; // Next actor of this category
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
/* 0x130 */ ActorFunc init; // Initialization Routine. Called by `Actor_InitContext` or `Actor_UpdateAll`
/* 0x134 */ ActorFunc destroy; // Destruction Routine. Called by `Actor_Destroy`
/* 0x138 */ ActorFunc update; // Update Routine. Called by `Actor_UpdateAll`
/* 0x13C */ ActorFunc draw; // Draw Routine. Called by `Actor_Draw`
/* 0x140 */ ActorOverlay* overlayEntry; // Pointer to the overlay table entry for this actor
} Actor; // size = 0x144
typedef enum {
/* 0 */ FOOT_LEFT,
/* 1 */ FOOT_RIGHT
} ActorFootIndex;
/**
* BgCheckFlags WIP documentation (logical masks):
* 0x001 : Standing on the ground
* 0x002 : Has touched the ground (only active for 1 frame)
* 0x004 : Has left the ground (only active for 1 frame)
* 0x008 : Touching a wall
* 0x010 : Touching a ceiling
* 0x020 : On or below water surface
* 0x040 : Has touched water (actor is responsible for unsetting this the frame it touches the water)
* 0x080 : Similar to & 0x1 but with no velocity check and is cleared every frame
* 0x100 : Crushed between a floor and ceiling (triggers a void for player)
* 0x200 : Unknown (only set/used by player so far)
*/
typedef struct {
/* 0x000 */ Actor actor;
/* 0x144 */ s32 bgId;
/* 0x148 */ f32 pushForce;
/* 0x14C */ f32 unk14C;
/* 0x150 */ s16 yRotation;
/* 0x152 */ u16 unk152;
/* 0x154 */ u32 flags;
/* 0x158 */ u8 stateFlags;
/* 0x15A */ s16 pad15A;
} DynaPolyActor; // size = 0x15C
typedef enum {
/* 0x00 */ ITEM00_RUPEE_GREEN,
/* 0x01 */ ITEM00_RUPEE_BLUE,
/* 0x02 */ ITEM00_RUPEE_RED,
/* 0x03 */ ITEM00_RECOVERY_HEART,
/* 0x04 */ ITEM00_BOMBS_A,
/* 0x05 */ ITEM00_ARROWS_10,
/* 0x06 */ ITEM00_HEART_PIECE,
/* 0x07 */ ITEM00_HEART_CONTAINER,
/* 0x08 */ ITEM00_ARROWS_30,
/* 0x09 */ ITEM00_ARROWS_40,
/* 0x0A */ ITEM00_ARROWS_50,
/* 0x0B */ ITEM00_BOMBS_B,
/* 0x0C */ ITEM00_NUTS_1,
/* 0x0D */ ITEM00_STICK,
/* 0x0E */ ITEM00_MAGIC_LARGE,
/* 0x0F */ ITEM00_MAGIC_SMALL,
/* 0x10 */ ITEM00_MASK,
/* 0x11 */ ITEM00_SMALL_KEY,
/* 0x12 */ ITEM00_FLEXIBLE,
/* 0x13 */ ITEM00_RUPEE_HUGE,
/* 0x14 */ ITEM00_RUPEE_PURPLE,
/* 0x15 */ ITEM00_3_HEARTS,
/* 0x16 */ ITEM00_SHIELD_HERO,
/* 0x17 */ ITEM00_NUTS_10,
/* 0x18 */ ITEM00_NOTHING,
/* 0x19 */ ITEM00_BOMBS_0,
/* 0x1A */ ITEM00_BIG_FAIRY,
/* 0x1B */ ITEM00_MAP,
/* 0x1C */ ITEM00_COMPASS,
/* 0x1D */ ITEM00_MUSHROOM_CLOUD,
/* 0xFF */ ITEM00_NO_DROP = -1
} Item00Type;
struct EnItem00;
typedef void (*EnItem00ActionFunc)(struct EnItem00*, struct PlayState*);
#define ENITEM00_GET_8000(thisx) ((thisx)->params & 0x8000)
#define ENITEM00_GET_7F00(thisx) (((thisx)->params & 0x7F00) >> 8)
typedef struct EnItem00 {
/* 0x000 */ Actor actor;
/* 0x144 */ EnItem00ActionFunc actionFunc;
/* 0x148 */ s16 collectibleFlag;
/* 0x14A */ s16 getItemId;
/* 0x14C */ s16 unk14C;
/* 0x14E */ s16 unk14E;
/* 0x150 */ s16 unk150;
/* 0x152 */ s16 unk152;
/* 0x154 */ f32 unk154;
/* 0x158 */ ColliderCylinder collider;
/* 0x1A4 */ s8 unk1A4;
} EnItem00; // size = 0x1A8
Animation system updated, some more boot files decompiled (+6%), z_fcurve_data_skelanime decompiled (1 non-matching), some asm files split, etc (#89) * Progress on various files * gfxprint stuff * split some rodata, add iconv for rodata string parsing * z_std_dma rodata * 2 nonmatchings in gfxprint * mtxuty-cvt ok * more * match a function in idle.c * progress * Cleanup * Rename BgPolygon to CollisionPoly * progress * some effect stuff * more effect progress * updates * made suggested changes * z_effect_soft_sprite_old_init mostly ok * remove old effects enum * gamealloc.c OK * added more files * motor.c almost done * motor.c OK * updates * migration of two files * listalloc.c oK * z_fcurve_data_skelanime split * z_fcurve_data_skelanime.c decompiled * more files split * z_malloc.c OK * contpfs.c OK * fault.c rodata migrated * migrated fault_drawer rodata * update * update preprocess.py * renamed functions in z_skelanime * started z_skelanime cleanup * like halfway through fixing z_skelanime * animation system updated to meet oot standards * remove unused animation structs * rename matrix structs to fit oot * Add -woff 712 * fix diff_settings.py because i accidentally broke it before * fixed merge conflict, doesn't match though * It matches now * Updates * Fixed warnings...added gcc code syntax checking * Remove gcc check, added in Tharo's PR * warnings fixed (i think) * fixed all warnings i think * ok * not sure what to do * Fix all warnings i think (z_en_a_keep needs some file cleanup thouguh) * it matches if i do this * remove comment * accidentally put osPfsFreeBlocks in epilinkhandle.c * memcmp -> bcmp * change u32 size to size_t size, delete string.h because it caused unnecessary confusion with defining size_t twice * format.sh * MTXMODE_NEW and MTXMODE_APPLY to matrix functions * Made suggested changes * pragma sFaultDrawerFont instead of including in repo * add some functions to functions.h * Bss reordering fixed in z_collision_check...added hack to disasm.py * Updated z_en_a_keep.c * Missed suggestion in EnAObj_Destroy * . * update z_fcurve_Data_skelanime and z_skelanime with suggestions * devmgr.c ok * minor changes * Addressed comments * remove redundant file * gfxp -> dlist in game.c * updated actorfixer.py * fixed warnings in z_malloc * Change void* back to Actor* * format * Add the soft_sprit comments back * Rename SV->Flex * remove .common * run format * Update src/code/z_skelanime.c * u32 channel Co-authored-by: Lucas Shaw <lucas.shaw1123@gmail.com> Co-authored-by: angie <angheloalf95@gmail.com> Co-authored-by: Kenix3 <kenixwhisperwind@gmail.com>
2021-10-24 14:59:14 +00:00
struct EnAObj;
typedef void (*EnAObjActionFunc)(struct EnAObj*, struct PlayState*);
Animation system updated, some more boot files decompiled (+6%), z_fcurve_data_skelanime decompiled (1 non-matching), some asm files split, etc (#89) * Progress on various files * gfxprint stuff * split some rodata, add iconv for rodata string parsing * z_std_dma rodata * 2 nonmatchings in gfxprint * mtxuty-cvt ok * more * match a function in idle.c * progress * Cleanup * Rename BgPolygon to CollisionPoly * progress * some effect stuff * more effect progress * updates * made suggested changes * z_effect_soft_sprite_old_init mostly ok * remove old effects enum * gamealloc.c OK * added more files * motor.c almost done * motor.c OK * updates * migration of two files * listalloc.c oK * z_fcurve_data_skelanime split * z_fcurve_data_skelanime.c decompiled * more files split * z_malloc.c OK * contpfs.c OK * fault.c rodata migrated * migrated fault_drawer rodata * update * update preprocess.py * renamed functions in z_skelanime * started z_skelanime cleanup * like halfway through fixing z_skelanime * animation system updated to meet oot standards * remove unused animation structs * rename matrix structs to fit oot * Add -woff 712 * fix diff_settings.py because i accidentally broke it before * fixed merge conflict, doesn't match though * It matches now * Updates * Fixed warnings...added gcc code syntax checking * Remove gcc check, added in Tharo's PR * warnings fixed (i think) * fixed all warnings i think * ok * not sure what to do * Fix all warnings i think (z_en_a_keep needs some file cleanup thouguh) * it matches if i do this * remove comment * accidentally put osPfsFreeBlocks in epilinkhandle.c * memcmp -> bcmp * change u32 size to size_t size, delete string.h because it caused unnecessary confusion with defining size_t twice * format.sh * MTXMODE_NEW and MTXMODE_APPLY to matrix functions * Made suggested changes * pragma sFaultDrawerFont instead of including in repo * add some functions to functions.h * Bss reordering fixed in z_collision_check...added hack to disasm.py * Updated z_en_a_keep.c * Missed suggestion in EnAObj_Destroy * . * update z_fcurve_Data_skelanime and z_skelanime with suggestions * devmgr.c ok * minor changes * Addressed comments * remove redundant file * gfxp -> dlist in game.c * updated actorfixer.py * fixed warnings in z_malloc * Change void* back to Actor* * format * Add the soft_sprit comments back * Rename SV->Flex * remove .common * run format * Update src/code/z_skelanime.c * u32 channel Co-authored-by: Lucas Shaw <lucas.shaw1123@gmail.com> Co-authored-by: angie <angheloalf95@gmail.com> Co-authored-by: Kenix3 <kenixwhisperwind@gmail.com>
2021-10-24 14:59:14 +00:00
typedef struct EnAObj {
/* 0x000 */ Actor actor;
/* 0x144 */ EnAObjActionFunc actionFunc;
/* 0x148 */ ColliderCylinder collision;
/* 0x194 */ UNK_TYPE1 pad194[0x14];
Animation system updated, some more boot files decompiled (+6%), z_fcurve_data_skelanime decompiled (1 non-matching), some asm files split, etc (#89) * Progress on various files * gfxprint stuff * split some rodata, add iconv for rodata string parsing * z_std_dma rodata * 2 nonmatchings in gfxprint * mtxuty-cvt ok * more * match a function in idle.c * progress * Cleanup * Rename BgPolygon to CollisionPoly * progress * some effect stuff * more effect progress * updates * made suggested changes * z_effect_soft_sprite_old_init mostly ok * remove old effects enum * gamealloc.c OK * added more files * motor.c almost done * motor.c OK * updates * migration of two files * listalloc.c oK * z_fcurve_data_skelanime split * z_fcurve_data_skelanime.c decompiled * more files split * z_malloc.c OK * contpfs.c OK * fault.c rodata migrated * migrated fault_drawer rodata * update * update preprocess.py * renamed functions in z_skelanime * started z_skelanime cleanup * like halfway through fixing z_skelanime * animation system updated to meet oot standards * remove unused animation structs * rename matrix structs to fit oot * Add -woff 712 * fix diff_settings.py because i accidentally broke it before * fixed merge conflict, doesn't match though * It matches now * Updates * Fixed warnings...added gcc code syntax checking * Remove gcc check, added in Tharo's PR * warnings fixed (i think) * fixed all warnings i think * ok * not sure what to do * Fix all warnings i think (z_en_a_keep needs some file cleanup thouguh) * it matches if i do this * remove comment * accidentally put osPfsFreeBlocks in epilinkhandle.c * memcmp -> bcmp * change u32 size to size_t size, delete string.h because it caused unnecessary confusion with defining size_t twice * format.sh * MTXMODE_NEW and MTXMODE_APPLY to matrix functions * Made suggested changes * pragma sFaultDrawerFont instead of including in repo * add some functions to functions.h * Bss reordering fixed in z_collision_check...added hack to disasm.py * Updated z_en_a_keep.c * Missed suggestion in EnAObj_Destroy * . * update z_fcurve_Data_skelanime and z_skelanime with suggestions * devmgr.c ok * minor changes * Addressed comments * remove redundant file * gfxp -> dlist in game.c * updated actorfixer.py * fixed warnings in z_malloc * Change void* back to Actor* * format * Add the soft_sprit comments back * Rename SV->Flex * remove .common * run format * Update src/code/z_skelanime.c * u32 channel Co-authored-by: Lucas Shaw <lucas.shaw1123@gmail.com> Co-authored-by: angie <angheloalf95@gmail.com> Co-authored-by: Kenix3 <kenixwhisperwind@gmail.com>
2021-10-24 14:59:14 +00:00
} EnAObj; // size = 0x1A8
typedef enum {
/* 0x00 */ ACTORCAT_SWITCH,
/* 0x01 */ ACTORCAT_BG,
/* 0x02 */ ACTORCAT_PLAYER,
/* 0x03 */ ACTORCAT_EXPLOSIVES,
/* 0x04 */ ACTORCAT_NPC,
/* 0x05 */ ACTORCAT_ENEMY,
/* 0x06 */ ACTORCAT_PROP,
/* 0x07 */ ACTORCAT_ITEMACTION,
/* 0x08 */ ACTORCAT_MISC,
/* 0x09 */ ACTORCAT_BOSS,
/* 0x0A */ ACTORCAT_DOOR,
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
/* 0x0B */ ACTORCAT_CHEST,
/* 0x0C */ ACTORCAT_MAX
} ActorType;
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
typedef struct {
/* 0x00 */ Vec3f pos;
/* 0x0C */ f32 unkC;
/* 0x10 */ Color_RGBA8 color;
} TargetContextEntry; // size = 0x14
typedef struct TargetContext {
/* 0x00 */ Vec3f unk0;
/* 0x0C */ Vec3f targetCenterPos;
/* 0x18 */ Color_RGBAf fairyInner;
/* 0x28 */ Color_RGBAf fairyOuter;
/* 0x38 */ Actor* arrowPointedActor;
/* 0x3C */ Actor* targetedActor;
/* 0x40 */ f32 unk40;
/* 0x44 */ f32 unk44;
/* 0x48 */ s16 unk48; // alpha
/* 0x4A */ u8 unk4A;
/* 0x4B */ u8 unk4B;
/* 0x4C */ s8 unk4C;
/* 0x4D */ UNK_TYPE1 pad4D[0x3];
/* 0x50 */ TargetContextEntry unk50[3];
/* 0x8C */ Actor* unk8C;
/* 0x90 */ Actor* bgmEnemy;
/* 0x94 */ Actor* unk_94;
} TargetContext; // size = 0x98
typedef struct {
/* 0x0 */ TexturePtr texture;
/* 0x4 */ s16 x;
/* 0x6 */ s16 y;
/* 0x8 */ u8 width;
/* 0x9 */ u8 height;
/* 0xA */ u8 durationTimer; // how long the title card appears for before fading
/* 0xB */ u8 delayTimer; // how long the title card waits to appear
/* 0xC */ s16 alpha;
/* 0xE */ s16 intensity;
} TitleCardContext; // size = 0x10
typedef struct ActorContext_unk_20C {
/* 0x0 */ s16 id;
/* 0x2 */ s8 isDynamicallyInitialised;
/* 0x4 */ void* ptr;
} ActorContext_unk_20C; // size = 0x8
typedef struct ActorContextFlags {
/* 0x00 */ u32 switches[4]; // First 0x40 are permanent, second 0x40 are temporary
/* 0x10 */ u32 chest;
/* 0x14 */ u32 clearedRoom;
/* 0x18 */ u32 clearedRoomTemp;
/* 0x1C */ u32 collectible[4]; // bitfield of 128 bits
} ActorContextFlags; // size = 0x2C
typedef struct ActorListEntry {
/* 0x0 */ s32 length; // number of actors loaded of this type
/* 0x4 */ Actor* first; // pointer to first actor of this type
/* 0x8 */ s32 unk_08;
} ActorListEntry; // size = 0xC
// Target size when activated
#define LENS_MASK_ACTIVE_SIZE 100
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
typedef struct ActorContext {
/* 0x000 */ u8 freezeFlashTimer;
/* 0x001 */ UNK_TYPE1 pad1;
/* 0x002 */ u8 unk2;
/* 0x003 */ u8 lensActive;
/* 0x004 */ s8 lensMaskSize; // The size of the circle when drawn the lens mask. Larger value leads to a smaller circle
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
/* 0x005 */ u8 unk5;
/* 0x006 */ UNK_TYPE1 pad6[0x5];
/* 0x00B */ s8 lensActorsDrawn;
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
/* 0x00C */ s16 unkC;
/* 0x00E */ u8 totalLoadedActors;
/* 0x00F */ u8 undrawnActorCount;
/* 0x010 */ ActorListEntry actorLists[ACTORCAT_MAX];
/* 0x0A0 */ Actor* undrawnActors[32]; // Records the first 32 actors drawn each frame
/* 0x120 */ TargetContext targetContext;
/* 0x1B8 */ ActorContextFlags flags;
/* 0x1E4 */ TitleCardContext titleCtxt;
/* 0x1F4 */ u8 unk1F4;
/* 0x1F5 */ u8 unk1F5;
/* 0x1F6 */ UNK_TYPE1 pad1F6[0x2];
/* 0x1F8 */ f32 unk1F8;
/* 0x1FC */ Vec3f unk1FC;
/* 0x208 */ UNK_TYPE1 unk_208[0x4];
/* 0x20C */ ActorContext_unk_20C unk_20C[8];
/* 0x24C */ UNK_TYPE1 unk_24C[0x4];
/* 0x250 */ void* absoluteSpace; // Space used to allocate actor overlays of alloc type ALLOCTYPE_ABSOLUTE
/* 0x254 */ u32 unk254[5];
/* 0x268 */ u8 unk268;
/* 0x269 */ UNK_TYPE1 pad269[0x3];
/* 0x26C */ Input unk_26C;
} ActorContext; // size = 0x284
typedef enum {
/* 0 */ ACTOR_DRAW_DMGEFF_FIRE,
/* 1 */ ACTOR_DRAW_DMGEFF_BLUE_FIRE,
/* 10 */ ACTOR_DRAW_DMGEFF_FROZEN_NO_SFX = 10,
/* 11 */ ACTOR_DRAW_DMGEFF_FROZEN_SFX,
/* 20 */ ACTOR_DRAW_DMGEFF_LIGHT_ORBS = 20,
/* 21 */ ACTOR_DRAW_DMGEFF_BLUE_LIGHT_ORBS,
/* 30 */ ACTOR_DRAW_DMGEFF_ELECTRIC_SPARKS_SMALL = 30,
/* 31 */ ACTOR_DRAW_DMGEFF_ELECTRIC_SPARKS_MEDIUM,
/* 32 */ ACTOR_DRAW_DMGEFF_ELECTRIC_SPARKS_LARGE
} ActorDrawDamageEffectType;
typedef enum {
/* 0x000 */ ACTOR_PLAYER,
/* 0x001 */ ACTOR_EN_TEST,
/* 0x002 */ ACTOR_EN_GIRLA,
/* 0x003 */ ACTOR_EN_PART,
/* 0x004 */ ACTOR_EN_LIGHT,
/* 0x005 */ ACTOR_EN_DOOR,
/* 0x006 */ ACTOR_EN_BOX,
/* 0x007 */ ACTOR_EN_PAMETFROG,
/* 0x008 */ ACTOR_EN_OKUTA,
/* 0x009 */ ACTOR_EN_BOM,
/* 0x00A */ ACTOR_EN_WALLMAS,
/* 0x00B */ ACTOR_EN_DODONGO,
/* 0x00C */ ACTOR_EN_FIREFLY,
/* 0x00D */ ACTOR_EN_HORSE,
/* 0x00E */ ACTOR_EN_ITEM00,
/* 0x00F */ ACTOR_EN_ARROW,
/* 0x010 */ ACTOR_EN_ELF,
/* 0x011 */ ACTOR_EN_NIW,
/* 0x012 */ ACTOR_EN_TITE,
/* 0x013 */ ACTOR_UNSET_13,
/* 0x014 */ ACTOR_EN_PEEHAT,
/* 0x015 */ ACTOR_EN_BUTTE,
/* 0x016 */ ACTOR_EN_INSECT,
/* 0x017 */ ACTOR_EN_FISH,
/* 0x018 */ ACTOR_EN_HOLL,
/* 0x019 */ ACTOR_EN_DINOFOS,
/* 0x01A */ ACTOR_EN_HATA,
/* 0x01B */ ACTOR_EN_ZL1,
/* 0x01C */ ACTOR_EN_VIEWER,
/* 0x01D */ ACTOR_EN_BUBBLE,
/* 0x01E */ ACTOR_DOOR_SHUTTER,
/* 0x01F */ ACTOR_UNSET_1F,
/* 0x020 */ ACTOR_EN_BOOM,
/* 0x021 */ ACTOR_EN_TORCH2,
/* 0x022 */ ACTOR_EN_MINIFROG,
/* 0x023 */ ACTOR_UNSET_23,
/* 0x024 */ ACTOR_EN_ST,
/* 0x025 */ ACTOR_UNSET_25,
/* 0x026 */ ACTOR_EN_A_OBJ,
/* 0x027 */ ACTOR_OBJ_WTURN,
/* 0x028 */ ACTOR_EN_RIVER_SOUND,
/* 0x029 */ ACTOR_UNSET_29,
/* 0x02A */ ACTOR_EN_OSSAN,
/* 0x02B */ ACTOR_UNSET_2B,
/* 0x02C */ ACTOR_UNSET_2C,
/* 0x02D */ ACTOR_EN_FAMOS,
/* 0x02E */ ACTOR_UNSET_2E,
/* 0x02F */ ACTOR_EN_BOMBF,
/* 0x030 */ ACTOR_UNSET_30,
/* 0x031 */ ACTOR_UNSET_31,
/* 0x032 */ ACTOR_EN_AM,
/* 0x033 */ ACTOR_EN_DEKUBABA,
/* 0x034 */ ACTOR_EN_M_FIRE1,
/* 0x035 */ ACTOR_EN_M_THUNDER,
/* 0x036 */ ACTOR_BG_BREAKWALL,
/* 0x037 */ ACTOR_UNSET_37,
/* 0x038 */ ACTOR_DOOR_WARP1,
/* 0x039 */ ACTOR_OBJ_SYOKUDAI,
/* 0x03A */ ACTOR_ITEM_B_HEART,
/* 0x03B */ ACTOR_EN_DEKUNUTS,
/* 0x03C */ ACTOR_EN_BBFALL,
/* 0x03D */ ACTOR_ARMS_HOOK,
/* 0x03E */ ACTOR_EN_BB,
/* 0x03F */ ACTOR_BG_KEIKOKU_SPR,
/* 0x040 */ ACTOR_UNSET_40,
/* 0x041 */ ACTOR_EN_WOOD02,
/* 0x042 */ ACTOR_UNSET_42,
/* 0x043 */ ACTOR_EN_DEATH,
/* 0x044 */ ACTOR_EN_MINIDEATH,
/* 0x045 */ ACTOR_UNSET_45,
/* 0x046 */ ACTOR_UNSET_46,
/* 0x047 */ ACTOR_EN_VM,
/* 0x048 */ ACTOR_DEMO_EFFECT,
/* 0x049 */ ACTOR_DEMO_KANKYO,
/* 0x04A */ ACTOR_EN_FLOORMAS,
/* 0x04B */ ACTOR_UNSET_4B,
/* 0x04C */ ACTOR_EN_RD,
/* 0x04D */ ACTOR_BG_F40_FLIFT,
/* 0x04E */ ACTOR_UNSET_4E,
/* 0x04F */ ACTOR_OBJ_MURE,
/* 0x050 */ ACTOR_EN_SW,
/* 0x051 */ ACTOR_OBJECT_KANKYO,
/* 0x052 */ ACTOR_UNSET_52,
/* 0x053 */ ACTOR_UNSET_53,
/* 0x054 */ ACTOR_EN_HORSE_LINK_CHILD,
/* 0x055 */ ACTOR_DOOR_ANA,
/* 0x056 */ ACTOR_UNSET_56,
/* 0x057 */ ACTOR_UNSET_57,
/* 0x058 */ ACTOR_UNSET_58,
/* 0x059 */ ACTOR_UNSET_59,
/* 0x05A */ ACTOR_UNSET_5A,
/* 0x05B */ ACTOR_EN_ENCOUNT1,
/* 0x05C */ ACTOR_DEMO_TRE_LGT,
/* 0x05D */ ACTOR_UNSET_5D,
/* 0x05E */ ACTOR_UNSET_5E,
/* 0x05F */ ACTOR_EN_ENCOUNT2,
/* 0x060 */ ACTOR_EN_FIRE_ROCK,
/* 0x061 */ ACTOR_BG_CTOWER_ROT,
/* 0x062 */ ACTOR_MIR_RAY,
/* 0x063 */ ACTOR_UNSET_63,
/* 0x064 */ ACTOR_EN_SB,
/* 0x065 */ ACTOR_EN_BIGSLIME,
/* 0x066 */ ACTOR_EN_KAREBABA,
/* 0x067 */ ACTOR_EN_IN,
/* 0x068 */ ACTOR_UNSET_68,
/* 0x069 */ ACTOR_EN_RU,
/* 0x06A */ ACTOR_EN_BOM_CHU,
/* 0x06B */ ACTOR_EN_HORSE_GAME_CHECK,
/* 0x06C */ ACTOR_EN_RR,
/* 0x06D */ ACTOR_UNSET_6D,
/* 0x06E */ ACTOR_UNSET_6E,
/* 0x06F */ ACTOR_UNSET_6F,
/* 0x070 */ ACTOR_UNSET_70,
/* 0x071 */ ACTOR_UNSET_71,
/* 0x072 */ ACTOR_UNSET_72,
/* 0x073 */ ACTOR_EN_FR,
/* 0x074 */ ACTOR_UNSET_74,
/* 0x075 */ ACTOR_UNSET_75,
/* 0x076 */ ACTOR_UNSET_76,
/* 0x077 */ ACTOR_UNSET_77,
/* 0x078 */ ACTOR_UNSET_78,
/* 0x079 */ ACTOR_EN_FISHING,
/* 0x07A */ ACTOR_OBJ_OSHIHIKI,
/* 0x07B */ ACTOR_EFF_DUST,
/* 0x07C */ ACTOR_BG_UMAJUMP,
/* 0x07D */ ACTOR_ARROW_FIRE,
/* 0x07E */ ACTOR_ARROW_ICE,
/* 0x07F */ ACTOR_ARROW_LIGHT,
/* 0x080 */ ACTOR_ITEM_ETCETERA,
/* 0x081 */ ACTOR_OBJ_KIBAKO,
/* 0x082 */ ACTOR_OBJ_TSUBO,
/* 0x083 */ ACTOR_UNSET_83,
/* 0x084 */ ACTOR_EN_IK,
/* 0x085 */ ACTOR_UNSET_85,
/* 0x086 */ ACTOR_UNSET_86,
/* 0x087 */ ACTOR_UNSET_87,
/* 0x088 */ ACTOR_UNSET_88,
/* 0x089 */ ACTOR_DEMO_SHD,
/* 0x08A */ ACTOR_EN_DNS,
/* 0x08B */ ACTOR_ELF_MSG,
/* 0x08C */ ACTOR_EN_HONOTRAP,
/* 0x08D */ ACTOR_EN_TUBO_TRAP,
/* 0x08E */ ACTOR_OBJ_ICE_POLY,
/* 0x08F */ ACTOR_EN_FZ,
/* 0x090 */ ACTOR_EN_KUSA,
/* 0x091 */ ACTOR_OBJ_BEAN,
/* 0x092 */ ACTOR_OBJ_BOMBIWA,
/* 0x093 */ ACTOR_OBJ_SWITCH,
/* 0x094 */ ACTOR_UNSET_94,
/* 0x095 */ ACTOR_OBJ_LIFT,
/* 0x096 */ ACTOR_OBJ_HSBLOCK,
/* 0x097 */ ACTOR_EN_OKARINA_TAG,
/* 0x098 */ ACTOR_UNSET_98,
/* 0x099 */ ACTOR_EN_GOROIWA,
/* 0x09A */ ACTOR_UNSET_9A,
/* 0x09B */ ACTOR_UNSET_9B,
/* 0x09C */ ACTOR_EN_DAIKU,
/* 0x09D */ ACTOR_EN_NWC,
/* 0x09E */ ACTOR_ITEM_INBOX,
/* 0x09F */ ACTOR_EN_GE1,
/* 0x0A0 */ ACTOR_OBJ_BLOCKSTOP,
/* 0x0A1 */ ACTOR_EN_SDA,
/* 0x0A2 */ ACTOR_EN_CLEAR_TAG,
/* 0x0A3 */ ACTOR_UNSET_A3,
/* 0x0A4 */ ACTOR_EN_GM,
/* 0x0A5 */ ACTOR_EN_MS,
/* 0x0A6 */ ACTOR_EN_HS,
/* 0x0A7 */ ACTOR_BG_INGATE,
/* 0x0A8 */ ACTOR_EN_KANBAN,
/* 0x0A9 */ ACTOR_UNSET_A9,
/* 0x0AA */ ACTOR_EN_ATTACK_NIW,
/* 0x0AB */ ACTOR_UNSET_AB,
/* 0x0AC */ ACTOR_UNSET_AC,
/* 0x0AD */ ACTOR_UNSET_AD,
/* 0x0AE */ ACTOR_EN_MK,
/* 0x0AF */ ACTOR_EN_OWL,
/* 0x0B0 */ ACTOR_EN_ISHI,
/* 0x0B1 */ ACTOR_OBJ_HANA,
/* 0x0B2 */ ACTOR_OBJ_LIGHTSWITCH,
/* 0x0B3 */ ACTOR_OBJ_MURE2,
/* 0x0B4 */ ACTOR_UNSET_B4,
/* 0x0B5 */ ACTOR_EN_FU,
/* 0x0B6 */ ACTOR_UNSET_B6,
/* 0x0B7 */ ACTOR_UNSET_B7,
/* 0x0B8 */ ACTOR_EN_STREAM,
/* 0x0B9 */ ACTOR_EN_MM,
/* 0x0BA */ ACTOR_UNSET_BA,
/* 0x0BB */ ACTOR_UNSET_BB,
/* 0x0BC */ ACTOR_EN_WEATHER_TAG,
/* 0x0BD */ ACTOR_EN_ANI,
/* 0x0BE */ ACTOR_UNSET_BE,
/* 0x0BF */ ACTOR_EN_JS,
/* 0x0C0 */ ACTOR_UNSET_C0,
/* 0x0C1 */ ACTOR_UNSET_C1,
/* 0x0C2 */ ACTOR_UNSET_C2,
/* 0x0C3 */ ACTOR_UNSET_C3,
/* 0x0C4 */ ACTOR_EN_OKARINA_EFFECT,
/* 0x0C5 */ ACTOR_EN_MAG,
/* 0x0C6 */ ACTOR_ELF_MSG2,
/* 0x0C7 */ ACTOR_BG_F40_SWLIFT,
/* 0x0C8 */ ACTOR_UNSET_C8,
/* 0x0C9 */ ACTOR_UNSET_C9,
/* 0x0CA */ ACTOR_EN_KAKASI,
/* 0x0CB */ ACTOR_OBJ_MAKEOSHIHIKI,
/* 0x0CC */ ACTOR_OCEFF_SPOT,
/* 0x0CD */ ACTOR_UNSET_CD,
/* 0x0CE */ ACTOR_EN_TORCH,
/* 0x0CF */ ACTOR_UNSET_CF,
/* 0x0D0 */ ACTOR_SHOT_SUN,
/* 0x0D1 */ ACTOR_UNSET_D1,
/* 0x0D2 */ ACTOR_UNSET_D2,
/* 0x0D3 */ ACTOR_OBJ_ROOMTIMER,
/* 0x0D4 */ ACTOR_EN_SSH,
/* 0x0D5 */ ACTOR_UNSET_D5,
/* 0x0D6 */ ACTOR_OCEFF_WIPE,
/* 0x0D7 */ ACTOR_OCEFF_STORM,
/* 0x0D8 */ ACTOR_OBJ_DEMO,
/* 0x0D9 */ ACTOR_EN_MINISLIME,
/* 0x0DA */ ACTOR_EN_NUTSBALL,
/* 0x0DB */ ACTOR_UNSET_DB,
/* 0x0DC */ ACTOR_UNSET_DC,
/* 0x0DD */ ACTOR_UNSET_DD,
/* 0x0DE */ ACTOR_UNSET_DE,
/* 0x0DF */ ACTOR_OCEFF_WIPE2,
/* 0x0E0 */ ACTOR_OCEFF_WIPE3,
/* 0x0E1 */ ACTOR_UNSET_E1,
/* 0x0E2 */ ACTOR_EN_DG,
/* 0x0E3 */ ACTOR_EN_SI,
/* 0x0E4 */ ACTOR_OBJ_COMB,
/* 0x0E5 */ ACTOR_OBJ_KIBAKO2,
/* 0x0E6 */ ACTOR_UNSET_E6,
/* 0x0E7 */ ACTOR_EN_HS2,
/* 0x0E8 */ ACTOR_OBJ_MURE3,
/* 0x0E9 */ ACTOR_EN_TG,
/* 0x0EA */ ACTOR_UNSET_EA,
/* 0x0EB */ ACTOR_UNSET_EB,
/* 0x0EC */ ACTOR_EN_WF,
/* 0x0ED */ ACTOR_EN_SKB,
/* 0x0EE */ ACTOR_UNSET_EE,
/* 0x0EF */ ACTOR_EN_GS,
/* 0x0F0 */ ACTOR_OBJ_SOUND,
/* 0x0F1 */ ACTOR_EN_CROW,
/* 0x0F2 */ ACTOR_UNSET_F2,
/* 0x0F3 */ ACTOR_EN_COW,
/* 0x0F4 */ ACTOR_UNSET_F4,
/* 0x0F5 */ ACTOR_UNSET_F5,
/* 0x0F6 */ ACTOR_OCEFF_WIPE4,
/* 0x0F7 */ ACTOR_UNSET_F7,
/* 0x0F8 */ ACTOR_EN_ZO,
/* 0x0F9 */ ACTOR_OBJ_MAKEKINSUTA,
/* 0x0FA */ ACTOR_EN_GE3,
/* 0x0FB */ ACTOR_UNSET_FB,
/* 0x0FC */ ACTOR_OBJ_HAMISHI,
/* 0x0FD */ ACTOR_EN_ZL4,
/* 0x0FE */ ACTOR_EN_MM2,
/* 0x0FF */ ACTOR_UNSET_FF,
/* 0x100 */ ACTOR_DOOR_SPIRAL,
/* 0x101 */ ACTOR_UNSET_101,
/* 0x102 */ ACTOR_OBJ_PZLBLOCK,
/* 0x103 */ ACTOR_OBJ_TOGE,
/* 0x104 */ ACTOR_UNSET_104,
/* 0x105 */ ACTOR_OBJ_ARMOS,
/* 0x106 */ ACTOR_OBJ_BOYO,
/* 0x107 */ ACTOR_UNSET_107,
/* 0x108 */ ACTOR_UNSET_108,
/* 0x109 */ ACTOR_EN_GRASSHOPPER,
/* 0x10A */ ACTOR_UNSET_10A,
/* 0x10B */ ACTOR_OBJ_GRASS,
/* 0x10C */ ACTOR_OBJ_GRASS_CARRY,
/* 0x10D */ ACTOR_OBJ_GRASS_UNIT,
/* 0x10E */ ACTOR_UNSET_10E,
/* 0x10F */ ACTOR_UNSET_10F,
/* 0x110 */ ACTOR_BG_FIRE_WALL,
/* 0x111 */ ACTOR_EN_BU,
/* 0x112 */ ACTOR_EN_ENCOUNT3,
/* 0x113 */ ACTOR_EN_JSO,
/* 0x114 */ ACTOR_OBJ_CHIKUWA,
/* 0x115 */ ACTOR_EN_KNIGHT,
/* 0x116 */ ACTOR_EN_WARP_TAG,
/* 0x117 */ ACTOR_EN_AOB_01,
/* 0x118 */ ACTOR_EN_BOJ_01,
/* 0x119 */ ACTOR_EN_BOJ_02,
/* 0x11A */ ACTOR_EN_BOJ_03,
/* 0x11B */ ACTOR_EN_ENCOUNT4,
/* 0x11C */ ACTOR_EN_BOM_BOWL_MAN,
/* 0x11D */ ACTOR_EN_SYATEKI_MAN,
/* 0x11E */ ACTOR_UNSET_11E,
/* 0x11F */ ACTOR_BG_ICICLE,
/* 0x120 */ ACTOR_EN_SYATEKI_CROW,
/* 0x121 */ ACTOR_EN_BOJ_04,
/* 0x122 */ ACTOR_EN_CNE_01,
/* 0x123 */ ACTOR_EN_BBA_01,
/* 0x124 */ ACTOR_EN_BJI_01,
/* 0x125 */ ACTOR_BG_SPDWEB,
/* 0x126 */ ACTOR_UNSET_126,
/* 0x127 */ ACTOR_UNSET_127,
/* 0x128 */ ACTOR_EN_MT_TAG,
/* 0x129 */ ACTOR_BOSS_01,
/* 0x12A */ ACTOR_BOSS_02,
/* 0x12B */ ACTOR_BOSS_03,
/* 0x12C */ ACTOR_BOSS_04,
/* 0x12D */ ACTOR_BOSS_05,
/* 0x12E */ ACTOR_BOSS_06,
/* 0x12F */ ACTOR_BOSS_07,
/* 0x130 */ ACTOR_BG_DY_YOSEIZO,
/* 0x131 */ ACTOR_UNSET_131,
/* 0x132 */ ACTOR_EN_BOJ_05,
/* 0x133 */ ACTOR_UNSET_133,
/* 0x134 */ ACTOR_UNSET_134,
/* 0x135 */ ACTOR_EN_SOB1,
/* 0x136 */ ACTOR_UNSET_136,
/* 0x137 */ ACTOR_UNSET_137,
/* 0x138 */ ACTOR_EN_GO,
/* 0x139 */ ACTOR_UNSET_139,
/* 0x13A */ ACTOR_EN_RAF,
/* 0x13B */ ACTOR_OBJ_FUNEN,
/* 0x13C */ ACTOR_OBJ_RAILLIFT,
/* 0x13D */ ACTOR_BG_NUMA_HANA,
/* 0x13E */ ACTOR_OBJ_FLOWERPOT,
/* 0x13F */ ACTOR_OBJ_SPINYROLL,
/* 0x140 */ ACTOR_DM_HINA,
/* 0x141 */ ACTOR_EN_SYATEKI_WF,
/* 0x142 */ ACTOR_OBJ_SKATEBLOCK,
/* 0x143 */ ACTOR_OBJ_ICEBLOCK,
/* 0x144 */ ACTOR_EN_BIGPAMET,
/* 0x145 */ ACTOR_EN_SYATEKI_DEKUNUTS,
/* 0x146 */ ACTOR_ELF_MSG3,
/* 0x147 */ ACTOR_EN_FG,
/* 0x148 */ ACTOR_DM_RAVINE,
/* 0x149 */ ACTOR_DM_SA,
/* 0x14A */ ACTOR_EN_SLIME,
/* 0x14B */ ACTOR_EN_PR,
/* 0x14C */ ACTOR_OBJ_TOUDAI,
/* 0x14D */ ACTOR_OBJ_ENTOTU,
/* 0x14E */ ACTOR_OBJ_BELL,
/* 0x14F */ ACTOR_EN_SYATEKI_OKUTA,
/* 0x150 */ ACTOR_UNSET_150,
/* 0x151 */ ACTOR_OBJ_SHUTTER,
/* 0x152 */ ACTOR_DM_ZL,
/* 0x153 */ ACTOR_EN_ELFGRP,
/* 0x154 */ ACTOR_DM_TSG,
/* 0x155 */ ACTOR_EN_BAGUO,
/* 0x156 */ ACTOR_OBJ_VSPINYROLL,
/* 0x157 */ ACTOR_OBJ_SMORK,
/* 0x158 */ ACTOR_EN_TEST2,
/* 0x159 */ ACTOR_EN_TEST3,
/* 0x15A */ ACTOR_EN_TEST4,
/* 0x15B */ ACTOR_EN_BAT,
/* 0x15C */ ACTOR_EN_SEKIHI,
/* 0x15D */ ACTOR_EN_WIZ,
/* 0x15E */ ACTOR_EN_WIZ_BROCK,
/* 0x15F */ ACTOR_EN_WIZ_FIRE,
/* 0x160 */ ACTOR_EFF_CHANGE,
/* 0x161 */ ACTOR_DM_STATUE,
/* 0x162 */ ACTOR_OBJ_FIRESHIELD,
/* 0x163 */ ACTOR_BG_LADDER,
/* 0x164 */ ACTOR_EN_MKK,
/* 0x165 */ ACTOR_DEMO_GETITEM,
/* 0x166 */ ACTOR_UNSET_166,
/* 0x167 */ ACTOR_EN_DNB,
/* 0x168 */ ACTOR_EN_DNH,
/* 0x169 */ ACTOR_EN_DNK,
/* 0x16A */ ACTOR_EN_DNQ,
/* 0x16B */ ACTOR_UNSET_16B,
/* 0x16C */ ACTOR_BG_KEIKOKU_SAKU,
/* 0x16D */ ACTOR_OBJ_HUGEBOMBIWA,
/* 0x16E */ ACTOR_EN_FIREFLY2,
/* 0x16F */ ACTOR_EN_RAT,
/* 0x170 */ ACTOR_EN_WATER_EFFECT,
/* 0x171 */ ACTOR_EN_KUSA2,
/* 0x172 */ ACTOR_BG_SPOUT_FIRE,
/* 0x173 */ ACTOR_UNSET_173,
/* 0x174 */ ACTOR_BG_DBLUE_MOVEBG,
/* 0x175 */ ACTOR_EN_DY_EXTRA,
/* 0x176 */ ACTOR_EN_BAL,
/* 0x177 */ ACTOR_EN_GINKO_MAN,
/* 0x178 */ ACTOR_EN_WARP_UZU,
/* 0x179 */ ACTOR_OBJ_DRIFTICE,
/* 0x17A */ ACTOR_EN_LOOK_NUTS,
/* 0x17B */ ACTOR_EN_MUSHI2,
/* 0x17C */ ACTOR_EN_FALL,
/* 0x17D */ ACTOR_EN_MM3,
/* 0x17E */ ACTOR_BG_CRACE_MOVEBG,
/* 0x17F */ ACTOR_EN_DNO,
/* 0x180 */ ACTOR_EN_PR2,
/* 0x181 */ ACTOR_EN_PRZ,
/* 0x182 */ ACTOR_EN_JSO2,
/* 0x183 */ ACTOR_OBJ_ETCETERA,
/* 0x184 */ ACTOR_EN_EGOL,
/* 0x185 */ ACTOR_OBJ_MINE,
/* 0x186 */ ACTOR_OBJ_PURIFY,
/* 0x187 */ ACTOR_EN_TRU,
/* 0x188 */ ACTOR_EN_TRT,
/* 0x189 */ ACTOR_UNSET_189,
/* 0x18A */ ACTOR_UNSET_18A,
/* 0x18B */ ACTOR_EN_TEST5,
/* 0x18C */ ACTOR_EN_TEST6,
/* 0x18D */ ACTOR_EN_AZ,
/* 0x18E */ ACTOR_EN_ESTONE,
/* 0x18F */ ACTOR_BG_HAKUGIN_POST,
/* 0x190 */ ACTOR_DM_OPSTAGE,
/* 0x191 */ ACTOR_DM_STK,
/* 0x192 */ ACTOR_DM_CHAR00,
/* 0x193 */ ACTOR_DM_CHAR01,
/* 0x194 */ ACTOR_DM_CHAR02,
/* 0x195 */ ACTOR_DM_CHAR03,
/* 0x196 */ ACTOR_DM_CHAR04,
/* 0x197 */ ACTOR_DM_CHAR05,
/* 0x198 */ ACTOR_DM_CHAR06,
/* 0x199 */ ACTOR_DM_CHAR07,
/* 0x19A */ ACTOR_DM_CHAR08,
/* 0x19B */ ACTOR_DM_CHAR09,
/* 0x19C */ ACTOR_OBJ_TOKEIDAI,
/* 0x19D */ ACTOR_UNSET_19D,
/* 0x19E */ ACTOR_EN_MNK,
/* 0x19F */ ACTOR_EN_EGBLOCK,
/* 0x1A0 */ ACTOR_EN_GUARD_NUTS,
/* 0x1A1 */ ACTOR_BG_HAKUGIN_BOMBWALL,
/* 0x1A2 */ ACTOR_OBJ_TOKEI_TOBIRA,
/* 0x1A3 */ ACTOR_BG_HAKUGIN_ELVPOLE,
/* 0x1A4 */ ACTOR_EN_MA4,
/* 0x1A5 */ ACTOR_EN_TWIG,
/* 0x1A6 */ ACTOR_EN_PO_FUSEN,
/* 0x1A7 */ ACTOR_EN_DOOR_ETC,
/* 0x1A8 */ ACTOR_EN_BIGOKUTA,
/* 0x1A9 */ ACTOR_BG_ICEFLOE,
/* 0x1AA */ ACTOR_OBJ_OCARINALIFT,
/* 0x1AB */ ACTOR_EN_TIME_TAG,
/* 0x1AC */ ACTOR_BG_OPEN_SHUTTER,
/* 0x1AD */ ACTOR_BG_OPEN_SPOT,
/* 0x1AE */ ACTOR_BG_FU_KAITEN,
/* 0x1AF */ ACTOR_OBJ_AQUA,
/* 0x1B0 */ ACTOR_EN_ELFORG,
/* 0x1B1 */ ACTOR_EN_ELFBUB,
/* 0x1B2 */ ACTOR_UNSET_1B2,
/* 0x1B3 */ ACTOR_EN_FU_MATO,
/* 0x1B4 */ ACTOR_EN_FU_KAGO,
/* 0x1B5 */ ACTOR_EN_OSN,
/* 0x1B6 */ ACTOR_BG_CTOWER_GEAR,
/* 0x1B7 */ ACTOR_EN_TRT2,
/* 0x1B8 */ ACTOR_OBJ_TOKEI_STEP,
/* 0x1B9 */ ACTOR_BG_LOTUS,
/* 0x1BA */ ACTOR_EN_KAME,
/* 0x1BB */ ACTOR_OBJ_TAKARAYA_WALL,
/* 0x1BC */ ACTOR_BG_FU_MIZU,
/* 0x1BD */ ACTOR_EN_SELLNUTS,
/* 0x1BE */ ACTOR_BG_DKJAIL_IVY,
/* 0x1BF */ ACTOR_UNSET_1BF,
/* 0x1C0 */ ACTOR_OBJ_VISIBLOCK,
/* 0x1C1 */ ACTOR_EN_TAKARAYA,
/* 0x1C2 */ ACTOR_EN_TSN,
/* 0x1C3 */ ACTOR_EN_DS2N,
/* 0x1C4 */ ACTOR_EN_FSN,
/* 0x1C5 */ ACTOR_EN_SHN,
/* 0x1C6 */ ACTOR_UNSET_1C6,
/* 0x1C7 */ ACTOR_EN_STOP_HEISHI,
/* 0x1C8 */ ACTOR_OBJ_BIGICICLE,
/* 0x1C9 */ ACTOR_EN_LIFT_NUTS,
/* 0x1CA */ ACTOR_EN_TK,
/* 0x1CB */ ACTOR_UNSET_1CB,
/* 0x1CC */ ACTOR_BG_MARKET_STEP,
/* 0x1CD */ ACTOR_OBJ_LUPYGAMELIFT,
/* 0x1CE */ ACTOR_EN_TEST7,
/* 0x1CF */ ACTOR_OBJ_LIGHTBLOCK,
/* 0x1D0 */ ACTOR_MIR_RAY2,
/* 0x1D1 */ ACTOR_EN_WDHAND,
/* 0x1D2 */ ACTOR_EN_GAMELUPY,
/* 0x1D3 */ ACTOR_BG_DANPEI_MOVEBG,
/* 0x1D4 */ ACTOR_EN_SNOWWD,
/* 0x1D5 */ ACTOR_EN_PM,
/* 0x1D6 */ ACTOR_EN_GAKUFU,
/* 0x1D7 */ ACTOR_ELF_MSG4,
/* 0x1D8 */ ACTOR_ELF_MSG5,
/* 0x1D9 */ ACTOR_EN_COL_MAN,
/* 0x1DA */ ACTOR_EN_TALK_GIBUD,
/* 0x1DB */ ACTOR_EN_GIANT,
/* 0x1DC */ ACTOR_OBJ_SNOWBALL,
/* 0x1DD */ ACTOR_BOSS_HAKUGIN,
/* 0x1DE */ ACTOR_EN_GB2,
/* 0x1DF */ ACTOR_EN_ONPUMAN,
/* 0x1E0 */ ACTOR_BG_TOBIRA01,
/* 0x1E1 */ ACTOR_EN_TAG_OBJ,
/* 0x1E2 */ ACTOR_OBJ_DHOUSE,
/* 0x1E3 */ ACTOR_OBJ_HAKAISI,
/* 0x1E4 */ ACTOR_BG_HAKUGIN_SWITCH,
/* 0x1E5 */ ACTOR_UNSET_1E5,
/* 0x1E6 */ ACTOR_EN_SNOWMAN,
/* 0x1E7 */ ACTOR_TG_SW,
/* 0x1E8 */ ACTOR_EN_PO_SISTERS,
/* 0x1E9 */ ACTOR_EN_PP,
/* 0x1EA */ ACTOR_EN_HAKUROCK,
/* 0x1EB */ ACTOR_EN_HANABI,
/* 0x1EC */ ACTOR_OBJ_DOWSING,
/* 0x1ED */ ACTOR_OBJ_WIND,
/* 0x1EE */ ACTOR_EN_RACEDOG,
/* 0x1EF */ ACTOR_EN_KENDO_JS,
/* 0x1F0 */ ACTOR_BG_BOTIHASIRA,
/* 0x1F1 */ ACTOR_EN_FISH2,
/* 0x1F2 */ ACTOR_EN_PST,
/* 0x1F3 */ ACTOR_EN_POH,
/* 0x1F4 */ ACTOR_OBJ_SPIDERTENT,
/* 0x1F5 */ ACTOR_EN_ZORAEGG,
/* 0x1F6 */ ACTOR_EN_KBT,
/* 0x1F7 */ ACTOR_EN_GG,
/* 0x1F8 */ ACTOR_EN_MARUTA,
/* 0x1F9 */ ACTOR_OBJ_SNOWBALL2,
/* 0x1FA */ ACTOR_EN_GG2,
/* 0x1FB */ ACTOR_OBJ_GHAKA,
/* 0x1FC */ ACTOR_EN_DNP,
/* 0x1FD */ ACTOR_EN_DAI,
/* 0x1FE */ ACTOR_BG_GORON_OYU,
/* 0x1FF */ ACTOR_EN_KGY,
/* 0x200 */ ACTOR_EN_INVADEPOH,
/* 0x201 */ ACTOR_EN_GK,
/* 0x202 */ ACTOR_EN_AN,
/* 0x203 */ ACTOR_UNSET_203,
/* 0x204 */ ACTOR_EN_BEE,
/* 0x205 */ ACTOR_EN_OT,
/* 0x206 */ ACTOR_EN_DRAGON,
/* 0x207 */ ACTOR_OBJ_DORA,
/* 0x208 */ ACTOR_EN_BIGPO,
/* 0x209 */ ACTOR_OBJ_KENDO_KANBAN,
/* 0x20A */ ACTOR_OBJ_HARIKO,
/* 0x20B */ ACTOR_EN_STH,
/* 0x20C */ ACTOR_BG_SINKAI_KABE,
/* 0x20D */ ACTOR_BG_HAKA_CURTAIN,
/* 0x20E */ ACTOR_BG_KIN2_BOMBWALL,
/* 0x20F */ ACTOR_BG_KIN2_FENCE,
/* 0x210 */ ACTOR_BG_KIN2_PICTURE,
/* 0x211 */ ACTOR_BG_KIN2_SHELF,
/* 0x212 */ ACTOR_EN_RAIL_SKB,
/* 0x213 */ ACTOR_EN_JG,
/* 0x214 */ ACTOR_EN_TRU_MT,
/* 0x215 */ ACTOR_OBJ_UM,
/* 0x216 */ ACTOR_EN_NEO_REEBA,
/* 0x217 */ ACTOR_BG_MBAR_CHAIR,
/* 0x218 */ ACTOR_BG_IKANA_BLOCK,
/* 0x219 */ ACTOR_BG_IKANA_MIRROR,
/* 0x21A */ ACTOR_BG_IKANA_ROTARYROOM,
/* 0x21B */ ACTOR_BG_DBLUE_BALANCE,
/* 0x21C */ ACTOR_BG_DBLUE_WATERFALL,
/* 0x21D */ ACTOR_EN_KAIZOKU,
/* 0x21E */ ACTOR_EN_GE2,
/* 0x21F */ ACTOR_EN_MA_YTS,
/* 0x220 */ ACTOR_EN_MA_YTO,
/* 0x221 */ ACTOR_OBJ_TOKEI_TURRET,
/* 0x222 */ ACTOR_BG_DBLUE_ELEVATOR,
/* 0x223 */ ACTOR_OBJ_WARPSTONE,
/* 0x224 */ ACTOR_EN_ZOG,
/* 0x225 */ ACTOR_OBJ_ROTLIFT,
/* 0x226 */ ACTOR_OBJ_JG_GAKKI,
/* 0x227 */ ACTOR_BG_INIBS_MOVEBG,
/* 0x228 */ ACTOR_EN_ZOT,
/* 0x229 */ ACTOR_OBJ_TREE,
/* 0x22A */ ACTOR_OBJ_Y2LIFT,
/* 0x22B */ ACTOR_OBJ_Y2SHUTTER,
/* 0x22C */ ACTOR_OBJ_BOAT,
/* 0x22D */ ACTOR_OBJ_TARU,
/* 0x22E */ ACTOR_OBJ_HUNSUI,
/* 0x22F */ ACTOR_EN_JC_MATO,
/* 0x230 */ ACTOR_MIR_RAY3,
/* 0x231 */ ACTOR_EN_ZOB,
/* 0x232 */ ACTOR_ELF_MSG6,
/* 0x233 */ ACTOR_OBJ_NOZOKI,
/* 0x234 */ ACTOR_EN_TOTO,
/* 0x235 */ ACTOR_EN_RAILGIBUD,
/* 0x236 */ ACTOR_EN_BABA,
/* 0x237 */ ACTOR_EN_SUTTARI,
/* 0x238 */ ACTOR_EN_ZOD,
/* 0x239 */ ACTOR_EN_KUJIYA,
/* 0x23A */ ACTOR_EN_GEG,
/* 0x23B */ ACTOR_OBJ_KINOKO,
/* 0x23C */ ACTOR_OBJ_YASI,
/* 0x23D */ ACTOR_EN_TANRON1,
/* 0x23E */ ACTOR_EN_TANRON2,
/* 0x23F */ ACTOR_EN_TANRON3,
/* 0x240 */ ACTOR_OBJ_CHAN,
/* 0x241 */ ACTOR_EN_ZOS,
/* 0x242 */ ACTOR_EN_S_GORO,
/* 0x243 */ ACTOR_EN_NB,
/* 0x244 */ ACTOR_EN_JA,
/* 0x245 */ ACTOR_BG_F40_BLOCK,
/* 0x246 */ ACTOR_BG_F40_SWITCH,
/* 0x247 */ ACTOR_EN_PO_COMPOSER,
/* 0x248 */ ACTOR_EN_GURUGURU,
/* 0x249 */ ACTOR_OCEFF_WIPE5,
/* 0x24A */ ACTOR_EN_STONE_HEISHI,
/* 0x24B */ ACTOR_OCEFF_WIPE6,
/* 0x24C */ ACTOR_EN_SCOPENUTS,
/* 0x24D */ ACTOR_EN_SCOPECROW,
/* 0x24E */ ACTOR_OCEFF_WIPE7,
/* 0x24F */ ACTOR_EFF_KAMEJIMA_WAVE,
/* 0x250 */ ACTOR_EN_HG,
/* 0x251 */ ACTOR_EN_HGO,
/* 0x252 */ ACTOR_EN_ZOV,
/* 0x253 */ ACTOR_EN_AH,
/* 0x254 */ ACTOR_OBJ_HGDOOR,
/* 0x255 */ ACTOR_BG_IKANA_BOMBWALL,
/* 0x256 */ ACTOR_BG_IKANA_RAY,
/* 0x257 */ ACTOR_BG_IKANA_SHUTTER,
/* 0x258 */ ACTOR_BG_HAKA_BOMBWALL,
/* 0x259 */ ACTOR_BG_HAKA_TOMB,
/* 0x25A */ ACTOR_EN_SC_RUPPE,
/* 0x25B */ ACTOR_BG_IKNV_DOUKUTU,
/* 0x25C */ ACTOR_BG_IKNV_OBJ,
/* 0x25D */ ACTOR_EN_PAMERA,
/* 0x25E */ ACTOR_OBJ_HSSTUMP,
/* 0x25F */ ACTOR_EN_HIDDEN_NUTS,
/* 0x260 */ ACTOR_EN_ZOW,
/* 0x261 */ ACTOR_EN_TALK,
/* 0x262 */ ACTOR_EN_AL,
/* 0x263 */ ACTOR_EN_TAB,
/* 0x264 */ ACTOR_EN_NIMOTSU,
/* 0x265 */ ACTOR_EN_HIT_TAG,
/* 0x266 */ ACTOR_EN_RUPPECROW,
/* 0x267 */ ACTOR_EN_TANRON4,
/* 0x268 */ ACTOR_EN_TANRON5,
/* 0x269 */ ACTOR_EN_TANRON6,
/* 0x26A */ ACTOR_EN_DAIKU2,
/* 0x26B */ ACTOR_EN_MUTO,
/* 0x26C */ ACTOR_EN_BAISEN,
/* 0x26D */ ACTOR_EN_HEISHI,
/* 0x26E */ ACTOR_EN_DEMO_HEISHI,
/* 0x26F */ ACTOR_EN_DT,
/* 0x270 */ ACTOR_EN_CHA,
/* 0x271 */ ACTOR_OBJ_DINNER,
/* 0x272 */ ACTOR_EFF_LASTDAY,
/* 0x273 */ ACTOR_BG_IKANA_DHARMA,
/* 0x274 */ ACTOR_EN_AKINDONUTS,
/* 0x275 */ ACTOR_EFF_STK,
/* 0x276 */ ACTOR_EN_IG,
/* 0x277 */ ACTOR_EN_RG,
/* 0x278 */ ACTOR_EN_OSK,
/* 0x279 */ ACTOR_EN_STH2,
/* 0x27A */ ACTOR_EN_YB,
/* 0x27B */ ACTOR_EN_RZ,
/* 0x27C */ ACTOR_EN_SCOPECOIN,
/* 0x27D */ ACTOR_EN_BJT,
/* 0x27E */ ACTOR_EN_BOMJIMA,
/* 0x27F */ ACTOR_EN_BOMJIMB,
/* 0x280 */ ACTOR_EN_BOMBERS,
/* 0x281 */ ACTOR_EN_BOMBERS2,
/* 0x282 */ ACTOR_EN_BOMBAL,
/* 0x283 */ ACTOR_OBJ_MOON_STONE,
/* 0x284 */ ACTOR_OBJ_MU_PICT,
/* 0x285 */ ACTOR_BG_IKNINSIDE,
/* 0x286 */ ACTOR_EFF_ZORABAND,
/* 0x287 */ ACTOR_OBJ_KEPN_KOYA,
/* 0x288 */ ACTOR_OBJ_USIYANE,
/* 0x289 */ ACTOR_EN_NNH,
/* 0x28A */ ACTOR_OBJ_KZSAKU,
/* 0x28B */ ACTOR_OBJ_MILK_BIN,
/* 0x28C */ ACTOR_EN_KITAN,
/* 0x28D */ ACTOR_BG_ASTR_BOMBWALL,
/* 0x28E */ ACTOR_BG_IKNIN_SUSCEIL,
/* 0x28F */ ACTOR_EN_BSB,
/* 0x290 */ ACTOR_EN_RECEPGIRL,
/* 0x291 */ ACTOR_EN_THIEFBIRD,
/* 0x292 */ ACTOR_EN_JGAME_TSN,
/* 0x293 */ ACTOR_OBJ_JGAME_LIGHT,
/* 0x294 */ ACTOR_OBJ_YADO,
/* 0x295 */ ACTOR_DEMO_SYOTEN,
/* 0x296 */ ACTOR_DEMO_MOONEND,
/* 0x297 */ ACTOR_BG_LBFSHOT,
/* 0x298 */ ACTOR_BG_LAST_BWALL,
/* 0x299 */ ACTOR_EN_AND,
/* 0x29A */ ACTOR_EN_INVADEPOH_DEMO,
/* 0x29B */ ACTOR_OBJ_DANPEILIFT,
/* 0x29C */ ACTOR_EN_FALL2,
/* 0x29D */ ACTOR_DM_AL,
/* 0x29E */ ACTOR_DM_AN,
/* 0x29F */ ACTOR_DM_AH,
/* 0x2A0 */ ACTOR_DM_NB,
/* 0x2A1 */ ACTOR_EN_DRS,
/* 0x2A2 */ ACTOR_EN_ENDING_HERO,
/* 0x2A3 */ ACTOR_DM_BAL,
/* 0x2A4 */ ACTOR_EN_PAPER,
/* 0x2A5 */ ACTOR_EN_HINT_SKB,
/* 0x2A6 */ ACTOR_DM_TAG,
/* 0x2A7 */ ACTOR_EN_BH,
/* 0x2A8 */ ACTOR_EN_ENDING_HERO2,
/* 0x2A9 */ ACTOR_EN_ENDING_HERO3,
/* 0x2AA */ ACTOR_EN_ENDING_HERO4,
/* 0x2AB */ ACTOR_EN_ENDING_HERO5,
/* 0x2AC */ ACTOR_EN_ENDING_HERO6,
/* 0x2AD */ ACTOR_DM_GM,
/* 0x2AE */ ACTOR_OBJ_SWPRIZE,
/* 0x2AF */ ACTOR_EN_INVISIBLE_RUPPE,
/* 0x2B0 */ ACTOR_OBJ_ENDING,
/* 0x2B1 */ ACTOR_EN_RSN,
/* 0x2B2 */ ACTOR_ID_MAX // originally "ACTOR_DLF_MAX"
} ActorID;
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
typedef enum {
/* 0 */ DOORLOCK_NORMAL,
/* 1 */ DOORLOCK_BOSS,
/* 2 */ DOORLOCK_2, // DOORLOCK_NORMAL_SPIRIT on OoT
/* 3 */ DOORLOCK_MAX
} DoorLockType;
// Targetability / ACTOR_FLAG_TARGETABLE?
#define ACTOR_FLAG_1 (1 << 0)
//
#define ACTOR_FLAG_2 (1 << 1)
//
#define ACTOR_FLAG_4 (1 << 2)
//
#define ACTOR_FLAG_8 (1 << 3)
//
#define ACTOR_FLAG_10 (1 << 4)
//
#define ACTOR_FLAG_20 (1 << 5)
//
#define ACTOR_FLAG_40 (1 << 6)
// Invisible
#define ACTOR_FLAG_80 (1 << 7)
// Related to talk
#define ACTOR_FLAG_100 (1 << 8)
//
#define ACTOR_FLAG_200 (1 << 9)
//
#define ACTOR_FLAG_400 (1 << 10)
//
#define ACTOR_FLAG_800 (1 << 11)
//
#define ACTOR_FLAG_1000 (1 << 12)
//
#define ACTOR_FLAG_2000 (1 << 13)
//
#define ACTOR_FLAG_4000 (1 << 14)
//! Carried by arrow
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
#define ACTOR_FLAG_8000 (1 << 15)
//
#define ACTOR_FLAG_10000 (1 << 16)
//
#define ACTOR_FLAG_20000 (1 << 17)
//
#define ACTOR_FLAG_40000 (1 << 18)
//
#define ACTOR_FLAG_80000 (1 << 19)
//
#define ACTOR_FLAG_100000 (1 << 20)
//
#define ACTOR_FLAG_200000 (1 << 21)
//
#define ACTOR_FLAG_400000 (1 << 22)
//
#define ACTOR_FLAG_800000 (1 << 23)
//
#define ACTOR_FLAG_1000000 (1 << 24)
//
#define ACTOR_FLAG_2000000 (1 << 25)
//
#define ACTOR_FLAG_4000000 (1 << 26)
//
#define ACTOR_FLAG_8000000 (1 << 27)
//
#define ACTOR_FLAG_10000000 (1 << 28)
//
#define ACTOR_FLAG_20000000 (1 << 29)
//
#define ACTOR_FLAG_40000000 (1 << 30)
//
#define ACTOR_FLAG_80000000 (1 << 31)
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401) * Match Player_GetHeight * Another bunch * Fix merge conflict * rename Gfx_DrawDListXlu * add WEEROR * Actor_Spawn * almost Actor_SpawnTransitionActors and Actor_Delete * A bunch of small actors * More renames * format * Some Player renames * a few more * import data * run formatter * func_800B7170 * whoops * Fix merge issues * Whoops 2 * func_800B83BC and func_800B83F8 * Actor_IsActorFacingPlayerAndWithinRange * add some prototypes * match Actor_UpdateBgCheckInfo * func_800B7678 * mark Actor_SpawnAsChildAndCutscene as non_matching * Actor_Draw * Update is chaotic * 2 new matches * func_800BC8B8 * Another bunch * function renames * run formatter * cleanup * remove unnecesary casts * add missing sfx * Fix renames * fix merge * func_800BF7CC * small bunch * another bunch * func_800BE184 non_matching * two more * split z_cheap_proc * Another bunch * another bunch * a few and a non matching * yeee * a * Actor_DrawAll non_equivalent * Actor_RecordUndrawnActor * i don't know what to put in this commit message * func_800B4B50 non matching * func_800B42F8 non matching * func_800B5040 * func_800B5814 non_equiv * func_800B6584 * func_800B6608 * func_800B6680 * func_800B7E04 * func_800B8118 * func_800b9170 * , * func_800BC4EC * func_800BA6FC * func_800BA798 * func_800BA8B8 * Actor_LoadOverlay * small cleanup * func_800BB2D0 * meh * func_800BBAC0 * func_800BC270 * func_800B5208 non matching * Fix warnings * meh * rename some ActorShadow_ functions * fairy * Flags_ * fix warnings * format * Actor_PickUp and family * func_800B8E58 * match Actor_RemoveFromCategory * another bit of docs * Match func_800B86C8 * And another bit * rename Player_GetRunSpeedLimit * func_800B9E84 * func_800BE63C * func_800BB8EC * match func_800B5814 * match func_800B9334 * cleanup * fix conflicts: first pass * another fix * actorfixer fix * fix conflicts * func_800BE680 non_equivalent * Improve func_800BE680 a bit * func_800BE680 equivalent (?) * func_800BE680 equivalent * Actor_UpdateActor equivalent * format * use some ExchangeItemID enum values * Some more cleaning * more cleanup * More name stealing from OoT * match func_800B82EC * match func_800B9D1C and a bit of cleanup * Add ACTOR_FLAGS placeholders * Renames and match func_800BE184 * last pass of name stealing * format * fix conflicts * more cleanup * more cleanup * cleanup and OVERLAY_RELOCATION_OFFSET macro * Remove prototypes of obviously internal-only functions, update variable names, forward declare where necessary, remove all `param_\d`s * remove newlines * minor rename * Use ACTOR_FLAGS in z_actor * Match func_800BE3D0 * Rename movement functions * Document Actor_CalcOffsetOrientedToDrawRotation * velX -> horizontalSpeed * A bit of documentation for actor movement functions * format * Fix merge issues * format * Format * Fix renames * fix warnings * fix conflicts * review :D * Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Fix * format * Actor_SpawnSetupActors * engineer review * Update src/code/z_actor.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * A bunch of Engineer's reviews * more Engineer's review * a * whoops * run actorfixer * c'mon * :face_exhaling: * whoops * warning * More engineer's review * run format * I'm dumb * a * match func_800BE680 * Match Actor_DrawZTarget * Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor * Fix merge issue * format * update actor * Steal a bit of @Thar0 documentation from OoT's z_message * Run actorfixer * Fix renames * Match func_800B4B50 thanks to @hensldm * Improve ActorShadow_DrawFeet thanks to @hensldm * whoops * Actor_PlaySfxAtProjectedPos * Actor_UpdateActor matched by @hensldm * Match func_800BA2FC by @hensldm * Match Actor_SpawnTransitionActors by @hensldm * Match func_800BB604 by @hensldm * Match Actor_DrawAll by @hensldm * ActorShadow_DrawFeet by @hensldm * Actor_UpdateAll by @hensldm * Match func_800BCCDC by @engineer124 * Small Actor_PlaySfxAtPos by @engineer124 * ACTOR_FLAGS_ALL and a bit of cleanup * Add invisible comment * Small docs pass * Fix merge * Engineer's review * format lol * Actor_DrawDoorLock docs * Actor_SpawnShieldParticlesMetal * fix merge issues * sActorFaultClient * fix * commit message * Run actorfixer.py && format.sh * Fix warnings * fixes * format * bss * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Address review * Fix merge issues, format and such * fix merge issues * Add ACTORCAT_MAX * actorList -> actorLists * Fix merge issues * format * Enable WERROR on jenkinsfile * Fix merge * Use object symbols * address review * format * review * fix merge issues * fix * VRAM_PTR_SIZE, small cleanup and format * review Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 17:04:28 +00:00
typedef enum {
/* 0x00 */ CLEAR_TAG_SMALL_EXPLOSION,
/* 0x01 */ CLEAR_TAG_LARGE_EXPLOSION,
/* 0x02 */ CLEAR_TAG_POP,
/* 0x03 */ CLEAR_TAG_SMALL_LIGHT_RAYS,
/* 0x04 */ CLEAR_TAG_LARGE_LIGHT_RAYS,
/* 0x23 */ CLEAR_TAG_SPLASH = 35,
`z_demo` with 4 NON_MATCHINGs (#514) * starting * a bunch * and another bunch * a bunch * Match func_800EB1DC * func_800EB4B4 * func_800EB6F8 * 2 more * fix prototype of a random kankyo function * func_800EBD60 non matching * func_800EC678 matched? * func_800EC6D4 * break * func_800ECD7C * A bunch of functions * func_800EE200 * func_800EDF78 and func_800EE0CC * func_800EDBE0 NON_MATCHING * Cutscene_Init NON_MATCHING * func_800EA324 NON_EQUIVALENT * Fix warnings * func_800EC924 NON_EQUIVALENT * Cutscene_ProcessCommands NON_EQUIVALENT * Format * Split z_demo data and import it * Import bss * Match func_800EB364 * Rename Cutscene_Command_SetTime * Improve Cutscene_ProcessCommands a bit (still not equivalent, probably) * Improve Cutscene_ProcessCommands thanks to engineer and anon * Cutscene_ProcessCommands NON_MATCHING * Name some commands * Fix * Renames based on Engineer knowledge of Audio stuff * More command names * Cutscene_Command_GiveTatlToPlayer * Some cutscene commands macros * more command macros * Macros for unknown commands * Improve Cutscene_Command_Textbox a bit * Rename stuff * Name Terminator and Camera * MOTIONBLUR * Macros for textbox commands * CS_PLAYER_ACTION_LIST * A few macro renames * Small cleaning * A bit more of cleanup * Rumble * Entrance comments in func_800EB6F8 * Some var renames * CS_CMD_FADESCREEN * More clean up * Clean functions protos * Move CutsceneStateHandler out of z64.h * Cutscene_DoNothing * Cutscene_IsPlayingCs & Cutscene_GetSceneSetupIndex * And more renames * name some stuff in the cutscenecontext struct * npcActionIndex->actorActionIndex * Undo names of CS_STATE_ enum * Name Cutscene_ActorTranslate family of functions * small docs pass * sfxconvert and format * Hopefully last cleanup * Add some missing functions to actorfixer * Fix merge issues and remove trailing commas * Cutscene commands fix * Cutscene_Command_Misc improved by engineer * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Address review * bss * Match Cutscene_Command_Textbox by anon58 * Fix merge issues * Match Cutscene_Command_Misc by @hensldm * review * float time macros * fix merge issues * format * Fix building assets * fix merge issues * format * Fix * format * fix merge issues * fix * fix * format * fix issues and run format * bss * Fix conflicts, bss and formatter * Update include/functions.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update include/functions.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update include/z64.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update include/z64cutscene.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update include/z64cutscene.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update include/z64cutscene.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * address review and fix some stuff * fix merge problems * more fixes and format * Fixes * Update include/functions.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update include/functions.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/code/z_demo.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Engineer suggestions * format * Elliptic review * Use dec for ShrinkWindow_SetLetterboxTarget * add a few comments * Cutscene_Command_ChooseCreditsScenes * Update src/code/z_demo.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * format * some cleanups and some comments * change actorActionCmd from hex to dec in the codebase * minor comment on textboxcmd * ahhhh * Update src/code/z_demo.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * brackets * minor comments * rewording * im dumb * brackets * another bracket * Dawn of the New Day * Update src/code/z_demo.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * fixes * Cutscene_Command_TransitionFX by Anon Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
2022-03-05 00:14:52 +00:00
/* 0xC8 */ CLEAR_TAG_SMOKE = 200
} ClearTagType;
typedef enum {
/* 0x00 */ TATL_HINT_ID_DEFAULT,
/* 0x01 */ TATL_HINT_ID_SNAPPER,
/* 0x02 */ TATL_HINT_ID_MINI_BABA,
/* 0x03 */ TATL_HINT_ID_MAD_JELLY,
/* 0x04 */ TATL_HINT_ID_SKULLTULA,
/* 0x05 */ TATL_HINT_ID_RED_CHUCHU,
/* 0x06 */ TATL_HINT_ID_BLUE_CHUCHU,
/* 0x07 */ TATL_HINT_ID_DEKU_BABA,
/* 0x08 */ TATL_HINT_ID_BIO_DEKU_BABA,
/* 0x09 */ TATL_HINT_ID_WILTED_DEKU_BABA,
/* 0x0A */ TATL_HINT_ID_DEXIHAND,
/* 0x0B */ TATL_HINT_ID_NEJIRON,
/* 0x0C */ TATL_HINT_ID_GIANT_BEE,
/* 0x0D */ TATL_HINT_ID_DODONGO,
/* 0x0E */ TATL_HINT_ID_DEEP_PYTHON,
/* 0x0F */ TATL_HINT_ID_DEATH_ARMOS,
/* 0x10 */ TATL_HINT_ID_DINOLFOS,
/* 0x11 */ TATL_HINT_ID_FIRE_KEESE,
/* 0x12 */ TATL_HINT_ID_KEESE,
/* 0x13 */ TATL_HINT_ID_ARMOS,
/* 0x14 */ TATL_HINT_ID_EENO,
/* 0x15 */ TATL_HINT_ID_DRAGONFLY,
/* 0x16 */ TATL_HINT_ID_IGOS_DU_IKANA,
/* 0x17 */ TATL_HINT_ID_GARO,
/* 0x18 */ TATL_HINT_ID_GARO_MASTER,
/* 0x19 */ TATL_HINT_ID_WART,
/* 0x1A */ TATL_HINT_ID_GOMESS,
/* 0x1B */ TATL_HINT_ID_GOHT,
/* 0x1C */ TATL_HINT_ID_BLUE_BUBBLE,
/* 0x1D */ TATL_HINT_ID_KINGS_LACKEYS_DARK_ROOM,
/* 0x1E */ TATL_HINT_ID_KINGS_LACKEYS_LIGHT_ROOM,
/* 0x1F */ TATL_HINT_ID_SKULLWALLTULA,
/* 0x20 */ TATL_HINT_ID_GOLD_SKULLTULA, // Only in JP Ver.
/* 0x21 */ TATL_HINT_ID_CAPTAIN_KEETA,
/* 0x22 */ TATL_HINT_ID_YELLOW_CHUCHU,
/* 0x23 */ TATL_HINT_ID_TAKKURI,
/* 0x24 */ TATL_HINT_ID_RED_BUBBLE,
/* 0x25 */ TATL_HINT_ID_HIPLOOP,
/* 0x26 */ TATL_HINT_ID_MASKED_HIPLOOP,
/* 0x27 */ TATL_HINT_ID_SHELLBLADE,
/* 0x28 */ TATL_HINT_ID_GYORG, // "if you go near, you'll be eaten!"
/* 0x29 */ TATL_HINT_ID_GYORG_STUNNED, // "Jump in and attack it!"
/* 0x2A */ TATL_HINT_ID_REDEAD,
/* 0x2B */ TATL_HINT_ID_2B,
/* 0x2C */ TATL_HINT_ID_BLACK_BOE,
/* 0x2D */ TATL_HINT_ID_GIBDO,
/* 0x2E */ TATL_HINT_ID_TWINMOLD,
/* 0x2F */ TATL_HINT_ID_WEARING_GIANTS_MASK, // Twinmold, JP Ver. only
/* 0x30 */ TATL_HINT_ID_WALLMASTER,
/* 0x31 */ TATL_HINT_ID_FLOORMASTER,
/* 0x32 */ TATL_HINT_ID_MAJORAS_MASK,
/* 0x33 */ TATL_HINT_ID_MAJORAS_INCARNATION,
/* 0x34 */ TATL_HINT_ID_MAJORAS_WRATH,
/* 0x35 */ TATL_HINT_ID_IRON_KNUCKLE,
/* 0x36 */ TATL_HINT_ID_36, // Empty
/* 0x37 */ TATL_HINT_ID_LIKE_LIKE,
/* 0x38 */ TATL_HINT_ID_38, // Empty
/* 0x39 */ TATL_HINT_ID_BEAMOS,
/* 0x3A */ TATL_HINT_ID_3A, // Empty
/* 0x3B */ TATL_HINT_ID_FREEZARD,
/* 0x3C */ TATL_HINT_ID_WHITE_BOE,
/* 0x3D */ TATL_HINT_ID_3D, // Empty
/* 0x3E */ TATL_HINT_ID_3E, // Empty
/* 0x3F */ TATL_HINT_ID_3F, // Empty
/* 0x40 */ TATL_HINT_ID_40, // Empty
/* 0x41 */ TATL_HINT_ID_41, // Empty
/* 0x42 */ TATL_HINT_ID_OCTOROK,
/* 0x43 */ TATL_HINT_ID_43, // Empty
/* 0x44 */ TATL_HINT_ID_POE,
/* 0x45 */ TATL_HINT_ID_GEKKO_SNAPPER,
/* 0x46 */ TATL_HINT_ID_BLUE_TEKTITE,
/* 0x47 */ TATL_HINT_ID_LEEVER,
/* 0x48 */ TATL_HINT_ID_PEAHAT,
/* 0x49 */ TATL_HINT_ID_PEAHAT_LARVA,
/* 0x4A */ TATL_HINT_ID_EYEGORE,
/* 0x4B */ TATL_HINT_ID_WIZROBE,
/* 0x4C */ TATL_HINT_ID_WOLFOS,
/* 0x4D */ TATL_HINT_ID_MAD_SCRUB,
/* 0x4E */ TATL_HINT_ID_4E, // Empty
/* 0x4F */ TATL_HINT_ID_4F, // Empty
/* 0x50 */ TATL_HINT_ID_POE_SISTER_MEG,
/* 0x51 */ TATL_HINT_ID_POE_SISTER_JO,
/* 0x52 */ TATL_HINT_ID_POE_SISTER_BETH,
/* 0x53 */ TATL_HINT_ID_POE_SISTER_AMY,
/* 0x54 */ TATL_HINT_ID_PIRATE,
/* 0x55 */ TATL_HINT_ID_STALCHILD,
/* 0x56 */ TATL_HINT_ID_ICE_KEESE,
/* 0x57 */ TATL_HINT_ID_WHITE_WOLFOS,
/* 0x58 */ TATL_HINT_ID_GUAY,
/* 0x59 */ TATL_HINT_ID_BIG_OCTO,
/* 0x5A */ TATL_HINT_ID_BIG_POE,
/* 0x5B */ TATL_HINT_ID_SKULLFISH,
/* 0x5C */ TATL_HINT_ID_DESBREKO,
/* 0x5D */ TATL_HINT_ID_GREEN_CHUCHU,
/* 0x5E */ TATL_HINT_ID_ODOLWA_1,
/* 0x5F */ TATL_HINT_ID_GEKKO_GIANT_SLIME,
/* 0x60 */ TATL_HINT_ID_BAD_BAT,
/* 0x61 */ TATL_HINT_ID_REAL_BOMBCHU,
/* 0x62 */ TATL_HINT_ID_ODOLWA_2,
/* 0x63 */ TATL_HINT_ID_ODOLWA_3,
/* 0x64 */ TATL_HINT_ID_MUSHROOM,
/* 0xFF */ TATL_HINT_ID_NONE = 0xFF
} TatlHintId;
#endif