Add Unown ! and ?

Taken from https://github.com/pret/pokecrystal/wiki/Add-a-new-Unown-form

There's some embedded palette errors that need fixing.
This commit is contained in:
Llinos Evans 2024-09-01 14:54:29 +01:00
parent bd817d99f9
commit 6a44f96575
29 changed files with 93 additions and 18 deletions

View file

@ -67,7 +67,7 @@
const ENGINE_UNLOCKED_UNOWNS_L_TO_R
const ENGINE_UNLOCKED_UNOWNS_S_TO_W
const ENGINE_UNLOCKED_UNOWNS_X_TO_Z
const ENGINE_UNLOCKED_UNOWNS_UNUSED_4
const ENGINE_UNLOCKED_UNOWNS_EXCLAMATION_QUESTION
const ENGINE_UNLOCKED_UNOWNS_UNUSED_5
const ENGINE_UNLOCKED_UNOWNS_UNUSED_6
const ENGINE_UNLOCKED_UNOWNS_UNUSED_7

View file

@ -466,4 +466,6 @@ endc
const UNOWN_X ; 24
const UNOWN_Y ; 25
const UNOWN_Z ; 26
const UNOWN_EXCLAMATION ; 27
const UNOWN_QUESTION ; 28
DEF NUM_UNOWN EQU const_value - 1 ; 26

View file

@ -53,4 +53,8 @@ UnownPicPointers::
dba UnownYBackpic
dba UnownZFrontpic
dba UnownZBackpic
dba UnownExclamationFrontpic
dba UnownExclamationBackpic
dba UnownQuestionFrontpic
dba UnownQuestionBackpic
assert_table_length NUM_UNOWN

View file

@ -35,6 +35,8 @@ UnownWords:
dw UnownWordX
dw UnownWordY
dw UnownWordZ
dw UnownWordExclamation
dw UnownWordQuestion
assert_table_length NUM_UNOWN + 1
UnownWordA: unownword "ANGRY"
@ -63,3 +65,6 @@ UnownWordW: unownword "WANT"
UnownWordX: unownword "XXXXX"
UnownWordY: unownword "YIELD"
UnownWordZ: unownword "ZOOM"
UnownWordExclamation: unownword "(((((" ; "!!!!!" since "Z" + 1 == "("
UnownWordQuestion: unownword ")))))" ; "?????" since "Z" + 2 == ")"
; these use the words from the hgss unown report

View file

@ -13,6 +13,7 @@ UnlockedUnownLetterSets:
dw .Set_L_R ; UNLOCKED_UNOWNS_L_TO_R_F
dw .Set_S_W ; UNLOCKED_UNOWNS_S_TO_W_F
dw .Set_X_Z ; UNLOCKED_UNOWNS_X_TO_Z_F
dw .Set_Exclamation_Question ; UNLOCKED_UNOWNS_EXCLAMATION_QUESTION
assert_table_length NUM_UNLOCKED_UNOWN_SETS
.Set_A_K:
@ -23,3 +24,5 @@ UnlockedUnownLetterSets:
unown_set S, T, U, V, W
.Set_X_Z:
unown_set X, Y, Z
.Set_Exclamation_Question ; I'm not the biggest fan of this - could easily just put them with XYZ, but it seems in HGSS it was made more awkward, so let's do it this way. Could also be used to place them somewhere else - Tanoby Ruins?
unown_set EXCLAMATION, QUESTION

View file

@ -1,3 +1,5 @@
; Modified to add ! and ?
; Used https://github.com/pret/pokecrystal/wiki/Add-a-new-Unown-form
GetUnownLetter:
; Return Unown letter in wUnownLetter based on DVs at hl
@ -31,20 +33,25 @@ GetUnownLetter:
srl a
or b
; Divide by 10 to get 0-25
; Divide by 9 to get 0-28 - changed to add ! and ?
ldh [hDividend + 3], a
xor a
ldh [hDividend], a
ldh [hDividend + 1], a
ldh [hDividend + 2], a
ld a, $ff / NUM_UNOWN + 1
ld a, 9
ldh [hDivisor], a
ld b, 4
call Divide
; Increment to get 1-26
; Increment to get 1-29
ldh a, [hQuotient + 3]
inc a
; The valid range is 1-28, so use UNOWN_E (5) instead of 29
cp NUM_UNOWN + 1
jr c, .valid
ld a, UNOWN_E
.valid
ld [wUnownLetter], a
ret

