summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
Diffstat (limited to 'engine')
-rw-r--r--engine/battle/core.asm9
-rw-r--r--engine/battle/end_of_battle.asm6
-rw-r--r--engine/battle/link_battle_versus_text.asm4
-rw-r--r--engine/battle/wild_encounters.asm6
-rw-r--r--engine/events/diploma.asm14
-rw-r--r--engine/events/evolve_trade.asm16
-rw-r--r--engine/events/hidden_objects/bills_house_pc.asm2
-rw-r--r--engine/events/hidden_objects/school_blackboard.asm22
-rw-r--r--engine/events/prize_menu.asm4
-rw-r--r--engine/events/vending_machine.asm14
-rw-r--r--engine/items/item_effects.asm14
-rw-r--r--engine/items/town_map.asm11
-rw-r--r--engine/link/cable_club.asm18
-rw-r--r--engine/link/print_waiting_text.asm2
-rw-r--r--engine/menus/draw_start_menu.asm12
-rw-r--r--engine/menus/league_pc.asm2
-rw-r--r--engine/menus/main_menu.asm32
-rw-r--r--engine/menus/naming_screen.asm36
-rw-r--r--engine/menus/party_menu.asm8
-rw-r--r--engine/menus/players_pc.asm12
-rw-r--r--engine/menus/pokedex.asm53
-rw-r--r--engine/menus/save.asm28
-rw-r--r--engine/menus/start_sub_menus.asm13
-rw-r--r--engine/menus/text_box.asm11
-rw-r--r--engine/movie/hall_of_fame.asm15
-rw-r--r--engine/movie/oak_speech/oak_speech2.asm2
-rw-r--r--engine/movie/title.asm18
-rw-r--r--engine/movie/trade2.asm4
-rw-r--r--engine/overworld/movement.asm19
-rw-r--r--engine/pokemon/bills_pc.asm36
-rw-r--r--engine/pokemon/status_ailments.asm24
-rw-r--r--engine/pokemon/status_screen.asm37
32 files changed, 266 insertions, 238 deletions
diff --git a/engine/battle/core.asm b/engine/battle/core.asm
index 417516ae..8869b4ae 100644
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -2046,7 +2046,7 @@ DisplayBattleMenu::
ld a, $2 ; select the "ITEM" menu
jp .upperLeftMenuItemWasNotSelected
.oldManName
- db "OLD MAN@"
+ db "ANCIANO@"
.handleBattleMenuInput
ld a, [wBattleAndStartSavedMenuItem]
ld [wCurrentMenuItem], a
@@ -2678,7 +2678,8 @@ MoveDisabledText:
text_end
WhichTechniqueString:
- db "WHICH TECHNIQUE?@"
+ db "¿Qué técnica?"
+ next " @"
SelectMenuItem_CursorUp:
ld a, [wCurrentMenuItem]
@@ -2898,10 +2899,10 @@ PrintMenuItem:
jp Delay3
DisabledText:
- db "disabled!@"
+ db "¡Anulado!@"
TypeText:
- db "TYPE@"
+ db "TIPO@"
SelectEnemyMove:
ld a, [wLinkState]
diff --git a/engine/battle/end_of_battle.asm b/engine/battle/end_of_battle.asm
index bd4a1901..ab556aca 100644
--- a/engine/battle/end_of_battle.asm
+++ b/engine/battle/end_of_battle.asm
@@ -75,13 +75,13 @@ EndOfBattle:
ret
YouWinText:
- db "YOU WIN@"
+ db " GANAS@"
YouLoseText:
- db "YOU LOSE@"
+ db "PIERDES@"
DrawText:
- db " DRAW@"
+ db "EMPATE@"
PickUpPayDayMoneyText:
text_far _PickUpPayDayMoneyText
diff --git a/engine/battle/link_battle_versus_text.asm b/engine/battle/link_battle_versus_text.asm
index 29c11356..9d65b805 100644
--- a/engine/battle/link_battle_versus_text.asm
+++ b/engine/battle/link_battle_versus_text.asm
@@ -13,9 +13,9 @@ DisplayLinkBattleVersusTextBox:
call PlaceString
; place bold "VS" tiles between the names
hlcoord 9, 8
- ld a, $69
+ ld a, "V"
ld [hli], a
- ld [hl], $6a
+ ld [hl], "S"
xor a
ld [wUpdateSpritesEnabled], a
callfar SetupPlayerAndEnemyPokeballs
diff --git a/engine/battle/wild_encounters.asm b/engine/battle/wild_encounters.asm
index 8c9c1529..1db9adf6 100644
--- a/engine/battle/wild_encounters.asm
+++ b/engine/battle/wild_encounters.asm
@@ -64,9 +64,13 @@ TryDoWildEncounter:
; determine which wild pokemon (grass or water) can appear in the half-block we're standing in
ld c, [hl]
ld hl, wGrassMons
+ ld a, [wWalkBikeSurfState]
+ bit 1, a
+ jr nz, .gotWaterMon
lda_coord 8, 9
cp $14 ; is the bottom left tile (8,9) of the half-block we're standing in a water tile?
jr nz, .gotWildEncounterType ; else, it's treated as a grass tile by default
+.gotWaterMon
ld hl, wWaterMons
; since the bottom right tile of a "left shore" half-block is $14 but the bottom left tile is not,
; "left shore" half-blocks (such as the one in the east coast of Cinnabar) load grass encounters.
@@ -74,6 +78,8 @@ TryDoWildEncounter:
ld b, 0
add hl, bc
ld a, [hli]
+ cp $64
+ jr nc, .CantEncounter2
ld [wCurEnemyLVL], a
ld a, [hl]
ld [wcf91], a
diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm
index 91541f09..410217d5 100644
--- a/engine/events/diploma.asm
+++ b/engine/events/diploma.asm
@@ -35,7 +35,7 @@ DisplayDiploma::
pop bc
dec c
jr nz, .asm_56715
- hlcoord 10, 4
+ hlcoord 11, 4
ld de, wPlayerName
call PlaceString
farcall DrawPlayerCharacter
@@ -100,17 +100,17 @@ DiplomaText:
db CIRCLE_TILE_ID, "Diploma", CIRCLE_TILE_ID, "@"
DiplomaPlayer:
- db "Player@"
+ db "Jugador@"
DiplomaEmptyText:
db "@"
DiplomaCongrats:
- db "Congrats! This"
- next "diploma certifies"
- next "that you have"
- next "completed your"
- next "#DEX.@"
+ db "¡Felicidades! Se"
+ next "certifica que has"
+ next "completado"
+ next "con éxito"
+ next "tu POKéDEX.@"
DiplomaGameFreak:
db "GAME FREAK@"
diff --git a/engine/events/evolve_trade.asm b/engine/events/evolve_trade.asm
index 56069fac..409925c1 100644
--- a/engine/events/evolve_trade.asm
+++ b/engine/events/evolve_trade.asm
@@ -17,18 +17,18 @@ EvolveTradeMon:
; This was fixed in Yellow.
- ld a, [wInGameTradeReceiveMonName]
+ ;ld a, [wInGameTradeReceiveMonName]
; GRAVELER
- cp "G"
- jr z, .ok
+ ;cp "G"
+ ;jr z, .ok
; "SPECTRE" (HAUNTER)
- cp "S"
- ret nz
- ld a, [wInGameTradeReceiveMonName + 1]
- cp "P"
- ret nz
+ ;cp "S"
+ ;ret nz
+ ;ld a, [wInGameTradeReceiveMonName + 1]
+ ;cp "P"
+ ret
.ok
ld a, [wPartyCount]
diff --git a/engine/events/hidden_objects/bills_house_pc.asm b/engine/events/hidden_objects/bills_house_pc.asm
index a73596b4..3990de6a 100644
--- a/engine/events/hidden_objects/bills_house_pc.asm
+++ b/engine/events/hidden_objects/bills_house_pc.asm
@@ -127,7 +127,7 @@ BillsMonListText:
next "FLAREON"
next "JOLTEON"
next "VAPOREON"
- next "CANCEL@"
+ next "SALIR@"
BillsHousePokemonListText2:
text_far _BillsHousePokemonListText2
diff --git a/engine/events/hidden_objects/school_blackboard.asm b/engine/events/hidden_objects/school_blackboard.asm
index de4700d4..1848afdf 100644
--- a/engine/events/hidden_objects/school_blackboard.asm
+++ b/engine/events/hidden_objects/school_blackboard.asm
@@ -68,10 +68,10 @@ LinkCableHelpText2:
text_end
HowToLinkText:
- db "HOW TO LINK"
- next "COLOSSEUM"
- next "TRADE CENTER"
- next "STOP READING@"
+ db "CÓMO CONECTA"
+ next "COLISEO"
+ next "CENT. CAMBIO"
+ next "PARA DE LEER@"
LinkCableInfoTexts:
dw LinkCableInfoText1
@@ -111,7 +111,7 @@ ViridianSchoolBlackboard::
ld hl, wd730
set 6, [hl]
hlcoord 0, 0
- lb bc, 6, 10
+ lb bc, 6, 11
call TextBoxBorder
hlcoord 1, 2
ld de, StatusAilmentText1
@@ -185,16 +185,14 @@ ViridianSchoolBlackboardText2:
text_end
StatusAilmentText1:
- db " SLP"
- next " PSN"
+ db " DOR"
+ next " ENV"
next " PAR@"
StatusAilmentText2:
- db " BRN"
- next " FRZ"
- next " QUIT@"
-
- db "@" ; unused
+ db " QUE"
+ next " CON"
+ next " SALIR@"
ViridianBlackboardStatusPointers:
dw ViridianBlackboardSleepText
diff --git a/engine/events/prize_menu.asm b/engine/events/prize_menu.asm
index d9320fe7..c12e5188 100644
--- a/engine/events/prize_menu.asm
+++ b/engine/events/prize_menu.asm
@@ -151,7 +151,7 @@ PrintPrizePrice:
ld c, 7
call TextBoxBorder
call UpdateSprites
- hlcoord 12, 0
+ hlcoord 13, 0
ld de, .CoinString
call PlaceString
hlcoord 13, 1
@@ -164,7 +164,7 @@ PrintPrizePrice:
ret
.CoinString:
- db "COIN@"
+ db "FICHAS@"
.SixSpacesString:
db " @"
diff --git a/engine/events/vending_machine.asm b/engine/events/vending_machine.asm
index a67f1c07..37460c5b 100644
--- a/engine/events/vending_machine.asm
+++ b/engine/events/vending_machine.asm
@@ -85,15 +85,15 @@ VendingMachineText1:
text_end
DrinkText:
- db "FRESH WATER"
- next "SODA POP"
- next "LEMONADE"
- next "CANCEL@"
+ db "AGUA FRESCA"
+ next "REFRESCO"
+ next "LIMONADA"
+ next "SALIR@"
DrinkPriceText:
- db "¥200"
- next "¥300"
- next "¥350"
+ db "200¥"
+ next "300¥"
+ next "350¥"
next "@"
VendingMachineText4:
diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm
index d4164332..fb0bc847 100644
--- a/engine/items/item_effects.asm
+++ b/engine/items/item_effects.asm
@@ -826,8 +826,8 @@ ItemUseMedicine:
ld [wActionResultOrTookBattleTurn], a ; item use failed
jp PrintText
.emptyPartyText
- text "You don't have"
- line "any #MON!"
+ text "No tienes ningún"
+ line "#MON."
prompt
.notUsingSoftboiled
call DisplayPartyMenu
@@ -1426,11 +1426,11 @@ VitaminNoEffectText:
text_end
VitaminText:
- db "HEALTH@"
- db "ATTACK@"
- db "DEFENSE@"
- db "SPEED@"
- db "SPECIAL@"
+ db "SALUD@"
+ db "ATAQUE@"
+ db "DEFENSA@"
+ db "VELOCID.@"
+ db "ESPECIAL@"
ItemUseBait:
ld hl, ThrewBaitText
diff --git a/engine/items/town_map.asm b/engine/items/town_map.asm
index 42d313d9..e630958b 100644
--- a/engine/items/town_map.asm
+++ b/engine/items/town_map.asm
@@ -120,10 +120,9 @@ LoadTownMap_Nest:
push hl
call DisplayWildLocations
call GetMonName
- hlcoord 1, 0
+ hlcoord 9, 0
call PlaceString
- ld h, b
- ld l, c
+ hlcoord 1, 0
ld de, MonsNestText
call PlaceString
call WaitForTextScrollButtonPress
@@ -134,7 +133,7 @@ LoadTownMap_Nest:
ret
MonsNestText:
- db "'s NEST@"
+ db "NIDO DE @"
LoadTownMap_Fly::
call ClearSprites
@@ -246,7 +245,7 @@ LoadTownMap_Fly::
jr .pressedDown
ToText:
- db "To@"
+ db " A@"
BuildFlyLocationsList:
ld hl, wFlyLocationsList - 1
@@ -416,7 +415,7 @@ DisplayWildLocations:
jp CopyData
AreaUnknownText:
- db " AREA UNKNOWN@"
+ db " DESCONOCIDA@"
TownMapCoordsToOAMCoords:
; in: lower nybble of a = x, upper nybble of a = y
diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm
index 71afde1e..f2c1c5fc 100644
--- a/engine/link/cable_club.asm
+++ b/engine/link/cable_club.asm
@@ -290,7 +290,7 @@ CableClub_DoBattleOrTradeAgain:
jr CallCurrentTradeCenterFunction
PleaseWaitString:
- db "PLEASE WAIT!@"
+ db "¡ESPERA!@"
CallCurrentTradeCenterFunction:
ld hl, TradeCenterPointerTable
@@ -533,7 +533,7 @@ TradeCenter_SelectMon:
ld [wTradeCenterPointerTableIndex], a
jp CallCurrentTradeCenterFunction
.statsTrade
- db "STATS TRADE@"
+ db "ESTAD. TRATO@"
.selectedCancelMenuItem
ld a, [wCurrentMenuItem]
ld b, a
@@ -596,20 +596,20 @@ ReturnToCableClubRoom:
ret
TradeCenter_DrawCancelBox:
- hlcoord 11, 15
+ hlcoord 8, 15
ld a, $7e
- ld bc, 2 * SCREEN_WIDTH + 9
+ ld bc, 2 * SCREEN_WIDTH + 12
call FillMemory
hlcoord 0, 15
ld b, 1
- ld c, 9
+ ld c, 16
call CableClub_TextBoxBorder
hlcoord 2, 16
ld de, CancelTextString
jp PlaceString
CancelTextString:
- db "CANCEL@"
+ db "Trato Cancelado@"
TradeCenter_PlaceSelectedEnemyMonMenuCursor:
ld a, [wSerialSyncAndExchangeNybbleReceiveData]
@@ -876,11 +876,11 @@ WillBeTradedText:
text_end
TradeCompleted:
- db "Trade completed!@"
+ db "Trato Completado@"
TradeCanceled:
- db "Too bad! The trade"
- next "was canceled!@"
+ db "¡Mal! ¡El trato"
+ next "está cancelado!@"
TradeCenterPointerTable:
dw TradeCenter_SelectMon
diff --git a/engine/link/print_waiting_text.asm b/engine/link/print_waiting_text.asm
index 1a16e2f2..c03f0bd6 100644
--- a/engine/link/print_waiting_text.asm
+++ b/engine/link/print_waiting_text.asm
@@ -18,4 +18,4 @@ PrintWaitingText::
jp DelayFrames
WaitingText:
- db "Waiting...!@"
+ db "¡ESPERA...!@"
diff --git a/engine/menus/draw_start_menu.asm b/engine/menus/draw_start_menu.asm
index 00d385bc..b8c4d927 100644
--- a/engine/menus/draw_start_menu.asm
+++ b/engine/menus/draw_start_menu.asm
@@ -60,25 +60,25 @@ DrawStartMenu::
ret
StartMenuPokedexText:
- db "POKéDEX@"
+ db "#DEX@"
StartMenuPokemonText:
- db "POKéMON@"
+ db "#MON@"
StartMenuItemText:
- db "ITEM@"
+ db "OBJETOS@"
StartMenuSaveText:
- db "SAVE@"
+ db "GUARDAR@"
StartMenuResetText:
db "RESET@"
StartMenuExitText:
- db "EXIT@"
+ db "SALIR@"
StartMenuOptionText:
- db "OPTION@"
+ db "OPCIÓN@"
PrintStartMenuItem:
push hl
diff --git a/engine/menus/league_pc.asm b/engine/menus/league_pc.asm
index 533454ad..517f95d6 100644
--- a/engine/menus/league_pc.asm
+++ b/engine/menus/league_pc.asm
@@ -113,7 +113,7 @@ LeaguePCShowMon:
farjp HoFDisplayMonInfo
HallOfFameNoText:
- db "HALL OF FAME No @"
+ db "HALL DE FAMA Nº @"
AccessedHoFPCText:
text_far _AccessedHoFPCText
diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm
index 95404cce..ac2aa3c0 100644
--- a/engine/menus/main_menu.asm
+++ b/engine/menus/main_menu.asm
@@ -330,18 +330,18 @@ SpecialEnterMap::
jp EnterMap
ContinueText:
- db "CONTINUE"
+ db "CONTINUAR"
next ""
; fallthrough
NewGameText:
- db "NEW GAME"
- next "OPTION@"
+ db "JUEGO NUEVO"
+ next "OPCIONES@"
CableClubOptionsText:
- db "TRADE CENTER"
- next "COLOSSEUM"
- next "CANCEL@"
+ db "CENT. CAMBIO"
+ next "COLISEO"
+ next "SALIR@"
DisplayContinueGameInfo:
xor a
@@ -424,10 +424,10 @@ PrintPlayTime:
jp PrintNumber
SaveScreenInfoText:
- db "PLAYER"
- next "BADGES "
+ db "JUGAD."
+ next "MEDALLAS "
next "#DEX "
- next "TIME@"
+ next "TIEMPO@"
DisplayOptionMenu:
hlcoord 0, 0
@@ -582,19 +582,19 @@ DisplayOptionMenu:
jp .eraseOldMenuCursor
TextSpeedOptionText:
- db "TEXT SPEED"
- next " FAST MEDIUM SLOW@"
+ db "VELOCIDAD TEXTO"
+ next " RÁP. MED. LEN.@"
BattleAnimationOptionText:
- db "BATTLE ANIMATION"
- next " ON OFF@"
+ db "ANIMACIÓN BATALLA"
+ next " SÍ NO@"
BattleStyleOptionText:
- db "BATTLE STYLE"
- next " SHIFT SET@"
+ db "ESTILO BATALLA"
+ next " CAMBIAR MANTENER@"
OptionMenuCancelText:
- db "CANCEL@"
+ db "SALIR@"
; sets the options variable according to the current placement of the menu cursors in the options menu
SetOptionsFromCursorPositions:
diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm
index 9347212e..181978fc 100644
--- a/engine/menus/naming_screen.asm
+++ b/engine/menus/naming_screen.asm
@@ -324,12 +324,15 @@ DisplayNamingScreen:
jp EraseMenuCursor
LoadEDTile:
- ld de, ED_Tile
- ld hl, vFont tile $70
- ld bc, (ED_TileEnd - ED_Tile) / $8
+ call DisableLCD
+ ld de, vFont + $700
+ ld hl, ED_Tile
+ ld bc, (ED_TileEnd - ED_Tile)
; to fix the graphical bug on poor emulators
- ;lb bc, BANK(ED_Tile), (ED_TileEnd - ED_Tile) / $8
- jp CopyVideoDataDouble
+ ;lb bc, BANK(ED_Tile), (ED_TileEnd - ED_Tile)
+ ld a, $01
+ call FarCopyDataDouble
+ jp EnableLCD
ED_Tile:
INCBIN "gfx/font/ED.1bpp"
@@ -454,10 +457,10 @@ PrintNamingText:
ld a, [wNamingScreenType]
ld de, YourTextString
and a
- jr z, .notNickname
+ jr z, .placeString
ld de, RivalsTextString
dec a
- jr z, .notNickname
+ jr z, .placeString
ld a, [wcf91]
ld [wMonPartySpriteSpecies], a
push af
@@ -467,28 +470,21 @@ PrintNamingText:
call GetMonName
hlcoord 4, 1
call PlaceString
- ld hl, $1
- add hl, bc
- ld [hl], "の" ; leftover from Japanese version; blank tile $c9 in English
hlcoord 1, 3
- ld de, NicknameTextString
+ ld de, NicknameTextString ; $69BC
jr .placeString
-.notNickname
- call PlaceString
- ld l, c
- ld h, b
- ld de, NameTextString
+
.placeString
jp PlaceString
YourTextString:
- db "YOUR @"
+ db "¿TU NOMBRE?@"
RivalsTextString:
- db "RIVAL's @"
+ db "¿NOMBRE RIVAL?@"
NameTextString:
- db "NAME?@"
+ db "¿NOMBRE?@"
NicknameTextString:
- db "NICKNAME?@"
+ db "¿APODO?@"
diff --git a/engine/menus/party_menu.asm b/engine/menus/party_menu.asm
index 6648ab54..2fdd9cd1 100644
--- a/engine/menus/party_menu.asm
+++ b/engine/menus/party_menu.asm
@@ -108,9 +108,9 @@ RedrawPartyMenu_::
inc c
jp .loop
.ableToLearnMoveText
- db "ABLE@"
+ db "PUEDE@"
.notAbleToLearnMoveText
- db "NOT ABLE@"
+ db "NO PUEDE@"
.evolutionStoneMenu
push hl
ld hl, EvosMovesPointerTable
@@ -165,9 +165,9 @@ RedrawPartyMenu_::
pop hl
jr .printLevel
.ableToEvolveText
- db "ABLE@"
+ db "PUEDE@"
.notAbleToEvolveText
- db "NOT ABLE@"
+ db "NO PUEDE@"
.afterDrawingMonEntries
ld b, SET_PAL_PARTY_MENU
call RunPaletteCommand
diff --git a/engine/menus/players_pc.asm b/engine/menus/players_pc.asm
index 5461be51..e896cfae 100644
--- a/engine/menus/players_pc.asm
+++ b/engine/menus/players_pc.asm
@@ -1,6 +1,4 @@
PlayerPC::
- ld hl, wd730
- set 6, [hl]
ld a, ITEM_NAME
ld [wNameListType], a
call SaveScreenTilesToBuffer1
@@ -17,6 +15,8 @@ PlayerPC::
call PrintText
PlayerPCMenu:
+ ld hl, wd730
+ set 6, [hl]
ld a, [wParentMenuItem]
ld [wCurrentMenuItem], a
ld hl, wFlags_0xcd60
@@ -241,10 +241,10 @@ PlayerPCToss:
jp .loop
PlayersPCMenuEntries:
- db "WITHDRAW ITEM"
- next "DEPOSIT ITEM"
- next "TOSS ITEM"
- next "LOG OFF@"
+ db "SACAR OBJETO"
+ next "DEJAR OBJETO"
+ next "TIRAR OBJETO"
+ next "DESCONEXIÓN@"
TurnedOnPC2Text:
text_far _TurnedOnPC2Text
diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm
index 2af8d714..c2e7de5a 100644
--- a/engine/menus/pokedex.asm
+++ b/engine/menus/pokedex.asm
@@ -360,19 +360,19 @@ DrawPokedexVerticalLine:
ret
PokedexSeenText:
- db "SEEN@"
+ db "VIST@"
PokedexOwnText:
- db "OWN@"
+ db "TIEN@"
PokedexContentsText:
- db "CONTENTS@"
+ db "CONTENIDO@"
PokedexMenuItemsText:
- db "DATA"
- next "CRY"
- next "AREA"
- next "QUIT@"
+ db "INFO"
+ next "GRIT"
+ next "ÁREA"
+ next "SALE@"
; tests if a pokemon's bit is set in the seen or owned pokemon bit fields
; INPUT:
@@ -515,22 +515,23 @@ ShowPokedexDataInternal:
jp z, .waitForButtonPress ; if the pokemon has not been owned, don't print the height, weight, or description
inc de ; de = address of feet (height)
ld a, [de] ; reads feet, but a is overwritten without being used
- hlcoord 12, 6
- lb bc, 1, 2
+ push af
+ hlcoord 13, 6
+ lb bc, 1, 3
call PrintNumber ; print feet (height)
- ld a, "′"
- ld [hl], a
- inc de
- inc de ; de = address of inches (height)
- hlcoord 15, 6
- lb bc, LEADING_ZEROES | 1, 2
- call PrintNumber ; print inches (height)
- ld a, "″"
- ld [hl], a
-; now print the weight (note that weight is stored in tenths of pounds internally)
+ hlcoord 14, 6
+ pop af
+ cp $a
+ jr nc, .func_43d7
+ ld [hl], "0"
+.func_43d7
+ inc hl
+ ld a, [hli]
+ ldd [hl], a
+ ld [hl], "<DOT>"
inc de
inc de
- inc de ; de = address of upper byte of weight
+ inc de ; de = address of inches (height)
push de
; put weight in big-endian order at hDexWeight
ld hl, hDexWeight
@@ -544,14 +545,14 @@ ShowPokedexDataInternal:
ld a, [de] ; a = lower byte of weight
ld [hl], a ; store lower byte of weight in [hDexWeight + 1]
ld de, hDexWeight
- hlcoord 11, 8
- lb bc, 2, 5 ; 2 bytes, 5 digits
+ hlcoord 12, 8
+ lb bc, 2, 4 ; 2 bytes, 4 digits
call PrintNumber ; print weight
hlcoord 14, 8
ldh a, [hDexWeight + 1]
- sub 10
+ sub a, 10
ldh a, [hDexWeight]
- sbc 0
+ sbc a,0
jr nc, .next
ld [hl], "0" ; if the weight is less than 10, put a 0 before the decimal point
.next
@@ -590,8 +591,8 @@ ShowPokedexDataInternal:
ret
HeightWeightText:
- db "HT ?′??″"
- next "WT ???lb@"
+ db "AL ???<m>"
+ next "PE ???<k><g>@"
; XXX does anything point to this?
PokeText:
diff --git a/engine/menus/save.asm b/engine/menus/save.asm
index 194fb810..a01e767e 100644
--- a/engine/menus/save.asm
+++ b/engine/menus/save.asm
@@ -171,7 +171,7 @@ SaveSAV:
jp DelayFrames
NowSavingString:
- db "Now saving...@"
+ db "Salvando...@"
SaveSAVConfirm:
call PrintText
@@ -494,21 +494,21 @@ ChooseABoxText:
text_end
BoxNames:
- db "BOX 1"
- next "BOX 2"
- next "BOX 3"
- next "BOX 4"
- next "BOX 5"
- next "BOX 6"
- next "BOX 7"
- next "BOX 8"
- next "BOX 9"
- next "BOX10"
- next "BOX11"
- next "BOX12@"
+ db "C. 1"
+ next "C. 2"
+ next "C. 3"
+ next "C. 4"
+ next "C. 5"
+ next "C. 6"
+ next "C. 7"
+ next "C. 8"
+ next "C. 9"
+ next "C. 10"
+ next "C. 11"
+ next "C. 12@"
BoxNoText:
- db "BOX No.@"
+ db "CAJA Nº@"
EmptyAllSRAMBoxes:
; marks all boxes in SRAM as empty (initialisation for the first time the
diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm
index c0448121..115036e9 100644
--- a/engine/menus/start_sub_menus.asm
+++ b/engine/menus/start_sub_menus.asm
@@ -347,7 +347,7 @@ StartMenu_Item::
ld hl, wTopMenuItemY
ld a, 11
ld [hli], a ; top menu item Y
- ld a, 14
+ ld a, 13
ld [hli], a ; top menu item X
xor a
ld [hli], a ; current menu item ID
@@ -552,8 +552,9 @@ DrawTrainerInfo:
call PlaceString
hlcoord 8, 4
ld de, wPlayerMoney
- ld c, $e3
+ ld c, $c3
call PrintBCDNumber
+ ld [hl], $f0
hlcoord 9, 6
ld de, wPlayTimeHours ; hours
lb bc, LEFT_ALIGN | 1, 3
@@ -569,13 +570,13 @@ TrainerInfo_FarCopyData:
jp FarCopyData2
TrainerInfo_NameMoneyTimeText:
- db "NAME/"
- next "MONEY/"
- next "TIME/@"
+ db "NOM./"
+ next "DIN./"
+ next "TIEMPO/@"
; $76 is a circle tile
TrainerInfo_BadgesText:
- db $76,"BADGES",$76,"@"
+ db $76,"MEDALLAS",$76,"@"
; draws a text box on the trainer info screen
; height is always 6
diff --git a/engine/menus/text_box.asm b/engine/menus/text_box.asm
index 5253ec48..6579e656 100644
--- a/engine/menus/text_box.asm
+++ b/engine/menus/text_box.asm
@@ -138,8 +138,11 @@ DisplayMoneyBox:
ld c, 6
call ClearScreenArea
hlcoord 12, 1
+ ld de, CurrencyString
+ call PlaceString
+ hlcoord 12, 1
ld de, wPlayerMoney
- ld c, $a3
+ ld c, "D"
call PrintBCDNumber
ld hl, wd730
res 6, [hl]
@@ -502,9 +505,9 @@ DisplayFieldMoveMonMenu:
INCLUDE "data/moves/field_move_names.asm"
PokemonMenuEntries:
- db "STATS"
- next "SWITCH"
- next "CANCEL@"
+ db "ESTAD."
+ next "CAMBIO"
+ next "SALIR@"
GetMonFieldMoves:
ld a, [wWhichPokemon]
diff --git a/engine/movie/hall_of_fame.asm b/engine/movie/hall_of_fame.asm
index d37d95f8..f60ec811 100644
--- a/engine/movie/hall_of_fame.asm
+++ b/engine/movie/hall_of_fame.asm
@@ -92,7 +92,7 @@ AnimateHallOfFame:
ret
HallOfFameText:
- db "HALL OF FAME@"
+ db "HALL DE FAMA@"
HoFShowMonOrPlayer:
call ClearScreen
@@ -178,9 +178,9 @@ HoFDisplayMonInfo:
jp PlayCry
HoFMonInfoText:
- db "LEVEL/"
- next "TYPE1/"
- next "TYPE2/@"
+ db "NIVEL/"
+ next "TIPO1/"
+ next "TIPO2/@"
HoFLoadPlayerPics:
ld de, RedPicFront
@@ -237,8 +237,9 @@ HoFDisplayPlayerStats:
call PlaceString
hlcoord 4, 10
ld de, wPlayerMoney
- ld c, $a3
+ ld c, $83
call PrintBCDNumber
+ ld [hl], "¥"
ld hl, DexSeenOwnedText
call HoFPrintTextAndDelay
ld hl, DexRatingText
@@ -251,10 +252,10 @@ HoFPrintTextAndDelay:
jp DelayFrames
HoFPlayTimeText:
- db "PLAY TIME@"
+ db "TIEMPO J.@"
HoFMoneyText:
- db "MONEY@"
+ db "DIN.@"
DexSeenOwnedText:
text_far _DexSeenOwnedText
diff --git a/engine/movie/oak_speech/oak_speech2.asm b/engine/movie/oak_speech/oak_speech2.asm
index 28208ddc..5371ae76 100644
--- a/engine/movie/oak_speech/oak_speech2.asm
+++ b/engine/movie/oak_speech/oak_speech2.asm
@@ -185,7 +185,7 @@ DisplayIntroNameTextBox:
jp HandleMenuInput
.namestring
- db "NAME@"
+ db "NOMBRE@"
INCLUDE "data/player_names.asm"
diff --git a/engine/movie/title.asm b/engine/movie/title.asm
index 8f97f8fa..8f3e0b4e 100644
--- a/engine/movie/title.asm
+++ b/engine/movie/title.asm
@@ -42,7 +42,7 @@ DisplayTitleScreen:
call FarCopyData2
ld hl, GamefreakLogoGraphics
ld de, vTitleLogo2 tile (16 + 5)
- ld bc, 9 tiles
+ ld bc, 10 tiles
ld a, BANK(GamefreakLogoGraphics)
call FarCopyData2
ld hl, PokemonLogoGraphics
@@ -56,7 +56,7 @@ DisplayTitleScreen:
ld a, BANK(PokemonLogoGraphics)
call FarCopyData2 ; second chunk
ld hl, Version_GFX
- ld de, vChars2 tile $60 + (10 tiles - (Version_GFXEnd - Version_GFX) * 2) / 2
+ ld de, vChars2 tile $60 + (VERSION_TILES tiles - (Version_GFXEnd - Version_GFX) * 2) / 2
ld bc, Version_GFXEnd - Version_GFX
ld a, BANK(Version_GFX)
call FarCopyDataDouble
@@ -111,7 +111,7 @@ DisplayTitleScreen:
jr .next
.tileScreenCopyrightTiles
- db $41,$42,$43,$42,$44,$42,$45,$46,$47,$48,$49,$4A,$4B,$4C,$4D,$4E ; ©'95.'96.'98 GAME FREAK inc.
+ db $41,$42,$43,$44,$42,$43,$4f,$46,$47,$48,$49,$4A,$4B,$4C,$4D,$4E ; ©1995-1999 GAME FREAK inc.
.next
call SaveScreenTilesToBuffer2
@@ -376,16 +376,16 @@ LoadCopyrightAndTextBoxTiles:
LoadCopyrightTiles:
ld de, NintendoCopyrightLogoGraphics
ld hl, vChars2 tile $60
- lb bc, BANK(NintendoCopyrightLogoGraphics), (GamefreakLogoGraphicsEnd - NintendoCopyrightLogoGraphics) / $10
+ lb bc, BANK(NintendoCopyrightLogoGraphics), (GamefreakLogoGraphicsEnd - NintendoCopyrightLogoGraphics) / $0f
call CopyVideoData
hlcoord 2, 7
ld de, CopyrightTextString
jp PlaceString
CopyrightTextString:
- db $60,$61,$62,$61,$63,$61,$64,$7F,$65,$66,$67,$68,$69,$6A ; ©'95.'96.'98 Nintendo
- next $60,$61,$62,$61,$63,$61,$64,$7F,$6B,$6C,$6D,$6E,$6F,$70,$71,$72 ; ©'95.'96.'98 Creatures inc.
- next $60,$61,$62,$61,$63,$61,$64,$7F,$73,$74,$75,$76,$77,$78,$79,$7A,$7B ; ©'95.'96.'98 GAME FREAK inc.
+ db $60,$61,$62,$63,$61,$62,$7C,$7F,$65,$66,$67,$68,$69,$6A ; ©1995-1999 Nintendo
+ next $60,$61,$62,$63,$61,$62,$7C,$7F,$6B,$6C,$6D,$6E,$6F,$70,$71,$72 ; ©1995-1999 Creatures inc.
+ next $60,$61,$62,$63,$61,$62,$7C,$7F,$73,$74,$75,$76,$77,$78,$79,$7A,$7B ; ©1995-1999 GAME FREAK inc.
db "@"
INCLUDE "data/pokemon/title_mons.asm"
@@ -399,10 +399,10 @@ PrintGameVersionOnTitleScreen:
; these point to special tiles specifically loaded for that purpose and are not usual text
VersionOnTitleScreenText:
IF DEF(_RED)
- db $60,$61,$7F,$65,$66,$67,$68,$69,"@" ; "Red Version"
+ db $60,$61,$62,$63,$64,$65,$66,$67,"@" ; "Edición Roja"
ENDC
IF DEF(_BLUE)
- db $61,$62,$63,$64,$65,$66,$67,$68,"@" ; "Blue Version"
+ db $61,$62,$63,$64,$65,$66,$67,$68,"@" ; "Edición Azul"
ENDC
NintenText: db "NINTEN@"
diff --git a/engine/movie/trade2.asm b/engine/movie/trade2.asm
index f0d91846..38ae741c 100644
--- a/engine/movie/trade2.asm
+++ b/engine/movie/trade2.asm
@@ -45,5 +45,5 @@ Trade_PrintEnemyMonInfoText:
Trade_MonInfoText:
db "──№<DOT>"
next ""
- next "OT/"
- next "<ID>№<DOT>@"
+ next "EO/"
+ next "№<ID><DOT>@"
diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm
index 2fb8c384..cb994e98 100644
--- a/engine/overworld/movement.asm
+++ b/engine/overworld/movement.asm
@@ -448,6 +448,7 @@ InitializeSpriteStatus:
ld a, $8
ld [hli], a ; [x#SPRITESTATEDATA2_YDISPLACEMENT] = 8
ld [hl], a ; [x#SPRITESTATEDATA2_XDISPLACEMENT] = 8
+ call InitializeSpriteScreenPosition ; could have done fallthrough here
ret
; calculates the sprite's screen position from its map position and the player position
@@ -460,7 +461,7 @@ InitializeSpriteScreenPosition:
ld b, a
ld a, [hl] ; x#SPRITESTATEDATA2_MAPY
sub b ; relative to player position
- swap a ; * 16
+ call Func_5119
sub $4 ; - 4
dec h
ld [hli], a ; [x#SPRITESTATEDATA1_YPIXELS]
@@ -469,11 +470,23 @@ InitializeSpriteScreenPosition:
ld b, a
ld a, [hli] ; x#SPRITESTATEDATA2_MAPX
sub b ; relative to player position
- swap a ; * 16
+ call Func_5119
dec h
ld [hl], a ; [x#SPRITESTATEDATA1_XPIXELS]
ret
+Func_5119:
+ jr nc, .asm_5122
+ cpl
+ inc a
+ swap a
+ cpl
+ inc a
+ ret
+.asm_5122
+ swap a
+ ret
+
; tests if sprite is off screen or otherwise unable to do anything
CheckSpriteAvailability:
predef IsObjectHidden
@@ -704,7 +717,7 @@ GetTileSpriteStandsOn:
ld l, a
ld a, [hli] ; x#SPRITESTATEDATA1_YPIXELS
add $4 ; align to 2*2 tile blocks (Y position is always off 4 pixels to the top)
- and $f0 ; in case object is currently moving
+ and $f8 ; in case object is currently moving
srl a ; screen Y tile * 4
ld c, a
ld b, $0
diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm
index df02a496..1b3ef45b 100644
--- a/engine/pokemon/bills_pc.asm
+++ b/engine/pokemon/bills_pc.asm
@@ -39,11 +39,11 @@ DisplayPCMainMenu::
.next2
call PlaceString
hlcoord 2, 4
- ld de, wPlayerName
+ ld de, PlayersPCText
call PlaceString
ld l, c
ld h, b
- ld de, PlayersPCText
+ ld de, wPlayerName
call PlaceString
CheckEvent EVENT_GOT_POKEDEX
jr z, .noOaksPC2
@@ -85,12 +85,12 @@ DisplayPCMainMenu::
ldh [hAutoBGTransferEnabled], a
ret
-SomeonesPCText: db "SOMEONE's PC@"
-BillsPCText: db "BILL's PC@"
-PlayersPCText: db "'s PC@"
-OaksPCText: db "PROF.OAK's PC@"
-PKMNLeaguePCText: db "<PKMN>LEAGUE@"
-LogOffPCText: db "LOG OFF@"
+SomeonesPCText: db "PC DE ALGUIEN@"
+BillsPCText: db "PC DE BILL@"
+PlayersPCText: db "PC DE @"
+OaksPCText: db "PC PROF. OAK@"
+PKMNLeaguePCText: db "LIGA <PKMN>@"
+LogOffPCText: db "DESCONEXIÓN@"
BillsPC_::
ld hl, wd730
@@ -339,15 +339,15 @@ DisplayMonListMenu:
ret
BillsPCMenuText:
- db "WITHDRAW <PKMN>"
- next "DEPOSIT <PKMN>"
- next "RELEASE <PKMN>"
- next "CHANGE BOX"
- next "SEE YA!"
+ db "SACAR <PKMN>"
+ next "DEJAR <PKMN>"
+ next "SOLTAR <PKMN>"
+ next "CAMBIA CAJA"
+ next "¡NOS VEMOS!"
db "@"
BoxNoPCText:
- db "BOX No.@"
+ db "CAJA Nº@"
KnowsHMMove::
; returns whether mon with party index [wWhichPokemon] knows an HM move
@@ -446,11 +446,11 @@ DisplayDepositWithdrawMenu:
call LoadGBPal
jr .loop
-DepositPCText: db "DEPOSIT@"
-WithdrawPCText: db "WITHDRAW@"
+DepositPCText: db "DEJAR@"
+WithdrawPCText: db "SACAR@"
StatsCancelPCText:
- db "STATS"
- next "CANCEL@"
+ db "ESTAD."
+ next "SALIR@"
SwitchOnText:
text_far _SwitchOnText
diff --git a/engine/pokemon/status_ailments.asm b/engine/pokemon/status_ailments.asm
index 3da1fc43..1047cea1 100644
--- a/engine/pokemon/status_ailments.asm
+++ b/engine/pokemon/status_ailments.asm
@@ -10,32 +10,32 @@ PrintStatusAilment::
jr nz, .par
and SLP
ret z
- ld a, "S"
+ ld a, "D"
ld [hli], a
- ld a, "L"
+ ld a, "O"
ld [hli], a
- ld [hl], "P"
+ ld [hl], "R"
ret
.psn
- ld a, "P"
+ ld a, "E"
ld [hli], a
- ld a, "S"
+ ld a, "N"
ld [hli], a
- ld [hl], "N"
+ ld [hl], "V"
ret
.brn
- ld a, "B"
+ ld a, "Q"
ld [hli], a
- ld a, "R"
+ ld a, "U"
ld [hli], a
- ld [hl], "N"
+ ld [hl], "E"
ret
.frz
- ld a, "F"
+ ld a, "C"
ld [hli], a
- ld a, "R"
+ ld a, "O"
ld [hli], a
- ld [hl], "Z"
+ ld [hl], "N"
ret
.par
ld a, "P"
diff --git a/engine/pokemon/status_screen.asm b/engine/pokemon/status_screen.asm
index 33fef9e4..61653a11 100644
--- a/engine/pokemon/status_screen.asm
+++ b/engine/pokemon/status_screen.asm
@@ -205,23 +205,23 @@ NamePointers2:
dw wDayCareMonName
Type1Text:
- db "TYPE1/"
+ db "TIPO1/"
next ""
; fallthrough
Type2Text:
- db "TYPE2/"
+ db "TIPO2/"
next ""
; fallthrough
IDNoText:
- db "<ID>№/"
+ db "№<ID>/"
next ""
; fallthrough
OTText:
- db "OT/"
+ db "EO/"
next "@"
StatusText:
- db "STATUS/@"
+ db "ESTADO@"
OKText:
db "OK@"
@@ -290,10 +290,10 @@ PrintStat:
ret
StatsText:
- db "ATTACK"
- next "DEFENSE"
- next "SPEED"
- next "SPECIAL@"
+ db "ATAQUE"
+ next "DEFENSA"
+ next "VELOCID."
+ next "ESPECIAL@"
StatusScreen2:
ldh a, [hTileAnimations]
@@ -399,9 +399,8 @@ StatusScreen2:
inc a
ld [wLoadedMonLevel], a ; Increase temporarily if not 100
.Level100
- hlcoord 14, 6
- ld [hl], "<to>"
- inc hl
+ hlcoord 15, 6
+ ld [hl], "A"
inc hl
call PrintLevel
pop af
@@ -464,8 +463,8 @@ CalcExpToLevelUp:
ret
StatusScreenExpText:
- db "EXP POINTS"
- next "LEVEL UP@"
+ db "PUNTOS EXP"
+ next "SIG.NIVEL@"
StatusScreen_ClearName:
ld bc, 10
@@ -480,3 +479,13 @@ StatusScreen_PrintPP:
dec c
jr nz, StatusScreen_PrintPP
ret
+
+func_6cd5:
+ ld a, $80
+ ld [hli], a
+ ld a, $8F
+ ldd [hl], a
+ add hl, de
+ dec c
+ jr nz, func_6cd5
+ ret