PAL: match core1/snackerctl.c

This commit is contained in:
Banjo Kazooie
2024-09-13 21:59:46 -05:00
parent 68676056d2
commit 81517d0f33
4 changed files with 47 additions and 15 deletions

View File

@@ -510,8 +510,8 @@ segments:
- [0xF7AB00, c, code_1930]
- [0xF7B410, c, code_2240]
- [0xF7BA60, c, ba/anim]
- [0xF7C650, bin, core2_untouched_text]
# - [0xF58DE0, c, snackerctl] #DONE
- [0xF7C650, c, snackerctl]
- [0xF7CBA0, bin, core2_untouched_text]
# - [0xF59330, c, code_39D0] #DONE
# - [0xF5A120, c, ba/marker] #DONE
# - [0xF5C490, c, code_6B30] #DONE
@@ -901,8 +901,8 @@ segments:
- [0x1055E20, bin, data_DC600] #unreferenced
- [0x1055E50, .data, code_1550]
- [0x1055E70, .data, ba/anim]
- [0x1055EA0, bin, core2_untouched_data]
# - [0x1031FE0, .data, snackerctl]
- [0x1055EA0, .data, snackerctl]
- [0x1055EC0, bin, core2_untouched_data]
# - [0x1032000, .data, ba/marker]
# - [0x1032060, .data, code_7060]
# - [0x10320A0, .data, code_90E0]
@@ -1124,8 +1124,8 @@ segments:
- [0x10667C0, .rodata, anim/sprite]
- [0x10667D0, .rodata, code_1930]
- [0x10667F0, .rodata, ba/anim]
- [0x1066860, bin, core2_untouched_rodata]
# - [0x1042890, .rodata, snackerctl]
- [0x1066860, .rodata, snackerctl]
- [0x1066870, bin, core2_untouched_rodata]
# - [0x10428A0, .rodata, code_39D0]
# - [0x1042940, .rodata, ba/marker]
# - [0x1042D70, .rodata, code_6B30]
@@ -1377,7 +1377,7 @@ segments:
- [0x0106C980, .bss, code_1550]
- [0x0106C980, .bss, code_1930]
- [0x0106C980, .bss, ba/anim]
# - [0x0106C980, .bss, snackerctl]
- [0x0106C980, .bss, snackerctl]
# - [0x0106C980, .bss, code_39D0]
# - [0x0106C980, .bss, ba/marker]
# - [0x0106C980, .bss, code_6B30]

View File

@@ -1,6 +1,8 @@
#ifndef ENUMS_H
#define ENUMS_H
#include "version.h"
#define SPRITE_TYPE_CI4 (1 << 0) //0x001
#define SPRITE_TYPE_CI8 (1 << 2) //0x004
#define SPRITE_TYPE_I4 (1 << 5) //0x020
@@ -4157,7 +4159,11 @@ enum asset_e
ASSET_E1D_TEXT_BOTTLES_TUTORIAL_OFFER_WAIT = 0xE1D,
ASSET_E1F_TEXT_BOTTLES_TUTORIAL_OFFER = 0xE1F,
ASSET_E1F_TEXT_BOTTLES_TUTORIAL_OFFER = VER_SELECT(0xE1F, 0xa61, 0, 0),
ASSET_E20_DIALOG_BOTTLES_BONUS_NOT_READY,
ASSET_E21_DIALOG_BOTTLES_BONUS_DISCOVERED,
ASSET_E35_DIALOG_BOTTLES_BONUS_REMINDER = VER_SELECT(0xE35, 0xa77, 0, 0),
ASSET_E37_TEXT_BOTTLES_STOP_WASTING_TIME_AFTER_FURNACE_FUN = 0xE37, // Talk to bottles after beating furnace fun

View File

