mirror of https://github.com/zeldaret/tmc.git
gyorg: extract rodata
This commit is contained in:
parent
23736e63a9
commit
3f790d80b4
|
|
@ -28602,177 +28602,6 @@
|
|||
"start": 858702,
|
||||
"size": 22
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1A84.bin",
|
||||
"start": 858756,
|
||||
"size": 16
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1A94_JP.bin",
|
||||
"variants": [
|
||||
"JP"
|
||||
],
|
||||
"starts": {
|
||||
"JP": 858164
|
||||
},
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1A94_1_DEMO_JP.bin",
|
||||
"variants": [
|
||||
"DEMO_JP"
|
||||
],
|
||||
"starts": {
|
||||
"DEMO_JP": 856792
|
||||
},
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1A94_2_EU.bin",
|
||||
"variants": [
|
||||
"EU"
|
||||
],
|
||||
"starts": {
|
||||
"EU": 856512
|
||||
},
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1A94_3_USA-DEMO_USA.bin",
|
||||
"variants": [
|
||||
"USA",
|
||||
"DEMO_USA"
|
||||
],
|
||||
"start": 858772,
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1AAC_JP.bin",
|
||||
"variants": [
|
||||
"JP"
|
||||
],
|
||||
"starts": {
|
||||
"JP": 858188
|
||||
},
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1AAC_1_DEMO_JP.bin",
|
||||
"variants": [
|
||||
"DEMO_JP"
|
||||
],
|
||||
"starts": {
|
||||
"DEMO_JP": 856816
|
||||
},
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1AAC_2_EU.bin",
|
||||
"variants": [
|
||||
"EU"
|
||||
],
|
||||
"starts": {
|
||||
"EU": 856536
|
||||
},
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1AAC_3_USA-DEMO_USA.bin",
|
||||
"variants": [
|
||||
"USA",
|
||||
"DEMO_USA"
|
||||
],
|
||||
"start": 858796,
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1AC4_JP.bin",
|
||||
"variants": [
|
||||
"JP"
|
||||
],
|
||||
"starts": {
|
||||
"JP": 858212
|
||||
},
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1AC4_1_DEMO_JP.bin",
|
||||
"variants": [
|
||||
"DEMO_JP"
|
||||
],
|
||||
"starts": {
|
||||
"DEMO_JP": 856840
|
||||
},
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1AC4_2_EU.bin",
|
||||
"variants": [
|
||||
"EU"
|
||||
],
|
||||
"starts": {
|
||||
"EU": 856560
|
||||
},
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1AC4_3_USA-DEMO_USA.bin",
|
||||
"variants": [
|
||||
"USA",
|
||||
"DEMO_USA"
|
||||
],
|
||||
"start": 858820,
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1ADC_JP.bin",
|
||||
"variants": [
|
||||
"JP"
|
||||
],
|
||||
"starts": {
|
||||
"JP": 858236
|
||||
},
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1ADC_1_DEMO_JP.bin",
|
||||
"variants": [
|
||||
"DEMO_JP"
|
||||
],
|
||||
"starts": {
|
||||
"DEMO_JP": 856864
|
||||
},
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1ADC_2_EU.bin",
|
||||
"variants": [
|
||||
"EU"
|
||||
],
|
||||
"starts": {
|
||||
"EU": 856584
|
||||
},
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1ADC_3_USA-DEMO_USA.bin",
|
||||
"variants": [
|
||||
"USA",
|
||||
"DEMO_USA"
|
||||
],
|
||||
"start": 858844,
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1AF4.bin",
|
||||
"start": 858868,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemale/gUnk_080D1AF8.bin",
|
||||
"start": 858872,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_GyorgMale_0.bin",
|
||||
"start": 859248,
|
||||
|
|
@ -28959,11 +28788,6 @@
|
|||
"size": 6,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "gyorgChild/gUnk_080D1EA0.bin",
|
||||
"start": 859808,
|
||||
"size": 22
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_GyorgFemaleEye_0.bin",
|
||||
"start": 860240,
|
||||
|
|
@ -29108,21 +28932,6 @@
|
|||
"size": 16,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemaleEye/gUnk_080D1F90.bin",
|
||||
"start": 860048,
|
||||
"size": 128
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemaleEye/gUnk_080D2010.bin",
|
||||
"start": 860176,
|
||||
"size": 32
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemaleEye/gUnk_080D2030.bin",
|
||||
"start": 860208,
|
||||
"size": 32
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_Enemy62_0.bin",
|
||||
"start": 861032,
|
||||
|
|
@ -29541,51 +29350,6 @@
|
|||
"size": 17,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemaleMouth/gUnk_080D28CC.bin",
|
||||
"start": 862412,
|
||||
"size": 16
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemaleMouth/gUnk_080D28DC.bin",
|
||||
"start": 862428,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemaleMouth/gUnk_080D28E4.bin",
|
||||
"start": 862436,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemaleMouth/gUnk_080D28EC.bin",
|
||||
"start": 862444,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemaleMouth/gUnk_080D28F4.bin",
|
||||
"start": 862452,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemaleMouth/gUnk_080D28FC.bin",
|
||||
"start": 862460,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemaleMouth/gUnk_080D2904.bin",
|
||||
"start": 862468,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemaleMouth/gUnk_080D290C.bin",
|
||||
"start": 862476,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "gyorgFemaleMouth/gUnk_080D2914.bin",
|
||||
"start": 862484,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "enemy64/gUnk_080D29B8.bin",
|
||||
"start": 862648,
|
||||
|
|
@ -47121,11 +46885,6 @@
|
|||
"start": 1200092,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "gyorgBossObject/gUnk_08124EF8.bin",
|
||||
"start": 1199864,
|
||||
"size": 16
|
||||
},
|
||||
{
|
||||
"path": "windcrest/gUnk_08125010.bin",
|
||||
"start": 1200144,
|
||||
|
|
|
|||
|
|
@ -1,29 +0,0 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_080D1E6C:: @ 080D1E6C
|
||||
.4byte sub_08048684
|
||||
.4byte sub_0804869C
|
||||
.4byte sub_08001324
|
||||
.4byte sub_0804A7D4
|
||||
.4byte sub_08001242
|
||||
.4byte sub_080486AC
|
||||
|
||||
gUnk_080D1E84:: @ 080D1E84
|
||||
.4byte sub_080486F4
|
||||
.4byte sub_0804877C
|
||||
.4byte sub_0804882C
|
||||
.4byte sub_08048904
|
||||
|
||||
gUnk_080D1E94:: @ 080D1E94
|
||||
.4byte sub_080486D0
|
||||
.4byte sub_080486D8
|
||||
.4byte sub_080486E0
|
||||
|
||||
gUnk_080D1EA0:: @ 080D1EA0
|
||||
.incbin "gyorgChild/gUnk_080D1EA0.bin"
|
||||
|
||||
|
||||
|
|
@ -1,95 +0,0 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_080D1A64:: @ 080D1A64
|
||||
.4byte sub_0804614C
|
||||
.4byte sub_0804625C
|
||||
.4byte sub_0804632C
|
||||
.4byte sub_080463E4
|
||||
|
||||
gUnk_080D1A74:: @ 080D1A74
|
||||
.4byte gUnk_080D1A94
|
||||
.4byte gUnk_080D1AAC
|
||||
.4byte gUnk_080D1AC4
|
||||
.4byte gUnk_080D1ADC
|
||||
|
||||
gUnk_080D1A84:: @ 080D1A84
|
||||
.incbin "gyorgFemale/gUnk_080D1A84.bin"
|
||||
|
||||
gUnk_080D1A94:: @ 080D1A94
|
||||
.ifdef JP
|
||||
@ TODO only small differences
|
||||
.incbin "gyorgFemale/gUnk_080D1A94_JP.bin"
|
||||
.else
|
||||
.ifdef DEMO_JP
|
||||
@ TODO only small differences
|
||||
.incbin "gyorgFemale/gUnk_080D1A94_1_DEMO_JP.bin"
|
||||
.else
|
||||
.ifdef EU
|
||||
.incbin "gyorgFemale/gUnk_080D1A94_2_EU.bin"
|
||||
.else
|
||||
.incbin "gyorgFemale/gUnk_080D1A94_3_USA-DEMO_USA.bin"
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
|
||||
|
||||
gUnk_080D1AAC:: @ 080D1AAC
|
||||
.ifdef JP
|
||||
@ TODO only small differences
|
||||
.incbin "gyorgFemale/gUnk_080D1AAC_JP.bin"
|
||||
.else
|
||||
.ifdef DEMO_JP
|
||||
@ TODO only small differences
|
||||
.incbin "gyorgFemale/gUnk_080D1AAC_1_DEMO_JP.bin"
|
||||
.else
|
||||
.ifdef EU
|
||||
.incbin "gyorgFemale/gUnk_080D1AAC_2_EU.bin"
|
||||
.else
|
||||
.incbin "gyorgFemale/gUnk_080D1AAC_3_USA-DEMO_USA.bin"
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
|
||||
gUnk_080D1AC4:: @ 080D1AC4
|
||||
.ifdef JP
|
||||
@ TODO only small differences
|
||||
.incbin "gyorgFemale/gUnk_080D1AC4_JP.bin"
|
||||
.else
|
||||
.ifdef DEMO_JP
|
||||
@ TODO only small differences
|
||||
.incbin "gyorgFemale/gUnk_080D1AC4_1_DEMO_JP.bin"
|
||||
.else
|
||||
.ifdef EU
|
||||
.incbin "gyorgFemale/gUnk_080D1AC4_2_EU.bin"
|
||||
.else
|
||||
.incbin "gyorgFemale/gUnk_080D1AC4_3_USA-DEMO_USA.bin"
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
|
||||
gUnk_080D1ADC:: @ 080D1ADC
|
||||
.ifdef JP
|
||||
@ TODO only small differences
|
||||
.incbin "gyorgFemale/gUnk_080D1ADC_JP.bin"
|
||||
.else
|
||||
.ifdef DEMO_JP
|
||||
@ TODO only small differences
|
||||
.incbin "gyorgFemale/gUnk_080D1ADC_1_DEMO_JP.bin"
|
||||
.else
|
||||
.ifdef EU
|
||||
.incbin "gyorgFemale/gUnk_080D1ADC_2_EU.bin"
|
||||
.else
|
||||
.incbin "gyorgFemale/gUnk_080D1ADC_3_USA-DEMO_USA.bin"
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
|
||||
gUnk_080D1AF4:: @ 080D1AF4
|
||||
.incbin "gyorgFemale/gUnk_080D1AF4.bin"
|
||||
|
||||
gUnk_080D1AF8:: @ 080D1AF8
|
||||
.incbin "gyorgFemale/gUnk_080D1AF8.bin"
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_080D1F64:: @ 080D1F64
|
||||
.4byte sub_080489B4
|
||||
.4byte sub_080489CC
|
||||
.4byte sub_08001324
|
||||
.4byte sub_0804A7D4
|
||||
.4byte sub_08001242
|
||||
.4byte sub_080489B4
|
||||
|
||||
gUnk_080D1F7C:: @ 080D1F7C
|
||||
.4byte sub_08048AF0
|
||||
.4byte sub_08048B2C
|
||||
.4byte sub_08048B84
|
||||
.4byte sub_08048BB0
|
||||
.4byte sub_08048CEC
|
||||
|
||||
gUnk_080D1F90:: @ 080D1F90
|
||||
.incbin "gyorgFemaleEye/gUnk_080D1F90.bin"
|
||||
|
||||
gUnk_080D2010:: @ 080D2010
|
||||
.incbin "gyorgFemaleEye/gUnk_080D2010.bin"
|
||||
|
||||
gUnk_080D2030:: @ 080D2030
|
||||
.incbin "gyorgFemaleEye/gUnk_080D2030.bin"
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_080D28AC:: @ 080D28AC
|
||||
.4byte gUnk_080D28DC
|
||||
.4byte gUnk_080D28E4
|
||||
.4byte gUnk_080D28EC
|
||||
.4byte gUnk_080D28F4
|
||||
.4byte gUnk_080D28FC
|
||||
.4byte gUnk_080D2904
|
||||
.4byte gUnk_080D290C
|
||||
.4byte gUnk_080D2914
|
||||
|
||||
gUnk_080D28CC:: @ 080D28CC
|
||||
.incbin "gyorgFemaleMouth/gUnk_080D28CC.bin"
|
||||
|
||||
gUnk_080D28DC:: @ 080D28DC
|
||||
.incbin "gyorgFemaleMouth/gUnk_080D28DC.bin"
|
||||
|
||||
gUnk_080D28E4:: @ 080D28E4
|
||||
.incbin "gyorgFemaleMouth/gUnk_080D28E4.bin"
|
||||
|
||||
gUnk_080D28EC:: @ 080D28EC
|
||||
.incbin "gyorgFemaleMouth/gUnk_080D28EC.bin"
|
||||
|
||||
gUnk_080D28F4:: @ 080D28F4
|
||||
.incbin "gyorgFemaleMouth/gUnk_080D28F4.bin"
|
||||
|
||||
gUnk_080D28FC:: @ 080D28FC
|
||||
.incbin "gyorgFemaleMouth/gUnk_080D28FC.bin"
|
||||
|
||||
gUnk_080D2904:: @ 080D2904
|
||||
.incbin "gyorgFemaleMouth/gUnk_080D2904.bin"
|
||||
|
||||
gUnk_080D290C:: @ 080D290C
|
||||
.incbin "gyorgFemaleMouth/gUnk_080D290C.bin"
|
||||
|
||||
gUnk_080D2914:: @ 080D2914
|
||||
.incbin "gyorgFemaleMouth/gUnk_080D2914.bin"
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_08124ED0:: @ 08124ED0
|
||||
.4byte sub_080A1704
|
||||
.4byte sub_080A184C
|
||||
.4byte sub_080A189C
|
||||
.4byte sub_080A190C
|
||||
.4byte sub_080A1990
|
||||
.4byte sub_080A19FC
|
||||
.4byte sub_080A1A80
|
||||
.4byte sub_080A1AE8
|
||||
.4byte sub_080A1B4C
|
||||
.4byte sub_080A1C04
|
||||
|
||||
gUnk_08124EF8:: @ 08124EF8
|
||||
.incbin "gyorgBossObject/gUnk_08124EF8.bin"
|
||||
|
|
@ -21,6 +21,11 @@ typedef struct {
|
|||
u8 unk_83[5];
|
||||
} GyorgFemaleEntity;
|
||||
|
||||
typedef struct {
|
||||
Entity base;
|
||||
u8 unk_68[0x20];
|
||||
} GyorgFemaleEyeEntity;
|
||||
|
||||
typedef struct {
|
||||
Entity base;
|
||||
u8 filler[0x20];
|
||||
|
|
|
|||
10
linker.ld
10
linker.ld
|
|
@ -1150,20 +1150,20 @@ SECTIONS {
|
|||
src/enemy/vaatiTransfiguredEye.o(.rodata);
|
||||
data/animations/enemy/vaatiTransfiguredEye.o(.rodata);
|
||||
data/const/enemy/businessScrubPrologue.o(.rodata);
|
||||
data/const/enemy/gyorgFemale.o(.rodata);
|
||||
src/enemy/gyorgFemale.o(.rodata);
|
||||
src/enemy/gyorgMale.o(.rodata);
|
||||
data/animations/enemy/gyorgMale.o(.rodata);
|
||||
data/const/enemy/curtain.o(.rodata);
|
||||
data/animations/enemy/curtain.o(.rodata);
|
||||
src/enemy/vaatiWrathEye.o(.rodata);
|
||||
data/animations/enemy/vaatiWrathEye.o(.rodata);
|
||||
data/const/enemy/gyorgChild.o(.rodata);
|
||||
src/enemy/gyorgChild.o(.rodata);
|
||||
data/animations/enemy/gyorgChild.o(.rodata);
|
||||
data/const/enemy/gyorgFemaleEye.o(.rodata);
|
||||
src/enemy/gyorgFemaleEye.o(.rodata);
|
||||
data/animations/enemy/gyorgFemaleEye.o(.rodata);
|
||||
data/const/enemy/enemy62.o(.rodata);
|
||||
data/animations/enemy/enemy62.o(.rodata);
|
||||
data/const/enemy/gyorgFemaleMouth.o(.rodata);
|
||||
src/enemy/gyorgFemaleMouth.o(.rodata);
|
||||
data/animations/enemy/gyorgFemaleMouth.o(.rodata);
|
||||
data/const/enemy/enemy64.o(.rodata);
|
||||
src/enemy/treeItem.o(.rodata);
|
||||
|
|
@ -1637,7 +1637,7 @@ SECTIONS {
|
|||
data/const/object/well.o(.rodata);
|
||||
data/const/object/windTribeTeleporter.o(.rodata);
|
||||
data/const/object/objectB9.o(.rodata);
|
||||
data/const/object/gyorgBossObject.o(.rodata);
|
||||
src/object/gyorgBossObject.o(.rodata);
|
||||
data/animations/object/gyorgBossObject.o(.rodata);
|
||||
data/const/object/windcrest.o(.rodata);
|
||||
data/const/object/objectBD.o(.rodata);
|
||||
|
|
|
|||
|
|
@ -1,10 +1,22 @@
|
|||
#define NENT_DEPRECATED
|
||||
#include "global.h"
|
||||
#include "room.h"
|
||||
#include "asm.h"
|
||||
#include "functions.h"
|
||||
#include "enemy/gyorg.h"
|
||||
|
||||
extern void (*const gUnk_080D1E6C[])(GyorgChildEntity*);
|
||||
void sub_08048684(GyorgChildEntity*);
|
||||
void sub_0804869C(GyorgChildEntity*);
|
||||
void sub_080486AC(GyorgChildEntity*);
|
||||
|
||||
void (*const gUnk_080D1E6C[])(GyorgChildEntity*) = {
|
||||
sub_08048684,
|
||||
sub_0804869C,
|
||||
(void (*)(GyorgChildEntity*))sub_08001324,
|
||||
(void (*)(GyorgChildEntity*))sub_0804A7D4,
|
||||
(void (*)(GyorgChildEntity*))sub_08001242,
|
||||
sub_080486AC,
|
||||
};
|
||||
|
||||
void GyorgChild(Entity* this) {
|
||||
if (gScreenTransition.field_0x39 == 0) {
|
||||
|
|
@ -15,21 +27,35 @@ void GyorgChild(Entity* this) {
|
|||
gUnk_080D1E6C[GetNextFunction(this)]((GyorgChildEntity*)this);
|
||||
}
|
||||
|
||||
extern void (*const gUnk_080D1E84[])(GyorgChildEntity*);
|
||||
void sub_080486F4(GyorgChildEntity*);
|
||||
void sub_0804877C(GyorgChildEntity*);
|
||||
void sub_0804882C(GyorgChildEntity*);
|
||||
void sub_08048904(GyorgChildEntity*);
|
||||
|
||||
void sub_08048684(GyorgChildEntity* this) {
|
||||
static void (*const gUnk_080D1E84[])(GyorgChildEntity*) = {
|
||||
sub_080486F4,
|
||||
sub_0804877C,
|
||||
sub_0804882C,
|
||||
sub_08048904,
|
||||
};
|
||||
gUnk_080D1E84[super->action](this);
|
||||
}
|
||||
|
||||
extern void (*const gUnk_080D1E6C[])(GyorgChildEntity*);
|
||||
|
||||
void sub_0804869C(GyorgChildEntity* this) {
|
||||
sub_0804AA30(super, gUnk_080D1E6C);
|
||||
}
|
||||
|
||||
extern void (*const gUnk_080D1E94[])(GyorgChildEntity*);
|
||||
void sub_080486D0(GyorgChildEntity*);
|
||||
void sub_080486D8(GyorgChildEntity*);
|
||||
void sub_080486E0(GyorgChildEntity*);
|
||||
|
||||
void sub_080486AC(GyorgChildEntity* this) {
|
||||
static void (*const gUnk_080D1E94[])(GyorgChildEntity*) = {
|
||||
sub_080486D0,
|
||||
sub_080486D8,
|
||||
sub_080486E0,
|
||||
};
|
||||
if (sub_0806F520()) {
|
||||
gUnk_080D1E94[super->subAction](this);
|
||||
}
|
||||
|
|
@ -49,9 +75,11 @@ void sub_080486E0(GyorgChildEntity* this) {
|
|||
}
|
||||
}
|
||||
|
||||
extern const u8 gUnk_080D1EA0[];
|
||||
|
||||
void sub_080486F4(GyorgChildEntity* this) {
|
||||
static const s8 gUnk_080D1EA0[] = {
|
||||
0x50, 0x1, 0x40, 0x1, 0x30, 0x1, 0x20, 0x1, 0x10, 0x1, 0,
|
||||
0, 0x10, -0x1, 0x20, -0x1, 0x30, -0x1, 0x40, -0x1, 0x50, -0x1,
|
||||
};
|
||||
super->field_0x1c = 1;
|
||||
super->spriteOrientation.flipY = 3;
|
||||
super->spriteRendering.b3 = 3;
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ extern u8 gMapDataTopSpecial[];
|
|||
|
||||
extern u16 gUnk_02019EE0[];
|
||||
|
||||
extern void sub_080197D4(u32);
|
||||
extern void sub_080197D4(const void*);
|
||||
|
||||
extern u32 sub_08000E62(u32);
|
||||
extern void RegisterTransitionManager(void*, void (*)(), void (*)());
|
||||
|
|
@ -28,17 +28,23 @@ void sub_08046668(GyorgFemaleEntity*);
|
|||
void sub_08046518(void);
|
||||
void sub_080467DC(GyorgFemaleEntity*);
|
||||
|
||||
extern void (*const gUnk_080D1A64[])(GyorgFemaleEntity*);
|
||||
extern u32 gUnk_080D1A74[];
|
||||
extern u8 gUpdateVisibleTiles;
|
||||
extern u8 gUnk_080B3E80[];
|
||||
extern u8 gUnk_080B37A0[];
|
||||
extern u16 gMetatileTypesTop[];
|
||||
extern const u16 gUnk_080D1A84[];
|
||||
extern const u8 gUnk_080D1AF4[];
|
||||
extern const u8 gUnk_080D1AF8[];
|
||||
|
||||
void sub_0804614C(GyorgFemaleEntity*);
|
||||
void sub_0804625C(GyorgFemaleEntity*);
|
||||
void sub_0804632C(GyorgFemaleEntity*);
|
||||
void sub_080463E4(GyorgFemaleEntity*);
|
||||
|
||||
void GyorgFemale(Entity* this) {
|
||||
static void (*const gUnk_080D1A64[])(GyorgFemaleEntity*) = {
|
||||
sub_0804614C,
|
||||
sub_0804625C,
|
||||
sub_0804632C,
|
||||
sub_080463E4,
|
||||
};
|
||||
gUnk_080D1A64[this->action]((GyorgFemaleEntity*)this);
|
||||
}
|
||||
|
||||
|
|
@ -211,7 +217,18 @@ void sub_08046498(GyorgFemaleEntity* this) {
|
|||
}
|
||||
#endif
|
||||
|
||||
extern const u8 gUnk_080D1A94[];
|
||||
extern const u8 gUnk_080D1AAC[];
|
||||
extern const u8 gUnk_080D1AC4[];
|
||||
extern const u8 gUnk_080D1ADC[];
|
||||
|
||||
void sub_080464C0(GyorgFemaleEntity* this) {
|
||||
static const void* const gUnk_080D1A74[] = {
|
||||
gUnk_080D1A94,
|
||||
gUnk_080D1AAC,
|
||||
gUnk_080D1AC4,
|
||||
gUnk_080D1ADC,
|
||||
};
|
||||
s32 i;
|
||||
u8* src;
|
||||
u8* dst;
|
||||
|
|
@ -261,6 +278,9 @@ void sub_080465C8(void) {
|
|||
}
|
||||
|
||||
void sub_0804660C(GyorgFemaleEntity* this, u32 unk1) {
|
||||
static const u16 gUnk_080D1A84[] = {
|
||||
0x200, 0x258, 0x1B8, 0x210, 0x200, 0x1C8, 0x248, 0x210,
|
||||
};
|
||||
const u16* p;
|
||||
super->animationState = unk1;
|
||||
p = &gUnk_080D1A84[unk1 >> 5];
|
||||
|
|
@ -268,7 +288,85 @@ void sub_0804660C(GyorgFemaleEntity* this, u32 unk1) {
|
|||
super->y.HALF.HI = p[1] + gRoomControls.roomOriginY;
|
||||
}
|
||||
|
||||
// todo: correct type
|
||||
const u8 gUnk_080D1A94[] = {
|
||||
#if defined(JP) || defined(DEMO_JP)
|
||||
0x7C,
|
||||
#elif defined(EU)
|
||||
0x50,
|
||||
#else
|
||||
0x08,
|
||||
#endif
|
||||
0x41, 0x22, 0x80, 0xE0, 0x9E, 0x01, 0x02, 0x00, 0x08, 0x00, 0x80,
|
||||
#if defined(JP) || defined(DEMO_JP)
|
||||
0x2C, 0xD3,
|
||||
#elif defined(EU)
|
||||
0x00, 0xD3,
|
||||
#else
|
||||
0xB8, 0xD2,
|
||||
#endif
|
||||
0x22, 0x00, 0x54, 0xB6, 0x00, 0x02, 0x80, 0x1F, 0x00, 0x80,
|
||||
};
|
||||
|
||||
const u8 gUnk_080D1AAC[] = {
|
||||
#if defined(JP) || defined(DEMO_JP)
|
||||
0xFC,
|
||||
#elif defined(EU)
|
||||
0xD0,
|
||||
#else
|
||||
0x88,
|
||||
#endif
|
||||
0x3D, 0x22, 0x80, 0xE0, 0x9E, 0x01, 0x02, 0x00, 0x08, 0x00, 0x80,
|
||||
#if defined(JP) || defined(DEMO_JP)
|
||||
0xF8,
|
||||
#elif defined(EU)
|
||||
0xCC,
|
||||
#else
|
||||
0x84,
|
||||
#endif
|
||||
0xD6, 0x22, 0x00, 0x54, 0xB6, 0x00, 0x02, 0x80, 0x1F, 0x00, 0x80,
|
||||
};
|
||||
|
||||
const u8 gUnk_080D1AC4[] = {
|
||||
#if defined(JP) || defined(DEMO_JP)
|
||||
0xE4,
|
||||
#elif defined(EU)
|
||||
0xB8,
|
||||
#else
|
||||
0x70,
|
||||
#endif
|
||||
0x36, 0x22, 0x80, 0xE0, 0x9E, 0x01, 0x02, 0x00, 0x08, 0x00, 0x80,
|
||||
#if defined(JP) || defined(DEMO_JP)
|
||||
0xC0,
|
||||
#elif defined(EU)
|
||||
0x94,
|
||||
#else
|
||||
0x4C,
|
||||
#endif
|
||||
0xDA, 0x22, 0x00, 0x54, 0xB6, 0x00, 0x02, 0x80, 0x1F, 0x00, 0x80,
|
||||
};
|
||||
|
||||
const u8 gUnk_080D1ADC[] = {
|
||||
#if defined(JP) || defined(DEMO_JP)
|
||||
0x78,
|
||||
#elif defined(EU)
|
||||
0x4C,
|
||||
#else
|
||||
0x04,
|
||||
#endif
|
||||
0x3A, 0x22, 0x80, 0xE0, 0x9E, 0x01, 0x02, 0x00, 0x08, 0x00, 0x80,
|
||||
#if defined(JP) || defined(DEMO_JP)
|
||||
0x88,
|
||||
#elif defined(EU)
|
||||
0x5C,
|
||||
#else
|
||||
0x14,
|
||||
#endif
|
||||
0xDE, 0x22, 0x00, 0x54, 0xB6, 0x00, 0x02, 0x80, 0x1F, 0x00, 0x80,
|
||||
};
|
||||
|
||||
void sub_08046634(GyorgFemaleEntity* this, u32 unk1) {
|
||||
static const u8 gUnk_080D1AF4[] = { 2, 3, 6, 7 };
|
||||
u32 tmp;
|
||||
if (unk1 == 0) {
|
||||
tmp = gUnk_080D1AF4[Random() & 3];
|
||||
|
|
@ -279,6 +377,7 @@ void sub_08046634(GyorgFemaleEntity* this, u32 unk1) {
|
|||
}
|
||||
|
||||
void sub_08046668(GyorgFemaleEntity* this) {
|
||||
static const u8 gUnk_080D1AF8[] = { 0x16, 0x92, 0x94, 0x86 };
|
||||
if (super->health == 0) {
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,21 +6,27 @@
|
|||
#include "functions.h"
|
||||
#include "enemy/gyorg.h"
|
||||
|
||||
typedef struct {
|
||||
Entity base;
|
||||
u8 unk_68[0x20];
|
||||
} GyorgFemaleEyeEntity;
|
||||
void sub_080489B4(GyorgFemaleEyeEntity*);
|
||||
void sub_080489CC(GyorgFemaleEyeEntity*);
|
||||
|
||||
extern void (*const gUnk_080D1F64[])(GyorgFemaleEyeEntity*);
|
||||
extern void (*const gUnk_080D1F7C[])(GyorgFemaleEyeEntity*);
|
||||
|
||||
extern const u8 gUnk_080D2030[];
|
||||
extern const u8 gUnk_080D2010[];
|
||||
void sub_08048AF0(GyorgFemaleEyeEntity*);
|
||||
void sub_08048B2C(GyorgFemaleEyeEntity*);
|
||||
void sub_08048B84(GyorgFemaleEyeEntity*);
|
||||
void sub_08048BB0(GyorgFemaleEyeEntity*);
|
||||
void sub_08048CEC(GyorgFemaleEyeEntity*);
|
||||
|
||||
void sub_08048D20(GyorgFemaleEyeEntity*);
|
||||
|
||||
u32 sub_08048D70(GyorgFemaleEntity*);
|
||||
|
||||
void (*const gUnk_080D1F64[])(GyorgFemaleEyeEntity*) = {
|
||||
sub_080489B4,
|
||||
sub_080489CC,
|
||||
(void (*)(GyorgFemaleEyeEntity*))sub_08001324,
|
||||
(void (*)(GyorgFemaleEyeEntity*))sub_0804A7D4,
|
||||
(void (*)(GyorgFemaleEyeEntity*))sub_08001242,
|
||||
sub_080489B4,
|
||||
};
|
||||
|
||||
void GyorgFemaleEye(Entity* this) {
|
||||
if (this->parent->next == NULL) {
|
||||
DeleteThisEntity();
|
||||
|
|
@ -29,9 +35,33 @@ void GyorgFemaleEye(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_080489B4(GyorgFemaleEyeEntity* this) {
|
||||
static void (*const gUnk_080D1F7C[])(GyorgFemaleEyeEntity*) = {
|
||||
sub_08048AF0, sub_08048B2C, sub_08048B84, sub_08048BB0, sub_08048CEC,
|
||||
};
|
||||
gUnk_080D1F7C[super->action](this);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
u16 x, y;
|
||||
} xy;
|
||||
|
||||
const xy gUnk_080D1F90[] = {
|
||||
{ 0x1e8, 0x1d8 }, { 0x1f8, 0x1d8 }, { 0x208, 0x1d8 }, { 0x218, 0x1d8 }, { 0x1e8, 0x1e8 }, { 0x1f8, 0x1e8 },
|
||||
{ 0x208, 0x1e8 }, { 0x218, 0x1e8 }, { 0x238, 0x1f8 }, { 0x238, 0x208 }, { 0x238, 0x218 }, { 0x238, 0x228 },
|
||||
{ 0x228, 0x1f8 }, { 0x228, 0x208 }, { 0x228, 0x218 }, { 0x228, 0x228 }, { 0x218, 0x248 }, { 0x208, 0x248 },
|
||||
{ 0x1f8, 0x248 }, { 0x1e8, 0x248 }, { 0x218, 0x238 }, { 0x208, 0x238 }, { 0x1f8, 0x238 }, { 0x1e8, 0x238 },
|
||||
{ 0x1c8, 0x228 }, { 0x1c8, 0x218 }, { 0x1c8, 0x208 }, { 0x1c8, 0x1f8 }, { 0x1d8, 0x228 }, { 0x1d8, 0x218 },
|
||||
{ 0x1d8, 0x208 }, { 0x1d8, 0x1f8 },
|
||||
};
|
||||
|
||||
const u8 gUnk_080D2010[] = {
|
||||
0, 0, 1, 1, 0, 0, 1, 1, 4, 4, 5, 5, 4, 4, 5, 5, 9, 9, 8, 8, 9, 9, 8, 8, 13, 13, 12, 12, 13, 13, 12, 12,
|
||||
};
|
||||
|
||||
const u8 gUnk_080D2030[] = {
|
||||
2, 2, 3, 3, 2, 2, 3, 3, 6, 6, 7, 7, 6, 6, 7, 7, 11, 11, 10, 10, 11, 11, 10, 10, 15, 15, 14, 14, 15, 15, 14, 14,
|
||||
};
|
||||
|
||||
void sub_080489CC(GyorgFemaleEyeEntity* this) {
|
||||
GyorgFemaleEntity* parent;
|
||||
if (super->health != 0xFF) {
|
||||
|
|
@ -151,13 +181,6 @@ void sub_08048CEC(GyorgFemaleEyeEntity* this) {
|
|||
InitializeAnimation(super, gUnk_080D2010[(super->animationState << 3) + super->type]);
|
||||
}
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
u16 x, y;
|
||||
} xy;
|
||||
|
||||
extern const xy gUnk_080D1F90[];
|
||||
|
||||
void sub_08048D20(GyorgFemaleEyeEntity* this) {
|
||||
GyorgFemaleEntity* parent = (GyorgFemaleEntity*)super->parent;
|
||||
const xy* tmp;
|
||||
|
|
|
|||
|
|
@ -4,8 +4,32 @@
|
|||
#include "room.h"
|
||||
#include "enemy/gyorg.h"
|
||||
|
||||
extern const u16 gUnk_080D28CC[];
|
||||
extern Hitbox* const gUnk_080D28AC[];
|
||||
extern const Hitbox gUnk_080D28DC;
|
||||
extern const Hitbox gUnk_080D28E4;
|
||||
extern const Hitbox gUnk_080D28EC;
|
||||
extern const Hitbox gUnk_080D28F4;
|
||||
extern const Hitbox gUnk_080D28FC;
|
||||
extern const Hitbox gUnk_080D2904;
|
||||
extern const Hitbox gUnk_080D290C;
|
||||
extern const Hitbox gUnk_080D2914;
|
||||
|
||||
const Hitbox* const gUnk_080D28AC[] = {
|
||||
&gUnk_080D28DC, &gUnk_080D28E4, &gUnk_080D28EC, &gUnk_080D28F4,
|
||||
&gUnk_080D28FC, &gUnk_080D2904, &gUnk_080D290C, &gUnk_080D2914,
|
||||
};
|
||||
|
||||
const u16 gUnk_080D28CC[] = {
|
||||
0x200, 0x1C8, 0x248, 0x210, 0x200, 0x258, 0x1b8, 0x210,
|
||||
};
|
||||
|
||||
const Hitbox gUnk_080D28DC = { 0xE0, 0xF4, { 0, 0, 0, 0 }, 0x8, 0xA };
|
||||
const Hitbox gUnk_080D28E4 = { 0x20, 0xF4, { 0, 0, 0, 0 }, 0x8, 0xA };
|
||||
const Hitbox gUnk_080D28EC = { 0x0C, 0xE0, { 0, 0, 0, 0 }, 0xA, 0x8 };
|
||||
const Hitbox gUnk_080D28F4 = { 0x0C, 0x20, { 0, 0, 0, 0 }, 0xA, 0x8 };
|
||||
const Hitbox gUnk_080D28FC = { 0xE0, 0x0C, { 0, 0, 0, 0 }, 0x8, 0xA };
|
||||
const Hitbox gUnk_080D2904 = { 0x20, 0x0C, { 0, 0, 0, 0 }, 0x8, 0xA };
|
||||
const Hitbox gUnk_080D290C = { 0xF4, 0xE0, { 0, 0, 0, 0 }, 0xA, 0x8 };
|
||||
const Hitbox gUnk_080D2914 = { 0xF4, 0x20, { 0, 0, 0, 0 }, 0xA, 0x8 };
|
||||
|
||||
void GyorgFemaleMouth(Entity* this) {
|
||||
u32 tmp;
|
||||
|
|
@ -38,5 +62,5 @@ void GyorgFemaleMouth(Entity* this) {
|
|||
tmp++;
|
||||
}
|
||||
}
|
||||
this->hitbox = gUnk_080D28AC[tmp];
|
||||
this->hitbox = (Hitbox*)gUnk_080D28AC[tmp]; // discarding const qualifier with cast
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
extern const ScreenTransitionData gUnk_0813ABD0;
|
||||
|
||||
extern u32 sub_08079F8C(void);
|
||||
extern const u16 gUnk_08124EF8[];
|
||||
extern s16* const gUnk_08124FF0[];
|
||||
|
||||
extern void sub_080A1DCC(GyorgBossObjectEntity*);
|
||||
|
|
@ -24,9 +23,22 @@ void sub_080A1FF0(GyorgBossObjectEntity*);
|
|||
u32 sub_080A20B8(GyorgBossObjectEntity*, GenericEntity*);
|
||||
void sub_080A1D70(GyorgBossObjectEntity*, u32);
|
||||
|
||||
extern void (*const gUnk_08124ED0[])(GyorgBossObjectEntity*);
|
||||
void sub_080A1704(GyorgBossObjectEntity*);
|
||||
void sub_080A184C(GyorgBossObjectEntity*);
|
||||
void sub_080A189C(GyorgBossObjectEntity*);
|
||||
void sub_080A190C(GyorgBossObjectEntity*);
|
||||
void sub_080A1990(GyorgBossObjectEntity*);
|
||||
void sub_080A19FC(GyorgBossObjectEntity*);
|
||||
void sub_080A1A80(GyorgBossObjectEntity*);
|
||||
void sub_080A1AE8(GyorgBossObjectEntity*);
|
||||
void sub_080A1B4C(GyorgBossObjectEntity*);
|
||||
void sub_080A1C04(GyorgBossObjectEntity*);
|
||||
|
||||
void GyorgBossObject(Entity* this) {
|
||||
static void (*const gUnk_08124ED0[])(GyorgBossObjectEntity*) = {
|
||||
sub_080A1704, sub_080A184C, sub_080A189C, sub_080A190C, sub_080A1990,
|
||||
sub_080A19FC, sub_080A1A80, sub_080A1AE8, sub_080A1B4C, sub_080A1C04,
|
||||
};
|
||||
gUnk_08124ED0[this->action]((GyorgBossObjectEntity*)this);
|
||||
sub_080A1DCC((GyorgBossObjectEntity*)this);
|
||||
sub_080A1C9C((GyorgBossObjectEntity*)this);
|
||||
|
|
@ -130,7 +142,7 @@ void sub_080A190C(GyorgBossObjectEntity* this) {
|
|||
}
|
||||
}
|
||||
|
||||
void sub_080A1990(GyorgBossObjectEntity* this, u32 unk1) {
|
||||
void sub_080A1990(GyorgBossObjectEntity* this) {
|
||||
if (((GyorgFemaleHeap*)super->myHeap)->female->base.health == 0) {
|
||||
((GyorgFemaleHeap*)super->myHeap)->male1->base.health = 0xC;
|
||||
super->action = 5;
|
||||
|
|
@ -339,6 +351,7 @@ void sub_080A1E54(GyorgBossObjectEntity* this) {
|
|||
}
|
||||
|
||||
void sub_080A1ED0(u32 unk0, u32 unk1, u32 unk2) {
|
||||
static const u16 gUnk_08124EF8[] = { 0x200, 0x1C0, 0x250, 0x210, 0x200, 0x260, 0x1B0, 0x210 };
|
||||
u32 i = 0;
|
||||
s16* p;
|
||||
u32 x, y;
|
||||
|
|
|
|||
Loading…
Reference in New Issue