Merge remote-tracking branch 'upstream/master' into tilemap-docs

This commit is contained in:
octorock
2023-05-31 23:51:20 +02:00
254 changed files with 4013 additions and 4939 deletions
+17 -17
View File
@@ -27,8 +27,8 @@ extern u32 sub_08000E44(u32);
extern void sub_080A3B74(void);
extern u32 sub_080A3B48(void);
extern void sub_0805ECEC(u32, u32, u32, u32);
extern void sub_0801E6C8(u32);
extern void sub_0801E798(u32);
extern void NotifyFusersOnFusionDone(u32);
extern void RemoveKinstoneFromBag(u32);
extern WStruct* sub_0805F2C8(void);
extern void sub_0805F300(WStruct*);
extern u32 sub_0805F76C(u8*, WStruct*);
@@ -86,7 +86,7 @@ const ScreenTransitionData gUnk_08128024[] = {
u32 sub_080A3B48(void) {
u32 index;
for (index = 0; index <= 0x12; index++) {
if (gSave.unk12B[index] == 0) {
if (gSave.kinstoneAmounts[index] == 0) {
break;
}
}
@@ -151,7 +151,7 @@ void KinstoneMenu_Type0(void) {
gScreen.bg3.updated = 1;
KinstoneMenu_080A4528();
sub_080A4398();
sub_0801E738(0);
AddKinstoneToBag(KINSTONE_NONE);
sub_080A70AC((void*)gUnk_081280DC);
SetMenuType(1);
SetFade(FADE_BLACK_WHITE | FADE_INSTANT, 8);
@@ -206,7 +206,7 @@ void KinstoneMenu_Type1(void) {
case A_BUTTON:
if (gMenu.column_idx == 2) {
tmp3 = gGenericMenu.unk10.i / 0x10000;
gGenericMenu.unk2a = gSave.unk118[tmp3];
gGenericMenu.unk2a = gSave.kinstoneTypes[tmp3];
SetMenuType(3);
}
break;
@@ -265,8 +265,8 @@ void KinstoneMenu_Type3_Overlay0(void) {
}
void KinstoneMenu_Type3_Overlay1(void) {
u32 temp = gKinstoneWorldEvents[gKinstoneMenu.unk2a].unk5;
if (temp != gKinstoneWorldEvents[gFuseInfo.kinstoneId].unk5) {
u32 temp = gKinstoneWorldEvents[gKinstoneMenu.unk2a].shape;
if (temp != gKinstoneWorldEvents[gFuseInfo.kinstoneId].shape) {
SoundReq(SFX_ITEM_SHIELD_BOUNCE);
SetMenuType(4);
} else {
@@ -448,7 +448,7 @@ NONMATCH("asm/non_matching/menu/kinstone_menu/KinstoneMenu_080A414C.inc", void K
gOamCmd.x = ((gSineTable[(uVar1 + 0x40) & 0xff] * 0x42) / 0x100) - 0x10;
iVar2 = gKinstoneMenu.unk10.WORD / 0x10000 + i;
if (iVar2 >= 0) {
uVar3 = gSave.unk12B[iVar2];
uVar3 = gSave.kinstoneAmounts[iVar2];
if (i == 0) {
switch (gMenu.column_idx) {
case 3:
@@ -460,7 +460,7 @@ NONMATCH("asm/non_matching/menu/kinstone_menu/KinstoneMenu_080A414C.inc", void K
}
}
if (0 < uVar3) {
sub_080A42E0(gSave.unk118[iVar2], uVar3);
sub_080A42E0(gSave.kinstoneTypes[iVar2], uVar3);
}
}
}
@@ -517,9 +517,9 @@ void sub_080A42E0(u32 kinstoneId, u32 param_2) {
const KinstoneWorldEvent* ptr = &gKinstoneWorldEvents[kinstoneId];
if (param_2 == 0xff) {
uVar1 = ptr->unk2;
uVar1 = ptr->gfxOffsetFull;
} else {
uVar1 = ptr->unk1;
uVar1 = ptr->gfxOffsetPiece;
}
iVar4 = sub_080A43A8(uVar1);
if ((param_2 != 0) && (param_2 != 0xff)) {
@@ -606,10 +606,10 @@ u32 sub_080A4418(u32 param_1, u32 param_2) {
}
void KinstoneMenu_080A4468(void) {
gUnk_03003DF0.unk_2 = 0;
gUnk_03003DF0.unk_4[3] = 0;
sub_0801E6C8(gFuseInfo.kinstoneId);
sub_0801E798(gKinstoneMenu.unk2a);
gPossibleInteraction.kinstoneId = KINSTONE_NONE;
gPossibleInteraction.currentObject->kinstoneId = KINSTONE_NONE;
NotifyFusersOnFusionDone(gFuseInfo.kinstoneId);
RemoveKinstoneFromBag(gKinstoneMenu.unk2a);
}
u32 KinstoneMenu_080A4494(void) {
@@ -625,9 +625,9 @@ u32 KinstoneMenu_080A4494(void) {
psVar1->unk1 = 0;
sub_080A44E0(psVar1, gSave.name, 0x80);
#if NON_MATCHING
ret = sub_080A44E0(psVar1, sub_08002632(gFuseInfo.ent) >> 0x20, 0xa0);
ret = sub_080A44E0(psVar1, GetFuserId(gFuseInfo.ent) >> 0x20, 0xa0);
#else
sub_08002632(gFuseInfo.ent);
GetFuserId(gFuseInfo.ent);
asm("" : "=r"(r1));
ret = sub_080A44E0(psVar1, r1, 0xa0);
#endif
+11 -10
View File
@@ -11,6 +11,7 @@
#include "game.h"
#include "item.h"
#include "itemMetaData.h"
#include "kinstone.h"
#include "main.h"
#include "menu.h"
#include "message.h"
@@ -58,14 +59,14 @@ void Subtask_PauseMenu(void) {
extern u8 gUnk_02034492[];
void sub_0801E8D4(void);
void UpdateVisibleFusionMapMarkers(void);
s32 sub_080A50A0(s32);
void PauseMenu_Variant0(void) {
const OverworldLocation* location;
int r0, r1;
sub_0801E8D4();
UpdateVisibleFusionMapMarkers();
sub_080A4D34();
r1 = 4;
do {
@@ -663,7 +664,7 @@ void sub_080A5594(void) {
iVar5 = 0;
if (GetInventoryValue(ITEM_KINSTONE_BAG) != 0) {
for (i = 0; i < 0x13; i++) {
iVar5 += gSave.unk12B[i];
iVar5 += gSave.kinstoneAmounts[i];
}
if (iVar5 >= 0x50) {
@@ -1151,17 +1152,17 @@ void DrawDungeonMapActually(void) {
DrawDirect(DRAW_DIRECT_SPRITE_INDEX, (gMain.ticks & 0x20) != 0 ? 0x78 : 0x79);
gOamCmd.y = 0x7e;
gOamCmd._8 = 0x4380;
if (HasDungeonSmallKey()) {
if (HasDungeonMap()) {
gOamCmd.x = 0x18;
frameIndex = gSpriteAnimations_322[0x50]->index;
DrawDirect(SUB_080A5D1C_SPRITE_INDEX, frameIndex);
}
if (HasDungeonCompass()) {
if (HasDungeonBigKey()) {
gOamCmd.x = 0x2e;
frameIndex = gSpriteAnimations_322[0x52]->index;
DrawDirect(SUB_080A5D1C_SPRITE_INDEX, frameIndex);
}
if (HasDungeonBigKey()) {
if (HasDungeonCompass()) {
gOamCmd.x = 0x45;
gOamCmd._8 = 0x380;
frameIndex = gSpriteAnimations_322[0x51]->index;
@@ -1280,7 +1281,7 @@ void PauseMenu_Screen_7(void) {
void sub_080A6024(void) {
sub_080A70AC((KeyButtonLayout*)&gUnk_08128D60);
sub_0801E738(0);
AddKinstoneToBag(KINSTONE_NONE);
sub_080A4398();
SetMenuType(1);
}
@@ -1298,11 +1299,11 @@ void sub_080A6044(void) {
gOamCmd._6 = 0;
uVar4 = 0;
uVar2 = 0;
uVar1 = gSave.unk118[0];
uVar1 = gSave.kinstoneTypes[0];
while (uVar1 != 0) {
gOamCmd.x = (uVar4 & 3) * 0x30 + 0x2b;
gOamCmd.y = (uVar4 >> 2) * 0x24 + 0x34;
uVar3 = gSave.unk12B[uVar2];
uVar3 = gSave.kinstoneAmounts[uVar2];
gMenu.column_idx = 0;
sub_080A42E0(uVar1, uVar3);
uVar4++;
@@ -1313,7 +1314,7 @@ void sub_080A6044(void) {
if (0x11 < uVar2) {
return;
}
uVar1 = gSave.unk118[uVar2];
uVar1 = gSave.kinstoneTypes[uVar2];
}
}
}
+2 -2
View File
@@ -205,8 +205,8 @@ void sub_080A68D4(void) {
}
for (i = 10; i <= 100; i++) {
if (CheckKinstoneFused(i) && !sub_0801E810(i)) {
uVar4 = gKinstoneWorldEvents[i].unk7;
if (CheckKinstoneFused(i) && !CheckFusionMapMarkerDisabled(i)) {
uVar4 = gKinstoneWorldEvents[i].mapMarkerIcon;
ptr = &gWorldEvents[gKinstoneWorldEvents[i].worldEventId];
sub_080A698C(ptr->_c, ptr->_e, DRAW_DIRECT_SPRITE_INDEX, uVar4 + 100);
}