Merge branch 'splat_0.11_update' into 'master'

fight 100%

See merge request banjo.decomp/banjo-kazooie!41
This commit is contained in:
Banjo Kazooie
2022-09-25 01:47:08 +00:00
38 changed files with 357 additions and 6569 deletions

View File

@@ -144,6 +144,7 @@ OVERLAY_RZIPS := $(addprefix $(BIN_ROOT)/,$(addsuffix .$(VERSION).rzip.bin,$
OVERLAY_RZIP_OUTS := $(addprefix $(BUILD_DIR)/,$(addsuffix .rzip.bin,$(OVERLAYS)))
OVERLAY_RZIP_OBJS := $(addprefix $(BUILD_DIR)/$(BIN_ROOT)/,$(addsuffix .$(VERSION).rzip.bin.o,$(OVERLAYS)))
CRC_OBJS := $(BUILD_DIR)/$(BIN_ROOT)/crc.bin.o
DUMMY_CRC_OBJ := $(BUILD_DIR)/$(BIN_ROOT)/dummy_crc.bin.o
ASSET_OBJS := $(BUILD_DIR)/$(BIN_ROOT)/assets.bin.o
BIN_OBJS := $(filter-out $(OVERLAY_RZIP_OBJS) $(CRC_OBJS) $(ASSET_OBJS),$(BIN_OBJS))
ALL_OBJS := $(C_OBJS) $(ASM_OBJS) $(BIN_OBJS) $(OVERLAY_RZIP_OBJS) $(CRC_OBJS)
@@ -269,7 +270,7 @@ $(OVERLAY_PROG_SVGS) : progress/progress_%.svg: progress/progress.%.csv
$(OVERLAY_PROG_CSVS) : progress/progress.%.csv: $(BUILD_DIR)/%.elf
$(call print1,Calculating progress for:,$*)
@$(PROGRESS) . $(BUILD_DIR)/$*.elf .$*_code --version $(VERSION) --subcode $* > $@
@$(PROGRESS) . $(BUILD_DIR)/$*.elf .$* --version $(VERSION) --subcode $* > $@
$(MAIN_PROG_SVG): $(MAIN_PROG_CSV)
$(call print1,Creating progress svg for:,boot)
@@ -351,6 +352,16 @@ $(CRC_OBJS) : $(BUILD_DIR)/crc.bin
$(call print2,Objcopying:,$<,$@)
@$(OBJCOPY) $(BINOFLAGS) $< $@
# Creates a dummy crc file of 32 bytes to use in the initial link
$(BUILD_DIR)/dummy_crc.bin:
$(call print1,Creating dummy crc file:$@)
truncate -s 32 $@
# .bin -> .o (dummy crc)
$(DUMMY_CRC_OBJ) : $(BUILD_DIR)/dummy_crc.bin
$(call print2,Objcopying:,$<,$@)
@$(OBJCOPY) $(BINOFLAGS) $< $@
# .c -> .o
$(BUILD_DIR)/%.c.o : %.c | $(C_BUILD_DIRS)
$(call print2,Compiling:,$<,$@)
@@ -412,10 +423,17 @@ ifneq ($(CORE2_CODE_CRC_C_OBJS),)
$(call print1,Linking elf:,$@)
@$(LD) -T $(CORE2_TEMP_LD) -Map $(BUILD_DIR)/core2.map $(LDFLAGS_COMMON) -T undefined_syms_auto.core2.$(VERSION).txt -T undefined_funcs_auto.core2.$(VERSION).txt -o $@
$(BUILD_DIR)/core2.temp.full : $(BUILD_DIR)/core2.temp.elf
@$(OBJCOPY) -I elf32-tradbigmips -O binary $< $@
# core2.temp.elf -> core2.temp.code
$(BUILD_DIR)/core2.temp.code : $(BUILD_DIR)/core2.temp.elf
$(BUILD_DIR)/core2.temp.code : $(BUILD_DIR)/core2.temp.full $(BUILD_DIR)/core2.temp.elf
$(call print2,Converting initial core2 code:,$<,$@)
@$(OBJCOPY) -O binary --only-section .core2_code $< $@
@head -c $(shell {\
text_offset=0x$$(nm $(BUILD_DIR)/core2.temp.elf | grep core2_TEXT_START | head -c 8) ;\
data_offset=0x$$(nm $(BUILD_DIR)/core2.temp.elf | grep core2_DATA_START | head -c 8) ;\
echo $$(($$data_offset - $$text_offset)) ;\
}) $< > $@
# core2 code -> core2 code crc
$(BUILD_DIR)/core2.code.crc : $(BUILD_DIR)/core2.temp.code $(BK_CRC)
@@ -442,14 +460,24 @@ $(CORE2_DATA_CRC_C_OBJS) : $(BUILD_DIR)/%.o : % $(BUILD_DIR)/core2.data.crc | $(
--assembler "$(AS) $(ASFLAGS)" --asm-prelude include/prelude.s
# .elf -> .code
$(OVERLAY_CODE_BINS) : $(BUILD_DIR)/%.code : $(BUILD_DIR)/%.elf
$(OVERLAY_CODE_BINS) : $(BUILD_DIR)/%.code : $(BUILD_DIR)/%.full $(BUILD_DIR)/%.elf
$(call print2,Converting overlay code:,$<,$@)
@$(OBJCOPY) -I elf32-tradbigmips -O binary --only-section .$*_code --only-section .$*_mips3 $< $@
@head -c $(shell {\
text_offset=0x$$(nm $(BUILD_DIR)/$*.elf | grep $*_TEXT_START | head -c 8) ;\
data_offset=0x$$(nm $(BUILD_DIR)/$*.elf | grep $*_DATA_START | head -c 8) ;\
echo $$(($$data_offset - $$text_offset)) ;\
}) $< > $@
# @$(OBJCOPY) -I elf32-tradbigmips -O binary --only-section .$*_code --only-section .$*_mips3 $< $@
# .elf -> .data
$(OVERLAY_DATA_BINS) : $(BUILD_DIR)/%.data : $(BUILD_DIR)/%.elf
$(OVERLAY_DATA_BINS) : $(BUILD_DIR)/%.data : $(BUILD_DIR)/%.full $(BUILD_DIR)/%.elf
$(call print2,Converting overlay data:,$<,$@)
@$(OBJCOPY) -I elf32-tradbigmips -O binary --only-section .$*_data --only-section .*_data_* $< $@
@tail -c +$(shell {\
text_offset=0x$$(nm $(BUILD_DIR)/$*.elf | grep $*_TEXT_START | head -c 8) ;\
data_offset=0x$$(nm $(BUILD_DIR)/$*.elf | grep $*_DATA_START | head -c 8) ;\
echo $$(($$data_offset - $$text_offset + 1)) ;\
}) $< > $@
# @$(OBJCOPY) -I elf32-tradbigmips -O binary --only-section .$*_data --only-section .*_data_* $< $@
# .elf -> .full
$(BUILD_DIR)/%.full : $(BUILD_DIR)/%.elf
@@ -487,10 +515,10 @@ $(ELF): $(MAIN_ALL_OBJS) $(LD_SCRIPT) $(OVERLAY_RZIP_OBJS) $(addprefix $(BUILD_D
@$(LD) $(LDFLAGS) -T undefined_syms_auto.$(VERSION).txt -o $@
$(BK_BOOT_LD_SCRIPT): $(LD_SCRIPT)
sed '\|$(CRC_OBJS)|d' $< > $@
sed 's|$(CRC_OBJS)|$(DUMMY_CRC_OBJ)|' $< > $@
# .o -> .elf (game)
$(BUILD_DIR)/bk_boot.elf: $(filter-out $(CRC_OBJS),$(MAIN_ALL_OBJS)) $(BK_BOOT_LD_SCRIPT) $(OVERLAY_RZIP_OBJS) $(addprefix $(BUILD_DIR)/, $(addsuffix .full, $(OVERLAYS)))
$(BUILD_DIR)/bk_boot.elf: $(DUMMY_CRC_OBJ) $(filter-out $(CRC_OBJS),$(MAIN_ALL_OBJS)) $(BK_BOOT_LD_SCRIPT) $(OVERLAY_RZIP_OBJS) $(addprefix $(BUILD_DIR)/, $(addsuffix .full, $(OVERLAYS)))
$(call print1,Linking elf:,$@)
@$(LD) -T $(BK_BOOT_LD_SCRIPT) -Map $(ELF:.elf=.map) --no-check-sections --accept-unknown-input-arch -T undefined_syms.libultra.txt -T undefined_syms_auto.$(VERSION).txt -o $@

View File

@@ -1,4 +1,4 @@
# banjo (87.7867%)
# banjo (87.4645%)
<img src="./progress/progress_total.svg">

View File

@@ -115,6 +115,7 @@ segments:
- name: crc
type: bin
start: 0x5E70
align: 16
subsegments:
- [0x5E70, bin, crc]
- name: assets

File diff suppressed because it is too large Load Diff

View File

@@ -9,7 +9,7 @@
</mask>
<g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h44v20H0z"/>
<path fill="#78e000" d="M44 0h67v20H44z"/>
<path fill="#91e000" d="M44 0h67v20H44z"/>
<path fill="url(#b)" d="M0 0h111v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
@@ -17,7 +17,7 @@
<text x="22.0" y="14">core1</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">73.1238%</text>
<text x="77.5" y="14">73.1238%</text>
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">67.6862%</text>
<text x="77.5" y="14">67.6862%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="105" height="20">
<svg xmlns="http://www.w3.org/2000/svg" width="112" height="20">
<linearGradient id="b" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<mask id="anybadge_1">
<rect width="105" height="20" rx="3" fill="#fff"/>
<rect width="112" height="20" rx="3" fill="#fff"/>
</mask>
<g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h38v20H0z"/>
<path fill="#49e000" d="M38 0h67v20H38z"/>
<path fill="url(#b)" d="M0 0h105v20H0z"/>
<path fill="#00e000" d="M38 0h74v20H38z"/>
<path fill="url(#b)" d="M0 0h112v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="20.0" y="15" fill="#010101" fill-opacity=".3">fight</text>
<text x="19.0" y="14">fight</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="72.5" y="15" fill="#010101" fill-opacity=".3">83.6508%</text>
<text x="71.5" y="14">83.6508%</text>
<text x="76.0" y="15" fill="#010101" fill-opacity=".3">100.0000%</text>
<text x="75.0" y="14">100.0000%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -9,7 +9,7 @@
</mask>
<g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h150v20H0z"/>
<path fill="#37e000" d="M150 0h67v20H150z"/>
<path fill="#38e000" d="M150 0h67v20H150z"/>
<path fill="url(#b)" d="M0 0h217v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
@@ -17,7 +17,7 @@
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">87.7867%</text>
<text x="183.5" y="14">87.7867%</text>
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">87.4645%</text>
<text x="183.5" y="14">87.4645%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -61,7 +61,7 @@ void chyumblie_set_state(Actor* this, enum chyumblie_state_e next_state){
if(next_state == 2){
this->yaw = randf2(0.0f, 360.0f);
s0->unk4 = func_8038B160(this);
func_8038AC54(s0->game_marker, this->marker, this->position, s0->unk4);
chvilegame_new_piece(s0->game_marker, this->marker, this->position, s0->unk4);
func_80335924(this->unk148, (s0->unk4)? ASSET_128_ANIM_GRUMBLIE_APPEAR : ASSET_125_ANIM_YUMBLIE_APPEAR, 0.0f, 1.5f);
func_80335A8C(this->unk148, 2);
}

View File

@@ -217,9 +217,9 @@ bool func_8038C718(Actor *this, f32 arg1){
f32 tmp;
this->position[0] += this->velocity[0];
this->position_y += (this->velocity_y += D_80392DB8);
this->position_y += (this->velocity_y += -3.2);
this->position_z += this->velocity_z;
tmp = D_80392DC0 < animctrl_getAnimTimer(this->animctrl) + this->unk1C[0] ? D_80392DC8 : animctrl_getAnimTimer(this->animctrl) + this->unk1C[0];
tmp = 0.9999 < animctrl_getAnimTimer(this->animctrl) + this->unk1C[0] ? 0.999999 : animctrl_getAnimTimer(this->animctrl) + this->unk1C[0];
animctrl_setAnimTimer(this->animctrl, tmp);
if(arg1 == 0.0f)

90
src/core1/code_34B70.c Normal file
View File

@@ -0,0 +1,90 @@
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80272590.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_8027275C.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80272790.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_802727E8.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_8027285C.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80272898.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_802728B0.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80272B6C.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80272D00.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80272F78.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80273198.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_802731F0.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_802731F8.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80273484.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80273490.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_802734A4.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_802734B8.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_802734C0.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_802734C8.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80273504.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274148.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274170.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_802741C8.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_802745B0.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_802745BC.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274618.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274A80.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274A8C.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274AA0.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274AB4.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274ABC.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274AC4.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274B34.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274D98.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274DFC.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274E24.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274E6C.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274E7C.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80274EB8.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_802754A8.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_8027552C.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_80275578.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_34B70/func_802755A0.s")

View File

@@ -20,8 +20,8 @@ void func_80247224(void);
#define CORE1_8C50_EVENT_CONT_TIMER 13
/* .extern */
extern u64 D_80272590[]; // ucode
extern u64 D_802731F0[];
extern void (*func_80272590)(void);
extern void (*func_802731F0)(void);
extern u64 D_80274620[];
extern u64 D_80278E80[]; //ucode_data
@@ -120,7 +120,7 @@ void func_80246744(OSMesg arg0){
void func_80246794(Struct_Core1_8C50_s * arg0){
func_80255D0C(&D_80275910.t.ucode_boot, &D_80275910.t.ucode_boot_size);
D_80275910.t.ucode = D_80272590;
D_80275910.t.ucode = &func_80272590;
D_80275910.t.ucode_data = D_80278E80;
D_80275910.t.data_ptr = (void*) arg0->unk8;
D_80275910.t.data_size = (arg0->unkC - arg0->unk8) >> 3 << 3;
@@ -134,7 +134,7 @@ void func_80246794(Struct_Core1_8C50_s * arg0){
void func_80246844(Struct_Core1_8C50_s * arg0){
func_80255D0C(&D_80275950.t.ucode_boot, &D_80275950.t.ucode_boot_size);
D_80275950.t.ucode = D_802731F0;
D_80275950.t.ucode = &func_802731F0;
D_80275950.t.ucode_data = D_80279130;
D_80275950.t.data_ptr = (void*) arg0->unk8;
D_80275950.t.data_size = (arg0->unkC - arg0->unk8) >> 3 << 3;

View File

@@ -5,9 +5,9 @@
#pragma GLOBAL_ASM("asm/nonmatchings/core1/exceptasm/func_8026A2E0.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/exceptasm/func_8026A2F0.s")
// #pragma GLOBAL_ASM("asm/nonmatchings/core1/exceptasm/func_8026A2F0.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/exceptasm/func_8026A300.s")
// #pragma GLOBAL_ASM("asm/nonmatchings/core1/exceptasm/func_8026A300.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/exceptasm/func_8026A824.s")

View File

@@ -12,7 +12,9 @@ typedef struct
/* 0xC */ unsigned int inst4;
} __osExceptionVector;
// extern __osExceptionVector __osExceptionPreamble;
extern __osExceptionVector D_8026A2E0;
// extern __osExceptionVector D_8026A2E0;
extern void (*func_8026A2E0)(void);
OSTime osClockRate = OS_CLOCK_RATE;
s32 osViClock = VI_NTSC_CLOCK;
@@ -36,10 +38,10 @@ void __osInitialize_common()
{
; //todo: magic contant
}
*(__osExceptionVector *)UT_VEC = D_8026A2E0; //__osExceptionPreamble;
*(__osExceptionVector *)XUT_VEC = D_8026A2E0; //__osExceptionPreamble;
*(__osExceptionVector *)ECC_VEC = D_8026A2E0; //__osExceptionPreamble;
*(__osExceptionVector *)E_VEC = D_8026A2E0; //__osExceptionPreamble;
*(__osExceptionVector *)UT_VEC = *(__osExceptionVector *)&func_8026A2E0; //__osExceptionPreamble;
*(__osExceptionVector *)XUT_VEC = *(__osExceptionVector *)&func_8026A2E0; //__osExceptionPreamble;
*(__osExceptionVector *)ECC_VEC = *(__osExceptionVector *)&func_8026A2E0; //__osExceptionPreamble;
*(__osExceptionVector *)E_VEC = *(__osExceptionVector *)&func_8026A2E0; //__osExceptionPreamble;
osWritebackDCache((void *)UT_VEC, E_VEC - UT_VEC + sizeof(__osExceptionVector));
osInvalICache((void *)UT_VEC, E_VEC - UT_VEC + sizeof(__osExceptionVector));
osMapTLBRdb();

View File

@@ -185,7 +185,7 @@ void func_802C4768(s32 gamenum){
break;
}//L802C4858
strcat(D_8037DD48, ": TIME ");
strcat(D_8037DD48, func_80311C64(itemscore_timeScores_getTotal()));
strcat(D_8037DD48, gcpausemenu_TimeToA(itemscore_timeScores_getTotal()));
strcat(D_8037DD48, ",");
strcat(D_8037DD48, "");

View File

@@ -5,8 +5,7 @@
extern void func_802BE720(void);
extern f32 func_8033A244(f32);
extern void func_8033A280(f32);
extern u8 D_80329904[];
extern void func_80329904(ActorMarker *, s32, f32 *);
typedef struct chjiggy_s{
u32 unk0;
@@ -129,7 +128,7 @@ void func_802C7DC0(Actor *this){
if(this->marker->unk14_21){
for(i = 0; i < 4; i++){
if(randf() < 0.015){
func_8033E73C(this->marker, i + 5, &D_80329904);
func_8033E73C(this->marker, i + 5, func_80329904);
func_8033E3F0(8, 1);
}
}

View File

@@ -81,7 +81,7 @@ struct41FB0s D_80366460[] = {
{0x0009, ACTOR_47_EMPTY_HONEYCOMB, 1, SFX_3E9_UNKNOWN, 1, 16000, 0.0f, 0.0f, 200.0f, 0.0f, 300.0f, 0.0f, 0.6f, 0.0f},
/*YUM YUM EGG*/ {0x0001, ACTOR_52_BLUE_EGG, 1, SFX_21_EGG_BOUNCE_1, 1, 16000, 0.0f, 350.0f, 500.0f, 500.0f, 0.0f, 350.0f, 0.6f, 0.0f},
/*YUM YUM FEATHER*/ {0x0001, ACTOR_129_RED_FEATHER, 1, SFX_21_EGG_BOUNCE_1, 1, 16000, 0.0f, 350.0f, 500.0f, 500.0f, 0.0f, 350.0f, 0.6f, 0.0f},
{0x0005, ACTOR_46_JIGGY, 1, 0, 0, 0, 0.0f, 0.0f, 100.0f, 0.0f, 0.0f, 0.0f, 0.75f, 0.0f},
/*0x10*/{0x0005, ACTOR_46_JIGGY, 1, 0, 0, 0, 0.0f, 0.0f, 100.0f, 0.0f, 0.0f, 0.0f, 0.75f, 0.0f},
{0x0005, 0x06A, 1, 0, 0, 0, 0.0f, 0.0f, 200.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f},
{0x0009, ACTOR_46_JIGGY, 1, SFX_3E9_UNKNOWN, 1, 16000, 0.0f, 0.0f, 650.0f, 0.0f, 950.0f, 0.0f, 0.6f, 0.0f},
{0x0001, ACTOR_51_MUSIC_NOTE, 1, SFX_21_EGG_BOUNCE_1, 1, 16000, 125.0f, 25.0f, 725.0f, 125.0f, 125.0f, 25.0f, 0.6f, 0.0f},

View File

@@ -48,7 +48,6 @@ typedef struct {
}Actorlocal_Core2_9E370;
/* .data */
extern s32 D_803255FC;
extern ActorArray *D_8036E560; //actorArrayPtr
extern s32 D_8036E564;
extern s32 D_8036E568;
@@ -972,7 +971,7 @@ Actor *actor_new(s32 (* position)[3], s32 yaw, ActorInfo* actorInfo, u32 flags){
}
if(flags & 0x100){
D_80383390->unk130 = &D_803255FC;
D_80383390->unk130 = func_803255FC;
}
if(flags & 0x200){

View File

@@ -20,6 +20,9 @@ extern ActorInfo D_80391DC0;
extern ActorInfo D_80392018;
extern ActorInfo D_80392090;
/* .bss */
u8 pad_80392750[0x10];
void func_803863F0(void)
{
spawnableActorList_add(&D_80391B00, actor_new, 0X108444);

View File

@@ -199,53 +199,90 @@ f32 D_803917EC[3] = {-827.0f, 793.0f, 1700.0f};
f32 D_803917F8[3] = {827.0f, 793.0f, -1700.0f};
f32 D_80391804[3] = {0.0f, 0.0f, 1350.0f};
/* .rodata */
// jtbl_80392280
// jtbl_80392310
// jtbl_80392388
// jtbl_803923F4
// jtbl_8039242C
// jtbl_803924B8
extern f32 D_80392440;
extern f32 D_80392444;
extern f32 D_80392448;
extern f32 D_8039244C;
extern f32 D_80392450;
// jtbl_80392454
extern f64 D_80392470;
extern f32 D_80392478;
/* .bss */
// u8 pad_80392740[0x10];
// f32 D_80392750;
extern f32 D_80392758[3];
extern f32 D_80392768[3];
extern f32 D_80392778[3];
extern f32 D_80392788[3];
extern f32 D_80392798[3];
extern ActorMarker *D_803927A4;
extern ActorMarker *D_803927A8;
extern ActorMarker *D_803927B0[4];
extern u8 D_803927C4;
extern u8 D_803927C5;
extern u8 D_803927C6;
extern u8 D_803927C7;
extern u8 D_803927C8;
extern u8 D_803927C9;
extern f32 D_803927D0[3][3];
extern f32 D_803928B8[3];
extern f32 D_803927C0;
extern s32 D_803928C4;
extern f32 D_803928C8[3];
f32 D_80392758[3];
f32 D_80392768[3];
f32 D_80392778[3];
f32 D_80392788[3];
f32 D_80392798[3];
ActorMarker *D_803927A4;
ActorMarker *D_803927A8;
ActorMarker *D_803927B0[4];
f32 D_803927C0;
u8 D_803927C4;
u8 D_803927C5;
u8 D_803927C6;
u8 D_803927C7;
u8 D_803927C8;
u8 D_803927C9;
f32 D_803927D0[4][3]; //actually f32 [0x13][3], but exploded to match .bss wrapping
//Exploded for .bss matching
u8 D_80392800;
u8 D_80392801;
u8 D_80392802;
u8 D_80392803;
u8 D_80392804;
u8 D_80392805;
u8 D_80392806;
u8 D_80392807;
u8 D_80392808;
u8 D_80392809;
u8 D_8039280A;
u8 D_8039280B;
u8 D_8039280C;
u8 D_8039280D;
u8 D_8039280E;
u8 D_8039280F;
u8 D_80392810;
u8 D_80392811;
u8 D_80392812;
u8 D_80392813;
u8 D_80392814;
u8 D_80392815;
u8 D_80392816;
u8 D_80392817;
u8 D_80392818;
u8 D_80392819;
u8 D_8039281A;
u8 D_8039281B;
u8 D_8039281C;
u8 D_8039281D;
u8 D_8039281E;
u8 D_8039281F;
u8 D_80392820;
u8 D_80392821;
u8 D_80392822;
u8 D_80392823;
u8 D_80392824;
u8 D_80392825;
u8 D_80392826;
u8 D_80392827;
u8 D_80392828;
u8 D_80392829;
u8 D_8039282A;
u8 D_8039282B;
u8 D_8039282C;
u8 D_8039282D;
u8 D_8039282E;
u8 D_8039282F;
u8 D_80392830;
u8 D_80392831;
u8 D_80392832;
u8 D_80392833;
u8 D_80392834;
u8 D_80392835;
u8 D_80392836;
u8 D_80392837;
u8 D_80392838;
u8 D_80392839;
u8 D_8039283A;
u8 D_8039283B;
/* .code */
Actor *func_80386570(ActorMarker *arg0, Gfx **arg1, Mtx **arg2, Vtx **arg3) {
Actor *temp_v0;
ActorLocal_fight_180 *localActor;
@@ -1291,10 +1328,11 @@ void func_8038938C(ActorMarker *marker) {
}
void func_80389720(s32 arg0) {
static u8 pad[0x10];
//wrap to D_80392750;
static f32 D_80392750;
s32 pad24;
s32 pad20;
s32 pad24_A;
s32 pad20_A;
Actor *sp1C;
ActorLocal_fight_180 *local;
// f32 tmp_a2;
@@ -1320,8 +1358,12 @@ void func_80389720(s32 arg0) {
break;
case 5:
//closest non-static match
// D_80392750 = tmp_a2 = ((local->unk7) ? 0.0f : 180.0f);
// sp1C = func_8032813C(0x3A9, D_80391798, (s32)tmp_a2);
// {f32 tmp_a2;\
// static f32 D_80391798[3];
// D_80392750 = tmp_a2 = ((local->unk7) ? 0.0f : 180.0f);
// sp1C = func_8032813C(0x3A9, D_80391798, (s32)tmp_a2);
// if(D_80392750);
// }
D_80392750 = ((local->unk7) ? 0.0f : 180.0f);
sp1C = func_8032813C(0x3A9, D_80391798, (s32)D_80392750);
break;
@@ -1395,6 +1437,59 @@ void func_80389B44(ActorMarker *marker) {
func_802C3C88((GenMethod_1)func_80386DE4, reinterpret_cast(s32, marker));
}
//exploded for .bss matching
u8 D_8039283C;
u8 D_8039283D;
u8 D_8039283E;
u8 D_8039283F;
u8 D_80392840;
u8 D_80392841;
u8 D_80392842;
u8 D_80392843;
u8 D_80392844;
u8 D_80392845;
u8 D_80392846;
u8 D_80392847;
u8 D_80392848;
u8 D_80392849;
u8 D_8039284A;
u8 D_8039284B;
u8 D_8039284C;
u8 D_8039284D;
u8 D_8039284E;
u8 D_8039284F;
u8 D_80392850;
u8 D_80392851;
u8 D_80392852;
u8 D_80392853;
u8 D_80392854;
u8 D_80392855;
u8 D_80392856;
u8 D_80392857;
u8 D_80392858;
u8 D_80392859;
u8 D_8039285A;
u8 D_8039285B;
u8 D_8039285C;
u8 D_8039285D;
u8 D_8039285E;
u8 D_8039285F;
u8 D_80392860;
u8 D_80392861;
u8 D_80392862;
u8 D_80392863;
u8 D_80392864;
u8 D_80392865;
u8 D_80392866;
u8 D_80392867;
u8 D_80392868;
u8 D_80392869;
u8 D_8039286A;
u8 D_8039286B;
u8 D_8039286C[0x4C];
f32 D_803928B8[2];
void func_80389B70(ActorMarker *marker) {
Actor *this;
ActorLocal_fight_180 *local;
@@ -1406,6 +1501,8 @@ void func_80389B70(ActorMarker *marker) {
f64 temp_f0_2;
u32 temp_t0;
u8 temp_v0_2;
this = marker_getActor(marker);
local = (ActorLocal_fight_180 *)&this->local;
@@ -1498,16 +1595,14 @@ void func_80389F54(void) {
D_803927C4 = (u8)0;
}
#ifndef NONMATCHING //matches if .bss defined
#pragma GLOBAL_ASM("asm/nonmatchings/fight/code_180/func_80389F7C.s")
#else
void func_80389F7C(Actor *this, s32 arg1) {
ActorLocal_fight_180 *local;
f32 sp48;
f32 sp3C[3];
s32 i;
static s32 D_803928C4;
// static u8 pad[0x180];
local = (ActorLocal_fight_180 *)&this->local;
@@ -1604,7 +1699,8 @@ void func_80389F7C(Actor *this, s32 arg1) {
break;
}
}
#endif
f32 D_803928C8[3];
ActorMarker *func_8038A4E8(Actor *this, f32 arg1) {
Actor *actor;
@@ -1627,10 +1723,6 @@ ActorMarker *func_8038A4E8(Actor *this, f32 arg1) {
return NULL;
}
#ifndef NONMATCHING //matches if .rodata defined
void func_8038A5F4(ActorMarker *marker);
#pragma GLOBAL_ASM("asm/nonmatchings/fight/code_180/func_8038A5F4.s")
#else
void func_8038A5F4(ActorMarker *marker) {
Actor *this;
ActorLocal_fight_180 *local;
@@ -1706,6 +1798,7 @@ void func_8038A5F4(ActorMarker *marker) {
func_80386BEC(this, 3.0f);
if (this->unk60 > 0.0) {
this->unk60 -= sp74;
break;
}
if (func_80386BEC(this, 3.0f)) {
func_80389F7C(this, 0x1E);
@@ -1768,7 +1861,6 @@ void func_8038A5F4(ActorMarker *marker) {
break;
}
}
#endif
void func_80328B8C(Actor *, s32, f32, s32);
@@ -1776,10 +1868,6 @@ void func_8038AC50(ActorMarker *arg0) {
func_80328B8C(marker_getActor(arg0), 0x24, 0.0001f, 1);
}
#ifndef NONMATCHING //matches but requires .rodata
void func_8038AC88(Actor *this, s32 arg1);
#pragma GLOBAL_ASM("asm/nonmatchings/fight/code_180/func_8038AC88.s")
#else
void func_8038AC88(Actor *this, s32 arg1) {
ActorLocal_fight_180 *local;
s32 sp28;
@@ -1855,7 +1943,6 @@ void func_8038AC88(Actor *this, s32 arg1) {
break;
}
}
#endif
void func_8038AF84(ActorMarker *arg0) {
func_8038AC88(marker_getActor(arg0), 0x29);
@@ -1865,10 +1952,6 @@ void func_8038AFB0(void) {
func_802E4078(MAP_87_CS_SPIRAL_MOUNTAIN_5, 0, 1);
}
#ifndef NONMATCHING //matches but requires .rodata
void func_8038AFD8(ActorMarker *marker);
#pragma GLOBAL_ASM("asm/nonmatchings/fight/code_180/func_8038AFD8.s")
#else
void func_8038AFD8(ActorMarker *marker) {
Actor *this;
ActorLocal_fight_180 *local;
@@ -1879,6 +1962,7 @@ void func_8038AFD8(ActorMarker *marker) {
s32 sp2C;
s32 tmp_v0;
this = marker_getActor(marker);
local = (ActorLocal_fight_180 *)&this->local;
sp3C = time_getDelta();
@@ -1917,7 +2001,7 @@ void func_8038AFD8(ActorMarker *marker) {
D_803928C8[0] = 0.0f;
D_803928C8[1] = func_80257204(D_803917E0[0], D_803917E0[2], this->position[0], this->position[2]);
D_803928C8[2] = 0.0f;
func_8028FAEC(&D_803928C8);
func_8028FAEC(D_803928C8);
}
if (D_803927C6 == 3) {
func_80311480(randi2(0, 5) + 0x1159, 0x20, NULL, NULL, NULL, NULL);
@@ -2031,7 +2115,7 @@ void func_8038AFD8(ActorMarker *marker) {
}
if (actor_animationIsAt(this, 0.7f)) {
// func_8030E624(0x93186964U);
FUNC_8030E624(SFX_164_EH, 1.5f, 25000);
FUNC_8030E624(SFX_164_EH, 1.15f, 25000);
}
if (actor_animationIsAt(this, 0.81f)) {
FUNC_8030E624(SFX_130_GRUNTY_ECHOING_CRY, 1.0f, 32000);
@@ -2055,7 +2139,6 @@ void func_8038AFD8(ActorMarker *marker) {
break;
}
}
#endif
void func_8038B730(ActorMarker *marker, enum asset_e text_id, s32 arg2) {
Actor *sp1C;
@@ -2083,10 +2166,6 @@ void func_8038B780(ActorMarker *marker) {
void func_8038B82C(ActorMarker *marker) { return; }
#ifndef NONMATCHING //matches but requires .rodata
void func_8038B834(ActorMarker *, ActorMarker *);
#pragma GLOBAL_ASM("asm/nonmatchings/fight/code_180/func_8038B834.s")
#else
bool func_8038B834(ActorMarker *marker, ActorMarker * arg1) {
Actor *this;
ActorLocal_fight_180 *local;
@@ -2123,7 +2202,6 @@ bool func_8038B834(ActorMarker *marker, ActorMarker * arg1) {
}
return TRUE;
}
#endif
void func_8038B9AC(ActorMarker *marker, ActorMarker *other_marker) {
Actor *this;
@@ -2183,7 +2261,7 @@ void func_8038BB8C(ActorMarker *marker, ActorMarker *other_marker) {
this = marker_getActor(marker);
local = (ActorLocal_fight_180 *)&this->local;
if (local->unk0 == 1) {
func_8030E878(SFX_EA_GRUNTY_LAUGH_1, randf2(D_80392440, D_80392444), 32000, this->position, D_80392448, D_8039244C);
func_8030E878(SFX_EA_GRUNTY_LAUGH_1, randf2(0.95f, 1.05f), 32000, this->position, 5000.0f, 12000.0f);
if (local->unk10 == 0) {
if (func_80311480(randi2(0, 5) + 0x10ED, 0, NULL, NULL, NULL, NULL)) {
local->unk10++;
@@ -2206,11 +2284,8 @@ void func_8038BCB8(ActorMarker *marker) {
D_803927A4 = spawn_child_actor(0x3AF, &sp1C)->marker;
}
#ifndef NONMATHCING
#pragma GLOBAL_ASM("asm/nonmatchings/fight/code_180/func_8038BCF0.s")
#else
void func_8038BCF0(Actor *this){
ActorLocal_fight_180 *local;
ActorLocal_fight_180 *local = (ActorLocal_fight_180 *) &this->local;
s32 i;
s32 tmp_s0;
Actor *other;
@@ -2218,7 +2293,6 @@ void func_8038BCF0(Actor *this){
f32 sp40[3];
f32 sp34[3];
local = (ActorLocal_fight_180 *) &this->local;
if(!this->unk16C_4){
this->unk16C_4 = TRUE;
func_803300C0(this->marker, func_8038B834);
@@ -2241,13 +2315,11 @@ void func_8038BCF0(Actor *this){
local->unk9 = 0;
local->unkB = 0;
for(i = 0; i < 4; i++){ D_803927B0[i] = NULL;}
// D_803927B0[1] = NULL;
// D_803927B0[0] = NULL;
// D_803927B0[2] = NULL;
// D_803927B0[3] = NULL;
for(i = 0; i < 4; i++){
D_803927B0[i] = NULL;
}
func_802C3C88(func_8038BCB8, this->marker);
func_802C3C88((GenMethod_1) func_8038BCB8, (s32) this->marker);
func_80387728(this->marker, 0);
local->unk1 = 0;
func_80386600(this->marker, 0);
@@ -2261,7 +2333,7 @@ void func_8038BCF0(Actor *this){
func_8034C9B0(0);
func_80386698(2.0f);
tmp_s0 = func_802F9AA8(SFX_9A_MECHANICAL_CLOSING);
func_802F9DB8(tmp_s0, D_80392450, D_80392450, 0.0f);
func_802F9DB8(tmp_s0, 0.6f, 0.6f, 0.0f);
func_802F9FD0(tmp_s0, 0.0f, 2.0f, 0.0f);
func_802FA060(tmp_s0, 25000, 25000, 0);
timed_playSfx(2.0f, SFX_7F_HEAVYDOOR_SLAM, 1.0f, 32000);
@@ -2320,7 +2392,6 @@ void func_8038BCF0(Actor *this){
}
}//L8038C0C8
}
#endif
void func_8038C0DC(f32 (*arg0)[3]) {
(*arg0)[0] = D_80392798[0];
@@ -2345,11 +2416,6 @@ f32 func_8038DFA0();
void func_80324E88(f32);
f32 func_80391240();
// Very minor stack diff
#ifndef NONMATCHING
#pragma GLOBAL_ASM("asm/nonmatchings/fight/code_180/func_8038C148.s")
#else
void func_8038C148(void) {
Actor *sp4C;
ActorLocal_fight_180 *sp48;
@@ -2358,7 +2424,6 @@ void func_8038C148(void) {
f32 temp_f12;
s32 phi_s0;
f32 sp34;
f32 temp_f12_2;
sp4C = func_80326EEC(0x38B);
sp48 = (ActorLocal_fight_180 *)&sp4C->local;
@@ -2375,17 +2440,16 @@ void func_8038C148(void) {
func_80324E38(0, 1);
timed_setCameraToNode(0, phi_s0);
func_80324E88(temp_f20);
timedFunc_set_0(temp_f20 * D_80392470, &func_8038C138);
timedFunc_set_0(temp_f20 * 0.08, &func_8038C138);
timed_setCameraToNode(temp_f20, phi_s0 + 1);
temp_f12 = temp_f20 + sp40;
func_80324E88(temp_f12);
timedFunc_set_1(temp_f12, func_8038C10C, (s32)sp4C->marker);
timed_setCameraToNode(temp_f12, phi_s0 + 2);
temp_f12_2 = temp_f12 + D_80392478;
func_80324E88(temp_f12_2);
timed_setCameraToNode(temp_f12_2, phi_s0 + 3);
func_80324E88(temp_f20 + sp40);
timedFunc_set_1(temp_f20 + sp40, func_8038C10C, (s32)sp4C->marker);
timed_setCameraToNode(temp_f20 + sp40, phi_s0 + 2);
func_80324E88(temp_f20 + sp40 + 2.88f);
timed_setCameraToNode(temp_f20 + sp40 + 2.88f, phi_s0 + 3);
}
#endif
void func_8038C27C(s32 arg0) {
D_803927C4 = arg0;

View File

@@ -76,7 +76,7 @@ f32 D_80391DA4[4] = {0.0f, 0.01f, 0.7f, 0.8f};
f32 D_80391DB4[2] = {0.0f, 0.65f};
/* .bss */
u8 pad[0x180]; //TODO!!!! define other file .bss sections
// u8 pad[0x180]; //TODO!!!! define other file .bss sections
u8 D_803928E0;
u8 D_803928E1;
u8 D_803928E2;

View File

@@ -22,7 +22,7 @@ options:
asset_path: bin
build_path: build/us.v10
segments:
- name: BGS-code
- name: BGS
dir: BGS
type: code
start: 0x00000000
@@ -46,13 +46,6 @@ segments:
- [0x9750, c, code_9750] #DONE
- [0x98C0, c, done/ch/bigalligator] #DONE
- [0x9920, c, ch/leafboat] #DONE
- name: BGS-data
dir: BGS
type: code
start: 0x0000A2A0
vram: 0x80390690
subsegments:
#80390a40 #80390a70
- [0x0000A2A0, .data, ch/flibbit]
- [0x0000A2D0, .data, done/ch/pinkegg]
- [0x0000A3C0, .data, ch/croctus]
@@ -84,11 +77,5 @@ segments:
- [0x0000ADC0, bin, data_ADC0] # .rodata, ch/tanktup]
- [0x0000ADD0, .rodata, code_9750]
- [0x0000ADE0, .rodata, ch/leafboat]
- name: BGS-bss
dir: BGS
type: code
start: 0x0000AE40
vram: 0x80391230
subsegments:
- [0x0000AE40, .bss, done/ch/code_6730]
- [0x0000AE40, .bss, done/ch/code_6730]
- [0x0000AE40]

View File

@@ -22,7 +22,7 @@ options:
asset_path: bin
build_path: build/us.v10
segments:
- name: CC-code
- name: CC
dir: CC
type: code
start: 0x00000000
@@ -38,12 +38,6 @@ segments:
- [0x1F70, c, code_1F70] #DONE
- [0x3130, c, ch/sawblade] #Done
- [0x3400, c, code_3400] #Done
- name: CC-data
dir: CC
type: code
start: 0x000036B0
vram: 0x80389AA0
subsegments:
- [0x000036B0, .data, code_0]
- [0x000036E0, .data, code_530]
- [0x00003710, .data, code_BF0]

View File

@@ -22,7 +22,7 @@ options:
asset_path: bin
build_path: build/us.v10
segments:
- name: CCW-code
- name: CCW
dir: CCW
type: code
start: 0x00000000
@@ -56,12 +56,6 @@ segments:
- [0x7BF0, c, code_7BF0] #DONE
- [0x8050, c, code_8050] #DONE
- [0x8670, c, code_8670] #DONE
- name: CCW-data
dir: CCW
type: code
start: 0x00008760
vram: 0x8038EB50
subsegments:
- [0x00008760, bin, data_8760]
- [0x00008920, .data, code_2B00]
- [0x00008A80, bin, data_8A80]

View File

@@ -22,7 +22,7 @@ options:
asset_path: bin
build_path: build/us.v10
segments:
- name: FP-code
- name: FP
dir: FP
type: code
start: 0x00000000
@@ -55,12 +55,6 @@ segments:
- [0xA880, c, code_A880] #DONE
- [0xABD0, c, code_ABD0] #DONE
- [0xB4D0, c, code_B4D0] #DONE
- name: FP-data
dir: FP
type: code
start: 0x0000B600
vram: 0x803919F0
subsegments:
- [0x0000B600, .data, code_0]
- [0x0000B650, .data, code_4D0]
- [0x0000B6A0, .data, code_790]
@@ -89,7 +83,7 @@ segments:
- [0x0000C840, .rodata, code_2350]
- [0x0000C920, .rodata, code_3E00]
- [0x0000C940, .rodata, code_4770]
- [0x0000C990, bin, data_C990]
- [0x0000C990, .rodata, code_5CC0]
- [0x0000CA10, .rodata, code_6AE0]
- [0x0000CA50, .rodata, code_7980]
- [0x0000CA80, .rodata, code_87E0]

View File

@@ -22,7 +22,7 @@ options:
asset_path: bin
build_path: build/us.v10
segments:
- name: GV-code
- name: GV
dir: GV
type: code
start: 0x00000000
@@ -61,12 +61,6 @@ segments:
- [0x9C10, c, code_9C10] #DONE
- [0x9DB0, c, code_9DB0] #DONE
- [0xA490, c, code_A490] #DONE
- name: GV-data
dir: GV
type: code
start: 0x0000A7E0
vram: 0x80390BD0
subsegments:
- [0x0000A7E0, .data, code_0]
- [0x0000A830, .data, code_230]
- [0x0000A890, .data, code_D60]

View File

@@ -22,7 +22,7 @@ options:
asset_path: bin
build_path: build/us.v10
segments:
- name: MM-code
- name: MM
dir: MM
type: code
start: 0x00000000
@@ -39,12 +39,6 @@ segments:
- [0x25B0, c, ch/grublin]
- [0x2740, c, ch/jujuhitbox]
- [0x2BE0, c, ch/juju]
- name: MM-data
dir: MM
type: code
start: 0x000034A0
vram: 0x80389890
subsegments:
- [0x34A0, .data, ch/orangepad]
- [0x34D0, .data, ch/hut]
- [0x3530, .data, ch/chimpystump]

View File

@@ -22,7 +22,7 @@ options:
asset_path: bin
build_path: build/us.v10
segments:
- name: MMM-code
- name: MMM
dir: MMM
type: code
start: 0x00000000
@@ -40,12 +40,6 @@ segments:
- [0x3D50, c, code_3D50] #DONE
- [0x47D0, c, code_47D0] #DONE
- [0x5000, c, code_5000] #DONE
- name: MMM-data
dir: MMM
type: code
start: 0x000055F0
vram: 0x8038B9E0
subsegments:
- [0x000055F0, .data, ch/loggo]
- [0x00005630, .data, ch/napper]
- [0x00005660, .data, code_DC0]
@@ -67,11 +61,5 @@ segments:
- [0x00006070, .rodata, code_3D50]
- [0x00006090, .rodata, code_47D0]
- [0x000060C0, .rodata, code_5000]
- name: MMM-bss
dir: MMM
type: code
start: 0x000060D0
vram: 0x8038C4C0
subsegments:
- [0x60D0, .bss, code_2040]
- [0x000060D0]

View File

@@ -22,7 +22,7 @@ options:
asset_path: bin
build_path: build/us.v10
segments:
- name: RBB-code
- name: RBB
dir: RBB
type: code
start: 0x00000000
@@ -56,12 +56,6 @@ segments:
- [0x9670, c, code_9670]
- [0x9840, c, code_9840]
- [0x99F0, c, code_99F0]
- name: RBB-data
dir: RBB
type: code
start: 0x00009C60
vram: 0x80390050
subsegments:
- [0x00009C60, .data, code_0]
- [0x00009CE0, .data, code_640]
- [0x00009E10, .data, code_CA0]
@@ -107,12 +101,6 @@ segments:
- [0x0000ADB0, .rodata, code_7FD0]
- [0x0000AE00, .rodata, code_8520]
- [0x0000AE70, .rodata, code_9670]
- name: RBB-bss
dir: RBB
type: code
start: 0x0000AE80
vram: 0x80391270
subsegments:
- [0xAE80, .bss, code_5F80]
- [0xAE80, .bss, code_8520]
- [0xAE80, .bss, code_8520]

View File

@@ -22,7 +22,7 @@ options:
asset_path: bin
build_path: build/us.v10
segments:
- name: SM-code
- name: SM
dir: SM
type: code
start: 0x00000000
@@ -40,12 +40,6 @@ segments:
- [0x4070, c, code_4070]
- [0x44D0, c, code_44D0]
- [0x46C0, c, code_46C0]
- name: SM-data
dir: SM
type: code
start: 0x000046D0
vram: 0x8038AAC0
subsegments:
- [0x000046D0, .data, code_0]
- [0x000046F0, .data, code_F0]
- [0x00004700, .data, code_5B0]
@@ -61,11 +55,5 @@ segments:
- [0x00004DE0, .rodata, ch/vegetables]
- [0x00004E10, .rodata, code_2990]
- [0x00004F20, .rodata, code_44D0]
- name: SM-bss
dir: SM
type: code
start: 0x00004F30
vram: 0x8038B320
subsegments:
- [0x00004F30, .bss, code_F0]
- [0x00004F30]

View File

@@ -22,7 +22,7 @@ options:
asset_path: bin
build_path: build/us.v10
segments:
- name: TTC-code
- name: TTC
dir: TTC
type: code
start: 0x00000000
@@ -38,12 +38,6 @@ segments:
- [0x35D0, c, code_35D0] #DONE
- [0x3E30, c, code_3E30]
- [0x5BD0, c, ch/treasure] #DONE
- name: TTC-data
dir: TTC
type: code
start: 0x00005FC0
vram: 0x8038C3B0
subsegments:
- [0x00005FC0, bin, ttc_data_5FC0]
- [0x00006370, .data, ch/lockup]
- [0x00006430, .data, code_35D0]
@@ -58,12 +52,6 @@ segments:
- [0x00006A30, .rodata, code_35D0] #- [0x6A30, bin, ttc_data_6A30] #
- [0x00006A60, bin, data_6A60]
- [0x000072B0, .rodata, ch/treasure]
- name: TTC-bss
dir: TTC
type: code
start: 0x00007300
vram: 0x8038D6F0
subsegments:
- [0x7300, .bss, code_3040]
- [0x7300, .bss, code_35D0]
- [0x00007300]

View File

@@ -22,7 +22,7 @@ options:
asset_path: bin
build_path: build/us.v10
segments:
- name: core1-code
- name: core1
dir: core1
type: code
start: 0x00000000
@@ -112,7 +112,7 @@ segments:
- [0x265D0, c, done/gu/sinf] #DONE
- [0x26790, c, done/audio/cents2ratio] #DONE
- [0x267E0, c, done/audio/heapinit] #DONE
- [0x26820, bin, padding] # 0x60 bytes of zeroes?
- [0x26820, asm, padding] # 0x60 bytes of zeroes?
- [0x26880, c, done/os/createmesgqueue] #DONE
- [0x268B0, c, done/io/aisetfreq] #DONE
- [0x26A10, c, done/audio/sl] #DONE
@@ -232,19 +232,7 @@ segments:
- [0x34A80, c, done/io/epirawread] #DONE
- [0x34AD0, c, done/os/setglobalintmask] #DONE
- [0x34B20, c, done/os/yieldthread] #DONE
- name: core1-mips3
dir: core1
type: code
start: 0x34B70
vram: 0x80272590
subsegments:
- [0x34B70, bin, data_34B70]
- name: core1-data
dir: core1
type: code
start: 0x000037BF0
vram: 0x80275610
subsegments:
- [0x34B70, c, code_34B70] #mips3
- [0x37BF0, bin, data_37BF0] #data Section
- [0x37C50, .data, code_660]
- [0x37D50, .data, code_1D00]
@@ -311,12 +299,6 @@ segments:
- [0x3B3D0, .rodata, done/audio/env]
- [0x3B420, .rodata, done/audio/resample]
- [0x3B460, bin, data_3B460]
- type: code
name: core1-bbs
dir: core1
start: 0x00003C710
vram: 0x8027A130
subsegments:
- [0x3c710, .bss, code_0]
- [0x3c710, .bss, code_660]
- [0x3c710, .bss, inflate]

View File

@@ -1,6 +1,6 @@
options:
basename: core2
find_file_boundaries: yes
find_file_boundaries: no
compiler: "IDO"
platform: n64
asm_endlabels: "endlabel"
@@ -22,7 +22,7 @@ options:
asset_path: bin
build_path: build/us.v10
segments:
- name: core2-code
- name: core2
dir: core2
type: code
start: 0x00000
@@ -416,12 +416,6 @@ segments:
- [0xDAAA0, c, code_DAAA0] #DONE
- [0xDB010, c, code_DB010] #DONE
- [0xDC4B0, c, code_DC4B0] #DONE
- type: code
name: core2-data
dir: core2
start: 0xDC600
vram: 0x80363590
subsegments:
- [0xDC600, bin, data_DC600]
- [0xDC630, .data, code_1550]
- [0xDC650, .data, code_2890]
@@ -859,12 +853,6 @@ segments:
- [0xF2AF0, .rodata, code_DA3A0]
- [0xF2B00, .rodata, code_DA760]
- [0xF2B20, .rodata, code_DB010]
- type: code
name: core2-bbs
dir: core2
start: 0xf2c00
vram: 0x80379B90
subsegments:
- [0xf2c00, .bss, code_AD0]
- [0xf2c00, .bss, code_10E0]
- [0xf2c00, .bss, code_1550]

View File

@@ -22,7 +22,7 @@ options:
asset_path: bin
build_path: build/us.v10
segments:
- name: cutscenes-code
- name: cutscenes
dir: cutscenes
type: code
start: 0x00000000
@@ -33,12 +33,6 @@ segments:
- [0x6730, c, code_6730] #DONE
- [0x69F0, c, code_69F0] #DONE
- [0x6C90, c, code_6C90] #DONE
- name: cutscenes-data
dir: cutscenes
type: code
start: 0x00006F60
vram: 0x8038D350
subsegments:
- [0x00006F60, bin, data_6F60]
- [0x000078A0, .data, code_60F0]
- [0x00008310, .data, code_6730]

View File

@@ -29,7 +29,6 @@ segments:
start: 0x00000000
vram: 0x803863F0
subsegments:
- [0x0, linker, code] # Code section
- [0x0, c, code_0] #DONE
- [0x180, c, code_180]
- [0x5ED0, c, code_5ED0] #DONE
@@ -41,8 +40,6 @@ segments:
- [0x9850, c, code_9850] #DONE
- [0x9D40, c, code_9D40] #DONE
- [0xAED0, c, code_AED0] #DONE
- [0xAF90, linker, data] # Data section
- [0xAF90, .data, code_180]
- [0xB420, .data, code_5ED0]
- [0xB5A0, .data, code_6E90]
@@ -54,8 +51,6 @@ segments:
- [0xBBC0, .data, code_9D40]
- [0xBCA0, .data, code_AED0]
- [0xBCD0, .rodata, code_180]
- [0xBE90, bin, fight_data_BE90]
- [0xBF20, bin, fight_data_BF20]
- [0xC090, .rodata, code_5ED0]
- [0xC140, .rodata, code_6E90]
- [0xC150, .rodata, code_7580]
@@ -65,12 +60,7 @@ segments:
- [0xC220, .rodata, code_9850]
- [0xC230, .rodata, code_9D40]
- [0xC340, .rodata, code_AED0]
- type: code
name: fight-bbs
dir: fight
start: 0xC350
vram: 0x80392740
subsegments:
- [0x0000C350, .bss, code_0]
- [0x0000C350, .bss, code_180]
- [0x0000C350, .bss, code_87A0]
- [0x0000C350, .bss, code_9D40]

View File

@@ -22,7 +22,7 @@ options:
asset_path: bin
build_path: build/us.v10
segments:
- name: lair-code
- name: lair
dir: lair
type: code
start: 0x00000000
@@ -42,12 +42,6 @@ segments:
- [0xBBD0, c, code_BBD0] #DONE
- [0xC1C0, c, code_C1C0] #DONE
- [0xC6C0, c, code_C6C0] #DONE
- name: lair-data
dir: lair
type: code
start: 0x0000C8C0
vram: 0x80392CB0
subsegments:
- [0x0000C8C0, bin, data_C8C0] #.data, code_0]
- [0x0000D130, bin, data_D130] #.data, code_42A0]
- [0x0000D320, .data, code_5640]
@@ -74,11 +68,5 @@ segments:
- [0x0000EF00, .rodata, code_BBD0]
- [0x0000EF40, .rodata, code_C1C0]
- [0x0000EF50, .rodata, code_C6C0]
- name: lair-bss
dir: lair
type: code
start: 0x0000EF60
vram: 0x80395350
subsegments:
- [0x0000EF60, .bss, code_0]
- [0x0000EF60]

View File

@@ -226,6 +226,7 @@ alLoadNew = 0x80268934;
alEnvmixerNew = 0x802689DC;
_init_lpfilter = 0x80268A80;
alFxNew = 0x80268B20;
_doModFunc = 0x80268F60;
alFxParamHdl = 0x802695F8;
alFxParam = 0x80269854;
alFxPull = 0x8026986C;

View File

@@ -394,11 +394,13 @@ item_getCount = 0x80345FA0;
item_set = 0x80346414;
itemscore_noteScores_getTotal = 0x80346EEC;
itemscore_noteScores_get = 0x80346F34;
itemscore_timeScores_get = 0x8034717C;
demo_readInput = 0x80349EE4;
demo_load = 0x8034A06C;
demo_free = 0x8034A0EC;
randf = 0x8034A390;
randf2 = 0x8034A754;
sfx_randf2 = 0x8034A788;
randi2 = 0x8034A7BC;
D_80364564 = 0x80364564;
D_8036497C = 0x8036497C;