diff --git a/SOURCE/celebieventbattle - jpn/00-C000.asm b/SOURCE/celebieventbattle - jpn/00-C000.asm new file mode 100644 index 0000000..dad40b8 --- /dev/null +++ b/SOURCE/celebieventbattle - jpn/00-C000.asm @@ -0,0 +1,174 @@ +INCLUDE "../macros.asm" +SECTION "eonticket",ROM0[$100] +jp Start +db $00 + +TicketSprite: ; 104 + INCBIN "icon.4bpp" +TicketPalette: ; 1604 + INCBIN "normal.gbapal" + +Prologue: + INCBIN "prologue-{REGION_NAME}.bin" + +DataPacket: ; 164a + INCBIN "eonticket-{REGION_NAME}.mev" + db 0,0,0 ; padding + +INCLUDE "../common/mem_struct.asm" + +SpriteData: + dw TicketSprite,TicketPalette + db $08,$08,$01,$01,$01,$01,$01 ; + +Instructions1: ; 1921 + db "アゲト\n" + db "\n" + db "\n" + db "\0" + +Instructions2: ; 199d + db "\n" + db "\n" + db "\n" + db "\0" + +DeliveryInProcess: ; 1a0d + db "\0" + +TicketDelivered: ; 1a2f + db "\n" + db "\n" + db "\n" + db "\0" + +; this function is subtly different than the one +; on the Battle e cards, for no apparent reason +TransferData: + LD_IND_HL SomeVar1 + push de + ld hl, $bbbb + LD_IND_HL Space_1 + EX_DE_HL + LD_IND_HL Space_2 + API_0C7 Space_1 + + wait $01 + pop hl + inc hl + ld b, $01 + call WordShiftRight + + LD_IND_HL SomeVar2 +.asm_1aa1 + LD_HL_IND SomeVar2 + ld a, l + or h + ret z + + ld hl, $8888 + LD_IND_HL Space_1 + ld e, $01 + +.asm_1aaf + ld a, e + cp $08 + jr nc, .asm_1ad9 + + push de + LD_HL_IND SomeVar1 + ld c, [hl] + inc hl + ld b, [hl] + inc hl + LD_IND_HL SomeVar1 + ld l, e + ld h, $00 + add hl, hl + ld de, Space_1 + add hl, de + ld [hl], c + inc hl + ld [hl], b + pop de + LD_HL_IND SomeVar2 + dec hl + LD_IND_HL SomeVar2 + ld a, l + or h + jr z, .asm_1ad9 + + inc e + jr .asm_1aaf + +.asm_1ad9 + API_0C7 Space_1 + wait $01 + jr .asm_1aa1 + +Start: ; 1ae2 + API_121 + + CreateCustomSprite SpriteHandlePtr, $80, SpriteData + SetSpritePos SpriteHandlePtr, 120, 64 + SpriteHide SpriteHandlePtr + + CreateRegion RegionHandlePtr, 30, 6, 0, 14, 0, 4 + + ld h, a + ld l, $00 + SetTextSize + + API_09B RegionHandlePtr, $0102 + SetTextColor RegionHandlePtr, 2, 0 + SetRegionColor RegionHandlePtr, 0 + SetBackgroundPalette 16, $0040, TicketPalette + + FadeIn 16 + wait 16 + + API $0C6 + + DrawText RegionHandlePtr, Instructions1, 8, 4 + API $08D + +INCLUDE "../common/wait_for_link.asm" + + SpriteShow SpriteHandlePtr + + DrawText RegionHandlePtr, Instructions2, 8, 4 + API $08D + + ld a, b + nop + +UNKNOWN_VALUE EQU $0078 +INCLUDE "../common/wait_for_ready.asm" + + DrawText RegionHandlePtr, DeliveryInProcess, 8, 4 + +DATA_TRANSFER_LENGTH EQU 6144 +INCLUDE "../common/transfer_data.asm" + ld hl, $5fff + LD_IND_HL Space_1 + API_0C7 Space_1 + + wait $80 + + SpriteHide SpriteHandlePtr + + DrawText RegionHandlePtr, TicketDelivered, 8, 4 + + API $08D + ld c, a + nop + +INCLUDE "../common/wrap_up.asm" + +INCLUDE "../common/word_shift_right.asm" + +SomeVar1: ; 1CA2 + db $FF,0 ; mark EOF +RegionHandlePtr: db 0 ; 1CA4 +SpriteHandlePtr: db 0,0 ; 1CA5 +SomeVar2: db 0,0 ; 1CA7 \ No newline at end of file diff --git a/SOURCE/celebieventbattle - jpn/Makefile b/SOURCE/celebieventbattle - jpn/Makefile new file mode 100644 index 0000000..11d6e49 --- /dev/null +++ b/SOURCE/celebieventbattle - jpn/Makefile @@ -0,0 +1,40 @@ +all: 00-C000-EN.raw verify +verify: + md5sum --check eonticket.md5 + + +eonticket-%.tx: eonticket.asm + python ../scripts/regionalize.py $< $@ $* $* +eonticket-%.o: eonticket-%.tx + ./rgbasm -o $@ $< +eonticket-%.gbc: eonticket-%.o + ./rgblink -o $@ $< +eonticket-%.bin: eonticket-%.gbc + python ../scripts/stripgbc.py $< $@ +eonticket-%.mev: eonticket-%.bin + python ../scripts/checksum.py $< $@ + +prologue-%.tx: prologue.asm + python ../scripts/regionalize.py $< $@ $* $* +prologue-%.o: prologue-%.tx + ./rgbasm -o $@ $< +prologue-%.gbc: prologue-%.o + ./rgblink -o $@ $< +prologue-%.bin: prologue-%.gbc + python ../scripts/stripgbc.py $< $@ + +00-C000-%.tx: 00-C000.asm eonticket-%.mev prologue-%.bin + python ../scripts/ereadertext.py $< $@ $* +00-C000-%.o: 00-C000-%.tx + ./rgbasm -o $@ $< +00-C000-%.gbc: 00-C000-%.o + ./rgblink -o $@ $< +00-C000-%.z80: 00-C000-%.gbc + python ../scripts/stripgbc.py $< $@ +00-C000-%.vpk: 00-C000-%.z80 + ./nevpk -c -i $< -o $@ +00-C000-%.raw: 00-C000-%.vpk + ./nedcmake -i $< -o $@ -type 1 -region 1 + +clean: + rm -f *.tx *.o *.gbc *.z80 *.bin *.mev *.vpk *.raw \ No newline at end of file diff --git a/SOURCE/celebieventbattle - jpn/celebi.4bpp b/SOURCE/celebieventbattle - jpn/celebi.4bpp new file mode 100644 index 0000000..82db62f Binary files /dev/null and b/SOURCE/celebieventbattle - jpn/celebi.4bpp differ diff --git a/SOURCE/celebieventbattle - jpn/eonticket.asm b/SOURCE/celebieventbattle - jpn/eonticket.asm new file mode 100644 index 0000000..51d8646 --- /dev/null +++ b/SOURCE/celebieventbattle - jpn/eonticket.asm @@ -0,0 +1,200 @@ +INCLUDE "../macros.asm" +INCLUDE "../constants/items.asm" +INCLUDE "../constants/jpscriptcommandscelebibattleunlocked.asm" + + Mystery_Event + + db CHECKSUM_CRC + dd 0 ; checksum placeholder + GBAPTR DataStart + GBAPTR DataEnd + +DataStart: + db IN_GAME_SCRIPT + db 24,11 ; petalburg gym + db 2 ; norman + GBAPTR NormanScriptStart + GBAPTR NormanScriptEnd + + + db PRELOAD_SCRIPT + GBAPTR PreloadScriptStart + + db END_OF_CHUNKS + + +GoSeeYourFather: + Text_EN "トウカのもりで まばゆい ひかりが\n" + Text_EN "もくげき されました!\p" + Text_EN "それいらい めずらしい ポケモンが\n" + Text_EN "ほそいきに いると うわさ されています。@" + +NormanScriptStart: + setvirtualaddress NormanScriptStart + + virtualmsgbox Poor + waitmsg + db $6E, $17, $8 + release + + compare LASTRESULT, 0 + + virtualgotoif 1, Changemind + + virtualgotoif 5, CelebiEvent + + + TEMPCELEBI + STRUCTURETABLEG + STRUCTURETABLEA + STRUCTURETABLEE + STRUCTURETABLEM + LOADSTOREPARTYAMOUNT + COLORNG + MEMCPYSETUP + SUBSTRUCTURECPY + CHECKSUM + ENCRYPT + CALCSTATS + CAPTURECELEBI + CELEBICOPY1 + SRFIX + + + +CelebiEvent: + db $43 + + compare LASTRESULT, 5 + + virtualgotoif 2, NoRoom + + copyvar $800B, $800D + + callasm $02028C11 + + callasm $02028CF1 + + callasm $02028D01 + + callasm $02028D35 + + callasm $02028D4D + + special $13D + + sound $13 + + waitstate + + playmoncry $FB, $0 + + virtualmsgbox Celebi + + waitmsg + + waitmoncry + + waitkeypress + + release + + special $138 + + playsong $0166, $0 + + waitmoncry + + waitstate + + db $43 + + comparevar LASTRESULT, $800B + + virtualgotoif 3, FlewAway + + virtualgotoif 2, Catch + + + + +Catch: + callasm $02028D11 + killscript + + + +NoRoom: + virtualmsgbox NoSpace + waitmsg + waitkeypress + release + end + +Changemind: + virtualmsgbox Change + waitmsg + waitkeypress + release + end + + +NoRoomToGive: + virtualloadpointer PartyFull + setbyte 3 + killscript + +FlewAway: + db $97, $01 + db $97, $00 + virtualmsgbox Flew + waitmsg + waitkeypress + release + killscript + +PartyFull: + Text_EN "てもちポケモンの あきを つくって\n" + Text_EN "ふしぎなできごとを たいけん しましょう!@" +Poor: + Text_EN "ポケモンが ゴソゴソしている!\n" + Text_EN "しらべてみますか?@" +Change: + Text_EN "つぎの きかいに しよう。@" +Flew: + Text_EN "ゴソゴソ していたのは セレビィ だった!\n" + Text_EN "セレビィは とびさって いった。@" +NoSpace: + Text_EN "てもちポケモンが いっぱいです!@" + +Celebi: + Text_EN "るるらららっ!@" + + + +NormanScriptEnd: + + +PreloadScriptStart: + setvirtualaddress PreloadScriptStart + + + db $43 + + compare LASTRESULT, 5 + + virtualgotoif 2, NoRoomToGive + + virtualloadpointer GoSeeYourFather + + setbyte 2 + + end + + + + + +DataEnd: + EOF + \ No newline at end of file diff --git a/SOURCE/celebieventbattle - jpn/eonticket.md5 b/SOURCE/celebieventbattle - jpn/eonticket.md5 new file mode 100644 index 0000000..cb426e5 --- /dev/null +++ b/SOURCE/celebieventbattle - jpn/eonticket.md5 @@ -0,0 +1 @@ +901180e44767e19e5dc9d5df881fe123 00-C000-EN.z80 diff --git a/SOURCE/celebieventbattle - jpn/icon.4bpp b/SOURCE/celebieventbattle - jpn/icon.4bpp new file mode 100644 index 0000000..6ad72b3 Binary files /dev/null and b/SOURCE/celebieventbattle - jpn/icon.4bpp differ diff --git a/SOURCE/celebieventbattle - jpn/nedclib.dll b/SOURCE/celebieventbattle - jpn/nedclib.dll new file mode 100644 index 0000000..8a71160 Binary files /dev/null and b/SOURCE/celebieventbattle - jpn/nedclib.dll differ diff --git a/SOURCE/celebieventbattle - jpn/nedcmake b/SOURCE/celebieventbattle - jpn/nedcmake new file mode 100644 index 0000000..45b06a3 Binary files /dev/null and b/SOURCE/celebieventbattle - jpn/nedcmake differ diff --git a/SOURCE/celebieventbattle - jpn/nevpk b/SOURCE/celebieventbattle - jpn/nevpk new file mode 100644 index 0000000..12cf788 Binary files /dev/null and b/SOURCE/celebieventbattle - jpn/nevpk differ diff --git a/SOURCE/celebieventbattle - jpn/normal.gbapal b/SOURCE/celebieventbattle - jpn/normal.gbapal new file mode 100644 index 0000000..f633d0c --- /dev/null +++ b/SOURCE/celebieventbattle - jpn/normal.gbapal @@ -0,0 +1 @@ +9.5&BNWN-*!sB1dq)kc \ No newline at end of file diff --git a/SOURCE/celebieventbattle - jpn/normal.pal b/SOURCE/celebieventbattle - jpn/normal.pal new file mode 100644 index 0000000..d4f2b4f --- /dev/null +++ b/SOURCE/celebieventbattle - jpn/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 172 +255 255 255 +238 255 213 +197 238 164 +123 213 115 +65 189 65 +32 139 32 +255 255 255 +172 238 255 +115 189 230 +57 139 205 +0 98 180 +255 0 255 +180 180 189 +106 115 131 +16 16 16 diff --git a/SOURCE/celebieventbattle - jpn/prologue.asm b/SOURCE/celebieventbattle - jpn/prologue.asm new file mode 100644 index 0000000..74cb6f3 --- /dev/null +++ b/SOURCE/celebieventbattle - jpn/prologue.asm @@ -0,0 +1,15 @@ +INCLUDE "../macros.asm" +SECTION "prologue", ROM0[$100] + + db "GameFreak inc." + db 0,0,0,0,0,0 + dd 0 + Text "e reader" ; no string terminator + db 0,0,0,0,$01,$55 + db 0,0,0,0 + db REGION_JP + db 0 + db "GameFreak inc." + db 0,0 + + EOF \ No newline at end of file diff --git a/SOURCE/celebieventbattle - jpn/rgbasm b/SOURCE/celebieventbattle - jpn/rgbasm new file mode 100644 index 0000000..deb0f72 Binary files /dev/null and b/SOURCE/celebieventbattle - jpn/rgbasm differ diff --git a/SOURCE/celebieventbattle - jpn/rgblink b/SOURCE/celebieventbattle - jpn/rgblink new file mode 100644 index 0000000..c38372b Binary files /dev/null and b/SOURCE/celebieventbattle - jpn/rgblink differ