jep-hack/engine/gfx/player_gfx.asm
Zeta_Null b3a3e27906 Initial giant enby Commit
- Changed name lists
- Made Overworld pink palette into purple palette
- Changed gender selection options
- Added Topaz's graphics (Enby Trainer)
- Changed more or less every gender check in the game to account for enby option
- Changed out Morty's palette on  the trainer card to a more purple one to facilitate Topaz's graphics

KNOWN ISSUES / THINGS TO CHANGE
- Topaz's sprite does not currently render correctly on town map (check if this is a map issue or if it occasionally will pop up elsewhere as well)
- Bag Palette is still green like the tutorial made it. Might change it to yellow or something later on.
2023-09-11 11:26:46 -04:00

264 lines
4 KiB
NASM

;BetaLoadPlayerTrainerClass: ; unreferenced
; ld c, CAL
; ld a, [wPlayerGender]
; bit PLAYERGENDER_FEMALE_F, a
; jr z, .got_class
; ld c, KAREN ; not KRIS?
;.got_class
; ld a, c
; ld [wTrainerClass], a
; ret
;
MovePlayerPicRight:
hlcoord 6, 4
ld de, 1
jr MovePlayerPic
MovePlayerPicLeft:
hlcoord 13, 4
ld de, -1
; fallthrough
MovePlayerPic:
; Move player pic at hl by de * 7 tiles.
ld c, $8
.loop
push bc
push hl
push de
xor a
ldh [hBGMapMode], a
lb bc, 7, 7
predef PlaceGraphic
xor a
ldh [hBGMapThird], a
call WaitBGMap
call DelayFrame
pop de
pop hl
add hl, de
pop bc
dec c
ret z
push hl
push bc
ld a, l
sub e
ld l, a
ld a, h
sbc d
ld h, a
lb bc, 7, 7
call ClearBox
pop bc
pop hl
jr .loop
ShowPlayerNamingChoices:
ld hl, ChrisNameMenuHeader
ld a, [wPlayerGender]
and a ; MALE
jr z, .got_header
ld hl, KrisNameMenuHeader
dec a ; FEMALE
jr z, .got_header
ld hl, EnbyNameMenuHeader
.got_header
call LoadMenuHeader
call VerticalMenu
ld a, [wMenuCursorY]
dec a
call CopyNameFromMenu
call CloseWindow
ret
INCLUDE "data/player_names.asm"
;GetPlayerNameArray: ; unreferenced
; ld hl, wPlayerName
; ld de, MalePlayerNameArray
; ld a, [wPlayerGender]
; bit PLAYERGENDER_FEMALE_F, a
; jr z, .got_array
; ld de, FemalePlayerNameArray
;.got_array
; call InitName
; ret
;
GetPlayerIcon:
ld de, ChrisSpriteGFX
ld b, BANK(ChrisSpriteGFX)
ld a, [wPlayerGender]
and a ; MALE
jr z, .got_gfx
; Female
ld de, KrisSpriteGFX
ld b, BANK(KrisSpriteGFX)
dec a ; FEMALE
jr z, .got_gfx
; Enby
ld de, EnbySpriteGFX
ld b, BANK(EnbySpriteGFX)
.got_gfx
ret
GetCardPic:
ld hl, ChrisCardPic
ld a, [wPlayerGender]
and a ; MALE
jr z, .got_pic
ld hl, KrisCardPic
dec a ; FEMALE
jr z, .got_pic
ld hl, EnbyCardPic
.got_pic
ld de, vTiles2 tile $00
ld bc, $23 tiles
ld a, BANK(ChrisCardPic) ; aka BANK(KrisCardPic)
call FarCopyBytes
ld hl, TrainerCardGFX
ld de, vTiles2 tile $23
ld bc, 6 tiles
ld a, BANK(TrainerCardGFX)
call FarCopyBytes
ret
ChrisCardPic:
INCBIN "gfx/trainer_card/chris_card.2bpp"
KrisCardPic:
INCBIN "gfx/trainer_card/kris_card.2bpp"
EnbyCardPic:
INCBIN "gfx/trainer_card/enby_card.2bpp"
TrainerCardGFX:
INCBIN "gfx/trainer_card/trainer_card.2bpp"
GetPlayerBackpic:
ld a, [wPlayerGender]
and a ; MALE
jr z, GetChrisBackpic
dec a ; FEMALE
jp z, GetKrisBackpic
call GetEnbyBackpic
ret
GetChrisBackpic:
ld hl, ChrisBackpic
ld b, BANK(ChrisBackpic)
ld de, vTiles2 tile $31
ld c, 7 * 7
predef DecompressGet2bpp
ret
HOF_LoadTrainerFrontpic:
call WaitBGMap
xor a
ldh [hBGMapMode], a
; Get class
ld e, CHRIS
ld a, [wPlayerGender]
and a ; MALE
jr z, .got_class
ld e, KRIS
dec a ; FEMALE
jr z, .got_class
ld e, TOPAZ
.got_class
ld a, e
ld [wTrainerClass], a
; Load pic
ld de, ChrisPic
ld a, [wPlayerGender]
and a ; MALE
jr z, .got_pic
ld de, KrisPic
dec a ; FEMALE
jr z, .got_pic
ld de, EnbyPic
.got_pic
ld hl, vTiles2
ld b, BANK(ChrisPic) ; aka BANK(KrisPic)
ld c, 7 * 7
call Get2bpp
call WaitBGMap
ld a, $1
ldh [hBGMapMode], a
ret
DrawIntroPlayerPic:
; Draw the player pic at (6,4).
; Get class
ld e, CHRIS
ld a, [wPlayerGender]
and a ; MALE
jr z, .got_class
ld e, KRIS
dec a ; FEMALE
jr z, .got_class
ld e, TOPAZ
.got_class
ld a, e
ld [wTrainerClass], a
; Load pic
ld de, ChrisPic
ld a, [wPlayerGender]
and a ; MALE
jr z, .got_pic
ld de, KrisPic
dec a ; FEMALE
jr z, .got_pic
ld de, EnbyPic
.got_pic
ld hl, vTiles2
ld b, BANK(ChrisPic) ; aka BANK(KrisPic)
ld c, 7 * 7 ; dimensions
call Get2bpp
; Draw
xor a
ldh [hGraphicStartTile], a
hlcoord 6, 4
lb bc, 7, 7
predef PlaceGraphic
ret
ChrisPic:
INCBIN "gfx/player/chris.2bpp"
KrisPic:
INCBIN "gfx/player/kris.2bpp"
EnbyPic:
INCBIN "gfx/player/enby.2bpp"
GetKrisBackpic:
; Kris's backpic is uncompressed.
ld de, KrisBackpic
ld hl, vTiles2 tile $31
lb bc, BANK(KrisBackpic), 7 * 7 ; dimensions
call Get2bpp
ret
KrisBackpic:
INCBIN "gfx/player/kris_back.2bpp"
GetEnbyBackpic:
ld de, EnbyBackpic
ld hl, vTiles2 tile $31
lb bc, BANK(EnbyBackpic), 7 * 7 ; dimensions
call Get2bpp
ret
EnbyBackpic:
INCBIN "gfx/player/enby_back.2bpp"