Enby YES
internally kind of sloppy, filenames refer to Pink as a few different things and none of them are by their final name lol Haven't managed to get this to build the debug rom? Probably not a big deal, though you have to specifically run "make kep" instead of just "make"
|
@ -20,7 +20,7 @@ DEF PC_ITEM_CAPACITY EQU 50
|
||||||
const MONEY_BOX_TEMPLATE ; $0f
|
const MONEY_BOX_TEMPLATE ; $0f
|
||||||
const MENU_TEMPLATE_10 ; $10 unused
|
const MENU_TEMPLATE_10 ; $10 unused
|
||||||
const MON_SPRITE_POPUP ; $11
|
const MON_SPRITE_POPUP ; $11
|
||||||
const JP_AH_MENU_TEMPLATE ; $12
|
const BOY_GIRL_NO ; $12 new for gender non-binary selection
|
||||||
const MONEY_BOX ; $13
|
const MONEY_BOX ; $13
|
||||||
const TWO_OPTION_MENU ; $14
|
const TWO_OPTION_MENU ; $14
|
||||||
const BUY_SELL_QUIT_MENU ; $15
|
const BUY_SELL_QUIT_MENU ; $15
|
||||||
|
|
|
@ -12,6 +12,13 @@ DefaultNamesGirl:
|
||||||
next "ELAINE"
|
next "ELAINE"
|
||||||
db "@"
|
db "@"
|
||||||
|
|
||||||
|
DefaultNamesEnby:
|
||||||
|
db "NEW NAME"
|
||||||
|
next "PINK"
|
||||||
|
next "QUARTZ"
|
||||||
|
next "JAY"
|
||||||
|
db "@"
|
||||||
|
|
||||||
DefaultNamesRival:
|
DefaultNamesRival:
|
||||||
db "NEW NAME"
|
db "NEW NAME"
|
||||||
next "BLUE"
|
next "BLUE"
|
||||||
|
|
|
@ -10,6 +10,12 @@ DefaultNamesGirlList:
|
||||||
db "LEAF@"
|
db "LEAF@"
|
||||||
db "ELAINE@"
|
db "ELAINE@"
|
||||||
|
|
||||||
|
DefaultNamesEnbyList:
|
||||||
|
db "NEW NAME@"
|
||||||
|
db "PINK@"
|
||||||
|
db "QUARTZ@"
|
||||||
|
db "JAY@"
|
||||||
|
|
||||||
DefaultNamesRivalList:
|
DefaultNamesRivalList:
|
||||||
db "NEW NAME@"
|
db "NEW NAME@"
|
||||||
db "BLUE@"
|
db "BLUE@"
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
UnusedBadgeNames::
|
UnusedBadgeNames::
|
||||||
db "かみなりバッヂ@" ; THUNDER BADGE
|
; db "かみなりバッヂ@" ; THUNDER BADGE
|
||||||
db "かいがらバッヂ@" ; SHELL BADGE
|
; db "かいがらバッヂ@" ; SHELL BADGE
|
||||||
db "おじぞうバッヂ@" ; JIZOU BADGE
|
; db "おじぞうバッヂ@" ; JIZOU BADGE
|
||||||
db "はやぶさバッヂ@" ; FALCON BADGE
|
; db "はやぶさバッヂ@" ; FALCON BADGE
|
||||||
db "ひんやりバッヂ@" ; CHILL BADGE
|
; db "ひんやりバッヂ@" ; CHILL BADGE
|
||||||
db "なかよしバッヂ@" ; FRIENDSHIP BADGE
|
; db "なかよしバッヂ@" ; FRIENDSHIP BADGE
|
||||||
db "バラバッヂ@" ; ROSE BADGE
|
; db "バラバッヂ@" ; ROSE BADGE
|
||||||
db "ひのたまバッヂ@" ; FIREBALL BADGE
|
; db "ひのたまバッヂ@" ; FIREBALL BADGE
|
||||||
db "ゴールドバッヂ@" ; GOLD BADGE
|
; db "ゴールドバッヂ@" ; GOLD BADGE
|
||||||
|
|
||||||
UnusedRankingNames:
|
UnusedRankingNames:
|
||||||
db "たまご@" ; EGG
|
; db "たまご@" ; EGG
|
||||||
db "ひよこ@" ; CHICK
|
; db "ひよこ@" ; CHICK
|
||||||
db "ブロンズ@" ; BRONZE
|
; db "ブロンズ@" ; BRONZE
|
||||||
db "シルバー@" ; SILVER
|
; db "シルバー@" ; SILVER
|
||||||
db "ゴールド@" ; GOLD
|
; db "ゴールド@" ; GOLD
|
||||||
db "プチキャプテン@" ; PETIT CAPTAIN
|
; db "プチキャプテン@" ; PETIT CAPTAIN
|
||||||
db "キャプテン@" ; CAPTAIN
|
; db "キャプテン@" ; CAPTAIN
|
||||||
db "プチマスター@" ; PETIT MASTER
|
; db "プチマスター@" ; PETIT MASTER
|
||||||
db "マスター@" ; MASTER
|
; db "マスター@" ; MASTER
|
||||||
db "エクセレント" ; EXCELLENT
|
; db "エクセレント" ; EXCELLENT
|
||||||
|
|
|
@ -33,7 +33,7 @@ TextBoxTextAndCoordTable:
|
||||||
text_box_text SWITCH_STATS_CANCEL_MENU_TEMPLATE, 11, 11, 19, 17, SwitchStatsCancelText, 13, 12
|
text_box_text SWITCH_STATS_CANCEL_MENU_TEMPLATE, 11, 11, 19, 17, SwitchStatsCancelText, 13, 12
|
||||||
text_box_text BUY_SELL_QUIT_MENU_TEMPLATE, 0, 0, 10, 6, BuySellQuitText, 2, 1
|
text_box_text BUY_SELL_QUIT_MENU_TEMPLATE, 0, 0, 10, 6, BuySellQuitText, 2, 1
|
||||||
text_box_text MONEY_BOX_TEMPLATE, 11, 0, 19, 2, MoneyText, 13, 0
|
text_box_text MONEY_BOX_TEMPLATE, 11, 0, 19, 2, MoneyText, 13, 0
|
||||||
text_box_text JP_AH_MENU_TEMPLATE, 7, 6, 11, 10, JapaneseAhText, 8, 8
|
text_box_text BOY_GIRL_NO, 12, 6, 19, 12, BoyGirlNoText, 14, 7
|
||||||
text_box_text JP_POKEDEX_MENU_TEMPLATE, 11, 8, 19, 17, JapanesePokedexMenu, 12, 10
|
text_box_text JP_POKEDEX_MENU_TEMPLATE, 11, 8, 19, 17, JapanesePokedexMenu, 12, 10
|
||||||
|
|
||||||
BuySellQuitText:
|
BuySellQuitText:
|
||||||
|
@ -80,8 +80,10 @@ SwitchStatsCancelText:
|
||||||
next "STATS"
|
next "STATS"
|
||||||
next "CANCEL@"
|
next "CANCEL@"
|
||||||
|
|
||||||
JapaneseAhText:
|
BoyGirlNoText:
|
||||||
db "アッ!@"
|
db "RED"
|
||||||
|
next "GREEN"
|
||||||
|
next "PINK@"
|
||||||
|
|
||||||
JapanesePokedexMenu:
|
JapanesePokedexMenu:
|
||||||
db "データをみる"
|
db "データをみる"
|
||||||
|
|
|
@ -6543,12 +6543,18 @@ LoadPlayerBackPic:
|
||||||
ld a, [wPlayerSex] ; do you think a republican will get off to this commit
|
ld a, [wPlayerSex] ; do you think a republican will get off to this commit
|
||||||
and a
|
and a
|
||||||
jr z, .RedBack
|
jr z, .RedBack
|
||||||
|
cp a, 2
|
||||||
|
jr z, .EnbyBack
|
||||||
ld de, GreenPicBack
|
ld de, GreenPicBack
|
||||||
ld a, BANK(GreenPicBack) ; Load female back sprite
|
ld a, BANK(GreenPicBack) ; Load female back sprite
|
||||||
jr .next
|
jr .next
|
||||||
.RedBack
|
.RedBack
|
||||||
ld de, RedPicBack ; Load default Red back sprite
|
ld de, RedPicBack ; Load default Red back sprite
|
||||||
ld a, BANK(RedPicBack)
|
ld a, BANK(RedPicBack)
|
||||||
|
jr .next
|
||||||
|
.EnbyBack
|
||||||
|
ld de, TealPicBack ; Load teal back sprite
|
||||||
|
ld a, BANK(TealPicBack)
|
||||||
.next
|
.next
|
||||||
ASSERT BANK(GreenPicBack) == BANK(OldManPicBack) ; These two ASSERTs make sure to cover
|
ASSERT BANK(GreenPicBack) == BANK(OldManPicBack) ; These two ASSERTs make sure to cover
|
||||||
ASSERT BANK(RedPicBack) == BANK(OldManPicBack) ; both sprite cases
|
ASSERT BANK(RedPicBack) == BANK(OldManPicBack) ; both sprite cases
|
||||||
|
|
|
@ -519,6 +519,10 @@ DrawTrainerInfo:
|
||||||
ld a, [wPlayerSex] ; guess what it's genital inspection time
|
ld a, [wPlayerSex] ; guess what it's genital inspection time
|
||||||
and a
|
and a
|
||||||
jr z, .AreBoy
|
jr z, .AreBoy
|
||||||
|
ld de, EnbyPicFront
|
||||||
|
lb bc, BANK(EnbyPicFront), $01
|
||||||
|
cp a, 2
|
||||||
|
jr z, .AreBoy ; I'm not updating these names. I'm lazy. Also did you know this was changed to wPlayerGender in one of the other tutorials?
|
||||||
ld de, GreenPicFront
|
ld de, GreenPicFront
|
||||||
lb bc, BANK(GreenPicFront), $01
|
lb bc, BANK(GreenPicFront), $01
|
||||||
.AreBoy
|
.AreBoy
|
||||||
|
|
|
@ -190,8 +190,14 @@ HoFLoadPlayerPics:
|
||||||
ld a, BANK(RedPicFront)
|
ld a, BANK(RedPicFront)
|
||||||
jr .Routine ; skip the girl stuff and go to main routine
|
jr .Routine ; skip the girl stuff and go to main routine
|
||||||
.GirlStuff1
|
.GirlStuff1
|
||||||
|
cp a, 2
|
||||||
|
jr z, .TealStuff1
|
||||||
ld de, GreenPicFront
|
ld de, GreenPicFront
|
||||||
ld a, BANK(GreenPicFront)
|
ld a, BANK(GreenPicFront)
|
||||||
|
jr .Routine ; skip the girl stuff and go to main routine
|
||||||
|
.TealStuff1
|
||||||
|
ld de, EnbyPicFront
|
||||||
|
ld a, BANK(EnbyPicFront)
|
||||||
.Routine ; resume original routine
|
.Routine ; resume original routine
|
||||||
call UncompressSpriteFromDE
|
call UncompressSpriteFromDE
|
||||||
ld hl, sSpriteBuffer1
|
ld hl, sSpriteBuffer1
|
||||||
|
@ -207,8 +213,14 @@ HoFLoadPlayerPics:
|
||||||
ld a, BANK(RedPicBack)
|
ld a, BANK(RedPicBack)
|
||||||
jr .routine2 ; skip the girl stuff and continue original routine if guy
|
jr .routine2 ; skip the girl stuff and continue original routine if guy
|
||||||
.GirlStuff2
|
.GirlStuff2
|
||||||
|
cp a, 2
|
||||||
|
jr z, .TealStuff2
|
||||||
ld de, GreenPicBack
|
ld de, GreenPicBack
|
||||||
ld a, BANK(GreenPicBack)
|
ld a, BANK(GreenPicBack)
|
||||||
|
jr .routine2
|
||||||
|
.TealStuff2
|
||||||
|
ld de, TealPicBack
|
||||||
|
ld a, BANK(TealPicBack)
|
||||||
.routine2 ; original routine
|
.routine2 ; original routine
|
||||||
call UncompressSpriteFromDE
|
call UncompressSpriteFromDE
|
||||||
predef ScaleSpriteByTwo
|
predef ScaleSpriteByTwo
|
||||||
|
|
|
@ -277,9 +277,9 @@ CopyTileIDsFromList_ZeroBaseTileID:
|
||||||
|
|
||||||
PlayMoveSoundB:
|
PlayMoveSoundB:
|
||||||
; unused
|
; unused
|
||||||
predef GetMoveSoundB
|
; predef GetMoveSoundB
|
||||||
ld a, b
|
; ld a, b
|
||||||
jp PlaySound
|
; jp PlaySound
|
||||||
|
|
||||||
LoadIntroGraphics:
|
LoadIntroGraphics:
|
||||||
ld hl, FightIntroBackMon
|
ld hl, FightIntroBackMon
|
||||||
|
|
|
@ -71,7 +71,7 @@ OakSpeech:
|
||||||
call PrintText ; show this text
|
call PrintText ; show this text
|
||||||
call BoyGirlChoice ; added routine at the end of this file
|
call BoyGirlChoice ; added routine at the end of this file
|
||||||
ld a, [wCurrentMenuItem]
|
ld a, [wCurrentMenuItem]
|
||||||
ld [wPlayerSex], a ; store player's gender. 00 for boy, 01 for girl
|
ld [wPlayerSex], a ; store player's gender. 00 for boy, 01 for girl, 02 for enby
|
||||||
call GBFadeOutToWhite
|
call GBFadeOutToWhite
|
||||||
call ClearScreen
|
call ClearScreen
|
||||||
|
|
||||||
|
@ -80,6 +80,10 @@ OakSpeech:
|
||||||
ld a, [wPlayerSex] ; check sex
|
ld a, [wPlayerSex] ; check sex
|
||||||
and a ; check sex
|
and a ; check sex
|
||||||
jr z, .NotGreen0
|
jr z, .NotGreen0
|
||||||
|
ld de, EnbyPicFront
|
||||||
|
lb bc, BANK(EnbyPicFront), $00
|
||||||
|
cp a, 2
|
||||||
|
jr z, .NotGreen0
|
||||||
ld de, GreenPicFront
|
ld de, GreenPicFront
|
||||||
lb bc, BANK(GreenPicFront), $00
|
lb bc, BANK(GreenPicFront), $00
|
||||||
.NotGreen0
|
.NotGreen0
|
||||||
|
@ -97,7 +101,9 @@ OakSpeech:
|
||||||
ld a, [wPlayerSex] ; Let's change the Nidorins based on the choice. It's really cute and makes use of an unused command sound.
|
ld a, [wPlayerSex] ; Let's change the Nidorins based on the choice. It's really cute and makes use of an unused command sound.
|
||||||
and a
|
and a
|
||||||
jr z, .Nidorino
|
jr z, .Nidorino
|
||||||
jr nz, .Nidorina
|
cp a, 2
|
||||||
|
jr z, .Nidoreign
|
||||||
|
; jr nz, .Nidorina
|
||||||
.Nidorina
|
.Nidorina
|
||||||
ld a, NIDORINA
|
ld a, NIDORINA
|
||||||
ld [wd0b5], a
|
ld [wd0b5], a
|
||||||
|
@ -117,6 +123,16 @@ OakSpeech:
|
||||||
call LoadFlippedFrontSpriteByMonIndex
|
call LoadFlippedFrontSpriteByMonIndex
|
||||||
call MovePicLeft
|
call MovePicLeft
|
||||||
ld hl, OakSpeechText2Red
|
ld hl, OakSpeechText2Red
|
||||||
|
jr .cont
|
||||||
|
.Nidoreign
|
||||||
|
ld a, NIDOREIGN
|
||||||
|
ld [wd0b5], a
|
||||||
|
ld [wcf91], a
|
||||||
|
call GetMonHeader
|
||||||
|
hlcoord 6, 4
|
||||||
|
call LoadFlippedFrontSpriteByMonIndex
|
||||||
|
call MovePicLeft
|
||||||
|
ld hl, OakSpeechText2Enby
|
||||||
|
|
||||||
.cont
|
.cont
|
||||||
call PrintText
|
call PrintText
|
||||||
|
@ -124,12 +140,19 @@ OakSpeech:
|
||||||
call ClearScreen
|
call ClearScreen
|
||||||
ld de, RedPicFront
|
ld de, RedPicFront
|
||||||
lb bc, BANK(RedPicFront), $00
|
lb bc, BANK(RedPicFront), $00
|
||||||
ld a, [wPlayerSex] ; check sex
|
ld a, [wPlayerSex] ; load gender
|
||||||
and a ; check sex
|
and a ; check gender - and a is equivalent to `cp a, 0` (but faster)
|
||||||
jr z, .NotGreen1
|
; if a=0->gender=male, ergo jump to the vanilla part of the code
|
||||||
|
jr z, .ContinueWithOakIntro1
|
||||||
|
cp a, 2 ; check gender: if a=2->gender=enby, jump to the yellow subroutine, otherwise continue below
|
||||||
|
jp z, .LoadEnbyPicFront1
|
||||||
ld de, GreenPicFront
|
ld de, GreenPicFront
|
||||||
lb bc, BANK(GreenPicFront), $00
|
lb bc, BANK(GreenPicFront), $00
|
||||||
.NotGreen1:
|
jr .ContinueWithOakIntro1
|
||||||
|
.LoadEnbyPicFront1
|
||||||
|
ld de, EnbyPicFront
|
||||||
|
lb bc, BANK(EnbyPicFront), $00
|
||||||
|
.ContinueWithOakIntro1:
|
||||||
call IntroDisplayPicCenteredOrUpperRight
|
call IntroDisplayPicCenteredOrUpperRight
|
||||||
call MovePicLeft
|
call MovePicLeft
|
||||||
ld hl, IntroducePlayerText
|
ld hl, IntroducePlayerText
|
||||||
|
@ -152,6 +175,10 @@ OakSpeech:
|
||||||
ld a, [wPlayerSex] ; check sex
|
ld a, [wPlayerSex] ; check sex
|
||||||
and a ; check sex
|
and a ; check sex
|
||||||
jr z, .NotGreen2
|
jr z, .NotGreen2
|
||||||
|
ld de, EnbyPicFront
|
||||||
|
lb bc, BANK(EnbyPicFront), $00
|
||||||
|
cp a, 2
|
||||||
|
jr z, .NotGreen2
|
||||||
ld de, GreenPicFront
|
ld de, GreenPicFront
|
||||||
lb bc, Bank(GreenPicFront), $00
|
lb bc, Bank(GreenPicFront), $00
|
||||||
.NotGreen2:
|
.NotGreen2:
|
||||||
|
@ -177,6 +204,10 @@ OakSpeech:
|
||||||
lb bc, BANK(RedSprite), $0C
|
lb bc, BANK(RedSprite), $0C
|
||||||
ld a, [wPlayerSex] ; check sex
|
ld a, [wPlayerSex] ; check sex
|
||||||
and a ; check sex
|
and a ; check sex
|
||||||
|
jr z, .NotGreen3
|
||||||
|
ld de, TealSprite
|
||||||
|
lb bc, BANK(TealSprite), $0C
|
||||||
|
cp a, 2
|
||||||
jr z, .NotGreen3
|
jr z, .NotGreen3
|
||||||
ld de,GreenSprite
|
ld de,GreenSprite
|
||||||
lb bc, BANK(GreenSprite), $0C
|
lb bc, BANK(GreenSprite), $0C
|
||||||
|
@ -232,6 +263,11 @@ OakSpeechText2Green:
|
||||||
sound_cry_nidorina
|
sound_cry_nidorina
|
||||||
text_far _OakSpeechText2B
|
text_far _OakSpeechText2B
|
||||||
text_end
|
text_end
|
||||||
|
OakSpeechText2Enby:
|
||||||
|
text_far _OakSpeechText2A
|
||||||
|
sound_cry_nidoreign
|
||||||
|
text_far _OakSpeechText2B
|
||||||
|
text_end
|
||||||
IntroducePlayerText:
|
IntroducePlayerText:
|
||||||
text_far _IntroducePlayerText
|
text_far _IntroducePlayerText
|
||||||
text_end
|
text_end
|
||||||
|
@ -305,23 +341,40 @@ IntroDisplayPicCenteredOrUpperRight:
|
||||||
predef_jump CopyUncompressedPicToTilemap
|
predef_jump CopyUncompressedPicToTilemap
|
||||||
|
|
||||||
; displays boy/girl choice
|
; displays boy/girl choice
|
||||||
BoyGirlChoice::
|
BoyGirlChoice::
|
||||||
call SaveScreenTilesToBuffer1
|
call SaveScreenTilesToBuffer1
|
||||||
call InitBoyGirlTextBoxParameters
|
jr DisplayBoyGirlNoChoice
|
||||||
jr DisplayBoyGirlChoice
|
|
||||||
|
|
||||||
InitBoyGirlTextBoxParameters::
|
DisplayBoyGirlNoChoice::
|
||||||
ld a, $1 ; loads the value for the unused North/West choice, that was changed to say Boy/Girl
|
ld a, BOY_GIRL_NO
|
||||||
ld [wTwoOptionMenuID], a
|
|
||||||
coord hl, 12, 7
|
|
||||||
ld bc, $80d
|
|
||||||
ret
|
|
||||||
|
|
||||||
DisplayBoyGirlChoice::
|
|
||||||
ld a, $14
|
|
||||||
ld [wTextBoxID], a
|
ld [wTextBoxID], a
|
||||||
call DisplayTextBoxID
|
call DisplayTextBoxID
|
||||||
|
ld hl, wTopMenuItemY
|
||||||
|
ld a, 7
|
||||||
|
ld [hli], a ; top menu item Y
|
||||||
|
ld a, 13
|
||||||
|
ld [hli], a ; top menu item X
|
||||||
|
xor a
|
||||||
|
ld [hli], a ; current menu item ID
|
||||||
|
inc hl
|
||||||
|
ld a, $2
|
||||||
|
ld [hli], a ; wMaxMenuItem
|
||||||
|
; ld a, B_BUTTON | A_BUTTON
|
||||||
|
ld a, A_BUTTON
|
||||||
|
ld [hli], a ; wMenuWatchedKeys
|
||||||
|
xor a
|
||||||
|
ld [hl], a ; wLastMenuItem
|
||||||
|
call HandleMenuInput
|
||||||
|
; bit BIT_B_BUTTON, a
|
||||||
|
; jr nz, .defaultOption ; if B was pressed, assign enby
|
||||||
|
; A was pressed
|
||||||
|
call PlaceUnfilledArrowMenuCursor
|
||||||
|
ld a, [wCurrentMenuItem]
|
||||||
jp LoadScreenTilesFromBuffer1
|
jp LoadScreenTilesFromBuffer1
|
||||||
|
;.defaultOption
|
||||||
|
; ld a, $02
|
||||||
|
; ld [wCurrentMenuItem], a
|
||||||
|
; jp LoadScreenTilesFromBuffer1
|
||||||
|
|
||||||
BoyGirlText: ; This is new so we had to add a reference to get it to compile
|
BoyGirlText: ; This is new so we had to add a reference to get it to compile
|
||||||
text_far _BoyGirlText
|
text_far _BoyGirlText
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
ChoosePlayerName:
|
ChoosePlayerName:
|
||||||
call OakSpeechSlidePicRight
|
call OakSpeechSlidePicRight
|
||||||
ld a, [wPlayerSex] ; load sex
|
ld a, [wPlayerSex] ; load sex
|
||||||
|
cp a, 2
|
||||||
|
jr z, .AreEnby ; Skip to enby names if you are enby instead
|
||||||
and a
|
and a
|
||||||
jr nz, .AreGirl ; Skip to girl names if you are a girl instead
|
jr nz, .AreGirl ; Skip to girl names if you are a girl instead
|
||||||
ld de, DefaultNamesPlayer
|
ld de, DefaultNamesPlayer
|
||||||
|
@ -24,6 +26,17 @@ ChoosePlayerName:
|
||||||
ld de, wPlayerName
|
ld de, wPlayerName
|
||||||
call OakSpeechSlidePicLeft
|
call OakSpeechSlidePicLeft
|
||||||
jr .done ; End of new Girl Names routine
|
jr .done ; End of new Girl Names routine
|
||||||
|
.AreEnby ; Copy of the boy naming routine, just with enby's names
|
||||||
|
ld de, DefaultNamesEnby
|
||||||
|
call DisplayIntroNameTextBox
|
||||||
|
ld a, [wCurrentMenuItem]
|
||||||
|
and a
|
||||||
|
jr z, .customName
|
||||||
|
ld hl, DefaultNamesEnbyList
|
||||||
|
call GetDefaultName
|
||||||
|
ld de, wPlayerName
|
||||||
|
call OakSpeechSlidePicLeft
|
||||||
|
jr .done ; End of new Enby Names routine
|
||||||
.customName
|
.customName
|
||||||
ld hl, wPlayerName
|
ld hl, wPlayerName
|
||||||
xor a ; NAME_PLAYER_SCREEN
|
xor a ; NAME_PLAYER_SCREEN
|
||||||
|
@ -39,6 +52,10 @@ ChoosePlayerName:
|
||||||
ld a, [wPlayerSex] ; sex check
|
ld a, [wPlayerSex] ; sex check
|
||||||
and a ; yknow it feels like republicans wanting to do penis checking
|
and a ; yknow it feels like republicans wanting to do penis checking
|
||||||
jr z, .AreBoy3
|
jr z, .AreBoy3
|
||||||
|
ld de, EnbyPicFront
|
||||||
|
ld b, BANK(EnbyPicFront)
|
||||||
|
cp a, 2
|
||||||
|
jr z, .AreBoy3
|
||||||
ld de, GreenPicFront
|
ld de, GreenPicFront
|
||||||
ld b, BANK(GreenPicFront)
|
ld b, BANK(GreenPicFront)
|
||||||
.AreBoy3
|
.AreBoy3
|
||||||
|
|
|
@ -93,10 +93,17 @@ DisplayTitleScreen:
|
||||||
jr nz, .pokemonLogoLastTileRowLoop
|
jr nz, .pokemonLogoLastTileRowLoop
|
||||||
call Random
|
call Random
|
||||||
ldh a, [hRandomAdd]
|
ldh a, [hRandomAdd]
|
||||||
cp 129
|
cp 86
|
||||||
jr c, .male
|
jr c, .male
|
||||||
|
call Random
|
||||||
|
ldh a, [hRandomAdd]
|
||||||
|
cp 129
|
||||||
|
jr c, .nb
|
||||||
call DrawFPlayerCharacter
|
call DrawFPlayerCharacter
|
||||||
jr .playerskip
|
jr .playerskip
|
||||||
|
.nb
|
||||||
|
call DrawNBPlayerCharacter
|
||||||
|
jr .playerskip
|
||||||
.male
|
.male
|
||||||
call DrawPlayerCharacter
|
call DrawPlayerCharacter
|
||||||
.playerskip
|
.playerskip
|
||||||
|
@ -399,6 +406,43 @@ DrawFPlayerCharacter:
|
||||||
jr nz, .loop2
|
jr nz, .loop2
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
DrawNBPlayerCharacter:
|
||||||
|
ld hl, NBPlayerCharacterTitleGraphics
|
||||||
|
ld de, vSprites
|
||||||
|
ld bc, NBPlayerCharacterTitleGraphicsEnd - NBPlayerCharacterTitleGraphics
|
||||||
|
ld a, BANK(NBPlayerCharacterTitleGraphics)
|
||||||
|
call FarCopyData2
|
||||||
|
call ClearSprites
|
||||||
|
xor a
|
||||||
|
ld [wNBPlayerCharacterOAMTile], a
|
||||||
|
ld hl, wShadowOAM
|
||||||
|
lb de, $60, $5a
|
||||||
|
ld b, 7
|
||||||
|
.loop3
|
||||||
|
push de
|
||||||
|
ld c, 5
|
||||||
|
.innerLoop3
|
||||||
|
ld a, d
|
||||||
|
ld [hli], a ; Y
|
||||||
|
ld a, e
|
||||||
|
ld [hli], a ; X
|
||||||
|
add 8
|
||||||
|
ld e, a
|
||||||
|
ld a, [wNBPlayerCharacterOAMTile]
|
||||||
|
ld [hli], a ; tile
|
||||||
|
inc a
|
||||||
|
ld [wNBPlayerCharacterOAMTile], a
|
||||||
|
inc hl
|
||||||
|
dec c
|
||||||
|
jr nz, .innerLoop3
|
||||||
|
pop de
|
||||||
|
ld a, 8
|
||||||
|
add d
|
||||||
|
ld d, a
|
||||||
|
dec b
|
||||||
|
jr nz, .loop3
|
||||||
|
ret
|
||||||
|
|
||||||
ClearBothBGMaps:
|
ClearBothBGMaps:
|
||||||
ld hl, vBGMap0
|
ld hl, vBGMap0
|
||||||
ld bc, $400 * 2
|
ld bc, $400 * 2
|
||||||
|
|
|
@ -389,6 +389,8 @@ FishingAnim:
|
||||||
ld a, [wPlayerSex] ; sex check
|
ld a, [wPlayerSex] ; sex check
|
||||||
and a ; sex check
|
and a ; sex check
|
||||||
jr z, .BoySpriteLoad
|
jr z, .BoySpriteLoad
|
||||||
|
cp a, 2
|
||||||
|
jr z, .EnbySpriteLoad
|
||||||
ld de, GreenSprite
|
ld de, GreenSprite
|
||||||
ld hl, vNPCSprites
|
ld hl, vNPCSprites
|
||||||
ld bc, (BANK(GreenSprite) << 8) + $0c
|
ld bc, (BANK(GreenSprite) << 8) + $0c
|
||||||
|
@ -397,17 +399,28 @@ FishingAnim:
|
||||||
ld de, RedSprite
|
ld de, RedSprite
|
||||||
ld hl, vNPCSprites
|
ld hl, vNPCSprites
|
||||||
lb bc, BANK(RedSprite), $c
|
lb bc, BANK(RedSprite), $c
|
||||||
|
jr .KeepLoadingSpriteStuff
|
||||||
|
.EnbySpriteLoad
|
||||||
|
ld de, TealSprite
|
||||||
|
ld hl, vNPCSprites
|
||||||
|
lb bc, BANK(TealSprite), $c
|
||||||
.KeepLoadingSpriteStuff
|
.KeepLoadingSpriteStuff
|
||||||
call CopyVideoData
|
call CopyVideoData
|
||||||
ld a, [wPlayerSex] ; ; sex check
|
ld a, [wPlayerSex] ; ; sex check
|
||||||
and a ; ; sex check seriously i feel like a republican here
|
and a ; ; sex check seriously i feel like a republican here
|
||||||
jr z, .BoyTiles ; skip loading Green's stuff if you're Red
|
jr z, .BoyTiles ; skip loading Green's stuff if you're Red
|
||||||
|
cp a, 2
|
||||||
|
jr z, .EnbyTiles
|
||||||
ld a, $4
|
ld a, $4
|
||||||
ld hl, GreenFishingTiles
|
ld hl, GreenFishingTiles
|
||||||
jr .ContinueRoutine ; go back to main routine after loading Green's stuff
|
jr .ContinueRoutine ; go back to main routine after loading Green's stuff
|
||||||
.BoyTiles ; alternately, load Red's stuff
|
.BoyTiles ; alternately, load Red's stuff
|
||||||
ld a, $4
|
ld a, $4
|
||||||
ld hl, RedFishingTiles
|
ld hl, RedFishingTiles
|
||||||
|
jr .ContinueRoutine ; go back to main routine after loading Red's stuff
|
||||||
|
.EnbyTiles ; alternately, load Teal's stuff
|
||||||
|
ld a, $4
|
||||||
|
ld hl, TealFishingTiles
|
||||||
.ContinueRoutine
|
.ContinueRoutine
|
||||||
call LoadAnimSpriteGfx
|
call LoadAnimSpriteGfx
|
||||||
ld a, [wSpritePlayerStateData1ImageIndex]
|
ld a, [wSpritePlayerStateData1ImageIndex]
|
||||||
|
@ -517,6 +530,12 @@ GreenFishingTiles:
|
||||||
fishing_gfx GreenFishingTilesSide, 2, $0a
|
fishing_gfx GreenFishingTilesSide, 2, $0a
|
||||||
fishing_gfx RedFishingRodTiles, 3, $fd
|
fishing_gfx RedFishingRodTiles, 3, $fd
|
||||||
|
|
||||||
|
TealFishingTiles:
|
||||||
|
fishing_gfx TealFishingTilesFront, 2, $02
|
||||||
|
fishing_gfx TealFishingTilesBack, 2, $06
|
||||||
|
fishing_gfx TealFishingTilesSide, 2, $0a
|
||||||
|
fishing_gfx RedFishingRodTiles, 3, $fd
|
||||||
|
|
||||||
_HandleMidJump::
|
_HandleMidJump::
|
||||||
ld a, [wPlayerJumpingYScreenCoordsIndex]
|
ld a, [wPlayerJumpingYScreenCoordsIndex]
|
||||||
ld c, a
|
ld c, a
|
||||||
|
|
|
@ -5,3 +5,6 @@ RedFishingRodTiles: INCBIN "gfx/overworld/fishing_rod.2bpp"
|
||||||
GreenFishingTilesFront: INCBIN "gfx/overworld/green_fish_front.2bpp"
|
GreenFishingTilesFront: INCBIN "gfx/overworld/green_fish_front.2bpp"
|
||||||
GreenFishingTilesBack: INCBIN "gfx/overworld/green_fish_back.2bpp"
|
GreenFishingTilesBack: INCBIN "gfx/overworld/green_fish_back.2bpp"
|
||||||
GreenFishingTilesSide: INCBIN "gfx/overworld/green_fish_side.2bpp"
|
GreenFishingTilesSide: INCBIN "gfx/overworld/green_fish_side.2bpp"
|
||||||
|
TealFishingTilesFront: INCBIN "gfx/overworld/teal_fish_front.2bpp"
|
||||||
|
TealFishingTilesBack: INCBIN "gfx/overworld/teal_fish_back.2bpp"
|
||||||
|
TealFishingTilesSide: INCBIN "gfx/overworld/teal_fish_side.2bpp"
|
||||||
|
|
BIN
gfx/overworld/teal_fish_back.png
Normal file
After Width: | Height: | Size: 602 B |
BIN
gfx/overworld/teal_fish_front.png
Normal file
After Width: | Height: | Size: 635 B |
BIN
gfx/overworld/teal_fish_side.png
Normal file
After Width: | Height: | Size: 633 B |
|
@ -261,6 +261,7 @@ PidgeottoPicBack:: INCBIN "gfx/pokemon/back/pidgeottob.pic"
|
||||||
|
|
||||||
RedPicBack:: INCBIN "gfx/player/redb.pic"
|
RedPicBack:: INCBIN "gfx/player/redb.pic"
|
||||||
GreenPicBack:: INCBIN "gfx/player/greenb.pic"
|
GreenPicBack:: INCBIN "gfx/player/greenb.pic"
|
||||||
|
TealPicBack:: INCBIN "gfx/player/thirdb.pic"
|
||||||
OldManPicBack:: INCBIN "gfx/battle/oldmanb.pic"
|
OldManPicBack:: INCBIN "gfx/battle/oldmanb.pic"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
RedPicFront:: INCBIN "gfx/player/red.pic"
|
RedPicFront:: INCBIN "gfx/player/red.pic"
|
||||||
GreenPicFront:: INCBIN "gfx/player/green.pic"
|
GreenPicFront:: INCBIN "gfx/player/green.pic"
|
||||||
|
EnbyPicFront:: INCBIN "gfx/player/third.pic"
|
||||||
ShrinkPic1:: INCBIN "gfx/player/shrink1.pic"
|
ShrinkPic1:: INCBIN "gfx/player/shrink1.pic"
|
||||||
ShrinkPic2:: INCBIN "gfx/player/shrink2.pic"
|
ShrinkPic2:: INCBIN "gfx/player/shrink2.pic"
|
||||||
|
|
BIN
gfx/player/third.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
gfx/player/thirdb.png
Normal file
After Width: | Height: | Size: 902 B |
|
@ -37,6 +37,8 @@ RedBikeSprite:: INCBIN "gfx/sprites/red_bike.2bpp"
|
||||||
RedSprite:: INCBIN "gfx/sprites/red.2bpp"
|
RedSprite:: INCBIN "gfx/sprites/red.2bpp"
|
||||||
GreenBikeSprite:: INCBIN "gfx/sprites/green_bike.2bpp"
|
GreenBikeSprite:: INCBIN "gfx/sprites/green_bike.2bpp"
|
||||||
GreenSprite:: INCBIN "gfx/sprites/green.2bpp"
|
GreenSprite:: INCBIN "gfx/sprites/green.2bpp"
|
||||||
|
TealBikeSprite:: INCBIN "gfx/sprites/teal_bike.2bpp"
|
||||||
|
TealSprite:: INCBIN "gfx/sprites/teal.2bpp"
|
||||||
BlueSprite:: INCBIN "gfx/sprites/blue.2bpp"
|
BlueSprite:: INCBIN "gfx/sprites/blue.2bpp"
|
||||||
OakSprite:: INCBIN "gfx/sprites/oak.2bpp"
|
OakSprite:: INCBIN "gfx/sprites/oak.2bpp"
|
||||||
YoungsterSprite:: INCBIN "gfx/sprites/youngster.2bpp"
|
YoungsterSprite:: INCBIN "gfx/sprites/youngster.2bpp"
|
||||||
|
@ -66,12 +68,6 @@ ErikaSprite:: INCBIN "gfx/sprites/erika.2bpp"
|
||||||
MiddleAgedWomanSprite:: INCBIN "gfx/sprites/middle_aged_woman.2bpp"
|
MiddleAgedWomanSprite:: INCBIN "gfx/sprites/middle_aged_woman.2bpp"
|
||||||
BrunetteGirlSprite:: INCBIN "gfx/sprites/brunette_girl.2bpp"
|
BrunetteGirlSprite:: INCBIN "gfx/sprites/brunette_girl.2bpp"
|
||||||
LanceSprite:: INCBIN "gfx/sprites/lance.2bpp"
|
LanceSprite:: INCBIN "gfx/sprites/lance.2bpp"
|
||||||
MomSprite:: INCBIN "gfx/sprites/mom.2bpp"
|
|
||||||
BaldingGuySprite:: INCBIN "gfx/sprites/balding_guy.2bpp"
|
|
||||||
LittleBoySprite:: INCBIN "gfx/sprites/little_boy.2bpp"
|
|
||||||
GameboyKidSprite:: INCBIN "gfx/sprites/gameboy_kid.2bpp"
|
|
||||||
FairySprite:: INCBIN "gfx/sprites/fairy.2bpp"
|
|
||||||
AgathaSprite:: INCBIN "gfx/sprites/agatha.2bpp"
|
|
||||||
SeelSprite:: INCBIN "gfx/sprites/seel.2bpp" ; what a SILLY thing to do.
|
SeelSprite:: INCBIN "gfx/sprites/seel.2bpp" ; what a SILLY thing to do.
|
||||||
|
|
||||||
SECTION "NPC Sprites 3", ROMX
|
SECTION "NPC Sprites 3", ROMX
|
||||||
|
@ -98,3 +94,12 @@ MagikarpSprite:: INCBIN "gfx/sprites/magikarp.2bpp"
|
||||||
PoliwagSprite:: INCBIN "gfx/sprites/poliwag.2bpp"
|
PoliwagSprite:: INCBIN "gfx/sprites/poliwag.2bpp"
|
||||||
LoreleiSprite:: INCBIN "gfx/sprites/lorelei.2bpp"
|
LoreleiSprite:: INCBIN "gfx/sprites/lorelei.2bpp"
|
||||||
BrunoSprite:: INCBIN "gfx/sprites/bruno.2bpp"
|
BrunoSprite:: INCBIN "gfx/sprites/bruno.2bpp"
|
||||||
|
|
||||||
|
SECTION "NPC Sprites 4", ROMX
|
||||||
|
|
||||||
|
MomSprite:: INCBIN "gfx/sprites/mom.2bpp"
|
||||||
|
BaldingGuySprite:: INCBIN "gfx/sprites/balding_guy.2bpp"
|
||||||
|
LittleBoySprite:: INCBIN "gfx/sprites/little_boy.2bpp"
|
||||||
|
GameboyKidSprite:: INCBIN "gfx/sprites/gameboy_kid.2bpp"
|
||||||
|
FairySprite:: INCBIN "gfx/sprites/fairy.2bpp"
|
||||||
|
AgathaSprite:: INCBIN "gfx/sprites/agatha.2bpp"
|
||||||
|
|
BIN
gfx/sprites/teal.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
gfx/sprites/teal_bike.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
gfx/title/nbplayer.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
|
@ -9,3 +9,6 @@ BadgeNumbersTileGraphics: INCBIN "gfx/trainer_card/badge_numbers.2bpp"
|
||||||
|
|
||||||
FPlayerCharacterTitleGraphics: INCBIN "gfx/title/fplayer.2bpp"
|
FPlayerCharacterTitleGraphics: INCBIN "gfx/title/fplayer.2bpp"
|
||||||
FPlayerCharacterTitleGraphicsEnd:
|
FPlayerCharacterTitleGraphicsEnd:
|
||||||
|
|
||||||
|
NBPlayerCharacterTitleGraphics: INCBIN "gfx/title/nbplayer.2bpp"
|
||||||
|
NBPlayerCharacterTitleGraphicsEnd:
|
||||||
|
|
|
@ -2038,6 +2038,9 @@ LoadWalkingPlayerSpriteGraphics::
|
||||||
ld a, [wPlayerSex]
|
ld a, [wPlayerSex]
|
||||||
and a
|
and a
|
||||||
jr z, .AreGuy1
|
jr z, .AreGuy1
|
||||||
|
ld de, TealSprite
|
||||||
|
cp a, 2
|
||||||
|
jr z, .AreGuy1
|
||||||
ld de, GreenSprite
|
ld de, GreenSprite
|
||||||
.AreGuy1
|
.AreGuy1
|
||||||
ld hl,vNPCSprites
|
ld hl,vNPCSprites
|
||||||
|
@ -2053,6 +2056,9 @@ LoadBikePlayerSpriteGraphics::
|
||||||
ld a, [wPlayerSex]
|
ld a, [wPlayerSex]
|
||||||
and a
|
and a
|
||||||
jr z, .AreGuy2
|
jr z, .AreGuy2
|
||||||
|
ld de, TealBikeSprite
|
||||||
|
cp a, 2
|
||||||
|
jr z, .AreGuy2
|
||||||
ld de, GreenBikeSprite
|
ld de, GreenBikeSprite
|
||||||
.AreGuy2
|
.AreGuy2
|
||||||
ld hl, vNPCSprites
|
ld hl, vNPCSprites
|
||||||
|
|
|
@ -522,6 +522,8 @@ TextCommand_SOUND::
|
||||||
jr z, .pokemonCry
|
jr z, .pokemonCry
|
||||||
cp TX_SOUND_CRY_NIDORINA
|
cp TX_SOUND_CRY_NIDORINA
|
||||||
jr z, .pokemonCry
|
jr z, .pokemonCry
|
||||||
|
cp TX_SOUND_CRY_NIDOREIGN
|
||||||
|
jr z, .pokemonCry
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
call PlaySound
|
call PlaySound
|
||||||
call WaitForSoundToFinish
|
call WaitForSoundToFinish
|
||||||
|
@ -542,7 +544,7 @@ TextCommandSounds::
|
||||||
db TX_SOUND_GET_ITEM_1, SFX_GET_ITEM_1 ; actually plays SFX_LEVEL_UP when the battle music engine is loaded
|
db TX_SOUND_GET_ITEM_1, SFX_GET_ITEM_1 ; actually plays SFX_LEVEL_UP when the battle music engine is loaded
|
||||||
db TX_SOUND_CAUGHT_MON, SFX_CAUGHT_MON
|
db TX_SOUND_CAUGHT_MON, SFX_CAUGHT_MON
|
||||||
db TX_SOUND_POKEDEX_RATING, SFX_POKEDEX_RATING ; unused
|
db TX_SOUND_POKEDEX_RATING, SFX_POKEDEX_RATING ; unused
|
||||||
db TX_SOUND_GET_ITEM_1_DUPLICATE, SFX_GET_ITEM_1 ; unused
|
db TX_SOUND_CRY_NIDOREIGN, NIDOREIGN ; Was SFX_GET_ITEM_1 duplicate
|
||||||
db TX_SOUND_GET_ITEM_2, SFX_GET_ITEM_2
|
db TX_SOUND_GET_ITEM_2, SFX_GET_ITEM_2
|
||||||
db TX_SOUND_GET_KEY_ITEM, SFX_GET_KEY_ITEM
|
db TX_SOUND_GET_KEY_ITEM, SFX_GET_KEY_ITEM
|
||||||
db TX_SOUND_DEX_PAGE_ADDED, SFX_DEX_PAGE_ADDED
|
db TX_SOUND_DEX_PAGE_ADDED, SFX_DEX_PAGE_ADDED
|
||||||
|
|
|
@ -44,7 +44,7 @@ ROMX $2
|
||||||
ROMX $3
|
ROMX $3
|
||||||
"bank3"
|
"bank3"
|
||||||
ROMX $4
|
ROMX $4
|
||||||
"NPC Sprites 1"
|
; "NPC Sprites 1"
|
||||||
"Font Graphics"
|
"Font Graphics"
|
||||||
"Battle Engine 1"
|
"Battle Engine 1"
|
||||||
ROMX $5
|
ROMX $5
|
||||||
|
|
|
@ -102,9 +102,9 @@ MACRO sound_pokedex_rating
|
||||||
db TX_SOUND_POKEDEX_RATING
|
db TX_SOUND_POKEDEX_RATING
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
const TX_SOUND_GET_ITEM_1_DUPLICATE ; $0f
|
const TX_SOUND_CRY_NIDOREIGN ; $0f
|
||||||
MACRO sound_get_item_1_duplicate
|
MACRO sound_cry_nidoreign
|
||||||
db TX_SOUND_GET_ITEM_1_DUPLICATE
|
db TX_SOUND_CRY_NIDOREIGN
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
const TX_SOUND_GET_ITEM_2 ; $10
|
const TX_SOUND_GET_ITEM_2 ; $10
|
||||||
|
|
|
@ -868,6 +868,7 @@ wWhichBadge::
|
||||||
wTitleMonSpecies::
|
wTitleMonSpecies::
|
||||||
wPlayerCharacterOAMTile::
|
wPlayerCharacterOAMTile::
|
||||||
wFPlayerCharacterOAMTile::
|
wFPlayerCharacterOAMTile::
|
||||||
|
wNBPlayerCharacterOAMTile::
|
||||||
; the number of small stars OAM entries to move down
|
; the number of small stars OAM entries to move down
|
||||||
wMoveDownSmallStarsOAMCount::
|
wMoveDownSmallStarsOAMCount::
|
||||||
wChargeMoveNum::
|
wChargeMoveNum::
|
||||||
|
@ -1993,6 +1994,7 @@ wMissableObjectList:: ds 16 * 2 + 1
|
||||||
wPlayerSex::
|
wPlayerSex::
|
||||||
; $00 = male
|
; $00 = male
|
||||||
; $01 = female
|
; $01 = female
|
||||||
|
; $02 = enby
|
||||||
ds 1
|
ds 1
|
||||||
|
|
||||||
wGameProgressFlags::
|
wGameProgressFlags::
|
||||||
|
|