Booster's Lab - It's Pretty Good Now

Aug 2, 2016 at 12:23 PM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 23
2 errors:
  1. Items are no longer properly transparent in the argument window.
  2. The text color Hackinator hack is actually in BGR, not RGB.
On another note, how do I make NPC111, 112 and 150 use the new variable from the Hackinator TSC+ hack for the current character?
Memory bytes are stored backwards to allow easy reading of different sized values from the same address.
So it's stored BGR, but read RGB.
 
Aug 2, 2016 at 12:25 PM
Senior Member
"Fly, Fly, Fly!"
Join Date: Jun 24, 2016
Location: Israel
Posts: 127
Memory bytes are stored backwards to allow easy reading of different sized values from the same address.
So it's stored BGR, but read RGB.
It's still written as BGR, so entering red into the hack would actually result in blue, and vice versa.
 
Aug 2, 2016 at 12:27 PM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
2 errors:
  1. Items are no longer properly transparent in the argument window.
  2. The text color Hackinator hack is actually in BGR, not RGB.
On another note, how do I make NPC111, 112 and 150 use the new variable from the Hackinator TSC+ hack for the current character?
1. is intentional, they were supposed to be that way from the beginning but I forgot to set the background opacity. They are easier to see and it makes it easier to identify Out Of Bounds (no black box) or just a slot where no image is drawn (black box)

