converts arthur's arsenal to <SLP menu

This commit is contained in:
duncathan 2021-03-26 02:03:09 -06:00
parent 2bcd0a40aa
commit cda8d3b568
8 changed files with 110 additions and 24 deletions

View file

@ -0,0 +1,5 @@
0x41D9C6
A1 09 DF 49 00 90
0x41DA1F
C7 45 F8 00 00 00 00 C7 45 FC 00 00 00 00

View file

@ -0,0 +1,56 @@
Author: Enlight
DUNC NOTE: flag range changed from 4008 through 4015 to 2888 through 2895 in rando
also: skip the second patch it's not needed and also bugged
Instructions:
1. Backup your .exe, then patch your .exe with the patches in patches.txt.
2. Learn how to use the hack and setup your teleporters with the demonstration mod and the information below.
3. Make a similar system in your mod.
Important Files:
Patches.txt - The first patch allows you to edit where teleporter menus draw. The 2nd one just fixes a graphic bug with slots 6 and 7.
OOBFlagGen.jar - What helps you generate the flags for the top framerects. Input address 49DF09 and the value will be how many pixels down you want
the mod to START drawing the teleporter icons IN HEXADECIMAL. The rows are IN DECIMAL 0, 16, 32, 48, 64... etc. In HEXADECIMAL it's 0, 10, 20, 30 etc.
Keep it in bytes. You will then copy the flags it generates (should be just over flag 4000) to use in your level TSC (explained below)
StageSelect.tsc - Example of how you can setup having different location names for different teleporters.
This is just normal TSC using flags. The game is hardcoded to run events 1001-1007 for the slots, but flagjumps can change what it says.
The TSC file for Arthur's House (Pens1.tsc) - Example of how to setup everything else for the teleporters (explained below)
~~~~~
Please open the demonstration mod in a CS editor of you choice to see how the tsc all comes together.
The most important events though are the ones for displaying the teleporter.
One of these events is shown below with comments.
#0100
<KEY
<FL-4008<FL-4009<FL-4010<FL-4011<FL-4012<FL-4013<FL-4014<FL-4015
// What you generate with OOBFlagGen, tells the game the top framerect of where to draw the teleporter images.
<FL+5001<FL-5002<FL-5003<FL-5004
// These are used like normal flags, telling StageSelect.tsc what to call the teleporter options.
<PS+0001:0110<PS+0002:0111<PS+0003:0112<PS+0004:0113
// These are overwriting the teleporter slots to run events 110-113, this is what's saved to profile.dat
but you can (probably) ignore that and just overwrite it every time before you display the tele menu.
<SLP<END
// Displays the teleporter menu.
~~~~~
If you have any other questions you can just contact me (Enlight) because I'm not good at writing tutorials at 4:30 AM
<Cave Story ~ Doukutsu Monogatari> (C) Studio Pixel 2004

Binary file not shown.

View file

@ -0,0 +1,28 @@
#1000
<KEY<MSG<TURNo permission to teleport.<WAI9999<END
#1001
<FLJ2892:2001
<KEY<MSG<TUREgg Corridor<WAI9999<END
#1002
<FLJ2892:2002
<KEY<MSG<TURGrasstown<WAI9999<END
#1003
<FLJ2892:2003
<KEY<MSG<TURSand Zone<WAI9999<END
#1004
<FLJ2892:2004
<KEY<MSG<TURLabyrinth<WAI9999<END
#1005
<FLJ2892:2005
<KEY<MSG<TURPlantation<WAI9999<END
#2001
<KEY<MSG<TUR<GIT0001Snake / Fireball<WAI9999<END
#2002
<KEY<MSG<TUR<GIT0009Blade / Nemesis<WAI9999<END
#2003
<KEY<MSG<TUR<GIT0007Bubbler<WAI9999<END
#2004
<KEY<MSG<TURCancel<WAI9999<END
#2005
<KEY<MSG<TURCancel<WAI9999<END

File diff suppressed because one or more lines are too long

View file

