mirror of
https://github.com/zeldaret/tmc
synced 2026-08-18 13:43:31 -04:00
Merge pull request #571 from octorock/data
This commit is contained in:
+63
-4
@@ -43,7 +43,7 @@ typedef struct {
|
||||
Gleerok_HeapStruct* unk_84;
|
||||
} GleerokEntity;
|
||||
|
||||
extern void (*const Gleerok_Functions[])(Entity*);
|
||||
extern void (*const Gleerok_Functions[])(GleerokEntity*);
|
||||
extern void (*const gUnk_080CD75C[])(GleerokEntity*);
|
||||
extern void (*const gUnk_080CD7B8[])(GleerokEntity*);
|
||||
extern void (*const gUnk_080CD7E4[])(GleerokEntity*);
|
||||
@@ -51,7 +51,6 @@ extern void (*const gUnk_080CD810[])(GleerokEntity*);
|
||||
extern void (*const gUnk_080CD828[])(GleerokEntity*);
|
||||
extern void (*const gUnk_080CD848[])(GleerokEntity*);
|
||||
|
||||
extern u8 gUnk_080CD774[];
|
||||
extern Gleerok_HeapStruct2 gUnk_080CD7C4[];
|
||||
extern u8 gUnk_080CD884[];
|
||||
extern u8 gUnk_080CD7F8[];
|
||||
@@ -81,8 +80,68 @@ extern bool32 sub_0802E7CC(Gleerok_HeapStruct* param_1, u32 param_2, u32 param_3
|
||||
extern bool32 sub_0802EA88(Gleerok_HeapStruct* param_1);
|
||||
extern bool32 sub_0802E768(Gleerok_HeapStruct* param_1);
|
||||
|
||||
void Gleerok(Entity* this) {
|
||||
Gleerok_Functions[GetNextFunction(this)](this);
|
||||
void Gleerok_OnTick(GleerokEntity* this);
|
||||
void Gleerok_OnDeath(GleerokEntity* this);
|
||||
void sub_0802D158(GleerokEntity* this);
|
||||
void sub_0802D170(GleerokEntity* this);
|
||||
void sub_0802D218(GleerokEntity* this);
|
||||
void sub_0802D258(GleerokEntity* this);
|
||||
void sub_0802D33C(GleerokEntity* this);
|
||||
void sub_0802D3B8(GleerokEntity* this);
|
||||
void sub_0802D86C(GleerokEntity* this);
|
||||
void sub_0802D650(GleerokEntity* this);
|
||||
|
||||
void (*const Gleerok_Functions[])(GleerokEntity*) = {
|
||||
Gleerok_OnTick,
|
||||
Gleerok_OnTick,
|
||||
(void (*)(GleerokEntity*))GenericKnockback,
|
||||
Gleerok_OnDeath,
|
||||
(void (*)(GleerokEntity*))GenericConfused,
|
||||
};
|
||||
void (*const gUnk_080CD75C[])(GleerokEntity*) = {
|
||||
sub_0802D158, sub_0802D170, sub_0802D170, sub_0802D218, sub_0802D258, sub_0802D33C,
|
||||
};
|
||||
const u8 gUnk_080CD774[] = {
|
||||
24, 3, 16, 0, 32, 1, 16, 2, 16, 3, 24, 0, 24, 1, 4, 3, 4, 2, 24, 0, 4, 3, 24, 1, 4, 2, 24, 0, 24, 1, 24, 0, 24, 1,
|
||||
24, 0, 24, 1, 4, 3, 4, 2, 24, 0, 24, 1, 4, 3, 4, 2, 24, 0, 24, 1, 4, 3, 4, 2, 4, 3, 4, 2, 24, 0, 24, 1, 255, 0,
|
||||
};
|
||||
void (*const gUnk_080CD7B8[])(GleerokEntity*) = {
|
||||
sub_0802D3B8,
|
||||
sub_0802D86C,
|
||||
sub_0802D650,
|
||||
};
|
||||
|
||||
/*
|
||||
remaining data:
|
||||
|
||||
extern void (*const gUnk_080CD7B8[])(GleerokEntity*);
|
||||
extern Gleerok_HeapStruct2 gUnk_080CD7C4[];
|
||||
extern void (*const gUnk_080CD7E4[])(GleerokEntity*);
|
||||
extern u8 gUnk_080CD7F8[];
|
||||
extern void (*const gUnk_080CD810[])(GleerokEntity*);
|
||||
extern void (*const gUnk_080CD828[])(GleerokEntity*);
|
||||
extern u8 gUnk_080CD840[];
|
||||
extern u8 gUnk_080CD844[];
|
||||
extern void (*const gUnk_080CD848[])(GleerokEntity*);
|
||||
|
||||
|
||||
extern u8 gUnk_080CD850[];
|
||||
extern u8 gUnk_080CD854[];
|
||||
|
||||
extern u8 gUnk_080CD858[];
|
||||
extern u8 gUnk_080CD85B[];
|
||||
extern u8 gUnk_080CD85E[];
|
||||
extern u8 gUnk_080CD861[];
|
||||
extern u8 gUnk_080CD864[];
|
||||
extern u8 gUnk_080CD867[];
|
||||
|
||||
extern const u8* gUnk_080CD86C[];
|
||||
extern const u8* gUnk_080CD878[];
|
||||
extern u8 gUnk_080CD884[];
|
||||
*/
|
||||
|
||||
void Gleerok(GleerokEntity* this) {
|
||||
Gleerok_Functions[GetNextFunction(super)](this);
|
||||
}
|
||||
|
||||
void Gleerok_OnDeath(GleerokEntity* this) {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#define NENT_DEPRECATED
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "enemy.h"
|
||||
#include "sound.h"
|
||||
#include "asm.h"
|
||||
#include "functions.h"
|
||||
#include "collision.h"
|
||||
#include "enemy.h"
|
||||
#include "enemy/gyorg.h"
|
||||
#include "entity.h"
|
||||
#include "functions.h"
|
||||
#include "sound.h"
|
||||
|
||||
extern u8 gEntCount;
|
||||
extern u8 gMapDataTopSpecial[];
|
||||
@@ -29,7 +29,6 @@ void sub_080467DC(GyorgFemaleEntity*);
|
||||
|
||||
extern u8 gUpdateVisibleTiles;
|
||||
extern u8 gUnk_080B3E80[];
|
||||
extern u8 gUnk_080B37A0[];
|
||||
|
||||
extern const u8 gUnk_080D1A94[];
|
||||
extern const u8 gUnk_080D1AAC[];
|
||||
|
||||
+11
-5
@@ -5,9 +5,11 @@
|
||||
* @brief Mazaal Head enemy
|
||||
*/
|
||||
|
||||
#include "area.h"
|
||||
#include "enemy.h"
|
||||
#include "object.h"
|
||||
#include "functions.h"
|
||||
#include "object.h"
|
||||
#include "roomid.h"
|
||||
#include "screen.h"
|
||||
|
||||
extern void UnloadOBJPalette(Entity*);
|
||||
@@ -98,8 +100,12 @@ void (*const gUnk_080CED74[])(Entity*) = {
|
||||
sub_08034BA0,
|
||||
};
|
||||
const s8 gUnk_080CED84[] = { 0x0d, 0x10, -0xd, 0x10 };
|
||||
const ScreenTransitionData gUnk_080CED88 = { 1, { 0, 0, 0, 0 }, 0x88, 0xf8, 0, 0x5a, 1, 1, 0, 0, 0 };
|
||||
const ScreenTransitionData gUnk_080CED9C = { 1, { 0, 0, 0, 0 }, 0x88, 0xf8, 0, 0x5a, 0, 1, 0, 0, 0 };
|
||||
const ScreenTransitionData gUnk_080CED88 = {
|
||||
1, { 0, 0, 0, 0 }, 0x88, 0xf8, 0, AREA_INNER_MAZAAL, ROOM_INNER_MAZAAL_PHASE_1, 1, 0, 0, 0
|
||||
};
|
||||
const ScreenTransitionData gUnk_080CED9C = {
|
||||
1, { 0, 0, 0, 0 }, 0x88, 0xf8, 0, AREA_INNER_MAZAAL, ROOM_INNER_MAZAAL_MAIN, 1, 0, 0, 0
|
||||
};
|
||||
|
||||
void MazaalHead(Entity* this) {
|
||||
MazaalHead_Functions[GetNextFunction(this)](this);
|
||||
@@ -812,9 +818,9 @@ void sub_08034C00(Entity* this) {
|
||||
CheckPlayerInRegion(this->x.HALF.HI - gRoomControls.origin_x, this->y.HALF.HI - gRoomControls.origin_y + 0xd, 3,
|
||||
3) != 0) {
|
||||
if (gRoomTransition.field_0x39 >= 0x3d) {
|
||||
DoExitTransition((ScreenTransitionData*)&gUnk_080CED88);
|
||||
DoExitTransition(&gUnk_080CED88);
|
||||
} else {
|
||||
DoExitTransition((ScreenTransitionData*)&gUnk_080CED9C);
|
||||
DoExitTransition(&gUnk_080CED9C);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,9 +6,10 @@
|
||||
*/
|
||||
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
#include "screenTransitions.h"
|
||||
#include "script.h"
|
||||
#include "structures.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void sub_0807B600(u32);
|
||||
|
||||
@@ -51,8 +52,6 @@ const u8 gUnk_080CEECC[] = { 0x58, 0x68, 0x88, 0x68, 0xb8, 0x68, 0x58, 0xa8, 0x8
|
||||
const s16 gUnk_080CEED8[] = { -0x82, -0x81, -0x80, -0x7f, -0x7e, -0x42, -0x41, -0x40, -0x3f, -0x3e, -2, -1,
|
||||
1, 2, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x7e, 0x7f, 0x80, 0x81, 0x82 };
|
||||
|
||||
extern const ScreenTransitionData gUnk_0813ABA8;
|
||||
|
||||
void MazaalMacro(Entity* this) {
|
||||
MazaalMacro_Functions[GetNextFunction(this)](this);
|
||||
}
|
||||
@@ -184,7 +183,7 @@ void sub_08034EE4(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_08034F58(Entity* this) {
|
||||
DoExitTransition((ScreenTransitionData*)&gUnk_0813ABA8);
|
||||
DoExitTransition(&gUnk_0813ABA8);
|
||||
DeleteEntity(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
* @brief Moldworm enemy
|
||||
*/
|
||||
|
||||
#include "collision.h"
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
|
||||
@@ -21,8 +22,6 @@ void sub_0802390C(Entity*);
|
||||
void sub_080239F0(Entity*);
|
||||
bool32 sub_08023B38(Entity*);
|
||||
|
||||
extern const u8 gUnk_080B37A0[];
|
||||
|
||||
extern void (*const Moldworm_Functions[])(Entity*);
|
||||
extern void (*const gUnk_080CBC50[])(Entity*);
|
||||
extern const s8 gUnk_080CBC70[];
|
||||
@@ -488,12 +487,12 @@ void sub_080239F0(Entity* this) {
|
||||
*(u8*)((int)&this->field_0x86 + 1) = 0x88;
|
||||
}
|
||||
|
||||
bool32 sub_08023A38(u32 unk) {
|
||||
if (unk == 0x1a || unk == 0x29) {
|
||||
bool32 sub_08023A38(u32 tileType) {
|
||||
if (tileType == 0x1a || tileType == 0x29) {
|
||||
return TRUE;
|
||||
} else {
|
||||
unk = gUnk_080B37A0[unk];
|
||||
if (unk == 9 || unk == 11 || unk == 10 || unk == 12) {
|
||||
tileType = gUnk_080B37A0[tileType];
|
||||
if (tileType == 9 || tileType == 11 || tileType == 10 || tileType == 12) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
|
||||
+9
-12
@@ -5,11 +5,10 @@
|
||||
* @brief Puffstool enemy
|
||||
*/
|
||||
|
||||
#include "enemy.h"
|
||||
#include "collision.h"
|
||||
#include "enemy.h"
|
||||
#include "object.h"
|
||||
|
||||
extern u8 gUnk_080B37A0[];
|
||||
extern u8 gUnk_080B3E80[];
|
||||
|
||||
bool32 sub_080258C4(Entity*);
|
||||
@@ -414,25 +413,23 @@ bool32 sub_0802571C(Entity* this) {
|
||||
}
|
||||
|
||||
bool32 sub_080257EC(Entity* this, u32 x, u32 y) {
|
||||
u16 tmp;
|
||||
|
||||
tmp = sub_080B1A48(x - 0x00, y - 0x00, this->collisionLayer);
|
||||
if (tmp != 0x312 && gUnk_080B37A0[tmp] != 0x16 && gUnk_080B3E80[tmp] == 0) {
|
||||
u16 tileType = sub_080B1A48(x - 0x00, y - 0x00, this->collisionLayer);
|
||||
if (tileType != 0x312 && gUnk_080B37A0[tileType] != 0x16 && gUnk_080B3E80[tileType] == 0) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
tmp = sub_080B1A48(x - 0x10, y - 0x00, this->collisionLayer);
|
||||
if (tmp != 0x312 && gUnk_080B37A0[tmp] != 0x16 && gUnk_080B3E80[tmp] == 0) {
|
||||
tileType = sub_080B1A48(x - 0x10, y - 0x00, this->collisionLayer);
|
||||
if (tileType != 0x312 && gUnk_080B37A0[tileType] != 0x16 && gUnk_080B3E80[tileType] == 0) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
tmp = sub_080B1A48(x - 0x00, y - 0x10, this->collisionLayer);
|
||||
if (tmp != 0x312 && gUnk_080B37A0[tmp] != 0x16 && gUnk_080B3E80[tmp] == 0) {
|
||||
tileType = sub_080B1A48(x - 0x00, y - 0x10, this->collisionLayer);
|
||||
if (tileType != 0x312 && gUnk_080B37A0[tileType] != 0x16 && gUnk_080B3E80[tileType] == 0) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
tmp = sub_080B1A48(x - 0x10, y - 0x10, this->collisionLayer);
|
||||
if (tmp != 0x312 && gUnk_080B37A0[tmp] != 0x16 && gUnk_080B3E80[tmp] == 0) {
|
||||
tileType = sub_080B1A48(x - 0x10, y - 0x10, this->collisionLayer);
|
||||
if (tileType != 0x312 && gUnk_080B37A0[tileType] != 0x16 && gUnk_080B3E80[tileType] == 0) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,12 @@
|
||||
* @brief Vaati Arm enemy
|
||||
*/
|
||||
|
||||
#include "area.h"
|
||||
#include "enemy.h"
|
||||
#include "object.h"
|
||||
#include "functions.h"
|
||||
#include "hitbox.h"
|
||||
#include "object.h"
|
||||
#include "roomid.h"
|
||||
|
||||
typedef struct VaatiArm_HeapStruct1 {
|
||||
union SplitHWord unk00;
|
||||
@@ -166,7 +168,9 @@ const Coords gUnk_080D13D8[] = { { .HALF = { -0x60, 0x80 } }, { .HALF = { 0x60,
|
||||
const u8 gUnk_080D13E0[] = { 0xc, 0xe, 0x10 };
|
||||
const u8 gUnk_080D13E3[] = { 8, 9, 10, 4, 4, 5 };
|
||||
const s8 gUnk_080D13E9[] = { -8, 8 };
|
||||
const ScreenTransitionData gUnk_080D13EC = { 1, { 0, 0, 0, 0 }, 0x98, 0xb8, 0, 0x8a, 0, 1, 0, 0, 0 };
|
||||
const ScreenTransitionData gUnk_080D13EC = {
|
||||
1, { 0, 0, 0, 0 }, 0x98, 0xb8, 0, AREA_VAATIS_ARMS, ROOM_VAATIS_ARMS_FIRST, 1, 0, 0, 0
|
||||
};
|
||||
const u16 gUnk_080D1400[][5] = {
|
||||
{ 0x8000, 0x7000, 0x6000, 0x5000, 0x4000 },
|
||||
{ 0x8000, -0x7000, -0x6000, -0x5000, -0x4000 },
|
||||
@@ -1450,7 +1454,7 @@ static void sub_08043DB0(Entity* this) {
|
||||
pEVar3 = ((VaatiArm_HeapStruct*)this->myHeap)->entities[3];
|
||||
if (CheckPlayerInRegion(pEVar3->x.HALF.HI - gRoomControls.origin_x,
|
||||
pEVar3->y.HALF.HI - gRoomControls.origin_y + 2, 3, 3)) {
|
||||
DoExitTransition((ScreenTransitionData*)&gUnk_080D13EC);
|
||||
DoExitTransition(&gUnk_080D13EC);
|
||||
if ((gRoomTransition.field_0x39 & 3) != 3) {
|
||||
gRoomTransition.player_status.room_next = 1;
|
||||
}
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
#include "screenTransitions.h"
|
||||
|
||||
extern Entity* gUnk_020000B0;
|
||||
extern const ScreenTransitionData gUnk_0813AB94;
|
||||
|
||||
bool32 sub_0803E4A0(Entity*);
|
||||
void VaatiProjectile_OnTick(Entity*);
|
||||
@@ -199,7 +199,8 @@ void VaatiProjectileFunction0Action7(Entity* this) {
|
||||
sub_0803E4D8(this);
|
||||
if ((gRoomControls.origin_y + gRoomControls.height + -0x10) <= this->y.HALF.HI) {
|
||||
SetInitializationPriority();
|
||||
DoExitTransition((ScreenTransitionData*)&gUnk_0813AB94);
|
||||
// TODO this screen transition is to mazaal. Is this also the projectile for Mazaals shrink ray?
|
||||
DoExitTransition(&gUnk_0813AB94);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,11 +5,10 @@
|
||||
* @brief Wall Master enemy
|
||||
*/
|
||||
|
||||
#include "enemy.h"
|
||||
#include "area.h"
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern ScreenTransitionData* gUnk_0813AB1C[];
|
||||
#include "screenTransitions.h"
|
||||
|
||||
void sub_0802A78C(Entity*);
|
||||
void sub_0802A7D0(Entity*);
|
||||
@@ -169,7 +168,7 @@ void sub_0802A734(Entity* this) {
|
||||
sub_0802A7D0(this);
|
||||
if (--this->timer == 0) {
|
||||
SetInitializationPriority();
|
||||
DoExitTransition(gUnk_0813AB1C[gArea.dungeon_idx]);
|
||||
DoExitTransition(gWallMasterScreenTransitions[gArea.dungeon_idx]);
|
||||
} else {
|
||||
this->z.WORD -= Q_16_16(2);
|
||||
gPlayerState.field_0xa |= 0x80;
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
* @brief Wall Master 2 enemy
|
||||
*/
|
||||
|
||||
#include "enemy.h"
|
||||
#include "area.h"
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
#include "screenTransitions.h"
|
||||
|
||||
extern void GenericKnockback2(Entity*);
|
||||
|
||||
extern Entity* gUnk_020000B0;
|
||||
extern ScreenTransitionData* gUnk_0813AB1C[];
|
||||
|
||||
void sub_0802CF64(Entity*);
|
||||
void sub_0802CF8C(Entity*);
|
||||
@@ -145,7 +145,7 @@ void sub_0802CEF4(Entity* this) {
|
||||
sub_0802CFD8(this);
|
||||
if (--this->timer == 0) {
|
||||
SetInitializationPriority();
|
||||
DoExitTransition(gUnk_0813AB1C[gArea.dungeon_idx]);
|
||||
DoExitTransition(gWallMasterScreenTransitions[gArea.dungeon_idx]);
|
||||
} else {
|
||||
this->z.WORD -= Q_16_16(2);
|
||||
if (this->z.HALF.HI < -0x30) {
|
||||
|
||||
Reference in New Issue
Block a user