diff options
author | YamaArashi <shadow962@live.com> | 2016-06-17 14:45:36 -0700 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-06-17 14:45:36 -0700 |
commit | 723b0f247b0a61671dfec34a873e7c26632f4c03 (patch) | |
tree | 50c220e209c8eedeec135af2ffe871d86478eb4a | |
parent | 852e2fd5385467a2d7f3c02d77d322a9b88201e9 (diff) |
account for differences in Sapphire's code
-rw-r--r-- | Makefile | 25 | ||||
-rw-r--r-- | asm/rom4.s | 30 | ||||
-rw-r--r-- | asm/rom5.s | 30 | ||||
-rwxr-xr-x | graphics/interface/menu.lz | bin | 1248 -> 0 bytes |
4 files changed, 77 insertions, 8 deletions
@@ -42,21 +42,30 @@ DATA_ASM_OBJS := data/data1.o data/data2.o data/graphics.o data/sound_data.o OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) -ROM := pokeruby.gba -ELF := $(ROM:.gba=.elf) +ruby: + $(MAKE) generated + $(MAKE) ruby_rom + +ruby_rom: ROM := pokeruby.gba +ruby_rom: ELF := pokeruby.elf +ruby_rom: pokeruby.gba -all: +sapphire: $(MAKE) generated - $(MAKE) rom + $(MAKE) sapphire_rom -rom: $(ROM) +sapphire_rom: ROM := pokesapphire.gba +sapphire_rom: ELF := pokesapphire.elf +sapphire_rom: ASFLAGS += --defsym SAPPHIRE=1 +sapphire_rom: CPPFLAGS += -DSAPPHIRE +sapphire_rom: pokesapphire.gba # For contributors to make sure a change didn't affect the contents of the ROM. -compare: all +compare: ruby @$(SHA1) rom.sha1 clean: - rm -f $(ROM) $(ELF) $(OBJS) $(C_SRCS:%.c=%.i) + rm -f pokeruby.gba pokesapphire.gba $(ELF) $(OBJS) $(C_SRCS:%.c=%.i) find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' \) -exec rm {} + include castform.mk @@ -97,6 +106,6 @@ $(DATA_ASM_OBJS): %.o: %.s $$(dep) $(PREPROC) $< charmap.txt | $(AS) $(ASFLAGS) -o $@ # Link objects to produce the ROM. -$(ROM): $(OBJS) +pokeruby.gba pokesapphire.gba: $(OBJS) $(LD) $(LDFLAGS) -o $(ELF) $(OBJS) $(LIBGCC) $(OBJCOPY) -O binary --gap-fill 0xFF --pad-to 0x9000000 $(ELF) $(ROM) diff --git a/asm/rom4.s b/asm/rom4.s index 4bd319a49..7882103e8 100644 --- a/asm/rom4.s +++ b/asm/rom4.s @@ -2198,9 +2198,17 @@ sub_8053D9C: @ 8053D9C lsrs r0, 16 cmp r0, 0x1 bne _08053DB2 + .ifdef SAPPHIRE + ldr r0, _sub_8053D9C_LegendaryMusic + .else movs r0, 0xDE lsls r0, 1 + .endif b _08053DDC + .ifdef SAPPHIRE + .align 2, 0 +_sub_8053D9C_LegendaryMusic: .4byte 443 @ OOAME (Kyogre's Heavy Rain theme) + .endif _08053DB2: adds r0, r4, 0 bl sub_8053D6C @@ -2327,8 +2335,12 @@ sub_8053E90: @ 8053E90 bl sav1_map_get_music lsls r0, 16 lsrs r4, r0, 16 + .ifdef SAPPHIRE + ldr r0, _sub_8053E90_LegendaryMusic + .else movs r0, 0xDE lsls r0, 1 + .endif cmp r4, r0 beq _08053ED6 ldr r1, _08053EB0 @@ -2338,6 +2350,9 @@ sub_8053E90: @ 8053E90 adds r4, r0, 0 b _08053ED6 .align 2, 0 + .ifdef SAPPHIRE +_sub_8053E90_LegendaryMusic: .4byte 443 @ OOAME (Kyogre's Heavy Rain theme) + .endif _08053EB0: .4byte 0x02025734 _08053EB4: bl sav1_map_get_light_level @@ -2406,8 +2421,12 @@ sub_8053F0C: @ 8053F0C bl current_map_music_get lsls r0, 16 lsrs r4, r0, 16 + .ifdef SAPPHIRE + ldr r0, _sub_8053F0C_LegendaryMusic + .else movs r0, 0xDE lsls r0, 1 + .endif cmp r5, r0 beq _08053F4E subs r0, 0x21 @@ -2437,6 +2456,9 @@ _08053F4E: b _08053F7C .align 2, 0 _08053F6C: .4byte 0x00004001 + .ifdef SAPPHIRE +_sub_8053F0C_LegendaryMusic: .4byte 443 @ OOAME (Kyogre's Heavy Rain theme) + .endif _08053F70: .4byte 0x0000016d _08053F74: adds r0, r5, 0 @@ -2481,8 +2503,12 @@ sub_8053FB0: @ 8053FB0 lsrs r1, r0, 16 cmp r1, r4 beq _08053FD2 + .ifdef SAPPHIRE + ldr r0, _sub_8053FB0_LegendaryMusic + .else movs r0, 0xDE lsls r0, 1 + .endif cmp r1, r0 beq _08053FD2 adds r0, r4, 0 @@ -2492,6 +2518,10 @@ _08053FD2: pop {r4} pop {r0} bx r0 + .ifdef SAPPHIRE + .align 2, 0 +_sub_8053FB0_LegendaryMusic: .4byte 443 @ OOAME (Kyogre's Heavy Rain theme) + .endif thumb_func_end sub_8053FB0 thumb_func_start is_warp1_light_level_8_or_9 diff --git a/asm/rom5.s b/asm/rom5.s index e1d7c1da0..e33cc2fca 100644 --- a/asm/rom5.s +++ b/asm/rom5.s @@ -3268,14 +3268,21 @@ sub_807C7E4: @ 807C7E4 ands r0, r1 cmp r0, 0 bne _0807C80C + .ifdef SAPPHIRE + mov r0, sp + strh r2, [r0] + .else lsls r1, r2, 10 mov r0, sp strh r1, [r0] + .endif b _0807C816 _0807C80C: movs r0, 0x1F subs r0, r2 + .ifndef SAPPHIRE lsls r0, 10 + .endif mov r1, sp strh r0, [r1] _0807C816: @@ -308261,8 +308268,13 @@ sub_8110908: @ 8110908 push {r6,r7} lsls r0, 16 lsrs r7, r0, 16 + .ifdef SAPPHIRE + ldr r0, _sub_8110908_Latias + .else + @ Latios movs r0, 0xCC lsls r0, 1 + .endif cmp r7, r0 bne _0811091E b _08110A44 @@ -308323,6 +308335,9 @@ _08110960: beq _0811099A b _081109BA .align 2, 0 + .ifdef SAPPHIRE +_sub_8110908_Latias: .4byte 407 + .endif _08110988: .4byte 0x02000000 _0811098C: .4byte gUnknown_083F856C _08110990: .4byte gUnknown_083F856E @@ -351357,6 +351372,9 @@ sub_8126098: @ 8126098 cmp r2, 0 beq _081260C6 movs r0, 0x80 + .ifdef SAPPHIRE + lsls r0, 1 @ unknown difference + .endif ands r0, r4 cmp r0, 0 beq _081260C6 @@ -380940,8 +380958,12 @@ sub_8134240: @ 8134240 push {r6} sub sp, 0x10 ldr r5, _081342FC + .ifdef SAPPHIRE + ldr r6, _sub_8134240_Latias + .else movs r6, 0xCC lsls r6, 1 + .endif movs r0, 0 str r0, [sp] str r0, [sp, 0x4] @@ -381019,6 +381041,9 @@ sub_8134240: @ 8134240 bx r0 .align 2, 0 _081342FC: .4byte 0x030045c0 + .ifdef SAPPHIRE +_sub_8134240_Latias: .4byte 407 + .endif _08134300: .4byte 0x02028878 _08134304: .4byte 0x02039302 _08134308: .4byte gUnknown_08402E80 @@ -396619,9 +396644,14 @@ _0813BFDA: bl SetVBlankCallback movs r1, 0x80 lsls r1, 7 + .ifdef SAPPHIRE + movs r0, 0 + movs r2, 0x40 + .else movs r2, 0x80 lsls r2, 3 movs r0, 0x1 + .endif movs r3, 0x10 bl sub_8148EC0 lsls r0, 24 diff --git a/graphics/interface/menu.lz b/graphics/interface/menu.lz Binary files differdeleted file mode 100755 index fb0e427ef..000000000 --- a/graphics/interface/menu.lz +++ /dev/null |