mirror of
https://github.com/Artrios/pokecarde.git
synced 2026-04-26 00:27:25 -05:00
Add German Eon Ticket script from debug version
This commit is contained in:
parent
b9edbfa98b
commit
17853b8026
|
|
@ -3,4 +3,4 @@ Pokémon Card e
|
|||
|
||||
This is a disassembly of the e-Reader cards released for Pokémon Ruby and Sapphire. Currently, it includes the English release of the Pokémon Battle e series, and the Eon Ticket.
|
||||
|
||||
RGBDS is needed to compile the Z80 binary for each card. To build a working e-Reader card, you will need to compress the binary with nevpk and add the card metadata with nedcenc—both tools are from the nedclib package, which is unfortunately Windows-only.
|
||||
RGBDS is needed to compile the Z80 binary for each card. To build a working e-Reader card, you will need to compress the binary and add the card metadata using nedcmake from the nedclib package, which is unfortunately Windows-only.
|
||||
3
eonticket/00-C000-de.asm
Normal file
3
eonticket/00-C000-de.asm
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
INCLUDE "../macros.asm"
|
||||
REGION EQU REGION_DE
|
||||
INCLUDE "00-C000.tx"
|
||||
3
eonticket/00-C000-en.asm
Normal file
3
eonticket/00-C000-en.asm
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
INCLUDE "../macros.asm"
|
||||
REGION EQU REGION_EN
|
||||
INCLUDE "00-C000.tx"
|
||||
|
|
@ -1,5 +1,3 @@
|
|||
INCLUDE "../macros.asm"
|
||||
|
||||
SECTION "eonticket",ROM0[$100]
|
||||
jp Start
|
||||
db $00
|
||||
|
|
@ -16,15 +14,19 @@ Prologue:
|
|||
Text "e reader" ; no string terminator
|
||||
db 0,0,0,0,$01,$55
|
||||
db 0,0,0,0
|
||||
db REGION_EN
|
||||
db REGION
|
||||
db 0
|
||||
db "GameFreak inc."
|
||||
db 0,0
|
||||
|
||||
DataPacket: ; 164a
|
||||
Insert_Header REGION_EN
|
||||
Insert_Header REGION
|
||||
db MULTIPLE_DATA
|
||||
INCBIN "eonticket.bin"
|
||||
IF REGION == REGION_DE
|
||||
INCBIN "eonticket-de.bin"
|
||||
ELSE
|
||||
INCBIN "eonticket-en.bin"
|
||||
ENDC
|
||||
db 0,0,0 ; padding
|
||||
|
||||
INCLUDE "../common/mem_struct.asm"
|
||||
|
|
@ -142,7 +144,6 @@ Start: ; 1ae2
|
|||
API $0C6
|
||||
|
||||
DrawText RegionHandlePtr, Instructions1, 8, 4
|
||||
|
||||
API $08D
|
||||
|
||||
INCLUDE "../common/wait_for_link.asm"
|
||||
|
|
|
|||
|
|
@ -1,23 +1,30 @@
|
|||
all: 00-C000.z80
|
||||
all: 00-C000-de.z80 00-C000-en.z80
|
||||
|
||||
|
||||
eonticket-%.tx: eonticket.asm
|
||||
python ../scripts/charmap.py $< $@
|
||||
%.tx: %.asm
|
||||
python ../scripts/charmap.py $< $@
|
||||
|
||||
00-C000.o: 00-C000.tx eonticket.bin
|
||||
00-C000-%.o: 00-C000-%.asm 00-C000.tx eonticket-%.bin
|
||||
rgbasm -o $@ $<
|
||||
eonticket.o: eonticket.tx
|
||||
eonticket-%.o: eonticket-%.asm eonticket-%.tx
|
||||
rgbasm -o $@ $<
|
||||
|
||||
%.gbc: %.o
|
||||
rgblink -o $@ $<
|
||||
|
||||
# hack to use RGBDS for something other than its intended purpose
|
||||
00-C000.z80: 00-C000.gbc
|
||||
00-C000-de.z80: 00-C000-de.gbc
|
||||
dd if=$< of=$@ bs=1 skip=256 count=7134
|
||||
00-C000-en.z80: 00-C000-en.gbc
|
||||
dd if=$< of=$@ bs=1 skip=256 count=7074
|
||||
# cmp -b ../z80/$@ $@
|
||||
eonticket.z80: eonticket.gbc
|
||||
eonticket-de.z80: eonticket-de.gbc
|
||||
dd if=$< of=$@ bs=1 skip=256 count=691
|
||||
eonticket-en.z80: eonticket-en.gbc
|
||||
dd if=$< of=$@ bs=1 skip=256 count=631
|
||||
eonticket.bin: eonticket.z80
|
||||
eonticket-%.bin: eonticket-%.z80
|
||||
python ../scripts/scriptchecksum.py $< $@
|
||||
|
||||
clean:
|
||||
|
|
|
|||
3
eonticket/eonticket-de.asm
Normal file
3
eonticket/eonticket-de.asm
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
INCLUDE "../macros.asm"
|
||||
REGION EQU REGION_DE
|
||||
INCLUDE "eonticket-de.tx"
|
||||
3
eonticket/eonticket-en.asm
Normal file
3
eonticket/eonticket-en.asm
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
INCLUDE "../macros.asm"
|
||||
REGION EQU REGION_EN
|
||||
INCLUDE "eonticket-en.tx"
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
INCLUDE "../macros.asm"
|
||||
INCLUDE "../constants/items.asm"
|
||||
INCLUDE "../constants/scriptcommands.asm"
|
||||
ScriptBaseAddress EQU ($100 - $1E)
|
||||
|
|
@ -15,7 +14,11 @@ SECTION "packet",ROM0[$100]
|
|||
|
||||
db MIX_RECORDS_ITEM
|
||||
db 1 ; ???
|
||||
db 30 ; distribution limit
|
||||
IF REGION == REGION_DE
|
||||
db 5 ; distribution limit
|
||||
ELSE
|
||||
db 30 ; distribution limit for English release
|
||||
ENDC
|
||||
dw EON_TICKET
|
||||
|
||||
|
||||
|
|
@ -25,8 +28,11 @@ SECTION "packet",ROM0[$100]
|
|||
|
||||
db VARIABLE_LENGTH
|
||||
GoSeeYourFather:
|
||||
Text "Go see your father at the GYM in\n"
|
||||
Text "PETALBURG.@"
|
||||
Text_DE "Lauf und besuche deinen Vater in der\n"
|
||||
Text_DE "ARENA von BLÜTENBURG CITY.@"
|
||||
|
||||
Text_EN "Go see your father at the GYM in\n"
|
||||
Text_EN "PETALBURG.@"
|
||||
|
||||
NormanScriptStart:
|
||||
setvirtualaddress NormanScriptStart
|
||||
|
|
@ -68,23 +74,38 @@ NoRoomToGive:
|
|||
release
|
||||
end
|
||||
|
||||
; whoever wrote this text obviously wasn’t
|
||||
; familiar with R/S’s character set…
|
||||
GoodToSeeYou:
|
||||
Text "DAD“\v1! Good to see you!\n"
|
||||
Text "There’s a letter here for you,\v1.@"
|
||||
AppearsToBeAFerryTicket:
|
||||
Text "DAD“It appears to be a ferry TICKET.\n"
|
||||
Text "but I’ve never seen one like it before.\l"
|
||||
Text "You should visit LILYCOVE and ask\n"
|
||||
Text "about it there.@"
|
||||
KeyItemsPocketIsFull:
|
||||
Text "DAD“\v1’ the KEY ITEMS POCKET in\n"
|
||||
Text "your BAG is full.\p"
|
||||
Text "Move some key items for safekeeping\n"
|
||||
Text "in your PC’ then come see me.@"
|
||||
NormanScriptEnd:
|
||||
Text_DE "VATER: \v1! Schön, dich zu sehen!\n"
|
||||
Text_DE "Hier ist ein Brief für dich, \v1.@"
|
||||
|
||||
Text_EN "DAD“\v1! Good to see you!\n"
|
||||
Text_EN "There’s a letter here for you,\v1.@"
|
||||
|
||||
AppearsToBeAFerryTicket:
|
||||
Text_DE "VATER: Ich bin mir nicht sicher, es\n"
|
||||
Text_DE "könnte ein TICKET für eine Fähre sein.\p"
|
||||
Text_DE "Du solltest nach SEEGRASULB CITY gehen\n"
|
||||
Text_DE "und dich dort genauer erkundigen.@"
|
||||
|
||||
Text_EN "DAD“It appears to be a ferry TICKET.\n"
|
||||
Text_EN "but I’ve never seen one like it before.\l"
|
||||
Text_EN "You should visit LILYCOVE and ask\n"
|
||||
Text_EN "about it there.@"
|
||||
|
||||
KeyItemsPocketIsFull:
|
||||
Text_DE "VATER: \v1, die BASIS-TASCHE\n"
|
||||
Text_DE "deines BEUTELS ist voll.\p"
|
||||
Text_DE "Lagere einige deiner Basis-Items in\n"
|
||||
Text_DE "deinem PC und komm dann wieder.@"
|
||||
|
||||
Text_EN "DAD“\v1’ the KEY ITEMS POCKET in\n"
|
||||
Text_EN "your BAG is full.\p"
|
||||
Text_EN "Move some key items for safekeeping\n"
|
||||
Text_EN "in your PC’ then come see me.@"
|
||||
|
||||
; whoever wrote the English text obviously wasn’t
|
||||
; familiar with R/S’s character set…
|
||||
NormanScriptEnd:
|
||||
|
||||
PreloadScriptStart:
|
||||
setvirtualaddress PreloadScriptStart
|
||||
|
|
@ -116,9 +137,14 @@ NoRoomForEvent:
|
|||
setbyte 3
|
||||
end
|
||||
|
||||
; …or with the English language.
|
||||
MayBeplayedOnlyOnce:
|
||||
Text "This EVENT may beplayed only once.@"
|
||||
Text_DE "Dieses GESCHEHEN kann nur einmal\n"
|
||||
Text_DE "gespielt werden.@"
|
||||
|
||||
; …or with the English language.
|
||||
Text_EN "This EVENT may beplayed only once.@"
|
||||
|
||||
BagsKeyItemsPocketFull:
|
||||
Text "Your BAG’s KEY ITEMS POCKET is full.@"
|
||||
Text_DE "Deine BASIS-TASCHE ist voll.@"
|
||||
|
||||
Text_EN "Your BAG’s KEY ITEMS POCKET is full.@"
|
||||
|
|
@ -83,6 +83,10 @@ Insert_Header: MACRO
|
|||
|
||||
REGION_JP EQU $01
|
||||
REGION_EN EQU $02
|
||||
REGION_FR EQU $03 ; ?
|
||||
REGION_IT EQU $04 ; ?
|
||||
REGION_DE EQU $05 ; !
|
||||
REGION_ES EQU $07 ; ¿?
|
||||
|
||||
; types of card data
|
||||
VARIABLE_LENGTH EQU $02
|
||||
|
|
|
|||
|
|
@ -416,6 +416,10 @@ chars = {
|
|||
':': '\xF0',
|
||||
}
|
||||
|
||||
region = ""
|
||||
if sys.argv[2][-6] == '-':
|
||||
region = sys.argv[2][-5:-3].upper()
|
||||
|
||||
out = open(sys.argv[2], 'w')
|
||||
with open(sys.argv[1], 'r') as f:
|
||||
for asm in f:
|
||||
|
|
@ -429,7 +433,11 @@ with open(sys.argv[1], 'r') as f:
|
|||
asms[0] = asms[0].replace("Text", "db")
|
||||
elif asms[0].strip() == "Tag_Text":
|
||||
pad_length = 45
|
||||
elif asms[0].find("OT_Name") == -1 and asms[0].find("Nickname") == -1 and asms[0].find("Insert_Prologue") == -1 and asms[0].find("Berry") == -1 and asms[0].find("Tag_Text") == -1:
|
||||
elif asms[0].strip() == ("Text_" + region):
|
||||
asms[0] = asms[0].replace("Text_" + region, "db")
|
||||
elif asms[0].find("Text_") != -1:
|
||||
asms[0] = ";"
|
||||
elif asms[0].find("OT_Name") == -1 and asms[0].find("Nickname") == -1 and asms[0].find("Insert_Prologue") == -1 and asms[0].find("Berry") == -1:
|
||||
print_macro = False
|
||||
|
||||
if print_macro:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user