Merge remote-tracking branch 'upstream/master'
17
.github/workflows/build.yml
vendored
|
|
@ -32,7 +32,9 @@ jobs:
|
|||
ref: 'symbols'
|
||||
|
||||
- name: Install binutils
|
||||
run: sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi libpng-dev
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi libpng-dev
|
||||
# build-essential and git are already installed
|
||||
# gcc-arm-none-eabi is only needed for the modern build
|
||||
# as an alternative to dkP
|
||||
|
|
@ -53,6 +55,12 @@ jobs:
|
|||
run: |
|
||||
make -j${nproc} all syms
|
||||
|
||||
- name: Compare FireRed rev10
|
||||
env:
|
||||
GAME_REVISION: 10
|
||||
run: |
|
||||
make -j${nproc} all syms
|
||||
|
||||
- name: Compare LeafGreen
|
||||
env:
|
||||
GAME_VERSION: LEAFGREEN
|
||||
|
|
@ -66,6 +74,13 @@ jobs:
|
|||
run: |
|
||||
make -j${nproc} all syms
|
||||
|
||||
- name: Compare LeafGreen rev10
|
||||
env:
|
||||
GAME_VERSION: LEAFGREEN
|
||||
GAME_REVISION: 10
|
||||
run: |
|
||||
make -j${nproc} all syms
|
||||
|
||||
- name: Build Modern
|
||||
env:
|
||||
MODERN: 1
|
||||
|
|
|
|||
4
.gitignore
vendored
|
|
@ -63,3 +63,7 @@ prefabs.json
|
|||
.vscode/*.*
|
||||
*.js
|
||||
*.sym
|
||||
build-cmake-*/
|
||||
.cache/
|
||||
CMakeLists.txt
|
||||
compile_commands.json
|
||||
|
|
|
|||
24
Makefile
|
|
@ -108,7 +108,7 @@ AUTO_GEN_TARGETS :=
|
|||
include make_tools.mk
|
||||
# Tool executables
|
||||
GFX := $(TOOLS_DIR)/gbagfx/gbagfx$(EXE)
|
||||
AIF := $(TOOLS_DIR)/aif2pcm/aif2pcm$(EXE)
|
||||
WAV2AGB := $(TOOLS_DIR)/wav2agb/wav2agb$(EXE)
|
||||
MID := $(TOOLS_DIR)/mid2agb/mid2agb$(EXE)
|
||||
SCANINC := $(TOOLS_DIR)/scaninc/scaninc$(EXE)
|
||||
PREPROC := $(TOOLS_DIR)/preproc/preproc$(EXE)
|
||||
|
|
@ -129,7 +129,7 @@ MAKEFLAGS += --no-print-directory
|
|||
# Delete files that weren't built properly
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
ALL_BUILDS := firered firered_rev1 leafgreen leafgreen_rev1
|
||||
ALL_BUILDS := firered firered_rev1 firered_rev10 leafgreen leafgreen_rev1 leafgreen_rev10
|
||||
ALL_BUILDS += $(ALL_BUILDS:%=%_modern)
|
||||
|
||||
RULES_NO_SCAN += clean clean-assets tidy generated clean-generated
|
||||
|
|
@ -224,13 +224,17 @@ tidy:
|
|||
# "friendly" target names for convenience sake
|
||||
firered: ; @$(MAKE) GAME_VERSION=FIRERED
|
||||
firered_rev1: ; @$(MAKE) GAME_VERSION=FIRERED GAME_REVISION=1
|
||||
firered_switch: ; @$(MAKE) GAME_VERSION=FIRERED GAME_REVISION=10
|
||||
leafgreen: ; @$(MAKE) GAME_VERSION=LEAFGREEN
|
||||
leafgreen_rev1: ; @$(MAKE) GAME_VERSION=LEAFGREEN GAME_REVISION=1
|
||||
leafgreen_switch: ; @$(MAKE) GAME_VERSION=LEAFGREEN GAME_REVISION=10
|
||||
|
||||
compare_firered: ; @$(MAKE) GAME_VERSION=FIRERED COMPARE=1
|
||||
compare_firered_rev1: ; @$(MAKE) GAME_VERSION=FIRERED GAME_REVISION=1 COMPARE=1
|
||||
compare_firered_switch: ; @$(MAKE) GAME_VERSION=FIRERED GAME_REVISION=10 COMPARE=1
|
||||
compare_leafgreen: ; @$(MAKE) GAME_VERSION=LEAFGREEN COMPARE=1
|
||||
compare_leafgreen_rev1: ; @$(MAKE) GAME_VERSION=LEAFGREEN GAME_REVISION=1 COMPARE=1
|
||||
compare_leafgreen_switch:; @$(MAKE) GAME_VERSION=LEAFGREEN GAME_REVISION=10 COMPARE=1
|
||||
|
||||
firered_modern: ; @$(MAKE) GAME_VERSION=FIRERED MODERN=1
|
||||
firered_rev1_modern: ; @$(MAKE) GAME_VERSION=FIRERED GAME_REVISION=1 MODERN=1
|
||||
|
|
@ -253,7 +257,7 @@ generated: $(AUTO_GEN_TARGETS)
|
|||
%.s: ;
|
||||
%.png: ;
|
||||
%.pal: ;
|
||||
%.aif: ;
|
||||
%.wav: ;
|
||||
|
||||
%.1bpp: %.png ; $(GFX) $< $@
|
||||
%.4bpp: %.png ; $(GFX) $< $@
|
||||
|
|
@ -348,16 +352,30 @@ endif
|
|||
$(OBJ_DIR)/sym_bss.ld: sym_bss.txt
|
||||
$(RAMSCRGEN) .bss $< ENGLISH > $@
|
||||
|
||||
$(OBJ_DIR)/sym_bss_rev10.ld: sym_bss_rev10.txt
|
||||
$(RAMSCRGEN) .bss $< ENGLISH > $@
|
||||
|
||||
$(OBJ_DIR)/sym_common.ld: sym_common.txt $(C_OBJS) $(wildcard common_syms/*.txt)
|
||||
$(RAMSCRGEN) COMMON $< ENGLISH -c $(C_BUILDDIR),common_syms > $@
|
||||
|
||||
$(OBJ_DIR)/sym_common_rev10.ld: sym_common_rev10.txt $(C_OBJS) $(wildcard common_syms/*.txt)
|
||||
$(RAMSCRGEN) COMMON $< ENGLISH -c $(C_BUILDDIR),common_syms > $@
|
||||
|
||||
$(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt
|
||||
$(RAMSCRGEN) ewram_data $< ENGLISH > $@
|
||||
|
||||
$(OBJ_DIR)/sym_ewram_rev10.ld: sym_ewram_rev10.txt
|
||||
$(RAMSCRGEN) ewram_data $< ENGLISH > $@
|
||||
|
||||
# Linker script
|
||||
ifeq ($(MODERN),0)
|
||||
ifeq ($(GAME_REVISION),10)
|
||||
LD_SCRIPT := ld_script_rev10.ld
|
||||
LD_SCRIPT_DEPS := $(OBJ_DIR)/sym_bss_rev10.ld $(OBJ_DIR)/sym_common_rev10.ld $(OBJ_DIR)/sym_ewram_rev10.ld
|
||||
else
|
||||
LD_SCRIPT := ld_script.ld
|
||||
LD_SCRIPT_DEPS := $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld
|
||||
endif
|
||||
else
|
||||
LD_SCRIPT := ld_script_modern.ld
|
||||
LD_SCRIPT_DEPS :=
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ It builds the following ROM images:
|
|||
* [**pokeleafgreen.gba**](https://datomatic.no-intro.org/?page=show_record&s=23&n=1617) `sha1: 574fa542ffebb14be69902d1d36f1ec0a4afd71e`
|
||||
* [**pokefirered_rev1.gba**](https://datomatic.no-intro.org/?page=show_record&s=23&n=1672) `sha1: dd5945db9b930750cb39d00c84da8571feebf417`
|
||||
* [**pokeleafgreen_rev1.gba**](https://datomatic.no-intro.org/index.php?page=show_record&s=23&n=1668) `sha1: 7862c67bdecbe21d1d69ce082ce34327e1c6ed5e`
|
||||
* [**pokefirered_switch.gba**](https://datomatic.no-intro.org/index.php?page=show_record&s=23&n=x550) `sha1: baa452d0b24629dd7782cfc07a8984085dde1311`
|
||||
* [**pokeleafgreen_switch.gba**](https://datomatic.no-intro.org/index.php?page=show_record&s=23&n=x551) `sha1: 62b9fc77549dbc67032eb6cbd0ea6ad3b825690f`
|
||||
|
||||
To set up the repository, see [INSTALL.md](INSTALL.md).
|
||||
|
||||
|
|
|
|||
|
|
@ -16,13 +16,13 @@ $(SONG_BUILDDIR)/%.o: $(SONG_SUBDIR)/%.s
|
|||
$(MID_BUILDDIR)/%.o: $(MID_ASM_DIR)/%.s
|
||||
$(AS) $(ASFLAGS) -I sound -o $@ $<
|
||||
|
||||
# Compressed cries
|
||||
$(CRY_BIN_DIR)/%.bin: $(CRY_SUBDIR)/%.aif
|
||||
$(AIF) $< $@ --compress
|
||||
$(CRY_BIN_DIR)/%.bin: $(CRY_SUBDIR)/%.wav
|
||||
# NOTE: If using ipatix's High Quality Audio Mixer, remove "--no-pad" below.
|
||||
$(WAV2AGB) -b -c -l 1 --no-pad $< $@
|
||||
|
||||
# Uncompressed sounds
|
||||
$(SOUND_BIN_DIR)/%.bin: sound/%.aif
|
||||
$(AIF) $< $@
|
||||
$(SOUND_BIN_DIR)/%.bin: sound/%.wav
|
||||
$(WAV2AGB) -b $< $@
|
||||
|
||||
# For each line in midi.cfg, we do some trickery to convert it into a make rule for the `.mid` file described on the line
|
||||
# Data following the colon in said file corresponds to arguments passed into mid2agb
|
||||
|
|
|
|||
|
|
@ -43,6 +43,10 @@ ifeq ($(GAME_REVISION),1)
|
|||
BUILD_NAME := $(BUILD_NAME)_rev1
|
||||
endif
|
||||
|
||||
ifeq ($(GAME_REVISION),10)
|
||||
BUILD_NAME := $(BUILD_NAME)_switch
|
||||
endif
|
||||
|
||||
# Modern GCC
|
||||
ifeq ($(MODERN),1)
|
||||
BUILD_NAME := $(BUILD_NAME)_modern
|
||||
|
|
|
|||
|
|
@ -1664,7 +1664,11 @@ RisingWaterHitEffect:
|
|||
|
||||
Move_EXPLOSION:
|
||||
loadspritegfx ANIM_TAG_EXPLOSION
|
||||
.if REVISION >= 0xA
|
||||
createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 8, 9, RGB(26, 8, 8), 8, RGB_BLACK, 5
|
||||
.else
|
||||
createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 8, 9, RGB(26, 8, 8), 8, RGB_BLACK, 8
|
||||
.endif
|
||||
createvisualtask AnimTask_ShakeMon2, 5, 4, 8, 0, 40, 1
|
||||
createvisualtask AnimTask_ShakeMon2, 5, 5, 8, 0, 40, 1
|
||||
createvisualtask AnimTask_ShakeMon2, 5, 6, 8, 0, 40, 1
|
||||
|
|
|
|||
|
|
@ -1030,7 +1030,7 @@ EventScript_ResetAllMapFlags::
|
|||
setflag FLAG_HIDE_CINNABAR_SEAGALLOP
|
||||
setflag FLAG_HIDE_CINNABAR_POKECENTER_BILL
|
||||
setflag FLAG_HIDE_LORELEI_IN_HER_HOUSE
|
||||
setflag FLAG_HIDE_SAFFRON_FAN_CLUB_BLACKBELT
|
||||
setflag FLAG_HIDE_SAFFRON_FAN_CLUB_BLACK_BELT
|
||||
setflag FLAG_HIDE_SAFFRON_FAN_CLUB_ROCKER
|
||||
setflag FLAG_HIDE_SAFFRON_FAN_CLUB_WOMAN
|
||||
setflag FLAG_HIDE_SAFFRON_FAN_CLUB_BEAUTY
|
||||
|
|
@ -1038,7 +1038,7 @@ EventScript_ResetAllMapFlags::
|
|||
setflag FLAG_HIDE_TWO_ISLAND_GAME_CORNER_BIKER
|
||||
setflag FLAG_HIDE_TWO_ISLAND_WOMAN
|
||||
setflag FLAG_HIDE_TWO_ISLAND_BEAUTY
|
||||
setflag FLAG_HIDE_TWO_ISLAND_SUPER_NERD
|
||||
setflag FLAG_HIDE_TWO_ISLAND_POKE_MANIAC
|
||||
setflag FLAG_HIDE_LOSTELLE_IN_HER_HOME
|
||||
setflag FLAG_HIDE_THREE_ISLAND_LONE_BIKER
|
||||
setflag FLAG_HIDE_FOUR_ISLAND_RIVAL
|
||||
|
|
@ -1123,7 +1123,7 @@ EventScript_HandOverItem::
|
|||
return
|
||||
|
||||
.include "data/scripts/pokemon_league.inc"
|
||||
.include "data/scripts/movement.inc"
|
||||
.include "data/scripts/movement.inc"
|
||||
.include "data/scripts/flavor_text.inc"
|
||||
.include "data/scripts/questionnaire.inc"
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 4,
|
||||
"y": 10,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
"object_events": [
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 3,
|
||||
"y": 5,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
{
|
||||
"local_id": "LOCALID_QUINN",
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 25,
|
||||
"y": 11,
|
||||
"elevation": 3,
|
||||
|
|
@ -62,7 +62,7 @@
|
|||
{
|
||||
"local_id": "LOCALID_RAMON",
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 16,
|
||||
"y": 11,
|
||||
"elevation": 3,
|
||||
|
|
@ -92,7 +92,7 @@
|
|||
{
|
||||
"local_id": "LOCALID_DUSTY",
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 4,
|
||||
"y": 19,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
"object_events": [
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 5,
|
||||
"y": 4,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 23,
|
||||
"y": 13,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL",
|
||||
"graphics_id": "OBJ_EVENT_GFX_CRUSH_GIRL",
|
||||
"x": 22,
|
||||
"y": 35,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL",
|
||||
"graphics_id": "OBJ_EVENT_GFX_CRUSH_GIRL",
|
||||
"x": 9,
|
||||
"y": 53,
|
||||
"elevation": 3,
|
||||
|
|
@ -107,7 +107,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL",
|
||||
"graphics_id": "OBJ_EVENT_GFX_CRUSH_GIRL",
|
||||
"x": 18,
|
||||
"y": 105,
|
||||
"elevation": 4,
|
||||
|
|
@ -121,7 +121,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 16,
|
||||
"y": 64,
|
||||
"elevation": 3,
|
||||
|
|
@ -135,7 +135,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 11,
|
||||
"y": 64,
|
||||
"elevation": 3,
|
||||
|
|
@ -177,7 +177,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 8,
|
||||
"y": 68,
|
||||
"elevation": 3,
|
||||
|
|
@ -191,7 +191,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL",
|
||||
"graphics_id": "OBJ_EVENT_GFX_CRUSH_GIRL",
|
||||
"x": 9,
|
||||
"y": 68,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 6,
|
||||
"y": 8,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL",
|
||||
"graphics_id": "OBJ_EVENT_GFX_CRUSH_GIRL",
|
||||
"x": 7,
|
||||
"y": 4,
|
||||
"elevation": 3,
|
||||
|
|
@ -99,7 +99,7 @@
|
|||
"movement_range_y": 1,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "OneIsland_PokemonCenter_1F_EventScript_BattleGirl",
|
||||
"script": "OneIsland_PokemonCenter_1F_EventScript_CrushGirl",
|
||||
"flag": "0"
|
||||
}
|
||||
],
|
||||
|
|
|
|||
|
|
@ -379,15 +379,15 @@ OneIsland_PokemonCenter_1F_EventScript_Hiker::
|
|||
msgbox OneIsland_PokemonCenter_1F_Text_EnormousVolcanoOnIsland, MSGBOX_NPC
|
||||
end
|
||||
|
||||
OneIsland_PokemonCenter_1F_EventScript_BattleGirl::
|
||||
OneIsland_PokemonCenter_1F_EventScript_CrushGirl::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, OneIsland_PokemonCenter_1F_EventScript_BattleGirlHoennLinked
|
||||
goto_if_set FLAG_SYS_CAN_LINK_WITH_RS, OneIsland_PokemonCenter_1F_EventScript_CrushGirlHoennLinked
|
||||
msgbox OneIsland_PokemonCenter_1F_Text_WishICouldTradeWithBoyfriend
|
||||
release
|
||||
end
|
||||
|
||||
OneIsland_PokemonCenter_1F_EventScript_BattleGirlHoennLinked::
|
||||
OneIsland_PokemonCenter_1F_EventScript_CrushGirlHoennLinked::
|
||||
msgbox OneIsland_PokemonCenter_1F_Text_TradedWithFarAwayBoyfriend
|
||||
release
|
||||
end
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
"object_events": [
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 5,
|
||||
"y": 23,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
"object_events": [
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 7,
|
||||
"y": 13,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 20,
|
||||
"y": 25,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 27,
|
||||
"y": 10,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
"object_events": [
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 2,
|
||||
"y": 6,
|
||||
"elevation": 3,
|
||||
|
|
@ -87,7 +87,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 23,
|
||||
"y": 23,
|
||||
"elevation": 3,
|
||||
|
|
@ -115,7 +115,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 29,
|
||||
"y": 35,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 15,
|
||||
"y": 70,
|
||||
"elevation": 3,
|
||||
|
|
@ -84,7 +84,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 13,
|
||||
"y": 44,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 39,
|
||||
"y": 7,
|
||||
"elevation": 3,
|
||||
|
|
@ -196,7 +196,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL",
|
||||
"graphics_id": "OBJ_EVENT_GFX_CRUSH_GIRL",
|
||||
"x": 40,
|
||||
"y": 7,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 47,
|
||||
"y": 3,
|
||||
"elevation": 3,
|
||||
|
|
@ -98,7 +98,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 50,
|
||||
"y": 3,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -236,7 +236,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL",
|
||||
"graphics_id": "OBJ_EVENT_GFX_CRUSH_GIRL",
|
||||
"x": 47,
|
||||
"y": 24,
|
||||
"elevation": 3,
|
||||
|
|
@ -245,7 +245,7 @@
|
|||
"movement_range_y": 1,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "SaffronCity_EventScript_BattleGirl",
|
||||
"script": "SaffronCity_EventScript_CrushGirl",
|
||||
"flag": "FLAG_HIDE_POSTGAME_GOSSIPERS"
|
||||
}
|
||||
],
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
"object_events": [
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 11,
|
||||
"y": 10,
|
||||
"elevation": 3,
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 1,
|
||||
"y": 10,
|
||||
"elevation": 3,
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 11,
|
||||
"y": 8,
|
||||
"elevation": 3,
|
||||
|
|
@ -59,7 +59,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 1,
|
||||
"y": 8,
|
||||
"elevation": 3,
|
||||
|
|
@ -74,7 +74,7 @@
|
|||
{
|
||||
"local_id": "LOCALID_KARATE_MASTER",
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 6,
|
||||
"y": 5,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
{
|
||||
"local_id": "LOCALID_TRAINER_FAN_CLUB_BATTLE_GIRL",
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL",
|
||||
"graphics_id": "OBJ_EVENT_GFX_CRUSH_GIRL",
|
||||
"x": 7,
|
||||
"y": 13,
|
||||
"elevation": 3,
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
"movement_range_y": 1,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirl",
|
||||
"script": "SaffronCity_PokemonTrainerFanClub_EventScript_CrushGirl",
|
||||
"flag": "0"
|
||||
},
|
||||
{
|
||||
|
|
@ -123,7 +123,7 @@
|
|||
{
|
||||
"local_id": "LOCALID_TRAINER_FAN_CLUB_BLACK_BELT",
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 5,
|
||||
"y": 11,
|
||||
"elevation": 3,
|
||||
|
|
@ -133,7 +133,7 @@
|
|||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "SaffronCity_PokemonTrainerFanClub_EventScript_BlackBelt",
|
||||
"flag": "FLAG_HIDE_SAFFRON_FAN_CLUB_BLACKBELT"
|
||||
"flag": "FLAG_HIDE_SAFFRON_FAN_CLUB_BLACK_BELT"
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
|
|
|
|||
|
|
@ -155,38 +155,38 @@ SaffronCity_PokemonTrainerFanClub_EventScript_SetMemberPosForFirstMeeting::
|
|||
call SaffronCity_PokemonTrainerFanClub_EventScript_MoveMember8ToFarTable
|
||||
end
|
||||
|
||||
SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirl::
|
||||
SaffronCity_PokemonTrainerFanClub_EventScript_CrushGirl::
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_0x8004, FANCLUB_MEMBER1
|
||||
special Script_BufferFanClubTrainerName
|
||||
goto_if_eq VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 0, SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlPlayerNotChampion
|
||||
goto_if_eq VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 0, SaffronCity_PokemonTrainerFanClub_EventScript_CrushGirlPlayerNotChampion
|
||||
specialvar VAR_RESULT, Script_IsFanClubMemberFanOfPlayer
|
||||
goto_if_eq VAR_RESULT, TRUE, SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlPlayersFan
|
||||
goto_if_eq VAR_RESULT, TRUE, SaffronCity_PokemonTrainerFanClub_EventScript_CrushGirlPlayersFan
|
||||
specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub
|
||||
goto_if_eq VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1), SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlOnlyNonFan
|
||||
goto_if_eq VAR_RESULT, (NUM_TRAINER_FAN_CLUB_MEMBERS - 1), SaffronCity_PokemonTrainerFanClub_EventScript_CrushGirlOnlyNonFan
|
||||
msgbox SaffronCity_PokemonTrainerFanClub_Text_WasYourFanNotAnymore
|
||||
release
|
||||
end
|
||||
|
||||
SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlPlayersFan::
|
||||
SaffronCity_PokemonTrainerFanClub_EventScript_CrushGirlPlayersFan::
|
||||
specialvar VAR_RESULT, Script_GetNumFansOfPlayerInTrainerFanClub
|
||||
goto_if_eq VAR_RESULT, 1, SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlOnlyFan
|
||||
goto_if_eq VAR_RESULT, 1, SaffronCity_PokemonTrainerFanClub_EventScript_CrushGirlOnlyFan
|
||||
msgbox SaffronCity_PokemonTrainerFanClub_Text_AlwaysCheerForYou
|
||||
release
|
||||
end
|
||||
|
||||
SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlOnlyFan::
|
||||
SaffronCity_PokemonTrainerFanClub_EventScript_CrushGirlOnlyFan::
|
||||
msgbox SaffronCity_PokemonTrainerFanClub_Text_IllAlwaysBelieveInYou
|
||||
release
|
||||
end
|
||||
|
||||
SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlOnlyNonFan::
|
||||
SaffronCity_PokemonTrainerFanClub_EventScript_CrushGirlOnlyNonFan::
|
||||
msgbox SaffronCity_PokemonTrainerFanClub_Text_EveryonesYourFanButICantBe
|
||||
release
|
||||
end
|
||||
|
||||
SaffronCity_PokemonTrainerFanClub_EventScript_BattleGirlPlayerNotChampion::
|
||||
SaffronCity_PokemonTrainerFanClub_EventScript_CrushGirlPlayerNotChampion::
|
||||
msgbox SaffronCity_PokemonTrainerFanClub_Text_TrainersCoolWhenBattling
|
||||
release
|
||||
end
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
"object_events": [
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BATTLE_GIRL",
|
||||
"graphics_id": "OBJ_EVENT_GFX_CRUSH_GIRL",
|
||||
"x": 13,
|
||||
"y": 43,
|
||||
"elevation": 3,
|
||||
|
|
@ -294,7 +294,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 8,
|
||||
"y": 26,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 21,
|
||||
"y": 29,
|
||||
"elevation": 5,
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 27,
|
||||
"y": 6,
|
||||
"elevation": 3,
|
||||
|
|
@ -88,8 +88,8 @@
|
|||
"movement_range_y": 1,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "TwoIsland_EventScript_SuperNerd",
|
||||
"flag": "FLAG_HIDE_TWO_ISLAND_SUPER_NERD"
|
||||
"script": "TwoIsland_EventScript_PokeManiac",
|
||||
"flag": "FLAG_HIDE_TWO_ISLAND_POKE_MANIAC"
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ TwoIsland_EventScript_SetShopExpanded2::
|
|||
|
||||
TwoIsland_EventScript_SetShopExpanded3::
|
||||
setvar VAR_MAP_SCENE_TWO_ISLAND, 4
|
||||
clearflag FLAG_HIDE_TWO_ISLAND_SUPER_NERD
|
||||
clearflag FLAG_HIDE_TWO_ISLAND_POKE_MANIAC
|
||||
return
|
||||
|
||||
TwoIsland_EventScript_Clerk::
|
||||
|
|
@ -192,7 +192,7 @@ TwoIsland_EventScript_Beauty::
|
|||
release
|
||||
end
|
||||
|
||||
TwoIsland_EventScript_SuperNerd::
|
||||
TwoIsland_EventScript_PokeManiac::
|
||||
msgbox TwoIsland_Text_BuyRareItemsHere, MSGBOX_NPC
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
"object_events": [
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_SUPER_NERD",
|
||||
"graphics_id": "OBJ_EVENT_GFX_POKE_MANIAC",
|
||||
"x": 7,
|
||||
"y": 4,
|
||||
"elevation": 3,
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 20,
|
||||
"y": 11,
|
||||
"elevation": 4,
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
"object_events": [
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 10,
|
||||
"y": 2,
|
||||
"elevation": 3,
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 11,
|
||||
"y": 14,
|
||||
"elevation": 3,
|
||||
|
|
@ -87,7 +87,7 @@
|
|||
},
|
||||
{
|
||||
"type": "object",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACKBELT",
|
||||
"graphics_id": "OBJ_EVENT_GFX_BLACK_BELT",
|
||||
"x": 3,
|
||||
"y": 11,
|
||||
"elevation": 3,
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@ EventScript_LanceUnused::
|
|||
release
|
||||
end
|
||||
|
||||
SaffronCity_EventScript_BattleGirlUnused::
|
||||
SaffronCity_EventScript_CrushGirlUnused::
|
||||
lock
|
||||
faceplayer
|
||||
famechecker FAMECHECKER_LANCE, 1
|
||||
|
|
@ -219,7 +219,7 @@ SaffronCity_EventScript_BattleGirlUnused::
|
|||
release
|
||||
end
|
||||
|
||||
SaffronCity_EventScript_BattleGirl::
|
||||
SaffronCity_EventScript_CrushGirl::
|
||||
lock
|
||||
faceplayer
|
||||
famechecker FAMECHECKER_LANCE, 2
|
||||
|
|
|
|||
1
firered_switch.sha1
Normal file
|
|
@ -0,0 +1 @@
|
|||
baa452d0b24629dd7782cfc07a8984085dde1311 pokefirered_switch.gba
|
||||
BIN
graphics/battle_anims/sprites/substitute_back.png
Normal file
|
After Width: | Height: | Size: 405 B |
|
|
@ -1,11 +0,0 @@
|
|||
JASC-PAL
|
||||
0100
|
||||
8
|
||||
148 197 172
|
||||
16 16 16
|
||||
32 32 32
|
||||
49 49 49
|
||||
65 65 65
|
||||
82 82 82
|
||||
98 98 98
|
||||
115 115 115
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
JASC-PAL
|
||||
0100
|
||||
8
|
||||
131 131 131
|
||||
148 148 148
|
||||
164 164 164
|
||||
180 180 180
|
||||
197 197 197
|
||||
213 213 213
|
||||
230 230 230
|
||||
255 255 255
|
||||
|
Before Width: | Height: | Size: 864 B After Width: | Height: | Size: 864 B |
|
Before Width: | Height: | Size: 778 B After Width: | Height: | Size: 778 B |
|
Before Width: | Height: | Size: 826 B After Width: | Height: | Size: 826 B |
|
|
@ -5,16 +5,10 @@ INTERFACEGFXDIR := graphics/interface
|
|||
PARTYMENUGFXDIR := graphics/party_menu
|
||||
BTLANMSPRGFXDIR := graphics/battle_anims/sprites
|
||||
UNUSEDGFXDIR := graphics/unused
|
||||
UNKNOWNGFXDIR := graphics/unknown
|
||||
BATINTGFXDIR := graphics/battle_interface
|
||||
MASKSGFXDIR := graphics/battle_anims/masks
|
||||
BATTRANSGFXDIR := graphics/battle_transitions
|
||||
TYPESGFXDIR := graphics/types
|
||||
RAYQUAZAGFXDIR := graphics/rayquaza_scene
|
||||
ROULETTEGFXDIR := graphics/roulette
|
||||
SLOTMACHINEGFXDIR := graphics/slot_machine
|
||||
PSSGFXDIR := graphics/pokemon_storage
|
||||
EVENTOBJGFXDIR := graphics/object_events
|
||||
FIELDEFFECTSGFXDIR := graphics/field_effects
|
||||
MISCGFXDIR := graphics/misc
|
||||
TEXTWINDOWGFXDIR := graphics/text_window
|
||||
|
|
@ -22,7 +16,6 @@ TEACHYTVGFXDIR := graphics/teachy_tv
|
|||
SSANNEGFXDIR := graphics/ss_anne
|
||||
ITEMPCGFXDIR := graphics/item_pc
|
||||
TITLESCREENGFXDIR := graphics/title_screen
|
||||
CREDITSGFXDIR := graphics/credits
|
||||
ITEMMENUGFXDIR := graphics/item_menu
|
||||
INTROGFXDIR := graphics/intro
|
||||
BATTLETERRAINGFXDIR := graphics/battle_terrain
|
||||
|
|
@ -33,9 +26,6 @@ NAMINGGFXDIR := graphics/naming_screen
|
|||
WALLPAPERGFXDIR := graphics/pokemon_storage/wallpapers
|
||||
JPCONTESTGFXDIR := graphics/contest/japanese
|
||||
|
||||
types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark
|
||||
contest_types := cool beauty cute smart tough
|
||||
|
||||
CASTFORMGFXDIR := graphics/pokemon/castform
|
||||
$(CASTFORMGFXDIR)/front.4bpp: $(CASTFORMGFXDIR)/normal/front.4bpp \
|
||||
$(CASTFORMGFXDIR)/sunny/front.4bpp \
|
||||
|
|
@ -94,22 +84,12 @@ $(FONTGFXDIR)/braille.fwjpnfont: $(FONTGFXDIR)/braille.png
|
|||
$(FONTGFXDIR)/japanese_bold.fwjpnfont: $(FONTGFXDIR)/japanese_bold.png
|
||||
$(GFX) $< $@
|
||||
|
||||
graphics/title_screen/pokemon_logo.gbapal: %.gbapal: %.pal
|
||||
$(GFX) $< $@ -num_colors 224
|
||||
|
||||
graphics/pokemon_jump/bg.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 63 -Wnum_tiles
|
||||
|
||||
$(MISCGFXDIR)/japanese_hof.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 29 -Wnum_tiles
|
||||
|
||||
$(MISCGFXDIR)/markings2.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 25 -Wnum_tiles
|
||||
|
||||
$(INTERFACEGFXDIR)/menu.gbapal: $(INTERFACEGFXDIR)/menu_0.gbapal \
|
||||
$(INTERFACEGFXDIR)/menu_1.gbapal
|
||||
@cat $^ >$@
|
||||
|
||||
$(BTLANMSPRGFXDIR)/ice_cube.4bpp: $(BTLANMSPRGFXDIR)/ice_cube_0.4bpp \
|
||||
$(BTLANMSPRGFXDIR)/ice_cube_1.4bpp \
|
||||
$(BTLANMSPRGFXDIR)/ice_cube_2.4bpp \
|
||||
|
|
@ -203,208 +183,6 @@ $(BATTRANSGFXDIR)/vs_frame.4bpp: %.4bpp: %.png
|
|||
$(PARTYMENUGFXDIR)/bg.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 62 -Wnum_tiles
|
||||
|
||||
$(TYPESGFXDIR)/move_types.4bpp: $(types:%=$(TYPESGFXDIR)/%.4bpp) $(contest_types:%=$(TYPESGFXDIR)/contest_%.4bpp)
|
||||
@cat $^ >$@
|
||||
|
||||
$(TYPESGFXDIR)/move_types.gbapal: $(TYPESGFXDIR)/move_types_1.gbapal \
|
||||
$(TYPESGFXDIR)/move_types_2.gbapal \
|
||||
$(TYPESGFXDIR)/move_types_3.gbapal
|
||||
@cat $^ >$@
|
||||
|
||||
$(INTERFACEGFXDIR)/bag_screen.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 53 -Wnum_tiles
|
||||
|
||||
$(RAYQUAZAGFXDIR)/rayquaza.8bpp: %.8bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 227 -Wnum_tiles
|
||||
|
||||
$(RAYQUAZAGFXDIR)/overcast.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 313 -Wnum_tiles
|
||||
|
||||
$(RAYQUAZAGFXDIR)/rayquaza_fly1.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 124 -Wnum_tiles
|
||||
|
||||
$(RAYQUAZAGFXDIR)/rayquaza_tail_fix.4bpp: $(RAYQUAZAGFXDIR)/rayquaza_tail.4bpp
|
||||
cp $< $@
|
||||
head -c 12 /dev/zero >> $@
|
||||
|
||||
$(RAYQUAZAGFXDIR)/chase_streaks.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 19 -Wnum_tiles
|
||||
|
||||
$(RAYQUAZAGFXDIR)/rayquaza_chase.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 155 -Wnum_tiles
|
||||
|
||||
graphics/picture_frame/frame5.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 86 -Wnum_tiles
|
||||
|
||||
$(ROULETTEGFXDIR)/roulette_tilt.4bpp: $(ROULETTEGFXDIR)/shroomish.4bpp \
|
||||
$(ROULETTEGFXDIR)/tailow.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(ROULETTEGFXDIR)/poke_icons2.4bpp: $(ROULETTEGFXDIR)/wynaut.4bpp \
|
||||
$(ROULETTEGFXDIR)/azurill.4bpp \
|
||||
$(ROULETTEGFXDIR)/skitty.4bpp \
|
||||
$(ROULETTEGFXDIR)/makuhita.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(UNUSEDGFXDIR)/intro_birch_beauty.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 822 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/forest_frame.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 55 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/forest.4bpp: $(PSSGFXDIR)/forest_frame.4bpp $(PSSGFXDIR)/forest_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/city_frame.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 52 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/city.4bpp: $(PSSGFXDIR)/city_frame.4bpp $(PSSGFXDIR)/city_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/desert.4bpp: $(PSSGFXDIR)/desert_frame.4bpp $(PSSGFXDIR)/desert_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/savanna_frame.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 45 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/savanna_bg.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 23 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/savanna.4bpp: $(PSSGFXDIR)/savanna_frame.4bpp $(PSSGFXDIR)/savanna_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/crag_frame.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 49 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/crag.4bpp: $(PSSGFXDIR)/crag_frame.4bpp $(PSSGFXDIR)/crag_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/volcano_frame.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 56 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/volcano.4bpp: $(PSSGFXDIR)/volcano_frame.4bpp $(PSSGFXDIR)/volcano_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/snow_frame.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 57 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/snow.4bpp: $(PSSGFXDIR)/snow_frame.4bpp $(PSSGFXDIR)/snow_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/cave_frame.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 55 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/cave.4bpp: $(PSSGFXDIR)/cave_frame.4bpp $(PSSGFXDIR)/cave_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/beach_frame.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 46 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/beach_bg.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 23 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/beach.4bpp: $(PSSGFXDIR)/beach_frame.4bpp $(PSSGFXDIR)/beach_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/seafloor_frame.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 54 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/seafloor.4bpp: $(PSSGFXDIR)/seafloor_frame.4bpp $(PSSGFXDIR)/seafloor_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/river_frame.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 51 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/river_bg.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 11 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/river.4bpp: $(PSSGFXDIR)/river_frame.4bpp $(PSSGFXDIR)/river_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/sky_frame.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 45 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/sky.4bpp: $(PSSGFXDIR)/sky_frame.4bpp $(PSSGFXDIR)/sky_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/polkadot_frame.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 54 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/polkadot.4bpp: $(PSSGFXDIR)/polkadot_frame.4bpp $(PSSGFXDIR)/polkadot_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/pokecenter_frame.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 35 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/pokecenter.4bpp: $(PSSGFXDIR)/pokecenter_frame.4bpp $(PSSGFXDIR)/pokecenter_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/machine_frame.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 33 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/machine.4bpp: $(PSSGFXDIR)/machine_frame.4bpp $(PSSGFXDIR)/machine_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/plain_frame.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 18 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/plain.4bpp: $(PSSGFXDIR)/plain_frame.4bpp $(PSSGFXDIR)/plain_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/friends_frame1.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 57 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/friends_frame2.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 57 -Wnum_tiles
|
||||
|
||||
$(PSSGFXDIR)/zigzagoon.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/zigzagoon_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/screen.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/screen_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/horizontal.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/horizontal_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/diagonal.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/diagonal_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/block.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/block_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/ribbon.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/ribbon_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/pokecenter2.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/pokecenter2_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/frame.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/frame_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/blank.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/blank_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/circles.4bpp: $(PSSGFXDIR)/friends_frame1.4bpp $(PSSGFXDIR)/circles_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/azumarill.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/azumarill_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/pikachu.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/pikachu_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/legendary.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/legendary_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/dusclops.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/dusclops_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/ludicolo.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/ludicolo_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(PSSGFXDIR)/whiscash.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/whiscash_bg.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(FIELDEFFECTSGFXDIR)/pics/underwater_bubbles.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -mwidth 2 -mheight 4
|
||||
|
||||
|
|
@ -425,24 +203,6 @@ $(INTERFACEGFXDIR)/selector_outline.4bpp: %.4bpp: %.png
|
|||
|
||||
graphics/tm_case/tm_case.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 91 -Wnum_tiles
|
||||
|
||||
$(PKNAVGFXDIR)/header.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 53 -Wnum_tiles
|
||||
|
||||
$(PKNAVGFXDIR)/outline.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 53 -Wnum_tiles
|
||||
|
||||
$(PKNAVGFXDIR)/ui_matchcall.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 13 -Wnum_tiles
|
||||
|
||||
$(INTERFACEGFXDIR)/region_map.8bpp: %.8bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 232 -Wnum_tiles
|
||||
|
||||
$(INTERFACEGFXDIR)/region_map_affine.8bpp: %.8bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 233 -Wnum_tiles
|
||||
|
||||
$(MISCGFXDIR)/birch_help.4bpp: $(MISCGFXDIR)/birch_bag.4bpp $(MISCGFXDIR)/birch_grass.4bpp
|
||||
@cat $^ >$@
|
||||
|
||||
$(FAMECHECKERGFXDIR)/spinning_pokeball.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 15 -Wnum_tiles
|
||||
|
|
|
|||
|
|
@ -23,8 +23,13 @@
|
|||
#define PCSWITCH_FORCE_SP_START 0x09
|
||||
|
||||
// Period for which parent-child switching search specified
|
||||
#if REVISION >= 0xA
|
||||
#define PCSWITCH_ALL_PERIOD 180 // Entire cycle 180 frames
|
||||
#define PCSWITCH_SP_PERIOD 65 // Child period 40 frames
|
||||
#else
|
||||
#define PCSWITCH_ALL_PERIOD 180 // Entire cycle 180 frames
|
||||
#define PCSWITCH_SP_PERIOD 40 // Child period 40 frames
|
||||
#endif
|
||||
|
||||
// Error code returned by Link Manager API (rfu_LMAN_...return value of function)
|
||||
#define LMAN_ERROR_MANAGER_BUSY 1 // Link Manager is already running.
|
||||
|
|
@ -165,6 +170,9 @@ typedef struct linkManagerTag
|
|||
/* 0x014 */ u16 param[2];
|
||||
/* 0x018 */ u16 NI_failCounter_limit;
|
||||
/* 0x01a */ u16 connect_period;
|
||||
#if REVISION >= 0xA
|
||||
/* 0x01c */ u16 connect_period_initial; // pushes next offsets up by 2
|
||||
#endif
|
||||
/* 0x01c */ u16 pcswitch_period_bak;
|
||||
/* 0x01e */ u16 work;
|
||||
/* 0x020 */ u16 *acceptable_serialNo_list;
|
||||
|
|
@ -190,6 +198,10 @@ u8 rfu_LMAN_setLinkRecovery(u8 enable_flag, u16 recovery_period);
|
|||
void rfu_LMAN_manager_entity(u32 rand);
|
||||
void rfu_LMAN_syncVBlank(void);
|
||||
u8 rfu_LMAN_initializeManager(void (*LMAN_callback_p)(u8, u8), void (*MSC_callback_p)(u16));
|
||||
#if REVISION >= 0xA
|
||||
void rfu_LMAN_forceChangeSP(bool8 child);
|
||||
#else
|
||||
void rfu_LMAN_forceChangeSP(void);
|
||||
#endif
|
||||
|
||||
#endif //GUARD_LINKMANAGER_H
|
||||
|
|
|
|||
|
|
@ -8,12 +8,17 @@
|
|||
// still has them in the ROM. This is because the developers forgot
|
||||
// to define NDEBUG before release, however this has been changed as
|
||||
// Ruby's actual debug build does not use the AGBPrint features.
|
||||
// #define NDEBUG
|
||||
|
||||
// Revision 10 disabled asserts in some other way, comment out NDEBUG there to bring them back.
|
||||
#if REVISION >= 0xA
|
||||
#define NDEBUG
|
||||
#endif
|
||||
|
||||
// Fire Red likely forgot to define NDEBUG/NOAGBPRN before release, leading
|
||||
// to the inclusion of asserts in the retail ROM.
|
||||
// Revision 10 disabled asserts in some other way, but isagbprint/etc is still present there.
|
||||
|
||||
#ifndef NDEBUG
|
||||
#if !defined(NDEBUG) || REVISION >= 0xA
|
||||
#define PRETTY_PRINT_OFF (0)
|
||||
#define PRETTY_PRINT_MINI_PRINTF (1)
|
||||
#define PRETTY_PRINT_LIBC (2)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
#define OBJ_EVENT_GFX_SITTING_BOY 21
|
||||
#define OBJ_EVENT_GFX_LASS 22
|
||||
#define OBJ_EVENT_GFX_WOMAN_1 23
|
||||
#define OBJ_EVENT_GFX_BATTLE_GIRL 24
|
||||
#define OBJ_EVENT_GFX_CRUSH_GIRL 24
|
||||
#define OBJ_EVENT_GFX_MAN 25
|
||||
#define OBJ_EVENT_GFX_ROCKER 26
|
||||
#define OBJ_EVENT_GFX_FAT_MAN 27
|
||||
|
|
@ -55,9 +55,9 @@
|
|||
#define OBJ_EVENT_GFX_ROCKET_M 49
|
||||
#define OBJ_EVENT_GFX_ROCKET_F 50
|
||||
#define OBJ_EVENT_GFX_GBA_KID 51
|
||||
#define OBJ_EVENT_GFX_SUPER_NERD 52
|
||||
#define OBJ_EVENT_GFX_POKE_MANIAC 52
|
||||
#define OBJ_EVENT_GFX_BIKER 53
|
||||
#define OBJ_EVENT_GFX_BLACKBELT 54
|
||||
#define OBJ_EVENT_GFX_BLACK_BELT 54
|
||||
#define OBJ_EVENT_GFX_SCIENTIST 55
|
||||
#define OBJ_EVENT_GFX_HIKER 56
|
||||
#define OBJ_EVENT_GFX_FISHER 57
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@
|
|||
#define FLAG_HIDE_UNION_ROOM_PLAYER_7 0x069
|
||||
#define FLAG_HIDE_UNION_ROOM_PLAYER_8 0x06A
|
||||
#define FLAG_HIDE_CINNABAR_SEAGALLOP 0x06B
|
||||
#define FLAG_HIDE_SAFFRON_FAN_CLUB_BLACKBELT 0x06C
|
||||
#define FLAG_HIDE_SAFFRON_FAN_CLUB_BLACK_BELT 0x06C
|
||||
#define FLAG_HIDE_SAFFRON_FAN_CLUB_ROCKER 0x06D
|
||||
#define FLAG_HIDE_SAFFRON_FAN_CLUB_WOMAN 0x06E
|
||||
#define FLAG_HIDE_SAFFRON_FAN_CLUB_BEAUTY 0x06F
|
||||
|
|
@ -138,7 +138,7 @@
|
|||
#define FLAG_HIDE_LOSTELLE_IN_BERRY_FOREST 0x07A
|
||||
#define FLAG_HIDE_TWO_ISLAND_WOMAN 0x07B
|
||||
#define FLAG_HIDE_TWO_ISLAND_BEAUTY 0x07C
|
||||
#define FLAG_HIDE_TWO_ISLAND_SUPER_NERD 0x07D
|
||||
#define FLAG_HIDE_TWO_ISLAND_POKE_MANIAC 0x07D
|
||||
#define FLAG_HIDE_THREE_ISLAND_ANTIBIKERS 0x07E
|
||||
#define FLAG_0x07F 0x07F
|
||||
#define FLAG_HIDE_ROUTE_16_SNORLAX 0x080
|
||||
|
|
|
|||
|
|
@ -111,4 +111,14 @@
|
|||
#define STDSTRING_TM_CASE 27
|
||||
#define STDSTRING_BERRY_POUCH 28
|
||||
|
||||
enum
|
||||
{
|
||||
PSA_MON_ATTR_TMHM_X_POS,
|
||||
PSA_MON_ATTR_TMHM_Y_POS,
|
||||
PSA_MON_ATTR_Y_OFFSET,
|
||||
PSA_MON_ATTR_ITEM_X_POS,
|
||||
PSA_MON_ATTR_ITEM_Y_POS,
|
||||
PSA_MON_ATTR_COUNT
|
||||
};
|
||||
|
||||
#endif //GUARD_CONSTANTS_MENU_H
|
||||
|
|
|
|||
27
include/constants/pokemon_special_anim.h
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
#ifndef GUARD_CONSTANTS_POKEMON_SPECIAL_ANIM_H
|
||||
#define GUARD_CONSTANTS_POKEMON_SPECIAL_ANIM_H
|
||||
|
||||
enum
|
||||
{
|
||||
PSA_TEXT_ITEM_USED,
|
||||
PSA_TEXT_LEVEL_ELEVATED,
|
||||
PSA_TEXT_FORGET_1,
|
||||
PSA_TEXT_FORGET_2_AND,
|
||||
PSA_TEXT_FORGET_POOF,
|
||||
PSA_TEXT_FORGET_FORGOT,
|
||||
PSA_TEXT_FORGET_AND,
|
||||
PSA_TEXT_MACHINE_SET,
|
||||
PSA_TEXT_HUH,
|
||||
PSA_TEXT_LEARNED_MOVE
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
PSA_ITEM_ANIM_TYPE_DEFAULT,
|
||||
PSA_ITEM_ANIM_TYPE_POTION,
|
||||
PSA_ITEM_ANIM_TYPE_UNUSED1,
|
||||
PSA_ITEM_ANIM_TYPE_UNUSED2,
|
||||
PSA_ITEM_ANIM_TYPE_TMHM
|
||||
};
|
||||
|
||||
#endif // GUARD_CONSTANTS_POKEMON_SPECIAL_ANIM_H
|
||||
|
|
@ -7,9 +7,10 @@
|
|||
// exceed RFU_CHILD_MAX (4), for a total of 5 including the player.
|
||||
#define MAX_UNION_ROOM_LEADERS 8
|
||||
|
||||
#define UNION_ROOM_SPAWN_NONE 0
|
||||
#define UNION_ROOM_SPAWN_IN 1
|
||||
#define UNION_ROOM_SPAWN_OUT 2
|
||||
#define UNION_ROOM_SPAWN_NONE 0
|
||||
#define UNION_ROOM_SPAWN_IN 1
|
||||
#define UNION_ROOM_SPAWN_OUT 2
|
||||
#define UNION_ROOM_SPAWN_OUT_SOON 3 // Equivalent to SPAWN_OUT in revision 10 - probably SPAWN_OUT means disconnected in a "connection reset" way?
|
||||
|
||||
#define UNION_ROOM_MAX_LEVEL 30
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
#define MGBA_LOG_INFO (3)
|
||||
#define MGBA_LOG_DEBUG (4)
|
||||
|
||||
#ifdef NDEBUG
|
||||
#if defined(NDEBUG) && !(REVISION >= 0xA)
|
||||
#define DebugPrintf(pBuf, ...)
|
||||
#define DebugPrintfLevel(level, pBuf, ...)
|
||||
#define MgbaOpen()
|
||||
|
|
|
|||
|
|
@ -3936,8 +3936,8 @@ extern const u32 gBlankGfxCompressed[];
|
|||
extern const u32 gInterfaceGfx_HPNumbers[];
|
||||
extern const u32 gGhostFrontPic[];
|
||||
extern const u32 gGhostPalette[];
|
||||
extern const u32 gSubstituteDollGfx[];
|
||||
extern const u32 gSubstituteDollTilemap[];
|
||||
extern const u32 gSubstituteDollFrontGfx[];
|
||||
extern const u32 gSubstituteDollBackGfx[];
|
||||
extern const u32 gSubstituteDollPal[];
|
||||
|
||||
// ice
|
||||
|
|
|
|||
|
|
@ -4,7 +4,11 @@
|
|||
#include "global.h"
|
||||
#include "main.h"
|
||||
|
||||
#if REVISION >= 0xA
|
||||
#define LIBRFU_VERSION 1028
|
||||
#else
|
||||
#define LIBRFU_VERSION 1024
|
||||
#endif
|
||||
|
||||
/* TODOs:
|
||||
* - documentation
|
||||
|
|
|
|||
|
|
@ -294,6 +294,7 @@ bool32 WaitRfuState(bool32 force);
|
|||
bool32 HasTrainerLeftPartnersList(u16 trainerId, const u8 *trainerName);
|
||||
void SendRfuStatusToPartner(u8 status, u16 trainerId, const u8 *name);
|
||||
u32 WaitSendRfuStatusToPartner(u16 trainerId, const u8 *name);
|
||||
s32 GetJoinGroupStatus(void);
|
||||
void SetHostRfuGameData(u8 activity, u32 partnerInfo, bool32 startedActivity);
|
||||
void InitializeRfuLinkManager_LinkLeader(u32 availSlots);
|
||||
void RequestDisconnectSlotByTrainerNameAndId(const u8 *trainerName, u16 trainerId);
|
||||
|
|
@ -322,6 +323,17 @@ void RfuSetNormalDisconnectMode(void);
|
|||
void SetUnionRoomChatPlayerData(u32 numPlayers);
|
||||
void ClearRecvCommands(void);
|
||||
|
||||
void PkmnStrToASCII(u8 *dest, const u8 *src);
|
||||
void ASCIIToPkmnStr(u8 *dest, const u8 *src);
|
||||
|
||||
#if REVISION >= 0xA
|
||||
u16 RfuGetErrorInfo(void);
|
||||
void LinkRfu_ForceChangeSpParent(void);
|
||||
void DestroyTask_RfuReconnectWithParent(void);
|
||||
void RfuReloadSave(void);
|
||||
void RfuSoftReset(void);
|
||||
#endif
|
||||
|
||||
#include "mystery_gift_server.h"
|
||||
extern const struct MysteryGiftServerCmd gServerScript_ClientCanceledCard[];
|
||||
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 x, u
|
|||
void Menu_PrintFormatIntlPlayerName(u8 windowId, const u8 * src, u16 x, u16 y);
|
||||
void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority);
|
||||
bool8 IsBlendTaskActive(void);
|
||||
u8 Menu2_GetMonSpriteAnchorCoord(u16 species, u32 personality, u8 a2);
|
||||
s8 Menu2_GetMonSpriteAnchorCoordMinusx20(u16 species, u32 personality, u8 a2);
|
||||
u8 Menu2_GetMonPosAttribute(u16 species, u32 personality, u8 attributeId);
|
||||
s8 Menu2_GetStarSpritePosAttribute(u16 species, u32 personality, u8 attributeId);
|
||||
|
||||
// list_menu
|
||||
void ListMenu_LoadMonIconPalette(u8 palOffset, u16 speciesId);
|
||||
|
|
|
|||
|
|
@ -180,6 +180,10 @@ void UpdateEscapeWarp(s16 x, s16 y);
|
|||
bool8 SetDiveWarpEmerge(u16 x, u16 y);
|
||||
bool8 SetDiveWarpDive(u16 x, u16 y);
|
||||
|
||||
#if REVISION >= 0xA
|
||||
void ClearFieldCallback(void);
|
||||
#endif
|
||||
|
||||
extern u16 *gBGTilemapBuffers1;
|
||||
extern u16 *gBGTilemapBuffers2;
|
||||
extern u16 *gBGTilemapBuffers3;
|
||||
|
|
|
|||
|
|
@ -3,19 +3,6 @@
|
|||
|
||||
#include "pokemon_special_anim.h"
|
||||
|
||||
enum
|
||||
{
|
||||
PSA_TEXT_ITEM_USED,
|
||||
PSA_TEXT_LEVEL_ELEVATED,
|
||||
PSA_TEXT_FORGET_1,
|
||||
PSA_TEXT_FORGET_2_AND,
|
||||
PSA_TEXT_FORGET_POOF,
|
||||
PSA_TEXT_FORGET_FORGOT,
|
||||
PSA_TEXT_FORGET_AND,
|
||||
PSA_TEXT_MACHINE_SET,
|
||||
PSA_TEXT_HUH,
|
||||
PSA_TEXT_LEARNED_MOVE
|
||||
};
|
||||
|
||||
struct PokemonSpecialAnimScene
|
||||
{
|
||||
|
|
|
|||
36
include/sloopsvc.h
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
#ifndef GUARD_SLOOPSVC_H
|
||||
#define GUARD_SLOOPSVC_H
|
||||
|
||||
#if REVISION >= 0xA
|
||||
|
||||
#define SVC4B_EXIT_EARLY (1 << 0)
|
||||
#define SVC4B_RESEED_RNG (1 << 1)
|
||||
|
||||
void svc_40(void);
|
||||
void svc_41(void);
|
||||
|
||||
void svc_47(void);
|
||||
void svc_42(void);
|
||||
u32 svc_49(void);
|
||||
void svc_45_rfu_link_status(void);
|
||||
u32 svc_4a(void);
|
||||
void svc_43(u16 pid);
|
||||
void svc_44(void);
|
||||
u32 svc_53(void);
|
||||
u32 svc_51(void);
|
||||
u32 svc_4b(void);
|
||||
void svc_WriteSector(u8 sector, u8* data);
|
||||
void svc_ReplaceSector(u8 sector, u8* data);
|
||||
void svc_FinishSave(void);
|
||||
u32 svc_CommsAllowedByParentalControls(void);
|
||||
u32 svc_BadWordCheck(u8* str);
|
||||
void svc_4f(u32 arg);
|
||||
u32 svc_50(void);
|
||||
void svc_SetSaveBlock2(struct SaveBlock2* saveBlock2);
|
||||
void svc_stubbed(void);
|
||||
void svc_SetStarter(u32 species);
|
||||
void svc_SetActivity(u32 activity);
|
||||
void svc_IncrementLinkError(void);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
267
ld_script.ld
|
|
@ -64,6 +64,7 @@ SECTIONS {
|
|||
src/window_8bpp.o(.text);
|
||||
src/text.o(.text);
|
||||
src/sprite.o(.text);
|
||||
src/sloopsvc.o(.text);
|
||||
src/string_util.o(.text);
|
||||
src/link.o(.text);
|
||||
src/multiboot.o(.text);
|
||||
|
|
@ -405,6 +406,7 @@ SECTIONS {
|
|||
src/text.o(.rodata);
|
||||
src/sprite.o(.rodata);
|
||||
src/bg_regs.o(.rodata);
|
||||
src/sloopsvc.o(.rodata);
|
||||
src/string_util.o(.rodata);
|
||||
src/link.o(.rodata);
|
||||
src/main_menu.o(.rodata);
|
||||
|
|
@ -622,8 +624,8 @@ SECTIONS {
|
|||
sound/songs/midi/se_pc_off.o(.rodata);
|
||||
sound/songs/midi/se_pc_on.o(.rodata);
|
||||
sound/songs/midi/se_select.o(.rodata);
|
||||
sound/songs/se_win_open.o(.rodata);
|
||||
sound/songs/se_wall_hit.o(.rodata);
|
||||
sound/songs/midi/se_win_open.o(.rodata);
|
||||
sound/songs/midi/se_wall_hit.o(.rodata);
|
||||
sound/songs/midi/se_rs_door.o(.rodata);
|
||||
sound/songs/midi/se_exit.o(.rodata);
|
||||
sound/songs/midi/se_ledge.o(.rodata);
|
||||
|
|
@ -717,8 +719,8 @@ SECTIONS {
|
|||
sound/songs/midi/se_applause.o(.rodata);
|
||||
sound/songs/midi/se_vend.o(.rodata);
|
||||
sound/songs/midi/se_orb.o(.rodata);
|
||||
sound/songs/se_dex_scroll.o(.rodata);
|
||||
sound/songs/se_dex_page.o(.rodata);
|
||||
sound/songs/midi/se_dex_scroll.o(.rodata);
|
||||
sound/songs/midi/se_dex_page.o(.rodata);
|
||||
sound/songs/midi/se_pokenav_on.o(.rodata);
|
||||
sound/songs/midi/se_pokenav_off.o(.rodata);
|
||||
sound/songs/midi/se_dex_search.o(.rodata);
|
||||
|
|
@ -727,151 +729,151 @@ SECTIONS {
|
|||
sound/songs/midi/se_ball_tray_ball.o(.rodata);
|
||||
sound/songs/midi/se_ball_tray_exit.o(.rodata);
|
||||
sound/songs/midi/se_glass_flute.o(.rodata);
|
||||
sound/songs/se_m_thunderbolt.o(.rodata);
|
||||
sound/songs/se_m_thunderbolt2.o(.rodata);
|
||||
sound/songs/se_m_harden.o(.rodata);
|
||||
sound/songs/se_m_nightmare.o(.rodata);
|
||||
sound/songs/se_m_vital_throw.o(.rodata);
|
||||
sound/songs/se_m_vital_throw2.o(.rodata);
|
||||
sound/songs/se_m_bubble.o(.rodata);
|
||||
sound/songs/se_m_bubble2.o(.rodata);
|
||||
sound/songs/se_m_bubble3.o(.rodata);
|
||||
sound/songs/se_m_rain_dance.o(.rodata);
|
||||
sound/songs/midi/se_m_thunderbolt.o(.rodata);
|
||||
sound/songs/midi/se_m_thunderbolt2.o(.rodata);
|
||||
sound/songs/midi/se_m_harden.o(.rodata);
|
||||
sound/songs/midi/se_m_nightmare.o(.rodata);
|
||||
sound/songs/midi/se_m_vital_throw.o(.rodata);
|
||||
sound/songs/midi/se_m_vital_throw2.o(.rodata);
|
||||
sound/songs/midi/se_m_bubble.o(.rodata);
|
||||
sound/songs/midi/se_m_bubble2.o(.rodata);
|
||||
sound/songs/midi/se_m_bubble3.o(.rodata);
|
||||
sound/songs/midi/se_m_rain_dance.o(.rodata);
|
||||
sound/songs/midi/se_m_cut.o(.rodata);
|
||||
sound/songs/se_m_string_shot.o(.rodata);
|
||||
sound/songs/se_m_string_shot2.o(.rodata);
|
||||
sound/songs/se_m_rock_throw.o(.rodata);
|
||||
sound/songs/midi/se_m_string_shot.o(.rodata);
|
||||
sound/songs/midi/se_m_string_shot2.o(.rodata);
|
||||
sound/songs/midi/se_m_rock_throw.o(.rodata);
|
||||
sound/songs/midi/se_m_gust.o(.rodata);
|
||||
sound/songs/midi/se_m_gust2.o(.rodata);
|
||||
sound/songs/midi/se_m_double_slap.o(.rodata);
|
||||
sound/songs/se_m_double_team.o(.rodata);
|
||||
sound/songs/midi/se_m_double_team.o(.rodata);
|
||||
sound/songs/midi/se_m_razor_wind.o(.rodata);
|
||||
sound/songs/se_m_icy_wind.o(.rodata);
|
||||
sound/songs/se_m_thunder_wave.o(.rodata);
|
||||
sound/songs/midi/se_m_icy_wind.o(.rodata);
|
||||
sound/songs/midi/se_m_thunder_wave.o(.rodata);
|
||||
sound/songs/midi/se_m_comet_punch.o(.rodata);
|
||||
sound/songs/midi/se_m_mega_kick.o(.rodata);
|
||||
sound/songs/midi/se_m_mega_kick2.o(.rodata);
|
||||
sound/songs/se_m_crabhammer.o(.rodata);
|
||||
sound/songs/midi/se_m_crabhammer.o(.rodata);
|
||||
sound/songs/midi/se_m_jump_kick.o(.rodata);
|
||||
sound/songs/se_m_flame_wheel.o(.rodata);
|
||||
sound/songs/se_m_flame_wheel2.o(.rodata);
|
||||
sound/songs/se_m_flamethrower.o(.rodata);
|
||||
sound/songs/midi/se_m_flame_wheel.o(.rodata);
|
||||
sound/songs/midi/se_m_flame_wheel2.o(.rodata);
|
||||
sound/songs/midi/se_m_flamethrower.o(.rodata);
|
||||
sound/songs/midi/se_m_fire_punch.o(.rodata);
|
||||
sound/songs/se_m_toxic.o(.rodata);
|
||||
sound/songs/se_m_sacred_fire.o(.rodata);
|
||||
sound/songs/se_m_sacred_fire2.o(.rodata);
|
||||
sound/songs/se_m_ember.o(.rodata);
|
||||
sound/songs/midi/se_m_toxic.o(.rodata);
|
||||
sound/songs/midi/se_m_sacred_fire.o(.rodata);
|
||||
sound/songs/midi/se_m_sacred_fire2.o(.rodata);
|
||||
sound/songs/midi/se_m_ember.o(.rodata);
|
||||
sound/songs/midi/se_m_take_down.o(.rodata);
|
||||
sound/songs/se_m_blizzard.o(.rodata);
|
||||
sound/songs/se_m_blizzard2.o(.rodata);
|
||||
sound/songs/midi/se_m_blizzard.o(.rodata);
|
||||
sound/songs/midi/se_m_blizzard2.o(.rodata);
|
||||
sound/songs/midi/se_m_scratch.o(.rodata);
|
||||
sound/songs/midi/se_m_vicegrip.o(.rodata);
|
||||
sound/songs/midi/se_m_wing_attack.o(.rodata);
|
||||
sound/songs/midi/se_m_fly.o(.rodata);
|
||||
sound/songs/midi/se_m_sand_attack.o(.rodata);
|
||||
sound/songs/midi/se_m_razor_wind2.o(.rodata);
|
||||
sound/songs/se_m_bite.o(.rodata);
|
||||
sound/songs/midi/se_m_bite.o(.rodata);
|
||||
sound/songs/midi/se_m_headbutt.o(.rodata);
|
||||
sound/songs/se_m_surf.o(.rodata);
|
||||
sound/songs/se_m_hydro_pump.o(.rodata);
|
||||
sound/songs/se_m_whirlpool.o(.rodata);
|
||||
sound/songs/midi/se_m_surf.o(.rodata);
|
||||
sound/songs/midi/se_m_hydro_pump.o(.rodata);
|
||||
sound/songs/midi/se_m_whirlpool.o(.rodata);
|
||||
sound/songs/midi/se_m_horn_attack.o(.rodata);
|
||||
sound/songs/midi/se_m_tail_whip.o(.rodata);
|
||||
sound/songs/se_m_mist.o(.rodata);
|
||||
sound/songs/se_m_poison_powder.o(.rodata);
|
||||
sound/songs/midi/se_m_mist.o(.rodata);
|
||||
sound/songs/midi/se_m_poison_powder.o(.rodata);
|
||||
sound/songs/midi/se_m_bind.o(.rodata);
|
||||
sound/songs/se_m_dragon_rage.o(.rodata);
|
||||
sound/songs/se_m_sing.o(.rodata);
|
||||
sound/songs/se_m_perish_song.o(.rodata);
|
||||
sound/songs/midi/se_m_dragon_rage.o(.rodata);
|
||||
sound/songs/midi/se_m_sing.o(.rodata);
|
||||
sound/songs/midi/se_m_perish_song.o(.rodata);
|
||||
sound/songs/midi/se_m_pay_day.o(.rodata);
|
||||
sound/songs/se_m_dig.o(.rodata);
|
||||
sound/songs/se_m_dizzy_punch.o(.rodata);
|
||||
sound/songs/se_m_self_destruct.o(.rodata);
|
||||
sound/songs/se_m_explosion.o(.rodata);
|
||||
sound/songs/se_m_absorb_2.o(.rodata);
|
||||
sound/songs/se_m_absorb.o(.rodata);
|
||||
sound/songs/se_m_screech.o(.rodata);
|
||||
sound/songs/se_m_bubble_beam.o(.rodata);
|
||||
sound/songs/se_m_bubble_beam2.o(.rodata);
|
||||
sound/songs/se_m_supersonic.o(.rodata);
|
||||
sound/songs/se_m_belly_drum.o(.rodata);
|
||||
sound/songs/se_m_metronome.o(.rodata);
|
||||
sound/songs/se_m_bonemerang.o(.rodata);
|
||||
sound/songs/se_m_lick.o(.rodata);
|
||||
sound/songs/se_m_psybeam.o(.rodata);
|
||||
sound/songs/se_m_faint_attack.o(.rodata);
|
||||
sound/songs/midi/se_m_dig.o(.rodata);
|
||||
sound/songs/midi/se_m_dizzy_punch.o(.rodata);
|
||||
sound/songs/midi/se_m_self_destruct.o(.rodata);
|
||||
sound/songs/midi/se_m_explosion.o(.rodata);
|
||||
sound/songs/midi/se_m_absorb_2.o(.rodata);
|
||||
sound/songs/midi/se_m_absorb.o(.rodata);
|
||||
sound/songs/midi/se_m_screech.o(.rodata);
|
||||
sound/songs/midi/se_m_bubble_beam.o(.rodata);
|
||||
sound/songs/midi/se_m_bubble_beam2.o(.rodata);
|
||||
sound/songs/midi/se_m_supersonic.o(.rodata);
|
||||
sound/songs/midi/se_m_belly_drum.o(.rodata);
|
||||
sound/songs/midi/se_m_metronome.o(.rodata);
|
||||
sound/songs/midi/se_m_bonemerang.o(.rodata);
|
||||
sound/songs/midi/se_m_lick.o(.rodata);
|
||||
sound/songs/midi/se_m_psybeam.o(.rodata);
|
||||
sound/songs/midi/se_m_faint_attack.o(.rodata);
|
||||
sound/songs/midi/se_m_swords_dance.o(.rodata);
|
||||
sound/songs/midi/se_m_leer.o(.rodata);
|
||||
sound/songs/se_m_swagger.o(.rodata);
|
||||
sound/songs/se_m_swagger2.o(.rodata);
|
||||
sound/songs/se_m_heal_bell.o(.rodata);
|
||||
sound/songs/se_m_confuse_ray.o(.rodata);
|
||||
sound/songs/se_m_snore.o(.rodata);
|
||||
sound/songs/se_m_brick_break.o(.rodata);
|
||||
sound/songs/se_m_giga_drain.o(.rodata);
|
||||
sound/songs/se_m_psybeam2.o(.rodata);
|
||||
sound/songs/se_m_solar_beam.o(.rodata);
|
||||
sound/songs/se_m_petal_dance.o(.rodata);
|
||||
sound/songs/se_m_teleport.o(.rodata);
|
||||
sound/songs/se_m_minimize.o(.rodata);
|
||||
sound/songs/se_m_sketch.o(.rodata);
|
||||
sound/songs/se_m_swift.o(.rodata);
|
||||
sound/songs/se_m_reflect.o(.rodata);
|
||||
sound/songs/se_m_barrier.o(.rodata);
|
||||
sound/songs/se_m_detect.o(.rodata);
|
||||
sound/songs/se_m_lock_on.o(.rodata);
|
||||
sound/songs/se_m_moonlight.o(.rodata);
|
||||
sound/songs/se_m_charm.o(.rodata);
|
||||
sound/songs/se_m_charge.o(.rodata);
|
||||
sound/songs/se_m_strength.o(.rodata);
|
||||
sound/songs/se_m_hyper_beam.o(.rodata);
|
||||
sound/songs/se_m_waterfall.o(.rodata);
|
||||
sound/songs/se_m_reversal.o(.rodata);
|
||||
sound/songs/se_m_acid_armor.o(.rodata);
|
||||
sound/songs/se_m_sandstorm.o(.rodata);
|
||||
sound/songs/se_m_tri_attack.o(.rodata);
|
||||
sound/songs/se_m_tri_attack2.o(.rodata);
|
||||
sound/songs/se_m_encore.o(.rodata);
|
||||
sound/songs/se_m_encore2.o(.rodata);
|
||||
sound/songs/se_m_baton_pass.o(.rodata);
|
||||
sound/songs/se_m_milk_drink.o(.rodata);
|
||||
sound/songs/se_m_attract.o(.rodata);
|
||||
sound/songs/se_m_attract2.o(.rodata);
|
||||
sound/songs/se_m_morning_sun.o(.rodata);
|
||||
sound/songs/se_m_flatter.o(.rodata);
|
||||
sound/songs/se_m_sand_tomb.o(.rodata);
|
||||
sound/songs/se_m_grasswhistle.o(.rodata);
|
||||
sound/songs/se_m_spit_up.o(.rodata);
|
||||
sound/songs/se_m_dive.o(.rodata);
|
||||
sound/songs/se_m_earthquake.o(.rodata);
|
||||
sound/songs/se_m_twister.o(.rodata);
|
||||
sound/songs/se_m_sweet_scent.o(.rodata);
|
||||
sound/songs/se_m_yawn.o(.rodata);
|
||||
sound/songs/se_m_sky_uppercut.o(.rodata);
|
||||
sound/songs/se_m_stat_increase.o(.rodata);
|
||||
sound/songs/se_m_heat_wave.o(.rodata);
|
||||
sound/songs/se_m_uproar.o(.rodata);
|
||||
sound/songs/se_m_hail.o(.rodata);
|
||||
sound/songs/se_m_cosmic_power.o(.rodata);
|
||||
sound/songs/se_m_teeter_dance.o(.rodata);
|
||||
sound/songs/se_m_stat_decrease.o(.rodata);
|
||||
sound/songs/se_m_haze.o(.rodata);
|
||||
sound/songs/se_m_hyper_beam2.o(.rodata);
|
||||
sound/songs/midi/se_m_swagger.o(.rodata);
|
||||
sound/songs/midi/se_m_swagger2.o(.rodata);
|
||||
sound/songs/midi/se_m_heal_bell.o(.rodata);
|
||||
sound/songs/midi/se_m_confuse_ray.o(.rodata);
|
||||
sound/songs/midi/se_m_snore.o(.rodata);
|
||||
sound/songs/midi/se_m_brick_break.o(.rodata);
|
||||
sound/songs/midi/se_m_giga_drain.o(.rodata);
|
||||
sound/songs/midi/se_m_psybeam2.o(.rodata);
|
||||
sound/songs/midi/se_m_solar_beam.o(.rodata);
|
||||
sound/songs/midi/se_m_petal_dance.o(.rodata);
|
||||
sound/songs/midi/se_m_teleport.o(.rodata);
|
||||
sound/songs/midi/se_m_minimize.o(.rodata);
|
||||
sound/songs/midi/se_m_sketch.o(.rodata);
|
||||
sound/songs/midi/se_m_swift.o(.rodata);
|
||||
sound/songs/midi/se_m_reflect.o(.rodata);
|
||||
sound/songs/midi/se_m_barrier.o(.rodata);
|
||||
sound/songs/midi/se_m_detect.o(.rodata);
|
||||
sound/songs/midi/se_m_lock_on.o(.rodata);
|
||||
sound/songs/midi/se_m_moonlight.o(.rodata);
|
||||
sound/songs/midi/se_m_charm.o(.rodata);
|
||||
sound/songs/midi/se_m_charge.o(.rodata);
|
||||
sound/songs/midi/se_m_strength.o(.rodata);
|
||||
sound/songs/midi/se_m_hyper_beam.o(.rodata);
|
||||
sound/songs/midi/se_m_waterfall.o(.rodata);
|
||||
sound/songs/midi/se_m_reversal.o(.rodata);
|
||||
sound/songs/midi/se_m_acid_armor.o(.rodata);
|
||||
sound/songs/midi/se_m_sandstorm.o(.rodata);
|
||||
sound/songs/midi/se_m_tri_attack.o(.rodata);
|
||||
sound/songs/midi/se_m_tri_attack2.o(.rodata);
|
||||
sound/songs/midi/se_m_encore.o(.rodata);
|
||||
sound/songs/midi/se_m_encore2.o(.rodata);
|
||||
sound/songs/midi/se_m_baton_pass.o(.rodata);
|
||||
sound/songs/midi/se_m_milk_drink.o(.rodata);
|
||||
sound/songs/midi/se_m_attract.o(.rodata);
|
||||
sound/songs/midi/se_m_attract2.o(.rodata);
|
||||
sound/songs/midi/se_m_morning_sun.o(.rodata);
|
||||
sound/songs/midi/se_m_flatter.o(.rodata);
|
||||
sound/songs/midi/se_m_sand_tomb.o(.rodata);
|
||||
sound/songs/midi/se_m_grasswhistle.o(.rodata);
|
||||
sound/songs/midi/se_m_spit_up.o(.rodata);
|
||||
sound/songs/midi/se_m_dive.o(.rodata);
|
||||
sound/songs/midi/se_m_earthquake.o(.rodata);
|
||||
sound/songs/midi/se_m_twister.o(.rodata);
|
||||
sound/songs/midi/se_m_sweet_scent.o(.rodata);
|
||||
sound/songs/midi/se_m_yawn.o(.rodata);
|
||||
sound/songs/midi/se_m_sky_uppercut.o(.rodata);
|
||||
sound/songs/midi/se_m_stat_increase.o(.rodata);
|
||||
sound/songs/midi/se_m_heat_wave.o(.rodata);
|
||||
sound/songs/midi/se_m_uproar.o(.rodata);
|
||||
sound/songs/midi/se_m_hail.o(.rodata);
|
||||
sound/songs/midi/se_m_cosmic_power.o(.rodata);
|
||||
sound/songs/midi/se_m_teeter_dance.o(.rodata);
|
||||
sound/songs/midi/se_m_stat_decrease.o(.rodata);
|
||||
sound/songs/midi/se_m_haze.o(.rodata);
|
||||
sound/songs/midi/se_m_hyper_beam2.o(.rodata);
|
||||
sound/songs/midi/se_door.o(.rodata);
|
||||
sound/songs/se_card_flip.o(.rodata);
|
||||
sound/songs/se_card_flipping.o(.rodata);
|
||||
sound/songs/se_card_open.o(.rodata);
|
||||
sound/songs/se_bag_cursor.o(.rodata);
|
||||
sound/songs/se_bag_pocket.o(.rodata);
|
||||
sound/songs/se_ball_click.o(.rodata);
|
||||
sound/songs/se_shop.o(.rodata);
|
||||
sound/songs/se_ss_anne_horn.o(.rodata);
|
||||
sound/songs/se_help_open.o(.rodata);
|
||||
sound/songs/se_help_close.o(.rodata);
|
||||
sound/songs/se_help_error.o(.rodata);
|
||||
sound/songs/se_deoxys_move.o(.rodata);
|
||||
sound/songs/se_poke_jump_success.o(.rodata);
|
||||
sound/songs/se_poke_jump_failure.o(.rodata);
|
||||
sound/songs/midi/se_card_flip.o(.rodata);
|
||||
sound/songs/midi/se_card_flipping.o(.rodata);
|
||||
sound/songs/midi/se_card_open.o(.rodata);
|
||||
sound/songs/midi/se_bag_cursor.o(.rodata);
|
||||
sound/songs/midi/se_bag_pocket.o(.rodata);
|
||||
sound/songs/midi/se_ball_click.o(.rodata);
|
||||
sound/songs/midi/se_shop.o(.rodata);
|
||||
sound/songs/midi/se_ss_anne_horn.o(.rodata);
|
||||
sound/songs/midi/se_help_open.o(.rodata);
|
||||
sound/songs/midi/se_help_close.o(.rodata);
|
||||
sound/songs/midi/se_help_error.o(.rodata);
|
||||
sound/songs/midi/se_deoxys_move.o(.rodata);
|
||||
sound/songs/midi/se_poke_jump_success.o(.rodata);
|
||||
sound/songs/midi/se_poke_jump_failure.o(.rodata);
|
||||
sound/songs/midi/mus_heal.o(.rodata);
|
||||
sound/songs/midi/mus_level_up.o(.rodata);
|
||||
sound/songs/midi/mus_obtain_item.o(.rodata);
|
||||
|
|
@ -1040,11 +1042,24 @@ SECTIONS {
|
|||
data/*.o(.rodata);
|
||||
} > ROM =0
|
||||
|
||||
/* DWARF debug sections.
|
||||
Symbols in the DWARF debugging sections are relative to the beginning
|
||||
of the section so we begin them at 0. */
|
||||
|
||||
/* DWARF 2 sections */
|
||||
/* DWARF 1 */
|
||||
.debug 0 : { *(.debug) }
|
||||
.line 0 : { *(.line) }
|
||||
|
||||
/* GNU DWARF 1 extensions */
|
||||
.debug_srcinfo 0 : { *(.debug_srcinfo) }
|
||||
.debug_sfnames 0 : { *(.debug_sfnames) }
|
||||
|
||||
/* DWARF 1.1 and DWARF 2 */
|
||||
.debug_aranges 0 : { *(.debug_aranges) }
|
||||
.debug_pubnames 0 : { *(.debug_pubnames) }
|
||||
.debug_info 0 : { *(.debug_info) }
|
||||
|
||||
/* DWARF 2 */
|
||||
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
|
||||
.debug_abbrev 0 : { *(.debug_abbrev) }
|
||||
.debug_line 0 : { *(.debug_line) }
|
||||
.debug_frame 0 : { *(.debug_frame) }
|
||||
|
|
|
|||
|
|
@ -65,10 +65,24 @@ SECTIONS {
|
|||
*(.rodata*);
|
||||
} > ROM =0
|
||||
|
||||
/* DWARF 2 sections */
|
||||
/* DWARF debug sections.
|
||||
Symbols in the DWARF debugging sections are relative to the beginning
|
||||
of the section so we begin them at 0. */
|
||||
|
||||
/* DWARF 1 */
|
||||
.debug 0 : { *(.debug) }
|
||||
.line 0 : { *(.line) }
|
||||
|
||||
/* GNU DWARF 1 extensions */
|
||||
.debug_srcinfo 0 : { *(.debug_srcinfo) }
|
||||
.debug_sfnames 0 : { *(.debug_sfnames) }
|
||||
|
||||
/* DWARF 1.1 and DWARF 2 */
|
||||
.debug_aranges 0 : { *(.debug_aranges) }
|
||||
.debug_pubnames 0 : { *(.debug_pubnames) }
|
||||
.debug_info 0 : { *(.debug_info) }
|
||||
|
||||
/* DWARF 2 */
|
||||
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
|
||||
.debug_abbrev 0 : { *(.debug_abbrev) }
|
||||
.debug_line 0 : { *(.debug_line) }
|
||||
.debug_frame 0 : { *(.debug_frame) }
|
||||
|
|
@ -76,6 +90,9 @@ SECTIONS {
|
|||
.debug_loc 0 : { *(.debug_loc) }
|
||||
.debug_macinfo 0 : { *(.debug_macinfo) }
|
||||
|
||||
/* DWARF 5*/
|
||||
.debug_line_str 0 : { *(.debug_line_str) }
|
||||
|
||||
/* Discard everything not specifically mentioned above. */
|
||||
/DISCARD/ :
|
||||
{
|
||||
|
|
|
|||
1062
ld_script_rev10.ld
Normal file
1
leafgreen_switch.sha1
Normal file
|
|
@ -0,0 +1 @@
|
|||
62b9fc77549dbc67032eb6cbd0ea6ad3b825690f pokeleafgreen_switch.gba
|
||||
|
|
@ -5,7 +5,7 @@ MAKEFLAGS += --no-print-directory
|
|||
|
||||
# Inclusive list. If you don't want a tool to be built, don't add it here.
|
||||
TOOLS_DIR := tools
|
||||
TOOL_NAMES := aif2pcm bin2c gbafix gbagfx jsonproc mapjson mid2agb preproc ramscrgen rsfont scaninc
|
||||
TOOL_NAMES := bin2c gbafix gbagfx jsonproc mapjson mid2agb preproc ramscrgen rsfont scaninc wav2agb
|
||||
|
||||
TOOLDIRS := $(TOOL_NAMES:%=$(TOOLS_DIR)/%)
|
||||
|
||||
|
|
|
|||