mirror of
https://github.com/cave-story-randomizer/cave-story-randomizer
synced 2024-12-25 06:26:57 +00:00
Merge pull request #151 from duncathan/arsenal
overhauls arthur's arsenal
This commit is contained in:
commit
4e3de4071f
5
cs-hacks/MultipleSLPs/Patches.txt
Normal file
5
cs-hacks/MultipleSLPs/Patches.txt
Normal 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
|
56
cs-hacks/MultipleSLPs/Readme.txt
Normal file
56
cs-hacks/MultipleSLPs/Readme.txt
Normal 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.
File diff suppressed because one or more lines are too long
|
@ -139,7 +139,8 @@ Got the =Snake=!<WAI0025<NOD<CLR
|
|||
#0006
|
||||
<PRI<MSG<TURYou may trade the =Fireball=
|
||||
with the =Snake= and vice-versa
|
||||
at the computer in Arthur's House.<WAI0050<NOD<FL+2802<EVE0015
|
||||
at the computer in Arthur's House.<WAI0050<NOD<FL+2802
|
||||
<CLRTrade now?<YNJ0015<AMJ0001:0043<TAM0003:0001:0000<EVE0015
|
||||
#0007
|
||||
<PRI<MSG<TUR<GIT0007<AM+0007:0100<FL+2820
|
||||
Got the =Bubbler=!<WAI0025<NOD<EVE0015
|
||||
|
@ -159,7 +160,8 @@ Got the =Nemesis=!<WAI0025<NOD<CLR
|
|||
#0011
|
||||
<PRI<MSG<TURYou may trade the =Nemesis=
|
||||
with the =Blade= and vice-versa
|
||||
at the computer in Arthur's House.<WAI0050<NOD<FL+2811<EVE0015
|
||||
at the computer in Arthur's House.<WAI0050<NOD<FL+2811
|
||||
<CLRTrade now?<YNJ0015<AMJ0009:0044<TAM0012:0009:0000<EVE0015
|
||||
#0012
|
||||
<PRI<MSG<TUR<GIT1006Got a =Life Capsule=!<ML+0003
|
||||
Max health increased by 3!<WAI0025<NOD<EVE0015
|
||||
|
@ -250,6 +252,12 @@ You have drowned.<NOD<CLRWant to retry?<YNJ0049<CLO
|
|||
<MSG<TUR<HMC
|
||||
You were never seen again...<NOD<CLRWant to retry?<YNJ0049<CLO
|
||||
<FAO0001<WAI0050<FLJ0431:0048<INI
|
||||
|
||||
#0043
|
||||
<TAM0001:0003:0000<EVE0015 Snake/Fireball trade
|
||||
#0044
|
||||
<TAM0009:0012:0000<EVE0015 Blade/Nemesis trade
|
||||
|
||||
#0048
|
||||
<SMC<LDP
|
||||
#0049
|
||||
|
|
28
pre-edited-cs/data/ScriptSource/StageSelect.txt
Normal file
28
pre-edited-cs/data/ScriptSource/StageSelect.txt
Normal 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
|
@ -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 |
|
@ -1 +1 @@
|
|||
\jiiiFCu„~’u†Ś€uŤŽ‹‡¨Y©ž«¦˘¬¬˘¨§Y¨YžĄž©¨«gu<67>z‚rrrru~‡}FC\jiijFCu„~’u†Ś€uŤŽ‹~ Y|¨««˘ť¨«u<C2AB>z‚rrrru~‡}FC\jiikFCu„~’u†Ś€uŤŽ‹€«š¬¬¨°§u<C2A7>z‚r9rru~‡}FC\jiilFCu„~’u†Ś€uŤŽ‹Śš§ťY“¨§žu<C5BE>z‚rrrru~‡}FC\jiimFCu„~’u†Ś€uŤŽ‹…š›˛«˘§ˇu<CB87>z‚rrrru~‡}FC\jiinFCu„~’u†Ś€uŤŽ‹‰Ąš§š˘¨§u<C2A7>z‚rrrru~‡}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„…‚w¢‘££¤Ÿ§ž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
|
Loading…
Reference in a new issue