summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile25
-rw-r--r--asm/rom4.s30
-rw-r--r--asm/rom5.s30
-rwxr-xr-xgraphics/interface/menu.lzbin1248 -> 0 bytes
4 files changed, 77 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index 357c110b5..74f562537 100644
--- a/Makefile
+++ b/Makefile
@@ -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
deleted file mode 100755
index fb0e427ef..000000000
--- a/graphics/interface/menu.lz
+++ /dev/null
Binary files differ