You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
Player management [Commit 1] (#38)
This commit is contained in:
@@ -8755,7 +8755,6 @@ GetTrainerBackpic:
|
||||
; Load the player character's backpic (6x6) into VRAM starting from vTiles2 tile $31.
|
||||
|
||||
; Special exception for Dude.
|
||||
ld b, BANK(DudeBackpic)
|
||||
ld hl, DudeBackpic
|
||||
ld a, [wBattleType]
|
||||
cp BATTLETYPE_TUTORIAL
|
||||
@@ -8763,21 +8762,12 @@ GetTrainerBackpic:
|
||||
|
||||
; What gender are we?
|
||||
ld a, [wPlayerGender]
|
||||
bit PLAYERGENDER_FEMALE_F, a
|
||||
jr z, .Chris
|
||||
|
||||
; It's a girl.
|
||||
farcall GetKrisBackpic
|
||||
ret
|
||||
|
||||
.Chris:
|
||||
; It's a boy.
|
||||
ld b, BANK(ChrisBackpic)
|
||||
ld hl, ChrisBackpic
|
||||
|
||||
.Decompress:
|
||||
ld e, PLAYERDATA_BACKPIC
|
||||
call GetPlayerField
|
||||
.Decompress
|
||||
ld de, vTiles2 tile $31
|
||||
ld c, 7 * 7
|
||||
ld b, BANK(ChrisBackpic)
|
||||
predef DecompressGet2bpp
|
||||
ret
|
||||
|
||||
|
@@ -4,12 +4,11 @@ LoadFishingGFX:
|
||||
ld a, $1
|
||||
ldh [rVBK], a
|
||||
|
||||
ld de, FishingGFX
|
||||
ld a, [wPlayerGender]
|
||||
bit PLAYERGENDER_FEMALE_F, a
|
||||
jr z, .got_gender
|
||||
ld de, KrisFishingGFX
|
||||
.got_gender
|
||||
ld e, PLAYERDATA_FISHING_SPRITE
|
||||
call GetPlayerField
|
||||
ld d, h
|
||||
ld e, l
|
||||
|
||||
ld hl, vTiles0 tile $02
|
||||
call .LoadGFX
|
||||
|
@@ -504,13 +504,8 @@ GetPlayerOrMonPalettePointer:
|
||||
and a
|
||||
jp nz, GetMonNormalOrShinyPalettePointer
|
||||
ld a, [wPlayerGender]
|
||||
and a
|
||||
jr z, .male
|
||||
ld hl, KrisPalette
|
||||
ret
|
||||
|
||||
.male
|
||||
ld hl, PlayerPalette
|
||||
ld e, PLAYERDATA_PIC_PAL
|
||||
call GetPlayerField
|
||||
ret
|
||||
|
||||
GetFrontpicPalettePointer:
|
||||
|
@@ -288,25 +288,6 @@ EXPORT PICS_FIX
|
||||
db BANK("Pics 23") ; BANK("Pics 1") + 22
|
||||
db BANK("Pics 24") ; BANK("Pics 1") + 23
|
||||
|
||||
GSIntro_GetMonFrontpic: ; unreferenced
|
||||
ld a, c
|
||||
push de
|
||||
ld hl, PokemonPicPointers
|
||||
dec a
|
||||
ld bc, 6
|
||||
call AddNTimes
|
||||
ld a, BANK(PokemonPicPointers)
|
||||
call GetFarByte
|
||||
call FixPicBank
|
||||
push af
|
||||
inc hl
|
||||
ld a, BANK(PokemonPicPointers)
|
||||
call GetFarWord
|
||||
pop af
|
||||
pop de
|
||||
call FarDecompress
|
||||
ret
|
||||
|
||||
GetTrainerPic:
|
||||
ld a, [wTrainerClass]
|
||||
and a
|
||||
|
@@ -58,7 +58,7 @@ ShowPlayerNamingChoices:
|
||||
call CloseWindow
|
||||
ret
|
||||
|
||||
INCLUDE "data/player_names.asm"
|
||||
INCLUDE "data/players/names.asm"
|
||||
|
||||
GetPlayerIcon:
|
||||
ld de, ChrisSpriteGFX
|
||||
@@ -100,16 +100,11 @@ INCBIN "gfx/trainer_card/trainer_card.2bpp"
|
||||
|
||||
GetPlayerBackpic:
|
||||
ld a, [wPlayerGender]
|
||||
bit PLAYERGENDER_FEMALE_F, a
|
||||
jr z, GetChrisBackpic
|
||||
call GetKrisBackpic
|
||||
ret
|
||||
|
||||
GetChrisBackpic:
|
||||
ld hl, ChrisBackpic
|
||||
ld b, BANK(ChrisBackpic)
|
||||
ld e, PLAYERDATA_BACKPIC
|
||||
call GetPlayerField
|
||||
ld de, vTiles2 tile $31
|
||||
ld c, 7 * 7
|
||||
ld b, BANK(ChrisBackpic)
|
||||
predef DecompressGet2bpp
|
||||
ret
|
||||
|
||||
@@ -177,20 +172,3 @@ DrawIntroPlayerPic:
|
||||
lb bc, 7, 7
|
||||
predef PlaceGraphic
|
||||
ret
|
||||
|
||||
ChrisPic:
|
||||
INCBIN "gfx/player/chris.2bpp"
|
||||
|
||||
KrisPic:
|
||||
INCBIN "gfx/player/kris.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"
|
||||
|
@@ -52,15 +52,11 @@ RefreshSprites::
|
||||
call LoadAndSortSprites
|
||||
ret
|
||||
|
||||
GetPlayerSprite:
|
||||
; Get Chris or Kris's sprite.
|
||||
ld hl, ChrisStateSprites
|
||||
DeterminePlayerSprite:
|
||||
; Return player's sprite in c and a.
|
||||
ld a, [wPlayerGender]
|
||||
bit PLAYERGENDER_FEMALE_F, a
|
||||
jr z, .go
|
||||
ld hl, KrisStateSprites
|
||||
|
||||
.go
|
||||
ld e, PLAYERDATA_STATE_SPRITES
|
||||
call GetPlayerField
|
||||
ld a, [wPlayerState]
|
||||
ld c, a
|
||||
.loop
|
||||
@@ -75,12 +71,16 @@ GetPlayerSprite:
|
||||
xor a ; ld a, PLAYER_NORMAL
|
||||
ld [wPlayerState], a
|
||||
ld a, SPRITE_CHRIS
|
||||
jr .finish
|
||||
ret
|
||||
|
||||
.good
|
||||
ld a, [hl]
|
||||
ld c, a
|
||||
ret
|
||||
|
||||
.finish
|
||||
GetPlayerSprite:
|
||||
; Get player's sprite in a.
|
||||
call DeterminePlayerSprite
|
||||
ld [wUsedSprites + 0], a
|
||||
ld [wPlayerSprite], a
|
||||
ld [wPlayerObjectSprite], a
|
||||
|
@@ -944,33 +944,19 @@ MockPlayerObject::
|
||||
ld bc, OBJECT_EVENT_SIZE + 1
|
||||
call CopyBytes
|
||||
|
||||
; adjust sprite id and palette number
|
||||
ld hl, .PlayerObjectFields
|
||||
.loop
|
||||
; adjust palette number
|
||||
ld a, [wPlayerGender]
|
||||
cp [hl]
|
||||
inc hl
|
||||
jr nz, .next1
|
||||
ld a, [wPlayerState]
|
||||
cp [hl]
|
||||
inc hl
|
||||
jr nz, .next2
|
||||
; found a match
|
||||
ld a, [hli] ; sprite
|
||||
ld [wMapObject{d:LAST_OBJECT}Sprite], a
|
||||
ld a, [hl] ; palette | objecttype
|
||||
ld e, PLAYERDATA_NPC_PAL
|
||||
call GetPlayerField
|
||||
swap a
|
||||
or OBJECTTYPE_SCRIPT
|
||||
ld [wMapObject{d:LAST_OBJECT}Palette], a ; also wMapObject{d:LAST_OBJECT}Type
|
||||
jr .copy_player_coords
|
||||
.next1
|
||||
inc hl
|
||||
.next2
|
||||
inc hl
|
||||
inc hl
|
||||
ld a, [hl]
|
||||
cp -1
|
||||
jr nz, .loop
|
||||
|
||||
.copy_player_coords
|
||||
; adjust sprite id
|
||||
farcall DeterminePlayerSprite
|
||||
ld a, c
|
||||
ld [wMapObject{d:LAST_OBJECT}Sprite], a
|
||||
|
||||
; copy player's coordinates
|
||||
ld hl, wPlayerMockYCoord
|
||||
ld de, wMapObject{d:LAST_OBJECT}YCoord
|
||||
@@ -1001,16 +987,6 @@ MockPlayerObject::
|
||||
db -1 ; MAPOBJECT_OBJECT_STRUCT_ID
|
||||
object_event 0, 0, SPRITE_CHRIS, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, ObjectEvent, -1
|
||||
|
||||
.PlayerObjectFields:
|
||||
; [wPlayerGender], [wPlayerState], sprite id, palette
|
||||
db 0, PLAYER_NORMAL, SPRITE_CHRIS, PAL_NPC_RED << 4 | OBJECTTYPE_SCRIPT
|
||||
db 1 << PLAYERGENDER_FEMALE_F, PLAYER_NORMAL, SPRITE_KRIS, PAL_NPC_BLUE << 4 | OBJECTTYPE_SCRIPT
|
||||
db 0, PLAYER_SURF, SPRITE_SURF, PAL_NPC_RED << 4 | OBJECTTYPE_SCRIPT
|
||||
db 1 << PLAYERGENDER_FEMALE_F, PLAYER_SURF, SPRITE_SURF, PAL_NPC_BLUE << 4 | OBJECTTYPE_SCRIPT
|
||||
db 0, PLAYER_BIKE, SPRITE_CHRIS_BIKE, PAL_NPC_RED << 4 | OBJECTTYPE_SCRIPT
|
||||
db 1 << PLAYERGENDER_FEMALE_F, PLAYER_BIKE, SPRITE_KRIS_BIKE, PAL_NPC_BLUE << 4 | OBJECTTYPE_SCRIPT
|
||||
db -1
|
||||
|
||||
GetSouthConnectedSpriteCoords:
|
||||
; ycoord / 2 <= 2
|
||||
ld a, e
|
||||
|
Reference in New Issue
Block a user