summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml3
-rw-r--r--Makefile8
-rw-r--r--config.mk26
-rw-r--r--data/maps/InsideOfTruck/scripts.inc2
-rw-r--r--data/maps/LittlerootTown/scripts.inc2
-rw-r--r--data/maps/PetalburgCity/scripts.inc4
-rw-r--r--data/maps/Route101/scripts.inc4
-rw-r--r--include/constants/flags.h4
-rw-r--r--ruby_de_rev1.sha11
-rw-r--r--sapphire_de_rev1.sha11
-rw-r--r--src/battle/anim/normal.c12
-rw-r--r--src/data/battle_strings_en.h4
-rw-r--r--src/field_special_scene.c4
-rw-r--r--src/libs/agb_flash_mx.c2
-rw-r--r--src/map_name_popup.c2
-rw-r--r--src/scanline_effect.c2
16 files changed, 52 insertions, 29 deletions
diff --git a/.travis.yml b/.travis.yml
index 659739d44..26d2e7f99 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -68,5 +68,8 @@ matrix:
- make -j2 compare_ruby_de
- make -j2 compare_sapphire_de
- make -j2 compare_ruby_de_debug
+ - make -j2 compare_sapphire_de_debug
+ - make -j2 compare_ruby_de_rev1
+ - make -j2 compare_sapphire_de_rev1
after_success:
- .travis/calcrom/webhook.sh pokeruby
diff --git a/Makefile b/Makefile
index befd85598..d4fcffb80 100644
--- a/Makefile
+++ b/Makefile
@@ -105,7 +105,7 @@ endif
#### Main Rules ####
-ALL_BUILDS := ruby ruby_debug ruby_rev1 ruby_rev2 sapphire sapphire_debug sapphire_rev1 sapphire_rev2 ruby_de ruby_de_debug sapphire_de sapphire_de_debug
+ALL_BUILDS := ruby ruby_debug ruby_rev1 ruby_rev2 sapphire sapphire_debug sapphire_rev1 sapphire_rev2 ruby_de ruby_de_debug ruby_de_rev1 sapphire_de sapphire_de_debug sapphire_de_rev1
MODERN_BUILDS := $(ALL_BUILDS:%=%_modern)
# Available targets
@@ -226,8 +226,10 @@ sapphire_rev1: ; @$(MAKE) GAME_VERSION=SAPPHIRE GAME_REVISION=1
sapphire_rev2: ; @$(MAKE) GAME_VERSION=SAPPHIRE GAME_REVISION=2
ruby_de: ; @$(MAKE) GAME_VERSION=RUBY GAME_LANGUAGE=GERMAN
ruby_de_debug: ; @$(MAKE) GAME_VERSION=RUBY GAME_LANGUAGE=GERMAN DEBUG=1
+ruby_de_rev1: ; @$(MAKE) GAME_VERSION=RUBY GAME_LANGUAGE=GERMAN GAME_REVISION=1
sapphire_de: ; @$(MAKE) GAME_VERSION=SAPPHIRE GAME_LANGUAGE=GERMAN
sapphire_de_debug: ; @$(MAKE) GAME_VERSION=SAPPHIRE GAME_LANGUAGE=GERMAN DEBUG=1
+sapphire_de_rev1: ; @$(MAKE) GAME_VERSION=SAPPHIRE GAME_LANGUAGE=GERMAN GAME_REVISION=1
modern: ; @$(MAKE) GAME_VERSION=RUBY MODERN=1
ruby_modern: ; @$(MAKE) GAME_VERSION=RUBY MODERN=1
@@ -240,8 +242,10 @@ sapphire_rev1_modern: ; @$(MAKE) GAME_VERSION=SAPPHIRE GAME_REVISION=1 MODER
sapphire_rev2_modern: ; @$(MAKE) GAME_VERSION=SAPPHIRE GAME_REVISION=2 MODERN=1
ruby_de_modern: ; @$(MAKE) GAME_VERSION=RUBY GAME_LANGUAGE=GERMAN MODERN=1
ruby_de_debug_modern: ; @$(MAKE) GAME_VERSION=RUBY GAME_LANGUAGE=GERMAN DEBUG=1 MODERN=1
+ruby_de_rev1_modern: ; @$(MAKE) GAME_VERSION=RUBY GAME_LANGUAGE=GERMAN GAME_REVISION=1 MODERN=1
sapphire_de_modern: ; @$(MAKE) GAME_VERSION=SAPPHIRE GAME_LANGUAGE=GERMAN MODERN=1
sapphire_de_debug_modern: ; @$(MAKE) GAME_VERSION=SAPPHIRE GAME_LANGUAGE=GERMAN DEBUG=1 MODERN=1
+sapphire_de_rev1_modern: ; @$(MAKE) GAME_VERSION=SAPPHIRE GAME_LANGUAGE=GERMAN GAME_REVISION=1 MODERN=1
compare_ruby: ; @$(MAKE) GAME_VERSION=RUBY COMPARE=1
compare_ruby_debug: ; @$(MAKE) GAME_VERSION=RUBY DEBUG=1 COMPARE=1
@@ -253,8 +257,10 @@ compare_sapphire_rev1: ; @$(MAKE) GAME_VERSION=SAPPHIRE GAME_REVISION=1 COMP
compare_sapphire_rev2: ; @$(MAKE) GAME_VERSION=SAPPHIRE GAME_REVISION=2 COMPARE=1
compare_ruby_de: ; @$(MAKE) GAME_VERSION=RUBY GAME_LANGUAGE=GERMAN COMPARE=1
compare_ruby_de_debug: ; @$(MAKE) GAME_VERSION=RUBY GAME_LANGUAGE=GERMAN DEBUG=1 COMPARE=1
+compare_ruby_de_rev1: ; @$(MAKE) GAME_VERSION=RUBY GAME_LANGUAGE=GERMAN GAME_REVISION=1 COMPARE=1
compare_sapphire_de: ; @$(MAKE) GAME_VERSION=SAPPHIRE GAME_LANGUAGE=GERMAN COMPARE=1
compare_sapphire_de_debug: ; @$(MAKE) GAME_VERSION=SAPPHIRE GAME_LANGUAGE=GERMAN DEBUG=1 COMPARE=1
+compare_sapphire_de_rev1: ; @$(MAKE) GAME_VERSION=SAPPHIRE GAME_LANGUAGE=GERMAN GAME_REVISION=1 COMPARE=1
#### Graphics Rules ####
diff --git a/config.mk b/config.mk
index fb5b79ee7..81e90dd41 100644
--- a/config.mk
+++ b/config.mk
@@ -27,6 +27,19 @@ else
endif
endif
+# Language
+ifeq ($(GAME_LANGUAGE), ENGLISH)
+ BUILD_NAME := $(BUILD_NAME)
+ GAME_CODE := $(GAME_CODE)E
+else
+ifeq ($(GAME_LANGUAGE), GERMAN)
+ BUILD_NAME := $(BUILD_NAME)_de
+ GAME_CODE := $(GAME_CODE)D
+else
+ $(error unknown language $(GAME_LANGUAGE))
+endif
+endif
+
# Revision
ifeq ($(GAME_REVISION), 0)
BUILD_NAME := $(BUILD_NAME)
@@ -42,19 +55,6 @@ endif
endif
endif
-# Language
-ifeq ($(GAME_LANGUAGE), ENGLISH)
- BUILD_NAME := $(BUILD_NAME)
- GAME_CODE := $(GAME_CODE)E
-else
-ifeq ($(GAME_LANGUAGE), GERMAN)
- BUILD_NAME := $(BUILD_NAME)_de
- GAME_CODE := $(GAME_CODE)D
-else
- $(error unknown language $(GAME_LANGUAGE))
-endif
-endif
-
# Debug fixes (always nonmatching)
ifeq ($(DEBUG_FIX), 1)
COMPARE := 0
diff --git a/data/maps/InsideOfTruck/scripts.inc b/data/maps/InsideOfTruck/scripts.inc
index 2ffdf8a8a..61727f0ec 100644
--- a/data/maps/InsideOfTruck/scripts.inc
+++ b/data/maps/InsideOfTruck/scripts.inc
@@ -15,7 +15,7 @@ InsideOfTruck_MapScript1_15FC26:: @ 815FC26
InsideOfTruck_EventScript_15FC29:: @ 815FC29
lockall
- setflag FLAG_SPECIAL_FLAG_0
+ setflag FLAG_HIDE_MAP_NAME_POPUP
checkplayergender
compare VAR_RESULT, 0
goto_if_eq InsideOfTruck_EventScript_15FC45
diff --git a/data/maps/LittlerootTown/scripts.inc b/data/maps/LittlerootTown/scripts.inc
index dcdf452dd..77d85024a 100644
--- a/data/maps/LittlerootTown/scripts.inc
+++ b/data/maps/LittlerootTown/scripts.inc
@@ -127,7 +127,7 @@ LittlerootTown_EventScript_14D62B:: @ 814D62B
closedoor VAR_0x8004, VAR_0x8005
waitdooranim
clearflag FLAG_HIDE_FAT_MAN_LITTLEROOT
- clearflag FLAG_SPECIAL_FLAG_0
+ clearflag FLAG_HIDE_MAP_NAME_POPUP
return
LittlerootTown_Movement_14D6AC:: @ 814D6AC
diff --git a/data/maps/PetalburgCity/scripts.inc b/data/maps/PetalburgCity/scripts.inc
index 6eac0b301..d2b7100bf 100644
--- a/data/maps/PetalburgCity/scripts.inc
+++ b/data/maps/PetalburgCity/scripts.inc
@@ -25,7 +25,7 @@ PetalburgCity_MapScript2_14B73D:: @ 814B73D
PetalburgCity_EventScript_14B747:: @ 814B747
lockall
- setflag FLAG_SPECIAL_FLAG_0
+ setflag FLAG_HIDE_MAP_NAME_POPUP
special SavePlayerParty
special PutZigzagoonInPlayerParty
applymovement 2, PetalburgCity_Movement_14B7ED
@@ -40,7 +40,7 @@ PetalburgCity_EventScript_14B747:: @ 814B747
waitmovement 0, MAP_MAUVILLE_CITY
msgbox PetalburgCity_Text_16D408, MSGBOX_DEFAULT
closemessage
- clearflag FLAG_SPECIAL_FLAG_0
+ clearflag FLAG_HIDE_MAP_NAME_POPUP
setvar VAR_PETALBURG_STATE, 3
fadedefaultbgm
clearflag FLAG_DONT_TRANSITION_MUSIC
diff --git a/data/maps/Route101/scripts.inc b/data/maps/Route101/scripts.inc
index b042ab903..7f6115973 100644
--- a/data/maps/Route101/scripts.inc
+++ b/data/maps/Route101/scripts.inc
@@ -12,7 +12,7 @@ Route101_MapScript2_14E935:: @ 814E935
.2byte 0
Route101_EventScript_14E93F:: @ 814E93F
- setflag FLAG_SPECIAL_FLAG_0
+ setflag FLAG_HIDE_MAP_NAME_POPUP
setvar VAR_ROUTE101_STATE, 1
end
@@ -235,7 +235,7 @@ Route101_EventScript_14EA7F:: @ 814EA7F
setflag FLAG_HIDE_BIRCH_STARTERS_BAG
setvar VAR_BIRCH_LAB_STATE, 2
setvar VAR_ROUTE101_STATE, 3
- clearflag FLAG_SPECIAL_FLAG_0
+ clearflag FLAG_HIDE_MAP_NAME_POPUP
warp MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 255, 6, 5
waitstate
release
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 0fadd7d93..8b7138092 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -898,9 +898,9 @@
#define FLAG_DAILY_RECEIVED_BERRY_SOOTOPOLIS (SYSTEM_FLAGS + 0xD2)
// Daily flags end at 0x8FF
-// SPECIAL FLAGS (unknown purpose)
+// SPECIAL FLAGS
-#define FLAG_SPECIAL_FLAG_0 0x4000
+#define FLAG_HIDE_MAP_NAME_POPUP 0x4000
#define FLAG_DONT_TRANSITION_MUSIC 0x4001
#endif // GUARD_CONSTANTS_FLAGS_H
diff --git a/ruby_de_rev1.sha1 b/ruby_de_rev1.sha1
new file mode 100644
index 000000000..42ee2028c
--- /dev/null
+++ b/ruby_de_rev1.sha1
@@ -0,0 +1 @@
+424740be1fc67a5ddb954794443646e6aeee2c1b pokeruby_de_rev1.gba
diff --git a/sapphire_de_rev1.sha1 b/sapphire_de_rev1.sha1
new file mode 100644
index 000000000..413fee7cd
--- /dev/null
+++ b/sapphire_de_rev1.sha1
@@ -0,0 +1 @@
+7e6e034f9cdca6d2c4a270fdb50a94def5883d17 pokesapphire_de_rev1.gba
diff --git a/src/battle/anim/normal.c b/src/battle/anim/normal.c
index c3100a15d..9053d7844 100644
--- a/src/battle/anim/normal.c
+++ b/src/battle/anim/normal.c
@@ -746,7 +746,11 @@ static void sub_80E24B8(struct Sprite *sprite)
break;
}
+ #if MODERN
+ sprite->data[4] = *(u16 *)(sprite->data[6] | (sprite->data[7] << 16));
+ #else
sprite->data[4] = *(u32 *)(sprite->data[6] | (sprite->data[7] << 16));
+ #endif
sprite->data[5] = gBattleAnimArgs[3];
var0 = sprite->data[5] - 2;
if (var0 < 2)
@@ -770,13 +774,21 @@ static void sub_80E255C(struct Sprite *sprite)
else
{
sprite->data[1] = sprite->data[2];
+ #if MODERN
+ *(u16 *)(sprite->data[6] | (sprite->data[7] << 16)) += sprite->data[0];
+ #else
*(u32 *)(sprite->data[6] | (sprite->data[7] << 16)) += sprite->data[0];
+ #endif
sprite->data[0] = -sprite->data[0];
}
}
else
{
+ #if MODERN
+ *(u16 *)(sprite->data[6] | (sprite->data[7] << 16)) = sprite->data[4];
+ #else
*(u32 *)(sprite->data[6] | (sprite->data[7] << 16)) = sprite->data[4];
+ #endif
var0 = sprite->data[5] - 2;
if (var0 < 2)
{
diff --git a/src/data/battle_strings_en.h b/src/data/battle_strings_en.h
index 4534516c1..9686f1543 100644
--- a/src/data/battle_strings_en.h
+++ b/src/data/battle_strings_en.h
@@ -638,9 +638,9 @@ const u8 BattleText_Failed[] = _("But it failed!");
const u8 BattleText_HurtItself[] = _("It hurt itself in its\nconfusion!");
const u8 BattleText_MirrorFail[] = _("The MIRROR MOVE failed!");
const u8 BattleText_RainStart[] = _("It started to rain!");
-const u8 BattleText_PourStart[] = _("A downpour started!");
+const u8 BattleText_PourStart[] = _("A downpour started!"); // corresponds to DownpourText in pokegold and pokecrystal and is used by Rain Dance in GSC
const u8 BattleText_RainCont1[] = _("Rain continues to fall.");
-const u8 BattleText_PourCont[] = _("The downpour continues.");
+const u8 BattleText_PourCont[] = _("The downpour continues."); // unused
const u8 BattleText_RainStop[] = _("The rain stopped.");
const u8 BattleText_SandBrewed[] = _("A sandstorm brewed!");
const u8 BattleText_SandRages[] = _("The sandstorm rages.");
diff --git a/src/field_special_scene.c b/src/field_special_scene.c
index 0fb0ca097..03854a5ff 100644
--- a/src/field_special_scene.c
+++ b/src/field_special_scene.c
@@ -339,7 +339,7 @@ void Task_HandlePorthole(u8 taskId)
break;
case EXIT_PORTHOLE: // exit porthole.
FlagClear(FLAG_DONT_TRANSITION_MUSIC);
- FlagClear(FLAG_SPECIAL_FLAG_0);
+ FlagClear(FLAG_HIDE_MAP_NAME_POPUP);
copy_saved_warp2_bank_and_enter_x_to_warp1(0);
sp13E_warp_to_last_warp();
DestroyTask(taskId);
@@ -376,7 +376,7 @@ void sub_80C7958(void)
{
FlagSet(FLAG_SYS_CRUISE_MODE);
FlagSet(FLAG_DONT_TRANSITION_MUSIC);
- FlagSet(FLAG_SPECIAL_FLAG_0);
+ FlagSet(FLAG_HIDE_MAP_NAME_POPUP);
saved_warp2_set(0, gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1);
sub_80C7754();
sub_8080F9C();
diff --git a/src/libs/agb_flash_mx.c b/src/libs/agb_flash_mx.c
index 5e2b0bce1..b164e27a9 100644
--- a/src/libs/agb_flash_mx.c
+++ b/src/libs/agb_flash_mx.c
@@ -26,7 +26,7 @@ const struct FlashSetupInfo MX29L010 =
0 // appears to be unused
},
{ 3, 1 }, // wait state setup data
-#if (GERMAN && SAPPHIRE && !DEBUG) // OK, why !DEBUG?
+#if (GERMAN && SAPPHIRE && (REVISION == 0) && !DEBUG) // OK, why !DEBUG?
{ { 0xBF, 0xD4 } } // ID
#else
{ { 0xC2, 0x09 } } // ID
diff --git a/src/map_name_popup.c b/src/map_name_popup.c
index 102254f22..7e4aa60e5 100644
--- a/src/map_name_popup.c
+++ b/src/map_name_popup.c
@@ -19,7 +19,7 @@ bool8 unref_sub_80A2F44(void)
void ShowMapNamePopup(void)
{
- if (FlagGet(FLAG_SPECIAL_FLAG_0) != TRUE)
+ if (FlagGet(FLAG_HIDE_MAP_NAME_POPUP) != TRUE)
{
if (!FuncIsActiveTask(Task_MapNamePopup))
{
diff --git a/src/scanline_effect.c b/src/scanline_effect.c
index b4de0689f..0e88799de 100644
--- a/src/scanline_effect.c
+++ b/src/scanline_effect.c
@@ -92,7 +92,7 @@ void ScanlineEffect_InitHBlankDmaTransfer(void)
{
DmaStop(0);
// Set DMA to copy to dest register on each HBlank for the next frame.
- // The HBlank DMA transfers do not occurr during VBlank, so the transfer
+ // The HBlank DMA transfers do not occur during VBlank, so the transfer
// will begin on the HBlank after the first scanline
DmaSet(0, gScanlineEffect.dmaSrcBuffers[gScanlineEffect.srcBuffer], gScanlineEffect.dmaDest, gScanlineEffect.dmaControl);
// Manually set the reg for the first scanline