From 57186bb2a0d1c4e2ddb8716aecc2434f575285b5 Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Thu, 7 Sep 2023 21:21:15 +0100 Subject: [PATCH] Re-frame Red/Green character options This re-frames the intro to have Red and Green be framed in a gender neutral manner. The main aim here is to be a bit more appealing to the NB types, be more consistent with the modern game's approach to gender, and allow people to feel comfier with Red's androgynous appearance. Oh, and there's a confirmation option to utilise this more effectively, along with some cool transitions. Very happy with this commit. --- README.md | 2 +- data/text/text_2.asm | 3 +-- data/yes_no_menu_strings.asm | 6 ++--- engine/movie/oak_speech/oak_speech.asm | 31 +++++++++++++++++++++++--- 4 files changed, 33 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 07887eff..39cc1472 100644 --- a/README.md +++ b/README.md @@ -155,7 +155,7 @@ Improved Areas QoL Enhancements ==== -- A girl option is now available, featuring the sprite from Pokemon Anniversary Red, which is based on Green's manga appearance. +- A feminine character option is now available, featuring the sprite from Pokemon Anniversary Red, which is based on Green's manga appearance. - To accomodate this, Celadon Gym's trainers use their more neutral text from Crystal. - The protagonist is also referred to in a gender neutral manner. This changes like, 2-3 lines in the whole game. - All 151 original Pokemon, plus an additional 100, can be obtained without the use of trading or glitches, including Mew! diff --git a/data/text/text_2.asm b/data/text/text_2.asm index 770c5923..51c7db05 100644 --- a/data/text/text_2.asm +++ b/data/text/text_2.asm @@ -1830,8 +1830,7 @@ _PromptToCutText:: done _BoyGirlText:: - text "Firstly, are you a" - line "boy or a girl?" + text "Choose a look!" done _MysteryBoxText:: diff --git a/data/yes_no_menu_strings.asm b/data/yes_no_menu_strings.asm index cae9cb11..a3f9b60d 100644 --- a/data/yes_no_menu_strings.asm +++ b/data/yes_no_menu_strings.asm @@ -8,7 +8,7 @@ TwoOptionMenuStrings: table_width 5, TwoOptionMenuStrings ; width, height, blank line before first menu item?, text pointer two_option_menu 4, 3, FALSE, .YesNoMenu - two_option_menu 5, 3, FALSE, .BoyGirlMenu + two_option_menu 6, 3, FALSE, .BoyGirlMenu two_option_menu 6, 4, TRUE, .CatsDogsMenu two_option_menu 6, 3, FALSE, .YesNoMenu two_option_menu 6, 3, FALSE, .NorthEastMenu @@ -28,8 +28,8 @@ TwoOptionMenuStrings: ; There is probably a better way to word this... ; Replaced North/West .BoyGirlMenu: - db "BOY" - next "GIRL@" + db "RED" + next "GREEN@" ; For the Vermilion Beauty event. ; Replaced South/East diff --git a/engine/movie/oak_speech/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm index aafe8357..f5b4d226 100644 --- a/engine/movie/oak_speech/oak_speech.asm +++ b/engine/movie/oak_speech/oak_speech.asm @@ -65,6 +65,8 @@ OakSpeech: call FadeInIntroPic ld hl, OakSpeechText1 call PrintText + +.charChoice ld hl, BoyGirlText ; added to the same file as the other oak text call PrintText ; show this text call BoyGirlChoice ; added routine at the end of this file @@ -73,6 +75,25 @@ OakSpeech: call GBFadeOutToWhite call ClearScreen + ld de, RedPicFront + lb bc, BANK(RedPicFront), $00 + ld a, [wPlayerSex] ; check sex + and a ; check sex + jr z, .NotGreen0 + ld de, GreenPicFront + lb bc, BANK(GreenPicFront), $00 +.NotGreen0 + call IntroDisplayPicCenteredOrUpperRight + call FadeInIntroPic + ld hl, IsThisOk + call PrintText + call YesNoChoice ; Do they want in? + ld a, [wCurrentMenuItem] + and a + jr nz, .charChoice + + call GBFadeOutToWhite + call ClearScreen 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 jr z, .Nidorino @@ -96,7 +117,6 @@ OakSpeech: call LoadFlippedFrontSpriteByMonIndex call MovePicLeft ld hl, OakSpeechText2Red - jr .cont .cont call PrintText @@ -293,8 +313,8 @@ IntroDisplayPicCenteredOrUpperRight: InitBoyGirlTextBoxParameters:: ld a, $1 ; loads the value for the unused North/West choice, that was changed to say Boy/Girl ld [wTwoOptionMenuID], a - coord hl, 13, 7 - ld bc, $80e + coord hl, 12, 7 + ld bc, $80d ret DisplayBoyGirlChoice:: @@ -306,3 +326,8 @@ IntroDisplayPicCenteredOrUpperRight: BoyGirlText: ; This is new so we had to add a reference to get it to compile text_far _BoyGirlText text_end + +IsThisOk: + text "Is this OK?" + prompt + text_end