View file

@ -1005,7 +1005,7 @@ Pokedex_UnownModeEraseCursor:
Pokedex_UnownModePlaceCursor:
ld a, [wDexCurUnownIndex]
ld c, FIRST_UNOWN_CHAR + NUM_UNOWN ; diamond cursor
ld c, $5c ; diamond cursor
Pokedex_UnownModeUpdateCursorGfx:
ld e, a
@ -1468,14 +1468,14 @@ Pokedex_PlaceSearchResultsTypeStrings:
Pokedex_DrawUnownModeBG:
call Pokedex_FillBackgroundColor2
hlcoord 2, 1
lb bc, 10, 13
lb bc, 10, 14
call Pokedex_PlaceBorder
hlcoord 2, 14
lb bc, 1, 13
lb bc, 1, 14
call Pokedex_PlaceBorder
hlcoord 2, 15
ld [hl], $3d
hlcoord 16, 15
hlcoord 17, 15
ld [hl], $3e
hlcoord 6, 5
call Pokedex_PlaceFrontpicAtHL
@ -1529,14 +1529,16 @@ UnownModeLetterAndCursorCoords:
dwcoord 11, 3, 11, 2 ; P
dwcoord 12, 3, 12, 2 ; Q
dwcoord 13, 3, 13, 2 ; R
dwcoord 14, 3, 15, 2 ; S
dwcoord 14, 4, 15, 4 ; T
dwcoord 14, 5, 15, 5 ; U
dwcoord 14, 6, 15, 6 ; V
dwcoord 14, 7, 15, 7 ; W
dwcoord 14, 8, 15, 8 ; X
dwcoord 14, 9, 15, 9 ; Y
dwcoord 14,10, 15,10 ; Z
dwcoord 14, 3, 14, 2 ; S
dwcoord 15, 3, 16, 2 ; T
dwcoord 15, 4, 16, 4 ; U
dwcoord 15, 5, 16, 5 ; V
dwcoord 15, 6, 16, 6 ; W
dwcoord 15, 7, 16, 7 ; X
dwcoord 15, 8, 16, 8 ; Y
dwcoord 15, 9, 16, 9 ; Z
dwcoord 15,10, 16,10 ; !
dwcoord 15,11, 16,11 ; ?
Pokedex_FillBackgroundColor2:
hlcoord 0, 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 294 B

After

Width:  |  Height:  |  Size: 312 B

View file

@ -711,7 +711,10 @@ UnownRBackpic: INCBIN "gfx/pokemon/unown_r/back.2bpp.lz"
SECTION "Pics 19", ROMX
; Seems to be an accidental copy of the previous bank
UnownExclamationFrontpic: INCBIN "gfx/pokemon/unown_exclamation/front.animated.2bpp.lz"
UnownExclamationBackpic: INCBIN "gfx/pokemon/unown_exclamation/back.2bpp.lz"
UnownQuestionFrontpic: INCBIN "gfx/pokemon/unown_question/front.animated.2bpp.lz"
UnownQuestionBackpic: INCBIN "gfx/pokemon/unown_question/back.2bpp.lz"
BellignanFrontpic: INCBIN "gfx/pokemon/bellignan/front.animated.2bpp.lz"
BellignanBackpic: INCBIN "gfx/pokemon/bellignan/back.2bpp.lz"

View file

@ -0,0 +1,2 @@
Taken from here: https://github.com/pret/pokecrystal/wiki/Add-a-new-Pok%C3%A9mon
Made by SCMidna

View file

@ -26,4 +26,6 @@ UnownAnimationPointers:
dw UnownXAnimation
dw UnownYAnimation
dw UnownZAnimation
dw UnownExclamationAnimation
dw UnownQuestionAnimation
assert_table_length NUM_UNOWN

View file

@ -24,3 +24,5 @@ UnownWAnimation: INCLUDE "gfx/pokemon/unown_w/anim.asm"
UnownXAnimation: INCLUDE "gfx/pokemon/unown_x/anim.asm"
UnownYAnimation: INCLUDE "gfx/pokemon/unown_y/anim.asm"
UnownZAnimation: INCLUDE "gfx/pokemon/unown_z/anim.asm"
UnownExclamationAnimation: INCLUDE "gfx/pokemon/unown_exclamation/anim.asm"
UnownQuestionAnimation: INCLUDE "gfx/pokemon/unown_question/anim.asm"

