mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-09-16 18:30:50 +12:00

- Replaces the Old Rod with the Candy Sack, an item to evolve Meltan into Melmetal. Meltan and Melmetal aren't in yet. - Improves Gym Leader and Elite Four AI by a lot. They still use items, they're just better. Fixes XSpecial use while we're at it; before, it didn't actually increase the stat... - The Scarlet Book now takes up both shelves, one section for each Paradox Pokemon. I also moved the bookshelf so it looks nicer. - Text in Celadon University has been reduced significantly, taking up less memory and being a bit more RBY-like. It has also been made more accurate (thanks to Daiginjo for translating my booklet!) - The Magikarp researcher in Celadon University now gives TM Dragon Rage (no longer unused!) - Added a guard for Mt. Moon Crater. - Removed TrainerNamePointers, Blank Leader Name Code, and Dakutens/Hakutens using a guide published by YakiNeen. - PP no longer uses a shitty graphic and is instead properly implemented into the font, optimising the status screen. Also displays in-battle which is kinda cool. - Lorelei, Bruno, and Agatha now play the Gym Leader theme, not just Lance. Still unsure how to fix Celadon University's trainers, all I know is a lot of the information should be taken from the Oak fight I did. The code is radically different and doesn't call trainer headers at all. You'll likely want to start from scratch. The Mt. Moon Crater Guard's text is a little wonky, not sure what's up there. May have been from the way I accessed Mt. Moon in testing. Anyway, if you want to mess around feel free.
125 lines
2.1 KiB
NASM
125 lines
2.1 KiB
NASM
DrawBadges:
|
|
; Draw 4x2 gym leader faces, with the faces replaced by
|
|
; badges if they are owned. Used in the player status screen.
|
|
|
|
; In Japanese versions, names are displayed above faces.
|
|
; Instead of removing relevant code, the name graphics were erased.
|
|
; KEP removes the code as well to optimise memory.
|
|
|
|
; Tile ids for face/badge graphics.
|
|
ld de, wBadgeOrFaceTiles
|
|
ld hl, .FaceBadgeTiles
|
|
ld bc, NUM_BADGES
|
|
call CopyData
|
|
|
|
; Booleans for each badge.
|
|
ld hl, wTempObtainedBadgesBooleans
|
|
ld bc, NUM_BADGES
|
|
xor a
|
|
call FillMemory
|
|
|
|
; Alter these based on owned badges.
|
|
ld de, wTempObtainedBadgesBooleans
|
|
ld hl, wBadgeOrFaceTiles
|
|
ld a, [wObtainedBadges]
|
|
ld b, a
|
|
ld c, NUM_BADGES
|
|
.CheckBadge
|
|
srl b
|
|
jr nc, .NextBadge
|
|
ld a, [hl]
|
|
add 4 ; Badge graphics are after each face
|
|
ld [hl], a
|
|
ld a, 1
|
|
ld [de], a
|
|
.NextBadge
|
|
inc hl
|
|
inc de
|
|
dec c
|
|
jr nz, .CheckBadge
|
|
|
|
; Draw two rows of badges.
|
|
ld hl, wBadgeNumberTile
|
|
ld a, $d8 ; [1]
|
|
ld [hli], a
|
|
; ld [hl], $60 ; First name, unneeded
|
|
|
|
hlcoord 2, 11
|
|
ld de, wTempObtainedBadgesBooleans
|
|
call .DrawBadgeRow
|
|
|
|
hlcoord 2, 14
|
|
ld de, wTempObtainedBadgesBooleans + 4
|
|
; fallthrough
|
|
|
|
.DrawBadgeRow
|
|
; Draw 4 badges.
|
|
|
|
ld c, 4
|
|
.DrawBadge
|
|
push de
|
|
push hl
|
|
|
|
; Badge no.
|
|
ld a, [wBadgeNumberTile]
|
|
ld [hli], a
|
|
inc a
|
|
ld [wBadgeNumberTile], a
|
|
ld a, [wBadgeNameTile]
|
|
inc a
|
|
inc a
|
|
inc hl
|
|
|
|
; Names aren't printed if the badge is owned. - unnecessary code
|
|
; ld a, [de]
|
|
; and a
|
|
; ld a, [wBadgeNameTile]
|
|
; jr nz, .SkipName
|
|
; call .PlaceTiles
|
|
; jr .PlaceBadge
|
|
;
|
|
;.SkipName
|
|
; inc a
|
|
; inc a
|
|
; inc hl
|
|
|
|
.PlaceBadge
|
|
ld [wBadgeNameTile], a
|
|
ld de, SCREEN_WIDTH - 1
|
|
add hl, de
|
|
ld a, [wBadgeOrFaceTiles]
|
|
call .PlaceTiles
|
|
add hl, de
|
|
call .PlaceTiles
|
|
|
|
; Shift badge array back one byte.
|
|
push bc
|
|
ld hl, wBadgeOrFaceTiles + 1
|
|
ld de, wBadgeOrFaceTiles
|
|
ld bc, NUM_BADGES
|
|
call CopyData
|
|
pop bc
|
|
|
|
pop hl
|
|
ld de, 4
|
|
add hl, de
|
|
|
|
pop de
|
|
inc de
|
|
dec c
|
|
jr nz, .DrawBadge
|
|
ret
|
|
|
|
.PlaceTiles
|
|
ld [hli], a
|
|
inc a
|
|
ld [hl], a
|
|
inc a
|
|
ret
|
|
|
|
.FaceBadgeTiles
|
|
db $20, $28, $30, $38, $40, $48, $50, $58
|
|
|
|
GymLeaderFaceAndBadgeTileGraphics:
|
|
INCBIN "gfx/trainer_card/badges.2bpp"
|