diff options
-rw-r--r-- | .travis.yml | 3 | ||||
-rw-r--r-- | Makefile | 8 | ||||
-rw-r--r-- | config.mk | 26 | ||||
-rw-r--r-- | data/maps/InsideOfTruck/scripts.inc | 2 | ||||
-rw-r--r-- | data/maps/LittlerootTown/scripts.inc | 2 | ||||
-rw-r--r-- | data/maps/PetalburgCity/scripts.inc | 4 | ||||
-rw-r--r-- | data/maps/Route101/scripts.inc | 4 | ||||
-rw-r--r-- | include/constants/flags.h | 4 | ||||
-rw-r--r-- | ruby_de_rev1.sha1 | 1 | ||||
-rw-r--r-- | sapphire_de_rev1.sha1 | 1 | ||||
-rw-r--r-- | src/battle/anim/normal.c | 12 | ||||
-rw-r--r-- | src/data/battle_strings_en.h | 4 | ||||
-rw-r--r-- | src/field_special_scene.c | 4 | ||||
-rw-r--r-- | src/libs/agb_flash_mx.c | 2 | ||||
-rw-r--r-- | src/map_name_popup.c | 2 | ||||
-rw-r--r-- | src/scanline_effect.c | 2 |
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 @@ -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 #### @@ -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 |