summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authorRemy Oukaour <remy.oukaour@gmail.com>2017-12-16 19:00:50 -0500
committerRemy Oukaour <remy.oukaour@gmail.com>2017-12-16 19:00:50 -0500
commit25a3960646548c40af70f9f59bed544f4ce8d472 (patch)
tree8b0bade10dbb09b2d4221a00f9bbbae7ed78dd7c /engine
parent05d49f7d752b03cbccb2fdcca2781a8a5de85425 (diff)
Move some more main.asm routines into individual files
Diffstat (limited to 'engine')
-rw-r--r--engine/check_battle_scene.asm47
-rw-r--r--engine/collision_stdscripts.asm29
-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
7 files changed, 146 insertions, 33 deletions
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/collision_stdscripts.asm b/engine/collision_stdscripts.asm
deleted file mode 100644
index 17b1e49b2..000000000
--- a/engine/collision_stdscripts.asm
+++ /dev/null
@@ -1,29 +0,0 @@
-CheckFacingTileForStd:: ; 1365b
-; Checks to see if the tile you're facing has a std script associated with it. If so, executes the script and returns carry.
- ld a, c
- ld de, 3
- ld hl, TileCollisionStdScripts
- call IsInArray
- jr nc, .notintable
-
- ld a, jumpstd_command
- ld [wJumpStdScriptBuffer], a
- inc hl
- ld a, [hli]
- ld [wJumpStdScriptBuffer + 1], a
- ld a, [hli]
- ld [wJumpStdScriptBuffer + 2], a
- ld a, BANK(Script_JumpStdFromRAM)
- ld hl, Script_JumpStdFromRAM
- call CallScript
- scf
- ret
-
-.notintable
- xor a
- ret
-
-INCLUDE "data/collision_stdscripts.asm"
-
-Script_JumpStdFromRAM: ; 0x1369a
- jump wJumpStdScriptBuffer
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