Merge remote-tracking branch 'upstream/master' into m

This commit is contained in:
theo3
2021-11-05 01:58:55 -07:00
440 changed files with 7319 additions and 11526 deletions
+1 -1
View File
@@ -267,7 +267,7 @@ u32 CreateItemDrop(Entity* arg0, u32 itemID, u32 itemParameter) {
*/
void sub_08054870(void) {
#ifndef DEMO
#if !(defined(DEMO_USA) || defined(DEMO_JP))
gUnk_080FE2A0[gMenu.menuType]();
#endif
}
+1 -1
View File
@@ -1,7 +1,7 @@
#include "global.h"
#include "gba/eeprom.h"
#ifdef DEMO
#if defined(DEMO_USA) || defined(DEMO_JP)
const u8 unk[] = { 0xff, 0xff, 0xff, 0xff };
const u8 padding[0x18] = {};
#else
+1 -1
View File
@@ -267,7 +267,7 @@ void sub_08028CE8(Entity* this) {
this->actionDelay = 4;
this->field_0x80.HALF.HI = 0;
sub_080290E0(this, 3);
#if defined(USA) || defined(DEMO)
#if defined(USA) || defined(DEMO_USA)
SetLocalFlag(0x87);
#endif
return;
+1 -1
View File
@@ -546,7 +546,7 @@ void sub_08042C34(Entity* this) {
if ((gRoomControls.roomOriginY + 0x20) > y) {
y = gRoomControls.roomOriginY + 0x20;
}
#if defined EU || defined JP
#if defined EU || defined JP || defined DEMO_JP
if (gRoomControls.roomOriginY + gRoomControls.height + -0x20 < y) {
y = gRoomControls.roomOriginY + gRoomControls.height + -0x20;
}
+1 -1
View File
@@ -997,7 +997,7 @@ void sub_0804235C(Entity* this) {
InitializeAnimation(((VaatiWrathHeapStruct*)this->myHeap)->type3, 0x1b);
}
#if defined USA || defined DEMO
#if defined USA || defined DEMO_USA || defined DEMO_JP
void VaatiWrathType0PreAction(Entity* this) {
int temp;
if ((gScreenTransition.field_0x38 & 2) == 0) {
+1236
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -61,7 +61,7 @@ void sub_0805212C(void) {
gMenu.transitionTimer--;
if (gMenu.transitionTimer == 0) {
sub_080520C4(2);
#ifdef DEMO
#if defined(DEMO_USA) || defined(DEMO_JP)
SoundReq(0x80080000);
DoFade(7, 4);
#else
@@ -77,7 +77,7 @@ void sub_0805212C(void) {
}
}
#ifdef DEMO
#if defined(DEMO_USA) || defined(DEMO_JP)
void sub_080521A0(void) {
if (gFadeControl.active == 0) {
DoSoftReset();
+18 -9
View File
@@ -104,7 +104,7 @@ static void HandleNintendoCapcomLogos(void) {
gScreen.bg.bg1Updated = 1;
DoFade(6, 8);
advance = ADVANCE_NONE;
#ifdef DEMO
#if defined(DEMO_USA)
if (gUnk_02000010.listenForKeyPresses == 0) {
if ((gInput.heldKeys & 0x204) == 0x204) { // TODO
gUnk_02000010.field_0x7 = 1;
@@ -190,7 +190,7 @@ static void HandleTitlescreen(void) {
}
break;
case 2:
#if defined(JP) || defined(EU)
#if defined(JP) || defined(DEMO_JP) || defined(EU)
if (GetAdvanceState()) {
#else
if (--gIntroState.timer == 0) {
@@ -198,7 +198,7 @@ static void HandleTitlescreen(void) {
gIntroState.timer = 3600;
gIntroState.state++;
}
#if defined(USA) || defined(DEMO)
#if defined(USA) || defined(DEMO_USA)
UpdatePressStartIcon();
#endif
break;
@@ -213,7 +213,7 @@ static void HandleTitlescreen(void) {
AdvanceIntroSequence(advance);
SoundReq(SONG_VOL_FADE_OUT);
}
#ifdef JP
#if defined(JP) || defined(DEMO_JP) || defined(DEMO_JP)
gOamCmd._4 = 0;
gOamCmd._6 = 0;
gOamCmd._8 = 0xE020;
@@ -249,7 +249,7 @@ static void HandleTitlescreen(void) {
sub_080AD9B0();
}
#if defined(USA) || defined(DEMO)
#if defined(USA) || defined(DEMO_USA)
static void UpdatePressStartIcon(void) {
gOamCmd._4 = 0;
gOamCmd._6 = 0;
@@ -295,7 +295,7 @@ static void HandleJapaneseTitlescreenAnimationIntro(void) {
if (!gFadeControl.active) {
gFadeControl.mask = 0xFFFFFFFF;
gIntroState.subState++;
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
gIntroState.timer = 120;
#else
gIntroState.timer = 90;
@@ -310,7 +310,7 @@ static void HandleJapaneseTitlescreenAnimationIntro(void) {
case 2:
if (GetAdvanceState() != ADVANCE_NONE) {
gIntroState.state++;
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
gIntroState.timer = 30;
#else
gIntroState.timer = 60;
@@ -340,7 +340,7 @@ static void HandleTitlescreenAnimationIntro(void) {
break;
case 2:
if (--gIntroState.timer == 0) {
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
gIntroState.timer = 360;
#else
gIntroState.timer = 300;
@@ -354,7 +354,7 @@ static void HandleTitlescreenAnimationIntro(void) {
default:
if (!gFadeControl.active && GetAdvanceState() != ADVANCE_NONE) {
gIntroState.state++;
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
gIntroState.timer = 30;
#else
gIntroState.timer = 60;
@@ -364,9 +364,18 @@ static void HandleTitlescreenAnimationIntro(void) {
}
}
#ifdef DEMO_JP
extern u8 gUnk_02002A40;
#endif
static void ExitTitlescreen(void) {
if (!gFadeControl.active) {
#ifdef DEMO_JP
MemCopy(&sLightRaysAlphaBlends[8], &gUnk_02002A40, 0x4B4);
InitScreen(SCREEN_GAMEPLAY);
#else
InitScreen(SCREEN_CHOOSE_FILE);
#endif
}
}
+1 -1
View File
@@ -20,7 +20,7 @@ extern void HandleDebugTextScreen(void);
static void (*const sScreenHandlers[])(void) = {
[SCREEN_INTRO] = HandleIntroScreen,
#ifdef DEMO
#ifdef DEMO_USA
[SCREEN_CHOOSE_FILE] = HandleChooseDemoScreen,
#else
[SCREEN_CHOOSE_FILE] = HandleChooseFileScreen,
+1 -1
View File
@@ -38,7 +38,7 @@ void sub_0805DE68(Manager* this) {
gScreenTransition.field_0x39 = 0x0f;
*(u8*)&gScreenTransition.field_0x3a = 0x20;
*((u8*)&gScreenTransition.field_0x3a + 1) = 0x20;
#if !defined(EU) && !defined(JP) && !defined(DEMO_JP)
#if !defined(EU) && !defined(JP)
gSave.unk498 = 0x1194;
#endif
}
+3 -3
View File
@@ -29,7 +29,7 @@ void sub_0805947C(ManagerF*);
#ifndef EU
void sub_080594DC(ManagerF*);
#endif
#if defined(USA) || defined(DEMO)
#if defined(USA) || defined(DEMO_USA) || defined(DEMO_JP)
void sub_08059548(ManagerF*);
#endif
@@ -52,7 +52,7 @@ void (*const gUnk_08108314[])(ManagerF*) = {
#ifndef EU
sub_080594DC,
#endif
#if defined(USA) || defined(DEMO)
#if defined(USA) || defined(DEMO_USA) || defined(DEMO_JP)
sub_08059548,
#endif
};
@@ -425,7 +425,7 @@ void sub_080594DC(ManagerF* this) {
}
#endif
#if defined(USA) || defined(DEMO)
#if defined(USA) || defined(DEMO_USA) || defined(DEMO_JP)
void sub_08059548(ManagerF* this) {
sub_0805E3A0(this, 6);
if (gPlayerEntity.action == 0x16) {
+2 -2
View File
@@ -97,13 +97,13 @@ void sub_0806464C(Entity* this) {
s32 tmp;
if (CheckGlobalFlag(0x15) != 0) {
tmp = 2;
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
} else if (CheckLocalFlag(0x9f) == 0) {
#else
} else if (CheckLocalFlag(0xa0) == 0) {
#endif
tmp = 0;
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
SetLocalFlag(0x9f);
#else
SetLocalFlag(0xa0);
+1 -1
View File
@@ -59,7 +59,7 @@ void sub_08067418(Entity* this) {
this->spriteOrientation.flipY = 1;
this->spriteRendering.b3 = 1;
this->spritePriority.b0 = 2;
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (CheckLocalFlag(0x1e) == 0) {
#else
if (CheckLocalFlag(0x1d) == 0) {
+8 -8
View File
@@ -45,7 +45,7 @@ void sub_08069B44(Entity* this) {
u32 sVar3;
u32 uVar4;
u32 uVar5;
if (sub_08069EF0() != 0) {
if (sub_08069EF0(this) != 0) {
uVar5 = sub_0805ACC0(this);
if (uVar5 == 0) {
sVar3 = this->x.HALF.HI;
@@ -74,7 +74,7 @@ void sub_08069B44(Entity* this) {
if (((this->type == 0) && ((gPlayerState.flags & 0x80) == 0)) && (GetInventoryValue(0x36) != 2)) {
this->action = 4;
}
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if ((this->type == 2) && (CheckLocalFlag(0xcc) == 0)) {
#else
if ((this->type == 2) && (CheckLocalFlag(0xcf) == 0)) {
@@ -270,7 +270,7 @@ void sub_08069F6C(Entity* this) {
}
u32 sub_08069F90(Entity* this) {
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if ((this->type == 2) && (CheckLocalFlag(0xcc) == 0)) {
#else
if ((this->type == 2) && (CheckLocalFlag(0xcf) == 0)) {
@@ -328,13 +328,13 @@ void sub_0806A0A4(Entity* this) {
if ((gPlayerState.flags & 0x80) != 0) {
dialog = 4;
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (CheckLocalFlag(0xcc) == 0) {
#else
if (CheckLocalFlag(0xcf) == 0) {
#endif
dialog = 3;
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
SetLocalFlag(0xcc);
#else
SetLocalFlag(0xcf);
@@ -344,19 +344,19 @@ void sub_0806A0A4(Entity* this) {
} else {
dialog = 2;
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (CheckLocalFlag(0xcc) == 0) {
#else
if (CheckLocalFlag(0xcf) == 0) {
#endif
dialog = 1;
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (CheckLocalFlag(0xd8) == 0) {
#else
if (CheckLocalFlag(0xdb) == 0) {
#endif
dialog = 0;
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
SetLocalFlag(0xd8);
#else
SetLocalFlag(0xdb);
+1 -1
View File
@@ -29,7 +29,7 @@ void Gina(Entity* this) {
case 2:
if (UpdateFuseInteraction(this) != 0) {
this->action = 1;
#if defined(USA) || defined(DEMO)
#if defined(USA) || defined(DEMO_USA)
SetLocalFlag(0x88);
#endif
}
+6 -6
View File
@@ -105,35 +105,35 @@ void sub_0806DAD0(Entity* this) {
void sub_0806DAE8(Entity* this) {
switch (this->type - 1) {
case 0:
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
SetLocalFlag(0xeb);
#else
SetLocalFlag(0xee);
#endif
break;
case 1:
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
SetLocalFlag(0xec);
#else
SetLocalFlag(0xef);
#endif
break;
case 2:
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
SetLocalFlag(0xed);
#else
SetLocalFlag(0xf0);
#endif
break;
case 3:
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
SetLocalFlag(0xee);
#else
SetLocalFlag(0xf1);
#endif
break;
case 4:
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
SetLocalFlag(0xef);
#else
SetLocalFlag(0xf2);
@@ -147,7 +147,7 @@ void sub_0806DAE8(Entity* this) {
void sub_0806DB44(Entity* this, ScriptExecutionContext* context) {
context->condition = 0;
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (CheckLocalFlag(0xeb) != 0 && CheckLocalFlag(0xec) != 0 && CheckLocalFlag(0xed) != 0 &&
CheckLocalFlag(0xee) != 0 && CheckLocalFlag(0xef) != 0) {
#else
+130 -4
View File
@@ -1,16 +1,77 @@
#include "entity.h"
#include "player.h"
#include "functions.h"
#include "random.h"
extern void (*const gUnk_0812AA80[])(Entity*);
extern Hitbox* gUnk_0812AAD8[];
bool32 sub_080ACDB0(Entity*);
void sub_080ACC78(Entity*);
void sub_080ACECC(Entity*);
extern u8 gUnk_0812AAE8[];
typedef struct {
u16 bits;
u8 type2;
u8 actionDelay;
u8 _4;
u8 type;
u16 tileID;
} Obj11;
Obj11* sub_08008782(Entity*, u32, u32, u32);
const s8 gUnk_0812AA88[] = {
-4, -4, 4, -4, -4, 4, 4, 4, 0,
};
const s8 gUnk_0812AA91[] = {
-5, -5, 5, -5, -5, 5, 5, 5, 0,
};
const s8 gUnk_0812AA9A[] = {
-9, -9, 1, -9, 9, -9, -9, 1, 9, 1, -9, 9, 1, 9, 9, 9, 0, 0,
};
const s8* const gUnk_0812AAAC[] = {
gUnk_0812AA88,
gUnk_0812AA91,
gUnk_0812AA91,
gUnk_0812AA9A,
};
const s8 gUnk_0812AABC[] = {
0x78,
0x50,
0x28,
0x4,
};
const Hitbox gUnk_0812AAC0 = {
0, 0, 4, 2, 2, 4, 4, 4,
};
const Hitbox gUnk_0812AAC8 = {
0, 0, 4, 3, 3, 4, 9, 9,
};
const Hitbox gUnk_0812AAD0 = {
0, 0, 8, 7, 7, 8, 14, 14,
};
const Hitbox* const gUnk_0812AAD8[] = {
&gUnk_0812AAC0,
&gUnk_0812AAC8,
&gUnk_0812AAC8,
&gUnk_0812AAD0,
};
const u8 gUnk_0812AAE8[] = {
0,
12,
16,
16,
};
void PlayerItem10(Entity* this) {
if ((gPlayerState.field_0x1c & 0x7f) != 1) {
@@ -27,7 +88,7 @@ void sub_080ACC04(Entity* this) {
this->speed = 0x200;
this->flags |= 0xa0;
this->field_0x3c = 2;
this->hitbox = gUnk_0812AAD8[this->type];
this->hitbox = (Hitbox*)gUnk_0812AAD8[this->type];
this->field_0x70.WORD = 0x10;
sub_080ACDB0(this);
sub_0801766C(this);
@@ -40,7 +101,72 @@ void sub_080ACC5C(Entity* this) {
}
}
ASM_FUNC("asm/non_matching/playerItem10/sub_080ACC78.inc", void sub_080ACC78(Entity* this))
void sub_080ACC78(Entity* this) {
s32 width;
Obj11* o;
Entity* child;
s32 offset;
const s8* puVar8;
if ((this->type + gScreenTransition.frameCount) & 1) {
puVar8 = gUnk_0812AAAC[this->type];
if (puVar8[*(u32*)&this->field_0x74] == 0) {
*(u32*)&this->field_0x74 = 0;
}
o = sub_08008782(this, 0xe, puVar8[*(u32*)&this->field_0x74], puVar8[*(u32*)&this->field_0x74 + 1]);
if (o != NULL) {
child = CreateObject(0x11, o->type, o->type2);
if (child != NULL) {
child->actionDelay = o->actionDelay;
child->x.HALF.HI = puVar8[*(u32*)&this->field_0x74] + this->x.HALF.HI;
child->y.HALF.HI = puVar8[*(u32*)&this->field_0x74 + 1] + this->y.HALF.HI;
}
}
*(u32*)&this->field_0x74 += 2;
}
if (this->attachedEntity == NULL && (u32)this->field_0x70.WORD > 2) {
this->field_0x70.WORD = 1;
}
if (--this->field_0x70.WORD != -1) {
return;
}
if (this->attachedEntity == NULL) {
this->field_0x70.WORD = 2;
} else {
this->field_0x70.WORD = gUnk_0812AABC[this->type];
}
child = CreateObject(0x17, 0, 0);
if (child == NULL) {
return;
}
offset = Random() % 16;
width = this->hitbox->width;
if (width < offset) {
offset = width;
}
if (offset & 1) {
offset = -offset;
}
switch (this->animationState >> 1) {
case 0:
child->y.HALF.HI = this->y.HALF.HI - this->hitbox->height;
child->x.HALF.HI = this->x.HALF.HI + offset;
break;
case 2:
child->y.HALF.HI = this->y.HALF.HI + this->hitbox->height;
child->x.HALF.HI = this->x.HALF.HI + offset;
break;
case 1:
child->x.HALF.HI = this->x.HALF.HI + this->hitbox->width;
child->y.HALF.HI = this->y.HALF.HI + offset;
break;
case 3:
child->x.HALF.HI = this->x.HALF.HI - this->hitbox->width;
child->y.HALF.HI = this->y.HALF.HI + offset;
break;
}
}
ASM_FUNC("asm/non_matching/playerItem10/sub_080ACDB0.inc", bool32 sub_080ACDB0(Entity* this))
+44 -34
View File
@@ -567,7 +567,7 @@ void sub_0804BAC0(void) {
if (!CheckGlobalFlag(LV2_CLEAR)) {
LoadRoomEntityList(&gUnk_080D7328);
}
#ifdef JP
#if defined(JP) || defined(DEMO_JP)
if (CheckGlobalFlag(CASTLE_BGM) || CheckGlobalFlag(ENDING)) {
#else
#ifdef EU
@@ -661,7 +661,7 @@ u32 sub_0804BC34() {
extern EntityData gUnk_080D7690;
void sub_0804bc38(void) {
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (CheckLocalFlag(0x9b)) {
#else
if (CheckLocalFlag(0x9c)) {
@@ -671,7 +671,7 @@ void sub_0804bc38(void) {
}
u32 sub_0804BC50(void) {
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (!CheckLocalFlag(0x9e)) {
#else
if (!CheckLocalFlag(0x9f)) {
@@ -685,7 +685,7 @@ u32 sub_0804BC50(void) {
extern u32 script_08009E88;
void sub_0804BC70(void) {
#if defined(JP) || defined(EU)
#if defined(JP) || defined(DEMO_JP) || defined(EU)
if (!CheckLocalFlag(0x9e)) {
#else
if (!CheckLocalFlag(0x9f)) {
@@ -703,19 +703,19 @@ void sub_0804BC70(void) {
if (!CheckGlobalFlag(TABIDACHI)) {
sub_08052878();
#ifndef JP
#if !(defined(JP) || defined(DEMO_JP))
} else {
#else
}
#endif
if (CheckGlobalFlag(CASTLE_BGM)) {
#ifdef JP
#if defined(JP) || defined(DEMO_JP)
gArea.pMusicIndex = gArea.musicIndex;
#else
gArea.pMusicIndex = 0x1b;
#endif
}
#ifndef JP
#if !(defined(JP) || defined(DEMO_JP))
}
#endif
#endif
@@ -2006,7 +2006,7 @@ void sub_0804CAA0(void) {
if (CheckGlobalFlag(KUMOTATSUMAKI)) {
sub_0809F814(0x6de);
}
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (CheckLocalFlag(0xf0)) {
#else
if (CheckLocalFlag(0xf3)) {
@@ -2015,7 +2015,7 @@ void sub_0804CAA0(void) {
} else {
LoadRoomEntityList(&gUnk_080DD7E0);
}
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (CheckLocalFlag(0xf2)) {
#else
if (CheckLocalFlag(0xf5)) {
@@ -2032,7 +2032,7 @@ u32 sub_0804CAF4() {
void sub_0804CAF8() {
sub_080300E8();
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
SetLocalFlag(0x25);
#else
SetLocalFlag(0x24);
@@ -2060,7 +2060,7 @@ void sub_0804CB14(void) {
}
void sub_0804CB2C(void) {
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (CheckLocalFlagByOffset(0x100, 0x28)) {
#else
if (CheckLocalFlagByOffset(0x100, 0x27)) {
@@ -2100,14 +2100,14 @@ extern EntityData gUnk_080DE200;
void sub_0804CB7C(void) {
sub_080300E8();
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (!CheckLocalFlag(0x31)) {
#else
if (!CheckLocalFlag(0x30)) {
#endif
LoadRoomEntityList(&gUnk_080DE1E0);
}
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (!CheckLocalFlag(0x32)) {
#else
if (!CheckLocalFlag(0x31)) {
@@ -2238,9 +2238,19 @@ u32 sub_0804CD0C() {
return 1;
}
#ifdef DEMO
#if defined(DEMO_USA) || defined(DEMO_JP)
void nullsub_251() {
<<<<<<< HEAD
if (gSaveHeader->saveFileId != 0 && GetInventoryValue(0x40) == 0) {
=======
#ifdef DEMO_USA
if (gUnk_02000000->saveFileId != 0 && GetInventoryValue(0x40) == 0) {
#else
#ifdef DEMO_JP
if (GetInventoryValue(0x40) == 0) {
#endif
#endif
>>>>>>> upstream/master
SetTileType(0x365, 0x349, 1);
SetTileType(0x365, 0x34a, 1);
SetTileType(0x365, 0x34b, 1);
@@ -2375,7 +2385,7 @@ u32 sub_0804CE38() {
return 1;
}
#ifdef DEMO
#ifdef DEMO_USA
void nullsub_262() {
if (GetInventoryValue(0x41) == 0) {
SetTileType(0x365, 0x287, 2);
@@ -4315,7 +4325,7 @@ void LoadHyruleTown(void) {
sub_08054570();
TryLoadPrologueHyruleTown();
#if defined(USA) || defined(DEMO)
#if defined(USA) || defined(DEMO_USA) || defined(DEMO_JP)
SetTileType(0x176, 0x66b, 1);
#endif
if (gSave.unk8 == 1) {
@@ -4375,7 +4385,7 @@ void LoadHyruleTown(void) {
LoadRoomEntityList(&gUnk_080EEA5C);
}
// rocs cape
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (!CheckLocalFlag(0xcd) && GetInventoryValue(0x14)) {
#else
if (!CheckLocalFlag(0xd0) && GetInventoryValue(0x14)) {
@@ -4524,7 +4534,7 @@ void sub_0804E27C(void) {
SetGlobalFlag(CASTLE_BGM);
} else {
if (CheckGlobalFlag(CASTLE_BGM)) {
#ifdef JP
#if defined(JP) || defined(DEMO_JP)
gArea.pMusicIndex = gArea.musicIndex;
#else
gArea.pMusicIndex = 0x1b;
@@ -4532,7 +4542,7 @@ void sub_0804E27C(void) {
}
#endif
}
#if defined(JP) || defined(EU)
#if defined(JP) || defined(DEMO_JP) || defined(EU)
if (!CheckLocalFlag(0x9b)) {
#else
if (!CheckLocalFlag(0x9c)) {
@@ -4559,13 +4569,13 @@ void sub_0804E27C(void) {
}
SetTileType(0x4072, 600, 1);
SetTileType(0x4072, 0x298, 1);
#if defined(JP) || defined(EU)
#if defined(JP) || defined(DEMO_JP) || defined(EU)
if (CheckLocalFlag(0x11)) {
#else
if (CheckLocalFlag(0x10)) {
#endif
LoadRoomEntityList(&gUnk_080F0920);
#if defined(JP) || defined(EU)
#if defined(JP) || defined(DEMO_JP) || defined(EU)
ClearLocalFlag(0x11);
#else
ClearLocalFlag(0x10);
@@ -5158,7 +5168,7 @@ void sub_0804EC00(void) {
if (!CheckGlobalFlag(EZERO_1ST)) {
LoadRoomEntityList(&gUnk_080F4D50);
}
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (!CheckLocalFlag(0x3d)) {
if (!CheckLocalFlag(0x3a)) {
#else
@@ -5177,7 +5187,7 @@ void sub_0804EC00(void) {
if ((s32)gSave.windcrests > -1) {
LoadRoomEntityList(&gUnk_080F4E10);
}
#ifdef DEMO
#ifdef DEMO_USA
SetTileType(0x177, 0x5b4, 1);
SetTileType(0x177, 0x5f4, 1);
#endif
@@ -5214,7 +5224,7 @@ void sub_0804ECEC(void) {
// white sword
if (GetInventoryValue(0x2)) {
LoadRoomEntityList(&gUnk_080F5328);
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (!CheckLocalFlag(0x15)) {
#else
if (!CheckLocalFlag(0x14)) {
@@ -5407,7 +5417,7 @@ u32 sub_0804F02C() {
extern EntityData gUnk_080F5E68;
void sub_0804F030(void) {
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (!CheckLocalFlagByOffset(0x100, 0xce)) {
#else
if (!CheckLocalFlagByOffset(0x100, 0xd1)) {
@@ -5451,7 +5461,7 @@ void nullsub_400() {
}
u32 sub_0804F09C(void) {
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (CheckGlobalFlag(KUMOTATSUMAKI) && CheckLocalFlagByOffset(0x100, 0xd9)) {
#else
if (CheckGlobalFlag(KUMOTATSUMAKI) && CheckLocalFlagByOffset(0x100, 0xdc)) {
@@ -5464,7 +5474,7 @@ u32 sub_0804F09C(void) {
extern EntityData gUnk_080F61BC;
void sub_0804F0C0(void) {
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (CheckLocalFlagByOffset(0x100, 0xd9)) {
#else
if (CheckLocalFlagByOffset(0x100, 0xdc)) {
@@ -5617,7 +5627,7 @@ void sub_0804F230() {
}
u32 sub_0804F23C(void) {
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (!CheckLocalFlag(0x6b)) {
#else
if (!CheckLocalFlag(0x6d)) {
@@ -5634,7 +5644,7 @@ extern EntityData gUnk_080F7088;
void sub_0804F25C(void) {
Manager18_Main(0);
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (!CheckLocalFlag(0x6b)) {
#else
if (!CheckLocalFlag(0x6d)) {
@@ -5744,7 +5754,7 @@ u32 Vars_HyruleField_OutsideCastle(void) {
gRoomVars.field_0x6c = &gUnk_080F7CD0;
gRoomVars.field_0x88 = sub_0804F5E8;
}
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (CheckGlobalFlag(LV2_CLEAR) && GetInventoryValue(0x3) && !CheckLocalFlag(0x8a)) {
#else
if (CheckGlobalFlag(LV2_CLEAR) && GetInventoryValue(0x3) && !CheckLocalFlag(0x8c)) {
@@ -5770,7 +5780,7 @@ extern EntityData gUnk_080F7D70;
void Load_HyruleField_OutsideCastle(void) {
sub_0804F4E4();
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (!CheckLocalFlag(0x89)) {
#else
if (!CheckLocalFlag(0x8b)) {
@@ -5794,7 +5804,7 @@ void Load_HyruleField_OutsideCastle(void) {
extern EntityData gUnk_080F7DC0;
void sub_0804F578(void) {
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (!CheckLocalFlag(0x8c)) {
#else
if (!CheckLocalFlag(0x8e)) {
@@ -5965,7 +5975,7 @@ extern EntityData gUnk_080F82E0;
void Load_HyruleField_TrilbyHighlands(void) {
Manager18_Main(0);
#if defined(JP) || defined(EU)
#if defined(JP) || defined(EU) || defined(DEMO_JP)
if (CheckGlobalFlag(LV2_CLEAR) && GetInventoryValue(0x3) && !CheckLocalFlag(0x9b)) {
#else
if (CheckGlobalFlag(LV2_CLEAR) && GetInventoryValue(0x3) && !CheckLocalFlag(0x9c)) {
@@ -6621,7 +6631,7 @@ u32 sub_0804FED4() {
}
void sub_0804FED8(void) {
#if defined(USA) || defined(DEMO)
#if defined(USA) || defined(DEMO_USA) || defined(DEMO_JP)
SetTileType(0x176, 0x66f, 1);
#endif
}
+18 -12
View File
@@ -43,16 +43,22 @@ const u16 gUnk_0811E454[] = { 0x0, 0x0, 0x100, 0x200, 0x300, 0x400, 0x500,
const char gUnk_0811E470[4] = "LINK";
#ifdef DEMO
#if defined(DEMO_USA) || defined(DEMO_JP)
const u8 demoUnknown0 = 0x0;
#ifdef DEMO_USA
const u8 demoUnknown1[] = { 0x0f, 0x0a, 0x0a, 0x0f, 0x0f, 0x0f, 0x08, 0x05, 0x05, 0x00, 0x00 };
#else
const u8 demoUnknown1[] = { 0 };
#endif
#else
const u8 padding[2] = { 0, 0 };
#endif
static SaveResult (*const sSaveHandlers[])(u32) = { HandleSaveInit, HandleSaveInProgress, HandleSaveDone };
#ifdef DEMO
#if defined(DEMO_USA) || defined(DEMO_JP)
#ifdef DEMO_USA
asm("demoPointer1: .incbin \"baserom_demo.gba\", 0x11e010, 0x500");
asm("demoPointer2: .incbin \"baserom_demo.gba\", 0x11e510, 0x500");
asm("demoPointer3: .incbin \"baserom_demo.gba\", 0x11ea10, 0x500");
@@ -62,7 +68,7 @@ extern const u8 demoPointer2[];
extern const u8 demoPointer3[];
const u8* const demoPointers[] = { demoPointer1, demoPointer2, demoPointer3 };
#endif
#else
#if defined(JP) || defined(EU)
@@ -147,7 +153,7 @@ SaveResult HandleSaveDone(u32 arg0) {
}
u32 InitSaveData(void) {
#ifdef DEMO
#if defined(DEMO_USA) || defined(DEMO_JP)
CpuSet(NULL, &gSave, 0x4b4);
return 1;
#else
@@ -179,7 +185,7 @@ u32 InitSaveData(void) {
}
u32 WriteSaveFile(u32 index, SaveFile* saveFile) {
#ifdef DEMO
#if defined(DEMO_USA) || defined(DEMO_JP)
return 1;
#else
return DataDoubleWriteWithStatus(index, saveFile);
@@ -187,7 +193,7 @@ u32 WriteSaveFile(u32 index, SaveFile* saveFile) {
}
u32 Write_02000000(struct_02000000* arg0) {
#ifdef DEMO
#if defined(DEMO_USA) || defined(DEMO_JP)
return 1;
#else
return DataDoubleWriteWithStatus(3, arg0);
@@ -195,7 +201,7 @@ u32 Write_02000000(struct_02000000* arg0) {
}
u32 sub_0807CF1C(u8* arg0) {
#ifdef DEMO
#if defined(DEMO_USA) || defined(DEMO_JP)
return 1;
#else
return DataDoubleWriteWithStatus(5, arg0);
@@ -203,7 +209,7 @@ u32 sub_0807CF1C(u8* arg0) {
}
s32 ReadSaveFile(u32 index, SaveFile* saveFile) {
#ifdef DEMO
#if defined(DEMO_USA) || defined(DEMO_JP)
return 1;
#else
return DataDoubleReadWithStatus(index, saveFile);
@@ -211,7 +217,7 @@ s32 ReadSaveFile(u32 index, SaveFile* saveFile) {
}
u32 Read_02000000(struct_02000000* arg0) {
#ifdef DEMO
#if defined(DEMO_USA) || defined(DEMO_JP)
return 0;
#else
return DataDoubleReadWithStatus(3, arg0);
@@ -219,7 +225,7 @@ u32 Read_02000000(struct_02000000* arg0) {
}
u32 sub_0807CF3C(u8* arg0) {
#ifdef DEMO
#if defined(DEMO_USA) || defined(DEMO_JP)
return 0;
#else
return DataDoubleReadWithStatus(5, arg0);
@@ -227,7 +233,7 @@ u32 sub_0807CF3C(u8* arg0) {
}
void SetFileStatusDeleted(u32 index) {
#ifndef DEMO
#if !(defined(DEMO_USA) || defined(DEMO_JP))
const SaveFileEEPROMAddresses* eepromAddresses;
eepromAddresses = GetSaveFileEEPROMAddresses(index);
@@ -236,7 +242,7 @@ void SetFileStatusDeleted(u32 index) {
#endif
}
#ifndef DEMO
#if !(defined(DEMO_USA) || defined(DEMO_JP))
void SetFileStatusInit(u32 index) {
const SaveFileEEPROMAddresses* eepromAddresses;
const SaveFileStatus* fileStatus;
+5 -1
View File
@@ -2142,9 +2142,13 @@ void sub_0807FBFC(Entity* entity, ScriptExecutionContext* context) {
gSave.stats.effectTimer = 0;
}
#if defined(USA) || defined(DEMO)
#if defined(USA) || defined(DEMO_USA) || defined(DEMO_JP)
void sub_0807FC24(Entity* entity, ScriptExecutionContext* context) {
#if defined(DEMO_JP)
u32 idx = gRoomControls.roomID == 1 ? 0xcf : 0xd0;
#else
u32 idx = gRoomControls.roomID == 1 ? 0xcf : 0xd1;
#endif
SetLocalFlag(idx);
}
#endif
+1 -1
View File
@@ -21,7 +21,7 @@ u8 sub_0807CA18() {
if (gSave.playerName[0] == 0) {
MemCopy(gUnk_0811E470, &gSave.playerName, 5);
}
#ifdef DEMO
#ifdef DEMO_USA
{
const u8* tmp;
MemCopy(demoPointers[gSaveHeader->saveFileId], &gSave, 0x4B4);
+1 -1
View File
@@ -7,7 +7,7 @@
extern void (*const gUnk_081280C4[])();
void DrawKinstoneMenu(void) {
#ifndef DEMO
#if !(defined(DEMO_USA) || defined(DEMO_JP))
gScreenTransition.field_0x24[8] = 2;
FlushSprites();
gUnk_081280C4[gMenu.menuType]();