summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml12
-rw-r--r--Makefile3
-rwxr-xr-xengine/battle/animations.asm8
-rw-r--r--engine/battle/battle_transitions.asm2
-rwxr-xr-xengine/battle/core.asm6
-rw-r--r--engine/battle/trainer_ai.asm4
-rwxr-xr-xengine/cable_club.asm2
-rwxr-xr-xengine/items/items.asm2
-rwxr-xr-xengine/menu/start_sub_menus.asm2
-rw-r--r--engine/menu/text_box.asm2
-rw-r--r--engine/overworld/player_state.asm2
-rwxr-xr-xengine/overworld/ssanne.asm2
-rwxr-xr-xengine/palettes.asm2
-rwxr-xr-xengine/slot_machine.asm2
-rwxr-xr-xengine/trade.asm2
-rw-r--r--home.asm6
-rw-r--r--home/overworld.asm2
-rw-r--r--home/predef.asm2
-rw-r--r--home/vcopy.asm12
-rw-r--r--pokered.link176
-rwxr-xr-xwram.asm6
21 files changed, 219 insertions, 38 deletions
diff --git a/.travis.yml b/.travis.yml
index bd38f51b..bbcb7721 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,12 +2,12 @@ language: c
install:
- |-
path="$(pwd)"; cd;
- wget https://github.com/rednex/rgbds/archive/v0.2.5.tar.gz -O rgbds.tar.gz &&
- tar xf rgbds.tar.gz &&
- cd rgbds-0.2.5 &&
- sudo make install &&
- cd - &&
- rm -rf rgbds &&
+ wget https://github.com/rednex/rgbds/archive/v0.3.3.tar.gz -O rgbds.tar.gz &&
+ tar xf rgbds.tar.gz &&
+ cd rgbds-0.3.3 &&
+ sudo make install &&
+ cd - &&
+ rm -rf rgbds &&
cd "$path"
before_script:
- |-
diff --git a/Makefile b/Makefile
index 12532d73..d0d3c011 100644
--- a/Makefile
+++ b/Makefile
@@ -44,8 +44,9 @@ pokered_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON RED"
pokeblue_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON BLUE"
%.gbc: $$(%_obj)
- rgblink -n $*.sym -o $@ $^
+ rgblink -n $*.sym -l pokered.link -o $@ $^
rgbfix $($*_opt) $@
+ sort $*.sym -o $*.sym
%.png: ;
%.2bpp: %.png ; @$(2bpp) $<
diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm
index 4964b2cf..1e400aa5 100755
--- a/engine/battle/animations.asm
+++ b/engine/battle/animations.asm
@@ -213,7 +213,7 @@ PlayAnimation:
ld h,a
ld de,.nextAnimationCommand
push de
- jp [hl] ; jump to special effect function
+ jp hl ; jump to special effect function
.playSubanimation
ld c,a
and a,%00111111
@@ -457,7 +457,7 @@ PlayApplyingAttackAnimation:
ld a,[hli]
ld h,[hl]
ld l,a
- jp [hl]
+ jp hl
AnimationTypePointerTable:
dw ShakeScreenVertically ; enemy mon has used a damaging move without a side effect
@@ -642,7 +642,7 @@ DoSpecialEffectByAnimationId:
ld l,a
ld de,.done
push de
- jp [hl]
+ jp hl
.done
pop bc
pop de
@@ -1080,7 +1080,7 @@ CallWithTurnFlipped:
ld [H_WHOSETURN],a
ld de,.returnAddress
push de
- jp [hl]
+ jp hl
.returnAddress
pop af
ld [H_WHOSETURN],a
diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm
index 9e02c56f..985a1eb2 100644
--- a/engine/battle/battle_transitions.asm
+++ b/engine/battle/battle_transitions.asm
@@ -62,7 +62,7 @@ BattleTransition:
ld a, [hli]
ld h, [hl]
ld l, a
- jp [hl]
+ jp hl
; the three GetBattleTransitionID functions set the first
; three bits of c, which determines what transition animation
diff --git a/engine/battle/core.asm b/engine/battle/core.asm
index 4e21f6de..4e7c8032 100755
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -3150,7 +3150,7 @@ ExecutePlayerMove:
jp z, ExecutePlayerMoveDone
call CheckPlayerStatusConditions
jr nz, .playerHasNoSpecialCondition
- jp [hl]
+ jp hl
.playerHasNoSpecialCondition
call GetCurrentMove
ld hl, wPlayerBattleStatus1
@@ -5690,7 +5690,7 @@ ExecuteEnemyMove:
ld [wDamageMultipliers], a
call CheckEnemyStatusConditions
jr nz, .enemyHasNoSpecialConditions
- jp [hl]
+ jp hl
.enemyHasNoSpecialConditions
ld hl, wEnemyBattleStatus1
bit ChargingUp, [hl] ; is the enemy charging up for attack?
@@ -7139,7 +7139,7 @@ _JumpMoveEffect:
ld a, [hli]
ld h, [hl]
ld l, a
- jp [hl] ; jump to special effect handler
+ jp hl ; jump to special effect handler
MoveEffectPointerTable:
dw SleepEffect ; unused effect
diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm
index cabd4334..fff064fa 100644
--- a/engine/battle/trainer_ai.asm
+++ b/engine/battle/trainer_ai.asm
@@ -51,7 +51,7 @@ AIEnemyTrainerChooseMoves:
ld l, a
ld de, .nextMoveChoiceModification ; set return address
push de
- jp [hl] ; execute modification function
+ jp hl ; execute modification function
.loopFindMinimumEntries ; all entries will be decremented sequentially until one of them is zero
ld hl, wBuffer ; temp move selection array
ld de, wEnemyMonMoves ; enemy moves
@@ -366,7 +366,7 @@ TrainerAI:
ld h,[hl]
ld l,a
call Random
- jp [hl]
+ jp hl
TrainerAIPointers:
; one entry per trainer class
diff --git a/engine/cable_club.asm b/engine/cable_club.asm
index 474dbd11..3e72daa9 100755
--- a/engine/cable_club.asm
+++ b/engine/cable_club.asm
@@ -304,7 +304,7 @@ CallCurrentTradeCenterFunction:
ld a, [hli]
ld h, [hl]
ld l, a
- jp [hl]
+ jp hl
TradeCenter_SelectMon:
call ClearScreen
diff --git a/engine/items/items.asm b/engine/items/items.asm
index f46261b6..c4c1634b 100755
--- a/engine/items/items.asm
+++ b/engine/items/items.asm
@@ -13,7 +13,7 @@ UseItem_:
ld a,[hli]
ld h,[hl]
ld l,a
- jp [hl]
+ jp hl
ItemUsePtrTable:
dw ItemUseBall ; MASTER_BALL
diff --git a/engine/menu/start_sub_menus.asm b/engine/menu/start_sub_menus.asm
index 251d7ae4..8c10266b 100755
--- a/engine/menu/start_sub_menus.asm
+++ b/engine/menu/start_sub_menus.asm
@@ -118,7 +118,7 @@ StartMenu_Pokemon:
ld h,[hl]
ld l,a
ld a,[wObtainedBadges] ; badges obtained
- jp [hl]
+ jp hl
.outOfBattleMovePointers
dw .cut
dw .fly
diff --git a/engine/menu/text_box.asm b/engine/menu/text_box.asm
index 12067dd4..90c35d25 100644
--- a/engine/menu/text_box.asm
+++ b/engine/menu/text_box.asm
@@ -24,7 +24,7 @@ DisplayTextBoxID_:
ld l,a ; hl = address of function
ld de,.done
push de
- jp [hl] ; jump to the function
+ jp hl ; jump to the function
.coordTableMatch
call GetTextBoxIDCoords
call GetAddressOfScreenCoords
diff --git a/engine/overworld/player_state.asm b/engine/overworld/player_state.asm
index 79f755b9..b8d734f2 100644
--- a/engine/overworld/player_state.asm
+++ b/engine/overworld/player_state.asm
@@ -103,7 +103,7 @@ IsPlayerFacingEdgeOfMap:
ld c, a
ld de, .asm_c41e
push de
- jp [hl]
+ jp hl
.asm_c41e
pop bc
pop de
diff --git a/engine/overworld/ssanne.asm b/engine/overworld/ssanne.asm
index 712c53ed..ea4747ce 100755
--- a/engine/overworld/ssanne.asm
+++ b/engine/overworld/ssanne.asm
@@ -16,7 +16,7 @@ AnimateBoulderDust:
ld bc, .returnAddress
push bc
ld c, 4
- jp [hl]
+ jp hl
.returnAddress
ld a, [rOBP1]
xor %01100100
diff --git a/engine/palettes.asm b/engine/palettes.asm
index 4785ade2..6a798860 100755
--- a/engine/palettes.asm
+++ b/engine/palettes.asm
@@ -17,7 +17,7 @@ _RunPaletteCommand:
ld l, a
ld de, SendSGBPackets
push de
- jp [hl]
+ jp hl
SetPal_BattleBlack:
ld hl, PalPacket_Black
diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm
index 2dfcffde..3a46687f 100755
--- a/engine/slot_machine.asm
+++ b/engine/slot_machine.asm
@@ -451,7 +451,7 @@ SlotMachine_CheckForMatches:
pop hl
ld de, .flashScreenLoop
push de
- jp [hl]
+ jp hl
.flashScreenLoop
ld a, [rBGP]
diff --git a/engine/trade.asm b/engine/trade.asm
index c3913a7e..8bc8e3bc 100755
--- a/engine/trade.asm
+++ b/engine/trade.asm
@@ -46,7 +46,7 @@ TradeAnimCommon:
ld l, a
ld de, .loop
push de
- jp [hl] ; call trade func, which will return to the top of the loop
+ jp hl ; call trade func, which will return to the top of the loop
.done
pop af
ld [hSCX], a
diff --git a/home.asm b/home.asm
index 3d0adfff..2e765b81 100644
--- a/home.asm
+++ b/home.asm
@@ -2966,7 +2966,7 @@ Bankswitch::
ld [MBC1RomBank],a
ld bc,.Return
push bc
- jp [hl]
+ jp hl
.Return
pop bc
ld a,b
@@ -4422,7 +4422,7 @@ CallFunctionInTable::
ld l, a
ld de, .returnAddress
push de
- jp [hl]
+ jp hl
.returnAddress
pop bc
pop de
@@ -4605,7 +4605,7 @@ CheckForHiddenObjectOrBookshelfOrCardKeyDoor::
ld [H_LOADEDROMBANK], a
ld de, .returnAddress
push de
- jp [hl]
+ jp hl
.returnAddress
xor a
jr .done
diff --git a/home/overworld.asm b/home/overworld.asm
index ec8f1925..509b699b 100644
--- a/home/overworld.asm
+++ b/home/overworld.asm
@@ -1995,7 +1995,7 @@ RunMapScript::
ld l,a
ld de,.return
push de
- jp [hl] ; jump to script
+ jp hl ; jump to script
.return
ret
diff --git a/home/predef.asm b/home/predef.asm
index 2fac9aca..9bb9be74 100644
--- a/home/predef.asm
+++ b/home/predef.asm
@@ -24,7 +24,7 @@ Predef::
ld de, .done
push de
- jp [hl]
+ jp hl
.done
pop af
diff --git a/home/vcopy.asm b/home/vcopy.asm
index 3fe19745..ad92e8fb 100644
--- a/home/vcopy.asm
+++ b/home/vcopy.asm
@@ -123,7 +123,7 @@ AutoBgMapTransfer::
ld a,[H_AUTOBGTRANSFERENABLED]
and a
ret z
- ld hl,[sp + 0]
+ ld hl,sp + 0
ld a,h
ld [H_SPTEMP],a
ld a,l
@@ -205,7 +205,7 @@ VBlankCopyBgMap::
ld a,[H_VBCOPYBGSRC] ; doubles as enabling byte
and a
ret z
- ld hl,[sp + 0]
+ ld hl,sp + 0
ld a,h
ld [H_SPTEMP],a
ld a,l
@@ -238,7 +238,7 @@ VBlankCopyDouble::
and a
ret z
- ld hl, [sp + 0]
+ ld hl, sp + 0
ld a, h
ld [H_SPTEMP], a
ld a, l
@@ -290,7 +290,7 @@ VBlankCopyDouble::
ld a, h
ld [H_VBCOPYDOUBLEDEST + 1], a
- ld hl, [sp + 0]
+ ld hl, sp + 0
ld a, l
ld [H_VBCOPYDOUBLESRC], a
ld a, h
@@ -316,7 +316,7 @@ VBlankCopy::
and a
ret z
- ld hl, [sp + 0]
+ ld hl, sp + 0
ld a, h
ld [H_SPTEMP], a
ld a, l
@@ -360,7 +360,7 @@ VBlankCopy::
ld a, h
ld [H_VBCOPYDEST + 1], a
- ld hl, [sp + 0]
+ ld hl, sp + 0
ld a, l
ld [H_VBCOPYSRC], a
ld a, h
diff --git a/pokered.link b/pokered.link
new file mode 100644
index 00000000..ad5ac793
--- /dev/null
+++ b/pokered.link
@@ -0,0 +1,176 @@
+ROM0
+ ORG $61
+ "Home"
+ ORG $150
+ "Main"
+
+ROMX $1
+ "bank1"
+
+ROMX $2
+ "Sound Effect Headers 1" ; AUDIO_1
+ "Music Headers 1"
+ "Sound Effects 1"
+ "Audio Engine 1"
+ "Music 1"
+
+ROMX $3
+ "bank3"
+
+ROMX $4
+ "NPC Sprites 1" ; NPC_SPRITES_1
+ "Graphics" ; GFX
+ "Battle (bank 4)"
+
+ROMX $5
+ "NPC Sprites 2" ; NPC_SPRITES_2
+ "Battle (bank 5)"
+
+ROMX $6
+ "bank6"
+
+ROMX $7
+ "bank7"
+
+ROMX $8
+ "Sound Effect Headers 2" ; AUDIO_2
+ "Music Headers 2"
+ "Sound Effects 2"
+ "Audio Engine 2"
+ "Music 2"
+
+ROMX $9
+ "Pics 1" ; PICS_1
+ "Battle (bank 9)"
+
+ROMX $A
+ "Pics 2" ; PICS_2
+ "Battle (bank A)"
+
+ROMX $B
+ "Pics 3" ; PICS_3
+ "Battle (bank B)"
+
+ROMX $C
+ "Pics 4" ; PICS_4
+ "Battle (bank C)"
+
+ROMX $D
+ "Pics 5" ; PICS_5
+ "Battle (bank D)"
+
+ROMX $E
+ "bankE"
+
+ROMX $F
+ "bankF"
+
+ROMX $10
+ "bank10"
+
+ROMX $11
+ "bank11"
+
+ROMX $12
+ "bank12"
+
+ROMX $13
+ "bank13"
+
+ROMX $14
+ "bank14"
+
+ROMX $15
+ "bank15"
+
+ROMX $16
+ "bank16"
+
+ROMX $17
+ "bank17"
+
+ROMX $18
+ "bank18"
+
+ROMX $19
+ "bank19"
+
+ROMX $1A
+ "bank1A"
+
+ROMX $1B
+ "bank1B"
+
+ROMX $1C
+ "bank1C"
+
+ROMX $1D
+ "bank1D"
+
+ROMX $1E
+ "bank1E"
+
+ROMX $1F
+ "Sound Effect Headers 3" ; AUDIO_3
+ "Music Headers 3"
+ "Sound Effects 3"
+ "Audio Engine 3"
+ "Music 3"
+
+ROMX $20
+ "Text 1" ; TEXT_1
+
+ROMX $21
+ "Text 2" ; TEXT_2
+
+ROMX $22
+ "Text 3" ; TEXT_3
+
+ROMX $23
+ "Text 4" ; TEXT_4
+
+ROMX $24
+ "Text 5" ; TEXT_5
+
+ROMX $25
+ "Text 6" ; TEXT_6
+
+ROMX $26
+ "Text 7" ; TEXT_7
+
+ROMX $27
+ "Text 8" ; TEXT_8
+
+ROMX $28
+ "Text 9" ; TEXT_9
+
+ROMX $29
+ "Text 10" ; TEXT_10
+
+ROMX $2A
+ "Text 11" ; TEXT_11
+
+ROMX $2B
+ "Pokedex Text" ; POKEDEX_TEXT
+
+ROMX $2C
+ "Move Names" ; MOVE_NAMES
+
+WRAM0
+ "WRAM Bank 0"
+
+WRAMX 1
+ "WRAM Bank 1"
+
+SRAM 0
+ "Sprite Buffers"
+
+SRAM 1
+ "Save Data"
+
+SRAM 2
+ "Saved Boxes 1"
+
+SRAM 3
+ "Saved Boxes 2"
+
diff --git a/wram.asm b/wram.asm
index 698027be..ccd6f06e 100755
--- a/wram.asm
+++ b/wram.asm
@@ -3137,10 +3137,12 @@ wEnemyPartyCount:: ds 1 ; d89c
wEnemyPartyMons:: ds PARTY_LENGTH + 1 ; d89d
; Overload enemy party data
+UNION
+
wWaterRate:: db ; d8a4
wWaterMons:: db ; d8a5
- ds wWaterRate - @
+NEXTU
wEnemyMons:: ; d8a4
wEnemyMon1:: party_struct wEnemyMon1
@@ -3153,6 +3155,8 @@ wEnemyMon6:: party_struct wEnemyMon6
wEnemyMonOT:: ds NAME_LENGTH * PARTY_LENGTH ; d9ac
wEnemyMonNicks:: ds NAME_LENGTH * PARTY_LENGTH ; d9ee
+ENDU
+
wTrainerHeaderPtr:: ; da30
ds 2