ref: f1bab45624a3a2d5f6bf5b63e912382de0a30abd
parent: fbc2c55cdb2f18a933af3daf9294750f254c23a5
parent: 7e84f7240328af68723f8419d5079daea32cf21d
author: Rangi <35663410+Rangi42@users.noreply.github.com>
date: Mon Jun 17 03:29:30 EDT 2019
Merge pull request #638 from mid-kid/master beep boop
--- a/Makefile
+++ b/Makefile
@@ -181,6 +181,7 @@
gfx/trade/ball.2bpp: tools/gfx += --remove-whitespace
gfx/trade/game_boy_n64.2bpp: tools/gfx += --trim-whitespace
+gfx/slots/slots_1.2bpp: tools/gfx += --trim-whitespace
gfx/slots/slots_2.2bpp: tools/gfx += --interleave --png=$<
gfx/slots/slots_3.2bpp: tools/gfx += --interleave --png=$< --remove-duplicates --keep-whitespace --remove-xflip
--- a/constants/menu_constants.asm
+++ b/constants/menu_constants.asm
@@ -32,6 +32,11 @@
shift_const SCROLLINGMENU_ENABLE_START
shift_const SCROLLINGMENU_ENABLE_SELECT
+; ScrollingMenu items structure format
+ const_def 1
+ const SCROLLINGMENU_ITEMS_NORMAL
+ const SCROLLINGMENU_ITEMS_QUANTITY
+
; MonMenuOptions indexes (see data/mon_menu.asm)
; used by PokemonActionSubmenu (see engine/pokemon/mon_menu.asm)
const_def 1
--- a/data/text/battle.asm
+++ b/data/text/battle.asm
@@ -414,9 +414,8 @@
text "<TARGET>"
line "became confused!"
prompt
-; ItemHealedConfusion
-BattleText_ItemHealedConfusion: ; ItemHealedConfusion
+BattleText_ItemHealedConfusion:
text "A @"
text_ram wStringBuffer1
text " rid"
--- a/data/text/common_2.asm
+++ b/data/text/common_2.asm
@@ -815,7 +815,7 @@
UnknownText_0x1c0e24::
text "It's @"
- text_ram wBreedMon1
+ text_ram wBreedMon1Nick
text_start
line "that was left with"
cont "the DAY-CARE MAN."
--- a/docs/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -55,6 +55,7 @@
- [No bump noise if standing on tile `$3E`](#no-bump-noise-if-standing-on-tile-3e)
- [Playing Entei's Pokédex cry can distort Raikou's and Suicune's](#playing-enteis-pokédex-cry-can-distort-raikous-and-suicunes)
- [In-battle “`…`” ellipsis is too high](#in-battle--ellipsis-is-too-high)
+- [Move selection menu doesn't handle joypad properly](#move-selection-menu-doesnt-handle-joypad-properly)
- [Two tiles in the `port` tileset are drawn incorrectly](#two-tiles-in-the-port-tileset-are-drawn-incorrectly)
- [`LoadMetatiles` wraps around past 128 blocks](#loadmetatiles-wraps-around-past-128-blocks)
- [Surfing directly across a map connection does not load the new map](#surfing-directly-across-a-map-connection-does-not-load-the-new-map)
@@ -915,7 +916,7 @@
+
+.UnsetClairScene:
+ setmapscene DRAGONS_DEN_B1F, SCENE_DRAGONSDENB1F_NOTHING
-+ end
++ return
```
@@ -1332,6 +1333,62 @@
**Fix:** Lower the ellipsis by two pixels:
![image](https://raw.githubusercontent.com/pret/pokecrystal/master/docs/images/hp_exp_bar_border.png)
+
+
+## Move selection menu doesn't handle joypad properly
+
+([Video](https://www.youtube.com/watch?v=vjFUo6Jr4po&t=438))
+
+`hInMenu` isn't defined in the menu that handles selecting moves in a battle. Because of this, your cursor is usually rendered unable to keep scrolling when one of the directional keys is being held. It's up for debate whether this behavior was intentional or not, but this value should be defined when in the move selection menu. A value of 1 will allow it to keep scrolling, though it's usually 0 by default.
+There exists one way in which this behaviour would be temporarily changed in-game, and that's when the credits sequence is triggered, `hInMenu` will be set but never unset. This can be fixed with the following:
+
+**Fix:** Edit `Credits` in [engine/movie/credits.asm](https://github.com/pret/pokecrystal/blob/master/engine/movie/credits.asm):
+
+```diff
+ ldh a, [hVBlank]
+ push af
+ ld a, $5
+ ldh [hVBlank], a
++ ldh a, [hInMenu]
++ push af
+ ld a, $1
+ ldh [hInMenu], a
+
+ ...
+
+ ldh [hLCDCPointer], a
+ ldh [hBGMapAddress], a
++ pop af
++ ldh [hInMenu], a
+ pop af
+ ldh [hVBlank], a
+ pop af
+ ldh [rSVBK], a
+```
+
+
+If you want to make sure `hInMenu` always has a defined value in the move selection menu, the following code will set it to 1:
+
+**Fix:** Edit `BattleTurn` in [engine/battle/core.asm](https://github.com/pret/pokecrystal/blob/master/engine/battle/core.asm):
+
+```diff
+ BattleTurn:
++ ldh a, [hInMenu]
++ push af
++ ld a, 1
++ ldh [hInMenu], a
++
+ .loop
+
+ ...
+
+ jp .loop
+
+ .quit
++ pop af
++ ldh [hInMenu], a
+ ret
+```
## Two tiles in the `port` tileset are drawn incorrectly
--- a/docs/menus.md
+++ b/docs/menus.md
@@ -26,7 +26,7 @@
.MenuData:
db 0 ; flags
db 5, 0 ; rows, columns
- db 1 ; horizontal spacing
+ db SCROLLINGMENU_ITEMS_NORMAL ; item format
dba Items
dba Function1
dba Function2
@@ -66,9 +66,9 @@
There is no register of importance that should be preserved in any of these functions.
-The `; horizontal spacing` item in each `MenuData` is a misnomer. It changes how the `Items` struct looks.
+The `; item format` entry in each `MenuData` changes how the `Items` struct looks.
-If it's 1:
+If it's `SCROLLINGMENU_ITEMS_NORMAL` (1):
```
db entries not including cancel
@@ -78,7 +78,7 @@
...
```
-If it's 2:
+If it's `SCROLLINGMENU_ITEMS_QUANTITY` (2):
```
db entries not including cancel
--- a/engine/events/buena.asm
+++ b/engine/events/buena.asm
@@ -263,7 +263,7 @@
.MenuData:
db SCROLLINGMENU_DISPLAY_ARROWS ; flags
db 4, 13 ; rows, columns
- db 1 ; spacing
+ db SCROLLINGMENU_ITEMS_NORMAL ; item format
dba .indices
dba .prizeitem
dba .prizepoints
--- a/engine/events/elevator.asm
+++ b/engine/events/elevator.asm
@@ -184,7 +184,7 @@
Elevator_MenuData:
db SCROLLINGMENU_DISPLAY_ARROWS ; flags
db 4, 0 ; rows, columns
- db 1 ; horizontal spacing
+ db SCROLLINGMENU_ITEMS_NORMAL ; item format
dbw 0, wCurElevator
dba GetElevatorFloorStrings
dba NULL
--- a/engine/events/kurt.asm
+++ b/engine/events/kurt.asm
@@ -87,8 +87,8 @@
.MenuData:
db SCROLLINGMENU_DISPLAY_ARROWS ; flags
- db 4, 7
- db 1
+ db 4, 7 ; rows, columns
+ db SCROLLINGMENU_ITEMS_NORMAL ; item format
dbw 0, wBuffer1
dba .Name
dba .Quantity
--- a/engine/events/pokecenter_pc.asm
+++ b/engine/events/pokecenter_pc.asm
@@ -236,8 +236,7 @@
PlayersPCMenuData:
db MENU_BACKUP_TILES ; flags
- db 0, 0 ; top left corner coords (y, x)
- db 12, 15 ; bottom right corner coords (y, x)
+ menu_coords 0, 0, 15, 12
dw .PlayersPCMenuData
db 1 ; default selected option
@@ -626,8 +625,8 @@
.MenuData:
db SCROLLINGMENU_ENABLE_SELECT | SCROLLINGMENU_ENABLE_FUNCTION3 | SCROLLINGMENU_DISPLAY_ARROWS ; flags
- db 4, 8 ; rows/cols?
- db 2 ; horizontal spacing?
+ db 4, 8 ; rows, columns
+ db SCROLLINGMENU_ITEMS_QUANTITY ; item format
dbw 0, wNumPCItems
dba PlaceMenuItemName
dba PlaceMenuItemQuantity
--- a/engine/items/mart.asm
+++ b/engine/items/mart.asm
@@ -600,7 +600,7 @@
.MenuData
db SCROLLINGMENU_DISPLAY_ARROWS | SCROLLINGMENU_ENABLE_FUNCTION3 ; flags
db 4, 8 ; rows, columns
- db 1 ; horizontal spacing
+ db SCROLLINGMENU_ITEMS_NORMAL ; item format
dbw 0, wCurMart
dba PlaceMenuItemName
dba .PrintBCDPrices
--- a/engine/items/pack.asm
+++ b/engine/items/pack.asm
@@ -1465,7 +1465,7 @@
.MenuData:
db STATICMENU_ENABLE_SELECT | STATICMENU_ENABLE_LEFT_RIGHT | STATICMENU_ENABLE_START | STATICMENU_WRAP | STATICMENU_CURSOR ; flags
db 5, 8 ; rows, columns
- db 2 ; horizontal spacing
+ db SCROLLINGMENU_ITEMS_QUANTITY ; item format
dbw 0, wNumItems
dba PlaceMenuItemName
dba PlaceMenuItemQuantity
@@ -1480,7 +1480,7 @@
.MenuData:
db STATICMENU_ENABLE_SELECT | STATICMENU_ENABLE_LEFT_RIGHT | STATICMENU_ENABLE_START | STATICMENU_WRAP ; flags
db 5, 8 ; rows, columns
- db 2 ; horizontal spacing
+ db SCROLLINGMENU_ITEMS_QUANTITY ; item format
dbw 0, wNumItems
dba PlaceMenuItemName
dba PlaceMenuItemQuantity
@@ -1495,7 +1495,7 @@
.MenuData:
db STATICMENU_ENABLE_SELECT | STATICMENU_ENABLE_LEFT_RIGHT | STATICMENU_ENABLE_START | STATICMENU_WRAP | STATICMENU_CURSOR ; flags
db 5, 8 ; rows, columns
- db 1 ; horizontal spacing
+ db SCROLLINGMENU_ITEMS_NORMAL ; item format
dbw 0, wNumKeyItems
dba PlaceMenuItemName
dba PlaceMenuItemQuantity
@@ -1510,7 +1510,7 @@
.MenuData:
db STATICMENU_ENABLE_SELECT | STATICMENU_ENABLE_LEFT_RIGHT | STATICMENU_ENABLE_START | STATICMENU_WRAP ; flags
db 5, 8 ; rows, columns
- db 1 ; horizontal spacing
+ db SCROLLINGMENU_ITEMS_NORMAL ; item format
dbw 0, wNumKeyItems
dba PlaceMenuItemName
dba PlaceMenuItemQuantity
@@ -1525,7 +1525,7 @@
.MenuData:
db STATICMENU_ENABLE_SELECT | STATICMENU_ENABLE_LEFT_RIGHT | STATICMENU_ENABLE_START | STATICMENU_WRAP | STATICMENU_CURSOR ; flags
db 5, 8 ; rows, columns
- db 2 ; horizontal spacing
+ db SCROLLINGMENU_ITEMS_QUANTITY ; item format
dbw 0, wNumBalls
dba PlaceMenuItemName
dba PlaceMenuItemQuantity
@@ -1540,7 +1540,7 @@
.MenuData:
db STATICMENU_ENABLE_SELECT | STATICMENU_ENABLE_LEFT_RIGHT | STATICMENU_ENABLE_START | STATICMENU_WRAP ; flags
db 5, 8 ; rows, columns
- db 2 ; horizontal spacing
+ db SCROLLINGMENU_ITEMS_QUANTITY ; item format
dbw 0, wNumBalls
dba PlaceMenuItemName
dba PlaceMenuItemQuantity
--- a/engine/items/switch_items.asm
+++ b/engine/items/switch_items.asm
@@ -48,7 +48,7 @@
call ItemSwitch_GetNthItem
dec hl
push hl
- call ItemSwitch_ConvertSpacingToDW
+ call ItemSwitch_ConvertItemFormatToDW
add hl, bc
ld d, h
ld e, l
@@ -74,7 +74,7 @@
call ItemSwitch_GetNthItem
ld d, h
ld e, l
- call ItemSwitch_ConvertSpacingToDW
+ call ItemSwitch_ConvertItemFormatToDW
add hl, bc
pop bc
call CopyBytes
@@ -162,7 +162,7 @@
.asm_24a25
dec [hl]
- call ItemSwitch_ConvertSpacingToDW
+ call ItemSwitch_ConvertItemFormatToDW
push bc
ld a, [wSwitchItem]
call ItemSwitch_GetNthItem
@@ -183,7 +183,7 @@
Function24a40:
call ItemSwitch_GetNthItem
ld de, wd002
- call ItemSwitch_ConvertSpacingToDW
+ call ItemSwitch_ConvertItemFormatToDW
call CopyBytes
ret
@@ -192,13 +192,13 @@
ld d, h
ld e, l
ld hl, wd002
- call ItemSwitch_ConvertSpacingToDW
+ call ItemSwitch_ConvertItemFormatToDW
call CopyBytes
ret
ItemSwitch_GetNthItem:
push af
- call ItemSwitch_ConvertSpacingToDW
+ call ItemSwitch_ConvertItemFormatToDW
ld hl, wMenuData_ItemsPointerAddr
ld a, [hli]
ld h, [hl]
@@ -210,7 +210,7 @@
Function24a6c:
push hl
- call ItemSwitch_ConvertSpacingToDW
+ call ItemSwitch_ConvertItemFormatToDW
ld a, d
sub e
jr nc, .dont_negate
@@ -224,13 +224,13 @@
pop hl
ret
-ItemSwitch_ConvertSpacingToDW:
+ItemSwitch_ConvertItemFormatToDW:
; This function is absolutely idiotic.
push hl
- ld a, [wMenuData_ScrollingMenuSpacing]
+ ld a, [wMenuData_ScrollingMenuItemFormat]
ld c, a
ld b, 0
- ld hl, .spacing_dws
+ ld hl, .format_dws
add hl, bc
add hl, bc
ld c, [hl]
@@ -239,12 +239,14 @@
pop hl
ret
-.spacing_dws
- dw 0, 1, 2
+.format_dws
+ dw 0
+ dw 1
+ dw 2
Function24a97:
push af
- call ItemSwitch_ConvertSpacingToDW
+ call ItemSwitch_ConvertItemFormatToDW
ld a, c
cp 2
jr nz, .not_2
--- a/engine/math/print_num.asm
+++ b/engine/math/print_num.asm
@@ -2,6 +2,8 @@
; Print c digits of the b-byte value from de to hl.
; Allows 2 to 7 digits. For 1-digit numbers, add
; the value to char "0" instead of calling PrintNum.
+; The high nybble of the c register specifies how many of the total amount of
+; digits will be in front of the decimal point.
; Some extra flags can be given in bits 5-7 of b.
; Bit 5: money if set (unless left-aligned without leading zeros)
; Bit 6: right-aligned if set
--- a/engine/menus/scrolling_menu.asm
+++ b/engine/menus/scrolling_menu.asm
@@ -497,10 +497,10 @@
ld h, [hl]
ld l, a
inc hl ; items
- ld a, [wMenuData_ScrollingMenuSpacing]
- cp 1
+ ld a, [wMenuData_ScrollingMenuItemFormat]
+ cp SCROLLINGMENU_ITEMS_NORMAL
jr z, .got_spacing
- cp 2
+ cp SCROLLINGMENU_ITEMS_QUANTITY
jr z, .pointless_jump
.pointless_jump
add hl, de
--- a/engine/overworld/decorations.asm
+++ b/engine/overworld/decorations.asm
@@ -409,7 +409,7 @@
.ScrollingMenuData:
db SCROLLINGMENU_DISPLAY_ARROWS ; flags
db 8, 0 ; rows, columns
- db 1 ; horizontal spacing
+ db SCROLLINGMENU_ITEMS_NORMAL ; item format
dbw 0, wd002 ; text pointer
dba DecorationMenuFunction
dbw 0, 0
--- a/engine/overworld/player_step.asm
+++ b/engine/overworld/player_step.asm
@@ -126,25 +126,25 @@
.step_down
call .ScrollOverworldMapDown
call LoadMapPart
- call ScrollMapUp
+ call ScrollMapDown
ret
.step_up
call .ScrollOverworldMapUp
call LoadMapPart
- call ScrollMapDown
+ call ScrollMapUp
ret
.step_left
call .ScrollOverworldMapLeft
call LoadMapPart
- call ScrollMapRight
+ call ScrollMapLeft
ret
.step_right
call .ScrollOverworldMapRight
call LoadMapPart
- call ScrollMapLeft
+ call ScrollMapRight
ret
.ScrollOverworldMapDown:
@@ -164,14 +164,14 @@
cp 2 ; was 1
jr nz, .done_down
ld [hl], 0
- call .Add6ToOverworldMapAnchor
+ call .ScrollMapDataDown
.done_down
ret
-.Add6ToOverworldMapAnchor:
+.ScrollMapDataDown:
ld hl, wOverworldMapAnchor
ld a, [wMapWidth]
- add 6
+ add 3 * 2 ; surrounding tiles
add [hl]
ld [hli], a
ret nc
@@ -195,14 +195,14 @@
cp -1 ; was 0
jr nz, .done_up
ld [hl], $1
- call .Sub6FromOverworldMapAnchor
+ call .ScrollMapDataUp
.done_up
ret
-.Sub6FromOverworldMapAnchor:
+.ScrollMapDataUp:
ld hl, wOverworldMapAnchor
ld a, [wMapWidth]
- add 6
+ add 3 * 2 ; surrounding tiles
ld b, a
ld a, [hl]
sub b
@@ -227,11 +227,11 @@
cp -1
jr nz, .done_left
ld [hl], 1
- call .DecrementwOverworldMapAnchor
+ call .ScrollMapDataLeft
.done_left
ret
-.DecrementwOverworldMapAnchor:
+.ScrollMapDataLeft:
ld hl, wOverworldMapAnchor
ld a, [hl]
sub 1
@@ -256,11 +256,11 @@
cp 2
jr nz, .done_right
ld [hl], 0
- call .IncrementwOverworldMapAnchor
+ call .ScrollMapDataRight
.done_right
ret
-.IncrementwOverworldMapAnchor:
+.ScrollMapDataRight:
ld hl, wOverworldMapAnchor
ld a, [hl]
add 1
--- a/engine/pokedex/pokedex_2.asm
+++ b/engine/pokedex/pokedex_2.asm
@@ -124,14 +124,16 @@
jr z, .skip_height
push hl
push de
+; Print the height, with two of the four digits in front of the decimal point
ld hl, sp+$0
ld d, h
ld e, l
hlcoord 12, 7
- lb bc, 2, PRINTNUM_MONEY | 4
+ lb bc, 2, (2 << 4) | 4
call PrintNum
+; Replace the decimal point with a ft symbol
hlcoord 14, 7
- ld [hl], $5e ; ft symbol
+ ld [hl], $5e
pop af
pop hl
@@ -148,11 +150,12 @@
or d
jr z, .skip_weight
push de
+; Print the weight, with four of the five digits in front of the decimal point
ld hl, sp+$0
ld d, h
ld e, l
hlcoord 11, 9
- lb bc, 2, PRINTNUM_RIGHTALIGN | 5
+ lb bc, 2, (4 << 4) | 5
call PrintNum
pop de
--- a/engine/pokegear/pokegear.asm
+++ b/engine/pokegear/pokegear.asm
@@ -335,7 +335,7 @@
.ok
farcall PokegearMap
ld a, $07
- ld bc, $12
+ ld bc, SCREEN_WIDTH - 2
hlcoord 1, 2
call ByteFill
hlcoord 0, 2
@@ -2165,7 +2165,7 @@
hlcoord 1, 1
; Middle row
- ld bc, 18
+ ld bc, SCREEN_WIDTH - 2
ld a, " "
call ByteFill
@@ -2481,10 +2481,10 @@
ld a, " "
call ByteFill
hlcoord 0, 1
- ld a, $6
+ ld a, $06
ld [hli], a
ld bc, SCREEN_WIDTH - 2
- ld a, $7
+ ld a, $07
call ByteFill
ld [hl], $17
call GetPokemonName
--- a/engine/pokemon/bills_pc.asm
+++ b/engine/pokemon/bills_pc.asm
@@ -241,16 +241,16 @@
Unreferenced_BillsPCClearThreeBoxes:
hlcoord 0, 0
- ld b, 4
- ld c, 8
+ ld b, 4
+ ld c, 8
call ClearBox
hlcoord 0, 4
ld b, 10
- ld c, 9
+ ld c, 9
call ClearBox
hlcoord 0, 14
- ld b, 2
- ld c, 8
+ ld b, 2
+ ld c, 8
call ClearBox
ret
@@ -1854,7 +1854,7 @@
ld h, b
ld de, wStringBuffer1
call PlaceString
- ld a, $e7
+ ld a, "!"
ld [bc], a
ld c, 50
call DelayFrames
@@ -1913,7 +1913,7 @@
call PlaceString
ld l, c
ld h, b
- ld [hl], $e7
+ ld [hl], "!"
ld c, 50
call DelayFrames
ret
@@ -2269,9 +2269,9 @@
db 1 ; default option
.MenuData
- db MENU_UNUSED_1 | MENU_UNUSED_3 ; flags
- db 4, 0
- db 1
+ db SCROLLINGMENU_CALL_FUNCTION3_NO_SWITCH | SCROLLINGMENU_ENABLE_FUNCTION3 ; flags
+ db 4, 0 ; rows, columns
+ db SCROLLINGMENU_ITEMS_NORMAL ; item format
dba .boxes
dba .boxnames
dba NULL
--- a/engine/pokemon/mail.asm
+++ b/engine/pokemon/mail.asm
@@ -543,8 +543,8 @@
.TopMenuData:
db SCROLLINGMENU_DISPLAY_ARROWS ; flags
- db 4, 0 ; rows/columns?
- db 1 ; horizontal spacing?
+ db 4, 0 ; rows, columns
+ db SCROLLINGMENU_ITEMS_NORMAL ; item format
dbw 0, wMailboxCount ; text pointer
dba MailboxPC_PrintMailAuthor
dba NULL
binary files a/gfx/slots/slots_1.png b/gfx/slots/slots_1.png differ
--- a/home/map.asm
+++ b/home/map.asm
@@ -1151,7 +1151,7 @@
ld [hl], 0 ; unmasked
ret
-ScrollMapDown::
+ScrollMapUp::
hlcoord 0, 0
ld de, wBGMapBuffer
call BackupBGMapRow
@@ -1166,7 +1166,7 @@
ldh [hBGMapUpdate], a
ret
-ScrollMapUp::
+ScrollMapDown::
hlcoord 0, SCREEN_HEIGHT - 2
ld de, wBGMapBuffer
call BackupBGMapRow
@@ -1189,7 +1189,7 @@
ldh [hBGMapUpdate], a
ret
-ScrollMapRight::
+ScrollMapLeft::
hlcoord 0, 0
ld de, wBGMapBuffer
call BackupBGMapColumn
@@ -1204,7 +1204,7 @@
ldh [hBGMapUpdate], a
ret
-ScrollMapLeft::
+ScrollMapRight::
hlcoord SCREEN_WIDTH - 2, 0
ld de, wBGMapBuffer
call BackupBGMapColumn
--- a/home/string.asm
+++ b/home/string.asm
@@ -6,7 +6,7 @@
InitName::
; Intended for names, so this function is limited to ten characters.
push hl
- ld c, 10
+ ld c, NAME_LENGTH - 1
_InitString::
; if the string pointed to by hl is empty (defined as "zero or more spaces
; followed by a null"), then initialize it to the string pointed to by de.
--- a/mobile/mobile_12.asm
+++ b/mobile/mobile_12.asm
@@ -584,13 +584,21 @@
MenuData_0x4851b:
db SCROLLINGMENU_DISPLAY_ARROWS | SCROLLINGMENU_ENABLE_RIGHT | SCROLLINGMENU_ENABLE_LEFT | SCROLLINGMENU_CALL_FUNCTION1_CANCEL ; flags
- db 6 ; items
+ db 6, 0 ; rows, columns
+ db SCROLLINGMENU_ITEMS_NORMAL ; item format
+ dba .Items
+ dba Function483e8
+ dba NULL
+ dba NULL
-Unknown_4851d:
- db $00, $01, $12, $2b, $45, $12, $e8, $43, $00, $00, $00, $00, $00, $00, $2e, $00, $01, $02, $03, $04
- db $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f, $10, $11, $12, $13, $14, $15, $16, $17, $18
- db $19, $1a, $1b, $1c, $1d, $1e, $1f, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $2a, $2b, $2c
- db $2d, $ff
+.Items:
+ db 46
+x = 0
+rept 46
+ db x
+x = x + 1
+endr
+ db -1
Prefectures:
Aichi: db "あいちけん@" ; Aichi
--- a/mobile/mobile_22_2.asm
+++ b/mobile/mobile_22_2.asm
@@ -883,8 +883,8 @@
MenuData_0x8b870:
db SCROLLINGMENU_ENABLE_FUNCTION3 | SCROLLINGMENU_DISPLAY_ARROWS | SCROLLINGMENU_ENABLE_RIGHT | SCROLLINGMENU_ENABLE_LEFT ; flags
- db 5 ; items
- db 3, 1
+ db 5, 3 ; rows, columns
+ db SCROLLINGMENU_ITEMS_NORMAL ; item format
dbw 0, wd002
dba Function8b880
dba Function8b88c
--- a/mobile/mobile_46.asm
+++ b/mobile/mobile_46.asm
@@ -3796,9 +3796,9 @@
call BattleTowerRoomMenu_IncrementJumptable
BattleTowerRoomMenu_DelayRestartMenu:
- ; Loops while (--[wcd50] != 0),
- ; to create some sort of "delay" after the message is written on the screen,
- ; before starting the menu again.
+ ; Loops while (--[wcd50] != 0),
+ ; to create some sort of "delay" after the message is written on the screen,
+ ; before starting the menu again.
ld hl, wcd50
dec [hl]
ret nz
--- a/tools/toc.py
+++ b/tools/toc.py
@@ -17,6 +17,7 @@
TocItem = namedtuple('TocItem', ['name', 'anchor', 'level'])
punctuation_regexp = re.compile(r'[^\w\- ]+')
+specialchar_regexp = re.compile(r'[⅔]+')
def name_to_anchor(name):
# GitHub's algorithm for generating anchors from headings
@@ -24,6 +25,7 @@
anchor = name.strip().lower() # lowercase
anchor = re.sub(punctuation_regexp, '', anchor) # remove punctuation
anchor = anchor.replace(' ', '-') # replace spaces with dash
+ anchor = re.sub(specialchar_regexp, '', anchor) # remove misc special chars
return anchor
def get_toc_index(lines):
--- a/wram.asm
+++ b/wram.asm
@@ -1481,7 +1481,7 @@
; Scrolling Menu
wMenuData_ScrollingMenuHeight:: db ; cf92
wMenuData_ScrollingMenuWidth:: db ; cf93
-wMenuData_ScrollingMenuSpacing:: db ; cf94
+wMenuData_ScrollingMenuItemFormat:: db ; cf94
wMenuData_ItemsPointerBank:: db ; cf95
wMenuData_ItemsPointerAddr:: dw ; cf97
wMenuData_ScrollingMenuFunction1:: ds 3 ; cf98