#dynamic 0x800000
#org @start
lock
loadpointer 0x0 @sHeader // Header text
loadpointer 0x1 @sBody // Body text
setvar 0x8000 0x0003 // X -- single-byte! (0x01 = 8px)
setvar 0x8001 0x0001 // Y -- single-byte!
setvar 0x8002 0x000A // Width -- single-byte!
setvar 0x8003 0x0002 // Height -- single-byte!
callasm 0x8780001 // Change this to wherever you place the ASM
msgbox @sStandard 0x2 // just as a demonstration.
hidecoins 0x00 0x00 // hides secondary boxes.
release
end
#org @sHeader
= HEAD
#org @sBody
= BODY
#org @sStandard
= STANDARD
.align 2
.thumb
SHOWCOINS:
push {lr}
push {r0-r7}
ldr r5, SCRIPT_VAR_8000
ldrh r5, [r5]
ldr r4, SCRIPT_VAR_8001
ldrh r4, [r4]
ldr r0, UNKNOWN_DATA_0
ldr r1, SHOWCOINS_UNK_1
bl CALL_R1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
cmp r0, #0x1
beq SHOWCOINS_RETURN
mov r1, r5
mov r2, r4
bl SECONDARY
b SHOWCOINS_RETURN
SHOWCOINS_RETURN:
pop {r0-r7}
pop {pc}
SECONDARY:
push {lr}
push {r0-r7}
add sp, #-0x20
mov r6, r0
mov r4, r1
mov r3, r2
lsl r4, r4, #0x18
lsl r3, r3, #0x18
mov r0, #0x80
lsl r0, r0, #0x11
add r4, r4, r0
lsr r4, r4, #0x18
add r3, r3, r0
lsr r3, r3, #0x18
ldr r0, SCRIPT_VAR_8002
ldrh r0, [r0]
str r0, [sp]
ldr r0, SCRIPT_VAR_8003
ldrh r0, [r0]
str r0, [sp, #0x4]
mov r0, #0xF
str r0, [sp, #0x8]
mov r0, #0x20
str r0, [sp, #0xC]
add r0, sp, #0x10
mov r1, #0x0
mov r2, r4
ldr r4, UNKNOWN_FUNCTION_0
bl CALL_R4
ldr r0, [sp, #0x10]
ldr r1, [sp, #0x14]
str r0, [sp, #0x18]
str r1, [sp, #0x1C]
ldr r4, UNKNOWN_DATA_1
add r0, sp, #0x18
ldr r5, UNKNOWN_FUNCTION_1
bl CALL_R5
strb r0, [r4]
ldrb r0, [r4]
mov r1, #0x0
ldr r2, UNKNOWN_FUNCTION_2
bl CALL_R2
ldrb r0, [r4]
ldr r5, UNKNOWN_FUNCTION_3
bl CALL_R5
ldrb r0, [r4]
ldr r5, UNKNOWN_DATA_2
mov r1, r5
mov r2, #0xD0
ldr r3, UNKNOWN_FUNCTION_4
bl CALL_R3
ldrb r0, [r4]
mov r1, #0x0
mov r2, r5
mov r3, #0xD
ldr r6, UNKNOWN_FUNCTION_5
bl CALL_R6
ldrb r0, [r4]
ldr r2, SCRIPT_BANK_0
ldr r2, [r2]
mov r3, #0x0
str r3, [sp]
mov r1, #0xFF
str r1, [sp, #0x4]
str r3, [sp, #0x8]
mov r1, #0x2
ldr r7, UNKNOWN_FUNCTION_6
bl CALL_R7
mov r0, r6
bl SECONDARY_LOAD_BODY
add sp, #0x20
pop {r0-r7}
pop {pc}
SECONDARY_LOAD_BODY:
push {lr}
push {r0-r7}
add sp, #-0xC
mov r1, r0
ldr r0, BUFFER_RAM_OFFSET
mov r2, #0x1
mov r3, #0x4
ldr r6, UNKNOWN_FUNCTION_7
bl CALL_R6
ldr r4, STRING_RAM_OFFSET
ldr r1, SCRIPT_BANK_1
ldr r1, [r1]
mov r0, r4
ldr r6, BODY_STRING_LOADER
bl CALL_R6
mov r0, #0x0
mov r1, r4
mov r2, #0x0
ldr r6, UNKNOWN_FUNCTION_8
bl CALL_R6
ldr r1, UNKNOWN_DATA_1
ldrb r1, [r1]
mov r3, #0x40
sub r3, r3, r0
lsl r3, r3, #0x18
lsr r3, r3, #0x18
mov r0, #0xC
str r0, [sp]
mov r0, #0x0
str r0, [sp, #0x4]
str r0, [sp, #0x8]
mov r0, r1
mov r1, #0x0
mov r2, r4
ldr r6, UNKNOWN_FUNCTION_6
bl CALL_R6
add sp, #0xC
pop {r0-r7}
pop {pc}
CALL_R1:
bx r1
bx lr
CALL_R2:
bx r2
bx lr
CALL_R3:
bx r3
bx lr
CALL_R4:
bx r4
bx lr
CALL_R5:
bx r5
bx lr
CALL_R6:
bx r6
bx lr
CALL_R7:
bx r7
bx lr
.align 2
SCRIPT_BANK_0:
.word 0x03000F14
SCRIPT_BANK_1:
.word 0x03000F18
SCRIPT_VAR_8000:
.word 0x020370B8
SCRIPT_VAR_8001:
.word 0x020370BA
SCRIPT_VAR_8002:
.word 0x020370BC
SCRIPT_VAR_8003:
.word 0x020370BE
UNKNOWN_DATA_0:
.word 0x0809D6D5
UNKNOWN_DATA_1:
.word 0x02039A28
UNKNOWN_DATA_2:
.word 0x0000021D
SHOWCOINS_UNK_1:
.word 0x081119D5
UNKNOWN_FUNCTION_0:
.word 0x0810FE51
UNKNOWN_FUNCTION_1:
.word 0x08003CE5
UNKNOWN_FUNCTION_2:
.word 0x0800445D
UNKNOWN_FUNCTION_3:
.word 0x08003FA1
UNKNOWN_FUNCTION_4:
.word 0x0814FF2D
UNKNOWN_FUNCTION_5:
.word 0x0810F2E9
UNKNOWN_FUNCTION_6:
.word 0x08002C49
UNKNOWN_FUNCTION_7:
.word 0x08008E79
UNKNOWN_FUNCTION_8:
.word 0x08005ED5
BUFFER_RAM_OFFSET:
.word 0x02021CD0
STRING_RAM_OFFSET:
.word 0x02021D18
BODY_STRING_LOADER:
.word 0x08008FCD
#dynamic 0x750000
/*
Numeric input by editing a number one
digit at a time. A textbox is used as
a selector, along with a special that
can be used to control the position
of a downward-pointing red marker on-
screen. JPAN's specials are required.
This version uses only 800X variables.
Vars:
8004 Arrow position (X)
8005 Arrow position (Y)
8006 0x0 means new arrow, else remove last
8007 Current entered value
8008 Selected digit
8009 Selecting a digit, or editing that digit's value? 0 or 1 respectively.
800A Captured D-Pad input
800B Current cursor position in menu (between 0x0000 and 0x0005, inclusive).
800C Temp variable (value to add/sub)
8001 If set to 0x0001, this script will call the dynamic script loader when
complete.
Buffers:
Selecting a digit
1 Padding zeroes on current entered value
2 Current entered value
*/
#define V_0 0x8007
#define V_1 0x8008
#define V_2 0x8009
#define V_3 0x800A
#define V_4 0x800B
#define V_5 0x800C
#define V_6 0x8001
#define V_0a 0x80
#define V_0b 0x07
#define V_5a 0x80
#define V_5b 0x0C
#define DIALOG_X 0x020204B5
#define DIALOG_Y 0x020204B6
#define DYNAMIC_LOADER 0x800554
#org @start
lock
signmsg
setvar 0x8004 0x4D
setvar 0x8005 0x2B
setvar 0x8006 0x0
setvar V_0 0x0000
setvar V_1 0x0000
setvar V_2 0x0000
setvar V_3 0x0000
setvar V_4 0x0000
setvar V_5 0x0000
special 0x1B2
writebytetooffset 0x02 DIALOG_X
writebytetooffset 0x06 DIALOG_Y
goto @updateMessage
#org @updateMessage
buffernumber 0x01 V_0
call @padZeroes
compare V_2 0x00
if 0x1 goto @showPickDigit
goto @showEditDigit
#org @showPickDigit
preparemsg @*****Digit
waitmsg
goto @updateCursor
#org @showEditDigit
preparemsg @sEditDigit
waitmsg
goto @updateCursor
#org @updateCursor
compare V_2 0x00
if 0x1 goto @drawPickCursor
goto @drawEditCursor
/*
Key-checking loop
*/
#org @waitForKey
special2 V_3 0x2C
compare V_3 0x0
if 0x5 goto @checkKeys
pause 0x1
goto @waitForA
#org @checkKeys
compare V_3 0x0002
if 0x1 goto @keyLeft
compare V_3 0x0004
if 0x1 goto @keyRight
goto @cleanup
#org @waitForA
special2 V_3 0x2B
compare V_3 0x0001
if 0x1 goto @keyA
pause 0x1
goto @waitForKey
/*
Button press handlers
*/
#org @keyLeft
compare V_4 0x0000
if 0x1 goto @loopCursorLeft
goto @moveCursorLeft
#org @keyRight
compare V_2 0x0001
if 0x1 goto @keyRight__Edit
compare V_4 0x0005
if 0x1 goto @loopCursorRight
goto @moveCursorRight
#org @keyRight__Edit
compare V_4 0x0002
if 0x1 goto @loopCursorRight
goto @moveCursorRight
#org @keyA
compare V_2 0x0001
if 0x1 goto @keyA__Edit
// -v- A keypresses when picking a digit
// -v- selecting "(DONE)"
compare V_4 0x0005
if 0x1 goto @cleanup
// -v- selecting a digit
compare V_4 0x0000
if 0x1 goto @startEdit_D0
compare V_4 0x0001
if 0x1 goto @startEdit_D1
compare V_4 0x0002
if 0x1 goto @startEdit_D2
compare V_4 0x0003
if 0x1 goto @startEdit_D3
compare V_4 0x0004
if 0x1 goto @startEdit_D4
goto @waitForKey
#org @keyA__Edit
// -v- A keypresses when editing a digit
// -v- A keypresses when selecting "CANCEL"
compare V_4 0x0002
if 0x1 goto @cancelEdit
goto @editDigit
/*
Cursor movements (move / wrap)
*/
#org @moveCursorLeft
subvar V_4 0x0001
goto @updateCursor
#org @loopCursorLeft
compare V_2 0x0001
if 0x1 goto @loopCursorLeft__Edit
setvar V_4 0x0006
goto @updateCursor
#org @loopCursorLeft__Edit
setvar V_4 0x0002
goto @updateCursor
#org @moveCursorRight
addvar V_4 0x0001
goto @updateCursor
#org @loopCursorRight
setvar V_4 0x0000
goto @updateCursor
#org @drawCursor
setvar 0x8006 0x0000
special 0x1B2
return
#org @killCursor
setvar 0x8006 0x0001
special 0x1B2
return
/*
Position cursor based on index (pick digit)
*/
#org @drawPickCursor
call @killCursor
setvar 0x8005 0x2B
compare V_4 0x0000
if 0x1 call @drawPickCursor_0
compare V_4 0x0001
if 0x1 call @drawPickCursor_1
compare V_4 0x0002
if 0x1 call @drawPickCursor_2
compare V_4 0x0003
if 0x1 call @drawPickCursor_3
compare V_4 0x0004
if 0x1 call @drawPickCursor_4
// ^ five digits to select
compare V_4 0x0005
if 0x1 call @drawPickCursor_5
// ^ "(DONE)"
compare V_4 0x0006
if 0x4 call @drawPickCursor_6
call @drawCursor
pause 0x0010
goto @waitForKey
#org @drawPickCursor_0
setvar 0x8004 0x004D
return
#org @drawPickCursor_1
setvar 0x8004 0x0053
return
#org @drawPickCursor_2
setvar 0x8004 0x0059
return
#org @drawPickCursor_3
setvar 0x8004 0x005F
return
#org @drawPickCursor_4
setvar 0x8004 0x0065
return
#org @drawPickCursor_5
setvar 0x8004 0x007F
return
#org @drawPickCursor_6
// past maximum!
setvar V_4 0x0005
setvar 0x8004 0x7F
return
/*
Handle digit selection.
*/
#org @startEdit_D0
setvar V_1 0x0000
goto @startEdit
#org @startEdit_D1
setvar V_1 0x0001
goto @startEdit
#org @startEdit_D2
setvar V_1 0x0002
goto @startEdit
#org @startEdit_D3
setvar V_1 0x0003
goto @startEdit
#org @startEdit_D4
setvar V_1 0x0004
goto @startEdit
#org @startEdit
setvar V_2 0x0001
setvar V_4 0x0000
goto @updateMessage
/*
Handle digit cancellation
*/
#org @cancelEdit
copyvar V_4 V_1
setvar V_2 0x0000
setvar V_1 0x0000
goto @updateMessage
/*
Handle digit modification
*/
#define JPAN_MATH_A 0x0203F4D8
#define JPAN_MATH_B 0x0203F4D9
#define JPAN_MATH_C 0x0203F4DA
#define JPAN_MATH_D 0x0203F4DB
#org @editDigit
compare V_1 0x0000
if 0x1 call @editDigitA
compare V_1 0x0001
if 0x1 call @editDigitB
compare V_1 0x0002
if 0x1 call @editDigitC
compare V_1 0x0003
if 0x1 call @editDigitD
compare V_1 0x0004
if 0x1 call @editDigitE
compare V_4 0x0
if 0x1 call @addDigit
compare V_4 0x1
if 0x1 call @subDigit
goto @updateMessage
#org @editDigitA
setvar V_5 10000
return
#org @editDigitB
setvar V_5 1000
return
#org @editDigitC
setvar V_5 100
return
#org @editDigitD
setvar V_5 10
return
#org @editDigitE
setvar V_5 1
return
#org @addDigit
writebytetooffset V_0b JPAN_MATH_A
writebytetooffset V_0a JPAN_MATH_B
writebytetooffset V_5b JPAN_MATH_C
writebytetooffset V_5a JPAN_MATH_D
special 0x3E
return
#org @subDigit
subvar V_0 V_5
return
/*
Position cursor based on index (edit digit)
*/
#org @drawEditCursor
call @killCursor
setvar 0x8005 0x3E
compare V_4 0x0000
if 0x1 call @drawEditCursor_0
compare V_4 0x0001
if 0x1 call @drawEditCursor_1
// ^ two options (add/sub) to select
compare V_4 0x0002
if 0x1 call @drawEditCursor_2
// ^ "Cancel"
compare V_4 0x0003
if 0x4 call @drawEditCursor_3
call @drawCursor
pause 0x0010
goto @waitForKey
#org @drawEditCursor_0
setvar 0x8004 0x0B
return
#org @drawEditCursor_1
setvar 0x8004 0x4B
return
#org @drawEditCursor_2
setvar 0x8004 0x85
return
#org @drawEditCursor_3
// past maximum!
setvar V_4 0x0002
setvar 0x8004 0x85
return
/*
Buffers the necessary amount of padding zeroes
*/
#org @padZeroes
bufferstring 0x00 @pad0
compare V_0 0x2710
if 0x0 call @padZeroes_1
compare V_0 0x03E8
if 0x0 call @padZeroes_2
compare V_0 0x0064
if 0x0 call @padZeroes_3
compare V_0 0x000A
if 0x0 call @padZeroes_4
return
#org @padZeroes_1
bufferstring 0x00 @pad1
return
#org @padZeroes_2
bufferstring 0x00 @pad2
return
#org @padZeroes_3
bufferstring 0x00 @pad3
return
#org @padZeroes_4
bufferstring 0x00 @pad4
return
#org @*****Digit
= Entered value: [buffer1][buffer2] (DONE)\nSelect a digit to edit.
#org @sEditDigit
= Entered value: [buffer1][buffer2]\nIncrease Decrease Cancel
#org @pad0
=
#org @pad1
= 0
#org @pad2
= 00
#org @pad3
= 000
#org @pad4
= 0000
#org @cleanup
releaseall
writebytetooffset 0x02 DIALOG_X
writebytetooffset 0x0F DIALOG_Y
setvar 0x8004 0x0000
setvar 0x8005 0x0000
call @killCursor
normalmsg
copyvar 0x800D V_0
return
[INI-Version]
Sprache=English
Version=1.0.9
Ersteller=Scizz / Tauwasser
Kommentar=English language file for Advance-Map.\nThe humongous pink elephant goes moooooo~
SchriftArt=MS Sans Serif
SchriftGroesse=-11
Charset=1
[LanguageSections]
10=Allgemein
20=IniAusleser
100=AMMainForm
110=Menue
120=Toolbar
130=Header
131=NameAnzeigen
/132=Musik
133=Hoehle
134=Wetter
135=Typ
136=Kampftyp
137=MapScripts
140=ProfiHeader
150=WildePokemon
151=ExtendedWildPokemonForm
160=Events
161=SignpostTyp
162=SignpostAnsprechEbene
163=EventMenge
164=Bewegung
165=EventType
170=RomInfos
180=GehDaten
200=BlockEditorForm
201=Verhalten_RS
202=Hintergrund_RS
203=Verhalten_E
204=Hintergrund_E
205=Verhalten_FRLG
206=Hintergrund_FRLG
220=PalettenForm
240=BlockDatenAnpassenForm
300=AnbindungsForm
301=ConnectionDirections
400=MapBankHeaderForm
500=HeaderVerschieben
600=MapEinfuegenForm
700=UmpointenForm
800=NewMapForm
900=AboutBox
1000=EndnutzerForm
1100=WorldMapEditor
1200=KontextMenu
1300=Season
1400=TimePeriod
1500=SeasonForm
1600=NewTilesetForm
[Menue]
11=&File
12=&Settings
13=&Tools
14=&Help
110=&Load ROM...
111=&Reload ROM
112=&Save
113=Save &as...
114=&Map...
115=&Quit
116=Create &Backup
1140=&New map
1141=&Open map...
1143=Save map &as...
1144=&Insert map
1160=A backup file was successfully created.
1161=Creating Backup
1162=An error occurred while creating a backup. Backup not saved.
120=&Grid
121=Comboboxes
122=Block palette &width
123=&Show sprites
124=&Hide other events
125=Language
126=&Viewing size
127=Map &listing
128=&Remember last selection
129=Professional &Header view
1210=&Automatically look for offsets
1211=Show &toolbar
1212=Create &backup on opening
1213=Create shortcut to last &used ROM
1214=Use AM &context menu
1215=&Choose script editor
1216=&Number of recently used files
1217=&Movement permissions transparency
1218=Recently-used &files
1219=&Events
1220=Auto &paint after using Pipette
12130=Most recently used ROM
12150=The program file does not exist or is not executable.
12151=Are offsets seperated from the ROM name by ":" (default) or " " in the preferred script editor? => Yes for ":"; No for " ".
12160=Set max number of entries in list of recently used files.
12161=How many recently used files should be listed under "File"?
12170=How transparent should the movement permissions be? (Enter a value between 1.0 and 0.0. Higher values are more transparent.)
12180=Clear List
12181=Show FilePath
1260=Doubled Map view size
1261=Doubled Movement permissions view size
1262=Doubled Events view size
1263=Doubled Palette view size
1264=Doubled Movement palette view size
1270=Read from header
1271=Read from INI
1272=Only read map order from header
1273=Build new INIs from header
12720=Sort by <bank>.<map>
12721=Sort by map name
12722=Sort by tileset number
12723=Sort by tileset grouping
12724=Mix map name and tileset
130=Block &Editor
131=Save &map picture
132=Save &block palette picture
133=Save &event picture
134=&Amount of events
135=&Open map
136=Map &connections
137=C&hange map bank
138=&World Map editor
139=Create shortcut on the &desktop
1310=Open &previous map
1311=&Season Editor
1370=Re-locate map bank header
1371=Re-locate map bank
1372=Re-locate list of connections
1373=Re-locate wild Pokémon header
1374=Manage map bank header
140=&Readme
141=&About
142=&End user license agreement
143=&Tutorial
148=Tutorial English.txt
149=Readme English.txt
[Toolbar]
10=Open ROM
11=Save
12=Create new map
13=Insert map
14=Show sprites
15=Map connections
16=Block Editor
17=Find free space
18=About
19=World Map editor
20=Open previous map
100=Normal
101=Pan (left click)
102=Pipette (right click)
103=Fill Can (middle click)
104=Replace All Of These (Ctrl + middle click)
105=Draw GreatBlock (left click)
106=GreatBlock Pipette (Ctrl + left click)
200=Normal
201=Pan (left click)
202=Pipette (right click)
203=Fill Can (middle click)
204=Replace All Of These (Ctrl + middle click)
205=Draw GreatBlock (left click)
206=GreatBlock Pipette (Ctrl + left click)
300=Normal
301=Select (middle click)
302=Move top Event (left click)
303=Move bottom Event (right click)
304=Move Multiselect (left click)
305=Multiselect (Ctrl + left click)
306=Copy top Event (Ctrl + right click)
[EndnutzerForm]
Title=End user license agreement
10=I hereby accept this agreement.
11=I do not accept this agreement.
12=Cancel
13=OK
20=Error: The file "ini\Sprachen\enduser.dat" does not exist. Were all files extracted successfully?
21=Error: The file "ini\Sprachen\enduser.dat" does not contain the desired language!
30=Do you want to create a shortcut to AdvanceMap on the desktop?
[Allgemein]
00=Question
01=Info
02=Error
03=Warning
10=Reserved empty map data
11=11. reserved empty map data, refresh with F5
12=Reserved emtpy map bank
13=6. reserved empty map bank, refresh with F5
14=Tileset
15=Error
20=Map
21=Movement permissions
22=Events
23=Search map
24=Wild Pokémon
25=Header
30=Choose "File->Load ROM..." to load a ROM.
31=ROM loaded. Choose map.
32=Map loaded. Index:
33=Block:
34=Offset:
35=Movement permission:
36=No events.
37=Warning: Some events are outside of the map.
38=Events working as desired.
40=No map header entry for current ROM found.\nAre all INI-files in the INI-folder?\nYour ROM is possibly corrupted. To verify this, test with another ROM of the same version.\nPlease do give feedback if none of these errors occurred.
41=The selected map file does not exist.
42=Open map
43=Please specify the desired map in format "<bank>.<map>".
44=Invalid entry
45=Change block palette width
46=Please specify the desired width for the block palette, in blocks.
47=Error while saving the file.
48=Please choose
49=Not defined
50=New map banks
51=Please specify the number of new map banks to reserve space for.
52=Bank number
53=Please specify the number of the bank to be moved.
54=New maps
55=Please specify the number of new maps to reserve space for.
56=New connection list
57=Please specify number of connection list entries to reserve space for.
58=New wild Pokémon header
59=Please specify the number of entries for wild Pokémon to reserve space for.
60=From header
61=From INI
62=Map files
63=No name
64=Connection list
610=Error in MainIni!!
640=NameID (not existing) is:
641=Unknown Map
70=Save changes?
71=File could not be saved!
80=Offsets of map "%s" are not defined for game "%s"!
83=Invalid pointer to map footer.
84=MapEntry Bank: %d Map: %d does not exist.
85=The changes to the map data aren't saved yet. Do you want to save them?
86=Invalid data pointer in MapHeader on load MapHeader.
87=Invalid data pointer in MapHeader on save MapHeader.
88=Invalid data pointer in MapFooter on load MapFooter.
89=Invalid data pointer in MapFooter on save MapFooter.
810=Invalid data pointer in TilesetHeader, the TilesetNumber %s seams not to exist.
811=The MapHeader is not saved at an Offset divisible by 4. This can cause the map to show up as a black screen when playing the ROM. Loading it anyway.
812=The MapFooter is not saved at an Offset divisible by 4. This can cause the map to show up as a black screen when playing the ROM. Loading it anyway.
90=File not found!
900=Create new map bank
901=Create new map
902=Create new wild Pokémon data
940=No events were found for this map.
941=No wild Pokémon data was found for this map.
942=The header of the current map cannot be displayed.
943=No wild Pokémon data was found for this version of the game.
944=Exporting is only supported when the map header area is displayed in the list. (Options->"Read from header" or nothing is chosen.)
100=This map does not exist!
101=Error on compressed data (size of data is $FFFFFF).
102=Format not Supported.
103=Error in palette file.
110=It takes %s to open the ROM.
120=Width
121=Height
130=All Files
140=You drop multiple Files, I will try to load first of them.
141=Startup
150=Error on getting TilesetHeader, MapBankHeader seams to be corrupted.
160=CityNameAmount is only %d not %d.
[NewMapForm]
Title=New map
10=Map name:
11=Width:
12=Height:
13=Tileset 1:
14=Tileset 2:
15=Create
16=Cancel
20=Please fill in all of the fields.
[BlockEditorForm]
title=Block Editor
130=Block Editor
131=1. part
132=2. part
1300=Down/Up
1301=Tile:
1302=Block:
1303=Offset:
1304=X flip
1305=Y flip
1306=Save
13070=Behavior data:
13071=All numbers are in hexadecimal!
13072=Behavior byte:
13073=Background byte:
13080=Picture
13081=Save tileset 1
13082=Load tileset 1
13083=Save tileset 2
13084=Load tileset 2
13085=Load new blocks
13090=Blocks
13091=Save tileset 1
13092=Load tileset 1
13093=Save tileset 2
13094=Load tileset 2
13095=Change amount
13096=Doubled Palette view size
130100=Palettes
130101=Show palette editor
130102=Write palette changes to ROM
130103=Write current palette to file
130104=Load current palette from file
130105=Change palette definition of block data
130111=Insert new Tileset
130112=Delete Tileset
130810=Cannot export this palette; there are multiple entries for the same color in the palette.
130820=The palette file for this image is missing.
130821=Tileset picture
130822=Changing of tileset picture cancelled!
130823=Sorry the picture must have the correct size of %d x %d.
130910=Saving of blocks cancelled!
130920=Changing of blocks cancelled!
130921=Block/behavior data
130950=Please specify the number of blocks for tileset 2 (max: %d):
130951=Block/behavior data
130952=Changing number of blocks cancelled!
1310=Save changes to Picture/Blocks/Palette?
130113=New Tileset
130114=Insert new Tileset aborted!
130115=The new inserted tileset is Tileset %d and is saved at $%6x.
130116=Create a minor tileset? For a major tileset, press No.
130106=New Palette Offset Part1
130107=New Palette Offset Part2
130108=Save new Palette aborted!
200=Block Editor, Block and Behavior Data
300=No Freespace to insert Palette found/selected.
301=No Freespace to insert new Tileset Header found/selected.
302=No Freespace to insert Tileset Picture found/selected.
303=No Freespace to insert Block/Behavior Data found/selected.
400=The Palette Editor is deactivated because all colors are changed by the DAN preview. Change DAN-Preview to Timeperiod without color change.
[PalettenForm]
Title=Palette Editor
10=Apply
11=15-bit GBA color value
12=15-bit to RGB
13=Select color
[BlockDatenAnpassenForm]
Title=Modify block data
10=Tileset 1
11=Tileset 2
12=From palette:
13=To palette:
14=Modify
[AnbindungsForm]
Title=Connections
136=Connections
1360=Connections:
1361=Connection no:
1362=Direction:
1363=Offset:
1364=Map bank:
1365=Map no:
1366=Zero out
1367=Add
1368=Remove
1369=Save
13610=Show Preview
13611=Load correct Tilesets
13600=Below
13601=On top of
13602=Left of
13603=Right of
13604=Dived at
13605=Emerged at
13670=Connection
13671=Adding of connection cancelled!
13672=No Freespace to insert new Connections found/selected.
13680=Do you really want to delete the %d. connection?
13681=MapEntry Bank: %d Map: %d does not exist.
13690=Save connections?
[ConnectionDirections]
Amount=6
00=Nothing
01=Down
02=Up
03=Left
04=Right
05=Dive
06=Emerge
[HeaderVerschieben]
13700=Map bank header
13701=Re-location of map bank header cancelled!
13702=No Freespace to increase map bank header found/selected.
13710=Map bank
13711=Re-location of map bank cancelled!
13712=No Freespace to increase map bank found/selected.
13720=Connection list
13721=Re-location of connection list cancelled!
13722=No Freespace to increase Connection list found/selected.
13730=Wild Pokémon header
13731=Re-location of wild Pokémon header cancelled!
13732=No Freespace to increase WildPokemon Header found/selected.
13740=New map bank
13741=Creation of map bank cancelled!
13742=No Freespace to insert new map bank found/selected.
13750=Wild Pokémon data
13751=Changing of wild Pokémon entry cancelled!
13752=No Freespace to insert new WildPokemon found/selected.
[MapBankHeaderForm]
10=Bank no:
11=Current offset:
12=Number of maps:
13=Number of reserved maps:
14=New bank
15=Map bank header
20=Number of additionally reserved banks:
21=Number of additionally reserved maps:
22=Cancel
23=Accept changes
30=Map bank header and connection list
[MapEinfuegenForm]
Title=Insert map
10=Current saving space:
11=In the file:
12=In the ROM:
13=Insertion position:
14=Map bank header
20=Replace map:
21=Bank:
22=Map no:
23=Replace
30=Available space:
31=Bank:
32=Number of reserved maps:
33=Insert
40=Create new space:
41=Bank:
42=Number of reserved new maps:
43=Create and insert
44=New bank
51=Insertion of map cancelled!
52=Map header & map & events
53=Map & events
54=The map was successfully registered as map %d.%d!
56=Map not inserted!
57=Map header & map & events & map scrips & connections
58=Map & events & map scrips & connections
100=An error occurred when loading the file. It seams to be corrupt...
[EventType]
Amount=$04
00=Person event
01=Warp
02=Script
03=Signpost
04=Flying position
05=No events
[Events]
400=Pos (X/Y):
401=Unknown:
402=To warp no:
403=Map bank:
404=Map:
405=Goto
410=Person event no:
411=Picture no:
412=Unknown:
413=Pos (X/Y):
414=Unknown:
415=Movement type:
416=Movement:
417=Unknown:
418=Trainer:
419=Unknown:
4110=View radius:
4111=Script offset:
4112=Person ID:
4113=Unknown:
4114=Plant-ID:
420=Pos (X/Y):
421=Unknown:
422=Var number:
423=Var value:
424=Unknown:
425=Script offset:
430=Pos (X/Y):
431=Talking level:
432=Signpost type:
433=Unknown:
434=Script offset:
435=Item ID:
436=Hidden ID:
437=Amount:
438=Secret base ID:
439=Open secret base
450=No:
451=Mark active sprite
452=Delete event
460=Pos (X/Y):
461=Unknown:
462=Changing the bank or map number will remove this map's flying position.
463=Map bank:
464=Map:
945=There are no events of this type on the map.
50=Open script
51=No script editor defined.
52=Script editor not found.
600=Invalid data pointer in EventHeader on Load EventHeader.
601=The value in the script field is not a Pointer.\nAttention: If you change the Type of Signpost, it could damage the containig data by convert the value to a Pointer.
602=The Script Value of People %d is not a Pointer! Data seems to be corrupted.
603=Creation of Flying positions is not supported.
604=Invalid data pointer in EventHeader on Save EventHeader.
700=Warp to Map/secret base
701=Warp to Map
[SignpostTyp]
Amount=$08
00=Script
01=Script, if hero is facing up
02=Script, if hero is facing down
03=Script, if hero is facing right
04=Script, if hero is facing left
05=Hidden item
06=Hidden item
07=Hidden item
08=Secret base; RSE only
[SignpostAnsprechEbene]
Amount=$0F
00=Always
01=Height 0 (Surf)
02=Height 1
03=Height 2 (Normal)
04=Height 3
05=Height 4
06=Height 5
07=Height 6
08=Height 7
09=Height 8
0A=Height 9
0B=Height 10
0C=Height 11
0D=Height 12
0E=Height 13
0F=Height 14
[EventMenge]
10=Amount of events
11=Number of person events:
12=Number of signposts:
13=Number of warps:
14=Number of scripts:
15=Change events
20=Changing of events cancelled!
21=Events
22=No Freespace to insert incrased Event amount found/selected.
[WildePokemon]
10=Grass
11=Water
12=Rock Smash
13=Fishing Rod
20=What type do you want to use?
21=Type:
22=Offset:
23=Cancel
24=OK
25=Create wild Pokémon data
30=Save wild Pokémon data?
60=Type:
61=Encounter ratio:
64=Min/max level:
66=Add
67=Remove
68=Pokémon:
69=No:
610=Chance:
70=Pokémon %d:
80=old rod
81=good rod
82=super rod
[UmpointenForm]
10=Five places found!
11=Search done!
12=The automatic search did not find any free space.
80=Seach for bytes
81=Bytes to look for
82=Specify searched area from
83=to
84=Needed bytes
85=OK
86=Specify
87=Offset
88=Repoint
89=Quit
880=Search for free space
100=Can only search between 2 and 200000 Bytes.
101=No empty space of size %d found. (Searching: $%2x, between $%6x and end of file)
102=No empty space of size %d found. (Searching: $%2x, between $%6x and $%6x)
103=Stop searching after found 5 Offsets.
104=Stop searching after reach end of file.
105=Stop searching after reach end of search area ($%6x).
[Header]
900=Name:
901=Show name on entering
902=Change Name
903=Number of new names:
904=Create new name
905=New name
9020=Name
9021=Name changing cancelled!
9022=No Freespace to insert new Name found/selected.
9040=Changing amount of names cancelled!
9041=New offset for name header
910=Map options:
911=Music:
912=Weather:
913=Type:
914=Fight type:
915=Cave:
916=Music no:
920=Used tilesets:
921=Tileset 1:
922=Tileset 2:
923=Change tileset
930=Map dimensions:
931=Map width:
932=Map height:
933=Change dimensions
9330=Map data
9331=Change of map dimensions cancelled!
9332=The map is too wide!
9333=The max map height at a map width of %d is: %d.
9335=The previous error was ignored because the professional header view is enabled.
9336=No Freespace to insert resizedMap found/selected.
9337=Map size cannot be 0x0.
940=Border block:
941=Border block size is invalid. 2x2 will be used.
950=Map script
951=Script no:
952=Script type:
953=Script offset:
954=Open script
955=Save map scripts
956=Flag:
957=Value:
958=Script offset 2:
9510=Remove
9511=Add
9550=Repoint map scripts
9551=Change of map scripts cancelled!
9552=No Freespace to insert incrased MapScript amount found/selected
[ProfiHeader]
100=Map bank header:
101=Map bank header:
102=Bank no:
103=Map bank offset:
104=Map no:
105=Map header offset:
110=Map options:
111=Map header:
112=Map footer offset:
113=Event offset:
114=Save changes and reload map.
115=Map script offset:
116=Connection offset:
120=Map data:
121=Map footer:
122=Width:
123=Height:
124=Map offset:
125=Border offset:
126=No of tileset part 1:
127=No of tileset part 2:
128=Offset of tileset part 1:
129=Offset of tileset part 2:
130=Border block: (Always saved with map.)
131=Border:
132=Border width:
133=Border height:
134=Repoint border
135=Change of Border cancelled!
136=No Freespace to insert resized BorderBlock found/selected.
140=Tileset data:
141=Data of tileset part 1:
142=Data of tileset part 2:
[WorldMapEditor]
Title=World map editor
10=PosX
11=PosY
12=With color overlay
13=Dump flying/display flags
14=Read pos of top layer
15=Change routines
16=Redraw
17=Save map
20=Value:
21=Data from name header:
22=Offset of name:
23=Name:
24=Pos X/Y:
25=Width/Height:
26=Save position
27=Empty/don't display
28=Bottom layer
29=Top layer
30=Flying/display flag:
31=Save flag
32=Reading/changing of flying/display flag not possible. Change routine before doing this.
33=The flag routine was already edited. Rewrite data?
34=Flying/display flag header
35=Change of flag routine cancelled!
36=Flags for scripting
37=Saving of flags cancelled!
40=Info flying position:
41=Open map, flying position
42=Open map
50=Map no:
51=Manage world map number
52=Assign world map number
53=Re-assigning of world map number cancelled.
60=The world map's width could not be read. -> Default to 28
61=Save world map?
62=Reading/changing of top layer position not possible. Change routine before doing this.
63=The positioning routine was already edited. Rewrite data?
64=Cannot save top layer position for this map name.
[RomInfos]
10=ROM name:
11=ROM type:
12=ROM language:
13=ROM version:
[IniAusleser]
10=The position %s could not be found!
12=Found %s ($%6x) position is not a pointer!
14=Could not find valid INI entry %s for this ROM type in AdvanceMap.ini.
[AboutBox]
Title=About
10=About Advance Map
11=Credits:
12=Advance Map version:
13=compiled:
20=Programming:
21=Name:
22=Contact:
23=Homepage:
24=Newest AM:
25=Comment:
30=Translation:
31=Language:
32=Name:
33=Version:
34=Comment:
40=Greetings:
[KontextMenu]
10=Open with Advance Map
20=Opens the ROM with Advance Map
[NameAnzeigen]
Amount=$0F
00=Do not show name
01=Show name
06=Show village names
0D=Show city names
[Kampftyp]
Amount=$08
00=Random
01=Gym style
02=Team Rocket style
04=1. Elite 4
05=2. Elite 4
06=3. Elite 4
07=4. Elite 4
08=Big red POKéBALL
[Hoehle]
Amount=$02
00=Regular
01=Dark (Flash usable)
02=Dark (Flash unusable)
[GehDaten]
Amount=$3C
00=Crossing of different layers
01=Obstacle, not passable
04=Passable, height 0 (=> Surfer)
05=Obstacle, height 0
08=Passable, height 1
09=Obstacle, height 1
0C=Passable, height 2 (=> Default)
0D=Obstacle, height 2
10=Passable, height 3
11=Obstacle, height 3
14=Passable, height 4
15=Obstacle, height 4
18=Passable, height 5
19=Obstacle, height 5
1C=Passable, height 6
1D=Obstacle, height 6
20=Passable, height 7
21=Obstacle, height 7
24=Passable, height 8
25=Obstacle, height 8
28=Passable, height 9
29=Obstacle, height 9
2C=Passable, height 10
2D=Obstacle, height 10
30=Passable, height 11
31=Obstacle, height 11
34=Passable, height 12
35=Obstacle, height 12
38=Passable, height 13
39=Obstacle, height 13
3C=Passable above and below
[Typ]
Amount=$09
01=Village
02=City
03=Route
04=Underground
05=Underwater
08=Inside
09=Secret base
[Wetter]
Amount=$0F
00=In-house weather
01=Sunny weather with clouds in water
02=Regular weather
03=Rainy weather
04=Three snow flakes
05=Rain with thunder storm
06=Steady mist
07=Steady snowing
08=Sand storm
09=Mist from top right corner
0A=Dense bright mist
0B=Cloudy
0C=Underground flashes
0D=Heavy rain with thunder storm
0E=Underwater mist
[Verhalten_RS]
Amount=$FF
02=Grass animation (Pokémon)
03=High grass animation
06=Sand foot prints (with sandheaps)
07=Animation micro grass
A0=Only walking possible
0D=Warp into pyramid. Floor 51
10=Reflection on water with waves trailing
13=Waterfall/with falling down
15=Jump with mach bike, splashing water
16=Reflection on water, splashing water, waves
17=Lasting water on feet
1A=Reflection (Background byte=20)
1B=Water on feet
1C=Water on feet + arrow down
20=Slide like on ice
21=Foot prints
22=Diving animation bubbles
25=Sand foot prints
28=Hero halfway underwater
2A=Diving animation bubbles
30=Person blocked on right
31=Person blocked on left
32=Person blocked upwards
33=Person blocked downwards
34=Person blocked up/down/right
35=Person blocked up/down/left
36=Person blocked down/right
37=Person blocked down/left
38=Person jumps right over block
39=Person jumps left over block
3A=Person jumps up over block
3B=Person jumps down over block
40=Hero walks right
41=Hero walks left
42=Hero walls up
43=Hero walks down
44=Hero slides right
45=Hero slides left
46=Hero slides up
47=Hero slides down
48=Hero slides up/down/left/right
50=Hero runs right
51=Hero runs left
52=Hero runs up
53=Hero runs down
61=Use warp
62=Arrow right => warp left of block
63=Arrow left => warp right of block
64=Arrow up => warp above block
65=Arrow down => warp under block
66=Warp into last-visited building
67=Regular Warp
68=Drown in sand (warp)
69=Use door/warp
6A=PokéCenter escalator up/use warp
6B=PokéCenter escalator down/use warp
6C=Warp to emerge from water => Hero is surfing
6D=Arrow down => warp under block
6E=Warp/person exits upwards
74=Water on feet
75=Water on feet
76=Water on feet
77=Water on feet
BB=Hero jumps twice
BC=Hero turns around and goes back into direction he came from
BE=Person blocked left/right
C0=Person blocked up/down
C1=Person blocked left/right
D0=Slippery clay animation
D1=Only passable with acro bike
D3=Solid block
D4=Solid block
D5=Solid block
D6=Solid block
[Hintergrund_RS]
Amount=$FF
10=Block is covered by Hero
40=Turns into border block
[Verhalten_E]
Amount=$FF
02=Grass animation (Pokémon)
03=High grass animation
06=Sand foot prints (with sandheaps)
07=Animation micro grass
A0=Only walking possible
0D=Warp into pyramid. Floor 51
10=Reflection on water with waves trailing
13=Waterfall/with falling down
15=Jump with mach bike, splashing water
16=Reflection on water, splashing water, waves
17=Lasting water on feet
1A=Reflection (Background byte=20)
1B=Water on feet
1C=Water on feet + arrow down
20=Slide like on ice
21=Foot prints
22=Diving animation bubbles
25=Sand foot prints
28=Hero halfway underwater
2A=Diving animation bubbles
30=Person blocked on right
31=Person blocked on left
32=Person blocked upwards
33=Person blocked downwards
34=Person blocked up/down/right
35=Person blocked up/down/left
36=Person blocked down/right
37=Person blocked down/left
38=Person jumps right over block
39=Person jumps left over block
3A=Person jumps up over block
3B=Person jumps down over block
40=Hero walks right
41=Hero walks left
42=Hero walls up
43=Hero walks down
44=Hero slides right
45=Hero slides left
46=Hero slides up
47=Hero slides down
48=Hero slides up/down/left/right
50=Hero runs right
51=Hero runs left
52=Hero runs up
53=Hero runs down
60=Steps, cave/ use warp
61=Use warp
62=Arrow right => warp left of block
63=Arrow left => warp right of block
64=Arrow up => warp above block
65=Arrow down => warp under block
66=Warp into last-visited building
69=Use door/warp
6A=PokéCenter escalator up/use warp
6B=PokéCenter escalator down/use warp
6C=Warp to emerge from water => Hero is surfing
6D=Arrow down => warp under block
6E=Warp/person exits upwards
70=Teleport warp
74=Water on feet
75=Water on feet
76=Water on feet
77=Water on feet
BA=Animation???
BB=Hero jumps twice
BC=Hero turns around and goes back into direction he came from
BE=Person blocked left/right
C0=Person blocked up/down
C1=Person blocked left/right
D0=Slippery clay animation
D1=Only accessible with acro bike
D3=Solid block
D4=Solid block
D5=Solid block
D6=Solid block
[Hintergrund_E]
Amount=$FF
10=Block is covered by Hero
40=Turns into border block
[Verhalten_FRLG]
Amount=$FF
00=No effect
02=Grass animation (Pokémon)
03=High grass animation
06=Sand foot prints (with sandheaps)
07=Animation micro grass
08=??? [cave interior tiles]
0A=Forces walking and blocks bike
0C=??? [Birth Island asphault and sand]
10=Reflection on water with waves trailing
11=Script for fast-moving current
13=Waterfall (forces player downward)
15=??? Jump with mach bike, splashing water
16=Reflection on water, splashing water, waves
17=Lasting water on feet
1A=Reflection (Background byte=20)
1B=Water on feet
1C=Water on feet + arrow down
20=Slippery ice movement
21=Footprints
22=??? Diving animation bubbles
23=??? [Hall of Fame room floor]
25=??? Sand foot prints
26=Cracking ice (uncracked)
27=Cracking ice (cracked)
28=Hero halfway underwater
2A=Temporarily slow movement (ramps)
2B=??? [Mt. Moon sand]
30=Person blocked on right
31=Person blocked on left
32=Person blocked upwards
33=Person blocked downwards
34=Person blocked up/down/right
35=Person blocked up/down/left
36=Person blocked down/right
37=Person blocked down/left
38=Person jumps right over block
39=Person jumps left over block
3A=Person jumps up over block
3B=Person jumps down over block
40=Hero walks right
41=Hero walks left
42=Hero walls up
43=Hero walks down
44=Hero slides right
45=Hero slides left
46=Hero slides up
47=Hero slides down
48=Hero slides up/down/left/right
50=Hero runs right
51=Hero runs left
52=Hero runs up
53=Hero runs down
54="Move arrows" script (right)
55="Move arrows" script (left)
56="Move arrows" script (up)
57="Move arrows" script (down)
58=Stop "move arrows" script
60=Warp (cave entrance / opened door)
61=Warp (ladder)
62=Arrow right => warp left of block
63=Arrow left => warp right of block
64=Arrow up => warp above block
65=Arrow down => warp under block
66=Warp (hole) into last-visited building
67=Warp (teleporter)
68=??? Drown in sand (warp)
69=Warp (door)
6A=Warp (PokéCenter escalator up)
6B=Warp (PokéCenter escalator down)
6C=Warp (upstairs, to the right)
6D=Warp (upstairs, to the left)
6E=Warp (downstairs, to the right)
6F=Warp (downstairs, to the left)
71=Warp (launch upward -- Union Room)
80=Hero can talk to OW across this tile
81=Script for bookshelf
82=Script for "tons of POKéMON stuff!"
83=PC
84=Activate signpost script with D-Pad
85=World Map
86=Script for TV
87=Script for PokéCenter
88=Script for PokéMart
89=Script for cabinet
8A=Script for a kitchen sink
8B=Script for dresser
8C=Script for a pile of snacks
8D=Script for Wireless Adapter records
8E=Script for Link Battle records
8F=Script for Mystery Gift quiz
90=Script for refridgerator
91=Script for Indigo (goal) (D-pad)
92=Script for Indigo (authority) (D-pad)
93=Script for blueprints
94=Script for painting
95=Script for machine
96=Script for telephone
97=Script for computer
98=Script for advertising poster
99=Script for plate of food
9A=Script for trash can
9B=Script for coffee cup
9C=No effect (used to be window text)
9D=No effect (used to be window text)
9E=Script for flashing light machine
9F=Script for tool display case
A0=Script for "impressive" machine
A1=Script for a video game
A2=Script for obvious burglary signs
A3=Script for a Trainer Tower timer
D0=Downward slope (Cycling Road)
D1=Downward slope with grass animation
[Hintergrund_FRLG]
Amount=$FF
00=No effect
01=Wild Pokémon (Grass)
02=Wild Pokémon (Water)
03=No effect (01, 02 mutually-exclusive)
20=Block is covered by Hero
21=Hero covers block + Wild (Grass)
22=Hero covers block + Wild (Water)
[Bewegung]
Amount=$50
00=No Movement
01=Look around
02=Walk around
03=Walk up and down
04=Walk up and down
05=Walk left and right
06=Walk left and right
07=Look up
08=Look down
09=Look left
0A=Look right
0B=Error: you will be this people after battle
0C=Hidden
0D=Look up and down
0E=Look left and right
0F=Look up and left
10=Look up and right
11=Look down and left
12=Look down and right
13=Look up, down and left
14=Look up, down and right
15=Look up, left and right
16=Look down, left and right
17=Look around counterclockwise
18=Look around clockwise
19=Run up and down
1A=Run up and down
1B=Run left and right
1C=Run left and right
1D=Run up, right, left and down
1E=Run right, left, down and up
1F=Run down, up, right and left
20=Run left, down, up and right
21=Run up, left, right and down
22=Run left, right, down and up
23=Run down, up, left and right
24=Run right, down, up and left
25=Run left, up, down and right
26=Run up, down, right and left
27=Run right, left, up and down
28=Run down, right, left and up
29=Run right, up, down and left
2A=Run up, down, left and right
2B=Run left, right, up and down
2C=Run down, left, right and up
2D=Run around counterclockwise
2E=Run around counterclockwise
2F=Run around counterclockwise
30=Run around counterclockwise
31=Run around counterclockwise
32=Run around clockwise
33=Run around clockwise
34=Run around clockwise
35=Copy Player
36=Mirror Player
37=Mirror Player
38=Mirror Player
39=Tree wall disguise
3A=Rock wall disguise
3B=Mirror player (standing)
3C=Copy player (standing)
3D=Mirror player (standing)
3E=Mirror player (standing)
3F=Hidden
40=Walk on the spot (Down)
41=Walk on the spot (Up)
42=Walk on the spot (Left)
43=Walk on the spot (Right)
44=Jog on the spot (Down)
45=Jog on the spot (Up)
46=Jog on the spot (Left)
47=Jog on the spot (Right)
48=Run on the spot (Down)
49=Run on the spot (Up)
4A=Run on the spot (Left)
4B=Run on the spot (Right)
4C=Hidden
4D=Walk on the spot (Down)
4E=Walk on the spot (Up)
4F=Walk on the spot (Left)
50=Walk on the spot (Right)
[MapScripts]
Amount=$07
00=No scripts
01="setmaptile" script
02=Validates values, loads handler to 0x03000EB0 (playback)
03=On entering map/not on menu close
04=Validates values, loads handler to 0x03000F28
05=On entering map/on menu close
07=On entering map/on menu close
[Season]
Amount=$03
00=Normal
01=Autumn
02=Winter
03=Spring
[TimePeriod]
Amount=$05
00=Night-Morning
01=Morning
02=Day
03=Twilight
04=Evening
05=Evening-Night
[SeasonForm]
Title=Seasons
100=Normal:
101=Autumn:
102=Winter:
103=Spring:
110=SeasonEntry:
120=Create
121=Save
122=Create new Tileset
123=Remove
200=%s is invalid! You can only link Tileset Part1 with Tileset Part1 Tilesets. And Part2 with Part2 Tilesets.
210=Enter Tileset No.
211=For which Tileset do you want to create a SeasonEntry?
220=Do you want to save Seasen Header Change?
300=SeasonHeader
301=Canceled SeasonHeader saveing!
302=There is no Season Header/Routine in this Rom, Save not possible.
303=No Freespace to insert SeasonHeader found/selected.
400=Season Normal Tileset
401=Season Autumn Tileset
402=Season Winter Tileset
403=Season Spring Tileset
[NewTilesetForm]
Title=New Tileset
100=Part 1 Tileset
101=Part 2 Tileset
110=Season:
120=Options:
121=Link Block data with Normal Tileset.
122=Link Behavior data with Normal Tileset.
130=Cancel
131=Create
1310=There is already a specific Season Tileset for this season of the current Tileset.\nDo you want to override it?
[ExtendedWildPokemonForm]
Title=Extended WildPokemon
100=Options:
101=Use Season Handling
102=Use TimePeriod Handling
200=Change Options:
201=Add
202=Remove
300=Add Options:
301=New definition
302=Use other data
303=Linked Season:
304=Linked TimePeriod:
305=Cancel
306=OK
0x02002D40 ? Start of data that apparently controls
the colors of the pixels inside of the
current box (menu, msgbox, etc.).
0x020204B4 12b Dialog box 1
0x020204C0 12b Dialog box 2
0x020204CC 12b Dialog box 3
0x020204D8 12b Dialog box 4
0x020204E4 12b Dialog box 5
0x020204F0 12b Dialog box 6
0x020204FC 12b Dialog box 7
0x02020508 12b Dialog box 8
0x02020514 12b Dialog box 9
0x02020520 12b Dialog box 10
0x0202052C 12b Dialog box 11
0x02020538 12b Dialog box 12
0x02020544 12b Dialog box 13
0x02020550 12b Dialog box 14
0x0202055C 12b Dialog box 15
0x02020568 12b Dialog box 16
0x02020574 12b Dialog box 17
0x02020580 12b Dialog box 18
0x0202058C 12b Dialog box 19
0x02020598 12b Dialog box 20
0x020205A4 12b Dialog box 21
0x020205B0 12b Dialog box 22
0x020205BC 12b Dialog box 23
0x020205C8 12b Dialog box 24
0x020205D4 12b Dialog box 25
0x020205E0 12b Dialog box 26
0x020205EC 12b Dialog box 27
0x020205F8 12b Dialog box 28
0x02020604 12b Dialog box 29
0x02020610 12b Dialog box 30
0x0202061C 12b Dialog box 31
0x02020628 12b Dialog box 32
0x02021CD0 32b String buffer 0
0x02021CF0 20b String buffer 1
0x02021D04 20b String buffer 2
0x02021D18 ? String to be displayed in a message box
0x02022B4B 1b Flags for current battle?
0x02022B4C 4b Flags for current battle? Set to 0x8 by repeattrainerbattle.
0x02023E8A 1b Repeattrainerbattle: Unknown. Loaded if battle type is 9.
0x02024029 1b Repeattrainerbattle: Unknown. Loaded if battle type is 9.
0x0202402C 100b Enemy Pokemon 1
0x02024090 100b Enemy Pokemon 2
0x020240F4 100b Enemy Pokemon 3
0x02024158 100b Enemy Pokemon 4
0x020241BC 100b Enemy Pokemon 5
0x02024220 100b Enemy Pokemon 6
0x02024284 100b Party Pokemon 1
0x020242E8 100b Party Pokemon 2
0x0202434C 100b Party Pokemon 3
0x020243B0 100b Party Pokemon 4
0x02024414 100b Party Pokemon 5
0x02024478 100b Party Pokemon 6
0x02031DB4 1b Previous map bank number
0x02031DB5 1b Previous map number
0x02031DB6 1b Warp through which the player entered the current map?
0x02031DB7 1b Padding?
0x02031DB8 2b X where player entered previous map, or 0xFFFF if unused.
(Only seems to be used when the warp was a door.)
0x02031DBA 2b Y where player entered previous map, or 0xFFFF if unused.
(Only seems to be used when the warp was a door.)
0x02031DBC 1b Current map bank number
0x02031DBD 1b Current map number
0x02031DBE 1b Warp through which the player entered the current map?
0x02031DBF 1b Padding?
0x02031DC0 2b X where player entered current map, or 0xFFFF if unused.
(Only seems to be used when the warp was a door.)
0x02031DC2 2b Y where player entered current map, or 0xFFFF if unused.
(Only seems to be used when the warp was a door.)
0x02031DC3 1b Padding?
0x02031DC4 1b Current2 map bank number
0x02031DC5 1b Current2 map number
0x02031DC6 1b Warp through which the player entered the current2 map?
0x02031DC7 1b Padding?
0x02031DC8 2b X where player entered current2 map, or 0xFFFF if unused.
(Only seems to be used when the warp was a door.)
0x02031DCA 2b Y where player entered current2 map, or 0xFFFF if unused.
(Only seems to be used when the warp was a door.)
0x02031DCC 1b Current3 map bank number
0x02031DCD 1b Current3 map number
0x02031DCE 1b Warp through which the player entered the current3 map?
0x02031DCF 1b Padding?
0x02031DD0 2b X where player entered current3 map, or 0xFFFF if unused.
(Only seems to be used when the warp was a door.)
0x02031DD2 2b Y where player entered current3 map, or 0xFFFF if unused.
(Only seems to be used when the warp was a door.)
0x02031DD4 3b? Warping: Unknown. Always set to 01 01 00 when "warp" and
"warpmuted" finish, but not when "warp3" finishes. While
walking into a door warp, the second byte is 02.
0x02031DD7 1b Warping: Unknown. Seems to always be 0x03.
0x02031DD8 1b Warping: Unknown. If non-zero, "warp" fails to play a
sound.
0x02031DDA 2b? Unknown. Changes every time you warp.
0x02036E38 36b OW 00 (player)
0x02036E5C 36b OW 01
0x02036E80 36b OW 02
0x02036EA4 36b OW 03
0x02036EC8 36b OW 04
0x02036EEC 36b OW 05
0x02036F10 36b OW 06
0x02036F34 36b OW 07
0x02036F58 36b OW 08
0x02036F7C 36b OW 09
0x02036FA0 36b OW 10
0x02036FC4 36b OW 11
0x02036FE8 36b OW 12
0x0203700C 36b OW 13
0x02037030 36b OW 14
0x02037054 36b OW 15
0x02037078 1b Three least-significant bits control player speed.
0x02037079 1b Something to do with switching into biking OW?
0x0203707A 1b Is a D-pad button pressed (player attempting to move)?
0x0203707B 1b Is the player actually moving?
0x0203707C 1b Unknown.
0x0203707D 1b Person number to be controlled by the D-pad.
0x0203707E 1b If set to 0x01, all OW movement is locked. (lockall flag?)
0x020370B8 2b Script variable 0x8000
0x020370BA 2b Script variable 0x8001
0x020370BC 2b Script variable 0x8002
0x020370BE 2b Script variable 0x8003
0x020370C0 2b Script variable 0x8004
0x020370C2 2b Script variable 0x8005
0x020370C4 2b Script variable 0x8006
0x020370C6 2b Script variable 0x8007
0x020370C8 2b Script variable 0x8008
0x020370CA 2b Script variable 0x8009
0x020370CC 2b Script variable 0x800A
0x020370CE 2b Script variable 0x800B
0x020370D0 2b Script variable 0x800D // there is no var 0x800C?
0x020370D2 2b Script variable 0x800E // overwritten by "trainerbattle"?
0x020370D4 2b Script variable 0x800F
0x020386AC 2b Trainerbattle: Battle type.
0x020386AE 2b Trainerbattle: Trainer flag.
0x020386B0 2b Trainerbattle: Argument 3.
Some battle types save it into var 0x800E.
0x020386B2 2b Unknown.
0x020386B4 4b Trainerbattle: Arg4 (types 1, 2, 4, 6, 7, 8) or null (others).
0x020386B8 4b Trainerbattle: A4 (0, 3, 5), A5 (1, 2, 4, 6, 7, 8, 9), or null.
0x020386BC 4b Trainerbattle: Argument 5 (type 9) or null (others).
0x020386C0 4b Trainerbattle: Argument 6 (types 6, 8) or null (others).
0x020386C4 4b Trainerbattle: Offset of next script command byte.
0x020386C8 4b Trainerbattle: A6 (types 1, 2), A7 (types 6, 8), or null.
0x020386CC 2b Trainerbattle: Unknown.
0x0203AAA8 4b Unknown. Written to by the "setbyte" command.
0x0203ADFA 1b Unknown.
If equal to 0x2, "warp" fails to play a sound.
If lower than 0x04, "setworldmapflag" fails to set
the specified flag.
If equal to 1, trainerbattle types 5 and 7 will
clear this byte and then some sections of RAM.
0x0203ADFC 4b Unknown. A pointer used by trainerbattle types 5 and 7.
0x0203AE04 4b? Unknown. Cleared by "trainerbattle" (types 5, 7) if the byte
at 0x0203ADFA is 0x01.
0x0203AE08 4b? Unknown. Used and cleared by "trainerbattle" (types 5, 7)
if the byte at 0x0203ADFA is 0x01.
0x0203AE8C 4b? Unknown. Cleared by "trainerbattle" (types 5, 7) if the byte
at 0x0203ADFA is 0x01.
0x0203AE98 ? Unknown.
0x0203AF98 ? Unknown. A pointer used by trainerbattle types 5 and 7.
0x0203B01E 2b Unknown. Read by a reused ASM routine in script commands'
code.
0x0203B0EE 1b Help: Player's opened it before? Y / N, 0x00 / 0x01.
0x0203B1A0 14291b Help: unknown. // to 0x0203E973
0x0203E973 2050b Help: unknown. Cleared only when opening help for the 1st
time. // to 0x0203F175
0x0203F176 1b Help: start of GUI state data.
0x0203F194 1b Help: number of menu options.
0x0203F195 1b Help: Unknown.
0x0203F196 1b Help: number of menu options visible on-screen.
0x0203F199 1b Help: Unknown. Apparently 0x04 for top-level menu or 0x15
for submenus.
0x0203F19C 1b Help: scroll position in a menu.
0x0203F19D 1b Help: cursor position in a menu (relative to scroll).
0x0203F19E 1b Help: unknown. Apparently 0x00 for top-level menu, 0x03
for submenus, and 0x06 for static pages.
0x0203F1AC ?b Help: start of menu data. String pointer (not aligned),
followed by menu item number. List is terminated with
0xFEFFFFFF
0x0203E000 4096b Unused RAM found by JPAN (is used by D/N patch)
0x0203F3C0 1856b RAM used in JPAN's Hacked Engine.
0x03000EA8 1b Unknown. Set by (defunct?) "choosecontestpkmn" command, and
also set to 0x1 by "repeattrainerbattle".
0x03000EB0 74b Script engine RAM
0x03000F9C 1b 0x01 if the screen is fading, 0x00 otherwise.
0x03000FC0 4b Music for the current map (truncated to 2b when read)
0x03000FC4 1b Warping: Unknown.
0x03005000 4b Current PRNG seed
0x03005008 4b Pointer to a DMA-protected save block (map data)
0x0300500C 4b Pointer to a DMA-protected save block (personal data)
0x03005010 4b Pointer to a DMA-protected save block (box data)
0x03005074 1b Trainerbattle: number of the OW we are battling, or 0x10 if
invalid. This offset is used by special 13A, which in turn
is called by some of the scripts (yes, scripts) that
trainerbattle calls.
0x03005E88 1b? Unknown. Cleared by "trainerbattle" (types 5, 7) if the byte
at 0x0203ADFA is 0x01.
0x03007324 2b Warping: Unknown. Related to the fade timer.
0x03007326 2b Warping: Unknown. Related to the fade timer.
0x03007328 2b Warping: Timer used for fades. Duration varies with type
of map being entered.
[0x03005008] + 0x0000 2b Camera X-position
[0x03005008] + 0x0002 2b Camera Y-position
[0x03005008] + 0x0004 1b Current map.
[0x03005008] + 0x0005 1b Current map bank.
-------------------------------------------------------------------------
[0x0300500C] + 0x0000 8b Character name including terminator, padded to end with 0xFFs
[0x0300500C] + 0x0008 1b Gender (00/01 m/f)
[0x0300500C] + 0x0009 1b Unknown
[0x0300500C] + 0x000A 2b Trainer ID
[0x0300500C] + 0x000C 2b Secret ID (halfword)
[0x0300500C] + 0x000E 2b Playtime (hours)
[0x0300500C] + 0x0010 1b Playtime (minutes)
[0x0300500C] + 0x0011 1b Playtime (seconds)
[0x0300500C] + 0x0012 1b Playtime (frames)
[0x0300500C] + 0x0013 1b Unknown
[0x0300500C] + 0x0014 2b Options // this and above thanks to hackmew's asm tut pt. 1
...
[0x0300500C] + 0x001A 1b If 0xDA, then National Dex is enabled.
...
[0x0300500C] + 0x0F20 4b Unknown (encryption key for hidden vars)
[0x0300500C] + 0x0F24 End (byte after)