shithub: pokered

Download patch

ref: 5c2419383118280465a89657fed34ed6562f2981
parent: fc9712596f6122fc114e0136c19795b36ee4868b
parent: d7fae287e49652f05c137ed20ce27e43d07b7514
author: yenatch <yenatch@gmail.com>
date: Fri Sep 29 18:41:34 EDT 2017

Merge pull request #167 from Pokechu22/rgbds-0.3.3

Update for RGBDS 0.3.3

--- a/.travis.yml
+++ b/.travis.yml
@@ -2,12 +2,12 @@
 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:
   - |-
--- a/Makefile
+++ b/Makefile
@@ -44,8 +44,9 @@
 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) $<
--- a/engine/battle/animations.asm
+++ b/engine/battle/animations.asm
@@ -213,7 +213,7 @@
 	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 @@
 	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 @@
 	ld l,a
 	ld de,.done
 	push de
-	jp [hl]
+	jp hl
 .done
 	pop bc
 	pop de
@@ -1080,7 +1080,7 @@
 	ld [H_WHOSETURN],a
 	ld de,.returnAddress
 	push de
-	jp [hl]
+	jp hl
 .returnAddress
 	pop af
 	ld [H_WHOSETURN],a
--- a/engine/battle/battle_transitions.asm
+++ b/engine/battle/battle_transitions.asm
@@ -62,7 +62,7 @@
 	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
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -3150,7 +3150,7 @@
 	jp z, ExecutePlayerMoveDone
 	call CheckPlayerStatusConditions
 	jr nz, .playerHasNoSpecialCondition
-	jp [hl]
+	jp hl
 .playerHasNoSpecialCondition
 	call GetCurrentMove
 	ld hl, wPlayerBattleStatus1
@@ -5690,7 +5690,7 @@
 	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 @@
 	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
--- a/engine/battle/trainer_ai.asm
+++ b/engine/battle/trainer_ai.asm
@@ -51,7 +51,7 @@
 	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 @@
 	ld h,[hl]
 	ld l,a
 	call Random
-	jp [hl]
+	jp hl
 
 TrainerAIPointers:
 ; one entry per trainer class
--- a/engine/cable_club.asm
+++ b/engine/cable_club.asm
@@ -304,7 +304,7 @@
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-	jp [hl]
+	jp hl
 
 TradeCenter_SelectMon:
 	call ClearScreen
--- a/engine/items/items.asm
+++ b/engine/items/items.asm
@@ -13,7 +13,7 @@
 	ld a,[hli]
 	ld h,[hl]
 	ld l,a
-	jp [hl]
+	jp hl
 
 ItemUsePtrTable:
 	dw ItemUseBall       ; MASTER_BALL
--- a/engine/menu/start_sub_menus.asm
+++ b/engine/menu/start_sub_menus.asm
@@ -118,7 +118,7 @@
 	ld h,[hl]
 	ld l,a
 	ld a,[wObtainedBadges] ; badges obtained
-	jp [hl]
+	jp hl
 .outOfBattleMovePointers
 	dw .cut
 	dw .fly
--- a/engine/menu/text_box.asm
+++ b/engine/menu/text_box.asm
@@ -24,7 +24,7 @@
 	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
--- a/engine/overworld/player_state.asm
+++ b/engine/overworld/player_state.asm
@@ -103,7 +103,7 @@
 	ld c, a
 	ld de, .asm_c41e
 	push de
-	jp [hl]
+	jp hl
 .asm_c41e
 	pop bc
 	pop de
--- a/engine/overworld/ssanne.asm
+++ b/engine/overworld/ssanne.asm
@@ -16,7 +16,7 @@
 	ld bc, .returnAddress
 	push bc
 	ld c, 4
-	jp [hl]
+	jp hl
 .returnAddress
 	ld a, [rOBP1]
 	xor %01100100
--- a/engine/palettes.asm
+++ b/engine/palettes.asm
@@ -17,7 +17,7 @@
 	ld l, a
 	ld de, SendSGBPackets
 	push de
-	jp [hl]
+	jp hl
 
 SetPal_BattleBlack:
 	ld hl, PalPacket_Black
--- a/engine/slot_machine.asm
+++ b/engine/slot_machine.asm
@@ -451,7 +451,7 @@
 	pop hl
 	ld de, .flashScreenLoop
 	push de
-	jp [hl]
+	jp hl
 
 .flashScreenLoop
 	ld a, [rBGP]
--- a/engine/trade.asm
+++ b/engine/trade.asm
@@ -46,7 +46,7 @@
 	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
--- a/home.asm
+++ b/home.asm
@@ -2966,7 +2966,7 @@
 	ld [MBC1RomBank],a
 	ld bc,.Return
 	push bc
-	jp [hl]
+	jp hl
 .Return
 	pop bc
 	ld a,b
@@ -4422,7 +4422,7 @@
 	ld l, a
 	ld de, .returnAddress
 	push de
-	jp [hl]
+	jp hl
 .returnAddress
 	pop bc
 	pop de
@@ -4605,7 +4605,7 @@
 	ld [H_LOADEDROMBANK], a
 	ld de, .returnAddress
 	push de
-	jp [hl]
+	jp hl
 .returnAddress
 	xor a
 	jr .done
--- a/home/overworld.asm
+++ b/home/overworld.asm
@@ -1995,7 +1995,7 @@
 	ld l,a
 	ld de,.return
 	push de
-	jp [hl] ; jump to script
+	jp hl ; jump to script
 .return
 	ret
 
--- a/home/predef.asm
+++ b/home/predef.asm
@@ -24,7 +24,7 @@
 
 	ld de, .done
 	push de
-	jp [hl]
+	jp hl
 .done
 
 	pop af
--- a/home/vcopy.asm
+++ b/home/vcopy.asm
@@ -123,7 +123,7 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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
--- /dev/null
+++ b/pokered.link
@@ -1,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"
+
--- a/wram.asm
+++ b/wram.asm
@@ -3137,10 +3137,12 @@
 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
@@ -3152,6 +3154,8 @@
 
 wEnemyMonOT::    ds NAME_LENGTH * PARTY_LENGTH ; d9ac
 wEnemyMonNicks:: ds NAME_LENGTH * PARTY_LENGTH ; d9ee
+
+ENDU
 
 
 wTrainerHeaderPtr:: ; da30