TSC+ Improved

Mar 20, 2020 at 9:20 AM
War criminal
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location: Phoenix
Posts: 2764
Age: 29
I would have actually loved to post this in the Booster's Lab hacks thread, but I feel any discussion on this specific hack will warrant its own thread anyway, so here it is.

TSC+ Improved
p372818-0-dpj19s.png

TSC+ was released by Noxid in 2012 as an optimized TSC Parser made to include several custom ASM commands without obstructing so much of the original game's assembly, as well as made to be customizable to however the modding community sees fit. When it was ported onto Booster's Lab, the infrastructure for the hack remains intact, as well as including some hacks made for the Modcon 2016 entry: H4CK3R.STORY. However, the amount of custom commands that can actually be used are more scarce, and is even more limited due to how the XMLs are able to patch the hack. There were separate XML files for <IMG and <PHY, patching the data behind the commands. However, could it have been possible to not only make it customizable in XML format, but as well as including other useful hacks? With the checkflag addon provided by @Thomas Xin, as well as some addons for convenience, all of it is now entirely possible! Doukutsu Assembler versions for the XML and the hack itself (without the checkflags) are also provided!

Admittedly, this was finished back in 2019, and I had planned to release it then, but then procrastinated due to having to write up tutorial pages. Credit goes to everybody whose hacks are in the pack!
Note: While people are already moving onto CSE2 for unlimited customization, a lot of ASM work must not be forgotten, and be published for ease of access for those who prefer modding Vanilla over CSE2.

Downloads:
Zip folder (including Doukutsu Assembler files)
XML file

TSC+ Improved notes:
v1.0
- First official release!
- Works with Booster's Lab v414 and above!

Custom commands Included:
Code:
<BBP (by CarrotLord)
<BUY and <SEL (by BLink)
<CMN (by HaydenStudios)
<FNJ (by Noxid)
<LRX (by Noxid)
<MIM (by Lace)
<MIM Quote NPC addons (by ZarroTsu)
16x17 <MIM modifications (by Serri/Doors)
<MS4 (by Serri/Thomas Xin)
<NAM (by Cultr1)
<OTR (by Mint)
<PHY (by VoidMage_Lowell)
<VAR, <VAO, <VAZ, <VAJ, and <RND (by Noxid)
Event Invincibility removal (by SIM)
Event Damage (by Doors)
96x144 Facepics (by Doors)

Vanilla commands now made toggleable on/off:
Code:
<CRE
<SIL
<CIL
<XX1
<TRA

TSC commands removed from the parser:
Code:
<INP (unused)
<CAT (duplicate of <SAT)
second <FAC command (duplicate)
<IMG (for Mod Loader compatibility)

Code provided by Thomas Xin to check certain TSC commands on/off with the XML:
Code:
push 1
pop esi
dec esi
jnz :END<(command name)
- Set PUSH 1 to PUSH 0 to turn off the command, moving on to the next TSC command in the assembly immediately after the flag has been checked.
- Use :END<(command name) for the JNZ, jumping to the next TSC command.

- This hack is compatible with Clownacy's Mod Loader.
- Do not use in conjunction with separate TSC hacks provided in the Hackinator.
- Template bitmaps and a custom npc.tbl file are included.
- Tutorials and guides for the hack are coming soon.
- Customizable options for <MIM and <TRA for personal preferences are included.
- Options for making changing facepic size are included.
- Options for removing Event Invincibility and enabling Event Damage are included.

