some geo blocks replaced with rom addresses

This commit is contained in:
farisawan-2000 2020-08-14 21:55:43 -04:00
parent c5ca4a968a
commit d59cdc5902
6 changed files with 548 additions and 1025 deletions

View File

@ -116,9 +116,9 @@ clean:
$(BUILD_DIR):
mkdir $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(ASM_DIRS))
$(BUILD_DIR)/actors/%.o: $(BUILD_DIR)/actors/%.c
@$(CC_CHECK) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
$(CC) -c $(CFLAGS) -o $@ $<
# $(BUILD_DIR)/actors/%.o: $(BUILD_DIR)/actors/%.c
# @$(CC_CHECK) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
# $(CC) -c $(CFLAGS) -o $@ $<
$(BUILD_DIR)/%.o: %.s
$(AS) $(ASFLAGS) -o $@ $<
@ -127,6 +127,9 @@ $(BUILD_DIR)/%.o: %.c
@$(CC_CHECK) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
$(CC) -c $(CFLAGS) -o $@ $<
$(BUILD_DIR)/data/%.o: data/%.c
$(CC) -c $(CFLAGS) -o $@ $<
$(BUILD_DIR)/%.o: $(BUILD_DIR)/%.c
@$(CC_CHECK) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
$(CC) -c $(CFLAGS) -o $@ $<

View File

@ -20,7 +20,7 @@ glabel func_80151C78_ovl3
/* 0B2700 80151CC0 00000000 */ nop
/* 0B2704 80151CC4 9042E7C4 */ lbu $v0, %lo(D_8012E7C4)($v0)
/* 0B2708 80151CC8 24010001 */ li $at, 1
/* 0B270C 80151CCC 3C08800D */ lui $t0, %hi(D_800C8920) # $t0, 0x800d
/* 0B270C 80151CCC 3C08800D */ lui $t0, %hi(D_800C8920_ovl3) # $t0, 0x800d
/* 0B2710 80151CD0 10400008 */ beqz $v0, .L80151CF4_ovl3
/* 0B2714 80151CD4 00000000 */ nop
/* 0B2718 80151CD8 10410014 */ beq $v0, $at, .L80151D2C_ovl3
@ -122,7 +122,7 @@ glabel func_80151C78_ovl3
/* 0B2878 80151E38 10000012 */ b .L80151E84_ovl3
/* 0B287C 80151E3C 2402000E */ li $v0, 14
.L80151E40_ovl3:
/* 0B2880 80151E40 8D088920 */ lw $t0, %lo(D_800C8920)($t0)
/* 0B2880 80151E40 8D088920 */ lw $t0, %lo(D_800C8920_ovl3)($t0)
/* 0B2884 80151E44 24050003 */ li $a1, 3
/* 0B2888 80151E48 24040003 */ li $a0, 3
/* 0B288C 80151E4C 11000005 */ beqz $t0, .L80151E64_ovl3

File diff suppressed because it is too large Load Diff

View File

@ -253,10 +253,12 @@ SECTIONS
BUILD_DIR/asm/data/kirby.u.2A8CB0.o(.data);
}
END_SEG(data_2A8CB0)
BEGIN_SEG(data_2B1510, 0) { /*TODO: get a good addr for this*/
BUILD_DIR/asm/data/kirby.u.2B1510.o(.data);
}
END_SEG(data_2B1510)
BEGIN_SEG(data_3E1400, 0) { /*TODO: get a good addr for this*/
BUILD_DIR/asm/data/kirby.u.3E1400.o(.data);
}

View File

@ -54,11 +54,13 @@ def getAddrs(l):
return x1.strip()
def printBank(n):
print(
"u32 "+geoBlocks[n]+"[] = \n"+
"\n".join(["\t"+i+"RomStart,\n\t"+i+"RomEnd," for i in banks[n]])+
"\n};"
)
if n!= 5:
print(
"u32 "+geoBlocks[n]+"["+str(len(banks[n])*2)+"] = \n"+
"\t"+banks[n][0]+",\n"+
"\n".join(["\t"+i+",\n\t"+i+"," for i in banks[n][1:]])+
"\n};"
)
def generateLink(b):
toReturn = ""
@ -121,32 +123,32 @@ with open(sys.argv[1]) as f:
if "*" in line:
path = getSection(line)
else:
tempBank = getBank(line)
tempIndex = getIndex(line)
# print(".balign 2")
offset = getAddrs(line)
# print(str(hex(prevOff)))
# if prevOff == 0:
# printAsset(fullPath, "0xA70", offset)
# prevOff = 0x4AB360
# prevOff = 0x4AA8F0
# else:
cache = prevOff
printAsset(fullPath, str(hex(int(offset, 16) - cache)), str(hex(prevOff)))
fullPath = "assets/"+path+"/"+prefix+getBank(line)+"/"+getIndex(line)+"/block.bin"
prevOff = int(offset, 16)
# print("glabel bank_"+getBank(line)+"_index_"+getIndex(line)+"_"+path+" # "+offset)
# f2.write("extern u32 bank_"+getBank(line)+"_index_"+getIndex(line)+"_"+path+"[];\n")
# print(".incbin \""+fullPath+"\"\n")
# printAsset(fullPath, size, offset)
# tempBank = getBank(line)
# tempIndex = getIndex(line)
# # print(".balign 2")
# offset = getAddrs(line)
# # print(str(hex(prevOff)))
# # if prevOff == 0:
# # printAsset(fullPath, "0xA70", offset)
# # prevOff = 0x4AB360
# # prevOff = 0x4AA8F0
# # else:
# cache = prevOff
# printAsset(fullPath, str(hex(int(offset, 16) - cache)), str(hex(prevOff)))
# fullPath = "assets/"+path+"/"+prefix+getBank(line)+"/"+getIndex(line)+"/block.bin"
# prevOff = int(offset, 16)
# # print("glabel bank_"+getBank(line)+"_index_"+getIndex(line)+"_"+path+" # "+offset)
# # f2.write("extern u32 bank_"+getBank(line)+"_index_"+getIndex(line)+"_"+path+"[];\n")
# # print(".incbin \""+fullPath+"\"\n")
# # printAsset(fullPath, size, offset)
if "geo" in path:
banks[int(getBank(line))].append("_"+prefix+getBank(line)+"_index_"+getIndex(line))
banks[int(getBank(line))].append(""+prefix+getBank(line)+"_index_"+getIndex(line)+"_"+path)
# x = open("kirby.us.inc.ld", "w+")
# x.write(generateLink())
# x.close()
print()
# for i in range(7):
for i in range(7):
# generateLink(i)
# printBank(i)
printBank(i)
# genCFile(0)

View File

@ -10328,3 +10328,4 @@ D_8012D200 = 0x8012D200;
D_80043F50 = 0x80043F50;
D_80042BC8_0 = 0x80042BC8;
D_800C8920_ovl3 = 0x800C8920;