I forgot about the quote NPCs, I suppose it makes sense (and wouldn't be too hard) to update the hack to work with those. I need to write it first, though. When I change that hack I'll also change the wording on the text colour.
 
Aug 2, 2016 at 12:31 PM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 23
Hey Noxid since you've already added colour changing of text, why not add my <TXC command as well?
IDK how it's formatted, but
0x40D219
E8 C2 ED 07 00

0x40D2A4
E8 37 ED 07 00

0x414219
E8 C2 7D 07 00

0x414385
E8 56 7C 07 00

0x421DE9
E8 F2 A1 06 00

0x424E28
A1 D8 5A 4A 00 90 03 05 E0 5A 4A 00 0F BE 50 01
83 FA 46 75 72 A1 D8 5A 4A 00 90 03 05 E0 5A 4A
00 0F BE 50 02 83 FA 41 75 5D A1 D8 5A 4A 00 03
05 E0 5A 4A 00 0F BE 48 03 83 F9 43 75 49 8B 15
E0 5A 4A 00 83 C2 04 52 E8 8B CA FF FF 83 C4 04
89 45 DC 0F BE 45 DC 39 05 0C 5B 4A 00 74 14 0F
BE 4D DC 89 0D 0C 5B 4A 00 C7 05 10 5B 4A 00 00
68 00 00 8B 15 E0 5A 4A 00 83 C2 08 89 15 E0 5A
4A 00 E9 F8 03 00 00 81 38 3C 54 58 43 75 4A 83
05 E0 5A 4A 00 04 FF 35 E0 5A 4A 00 E8 37 CA FF
FF 59 50 83 05 E0 5A 4A 00 04 FF 35 E0 5A 4A 00
E8 23 CA FF FF 59 59 69 C9 10 27 00 00 01 C8 A3
FC 4F 49 00 83 05 E0 5A 4A 00 04 E9 D3 D6 FF FF
58 FF 35 FC 4F 49 00 FF E0 66 D9 D0 65 66 D9 D0
65 66 D9 D0 65 66 D9 D0 65 66 D9 D0 65 66 D9 D0
65 66 D9 D0 65 66 D9 D0 65 66 D9 D0 65 66 D9 D0
65 66 D9 D0 65 66 D9 D0 66 D9 D0

0x4253AD
E8 2E 6C 06 00

0x42549A
E8 41 6B 06 00

0x4257C9
E8 12 68 06 00

0x48BFE0
58 FF 35 FC 4F 49 00 FF E0

0x494FFC
FF FF FF
Also copied from my readme:
This hack replaces the 2nd <FAC command.
Also takes 1 DWORD value at 0x494FFC and a few bytes at the end of the code segment (48BFE0)
The new command is <TXC (TeXt Colour) followed by 8 digits as the operand.
The 8 digits are a decimal value that is converted into hexadecimal for the colour of text.
For example, <TXC00000255 will change text colour to red, <TXC16777215 white, <TXC00065535 for yellow, <TXC16711680 blue, or <TXC00000000 black.
Will affect all text in-game, including <MSG, <MS2, <MS3, <TUR, <MNA, and the text on the inventory and map system.
Text colour is NOT saved, so reloading a save file or dying will preserve the text colours. You might want to reset the text colours upon dying and also in the intro map.
I figured since I've shared this with a lot of people already, I might as well.
 
Last edited:
Aug 2, 2016 at 12:38 PM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
the odds of me doing this would be a lot higher if it's already nicely formatted in xml to just drop in
 
Aug 2, 2016 at 12:39 PM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 23
the odds of me doing this would be a lot higher if it's already nicely formatted in xml to just drop in
I'm not exactly sure how to do that though.
EDIT:
Let me do that for you.
Oh okay, thanks. I already figured out how it's done, but I'm sorta busy right now.
 
Last edited:
Aug 2, 2016 at 12:55 PM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 23
The instructions are a little hard to understand...
Well if anyone doesn't understand how it works, just read the readme I posted.
This hack replaces the 2nd <FAC command.
Also takes 1 DWORD value at 0x494FFC and a few bytes at the end of the code segment (48BFE0)
The new command is <TXC (TeXt Colour) followed by 8 digits as the operand.
The 8 digits are a decimal value that is converted into hexadecimal for the colour of text.
For example, <TXC00000255 will change text colour to red, <TXC16777215 white, <TXC00065535 for yellow, <TXC16711680 blue, or <TXC00000000 black.
Will affect all text in-game, including <MSG, <MS2, <MS3, <TUR, <MNA, and the text on the inventory and map system.
Text colour is NOT saved, so reloading a save file or dying will preserve the text colours. You might want to reset the text colours upon dying and also in the intro map.
 
Aug 2, 2016 at 1:00 PM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 23
Aug 5, 2016 at 1:49 PM
Senior Member
"Fly, Fly, Fly!"
Join Date: Jun 24, 2016
Location: Israel
Posts: 127
Hey uh so I found a bug with the TSC+ hack: V007 is a standard variable, when it should be a read-only variable that stores the PC's current direction.
Also TSC+ seems to cause the PC to not turn his back when using <MYD (stays either in normal pose or interact pose).
 
Aug 8, 2016 at 6:42 AM
Junior Member
"It's dangerous to go alone!"
Join Date: Sep 4, 2014
Location: South Korea
Posts: 44
Korean is still broken. Resolved to please
 
Aug 15, 2016 at 1:57 PM
Senior Member
"Fly, Fly, Fly!"
Join Date: Jun 24, 2016
Location: Israel
Posts: 127
So I'm using BL and I've noticed that these 2 things at the top don't do anything:
p218808-0-w7pfljk.png
The "Active layers" radio boxes are always disabled and the enabled checkboxes in "Visible layers" don't do anything.
Is this just a feature that's coming soon or is it dependent on some multi-layer hack?
There's also the "Spritesheet Organizer" (or "sprite thing"):
p218808-1-a8h7oko.png
The arrow buttons don't do anything, though this is probably just a WIP.
 
Last edited:
Aug 15, 2016 at 3:19 PM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
So I'm using BL and I've noticed that these 2 things at the top don't do anything:
p218808-0-w7pfljk.png
The "Active layers" radio boxes are always disabled and the enabled checkboxes in "Visible layers" don't do anything.
Is this just a feature that's coming soon or is it dependent on some multi-layer hack?
There's also the "Spritesheet Organizer" (or "sprite thing"):
p218808-1-a8h7oko.png
The arrow buttons don't do anything, though this is probably just a WIP.
They're disabled by default because they don't apply to cave story modding. The back/front visibility layers are actually supposed to toggle the display of background/foreground tiles, although now that I try it looks like I broke that at some point. Either way, it's not especially useful. Active layer is for KSS or other custom engines that have multiple layers of tiles.

I originally just disabled them because I was lazy but tbh I dont think there's any reason I couldn't just remove the columns entirely when they aren't applicable.
 
Aug 15, 2016 at 3:30 PM
Senior Member
"Fly, Fly, Fly!"
Join Date: Jun 24, 2016
Location: Israel
Posts: 127
They're disabled by default because they don't apply to cave story modding. The back/front visibility layers are actually supposed to toggle the display of background/foreground tiles, although now that I try it looks like I broke that at some point. Either way, it's not especially useful. Active layer is for KSS or other custom engines that have multiple layers of tiles.

I originally just disabled them because I was lazy but tbh I dont think there's any reason I couldn't just remove the columns entirely when they aren't applicable.
How would BL work with a custom multi-layer system anyway? Via a custom-built version?
There's also the sprite thing which I mentioned; what will that thing do when you finish/fix/whatever it?
 
Aug 15, 2016 at 3:38 PM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
I used it originally for CSEngine / King Story when I was making my own Cave-Story-Like rewrite. It has a slightly different file format to allow for this.

And the sprite editor, yeah, that's a leftover from Kitten Battle dungeon. In that one I had the idea to define all NPC's sprites externally in a rect file likethis
Code:
0 0 32 48 debug_cat
32 0 32 64 gost1
32 64 32 64 gost1_b
64 0 32 64 gost2
that way I could refer to them by name in code, and I wouldn't need to rebuild the game to rearrange spritesheets. So the idea was that this would be used to automatically write the rect files for me.
But I never got around to finishing it.
 
Aug 21, 2016 at 1:44 PM
Senior Member
"Fly, Fly, Fly!"
Join Date: Jun 24, 2016
Location: Israel
Posts: 127
Hey noxid I have an idea for the TSC decoder thingy: Make tiles show up as actual images rather than numbers.
 
Sep 9, 2016 at 5:05 PM
Senior Member
"Fly, Fly, Fly!"
Join Date: Jun 24, 2016
Location: Israel
Posts: 127
OK so I currently have 2 problems with the TSC+ hack:
  1. <MYD no longer clears the "back turned" playerflag, which makes some cutscenes look weird.
  2. Variable 0007 is a standard read/write variable, when according to the documentation...
    Booster's Lab's documentation said:
    As well, certain variables are pre-populated and should not be set. These are "read-only" meaning changing them will not do anything.
    0000 Current Health
    0001 Max Health
    0002 Player X Position
    0003 Player Y Position
    0004 Current Weapon Ammo
    0005 XP needed to be gained for next level
    0006 MyChar number (this one is writable
    0007 Current Direction Faced
    ...it should be a read-only variable that stores the player's current direction!
On an unrelated note, it seems calling a <DIE command crashes the game. I'm guessing that's an undocumented feature.
 
Last edited:
Sep 9, 2016 at 5:54 PM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
I don't actually know what you mean by the first one, can you elaborate
 
Top