View file

@ -26,4 +26,6 @@ UnownBitmasksPointers:
dw UnownXBitmasks
dw UnownYBitmasks
dw UnownZBitmasks
dw UnownExclamationBitmasks
dw UnownQuestionBitmasks
assert_table_length NUM_UNOWN

View file

@ -24,3 +24,5 @@ UnownWBitmasks: INCLUDE "gfx/pokemon/unown_w/bitmask.asm"
UnownXBitmasks: INCLUDE "gfx/pokemon/unown_x/bitmask.asm"
UnownYBitmasks: INCLUDE "gfx/pokemon/unown_y/bitmask.asm"
UnownZBitmasks: INCLUDE "gfx/pokemon/unown_z/bitmask.asm"
UnownExclamationBitmasks: INCLUDE "gfx/pokemon/unown_exclamation/bitmask.asm"
UnownQuestionBitmasks: INCLUDE "gfx/pokemon/unown_question/bitmask.asm"

View file

@ -0,0 +1,9 @@
frame 0, 09
frame 1, 09
frame 2, 09
frame 3, 05
frame 2, 05
frame 4, 05
frame 1, 05
frame 1, 05
endanim

View file

@ -0,0 +1,6 @@
frame 0, 18
setrepeat 2
frame 5, 05
frame 0, 05
dorepeat 2
endanim

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 B

View file

@ -0,0 +1 @@
Taken from Rangi's Tutorial: https://github.com/pret/pokecrystal/wiki/Add-a-new-Unown-form

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -26,4 +26,6 @@ UnownFramesPointers:
dw UnownXFrames
dw UnownYFrames
dw UnownZFrames
dw UnownExclamationFrames
dw UnownQuestionFrames
assert_table_length NUM_UNOWN

View file

@ -26,3 +26,5 @@ UnownWFrames: INCLUDE "gfx/pokemon/unown_w/frames.asm"
UnownXFrames: INCLUDE "gfx/pokemon/unown_x/frames.asm"
UnownYFrames: INCLUDE "gfx/pokemon/unown_y/frames.asm"
UnownZFrames: INCLUDE "gfx/pokemon/unown_z/frames.asm"
UnownExclamationFrames: INCLUDE "gfx/pokemon/unown_exclamation/frames.asm"
UnownQuestionFrames: INCLUDE "gfx/pokemon/unown_question/frames.asm"

View file

@ -26,4 +26,6 @@ UnownAnimationIdlePointers:
dw UnownXAnimationIdle
dw UnownYAnimationIdle
dw UnownZAnimationIdle
dw UnownExclamationAnimationIdle
dw UnownQuestionAnimationIdle
assert_table_length NUM_UNOWN

View file

@ -24,3 +24,5 @@ UnownWAnimationIdle: INCLUDE "gfx/pokemon/unown_w/anim_idle.asm"
UnownXAnimationIdle: INCLUDE "gfx/pokemon/unown_x/anim_idle.asm"
UnownYAnimationIdle: INCLUDE "gfx/pokemon/unown_y/anim_idle.asm"
UnownZAnimationIdle: INCLUDE "gfx/pokemon/unown_z/anim_idle.asm"
UnownExclamationAnimationIdle: INCLUDE "gfx/pokemon/unown_exclamation/anim_idle.asm"
UnownQuestionAnimationIdle: INCLUDE "gfx/pokemon/unown_question/anim_idle.asm"

View file

@ -0,0 +1,8 @@
frame 0, 09
setrepeat 3
frame 1, 05
frame 2, 05
frame 1, 05
frame 0, 05
dorepeat 2
endanim

View file

@ -0,0 +1,6 @@
frame 0, 13
setrepeat 2
frame 3, 05
frame 0, 05
dorepeat 2
endanim

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 B

View file

@ -0,0 +1 @@
Taken from Rangi's Tutorial: https://github.com/pret/pokecrystal/wiki/Add-a-new-Unown-form

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -3328,7 +3328,7 @@ wPartyMon{d:n}Nickname:: ds MON_NAME_LENGTH
endr
wPartyMonNicknamesEnd::
ds 22
ds 20 ; modified to fit the new unown
wPokedexCaught:: flag_array NUM_POKEMON
wEndPokedexCaught::