Merge pull request #571 from octorock/data

This commit is contained in:
notyourav
2022-09-05 11:38:44 -07:00
committed by GitHub
116 changed files with 9178 additions and 8793 deletions
+63 -4
View File
@@ -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) {
+5 -6
View File
@@ -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
View File
@@ -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);
}
}
}
+3 -4
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
+7 -3
View File
@@ -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;
}
+3 -2
View File
@@ -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);
}
}
+3 -4
View File
@@ -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;
+3 -3
View File
@@ -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) {