Assembly notes:
Code:
- Flags 5632 - 5903 and Flags 6000-7999 are occupied by <PHY and <VAR, respectively. <MIM uses Flags 7968 - 7999.
- Only Flags 0100-5631 can be used for <FLJ. It MAY be possible for flags 5904-5999 to also be used, but it's probably not worth using them anyway.
- If <MIM is included and <VAR is turned on, Variables V122 and V123 will be unusable.
- The version of <BUY that is included is the version that creates a separate entity for the coin, leaving EXP chips intact.
- Consequently, NPC 014 (Santa's Key) has been modified, but will still spawn as the Key through <SNP, <CNP, or the Entity Map editor in Booster's Lab/Cave Editor.
- Unused Weapon data in Profile.dat are also used for the <BUY coin entity.
- The version of <FAC included is automatically set to display instantly. A version that provides the sliding animation will be provided in an update.
- <FAC now reads the RAM read by the 96x144 version, now making vanilla facepics display as 48x48 instead of 48x45.
- <OTR solely exists for optimizing <TRA, while the original hack by Mint disables the X/Y arguments, this version will only require the Map and Event arguments to be plugged in.
- For switching back from <OTR to <TRA, there is a checkbox in the XML to plug back the X/Y arguments back into the command.
- Code for NPCs 111, 112, and 150 are included for both 16x16 and 16x17 versions of <MIM, as well as for <VAR0006. A custom npc.tbl file is also included for the 16x17 version.

A proper tutorial site is on the works, so any questions regarding how to install the hack or how any of the commands work shall be asked in the thread. And if there is need for updates to include more pre-existing TSC commands or any additional quality of life addons that could prove to be useful for TSC scripting, feel free to suggest them!
 
Last edited:
Mar 20, 2020 at 5:38 PM
Based Member
"Life begins and ends with Nu."
Join Date: Dec 31, 2011
Location: United States
Posts: 2314
Age: 27
Excellent work getting this all gathered together, Serri! It's nice to have a single hack that lets you easily apply all of these TSC hacks, and even pick which ones you want.

Also, I totally forgot about that <CMN command I posted about 5 1/2 years ago, glad that ended up getting put to good use. I never fine-tuned it to fit in with other hacks, so hopefully it's been optimized to not break anything else.
 
Mar 20, 2020 at 9:25 PM
War criminal
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location: Phoenix
Posts: 2764
Age: 29
Also, I totally forgot about that <CMN command I posted about 5 1/2 years ago, glad that ended up getting put to good use. I never fine-tuned it to fit in with other hacks, so hopefully it's been optimized to not break anything else.
It was very useful to work with when it comes to animating tiles in cutscenes, that's for sure!
The code is essentially the same, but moved over to the parser. I'm going to look like a total spoon and probably show there's a lot that could still be optimized, but I'm blind in comparison to most hackers, and rewriting assembly is not my forte.
p372822-0-d7f9ad.png


The call to :cmnCode (the data behind <CMN) is just moved to after the end of the TSC parser altogether, the space where it was originally in (48b8ff - 48bfff) was used for most of the other commands (though that could probably be compacted even more, now that I think of it), and with the vast amount of free space after TSC+, it felt convenient.
p372822-1-sud5uc.png
 
Apr 20, 2020 at 12:21 AM
War criminal
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location: Phoenix
Posts: 2764
Age: 29
Small update on TSC+ Improved, the XML file is now in a zip folder, and it now includes the bitmap files and npc.tbl that are necessary for some of the TSC stuff.
There was also a minor bugfix for <NAM, so now the command can work properly!

Full hack download
XML download
 
Apr 29, 2020 at 4:52 PM
Senior Member
"Huzzah!"
Join Date: Mar 25, 2019
Location:
Posts: 206
Some of these commands seem to be REALLY useful(I really like the buying, selling options); I'll be waiting for a tutorial before trying them, though. I wouldn't want to crush my game because of an error in the code of one of them. Now, I don't doubt they're all safe to use, but I may do something with them that I'm not supposed to, so I'm really just trying to be prudent.
By the way, are there any known bugs that haven't been fixed yet, by any chance?
 
Apr 29, 2020 at 10:43 PM
War criminal
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location: Phoenix
Posts: 2764
Age: 29
By the way, are there any known bugs that haven't been fixed yet, by any chance?
Only if you're modding with an already heavily modified executable, like what I tried doing with Doukutsu2x. I do wanna try making this hack compatible with OrgKutsu (basically Org205 drums in Cave Story).
 
Apr 30, 2020 at 4:14 AM
Senior Member
"Huzzah!"
Join Date: Jul 6, 2019
Location: United States
Posts: 213
thank you for this epic tool, I'm just going to wait for the tutorial so I don't screw myself over
 
Apr 30, 2020 at 4:25 AM
War criminal
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location: Phoenix
Posts: 2764
Age: 29
Most of the commands should otherwise be easy to know, especially if you've been modding for a good while, but I am hoping the tutorial explains them well enough (especially when it comes to <VAR, Noxid's tutorial didn't really explain too much on that command set). Don't be afraid to ask for help on what the commands do while the tutorial's being worked on in the meantime.
uw8pw2.png
 
Jul 21, 2020 at 9:43 AM
War criminal
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location: Phoenix
Posts: 2764
Age: 29
Soooo, it's been a while. I'm basically done with modding Cave Story, I highly doubt I'll ever be making a mod again anytime soon. However, I do feel I should still give an update to TSC+ Improved progress, my procrastination, and the future of this hack.

Version 1.1 will include a couple more slice of life improvements, like removing Menu invincibility resets, adding in options for having the Shift Key and W Key run a predetermined event, and include a compatible version of the Multiple Mimiga Mask hack (for the current version, click here!). I will also include patch options for the case of some mad lad using the original Doukutsu2x executable instead of Mod Loader (let alone CSE2). The tutorial will also be released alongside the updated version.

I should be at fault for the 3 month wait, this quarantine has had me waste my time on things that I found more interesting, including a practice game to get started with on RPG Maker, working with Xysspon, and just drawing. XML is absolute ass and I'd rather have actual fun. Nonetheless, I should finish what was promised and hopefully allow vanilla modding to be easier.
Have a preview of some of what's been sitting in the backburner the entire time.
p373885-0-oc8pyd.png
p373885-1-ept3bm.png
 
Top