Inventory Editor Ok and Documented (z_kaleido_debug.c) (#954)

* Match Debug Menu

* Many docs and discussions

* Missed one

* A bit more

* More PR Suggestions

* phrasing

* hex health

* Fix
This commit is contained in:
engineer124 2022-07-23 15:44:49 -04:00 committed by GitHub
parent 6472f68323
commit 6fc12c3a70
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 1770 additions and 100 deletions

View File

@ -424,7 +424,7 @@ typedef struct {
/* 0x1D0 */ OSMesgQueue loadQueue;
/* 0x1E8 */ OSMesg loadMsg;
/* 0x1EC */ u16 state;
/* 0x1EE */ u16 debugState;
/* 0x1EE */ u16 debugEditor;
/* 0x1F0 */ u8 unk_1F0;
/* 0x1F4 */ Vec3f eye;
/* 0x200 */ u16 unk_200;
@ -442,8 +442,8 @@ typedef struct {
/* 0x226 */ s16 offsetY;
/* 0x228 */ s32 unk_228;
/* 0x22C */ s32 unk_22C;
/* 0x230 */ s32 unk_230;
/* 0x234 */ s32 unk_234;
/* 0x230 */ s32 stickRelX;
/* 0x234 */ s32 stickRelY;
/* 0x238 */ s16 unk_238[5];
/* 0x242 */ s16 unk_242[5];
/* 0x24C */ s16 unk_24C[5];

View File

@ -49,7 +49,8 @@ typedef struct Inventory {
/* 0x48 */ u32 upgrades; // "non_equip_register" some bits are wallet upgrades
/* 0x4C */ u32 questItems; // "collect_register"
/* 0x50 */ u8 dungeonItems[10]; // "key_compass_map"
/* 0x5A */ s8 dungeonKeys[10]; // "key_register"
/* 0x5A */ s8 dungeonKeys[9]; // "key_register"
/* 0x63 */ s8 defenseHearts;
/* 0x64 */ s8 strayFairies[10]; // "orange_fairy"
/* 0x6E */ char dekuPlaygroundPlayerName[3][8]; // "degnuts_memory_name" Stores playerName (8 char) over (3 days) when getting a new high score
} Inventory; // size = 0x88
@ -306,6 +307,13 @@ typedef enum SunsSongState {
#define SET_QUEST_ITEM(item) (gSaveContext.save.inventory.questItems = (GET_SAVE_INVENTORY_QUEST_ITEMS | gBitFlags[item]))
#define REMOVE_QUEST_ITEM(item) (gSaveContext.save.inventory.questItems = (GET_SAVE_INVENTORY_QUEST_ITEMS & (-1 - gBitFlags[item])))
#define GET_QUEST_HEART_PIECE_COUNT ((GET_SAVE_INVENTORY_QUEST_ITEMS & 0xF0000000) >> QUEST_HEART_PIECE_COUNT)
#define EQ_MAX_QUEST_HEART_PIECE_COUNT ((GET_SAVE_INVENTORY_QUEST_ITEMS & 0xF0000000) == (4 << QUEST_HEART_PIECE_COUNT))
#define LEQ_MAX_QUEST_HEART_PIECE_COUNT ((GET_SAVE_INVENTORY_QUEST_ITEMS & 0xF0000000) <= (4 << QUEST_HEART_PIECE_COUNT))
#define INCREMENT_QUEST_HEART_PIECE_COUNT (gSaveContext.save.inventory.questItems += (1 << QUEST_HEART_PIECE_COUNT))
#define DECREMENT_QUEST_HEART_PIECE_COUNT (gSaveContext.save.inventory.questItems -= (1 << QUEST_HEART_PIECE_COUNT))
#define RESET_HEART_PIECE_COUNT (gSaveContext.save.inventory.questItems ^= (4 << QUEST_HEART_PIECE_COUNT))
#define CHECK_DUNGEON_ITEM(item, dungeonIndex) (gSaveContext.save.inventory.dungeonItems[(void)0, dungeonIndex] & gBitFlags[item])
#define SET_DUNGEON_ITEM(item, dungeonIndex) (gSaveContext.save.inventory.dungeonItems[(void)0, dungeonIndex] |= (u8)gBitFlags[item])
#define DUNGEON_KEY_COUNT(dungeonIndex) (gSaveContext.save.inventory.dungeonKeys[(void)0, dungeonIndex])
@ -379,7 +387,7 @@ void func_80147150(SramContext* sramCtx);
void func_80147198(SramContext* sramCtx);
extern s32 D_801C6798[];
extern u8 D_801C67B0[24];
extern u8 gAmmoItems[];
extern s32 D_801C67C8[];
extern s32 D_801C67E8[];
extern s32 D_801C67F0[];

1
spec
View File

@ -707,7 +707,6 @@ beginseg
include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_map.o"
include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_mask.o"
include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope_NES.o"
include "build/data/ovl_kaleido_scope/ovl_kaleido_scope.data.o"
include "build/data/ovl_kaleido_scope/ovl_kaleido_scope.bss.o"
include "build/data/ovl_kaleido_scope/ovl_kaleido_scope.reloc.o"
endseg

View File

@ -10,6 +10,7 @@
* Hold Start and press B: clear all weekEventReg and eventInf flags
*/
#include "global.h"
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
static FlagSetEntry sFlagEntries[] = {
{ &gSaveContext.save.weekEventReg[0], "week_event_reg[0]" },
@ -255,7 +256,7 @@ void FlagSet_Update(GameState* gameState) {
// Pressing B will exit
} else if (CHECK_BTN_ALL(input->press.button, BTN_B)) {
play->pauseCtx.debugState = 0;
play->pauseCtx.debugEditor = DEBUG_EDITOR_NONE;
}
}

View File

@ -4514,7 +4514,7 @@ void Actor_DrawDamageEffects(PlayState* play, Actor* actor, Vec3f limbPos[], s16
currentMatrix = Matrix_GetCurrent();
// Apply sfx along with damage effect
if ((actor != NULL) && (effectAlpha > 0.05f) && (play->gameOverCtx.state == 0)) {
if ((actor != NULL) && (effectAlpha > 0.05f) && (play->gameOverCtx.state == GAMEOVER_INACTIVE)) {
if (type == ACTOR_DRAW_DMGEFF_FIRE) {
Actor_PlaySfxAtPos(actor, NA_SE_EV_BURN_OUT - SFX_FLAG);
} else if (type == ACTOR_DRAW_DMGEFF_BLUE_FIRE) {

View File

@ -1,5 +1,6 @@
#include "global.h"
#include "vt.h"
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
#define DYNA_RAYCAST_FLOORS 1
#define DYNA_RAYCAST_WALLS 2
@ -3295,7 +3296,7 @@ f32 BgCheck_RaycastFloorDyna(DynaRaycast* dynaRaycast) {
if ((result != BGCHECK_Y_MIN) && (dynaActor != NULL) && (dynaRaycast->play != NULL)) {
pauseState = dynaRaycast->play->pauseCtx.state != 0;
if (!pauseState) {
pauseState = dynaRaycast->play->pauseCtx.debugState != 0;
pauseState = dynaRaycast->play->pauseCtx.debugEditor != DEBUG_EDITOR_NONE;
}
if (!pauseState && (dynaRaycast->colCtx->dyna.bgActorFlags[*dynaRaycast->bgId] & 2)) {
curTransform = &dynaRaycast->dyna->bgActors[*dynaRaycast->bgId].curTransform;

View File

@ -1,5 +1,6 @@
#include "prevent_bss_reordering.h"
#include "global.h"
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
void (*sKaleidoScopeUpdateFunc)(PlayState* play);
void (*sKaleidoScopeDrawFunc)(PlayState* play);
@ -33,7 +34,7 @@ void KaleidoScopeCall_Update(PlayState* play) {
PauseContext* pauseCtx = &play->pauseCtx;
KaleidoMgrOverlay* kaleidoScopeOvl = &gKaleidoMgrOverlayTable[KALEIDO_OVL_KALEIDO_SCOPE];
if ((play->pauseCtx.state != 0) || (play->pauseCtx.debugState != 0)) {
if ((play->pauseCtx.state != 0) || (play->pauseCtx.debugEditor != DEBUG_EDITOR_NONE)) {
if (pauseCtx->state == 1 || pauseCtx->state == 19) {
if (ShrinkWindow_GetLetterboxMagnitude() == 0) {
R_PAUSE_MENU_MODE = 1;
@ -62,7 +63,7 @@ void KaleidoScopeCall_Update(PlayState* play) {
if (gKaleidoMgrCurOvl == kaleidoScopeOvl) {
sKaleidoScopeUpdateFunc(play);
if ((play->pauseCtx.state == 0) && (play->pauseCtx.debugState == 0)) {
if ((play->pauseCtx.state == 0) && (play->pauseCtx.debugEditor == DEBUG_EDITOR_NONE)) {
KaleidoManager_ClearOvl(kaleidoScopeOvl);
KaleidoScopeCall_LoadPlayer();
}

View File

@ -1,8 +1,8 @@
#include "global.h"
#include "z64rumble.h"
#include "overlays/gamestates/ovl_file_choose/z_file_choose.h"
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
s16 D_801BDB00[] = { PAUSE_1, PAUSE_2, PAUSE_3, PAUSE_0 };
s16 D_801BDB00[] = { PAUSE_MAP, PAUSE_QUEST, PAUSE_MASK, PAUSE_ITEM };
f32 sKaleidoSetupEyeX[] = { -64.0f, 0.0f, 64.0f, 0.0f };
f32 sKaleidoSetupEyeZ[] = { 0.0f, -64.0f, 0.0f, 64.0f };
@ -70,7 +70,8 @@ void KaleidoSetup_Update(PlayState* play) {
if (msgCtx && msgCtx) {}
}
if ((pauseCtx->state == 0) && (pauseCtx->debugState == 0) && (play->gameOverCtx.state == GAMEOVER_INACTIVE)) {
if ((pauseCtx->state == 0) && (pauseCtx->debugEditor == DEBUG_EDITOR_NONE) &&
(play->gameOverCtx.state == GAMEOVER_INACTIVE)) {
if ((play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF)) {
if ((gSaveContext.save.cutscene < 0xFFF0) && (gSaveContext.nextCutsceneIndex < 0xFFF0)) {
if (!Play_InCsMode(play) || ((msgCtx->msgMode != 0) && (msgCtx->currentTextId == 0xFF))) {
@ -108,7 +109,7 @@ void KaleidoSetup_Init(PlayState* play) {
bzero(pauseCtx, sizeof(PauseContext));
pauseCtx->pageIndex = PAUSE_0;
pauseCtx->pageIndex = PAUSE_ITEM;
pauseCtx->unk_21C = 160.0f;
pauseCtx->unk_218 = 160.0f;
@ -119,18 +120,18 @@ void KaleidoSetup_Init(PlayState* play) {
pauseCtx->unk_20C = 936.0f;
pauseCtx->unk_220 = -314.0f;
pauseCtx->unk_238[PAUSE_1] = XREG(94) + 3;
pauseCtx->unk_238[PAUSE_MAP] = XREG(94) + 3;
pauseCtx->unk_258 = 11;
pauseCtx->unk_25A = 0;
pauseCtx->cursorItem[PAUSE_0] = 999;
pauseCtx->cursorItem[PAUSE_1] = XREG(94) + 3;
pauseCtx->cursorItem[PAUSE_2] = 999;
pauseCtx->cursorItem[PAUSE_3] = 999;
pauseCtx->cursorItem[PAUSE_ITEM] = 999;
pauseCtx->cursorItem[PAUSE_MAP] = XREG(94) + 3;
pauseCtx->cursorItem[PAUSE_QUEST] = 999;
pauseCtx->cursorItem[PAUSE_MASK] = 999;
pauseCtx->unk_268[PAUSE_0] = 0;
pauseCtx->unk_268[PAUSE_1] = XREG(94) + 3;
pauseCtx->unk_268[PAUSE_ITEM] = 0;
pauseCtx->unk_268[PAUSE_MAP] = XREG(94) + 3;
pauseCtx->unk_284 = 2;
pauseCtx->unk_2A0 = -1;

View File

@ -1,5 +1,6 @@
#include "prevent_bss_reordering.h"
#include "global.h"
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
#include "interface/parameter_static/parameter_static.h"
s16 sHeartsPrimColors[3][3] = { { 255, 70, 50 }, { 255, 190, 0 }, { 100, 100, 255 } };
@ -222,7 +223,7 @@ void LifeMeter_Draw(PlayState* play) {
f32 lifesize = interfaceCtx->lifeSizeChange * 0.1f;
u32 curCombineModeSet = 0;
TexturePtr temp = NULL;
s32 ddCount = gSaveContext.save.inventory.dungeonKeys[9] - 1;
s32 ddCount = gSaveContext.save.inventory.defenseHearts - 1;
OPEN_DISPS(gfxCtx);
@ -398,8 +399,8 @@ void LifeMeter_UpdateSizeAndBeep(PlayState* play) {
if (interfaceCtx->lifeSizeChange <= 0) {
interfaceCtx->lifeSizeChange = 0;
interfaceCtx->lifeSizeChangeDirection = 0;
if (!Player_InCsMode(play) && (play->pauseCtx.state == 0) && (play->pauseCtx.debugState == 0) &&
LifeMeter_IsCritical() && !Play_InCsMode(play)) {
if (!Player_InCsMode(play) && (play->pauseCtx.state == 0) &&
(play->pauseCtx.debugEditor == DEBUG_EDITOR_NONE) && LifeMeter_IsCritical() && !Play_InCsMode(play)) {
play_sound(NA_SE_SY_HITPOINT_ALARM);
}
}

View File

@ -1,4 +1,5 @@
#include "global.h"
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
s16 sMinimapInitPosX = 0;
s16 sMinimapInitPosZ = 0;
@ -238,7 +239,7 @@ void Map_Update(PlayState* play) {
func_80105B34(play);
if ((play->pauseCtx.state == 0) && (play->pauseCtx.debugState == 0)) {
if ((play->pauseCtx.state == 0) && (play->pauseCtx.debugEditor == DEBUG_EDITOR_NONE)) {
if (Map_IsInDungeonArea(play)) {
floor = func_80109124(player->actor.world.pos.y);
if (floor != -1) {

View File

@ -1,5 +1,6 @@
#include "global.h"
#include "message_data_static.h"
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
#if 0
@ -279,7 +280,7 @@ void func_8014D62C(PlayState* play, s32* arg1, f32* arg2, s16* arg3) {
if ((func_8010A0A4(play) != 0) || (play->sceneNum == 0x4F)) {
phi_v0 = 0xA;
} else {
phi_v0 = play->pauseCtx.unk_238[4];
phi_v0 = play->pauseCtx.unk_238[PAUSE_WORLD_MAP];
}
temp_s6 = *(&D_801D0250 + (phi_v0 * 2));
phi_s0 = 0;

View File

@ -1,5 +1,6 @@
#include "global.h"
#include "message_data_static.h"
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
#if 0
@ -256,7 +257,7 @@ void Message_LoadAreaTextNES(PlayState* play, s32* offset, f32* arg2, s16* decod
if ((func_8010A0A4(play) != 0) || (play->sceneNum == SCENE_SECOM)) {
currentArea = 10;
} else {
currentArea = play->pauseCtx.unk_238[4];
currentArea = play->pauseCtx.unk_238[PAUSE_WORLD_MAP];
}
stringLimit = D_801D07C4[currentArea];

View File

@ -2,7 +2,7 @@
#include "interface/parameter_static/parameter_static.h"
#include "interface/do_action_static/do_action_static.h"
#include "misc/story_static/story_static.h"
#include "overlays/gamestates/ovl_file_choose/z_file_choose.h"
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
typedef struct {
/* 0x00 */ u8 scene;
@ -330,9 +330,9 @@ u8 Item_Give(PlayState* play, u8 item) {
return ITEM_NONE;
} else if ((item == ITEM_HEART_PIECE_2) || (item == ITEM_HEART_PIECE)) {
gSaveContext.save.inventory.questItems += (1 << QUEST_HEART_PIECE_COUNT);
if ((gSaveContext.save.inventory.questItems & 0xF0000000) == (4 << QUEST_HEART_PIECE_COUNT)) {
gSaveContext.save.inventory.questItems ^= (4 << QUEST_HEART_PIECE_COUNT);
INCREMENT_QUEST_HEART_PIECE_COUNT;
if (EQ_MAX_QUEST_HEART_PIECE_COUNT) {
RESET_HEART_PIECE_COUNT;
gSaveContext.save.playerData.healthCapacity += 0x10;
gSaveContext.save.playerData.health += 0x10;
}
@ -989,7 +989,7 @@ void Inventory_UpdateBottleItem(PlayState* play, u8 item, u8 btn) {
Interface_LoadItemIconImpl(play, btn);
play->pauseCtx.cursorItem[PAUSE_0] = item;
play->pauseCtx.cursorItem[PAUSE_ITEM] = item;
gSaveContext.buttonStatus[btn] = BTN_ENABLED;
if (item == ITEM_HOT_SPRING_WATER) {

View File

@ -148,10 +148,31 @@ s32 D_801C6798[] = {
0x00000020, 0x00001470, 0x000028C0, 0x00003D10, 0x00005160, 0x000065B0,
};
u8 D_801C67B0[24] = {
ITEM_NONE, ITEM_BOW, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_BOMB, ITEM_BOMBCHU,
ITEM_STICK, ITEM_NUT, ITEM_MAGIC_BEANS, ITEM_NONE, ITEM_POWDER_KEG, ITEM_PICTO_BOX, ITEM_NONE, ITEM_NONE,
ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE,
u8 gAmmoItems[] = {
ITEM_NONE, // SLOT_OCARINA
ITEM_BOW, // SLOT_BOW
ITEM_NONE, // SLOT_ARROW_FIRE
ITEM_NONE, // SLOT_ARROW_ICE
ITEM_NONE, // SLOT_ARROW_LIGHT
ITEM_NONE, // SLOT_TRADE_DEED
ITEM_BOMB, // SLOT_BOMB
ITEM_BOMBCHU, // SLOT_BOMBCHU
ITEM_STICK, // SLOT_STICK
ITEM_NUT, // SLOT_NUT
ITEM_MAGIC_BEANS, // SLOT_MAGIC_BEANS
ITEM_NONE, // SLOT_TRADE_KEY_MAMA
ITEM_POWDER_KEG, // SLOT_POWDER_KEG
ITEM_PICTO_BOX, // SLOT_PICTO_BOX
ITEM_NONE, // SLOT_LENS
ITEM_NONE, // SLOT_HOOKSHOT
ITEM_NONE, // SLOT_SWORD_GREAT_FAIRY
ITEM_NONE, // SLOT_TRADE_COUPLE
ITEM_NONE, // SLOT_BOTTLE_1
ITEM_NONE, // SLOT_BOTTLE_2
ITEM_NONE, // SLOT_BOTTLE_3
ITEM_NONE, // SLOT_BOTTLE_4
ITEM_NONE, // SLOT_BOTTLE_5
ITEM_NONE, // SLOT_BOTTLE_6
};
s32 D_801C67C8[] = { 0, 0x40, 0x80, 0xC0, 0x100, 0x180, 0x200, 0x280 };
@ -330,8 +351,8 @@ void Sram_SaveEndOfCycle(PlayState* play) {
}
}
for (i = 0; i < ARRAY_COUNT(D_801C67B0); i++) {
if (D_801C67B0[i] != ITEM_NONE) {
for (i = 0; i < ARRAY_COUNT(gAmmoItems); i++) {
if (gAmmoItems[i] != ITEM_NONE) {
if ((gSaveContext.save.inventory.items[i] != ITEM_NONE) && (i != SLOT_PICTO_BOX)) {
item = gSaveContext.save.inventory.items[i];
AMMO(item) = 0;
@ -433,8 +454,8 @@ void Sram_SaveEndOfCycle(PlayState* play) {
Sram_ClearHighscores();
for (i = 0; i < 8; i++) {
gSaveContext.save.inventory.dungeonItems[i] &= (u8)~1;
gSaveContext.save.inventory.dungeonKeys[i] = 0;
gSaveContext.save.inventory.dungeonItems[i] &= (u8)~1; // remove boss key
DUNGEON_KEY_COUNT(i) = 0;
gSaveContext.save.inventory.strayFairies[i] = 0;
}
@ -624,7 +645,9 @@ Inventory sSaveDefaultInventory = {
// dungeonItems
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
// dungeonKeys
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0 },
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
// defenceHearts
0,
// strayFairies
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
// dekuPlaygroundPlayerName
@ -768,7 +791,9 @@ Inventory sSaveDebugInventory = {
// dungeonItems
{ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 },
// dungeonKeys
{ 8, 8, 8, 8, 8, 8, 8, 8, 8, 0 },
{ 8, 8, 8, 8, 8, 8, 8, 8, 8 },
// defenceHearts
0,
// strayFairies
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
// dekuPlaygroundPlayerName
@ -1136,7 +1161,7 @@ void func_801457CC(FileChooseContext* fileChooseCtx2, SramContext* sramCtx) {
fileChooseCtx->healthCapacity[sp76] = gSaveContext.save.playerData.healthCapacity;
fileChooseCtx->health[sp76] = gSaveContext.save.playerData.health;
fileChooseCtx->unk_24454[sp76] = gSaveContext.save.inventory.dungeonKeys[9];
fileChooseCtx->unk_24454[sp76] = gSaveContext.save.inventory.defenseHearts;
fileChooseCtx->unk_24444[sp76] = gSaveContext.save.inventory.questItems;
fileChooseCtx->unk_24458[sp76] = gSaveContext.save.time;
fileChooseCtx->unk_24460[sp76] = gSaveContext.save.day;
@ -1231,7 +1256,7 @@ void func_801457CC(FileChooseContext* fileChooseCtx2, SramContext* sramCtx) {
fileChooseCtx->healthCapacity[sp76] = gSaveContext.save.playerData.healthCapacity;
fileChooseCtx->health[sp76] = gSaveContext.save.playerData.health;
fileChooseCtx->unk_24454[sp76] = gSaveContext.save.inventory.dungeonKeys[9];
fileChooseCtx->unk_24454[sp76] = gSaveContext.save.inventory.defenseHearts;
fileChooseCtx->unk_24444[sp76] = gSaveContext.save.inventory.questItems;
fileChooseCtx->unk_24458[sp76] = gSaveContext.save.time;
fileChooseCtx->unk_24460[sp76] = gSaveContext.save.day;
@ -1344,7 +1369,7 @@ void func_80146628(FileChooseContext* fileChooseCtx2, SramContext* sramCtx) {
fileChooseCtx->unk_24438[fileChooseCtx->fileNum] = gSaveContext.save.playerData.healthCapacity;
fileChooseCtx->unk_24440[fileChooseCtx->fileNum] = gSaveContext.save.playerData.health;
fileChooseCtx->unk_24456[fileChooseCtx->fileNum] = gSaveContext.save.inventory.dungeonKeys[9];
fileChooseCtx->unk_24456[fileChooseCtx->fileNum] = gSaveContext.save.inventory.defenseHearts;
fileChooseCtx->unk_2444C[fileChooseCtx->fileNum] = gSaveContext.save.inventory.questItems;
fileChooseCtx->unk_2445C[fileChooseCtx->fileNum] = gSaveContext.save.time;
fileChooseCtx->unk_24464[fileChooseCtx->fileNum] = gSaveContext.save.day;
@ -1387,7 +1412,7 @@ void func_80146628(FileChooseContext* fileChooseCtx2, SramContext* sramCtx) {
fileChooseCtx->healthCapacity[fileChooseCtx->fileNum] = gSaveContext.save.playerData.healthCapacity;
fileChooseCtx->health[fileChooseCtx->fileNum] = gSaveContext.save.playerData.health;
fileChooseCtx->unk_24454[fileChooseCtx->fileNum] = gSaveContext.save.inventory.dungeonKeys[9];
fileChooseCtx->unk_24454[fileChooseCtx->fileNum] = gSaveContext.save.inventory.defenseHearts;
fileChooseCtx->unk_24444[fileChooseCtx->fileNum] = gSaveContext.save.inventory.questItems;
fileChooseCtx->unk_24458[fileChooseCtx->fileNum] = gSaveContext.save.time;
fileChooseCtx->unk_24460[fileChooseCtx->fileNum] = gSaveContext.save.day;
@ -1456,7 +1481,7 @@ void Sram_InitSave(FileChooseContext* fileChooseCtx2, SramContext* sramCtx) {
fileChooseCtx->healthCapacity[fileChooseCtx->unk_24480] = gSaveContext.save.playerData.healthCapacity;
fileChooseCtx->health[fileChooseCtx->unk_24480] = gSaveContext.save.playerData.health;
fileChooseCtx->unk_24454[fileChooseCtx->unk_24480] = gSaveContext.save.inventory.dungeonKeys[9];
fileChooseCtx->unk_24454[fileChooseCtx->unk_24480] = gSaveContext.save.inventory.defenseHearts;
fileChooseCtx->unk_24444[fileChooseCtx->unk_24480] = gSaveContext.save.inventory.questItems;
fileChooseCtx->unk_24458[fileChooseCtx->unk_24480] = gSaveContext.save.time;
fileChooseCtx->unk_24460[fileChooseCtx->unk_24480] = gSaveContext.save.day;

View File

@ -5,6 +5,7 @@
*/
#include "z_en_okarina_effect.h"
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
@ -58,7 +59,7 @@ void func_8096B104(EnOkarinaEffect* this, PlayState* play) {
void func_8096B174(EnOkarinaEffect* this, PlayState* play) {
DECR(this->unk144);
if ((play->pauseCtx.state == 0) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
(play->msgCtx.msgLength == 0) && !FrameAdvance_IsEnabled(&play->state) && this->unk144 == 0) {
(play->msgCtx.msgLength == 0) && !FrameAdvance_IsEnabled(&play->state) && (this->unk144 == 0)) {
EnOkarinaEffect_SetupAction(this, func_8096B1FC);
}
}
@ -66,7 +67,7 @@ void func_8096B174(EnOkarinaEffect* this, PlayState* play) {
void func_8096B1FC(EnOkarinaEffect* this, PlayState* play) {
if (play->envCtx.unk_F2[4]) {
if ((play->state.frames & 3) == 0) {
--play->envCtx.unk_F2[4];
play->envCtx.unk_F2[4]--;
if (play->envCtx.unk_F2[4] == 8) {
func_800FD858(play);
}

View File

@ -112,13 +112,4 @@ typedef struct FileChooseContext {
/* 0x24550 */ s16 unk_24550;
} FileChooseContext; // size = 0x24558
// TODO: Confirm those values has the same meaning as their OoT counterparts
typedef enum {
/* 0x00 */ PAUSE_0, // PAUSE_ITEM
/* 0x01 */ PAUSE_1, // PAUSE_MAP
/* 0x02 */ PAUSE_2, // PAUSE_QUEST
/* 0x03 */ PAUSE_3, // PAUSE_EQUIP
/* 0x04 */ PAUSE_4 // PAUSE_WORLD_MAP
} PauseMenuPage;
#endif

View File

@ -16,6 +16,86 @@ extern UNK_TYPE D_0B000000;
extern UNK_TYPE D_0C000000;
extern UNK_TYPE D_0C006C00;
s16 D_8082AED0[] = { 120, 60, 2, 80 };
s16 D_8082AED8[] = { 20, 4, 20, 10 };
s32 D_8082AEE0 = 0;
s32 D_8082AEE4[] = { 0, 0, 0 };
s32 D_8082AEF0[] = { 0, 0, 0, 0, 0 };
s16 D_8082AF04[] = {
255, 0, 0, 255, 255, 70, 0, 150, 255, 70, 0, 150, 255, 0, 0, 255,
};
s16 D_8082AF24[] = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003C, 0x0000, 0x005A, 0x0000, 0x0000,
0x0000, 0x0028, 0x006E, 0x0050, 0x0028, 0x0000, 0x0046, 0x0000, 0x005A, 0x005A, 0x005A, 0x0000,
};
s16 D_8082AF6C[] = {
255, 255, 255, 255, 255, 255,
};
s16 D_8082AF78[] = {
255, 255, 255, 255, 255, 255,
};
s16 D_8082AF84[] = {
150, 150, 150, 150, 150, 150,
};
s16 D_8082AF90 = 20;
s32 D_8082AF94 = 0;
s32 D_8082AF98 = 0;
s32 D_8082AF9C = 0;
s32 D_8082AFA0 = 0;
s32 D_8082AFA4 = 0;
s16 D_8082AFA8 = 20;
s32 D_8082AFAC = 0;
void* D_8082AFB0[] = {
0x020024A0, 0x020025A0, 0x020026A0, 0x020027A0, 0x020028A0,
};
s16 D_8082AFC4[] = {
150, 255, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255,
};
s16 D_8082AFDC[] = {
255, 80, 150, 160, 100, 240, 255, 255, 255, 255, 255, 255,
};
s16 D_8082AFF4[] = { 100, 40, 255, 0, 255, 100, 255, 255, 255, 255, 255, 255 };
void* D_8082B00C[] = {
0x08053000, 0x08054000, 0x08055000, 0x08056000, 0x08057000, 0x08058000,
};
s16 D_8082B024 = 1;
s16 D_8082B028 = 0;
s16 D_8082B02C[] = {
0xFFFF, 0x0003, 0x0002, 0x0001, 0x0000, 0x0004, 0x0003, 0xFFFE, 0x0000, 0x0005, 0x0016, 0x0003, 0x0000, 0x0004,
0x0002, 0x0001, 0x0001, 0x0014, 0x0005, 0xFFFE, 0x0002, 0x0013, 0x0010, 0x0004, 0x000C, 0xFFFF, 0xFFFD, 0x0007,
0x000D, 0xFFFF, 0x0006, 0x0008, 0x000E, 0xFFFF, 0x0007, 0x0009, 0x000F, 0xFFFF, 0x0008, 0x000A, 0x0010, 0xFFFF,
0x0009, 0x0013, 0x0011, 0xFFFF, 0x000A, 0x0005, 0x0012, 0x0006, 0xFFFD, 0x000D, 0x0012, 0x0007, 0x000C, 0x000E,
0x0016, 0x0008, 0x000D, 0x000F, 0x0016, 0x0009, 0x000E, 0x0010, 0x0016, 0x000A, 0x000F, 0x0005, 0x0016, 0x000B,
0x0010, 0x0005, 0xFFFF, 0x000C, 0xFFFD, 0x0016, 0x0005, 0xFFFF, 0x000A, 0x0014, 0x0004, 0xFFFF, 0x0013, 0xFFFE,
0x0013, 0x000C, 0xFFFD, 0x0016, 0xFFFF, 0x0010, 0x0012, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_808160A0.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80817B5C.s")

File diff suppressed because it is too large Load Diff

View File

@ -16,6 +16,64 @@ extern UNK_TYPE D_0B000000;
extern UNK_TYPE D_0C000000;
extern UNK_TYPE D_0C006C00;
s32 D_8082B3C0 = 0;
s32 D_8082B3C4 = 0;
s16 D_8082B3C8 = 10;
u8 D_8082B3CC[5][24] = {
{
false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, true, true, true, true, true, true,
},
{
true, false, false, false, false, true, false, false, false, false, false, true,
true, true, true, false, false, true, true, true, true, true, true, true,
},
{
true, false, false, false, false, true, false, false, false, false, false, true,
false, true, true, false, false, true, true, true, true, true, true, true,
},
{
true, false, false, false, false, true, false, false, false, true, false, true,
false, true, true, false, false, true, true, true, true, true, true, true,
},
{
true, true, true, true, true, true, true, true, true, true, true, true,
false, true, true, true, true, true, true, true, true, true, true, true,
},
};
s16 D_8082B444[] = {
0x005F, 0x003E, 0x005F, 0x0080, 0x00A1, 0x00C2, 0x003E, 0x005F,
};
s16 D_8082B454[] = {
0x0055, 0x0075, 0x0075, 0x0075, 0x0075, 0x0075, 0x0096, 0x0096, 0x00FF, 0x0064,
0x00FF, 0x0000, 0x0000, 0x0064, 0x00FF, 0x0000, 0x0000, 0x00FF, 0x0064, 0x0000,
};
u8 D_8082B47C[] = {
0x35, 0x33, 0x34, 0x32, 0xFF,
};
s16 D_8082B484[] = {
0x0294,
0x0384,
0x0474,
0x0000,
};
s16 D_8082B48C[] = {
0x044C,
0x0398,
0x044C,
0x0000,
};
s32 D_8082B494[] = { 0, 0, 0 };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081B240.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081B6BC.s")

View File

@ -16,6 +16,87 @@ extern UNK_TYPE D_0B000000;
extern UNK_TYPE D_0C000000;
extern UNK_TYPE D_0C006C00;
s32 D_8082B4A0[] = { 0x09003600, 0x09003F00, 0x09004800 };
s32 D_8082B4AC[] = {
0x0D000000,
0x0D000800,
0x0D001000,
0x0D001800,
};
s16 D_8082B4BC[] = {
0x0043,
0x0051,
0x005F,
0x006D,
};
s16 D_8082B4C4 = 0x7B;
s16 D_8082B4C8 = 30;
s16 D_8082B4CC = 0;
s16 D_8082B4D0 = 0xF;
s16 D_8082B4D4 = 0;
s16 D_8082B4D8 = 0xFF;
f32 D_8082B4DC = 100.0f;
s32 D_8082B4E0[] = {
0x02008998, 0x0C001B80, 0x02008998, 0x0C001B80, 0x02009598, 0x0C002780, 0x02009598, 0x0C002780,
0x0200A198, 0x0C003380, 0x0200A198, 0x0C003380, 0x0200AD98, 0x0C003F80, 0x0200AD98, 0x0C003F80,
};
s32 D_8082B520[] = {
0xFF6EA05A,
0xFF6478FF,
0xFFF5F55A,
};
s32 D_8082B52C[] = {
0xFFFFFFFF,
0xFFFFFFFF,
0xFFE1AA00,
};
s32 D_8082B538[] = {
0x00000400,
0x00000000,
0x00000000,
0x00000000,
};
s16 D_8082B548[] = {
0x0C00, 0x8418, 0x0C00, 0x9098, 0x0C01, 0x2898, 0x0C01, 0x35D8, 0x0C01, 0x4318,
0x0C00, 0xDE58, 0x0C00, 0xEB58, 0x0C00, 0xFAA8, 0x0C00, 0x9858, 0x0C00, 0x9E58,
0x0C00, 0xAE58, 0x0C00, 0xBE58, 0x0C00, 0xCE58, 0x0C01, 0x09F8, 0x0C01, 0x1958,
};
s16 D_8082B584[] = {
0x0000, 0x0000, 0x00FF, 0x00FF, 0x00FF, 0x0000,
};
s16 D_8082B590[] = {
0x00FF, 0x00FF, 0x0000, 0x0000, 0x0000, 0x00FF,
};
s16 D_8082B59C[] = {
0x0056, 0x0068, 0x0091, 0x0099, 0x00A3, 0x009F, 0x009D, 0x00C7, 0x00D0, 0x00D2, 0x00DA, 0x0000,
};
s16 D_8082B5B4[] = {
0x007F, 0x0099, 0x008A, 0x00AB, 0x0092, 0x0077, 0x004D, 0x006A, 0x0078, 0x0049, 0x0063, 0x0000,
};
s16 D_8082B5CC[] = {
0x0005, 0x0004, 0x0006, 0x0000, 0x0008, 0x0005, 0x0004, 0x0006, 0x0000, 0x0008,
};
u16 D_8082B5E0[] = {
0xAF, 0xB3, 0xAA, 0xB1, 0xA9, 0xB2, 0xA8, 0xB0, 0xAC, 0xAE,
};
u16 D_8082B5F4 = 0;
s32 D_8082B5F8[] = { 0, 0 };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081D240.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081D6DC.s")

View File

@ -16,6 +16,48 @@ extern UNK_TYPE D_0B000000;
extern UNK_TYPE D_0C000000;
extern UNK_TYPE D_0C006C00;
s32 D_8082B600 = 0;
s32 D_8082B604 = 0;
s16 D_8082B608 = 10;
s32 D_8082B60C[] = {
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00010000,
0x00000001, 0x00000000, 0x00010000, 0x00000001, 0x00000000, 0x00010000, 0x00000001, 0x00000000,
0x00010000, 0x00000001, 0x00000000, 0x00010000, 0x00000001, 0x00000000, 0x00010000, 0x00000001,
0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101,
};
s32 D_8082B684[] = {
0x01010004, 0x02020180, 0x01040210, 0x00100201, 0x00080110, 0x02040220, 0x00400080, 0x00020102, 0x00010240,
0x01200108, 0x00200140, 0x02080280, 0x00FF0064, 0x00FF0000, 0x00000064, 0x00FF0000, 0x000000FF, 0x00640000,
};
u8 D_8082B6CC[] = { 0x35, 0x33, 0x34, 0x32, 0xFF };
s16 D_8082B6D4[] = {
0x0294,
0x0384,
0x0474,
0x0000,
};
s16 D_8082B6DC[] = {
0x044C,
0x0398,
0x044C,
0x0000,
};
s32 D_8082B6E4[] = { 0, 0, 0 };
s16 D_8082B6F0[] = { 100, 255 };
s32 D_8082B6F4 = 0;
s16 D_8082B6F8[] = { 10, 0, 0, 0 };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081FF80.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_808204AC.s")

View File

@ -1,8 +1,25 @@
#ifndef _Z64_KALEIDO_SCOPE_H_
#define _Z64_KALEIDO_SCOPE_H_
#ifndef Z_KALEIDO_SCOPE_H
#define Z_KALEIDO_SCOPE_H
#include "global.h"
typedef enum {
/* 0x00 */ PAUSE_ITEM,
/* 0x01 */ PAUSE_MAP,
/* 0x02 */ PAUSE_QUEST,
/* 0x03 */ PAUSE_MASK,
/* 0x04 */ PAUSE_WORLD_MAP
} PauseMenuPage;
typedef enum {
/* 0 */ DEBUG_EDITOR_NONE,
/* 1 */ DEBUG_EDITOR_INVENTORY_INIT,
/* 2 */ DEBUG_EDITOR_INVENTORY,
/* 3 */ DEBUG_EDITOR_EVENTS
} DebugEditor;
// Debug
void KaleidoScope_DrawInventoryEditor(PlayState* play);
void KaleidoScope_UpdateInventoryEditor(PlayState* play);
#endif

View File

@ -16,6 +16,302 @@ extern UNK_TYPE D_0B000000;
extern UNK_TYPE D_0C000000;
extern UNK_TYPE D_0C006C00;
void* D_8082B700[] = {
0x08064440, 0x0806E440, 0x08077A40, 0x08081040, 0x0808A640, 0x0D003A00, 0x0806EE40, 0x08078440,
0x08081A40, 0x0808B040, 0x08065840, 0x0806F840, 0x08078E40, 0x08082440, 0x0808BA40,
};
void* D_8082B73C[] = {
0x0D004400, 0x08070240, 0x08079840, 0x08082E40, 0x0808C440, 0x0D004E00, 0x08070C40, 0x0807A240,
0x08083840, 0x0808CE40, 0x0D005800, 0x08071640, 0x0807AC40, 0x08084240, 0x0808D840,
};
void* D_8082B778[] = {
0x08068040, 0x08072040, 0x0807B640, 0x08084C40, 0x0808E240, 0x0D006200, 0x08072A40, 0x0807C040,
0x08085640, 0x0808EC40, 0x08069440, 0x08073440, 0x0807CA40, 0x08086040, 0x0808F640,
};
void* D_8082B7B4[] = {
0x0D006C00, 0x08073E40, 0x0807D440, 0x08086A40, 0x08090040, 0x0D007600, 0x08074840, 0x0807DE40,
0x08087440, 0x08090A40, 0x0D008000, 0x08075240, 0x0807E840, 0x08087E40, 0x08091440,
};
s16 D_8082B7F0[] = {
0x0050, 0x0040, 0x0040, 0x0040, 0x0010, 0x0040, 0x0070, 0x0070, 0x0030, 0x0040, 0x0040, 0x0040,
0x0040, 0x0030, 0x0040, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
0x0008, 0x0008, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018,
};
s16 D_8082B838[] = {
0x0028, 0x001F, 0x0035, 0x0035, 0x0035, 0x0034, 0x0023, 0x0023, 0x0020, 0x0040, 0x0040, 0x0040,
0x0040, 0x0052, 0x003D, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
0x0008, 0x0008, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C,
};
s16 D_8082B880 = 0;
s16 D_8082B884 = 0;
s16 D_8082B888 = 0;
s16 D_8082B88C = 255;
s16 D_8082B890 = 0;
s16 D_8082B894 = 0;
s16 D_8082B898 = 0;
s16 D_8082B89C = 0;
s16 D_8082B8A0 = 0;
s16 D_8082B8A4 = 0;
s16 D_8082B8A8 = 255;
s16 D_8082B8AC = 0;
s16 D_8082B8B0 = 0;
s16 D_8082B8B4 = false;
f32 D_8082B8B8[] = {
-4.0f, 4.0f, 4.0f, 4.0f, 4.0f, -4.0f, -4.0f, -4.0f,
};
f32 D_8082B8D8[] = {
-4.0f, -4.0f, -4.0f, 4.0f, 4.0f, 4.0f, 4.0f, -4.0f,
};
s16 D_8082B8F8[] = {
PAUSE_MAP, PAUSE_MASK, PAUSE_QUEST, PAUSE_ITEM, PAUSE_MASK, PAUSE_MAP, PAUSE_ITEM, PAUSE_QUEST,
};
f32 D_8082B908 = 0.0f;
f32 D_8082B90C = 0.0f;
f32 D_8082B910 = 40.0f;
f32 D_8082B914 = -40.0f;
s32 D_8082B918 = 0;
s32 D_8082B91C = 0;
s16 D_8082B920 = 10;
u8 D_8082B924[] = {
0x00, 0x14, 0x00, 0x04, 0x00, 0x14, 0x00, 0x0A, 0x0F, 0x1F, 0x0F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
0x07, 0x07, 0x03, 0x0F, 0x07, 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, 0x1F, 0x0F, 0x03, 0x0F, 0x00, 0x00,
};
s16 D_8082B944 = 0x42;
s16 D_8082B948[][3] = {
{ 0x00FF, 0x00FF, 0x00FF }, { 0x00FF, 0x00FF, 0x00FF }, { 0x00FF, 0x00FF, 0x0000 },
{ 0x00FF, 0x00FF, 0x0000 }, { 0x0064, 0x0096, 0x00FF }, { 0x0064, 0x00FF, 0x00FF },
};
s16 D_8082B96C[][3] = {
{ 0x0000, 0x0000, 0x0000 }, { 0x00AA, 0x00AA, 0x00AA }, { 0x0000, 0x0000, 0x0000 },
{ 0x00FF, 0x00A0, 0x0000 }, { 0x0000, 0x0000, 0x0064 }, { 0x0000, 0x0096, 0x00FF },
};
s16 D_8082B990 = 10;
s16 D_8082B994 = 0;
s32 D_8082B998[] = {
0x0D003300,
0x0D002700,
0x0D002B00,
0x0D002F00,
};
s32 D_8082B9A8[] = {
0x0D002B00,
0x0D002F00,
0x0D003300,
0x0D002700,
};
s16 D_8082B9B8[] = {
0x00B4, 0x00D2, 0x00FF, 0x00DC, 0x0064, 0x0064, 0x0096, 0x00DC,
};
s16 D_8082B9C8 = 20;
s32 D_8082B9CC = 0;
s16 D_8082B9D0[] = {
0x00B4, 0x00D2, 0x00FF, 0x00DC, 0x0064, 0x0064, 0x0096, 0x00DC,
};
s16 D_8082B9E0 = 20;
s32 D_8082B9E4 = 0;
s32 D_8082B9E8 = 0;
s32 D_8082B9EC = 0;
s16 D_8082B9F0[] = {
0xFFEB, 0xFF98, 0xFFB4, 0xFFD0, 0xFF98, 0xFFD8,
};
s32 D_8082B9FC = 0;
s16 D_8082BA00[] = {
0xFFD7, 0x0009, 0x002B, 0xFFEB, 0xFFDB, 0x002B, 0xFFBB, 0xFFBB, 0xFFE0, 0xFF93, 0xFFD3, 0xFF93,
0xFFD3, 0x003B, 0xFFFB, 0xFFBA, 0xFFCC, 0xFFF5, 0xFFFE, 0x0008, 0x0002, 0x0001, 0x002B, 0x0034,
0x0036, 0x003E, 0xFFB0, 0xFFC0, 0xFFF7, 0xFFFD, 0xFFF9, 0xFFF0, 0xFFFF, 0x0017, 0x002C, 0x0036,
};
s16 D_8082BA48[] = {
0xFFB4, 0xFFC6, 0x000A, 0xFFC6, 0x000A, 0x0000,
};
s32 D_8082BA54 = 0;
s32 D_8082BA58 = 0;
s16 D_8082BA5C[] = {
0x0080, 0x0018, 0x0018, 0x0018, 0x0020, 0x0018,
};
s32 D_8082BA68 = 0;
s16 D_8082BA6C[] = {
0x0098, 0x0030, 0x0030, 0x0030, 0x0030, 0x0000,
};
s32 D_8082BA78 = 0;
s32 D_8082BA7C = 0;
s16 D_8082BA80[] = {
0x0036, 0xFFD6, 0xFFD6, 0xFFD6, 0xFFE8, 0x0032,
};
s32 D_8082BA8C = 0;
s16 D_8082BA90[] = {
0x000B, 0x0016, 0xFFF0, 0xFFF0, 0xFFF0, 0x003B, 0x0018, 0x003B, 0xFFF5, 0xFFFB, 0xFFFB, 0x003B,
0x003B, 0x0027, 0x001F, 0xFFF6, 0xFFDC, 0xFFED, 0xFFCB, 0xFFE5, 0xFFFE, 0x0029, 0x000B, 0xFFFD,
0x002D, 0x0012, 0xFFF8, 0xFFDA, 0x0027, 0x001A, 0x0001, 0xFFF9, 0xFFE4, 0xFFE5, 0xFFFF, 0x0018,
};
s16 D_8082BAD8[] = {
0x0024, 0x000A, 0x000A, 0xFFFA, 0xFFFA, 0x0000,
};
s32 D_8082BAE4 = 0;
s32 D_8082BAE8 = 0;
s16 D_8082BAEC[] = {
0x0010, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018,
};
s32 D_8082BAF8 = 0;
s16 D_8082BAFC[] = {
0x0010, 0x0030, 0x0030, 0x0010, 0x0010, 0x0000,
};
void* D_8082BB08[] = {
&D_8082B9E8, &D_8082B9EC, &D_8082B9F0, &D_8082B9FC, &D_8082BA00, &D_8082BA48,
};
void* D_8082BB20[] = {
&D_8082BA54, &D_8082BA58, &D_8082BA5C, &D_8082BA68, &D_8082B7F0, &D_8082BA6C,
};
void* D_8082BB38[] = {
&D_8082BA78, &D_8082BA7C, &D_8082BA80, &D_8082BA8C, &D_8082BA90, &D_8082BAD8,
};
void* D_8082BB50[] = {
&D_8082BAE4, &D_8082BAE8, &D_8082BAEC, &D_8082BAF8, &D_8082B838, &D_8082BAFC,
};
s16 D_8082BB68[] = {
0x000E, 0xFFFE, 0xFFFE, 0xFFEE, 0xFFEE, 0x0000,
};
s16 D_8082BB74[] = {
0x002D, 0x004E, 0x000A, 0x002D, 0x0050, 0x000B, 0xFF93, 0xFFA9, 0xFFBF, 0xFFD7, 0xFFED, 0xFFEE, 0xFF93, 0xFFA9,
0xFFBF, 0xFFD7, 0xFFED, 0xFFEE, 0xFF99, 0x0007, 0x0052, 0xFF92, 0xFFCA, 0xFF9E, 0xFFAA, 0xFFB6, 0xFFC2, 0xFFCE,
0xFFDA, 0xFFE6, 0xFFF2, 0xFF9E, 0xFFAA, 0xFFB6, 0xFFC2, 0xFFCE, 0xFFDA, 0xFFE6, 0xFFF2, 0x0000,
};
s16 D_8082BBC4[] = {
0x003E, 0x002A, 0x002A, 0x0014, 0xFFF7, 0xFFF7, 0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC, 0xFFEC, 0x0002, 0x0002,
0x0002, 0x0002, 0x0002, 0x0002, 0x0036, 0xFFD4, 0xFFD4, 0x0022, 0x003A, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC,
0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0x0000,
};
s16 D_8082BC14[] = {
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0010, 0x0010, 0x0010, 0x0010, 0x0020, 0x0020, 0x0020, 0x0018, 0x0030, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000,
};
s16 D_8082BC64[] = {
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018,
0x0018, 0x0018, 0x0018, 0x0018, 0x0020, 0x0020, 0x0020, 0x0018, 0x0030, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000,
};
f32 D_8082BCB4[] = {
-62.0f, -36.0f, -10.0f, 16.0f, 42.0f, 68.0f,
};
f32 D_8082BCCC[] = {
31.0f,
5.0f,
-21.0f,
-47.0f,
};
f32 D_8082BCDC[] = {
-49.0f, -35.0f, -3.0f, 4.0f, 12.0f, 8.0f, 7.0f, 40.0f, 47.0f, 49.0f, 55.0f,
};
f32 D_8082BD08[] = {
-15.0f, -36.0f, -23.0f, -49.0f, -29.0f, -8.0f, 25.0f, 2.0f, -9.0f, 28.0f, 7.0f,
};
f32 D_8082BD34[] = {
-50.0f, -38.0f, 6.0f, 11.0f, 8.0f, 0.0f, 12.0f, 31.0f, 48.0f, 56.0f,
};
f32 D_8082BD5C[] = {
-14.0f, -39.0f, 23.0f, 11.0f, -8.0f, -15.0f, -31.0f, -30.0f, -10.0f, 11.0f,
};
f32 D_8082BD84[] = {
-72.0f, -47.0f, -26.0f, -50.0f, -48.0f, -48.0f, -48.0f, -48.0f, -48.0f,
};
f32 D_8082BDA8[] = {
-47.0f, -47.0f, -47.0f, -30.0f, 33.0f, 22.0f, 11.0f, -2.0f, -13.0f,
};
f32 D_8082BDCC[] = {
52.0f, 80.0f, 24.0f, 52.0f, 81.0f, 24.0f, -78.0f, -61.0f, -44.0f, -24.0f, -6.0f, -3.0f,
-78.0f, -61.0f, -44.0f, -24.0f, -6.0f, -3.0f, -68.0f, 22.0f, 83.0f, -67.0f, -21.0f,
};
f32 D_8082BE28[] = {
33.0f, 18.0f, 18.0f, 0.0f, -23.0f, -23.0f, -29.0f, -29.0f, -29.0f, -29.0f, -29.0f, -29.0f,
-11.0f, -11.0f, -11.0f, -11.0f, -11.0f, -11.0f, 27.0f, -53.0f, -53.0f, 14.0f, 26.0f,
};
s16 D_8082BE84 = 0;
s16 D_8082BE88[] = {
0x001C, 0x001D, 0x001E, 0x001F, 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025,
};
s32 D_8082BE9C = 0;
s32 D_8082BEA0 = 0;
s16 D_8082BEA4 = 10;
s32 D_8082BEA8 = 0;
s32 D_8082BEAC = 0;
s32 D_8082BEB0 = 0;
s32 D_8082BEB4 = 0;
s32 D_8082BEB8[] = { 0, 0 };
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80821900.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8082192C.s")

View File

@ -4200,10 +4200,10 @@
0x808160A0:("func_808160A0",),
0x80817B5C:("func_80817B5C",),
0x80818904:("func_80818904",),
0x80818920:("func_80818920",),
0x808190C4:("func_808190C4",),
0x80819238:("func_80819238",),
0x80819F04:("func_80819F04",),
0x80818920:("KaleidoScope_DrawInventoryEditorText",),
0x808190C4:("KaleidoScope_DrawDigit",),
0x80819238:("KaleidoScope_DrawInventoryEditor",),
0x80819F04:("KaleidoScope_UpdateInventoryEditor",),
0x8081B240:("func_8081B240",),
0x8081B6BC:("func_8081B6BC",),
0x8081B6EC:("func_8081B6EC",),

View File

@ -1942,7 +1942,7 @@
0x801C5FC0:("D_801C5FC0","u32","[452]",0x710),
0x801C66D0:("D_801C66D0","UNK_TYPE2","",0x2),
0x801C6798:("D_801C6798","UNK_TYPE4","",0x4),
0x801C67B0:("D_801C67B0","UNK_TYPE1","",0x1),
0x801C67B0:("gAmmoItems","UNK_TYPE1","",0x1),
0x801C67C8:("D_801C67C8","s32","[8]",0x20),
0x801C67E8:("D_801C67E8","UNK_TYPE4","",0x4),
0x801C67F0:("D_801C67F0","s32","[8]",0x20),
@ -4681,24 +4681,18 @@
0x8082AFB0:("D_8082AFB0","UNK_TYPE1","",0x1),
0x8082AFC4:("D_8082AFC4","UNK_TYPE2","",0x2),
0x8082AFDC:("D_8082AFDC","UNK_TYPE2","",0x2),
0x8082AFF4:("D_8082AFF4","UNK_TYPE2","",0x2),
0x8082B008:("D_8082B008","UNK_TYPE1","",0x1),
0x8082AFF4:("D_8082AFF4","s16","[12]",0x18),
0x8082B00C:("D_8082B00C","void*","[6]",0x18),
0x8082B024:("D_8082B024","UNK_TYPE1","",0x1),
0x8082B028:("D_8082B028","UNK_TYPE2","",0x2),
0x8082B02C:("D_8082B02C","UNK_TYPE1","",0x1),
0x8082B02E:("D_8082B02E","UNK_TYPE1","",0x1),
0x8082B030:("D_8082B030","UNK_TYPE1","",0x1),
0x8082B032:("D_8082B032","UNK_TYPE1","",0x1),
0x8082B0F0:("D_8082B0F0","UNK_TYPE2","",0x2),
0x8082B0F4:("D_8082B0F4","UNK_TYPE2","",0x2),
0x8082B0F8:("D_8082B0F8","UNK_TYPE1","",0x1),
0x8082B2FA:("D_8082B2FA","UNK_TYPE1","",0x1),
0x8082B302:("D_8082B302","UNK_TYPE1","",0x1),
0x8082B30A:("D_8082B30A","UNK_TYPE1","",0x1),
0x8082B328:("D_8082B328","UNK_TYPE1","",0x1),
0x8082B388:("D_8082B388","UNK_TYPE2","",0x2),
0x8082B3AC:("D_8082B3AC","UNK_TYPE4","",0x4),
0x8082B3B0:("D_8082B3B0","UNK_TYPE4","",0x4),
0x8082B02C:("D_8082B02C","s16","[98]",0xC4),
0x8082B0F0:("sCurSection","UNK_TYPE2","",0x2),
0x8082B0F4:("sCurRow","UNK_TYPE2","",0x2),
0x8082B0F8:("sSectionPositions","s16","[280]",0x230),
0x8082B328:("sSlotItems","UNK_TYPE1","",0x1),
0x8082B388:("sRowFirstSections","UNK_TYPE2","",0x2),
0x8082B3AC:("sPrevDBtnInput","UNK_TYPE4","",0x4),
0x8082B3B0:("sHeldDBtnTimer","UNK_TYPE4","",0x4),
0x8082B3C0:("D_8082B3C0","UNK_TYPE2","",0x2),
0x8082B3C4:("D_8082B3C4","UNK_TYPE2","",0x2),
0x8082B3C8:("D_8082B3C8","UNK_TYPE2","",0x2),
@ -4723,10 +4717,7 @@
0x8082B520:("D_8082B520","UNK_TYPE1","",0x1),
0x8082B52C:("D_8082B52C","UNK_TYPE1","",0x1),
0x8082B538:("D_8082B538","UNK_TYPE1","",0x1),
0x8082B548:("D_8082B548","UNK_TYPE4","",0x4),
0x8082B54A:("D_8082B54A","UNK_TYPE1","",0x1),
0x8082B552:("D_8082B552","UNK_TYPE1","",0x1),
0x8082B55A:("D_8082B55A","UNK_TYPE1","",0x1),
0x8082B548:("D_8082B548","s16","[30]",0x3C),
0x8082B584:("D_8082B584","UNK_TYPE2","",0x2),
0x8082B590:("D_8082B590","UNK_TYPE2","",0x2),
0x8082B59C:("D_8082B59C","UNK_TYPE1","",0x1),