summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/save.asm2
-rw-r--r--macros.asm1
-rw-r--r--main.asm44
-rw-r--r--sram.asm1
-rw-r--r--tilesets/animations.asm134
-rw-r--r--wram.asm3
6 files changed, 88 insertions, 97 deletions
diff --git a/engine/save.asm b/engine/save.asm
index 92b65398b..ef1917c83 100644
--- a/engine/save.asm
+++ b/engine/save.asm
@@ -225,7 +225,7 @@ SaveTheGame_yesorno: ; 14baf
Function14bcb: ; 14bcb
ld a, BANK(sPlayerData)
call GetSRAMBank
- ld hl, sPlayerData + (PlayerID - wPlayerData)
+ ld hl, sPlayerID
ld a, [hli]
ld c, [hl]
ld b, a
diff --git a/macros.asm b/macros.asm
index a50c92b69..e366ad498 100644
--- a/macros.asm
+++ b/macros.asm
@@ -175,4 +175,3 @@ ENDM
ldtile: MACRO
ld \1, (\2 << 4) + \3
ENDM
-
diff --git a/main.asm b/main.asm
index dd842038e..b67f8aff9 100644
--- a/main.asm
+++ b/main.asm
@@ -173,12 +173,12 @@ _ResetWRAM: ; 5bae
call ByteFill
ld hl, wd000
- ld bc, PlayerID - wd000
+ ld bc, wGameData - wd000
xor a
call ByteFill
- ld hl, PlayerID
- ld bc, wPokemonDataEnd - PlayerID
+ ld hl, wGameData
+ ld bc, wGameDataEnd - wGameData
xor a
call ByteFill
@@ -61427,11 +61427,15 @@ endr
ret
; 8c0e5
+brightlevel: MACRO
+ db (\1 << 6) | (\2 << 4) | (\3 << 2) | \4
+ENDM
+
Function8c0e5: ; 8c0e5
- ld hl, Unknown_8c10f
+ ld hl, .BrightnessLevels
ld a, [wc2d0]
- cp $4
- jr z, .asm_8c0fc
+ cp $4 ; Dark cave, needs Flash
+ jr z, .DarkCave
and $7
add l
ld l, a
@@ -61441,28 +61445,28 @@ Function8c0e5: ; 8c0e5
ld a, [hl]
ld [wd847], a
ret
-.asm_8c0fc
+.DarkCave
ld a, [StatusFlags]
bit 2, a
- jr nz, .asm_8c109
- ld a, $ff
+ jr nz, .UsedFlash
+ ld a, $ff ; 3, 3, 3, 3
ld [wd847], a
ret
-.asm_8c109
- ld a, $aa
+.UsedFlash
+ ld a, $aa ; 2, 2, 2, 2
ld [wd847], a
ret
; 8c10f (23:410f)
-Unknown_8c10f: ; 8c10f
- db $e4 ; 3210
- db $55 ; 1111
- db $aa ; 2222
- db $00 ; 0000
- db $ff ; 3333
- db $e4 ; 3210
- db $e4 ; 3210
- db $e4 ; 3210
+.BrightnessLevels: ; 8c10f
+ brightlevel 3, 2, 1, 0
+ brightlevel 1, 1, 1, 1
+ brightlevel 2, 2, 2, 2
+ brightlevel 0, 0, 0, 0
+ brightlevel 3, 3, 3, 3
+ brightlevel 3, 2, 1, 0
+ brightlevel 3, 2, 1, 0
+ brightlevel 3, 2, 1, 0
; 8c117
GetTimePalette: ; 8c117
diff --git a/sram.asm b/sram.asm
index 1201925d9..6903f10e3 100644
--- a/sram.asm
+++ b/sram.asm
@@ -58,6 +58,7 @@ sOptions:: ds OptionsEnd - Options
s1_a008:: ds 1
sGameData::
+sPlayerID::
sPlayerData:: ds wPlayerDataEnd - wPlayerData
sMapData:: ds wMapDataEnd - wMapData
sPokemonData:: ds wPokemonDataEnd - wPokemonData
diff --git a/tilesets/animations.asm b/tilesets/animations.asm
index 58925161c..14b3376d6 100644
--- a/tilesets/animations.asm
+++ b/tilesets/animations.asm
@@ -36,11 +36,9 @@ endr
jp [hl]
; fc01b
-
Tileset00Anim: ; 0xfc01b
Tileset02Anim: ; 0xfc01b
Tileset03Anim: ; 0xfc01b
-; param, function
dwtile $14, VTiles2, AnimateWaterTile
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
@@ -55,7 +53,6 @@ Tileset03Anim: ; 0xfc01b
; 0xfc047
Tileset25Anim: ; 0xfc047
-; param, function
dwtile $14, VTiles2, AnimateWaterTile
dw NULL, WaitTileAnimation
dwtile $5f, VTiles2, AnimateFountain
@@ -70,7 +67,6 @@ Tileset25Anim: ; 0xfc047
; 0xfc073
Tileset31Anim: ; 0xfc073
-; param, function
dw NULL, ForestTreeLeftAnimation
dw NULL, ForestTreeRightAnimation
dw NULL, WaitTileAnimation
@@ -86,7 +82,6 @@ Tileset31Anim: ; 0xfc073
; 0xfc0a3
Tileset01Anim: ; 0xfc0a3
-; param, function
dwtile $14, VTiles2, AnimateWaterTile
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
@@ -103,9 +98,8 @@ Tileset01Anim: ; 0xfc0a3
; 0xfc0d7
TilesetAnimfc0d7: ; 0xfc0d7
-; param, function
dwtile $03, VTiles2, WriteTileToBuffer
- dw wcf41, ScrollTileRightLeft
+ dw AttrMapEnd, ScrollTileRightLeft
dwtile $03, VTiles2, WriteTileFromBuffer
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
@@ -118,9 +112,8 @@ TilesetAnimfc0d7: ; 0xfc0d7
; 0xfc103
TilesetAnimfc103: ; 0xfc103
-; param, function
dwtile $14, VTiles2, WriteTileToBuffer
- dw wcf41, ScrollTileRightLeft
+ dw AttrMapEnd, ScrollTileRightLeft
dwtile $14, VTiles2, WriteTileFromBuffer
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
@@ -133,7 +126,6 @@ TilesetAnimfc103: ; 0xfc103
; 0xfc12f
Tileset09Anim: ; 0xfc12f
-; param, function
dwtile $14, VTiles2, AnimateWaterTile
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
@@ -149,7 +141,6 @@ Tileset09Anim: ; 0xfc12f
; 0xfc15f
Tileset15Anim: ; 0xfc15f
-; param, function
dw NULL, SafariFountainAnim2
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
@@ -161,88 +152,83 @@ Tileset15Anim: ; 0xfc15f
; 0xfc17f
TilesetAnimfc17f: ; 0xfc17f
-; param, function
dwtile $53, VTiles2, WriteTileToBuffer
- dw wcf41, ScrollTileDown
- dw wcf41, ScrollTileDown
+ dw AttrMapEnd, ScrollTileDown
+ dw AttrMapEnd, ScrollTileDown
dwtile $53, VTiles2, WriteTileFromBuffer
dwtile $03, VTiles2, WriteTileToBuffer
- dw wcf41, ScrollTileRightLeft
+ dw AttrMapEnd, ScrollTileRightLeft
dwtile $03, VTiles2, WriteTileFromBuffer
dwtile $53, VTiles2, WriteTileToBuffer
- dw wcf41, ScrollTileDown
- dw wcf41, ScrollTileDown
+ dw AttrMapEnd, ScrollTileDown
+ dw AttrMapEnd, ScrollTileDown
dwtile $53, VTiles2, WriteTileFromBuffer
dw NULL, DoneTileAnimation
; 0xfc1af
TilesetAnimfc1af: ; 0xfc1af
-; param, function
dwtile $54, VTiles2, WriteTileToBuffer
- dw wcf41, ScrollTileDown
- dw wcf41, ScrollTileDown
+ dw AttrMapEnd, ScrollTileDown
+ dw AttrMapEnd, ScrollTileDown
dwtile $54, VTiles2, WriteTileFromBuffer
dw NULL, WaitTileAnimation
dwtile $03, VTiles2, WriteTileToBuffer
- dw wcf41, ScrollTileRightLeft
+ dw AttrMapEnd, ScrollTileRightLeft
dwtile $03, VTiles2, WriteTileFromBuffer
dw NULL, WaitTileAnimation
dwtile $54, VTiles2, WriteTileToBuffer
- dw wcf41, ScrollTileDown
- dw wcf41, ScrollTileDown
+ dw AttrMapEnd, ScrollTileDown
+ dw AttrMapEnd, ScrollTileDown
dwtile $54, VTiles2, WriteTileFromBuffer
dw NULL, DoneTileAnimation
; 0xfc1e7
Tileset24Anim: ; 0xfc1e7
Tileset30Anim: ; 0xfc1e7
-; param, function
dwtile $14, VTiles2, WriteTileToBuffer
- dw NULL, Functionfc71e
- dw wcf41, ScrollTileRightLeft
- dw NULL, Functionfc71e
+ dw NULL, FlickeringCaveEntrancePalette
+ dw AttrMapEnd, ScrollTileRightLeft
+ dw NULL, FlickeringCaveEntrancePalette
dwtile $14, VTiles2, WriteTileFromBuffer
- dw NULL, Functionfc71e
+ dw NULL, FlickeringCaveEntrancePalette
dw NULL, TileAnimationPalette
- dw NULL, Functionfc71e
+ dw NULL, FlickeringCaveEntrancePalette
dwtile $40, VTiles2, WriteTileToBuffer
- dw NULL, Functionfc71e
- dw wcf41, ScrollTileDown
- dw NULL, Functionfc71e
- dw wcf41, ScrollTileDown
- dw NULL, Functionfc71e
- dw wcf41, ScrollTileDown
- dw NULL, Functionfc71e
+ dw NULL, FlickeringCaveEntrancePalette
+ dw AttrMapEnd, ScrollTileDown
+ dw NULL, FlickeringCaveEntrancePalette
+ dw AttrMapEnd, ScrollTileDown
+ dw NULL, FlickeringCaveEntrancePalette
+ dw AttrMapEnd, ScrollTileDown
+ dw NULL, FlickeringCaveEntrancePalette
dwtile $40, VTiles2, WriteTileFromBuffer
- dw NULL, Functionfc71e
+ dw NULL, FlickeringCaveEntrancePalette
dw NULL, DoneTileAnimation
; 0xfc233
Tileset29Anim: ; 0xfc233
-; param, function
dwtile $35, VTiles2, WriteTileToBuffer
- dw NULL, Functionfc71e
- dw wcf41, ScrollTileRightLeft
- dw NULL, Functionfc71e
+ dw NULL, FlickeringCaveEntrancePalette
+ dw AttrMapEnd, ScrollTileRightLeft
+ dw NULL, FlickeringCaveEntrancePalette
dwtile $35, VTiles2, WriteTileFromBuffer
- dw NULL, Functionfc71e
+ dw NULL, FlickeringCaveEntrancePalette
dw NULL, TileAnimationPalette
- dw NULL, Functionfc71e
+ dw NULL, FlickeringCaveEntrancePalette
dwtile $31, VTiles2, WriteTileToBuffer
- dw NULL, Functionfc71e
- dw wcf41, ScrollTileDown
- dw NULL, Functionfc71e
- dw wcf41, ScrollTileDown
- dw NULL, Functionfc71e
- dw wcf41, ScrollTileDown
- dw NULL, Functionfc71e
+ dw NULL, FlickeringCaveEntrancePalette
+ dw AttrMapEnd, ScrollTileDown
+ dw NULL, FlickeringCaveEntrancePalette
+ dw AttrMapEnd, ScrollTileDown
+ dw NULL, FlickeringCaveEntrancePalette
+ dw AttrMapEnd, ScrollTileDown
+ dw NULL, FlickeringCaveEntrancePalette
dwtile $31, VTiles2, WriteTileFromBuffer
- dw NULL, Functionfc71e
+ dw NULL, FlickeringCaveEntrancePalette
dw NULL, DoneTileAnimation
; 0xfc27f
Tileset23Anim: ; 0xfc27f
-; param, function
dw SproutPillarTilePointer9, AnimateSproutPillarTile
dw SproutPillarTilePointer10, AnimateSproutPillarTile
dw SproutPillarTilePointer7, AnimateSproutPillarTile
@@ -263,7 +249,7 @@ Tileset23Anim: ; 0xfc27f
TilesetAnimfc2bf: ; 0xfc2bf
dwtile $4f, VTiles2, WriteTileToBuffer
- dw wcf41, ScrollTileRightLeft
+ dw AttrMapEnd, ScrollTileRightLeft
dwtile $4f, VTiles2, WriteTileFromBuffer
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
@@ -299,7 +285,6 @@ Tileset33Anim: ; 0xfc2e7
Tileset34Anim: ; 0xfc2e7
Tileset35Anim: ; 0xfc2e7
Tileset36Anim: ; 0xfc2e7
-; param, function
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
@@ -875,14 +860,14 @@ AnimateWhirlpoolTile: ; fc678
WriteTileFromBuffer: ; fc696
-; Write tiledata at wcf41 to de.
-; wcf41 is loaded to sp for WriteTile.
+; Write tiledata at AttrMapEnd to de.
+; AttrMapEnd is loaded to sp for WriteTile.
ld hl, [sp+0]
ld b, h
ld c, l
- ld hl, wcf41
+ ld hl, AttrMapEnd
ld sp, hl
ld h, d
@@ -892,7 +877,7 @@ WriteTileFromBuffer: ; fc696
WriteTileToBuffer: ; fc6a2
-; Write tiledata de to wcf41.
+; Write tiledata de to AttrMapEnd.
; de is loaded to sp for WriteTile.
ld hl, [sp+0]
@@ -903,7 +888,7 @@ WriteTileToBuffer: ; fc6a2
ld l, e
ld sp, hl
- ld hl, wcf41
+ ld hl, AttrMapEnd
; fallthrough
@@ -1002,36 +987,37 @@ TileAnimationPalette: ; fc6d7
; fc71e
-Functionfc71e: ; fc71e
+FlickeringCaveEntrancePalette: ; fc71e
+; No palette changes on DMG.
ld a, [hCGB]
and a
ret z
-
+; We don't want to mess with non-standard palettes.
ld a, [rBGP]
- cp $e4
+ cp %11100100
ret nz
-
+; We only want to be here if we're in a dark cave.
ld a, [wd847]
- cp $ff
+ cp $ff ; 3,3,3,3
ret nz
ld a, [rSVBK]
push af
-
- ld a, 5
+ ld a, 5 ; wra5: gfx
ld [rSVBK], a
- ld a, $a0
+; Ready for BGPD input...
+ ld a, %10100000 ; auto-increment, index $20 (pal 4 color 0)
ld [rBGPI], a
ld a, [$ff9b]
- and 2
- jr nz, .asm_fc743
- ld hl, Unkn1Pals + $20
- jr .asm_fc746
+ and %00000010
+ jr nz, .bit1set
+ ld hl, Unkn1Pals + $20 ; pal 4 color 0
+ jr .okay
-.asm_fc743
- ld hl, Unkn1Pals + $22
+.bit1set
+ ld hl, Unkn1Pals + $22 ; pal 4 color 2
-.asm_fc746
+.okay
ld a, [hli]
ld [rBGPD], a
ld a, [hli]
diff --git a/wram.asm b/wram.asm
index 822676377..874dc0a4e 100644
--- a/wram.asm
+++ b/wram.asm
@@ -1956,8 +1956,8 @@ wCrystalDataEnd::
wd479:: ds 2
+wGameData::
wPlayerData::
-
PlayerID:: ; d47b
ds 2
@@ -2587,6 +2587,7 @@ wMagikarpRecordHoldersName:: ds NAME_LENGTH
wdff5::
wPokemonDataEnd::
+wGameDataEnd::
SECTION "Pic Animations", WRAMX, BANK [2]