1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-06 06:10:21 +00:00

Decompile en_sw (#679)

* decompile ovl_en_sw

* remove unused asm

* some cleanup, run format

* review

* review

Co-authored-by: Fig02 <fig02srl@gmail.com>
This commit is contained in:
krimtonz 2021-02-12 19:52:39 -06:00 committed by GitHub
parent 4d30626033
commit cf06b27b15
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
45 changed files with 1027 additions and 3847 deletions

View file

@ -671,7 +671,8 @@ void func_80A7D460(EnInsect* this, GlobalContext* globalCtx) {
temp_a0 = ((this->soilActor->actor.params >> 8) & 0x1F) - 1;
temp_a1 = temp_a0 & 3;
if ((((gSaveContext.gsFlags[temp_a0 >> 2] & D_8012723C[temp_a1]) >> D_8012724C[temp_a1]) &
if ((((gSaveContext.gsFlags[temp_a0 >> 2] & gGoldSkullFlgMask[temp_a1]) >>
gGoldSkullFlgShift[temp_a1]) &
(this->soilActor->actor.params & 0xFF)) == 0) {
func_80078884(NA_SE_SY_TRE_BOX_APPEAR);
}

View file

@ -134,7 +134,7 @@ void func_80AFB950(EnSi* this, GlobalContext* globalCtx) {
} else {
params = this->actor.params;
temp = (params & 0x1F00) >> 8;
gSaveContext.gsFlags[temp >> 2] |= (params & 0xFF) << D_8012724C[temp & 3];
gSaveContext.gsFlags[temp >> 2] |= (params & 0xFF) << gGoldSkullFlgShift[temp & 3];
Actor_Kill(&this->actor);
}

File diff suppressed because it is too large Load diff

View file

@ -6,9 +6,47 @@
struct EnSw;
typedef void (*EnSwActionFunc)(struct EnSw* this, GlobalContext* globalCtx);
typedef struct EnSw {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x38C];
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ EnSwActionFunc actionFunc;
/* 0x0194 */ ColliderJntSph collider;
/* 0x01B4 */ ColliderJntSphElement sphs[1];
/* 0x01F4 */ Color_RGBA8 unk_1F4;
/* 0x01F8 */ Vec3s jointTable[30];
/* 0x02AC */ Vec3s morphTable[30];
/* 0x0360 */ u8 unk_360;
/* 0x0364 */ Vec3f unk_364;
/* 0x0370 */ Vec3f unk_370;
/* 0x037C */ Vec3f unk_37C;
/* 0x0388 */ s16 unk_388;
/* 0x038A */ s16 unk_38A;
/* 0x038C */ s16 unk_38C;
/* 0x038E */ s16 unk_38E;
/* 0x0390 */ s16 unk_390;
/* 0x0392 */ s16 unk_392;
/* 0x0394 */ s16 unk_394;
/* 0x0396 */ char unk_396[0x42];
/* 0x03D8 */ MtxF unk_3D8;
/* 0x0418 */ char unk_418[8];
/* 0x0420 */ f32 unk_420;
/* 0x0424 */ char unk_424[0x8];
/* 0x042C */ u8 unk_42C;
/* 0x0430 */ CollisionPoly* unk_430;
/* 0x0434 */ Vec3f unk_434;
/* 0x0440 */ s16 unk_440;
/* 0x0442 */ s16 unk_442;
/* 0x0444 */ s16 unk_444;
/* 0x0446 */ s16 unk_446;
/* 0x0448 */ Vec3f unk_448;
/* 0x0454 */ Vec3f unk_454;
/* 0x0460 */ Vec3f unk_460;
/* 0x046C */ Vec3f unk_46C;
/* 0x0478 */ Vec3f unk_478;
/* 0x0484 */ Vec3f unk_484;
/* 0x0490 */ char unk_490[0x48];
} EnSw; // size = 0x04D8
extern const ActorInit En_Sw_InitVars;