summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile19
-rw-r--r--data/text_buffers.asm9
-rw-r--r--engine/check_battle_scene.asm47
-rw-r--r--engine/get_breedmon_growth.asm27
-rw-r--r--engine/knows_move.asm25
-rw-r--r--engine/pack.asm8
-rw-r--r--engine/player_gfx_2.asm5
-rw-r--r--engine/trademon_frontpic.asm38
-rwxr-xr-xevent/misc_scripts.asm (renamed from event/itemball.asm)8
-rw-r--r--event/misc_scripts_2.asm (renamed from event/hidden_items.asm)0
-rw-r--r--event/std_collision.asm (renamed from engine/collision_stdscripts.asm)0
-rw-r--r--gfx/sprites.asm204
-rw-r--r--home.asm3
-rw-r--r--main.asm186
-rw-r--r--mobile/mobile_40.asm2
-rwxr-xr-xmobile/mobile_41.asm2
-rwxr-xr-xmobile/mobile_46.asm1
-rw-r--r--mobile/mobile_5e.asm4
-rw-r--r--mobile/mobile_5f.asm4
-rw-r--r--pokecrystal.link3
-rw-r--r--text/common_text.asm6
21 files changed, 301 insertions, 300 deletions
diff --git a/Makefile b/Makefile
index 83667441a..4a4c640f9 100644
--- a/Makefile
+++ b/Makefile
@@ -17,19 +17,20 @@ RGBLINK := rgblink
crystal_obj := \
-wram.o \
-main.o \
-lib/mobile/main.o \
-home.o \
audio.o \
+home.o \
+main.o \
maps.o \
-engine/events.o \
-engine/credits.o \
+wram.o \
+data/pokemon/dex_entries.o \
data/pokemon/egg_moves.o \
data/pokemon/evos_attacks.o \
-data/pokemon/dex_entries.o \
-text/common_text.o \
-gfx/pics.o
+engine/credits.o \
+engine/events.o \
+gfx/pics.o \
+gfx/sprites.o \
+lib/mobile/main.o \
+text/common_text.o
crystal11_obj := $(crystal_obj:.o=11.o)
diff --git a/data/text_buffers.asm b/data/text_buffers.asm
new file mode 100644
index 000000000..5a03c8cc7
--- /dev/null
+++ b/data/text_buffers.asm
@@ -0,0 +1,9 @@
+StringBufferPointers:: ; 24000
+; entries correspond to arguments for text_buffer (TX_STRINGBUFFER)
+ dw StringBuffer3 ; 0
+ dw StringBuffer4 ; 1
+ dw StringBuffer5 ; 2
+ dw StringBuffer2 ; 3
+ dw StringBuffer1 ; 4
+ dw EnemyMonNick ; 5
+ dw BattleMonNick ; 6
diff --git a/engine/check_battle_scene.asm b/engine/check_battle_scene.asm
new file mode 100644
index 000000000..b63f00907
--- /dev/null
+++ b/engine/check_battle_scene.asm
@@ -0,0 +1,47 @@
+CheckBattleScene: ; 4ea44
+; Return carry if battle scene is turned off.
+
+ ld a, 0
+ ld hl, wLinkMode
+ call GetFarWRAMByte
+ cp LINK_MOBILE
+ jr z, .mobile
+
+ ld a, [Options]
+ bit BATTLE_SCENE, a
+ jr nz, .off
+
+ and a
+ ret
+
+.mobile
+ ld a, [wcd2f]
+ and a
+ jr nz, .from_wram
+
+ ld a, $4
+ call GetSRAMBank
+ ld a, [$a60c]
+ ld c, a
+ call CloseSRAM
+
+ ld a, c
+ bit 0, c
+ jr z, .off
+
+ and a
+ ret
+
+.from_wram
+ ld a, $5
+ ld hl, w5_dc00
+ call GetFarWRAMByte
+ bit 0, a
+ jr z, .off
+
+ and a
+ ret
+
+.off
+ scf
+ ret
diff --git a/engine/get_breedmon_growth.asm b/engine/get_breedmon_growth.asm
new file mode 100644
index 000000000..20c546315
--- /dev/null
+++ b/engine/get_breedmon_growth.asm
@@ -0,0 +1,27 @@
+GetBreedMon1LevelGrowth: ; e698
+ ld hl, wBreedMon1Stats
+ ld de, TempMon
+ ld bc, BOXMON_STRUCT_LENGTH
+ call CopyBytes
+ callab CalcLevel
+ ld a, [wBreedMon1Level]
+ ld b, a
+ ld a, d
+ ld e, a
+ sub b
+ ld d, a
+ ret
+
+GetBreedMon2LevelGrowth: ; e6b3
+ ld hl, wBreedMon2Stats
+ ld de, TempMon
+ ld bc, BOXMON_STRUCT_LENGTH
+ call CopyBytes
+ callab CalcLevel
+ ld a, [wBreedMon2Level]
+ ld b, a
+ ld a, d
+ ld e, a
+ sub b
+ ld d, a
+ ret
diff --git a/engine/knows_move.asm b/engine/knows_move.asm
new file mode 100644
index 000000000..4ec3da347
--- /dev/null
+++ b/engine/knows_move.asm
@@ -0,0 +1,25 @@
+KnowsMove: ; f9ea
+ ld a, MON_MOVES
+ call GetPartyParamLocation
+ ld a, [wPutativeTMHMMove]
+ ld b, a
+ ld c, NUM_MOVES
+.loop
+ ld a, [hli]
+ cp b
+ jr z, .knows_move
+ dec c
+ jr nz, .loop
+ and a
+ ret
+
+.knows_move
+ ld hl, .Text_knows
+ call PrintText
+ scf
+ ret
+
+.Text_knows: ; 0xfa06
+ ; knows @ .
+ text_jump UnknownText_0x1c5ea8
+ db "@"
diff --git a/engine/pack.asm b/engine/pack.asm
index e10b70e12..858548771 100644
--- a/engine/pack.asm
+++ b/engine/pack.asm
@@ -1315,10 +1315,10 @@ DrawPackGFX: ; 1089d
; 108cc
PackGFXPointers: ; 108cc
- dw PackGFX + $f0 * 1
- dw PackGFX + $f0 * 3
- dw PackGFX + $f0 * 0
- dw PackGFX + $f0 * 2
+ dw PackGFX + (15 tiles) * 1
+ dw PackGFX + (15 tiles) * 3
+ dw PackGFX + (15 tiles) * 0
+ dw PackGFX + (15 tiles) * 2
; 108d4
Pack_InterpretJoypad: ; 108d4 (4:48d4)
diff --git a/engine/player_gfx_2.asm b/engine/player_gfx_2.asm
new file mode 100644
index 000000000..d6e7791a3
--- /dev/null
+++ b/engine/player_gfx_2.asm
@@ -0,0 +1,5 @@
+ChrisBackpic: ; 2ba1a
+INCBIN "gfx/player/chris_back.2bpp.lz"
+
+DudeBackpic: ; 2bbaa
+INCBIN "gfx/battle/dude.2bpp.lz"
diff --git a/engine/trademon_frontpic.asm b/engine/trademon_frontpic.asm
new file mode 100644
index 000000000..1641443ea
--- /dev/null
+++ b/engine/trademon_frontpic.asm
@@ -0,0 +1,38 @@
+GetTrademonFrontpic: ; 4d7fd
+ ld a, [wOTTrademonSpecies]
+ ld hl, wOTTrademonDVs
+ ld de, VTiles2
+ push de
+ push af
+ predef GetUnownLetter
+ pop af
+ ld [CurPartySpecies], a
+ ld [CurSpecies], a
+ call GetBaseData
+ pop de
+ predef FrontpicPredef
+ ret
+
+AnimateTrademonFrontpic: ; 4d81e
+ ld a, [wOTTrademonSpecies]
+ call IsAPokemon
+ ret c
+ callba ShowOTTrademonStats
+ ld a, [wOTTrademonSpecies]
+ ld [CurPartySpecies], a
+ ld a, [wOTTrademonDVs]
+ ld [TempMonDVs], a
+ ld a, [wOTTrademonDVs + 1]
+ ld [TempMonDVs + 1], a
+ ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS
+ call GetSGBLayout
+ ld a, %11100100 ; 3,2,1,0
+ call DmgToCgbBGPals
+ callba TradeAnim_ShowGetmonFrontpic
+ ld a, [wOTTrademonSpecies]
+ ld [CurPartySpecies], a
+ hlcoord 7, 2
+ ld d, $0
+ ld e, ANIM_MON_TRADE
+ predef AnimateFrontpic
+ ret
diff --git a/event/itemball.asm b/event/misc_scripts.asm
index ed0c6a9e0..97372a57a 100755
--- a/event/itemball.asm
+++ b/event/misc_scripts.asm
@@ -1,3 +1,11 @@
+Script_AbortBugContest: ; 0x122c1
+ checkflag ENGINE_BUG_CONTEST_TIMER
+ iffalse .finish
+ setflag ENGINE_DAILY_BUG_CONTEST
+ special ContestReturnMons
+.finish
+ end
+
FindItemInBallScript:: ; 0x122ce
callasm .TryReceiveItem
iffalse .no_room
diff --git a/event/hidden_items.asm b/event/misc_scripts_2.asm
index c4c51d5e6..c4c51d5e6 100644
--- a/event/hidden_items.asm
+++ b/event/misc_scripts_2.asm
diff --git a/engine/collision_stdscripts.asm b/event/std_collision.asm
index 17b1e49b2..17b1e49b2 100644
--- a/engine/collision_stdscripts.asm
+++ b/event/std_collision.asm
diff --git a/gfx/sprites.asm b/gfx/sprites.asm
index f7740d6a6..318f7506e 100644
--- a/gfx/sprites.asm
+++ b/gfx/sprites.asm
@@ -1,108 +1,108 @@
SECTION "Sprites 1", ROMX
-ChrisSpriteGFX: INCBIN "gfx/sprites/chris.2bpp" ; c0000
-ChrisBikeSpriteGFX: INCBIN "gfx/sprites/chris_bike.2bpp" ; c0180
-GameboyKidSpriteGFX: INCBIN "gfx/sprites/gameboy_kid.2bpp" ; c0300
-SilverSpriteGFX: INCBIN "gfx/sprites/silver.2bpp" ; c03c0
-OakSpriteGFX: INCBIN "gfx/sprites/oak.2bpp" ; c0540
-RedSpriteGFX: INCBIN "gfx/sprites/red.2bpp" ; c06c0
-BlueSpriteGFX: INCBIN "gfx/sprites/blue.2bpp" ; c0840
-BillSpriteGFX: INCBIN "gfx/sprites/bill.2bpp" ; c09c0
-ElderSpriteGFX: INCBIN "gfx/sprites/elder.2bpp" ; c0b40
-JanineSpriteGFX: INCBIN "gfx/sprites/janine.2bpp" ; c0cc0
-KurtSpriteGFX: INCBIN "gfx/sprites/kurt.2bpp" ; c0e40
-MomSpriteGFX: INCBIN "gfx/sprites/mom.2bpp" ; c0fc0
-BlaineSpriteGFX: INCBIN "gfx/sprites/blaine.2bpp" ; c1140
-RedsMomSpriteGFX: INCBIN "gfx/sprites/reds_mom.2bpp" ; c12c0
-DaisySpriteGFX: INCBIN "gfx/sprites/daisy.2bpp" ; c1440
-ElmSpriteGFX: INCBIN "gfx/sprites/elm.2bpp" ; c15c0
-WillSpriteGFX: INCBIN "gfx/sprites/will.2bpp" ; c1740
-FalknerSpriteGFX: INCBIN "gfx/sprites/falkner.2bpp" ; c1800
-WhitneySpriteGFX: INCBIN "gfx/sprites/whitney.2bpp" ; c1980
-BugsySpriteGFX: INCBIN "gfx/sprites/bugsy.2bpp" ; c1b00
-MortySpriteGFX: INCBIN "gfx/sprites/morty.2bpp" ; c1c80
-ChuckSpriteGFX: INCBIN "gfx/sprites/chuck.2bpp" ; c1e00
-JasmineSpriteGFX: INCBIN "gfx/sprites/jasmine.2bpp" ; c1f80
-PryceSpriteGFX: INCBIN "gfx/sprites/pryce.2bpp" ; c2100
-ClairSpriteGFX: INCBIN "gfx/sprites/clair.2bpp" ; c2280
-BrockSpriteGFX: INCBIN "gfx/sprites/brock.2bpp" ; c2400
-KarenSpriteGFX: INCBIN "gfx/sprites/karen.2bpp" ; c2580
-BrunoSpriteGFX: INCBIN "gfx/sprites/bruno.2bpp" ; c2640
-MistySpriteGFX: INCBIN "gfx/sprites/misty.2bpp" ; c27c0
-LanceSpriteGFX: INCBIN "gfx/sprites/lance.2bpp" ; c2940
-SurgeSpriteGFX: INCBIN "gfx/sprites/surge.2bpp" ; c2ac0
-ErikaSpriteGFX: INCBIN "gfx/sprites/erika.2bpp" ; c2c40
-KogaSpriteGFX: INCBIN "gfx/sprites/koga.2bpp" ; c2dc0
-SabrinaSpriteGFX: INCBIN "gfx/sprites/sabrina.2bpp" ; c2f40
-CooltrainerMSpriteGFX: INCBIN "gfx/sprites/cooltrainer_m.2bpp" ; c30c0
-CooltrainerFSpriteGFX: INCBIN "gfx/sprites/cooltrainer_f.2bpp" ; c3240
-BugCatcherSpriteGFX: INCBIN "gfx/sprites/bug_catcher.2bpp" ; c33c0
-TwinSpriteGFX: INCBIN "gfx/sprites/twin.2bpp" ; c3540
-YoungsterSpriteGFX: INCBIN "gfx/sprites/youngster.2bpp" ; c36c0
-LassSpriteGFX: INCBIN "gfx/sprites/lass.2bpp" ; c3840
-TeacherSpriteGFX: INCBIN "gfx/sprites/teacher.2bpp" ; c39c0
-BuenaSpriteGFX: INCBIN "gfx/sprites/buena.2bpp" ; c3b40
-SuperNerdSpriteGFX: INCBIN "gfx/sprites/super_nerd.2bpp" ; c3cc0
-RockerSpriteGFX: INCBIN "gfx/sprites/rocker.2bpp" ; c3e40
+ChrisSpriteGFX:: INCBIN "gfx/sprites/chris.2bpp" ; c0000
+ChrisBikeSpriteGFX:: INCBIN "gfx/sprites/chris_bike.2bpp" ; c0180
+GameboyKidSpriteGFX:: INCBIN "gfx/sprites/gameboy_kid.2bpp" ; c0300
+SilverSpriteGFX:: INCBIN "gfx/sprites/silver.2bpp" ; c03c0
+OakSpriteGFX:: INCBIN "gfx/sprites/oak.2bpp" ; c0540
+RedSpriteGFX:: INCBIN "gfx/sprites/red.2bpp" ; c06c0
+BlueSpriteGFX:: INCBIN "gfx/sprites/blue.2bpp" ; c0840
+BillSpriteGFX:: INCBIN "gfx/sprites/bill.2bpp" ; c09c0
+ElderSpriteGFX:: INCBIN "gfx/sprites/elder.2bpp" ; c0b40
+JanineSpriteGFX:: INCBIN "gfx/sprites/janine.2bpp" ; c0cc0
+KurtSpriteGFX:: INCBIN "gfx/sprites/kurt.2bpp" ; c0e40
+MomSpriteGFX:: INCBIN "gfx/sprites/mom.2bpp" ; c0fc0
+BlaineSpriteGFX:: INCBIN "gfx/sprites/blaine.2bpp" ; c1140
+RedsMomSpriteGFX:: INCBIN "gfx/sprites/reds_mom.2bpp" ; c12c0
+DaisySpriteGFX:: INCBIN "gfx/sprites/daisy.2bpp" ; c1440
+ElmSpriteGFX:: INCBIN "gfx/sprites/elm.2bpp" ; c15c0
+WillSpriteGFX:: INCBIN "gfx/sprites/will.2bpp" ; c1740
+FalknerSpriteGFX:: INCBIN "gfx/sprites/falkner.2bpp" ; c1800
+WhitneySpriteGFX:: INCBIN "gfx/sprites/whitney.2bpp" ; c1980
+BugsySpriteGFX:: INCBIN "gfx/sprites/bugsy.2bpp" ; c1b00
+MortySpriteGFX:: INCBIN "gfx/sprites/morty.2bpp" ; c1c80
+ChuckSpriteGFX:: INCBIN "gfx/sprites/chuck.2bpp" ; c1e00
+JasmineSpriteGFX:: INCBIN "gfx/sprites/jasmine.2bpp" ; c1f80
+PryceSpriteGFX:: INCBIN "gfx/sprites/pryce.2bpp" ; c2100
+ClairSpriteGFX:: INCBIN "gfx/sprites/clair.2bpp" ; c2280
+BrockSpriteGFX:: INCBIN "gfx/sprites/brock.2bpp" ; c2400
+KarenSpriteGFX:: INCBIN "gfx/sprites/karen.2bpp" ; c2580
+BrunoSpriteGFX:: INCBIN "gfx/sprites/bruno.2bpp" ; c2640
+MistySpriteGFX:: INCBIN "gfx/sprites/misty.2bpp" ; c27c0
+LanceSpriteGFX:: INCBIN "gfx/sprites/lance.2bpp" ; c2940
+SurgeSpriteGFX:: INCBIN "gfx/sprites/surge.2bpp" ; c2ac0
+ErikaSpriteGFX:: INCBIN "gfx/sprites/erika.2bpp" ; c2c40
+KogaSpriteGFX:: INCBIN "gfx/sprites/koga.2bpp" ; c2dc0
+SabrinaSpriteGFX:: INCBIN "gfx/sprites/sabrina.2bpp" ; c2f40
+CooltrainerMSpriteGFX:: INCBIN "gfx/sprites/cooltrainer_m.2bpp" ; c30c0
+CooltrainerFSpriteGFX:: INCBIN "gfx/sprites/cooltrainer_f.2bpp" ; c3240
+BugCatcherSpriteGFX:: INCBIN "gfx/sprites/bug_catcher.2bpp" ; c33c0
+TwinSpriteGFX:: INCBIN "gfx/sprites/twin.2bpp" ; c3540
+YoungsterSpriteGFX:: INCBIN "gfx/sprites/youngster.2bpp" ; c36c0
+LassSpriteGFX:: INCBIN "gfx/sprites/lass.2bpp" ; c3840
+TeacherSpriteGFX:: INCBIN "gfx/sprites/teacher.2bpp" ; c39c0
+BuenaSpriteGFX:: INCBIN "gfx/sprites/buena.2bpp" ; c3b40
+SuperNerdSpriteGFX:: INCBIN "gfx/sprites/super_nerd.2bpp" ; c3cc0
+RockerSpriteGFX:: INCBIN "gfx/sprites/rocker.2bpp" ; c3e40
SECTION "Sprites 2", ROMX
-PokefanMSpriteGFX: INCBIN "gfx/sprites/pokefan_m.2bpp" ; c4000
-PokefanFSpriteGFX: INCBIN "gfx/sprites/pokefan_f.2bpp" ; c4180
-GrampsSpriteGFX: INCBIN "gfx/sprites/gramps.2bpp" ; c4300
-GrannySpriteGFX: INCBIN "gfx/sprites/granny.2bpp" ; c4480
-SwimmerGuySpriteGFX: INCBIN "gfx/sprites/swimmer_guy.2bpp" ; c4600
-SwimmerGirlSpriteGFX: INCBIN "gfx/sprites/swimmer_girl.2bpp" ; c4780
-BigSnorlaxSpriteGFX: INCBIN "gfx/sprites/big_snorlax.2bpp" ; c4900
-SurfingPikachuSpriteGFX: INCBIN "gfx/sprites/surfing_pikachu.2bpp" ; c4980
-RocketSpriteGFX: INCBIN "gfx/sprites/rocket.2bpp" ; c4b00
-RocketGirlSpriteGFX: INCBIN "gfx/sprites/rocket_girl.2bpp" ; c4c80
-NurseSpriteGFX: INCBIN "gfx/sprites/nurse.2bpp" ; c4e00
-LinkReceptionistSpriteGFX: INCBIN "gfx/sprites/link_receptionist.2bpp" ; c4ec0
-ClerkSpriteGFX: INCBIN "gfx/sprites/clerk.2bpp" ; c5040
-FisherSpriteGFX: INCBIN "gfx/sprites/fisher.2bpp" ; c51c0
-FishingGuruSpriteGFX: INCBIN "gfx/sprites/fishing_guru.2bpp" ; c5340
-ScientistSpriteGFX: INCBIN "gfx/sprites/scientist.2bpp" ; c54c0
-KimonoGirlSpriteGFX: INCBIN "gfx/sprites/kimono_girl.2bpp" ; c5640
-SageSpriteGFX: INCBIN "gfx/sprites/sage.2bpp" ; c57c0
-UnusedGuySpriteGFX: INCBIN "gfx/sprites/unused_guy.2bpp" ; c5940
-GentlemanSpriteGFX: INCBIN "gfx/sprites/gentleman.2bpp" ; c5ac0
-BlackBeltSpriteGFX: INCBIN "gfx/sprites/black_belt.2bpp" ; c5c40
-ReceptionistSpriteGFX: INCBIN "gfx/sprites/receptionist.2bpp" ; c5dc0
-OfficerSpriteGFX: INCBIN "gfx/sprites/officer.2bpp" ; c5f40
-CalSpriteGFX: INCBIN "gfx/sprites/cal.2bpp" ; c60c0
-SlowpokeSpriteGFX: INCBIN "gfx/sprites/slowpoke.2bpp" ; c6240
-CaptainSpriteGFX: INCBIN "gfx/sprites/captain.2bpp" ; c6280
-BigLaprasSpriteGFX: INCBIN "gfx/sprites/big_lapras.2bpp" ; c6400
-GymGuySpriteGFX: INCBIN "gfx/sprites/gym_guy.2bpp" ; c6480
-SailorSpriteGFX: INCBIN "gfx/sprites/sailor.2bpp" ; c6600
-BikerSpriteGFX: INCBIN "gfx/sprites/biker.2bpp" ; c6780
-PharmacistSpriteGFX: INCBIN "gfx/sprites/pharmacist.2bpp" ; c6900
-MonsterSpriteGFX: INCBIN "gfx/sprites/monster.2bpp" ; c6a80
-FairySpriteGFX: INCBIN "gfx/sprites/fairy.2bpp" ; c6c00
-BirdSpriteGFX: INCBIN "gfx/sprites/bird.2bpp" ; c6d80
-DragonSpriteGFX: INCBIN "gfx/sprites/dragon.2bpp" ; c6f00
-BigOnixSpriteGFX: INCBIN "gfx/sprites/big_onix.2bpp" ; c7080
-N64SpriteGFX: INCBIN "gfx/sprites/n64.2bpp" ; c7140
-SudowoodoSpriteGFX: INCBIN "gfx/sprites/sudowoodo.2bpp" ; c7180
-SurfSpriteGFX: INCBIN "gfx/sprites/surf.2bpp" ; c7200
-PokeBallSpriteGFX: INCBIN "gfx/sprites/poke_ball.2bpp" ; c7380
-PokedexSpriteGFX: INCBIN "gfx/sprites/pokedex.2bpp" ; c7500
-PaperSpriteGFX: INCBIN "gfx/sprites/paper.2bpp" ; c7680
-VirtualBoySpriteGFX: INCBIN "gfx/sprites/virtual_boy.2bpp" ; c7800
-OldLinkReceptionistSpriteGFX: INCBIN "gfx/sprites/old_link_receptionist.2bpp" ; c7840
-RockSpriteGFX: INCBIN "gfx/sprites/rock.2bpp" ; c7880
-BoulderSpriteGFX: INCBIN "gfx/sprites/boulder.2bpp" ; c78c0
-SnesSpriteGFX: INCBIN "gfx/sprites/snes.2bpp" ; c7900
-FamicomSpriteGFX: INCBIN "gfx/sprites/famicom.2bpp" ; c7940
-FruitTreeSpriteGFX: INCBIN "gfx/sprites/fruit_tree.2bpp" ; c7980
-GoldTrophySpriteGFX: INCBIN "gfx/sprites/gold_trophy.2bpp" ; c79c0
-SilverTrophySpriteGFX: INCBIN "gfx/sprites/silver_trophy.2bpp" ; c7a00
-KrisSpriteGFX: INCBIN "gfx/sprites/kris.2bpp" ; c7a40
-KrisBikeSpriteGFX: INCBIN "gfx/sprites/kris_bike.2bpp" ; c7bc0
-KurtOutsideSpriteGFX: INCBIN "gfx/sprites/kurt_outside.2bpp" ; c7d40
-SuicuneSpriteGFX: INCBIN "gfx/sprites/suicune.2bpp" ; c7e00
-EnteiSpriteGFX: INCBIN "gfx/sprites/entei.2bpp" ; c7e40
-RaikouSpriteGFX: INCBIN "gfx/sprites/raikou.2bpp" ; c7e80
-StandingYoungsterSpriteGFX: INCBIN "gfx/sprites/standing_youngster.2bpp" ; c7ec0
+PokefanMSpriteGFX:: INCBIN "gfx/sprites/pokefan_m.2bpp" ; c4000
+PokefanFSpriteGFX:: INCBIN "gfx/sprites/pokefan_f.2bpp" ; c4180
+GrampsSpriteGFX:: INCBIN "gfx/sprites/gramps.2bpp" ; c4300
+GrannySpriteGFX:: INCBIN "gfx/sprites/granny.2bpp" ; c4480
+SwimmerGuySpriteGFX:: INCBIN "gfx/sprites/swimmer_guy.2bpp" ; c4600
+SwimmerGirlSpriteGFX:: INCBIN "gfx/sprites/swimmer_girl.2bpp" ; c4780
+BigSnorlaxSpriteGFX:: INCBIN "gfx/sprites/big_snorlax.2bpp" ; c4900
+SurfingPikachuSpriteGFX:: INCBIN "gfx/sprites/surfing_pikachu.2bpp" ; c4980
+RocketSpriteGFX:: INCBIN "gfx/sprites/rocket.2bpp" ; c4b00
+RocketGirlSpriteGFX:: INCBIN "gfx/sprites/rocket_girl.2bpp" ; c4c80
+NurseSpriteGFX:: INCBIN "gfx/sprites/nurse.2bpp" ; c4e00
+LinkReceptionistSpriteGFX:: INCBIN "gfx/sprites/link_receptionist.2bpp" ; c4ec0
+ClerkSpriteGFX:: INCBIN "gfx/sprites/clerk.2bpp" ; c5040
+FisherSpriteGFX:: INCBIN "gfx/sprites/fisher.2bpp" ; c51c0
+FishingGuruSpriteGFX:: INCBIN "gfx/sprites/fishing_guru.2bpp" ; c5340
+ScientistSpriteGFX:: INCBIN "gfx/sprites/scientist.2bpp" ; c54c0
+KimonoGirlSpriteGFX:: INCBIN "gfx/sprites/kimono_girl.2bpp" ; c5640
+SageSpriteGFX:: INCBIN "gfx/sprites/sage.2bpp" ; c57c0
+UnusedGuySpriteGFX:: INCBIN "gfx/sprites/unused_guy.2bpp" ; c5940
+GentlemanSpriteGFX:: INCBIN "gfx/sprites/gentleman.2bpp" ; c5ac0
+BlackBeltSpriteGFX:: INCBIN "gfx/sprites/black_belt.2bpp" ; c5c40
+ReceptionistSpriteGFX:: INCBIN "gfx/sprites/receptionist.2bpp" ; c5dc0
+OfficerSpriteGFX:: INCBIN "gfx/sprites/officer.2bpp" ; c5f40
+CalSpriteGFX:: INCBIN "gfx/sprites/cal.2bpp" ; c60c0
+SlowpokeSpriteGFX:: INCBIN "gfx/sprites/slowpoke.2bpp" ; c6240
+CaptainSpriteGFX:: INCBIN "gfx/sprites/captain.2bpp" ; c6280
+BigLaprasSpriteGFX:: INCBIN "gfx/sprites/big_lapras.2bpp" ; c6400
+GymGuySpriteGFX:: INCBIN "gfx/sprites/gym_guy.2bpp" ; c6480
+SailorSpriteGFX:: INCBIN "gfx/sprites/sailor.2bpp" ; c6600
+BikerSpriteGFX:: INCBIN "gfx/sprites/biker.2bpp" ; c6780
+PharmacistSpriteGFX:: INCBIN "gfx/sprites/pharmacist.2bpp" ; c6900
+MonsterSpriteGFX:: INCBIN "gfx/sprites/monster.2bpp" ; c6a80
+FairySpriteGFX:: INCBIN "gfx/sprites/fairy.2bpp" ; c6c00
+BirdSpriteGFX:: INCBIN "gfx/sprites/bird.2bpp" ; c6d80
+DragonSpriteGFX:: INCBIN "gfx/sprites/dragon.2bpp" ; c6f00
+BigOnixSpriteGFX:: INCBIN "gfx/sprites/big_onix.2bpp" ; c7080
+N64SpriteGFX:: INCBIN "gfx/sprites/n64.2bpp" ; c7140
+SudowoodoSpriteGFX:: INCBIN "gfx/sprites/sudowoodo.2bpp" ; c7180
+SurfSpriteGFX:: INCBIN "gfx/sprites/surf.2bpp" ; c7200
+PokeBallSpriteGFX:: INCBIN "gfx/sprites/poke_ball.2bpp" ; c7380
+PokedexSpriteGFX:: INCBIN "gfx/sprites/pokedex.2bpp" ; c7500
+PaperSpriteGFX:: INCBIN "gfx/sprites/paper.2bpp" ; c7680
+VirtualBoySpriteGFX:: INCBIN "gfx/sprites/virtual_boy.2bpp" ; c7800
+OldLinkReceptionistSpriteGFX:: INCBIN "gfx/sprites/old_link_receptionist.2bpp" ; c7840
+RockSpriteGFX:: INCBIN "gfx/sprites/rock.2bpp" ; c7880
+BoulderSpriteGFX:: INCBIN "gfx/sprites/boulder.2bpp" ; c78c0
+SnesSpriteGFX:: INCBIN "gfx/sprites/snes.2bpp" ; c7900
+FamicomSpriteGFX:: INCBIN "gfx/sprites/famicom.2bpp" ; c7940
+FruitTreeSpriteGFX:: INCBIN "gfx/sprites/fruit_tree.2bpp" ; c7980
+GoldTrophySpriteGFX:: INCBIN "gfx/sprites/gold_trophy.2bpp" ; c79c0
+SilverTrophySpriteGFX:: INCBIN "gfx/sprites/silver_trophy.2bpp" ; c7a00
+KrisSpriteGFX:: INCBIN "gfx/sprites/kris.2bpp" ; c7a40
+KrisBikeSpriteGFX:: INCBIN "gfx/sprites/kris_bike.2bpp" ; c7bc0
+KurtOutsideSpriteGFX:: INCBIN "gfx/sprites/kurt_outside.2bpp" ; c7d40
+SuicuneSpriteGFX:: INCBIN "gfx/sprites/suicune.2bpp" ; c7e00
+EnteiSpriteGFX:: INCBIN "gfx/sprites/entei.2bpp" ; c7e40
+RaikouSpriteGFX:: INCBIN "gfx/sprites/raikou.2bpp" ; c7e80
+StandingYoungsterSpriteGFX:: INCBIN "gfx/sprites/standing_youngster.2bpp" ; c7ec0
diff --git a/home.asm b/home.asm
index f7d2e7748..6aa8777cb 100644
--- a/home.asm
+++ b/home.asm
@@ -4,7 +4,10 @@ INCLUDE "includes.asm"
SECTION "NULL", ROM0
NULL::
+
INCLUDE "rst.asm"
+
+
INCLUDE "interrupts.asm"
diff --git a/main.asm b/main.asm
index e0611c483..cfa9d9218 100644
--- a/main.asm
+++ b/main.asm
@@ -82,63 +82,10 @@ INCLUDE "engine/player_step.asm"
INCLUDE "engine/anim_hp_bar.asm"
INCLUDE "engine/move_mon.asm"
INCLUDE "engine/billspctop.asm"
-
-GetBreedMon1LevelGrowth: ; e698
- ld hl, wBreedMon1Stats
- ld de, TempMon
- ld bc, BOXMON_STRUCT_LENGTH
- call CopyBytes
- callab CalcLevel
- ld a, [wBreedMon1Level]
- ld b, a
- ld a, d
- ld e, a
- sub b
- ld d, a
- ret
-
-GetBreedMon2LevelGrowth: ; e6b3
- ld hl, wBreedMon2Stats
- ld de, TempMon
- ld bc, BOXMON_STRUCT_LENGTH
- call CopyBytes
- callab CalcLevel
- ld a, [wBreedMon2Level]
- ld b, a
- ld a, d
- ld e, a
- sub b
- ld d, a
- ret
-
+INCLUDE "engine/get_breedmon_growth.asm"
INCLUDE "event/bug_contest/caught_mon.asm"
INCLUDE "engine/item_effects.asm"
-
-KnowsMove: ; f9ea
- ld a, MON_MOVES
- call GetPartyParamLocation
- ld a, [wPutativeTMHMMove]
- ld b, a
- ld c, NUM_MOVES
-.loop
- ld a, [hli]
- cp b
- jr z, .knows_move
- dec c
- jr nz, .loop
- and a
- ret
-
-.knows_move
- ld hl, .Text_knows
- call PrintText
- scf
- ret
-
-.Text_knows: ; 0xfa06
- ; knows @ .
- text_jump UnknownText_0x1c5ea8
- db "@"
+INCLUDE "engine/knows_move.asm"
SECTION "bank4", ROMX
@@ -147,16 +94,7 @@ INCLUDE "engine/pack.asm"
INCLUDE "engine/time.asm"
INCLUDE "engine/tmhm.asm"
INCLUDE "engine/namingscreen.asm"
-
-Script_AbortBugContest: ; 0x122c1
- checkflag ENGINE_BUG_CONTEST_TIMER
- iffalse .finish
- setflag ENGINE_DAILY_BUG_CONTEST
- special ContestReturnMons
-.finish
- end
-
-INCLUDE "event/itemball.asm"
+INCLUDE "event/misc_scripts.asm"
INCLUDE "event/heal_machine_anim.asm"
INCLUDE "event/whiteout.asm"
INCLUDE "event/forced_movement.asm"
@@ -165,8 +103,8 @@ INCLUDE "engine/start_menu.asm"
INCLUDE "engine/select_menu.asm"
INCLUDE "event/elevator.asm"
INCLUDE "event/bug_contest/contest.asm"
-INCLUDE "event/hidden_items.asm"
-INCLUDE "engine/collision_stdscripts.asm"
+INCLUDE "event/misc_scripts_2.asm"
+INCLUDE "event/std_collision.asm"
INCLUDE "event/bug_contest/judging.asm"
INCLUDE "engine/pokerus_tick.asm"
INCLUDE "event/bug_contest/contest_2.asm"
@@ -201,15 +139,7 @@ INCLUDE "engine/clock_reset.asm"
SECTION "bank9", ROMX
-StringBufferPointers:: ; 24000
- dw StringBuffer3
- dw StringBuffer4
- dw StringBuffer5
- dw StringBuffer2
- dw StringBuffer1
- dw EnemyMonNick
- dw BattleMonNick
-
+INCLUDE "data/text_buffers.asm"
INCLUDE "engine/menu.asm"
UpdateItemDescription: ; 0x244c3
@@ -296,12 +226,7 @@ SECTION "bankA", ROMX
INCLUDE "engine/link.asm"
INCLUDE "engine/wildmons.asm"
INCLUDE "battle/link_result.asm"
-
-ChrisBackpic: ; 2ba1a
-INCBIN "gfx/player/chris_back.2bpp.lz"
-
-DudeBackpic: ; 2bbaa
-INCBIN "gfx/battle/dude.2bpp.lz"
+INCLUDE "engine/player_gfx_2.asm"
SECTION "bankB", ROMX
@@ -704,45 +629,7 @@ LinkTextbox2: ; 4d35b
INCLUDE "engine/delete_save_change_clock.asm"
INCLUDE "tilesets/tileset_headers.asm"
INCLUDE "engine/flag_predef.asm"
-
-GetTrademonFrontpic: ; 4d7fd
- ld a, [wOTTrademonSpecies]
- ld hl, wOTTrademonDVs
- ld de, VTiles2
- push de
- push af
- predef GetUnownLetter
- pop af
- ld [CurPartySpecies], a
- ld [CurSpecies], a
- call GetBaseData
- pop de
- predef FrontpicPredef
- ret
-
-AnimateTrademonFrontpic: ; 4d81e
- ld a, [wOTTrademonSpecies]
- call IsAPokemon
- ret c
- callba ShowOTTrademonStats
- ld a, [wOTTrademonSpecies]
- ld [CurPartySpecies], a
- ld a, [wOTTrademonDVs]
- ld [TempMonDVs], a
- ld a, [wOTTrademonDVs + 1]
- ld [TempMonDVs + 1], a
- ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS
- call GetSGBLayout
- ld a, %11100100 ; 3,2,1,0
- call DmgToCgbBGPals
- callba TradeAnim_ShowGetmonFrontpic
- ld a, [wOTTrademonSpecies]
- ld [CurPartySpecies], a
- hlcoord 7, 2
- ld d, $0
- ld e, ANIM_MON_TRADE
- predef AnimateFrontpic
- ret
+INCLUDE "engine/trademon_frontpic.asm"
CheckPokerus: ; 4d860
; Return carry if a monster in your party has Pokerus
@@ -780,55 +667,7 @@ INCLUDE "engine/init_hof_credits.asm"
INCLUDE "mobile/get_trainer_class.asm"
INCLUDE "battle/sliding_intro.asm"
INCLUDE "mobile/print_opp_message.asm"
-
-CheckBattleScene: ; 4ea44
-; Return carry if battle scene is turned off.
-
- ld a, 0
- ld hl, wLinkMode
- call GetFarWRAMByte
- cp LINK_MOBILE
- jr z, .mobile
-
- ld a, [Options]
- bit BATTLE_SCENE, a
- jr nz, .off
-
- and a
- ret
-
-.mobile
- ld a, [wcd2f]
- and a
- jr nz, .from_wram
-
- ld a, $4
- call GetSRAMBank
- ld a, [$a60c]
- ld c, a
- call CloseSRAM
-
- ld a, c
- bit 0, c
- jr z, .off
-
- and a
- ret
-
-.from_wram
- ld a, $5
- ld hl, w5_dc00
- call GetFarWRAMByte
- bit 0, a
- jr z, .off
-
- and a
- ret
-
-.off
- scf
- ret
-
+INCLUDE "engine/check_battle_scene.asm"
INCLUDE "engine/gbc_only.asm"
INCLUDE "event/poke_seer.asm"
@@ -969,7 +808,6 @@ SECTION "bank2F", ROMX
INCLUDE "engine/std_scripts.asm"
INCLUDE "engine/phone_scripts.asm"
INCLUDE "engine/trainer_scripts.asm"
-INCLUDE "gfx/sprites.asm"
SECTION "bank32", ROMX
@@ -1073,8 +911,6 @@ INCLUDE "engine/npctrade.asm"
INCLUDE "event/mom_phone.asm"
-SECTION "mobile_40", ROMX
-
INCLUDE "mobile/mobile_40.asm"
@@ -1146,9 +982,13 @@ _UpdateBattleHUDs:
ret
+SECTION "mobile_5e", ROMX
+
INCLUDE "mobile/mobile_5e.asm"
+SECTION "bank5F", ROMX
+
INCLUDE "mobile/mobile_5f.asm"
diff --git a/mobile/mobile_40.asm b/mobile/mobile_40.asm
index fa6a39fdf..c476e4297 100644
--- a/mobile/mobile_40.asm
+++ b/mobile/mobile_40.asm
@@ -1,3 +1,5 @@
+SECTION "mobile_40", ROMX
+
Function100000: ; 100000
; d: 1 or 2
; e: bank
diff --git a/mobile/mobile_41.asm b/mobile/mobile_41.asm
index 37e10a01e..9ab9f7ed2 100755
--- a/mobile/mobile_41.asm
+++ b/mobile/mobile_41.asm
@@ -1,5 +1,3 @@
-SECTION "bank41_2", ROMX
-
; These functions deal with miscellaneous statistics
; which were used for Trainer Rankings in Pokémon News.
diff --git a/mobile/mobile_46.asm b/mobile/mobile_46.asm
index 48fed0f33..986bf9509 100755
--- a/mobile/mobile_46.asm
+++ b/mobile/mobile_46.asm
@@ -3015,6 +3015,7 @@ Unknown_1196b8: ; 1196b8
db "Sun"
; 1196cd
+
SECTION "bank46_2", ROMX
; A hack to use ascii above.
diff --git a/mobile/mobile_5e.asm b/mobile/mobile_5e.asm
index b22f714ea..baf247fe2 100644
--- a/mobile/mobile_5e.asm
+++ b/mobile/mobile_5e.asm
@@ -1,10 +1,6 @@
-
-SECTION "Misc Crystal", ROMX
-
MobileAdapterGFX::
INCBIN "gfx/mobile/mobile_adapter.2bpp"
-
Function17a68f:: ; 17a68f (5e:668f)
call Function17a6a8
call Function17a751
diff --git a/mobile/mobile_5f.asm b/mobile/mobile_5f.asm
index 816e23394..9b0c5455b 100644
--- a/mobile/mobile_5f.asm
+++ b/mobile/mobile_5f.asm
@@ -1,8 +1,4 @@
-
-SECTION "bank5F", ROMX
-
Function17c000: ; 17c000
-
call DisableLCD
ld hl, VTiles2
diff --git a/pokecrystal.link b/pokecrystal.link
index 60ff314ff..6002adbf5 100644
--- a/pokecrystal.link
+++ b/pokecrystal.link
@@ -173,7 +173,6 @@ ROMX $40
"bank40_3"
ROMX $41
"bank41"
- "bank41_2"
ROMX $42
"mobile_42"
"Intro Logo"
@@ -243,7 +242,7 @@ ROMX $5e
"bank5E"
"Songs 5"
"Crystal Sound Effects"
- "Misc Crystal"
+ "mobile_5e"
ROMX $5f
"bank5F"
ROMX $60
diff --git a/text/common_text.asm b/text/common_text.asm
index c4891ab15..d21685480 100644
--- a/text/common_text.asm
+++ b/text/common_text.asm
@@ -1,12 +1,18 @@
INCLUDE "includes.asm"
+
SECTION "Text 1", ROMX
+
INCLUDE "text/common_1.asm"
+
SECTION "Text 2", ROMX
+
INCLUDE "text/common_2.asm"
INCLUDE "text/common_3.asm"
+
SECTION "Text 3", ROMX
+
INCLUDE "text/common_4.asm"
INCLUDE "text/common_5.asm"