@@ -35,14 +35,21 @@ boot_func_8023DA20 = func_8023DA20;
/* Temporary Correct*/
func_8028B470 = 0x8028b290;
player_getTransformation = 0x8028e5ec;
func_8028E964 = 0x8028e784;
player_getPosition = 0x8028e7c4;
player_getPosition_s32 = 0x8028e95c;
player_getWaterState = 0x8028eca4;
player_is_present = 0x8028eff4;
func_8028F22C = 0x8028f04c;
func_8028F25C = 0x8028f07c;
func_8028F918 = 0x8028f738;
func_8028F94C = 0x8028f76c;
func_8028FB88 = 0x8028f9a8;
miscFlag_isTrue = 0x802931e0;
baphysics_get_velocity = 0x802978c8;
baphysics_get_vertical_velocity = 0x802978ec;
_player_getPosition = 0x80298314;
@@ -52,6 +59,7 @@ func_802BB378 = 0x802bb1e8;
func_802BB3AC = 0x802bb21c;
func_802BB3C4 = 0x802bb234;
func_802BB3DC = 0x802bb24c;
ncFirstPersonCamera_getZoomedInRotation = 0x802c295c;
spawnQueue_func_802C3A18 = 0x802C3898;
spawnQueue_flush = 0x802c38b8;
func_802C5A30 = 0x802c5b20;
@@ -61,6 +69,8 @@ func_802D686C = 0x802d6a4c;
chmole_learnedAllSpiralMountainAbilities = 0x802da678;
chOverlayNoController_spawn = 0x802dd1e8;
chOverlayNoController_func_802DD040 = 0x802dd220;
chBottlesBonus_getPuzzleIndex = 0x802de5fc;
chsnacker_setControlState = 0x802e1bf4;
func_802E3580 = 0x802E3770;
dummy_func_802E35D0 = 0x802E37C0;
func_802E35D8 = 0x802E37c8;
@@ -115,6 +125,8 @@ func_8030E2C4 = 0x8030e464;
func_8030E6A4 = 0x8030e844;
func_8030ED70 = 0x8030ef10;
func_8030E394 = 0x8030e534;
func_80311480 = 0x803116cc;
func_8031B908 = 0x8031bce8;
func_8031C44C = 0x8031c82c;
func_8031C5AC = 0x8031c98c;
@@ -129,6 +141,8 @@ func_80320B98 = 0x80320f88;
func_80320C94 = 0x80321084;
func_80320DB0 = 0x803211a0;
jiggyscore_isCollected = 0x803213d0;
func_80321960 = 0x80321d50;
func_803219F4 = 0x80321de4;
levelSpecificFlags_get = 0x803222d4;
levelSpecificFlags_validateCRC1 = 0x8032243c;
func_8032274C = 0x80322b4c;
@@ -170,13 +184,20 @@ func_8033EFB0 = 0x8033f400;
func_8033F000 = 0x8033f450;
demo_readInput = 0x8034a334;
randf = 0x8034a7e0;
func_8034B9BC = 0x8034be20;
func_8034BB48 = 0x8034bfac;
func_8034C630 = 0x8034ca90;
func_8034E698 = 0x8034eaf8;
core2_TEXT_END = 0x80363a00;
core2_DATA_START = 0x80363a00;
D_803727F4 = 0x80372d74;
D_80379B90 = 0x8037A560;
D_8037DCCA = 0x8037e69a;
D_8037DCCB = 0x8037e69b;
D_8037DCCC = 0x8037e69c;
core2_TEXT_END = 0x80363a00;
core2_DATA_START = 0x80363a00;
core2_RODATA_END = 0x8037A560;
core2_BSS_START = 0x8037A560;
core2_BSS_END = 0x80386dd0;

View File

@@ -3,9 +3,14 @@
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
#include "version.h"
#include "ch/snacker.h"
// ToDo: move to assets_e
#define SNACKER_BB_DIALOG_0 VER_SELECT(0xe26, 0xa68, 0, 0)
#define SNACKER_BB_DIALOG_1 VER_SELECT(0xe33, 0xa75, 0, 0)
s32 func_80259254(f32 *, f32, f32, f32);
void ncFirstPersonCamera_getZoomedInRotation(f32 *);
@@ -78,7 +83,7 @@ static SnackerCtlState _snackerctl_update_bottles_bonus(void){
return 0;
if(func_8034BB48() && chBottlesBonus_getPuzzleIndex() != 7){
func_80311480(0xe26 + (chBottlesBonus_getPuzzleIndex() << 1), 6, D_80363610, NULL, NULL, NULL);
func_80311480(SNACKER_BB_DIALOG_0 + (chBottlesBonus_getPuzzleIndex() << 1), 6, D_80363610, NULL, NULL, NULL);
}
if(!func_8028F25C() && func_80321960() == 3)
func_803219F4(1);
@@ -88,12 +93,12 @@ static SnackerCtlState _snackerctl_update_bottles_bonus(void){
if(chBottlesBonus_getPuzzleIndex() == 6){
if(!D_8037DCCC){
func_8028F94C(4, &D_80363610);
func_80311480(0xe33, 0x6, D_80363610, NULL, func_8028A584, NULL);
func_80311480(SNACKER_BB_DIALOG_1, 0x6, D_80363610, NULL, func_8028A584, NULL);
}
}//L8028A70C
else if(chBottlesBonus_getPuzzleIndex() == 7){
func_8028F94C(4, &D_80363610);
func_80311480(0xe35, 0x6, D_80363610, NULL, func_8028A558, NULL);
func_80311480(ASSET_E35_DIALOG_BOTTLES_BONUS_REMINDER, 0x6, D_80363610, NULL, func_8028A558, NULL);
D_8037DCCC = 1;
}//L8028A764
else if(jiggyscore_isCollected(0x10)){
@@ -103,7 +108,7 @@ static SnackerCtlState _snackerctl_update_bottles_bonus(void){
){
if(!D_8037DCCA){
func_8028F94C(4, &D_80363610);
func_80311480(0xe21, 6, D_80363610, 0, func_8028A584, NULL);
func_80311480(ASSET_E21_DIALOG_BOTTLES_BONUS_DISCOVERED, 6, D_80363610, 0, func_8028A584, NULL);
D_8037DCCA = 1;
}else{
func_8028A584(0,0,0);
@@ -113,7 +118,7 @@ static SnackerCtlState _snackerctl_update_bottles_bonus(void){
else{
if(!D_8037DCCB){
func_8028F94C(4, &D_80363610);
func_80311480(0xe20, 6, D_80363610, 0, func_8028A558, NULL);
func_80311480(ASSET_E20_DIALOG_BOTTLES_BONUS_NOT_READY, 6, D_80363610, 0, func_8028A558, NULL);
D_8037DCCB = 1;
}
}