@ -37,46 +37,43 @@
#0104
<PRI<SOU0011<DNP0102<FAO0004<TRA0011:0094:0016:0053
#0200
<KEY
<SAT<MSGArthur's Arsenal:<NOD
<AMJ0001:0201
<AMJ0003:0202
<EVE0205
<FL+2892
<PS+0001:0201<PS+0002:0205<PS+0003:0211<PS+0004:0220<PS+0005:0220
<KEY<SAT<MSGArthur's Arsenal:<NOD<SLP
#0201
<FLJ2802:0203<EVE0205
<FLJ2802:0202<MSGCan't trade.<NOD<SLP
#0202
<FLJ2802:0204<EVE0205
<AMJ0001:0203<AMJ0003:0204<MSGCan't trade.<NOD<SLP
#0203
<KEY<MSG<GIT0003Trade your Snake for a Fireball?<YNJ0205<TAM0001:0003:0000<EVE0205
<KEY<MSG<GIT0003Trade your Snake for a Fireball?<YNJ0219<TAM0001:0003:0000<SLP
#0204
<KEY<MSG<GIT0001Trade your Fireball for a Snake?<YNJ0205<TAM0003:0001:0000<EVE0205
<KEY<MSG<GIT0001Trade your Fireball for a Snake?<YNJ0219<TAM0003:0001:0000<SLP
#0205
<AMJ0009:0206
<AMJ0012:0207
<EVE0211
<FLJ2811:0206<MSGCan't trade.<NOD<SLP
#0206
<FLJ2811:0208<EVE0211
#0207
<FLJ2811:0209<EVE0211
<AMJ0009:0208<AMJ0012:0209<MSGCan't trade.<NOD<SLP
#0208
<KEY<MSG<GIT0012Trade your Blade for a Nemesis?<YNJ0211<TAM0009:0012:0000<EVE0211
<KEY<MSG<GIT0012Trade your Blade for a Nemesis?<YNJ0219<TAM0009:0012:0000<SLP
#0209
<KEY<MSG<GIT0009Trade your Nemesis for a Blade?<YNJ0211<TAM0012:0009:0000<EVE0211
<KEY<MSG<GIT0009Trade your Nemesis for a Blade?<YNJ0219<TAM0012:0009:0000<SLP
#0210
<KEY<MSGFlowers...?<NOD<END
#0211
<FLJ2820:0212<EVE0214
<FLJ2820:0212<MSGCan't trade.<NOD<SLP
#0212
<AMJ0007:0213
<KEY<MSG<GIT0007Pick up your Bubbler?<YNJ0214<AM+0007:0100<EVE0214
<KEY<MSG<GIT0007Pick up your Bubbler?<YNJ0219<AM+0007:0100<SLP
#0213
<KEY<MSG<GIT0007Drop off your Bubbler?<YNJ0214<AM-0007<EVE0214
#0214
<KEY<MSGNo more weapons to trade.<NOD<END
<KEY<MSG<GIT0007Drop off your Bubbler?<YNJ0219<AM-0007<SLP
#0219
<SLP
#0220
<END
#0300
#0301
#0303
#0500
<FL-2892
<PS+0001:6001<PS+0002:6002<PS+0003:6003<PS+0004:6004<PS+0005:6005
<KEY<SAT<MSGA teleporter.<NOD<SLP<NOD<END
#0600

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

@ -1 +1 @@
\jiiiFCu„~u†Ś€uŤŽ‡¨Y©ž«¦˘¬¬˘¨§Y­¨Y­žĄž©¨«­gu<67>zrrrru~‡}FC\jiijFCu„~u†Ś€uŤŽ~  Y|¨««˘ť¨«u<C2AB>zrrrru~‡}FC\jiikFCu„~u†Ś€uŤŽ€«š¬¬­¨°§u<C2A7>zr9rru~‡}FC\jiilFCu„~u†Ś€uŤŽŚš§ťY“¨§žu<C5BE>zrrrru~‡}FC\jiimFCu„~u†Ś€uŤŽ…š˛«˘§­ˇu<CB87>zrrrru~‡}FC\jiinFCu„~u†Ś€uŤŽ‰Ąš§­š­˘¨§u<C2A7>zrrrru~‡}FCFC
Sa```=:l{u‰l}ƒwl„…~ŸP •¢<E280A2>™££™ŸžP¤ŸP¤•œ• Ÿ¢¤^l‡qyiiiilu~t=:Sa``a=:lv|zbhibjb``a=:l{u‰l}ƒwl„…u——PsŸ¢¢™”Ÿ¢l‡qyiiiilu~t=:Sa``b=:lv|zbhibjb``b=:l{u‰l}ƒwl„…££¤Ÿ§žl‡qyiiiilu~t=:Sa``c=:lv|zbhibjb``c=:l{u‰l}ƒwl„…ƒž”PŠŸž•l‡qyiiiilu~t=:Sa``d=:lv|zbhibjb``d=:l{u‰l}ƒwl„…|©¢™ž¤˜l‡qyiiiilu~t=:Sa0`e=:lv|zbhibjb``e=:l{u‰l}ƒwl„…€œž¤¤™Ÿžl‡qyiiiilu~t=:Sb``a=:l{u‰l}ƒwl„…lwy„```aƒž•P_Pv™¢•œœl‡qyiiiilu~t=:Sb``b=:l{u‰l}ƒwl„…lwy„```irœ”•P_P~•<>•£™£l‡qyiiiilu~t=:Sb``c=:l{u‰l}ƒwl„…lwy„```gr¥œ•¢l‡qyiiiilu~t=:Sb``d=:l{u‰l}ƒwl„…sž“•œl‡qyiiiilu~t=:Sb``e=:l{u‰l}ƒwl„…sž“•œl‡qyiiiilu~t