Potential TSC Hacks

May 19, 2009 at 1:20 AM
Level 73 Procrastinator
"Life begins and ends with Nu."
Join Date: Apr 6, 2009
Location: Forgotten Tower
Posts: 2052
O.o

I just realized...
These hacks have the potential to massively change all of Cave Story modding!!
And you'd be responsible, Lace :D
 
May 19, 2009 at 3:08 AM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 31
SeriousFace said:
How about a physics altering command. Run faster and jump higher.

Oh Lace, I sooo think you should do this. Here is how I would recommend you would structure this.

<GRAxxxx (where xxxx is a value, and 1000 could be the equivalent of 1[aka normal gravity])

What this would do then is, normally you know how the gravity works by going QUOTE's_Y_Velocity - number (or maybe it's quote's_velocity * ratio, I'm not sure for gravity). Just use the xxxx value to modify what the ratio/number for gravity is, through multiplication or addition. This one would be nice, and also if you could make this one please explain what part's of the assembly code we would have to change to make it work in our mods.

You could do something similar for the running aspect, however you would probably want to change the actual speed cap that is currently set. I'm personnally more interested in the gravity one.
 
May 19, 2009 at 3:09 AM
Level 73 Procrastinator
"Life begins and ends with Nu."
Join Date: Apr 6, 2009
Location: Forgotten Tower
Posts: 2052
GIRakaCHEEZER said:
Oh Lace, I sooo think you should do this. Here is how I would recommend you would structure this.

<GRAxxxx (where xxxx is a value, and 1000 could be the equivalent of 1[aka normal gravity])

What this would do then is, normally you know how the gravity works by going QUOTE's_Y_Velocity - number (or maybe it's quote's_velocity * ratio, I'm not sure for gravity). Just use the xxxx value to modify what the ratio/number for gravity is, through multiplication or addition. This one would be nice, and also if you could make this one please explain what part's of the assembly code we would have to change to make it work in our mods.

You could do something similar for the running aspect, however you would probably want to change the actual speed cap that is currently set. I'm personnally more interested in the gravity one.
This idea would be perfect for my mod! =D
Lowell's a mage, and thus not very athletic...
But he could find augmenters for speed and agility...

We're counting on you, Lace! :D
 
May 19, 2009 at 12:13 PM
graters gonna grate
"Heavy swords for sale. Suitable for most RPG Protagonists. Apply now!"
Join Date: Jul 2, 2008
Location: &
Posts: 1886
Age: 31
Wow, this should be pretty fucking awesome!!!
 
May 20, 2009 at 1:17 AM
Hoxtilicious
"Life begins and ends with Nu."
Join Date: Dec 30, 2005
Location: Germany
Posts: 3218
Age: 32
Wanna help - need RAM offsets? oo

Lace said:
The main problem i see with that plan is space

That my friend is not our problem ;D
The problem is the coding.
You can add some space pretty easily: Just add a new section the exe and edit the offsets in the JMP commands.
 
May 20, 2009 at 1:55 AM
Been here way too long...
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Jun 22, 2008
Location:
Posts: 251
S. P. Gardebiter said:
Wanna help - need RAM offsets?

YES we need RAM offsets. In fact, why don't you post them in your Offsets topic? :D

S. P. Gardebiter said:
You can add some space pretty easily: Just add a new section the exe and edit the offsets in the JMP commands.

Any chance you could help me do this? I've tried to add space before with no luck. (See the discussion beginning at post 24 of this topic)
 
May 20, 2009 at 2:13 AM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3054
space has always been a problem for me, so I don't know how you get around it, sp.
and if you really wanna help, can you please describe how mul and div work?

right now for the agility code (not the parser part) I have :
Code:
  div [ebp+8],0x3e8

mov eax,0x196
mul eax,[ebp+8]
mov [0x4156e8],eax

mov eax,0x280
mul eax,[ebp+8]
mov [0x415704],eax

mov eax,0x02A
mul eax,[ebp+8]
mov [0x41570A],eax

mov eax,0x019
mul eax,[ebp+8]
mov [0x415719],eax

mov eax,0x32c
mul eax,[ebp+8]
mov [0x415722],eax

mov eax,0x500
mul eax,[ebp+8]
mov [0x41573d],eax

mov eax,0x024
mul eax,[ebp+8]
mov [0x415745],eax

mov eax,0x033
mul eax,[ebp+8]
mov [0x415753],eax

which doesn't work because mul and div are all messed up.
futhermore, I can't even use shl or shr, which I do know how to use.

gir, if you don't understand that bit of code above, what it means is I decided to structure the agility command like you said. 1000 is normal, 500 is half, 2000 is double, etc. It also doesn't do anything with gravity, just the velocities.

cheesy, voidmage, and everyone else, thanks for the encouragement.

=D
Lace
 
May 20, 2009 at 2:33 AM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3054
almost forgot - sf, I might be able to change what the map button does, but what do you want it to do? it already launches a tsc event, so you could use flags to change that around. must be something really specific you're after, so do tell.

:D
 
May 20, 2009 at 2:47 AM
Been here way too long...
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Jun 22, 2008
Location:
Posts: 251
You could always use a shift to change the velocity. It limits the possible values a little, but if the base value is 1000, you could use shl 1 to double, shl 2 to quadruple, shr 1 to cut in half, shr 2 to divide by 4.

You could also have the command take 1 parameter, which if the agility.

And I haven't used it yet, but MUL and DIV seem to work like this: where x and ECX are the numbers you are multiplying together, and then the result is stored in EDX. I have also seen a version of MUL that takes 3 parameters, so I'm guessing here.

MOV EAX x
MUL ECX


If none of those work you could do a loop of additions (this is what I did)

eg:


XOR EAX,EAX
XOR ECX,ECX
A
INC EAX
ADD ECX, xxxx
CMP [EBP+8],EAX
JL A

That takes up a ton of space, though.

I'm assuming you found those RAM offsets yourself? Do you have any others you could share?
 
May 21, 2009 at 8:00 PM
Been here way too long...
"..."
Join Date: Jan 21, 2006
Location:
Posts: 369
Lace said:
almost forgot - sf, I might be able to change what the map button does, but what do you want it to do? it already launches a tsc event, so you could use flags to change that around.
IIRC (and i might not i messed with this a long time ago) there IS a event that's basically just <MLP, but it's when you use the map system from your inventory. Using the map button out in the open calls the map in some other way which i don't understand.


Lace said:
must be something really specific you're after, so do tell.

:)
I was thinking about lots of specific things, but none of them practical. Wall jump <3



Oh, and Shiny please please explain to lace and dooey how to create space in the exe. They are smart fellows, I'm sure they'll get it. Please.
 
May 23, 2009 at 12:36 AM
Level 73 Procrastinator
"Life begins and ends with Nu."
Join Date: Apr 6, 2009
Location: Forgotten Tower
Posts: 2052
Wait!!

Oh, I just remembered:
What about extra sprite sheets?
Me and Boots' make special, extra sprite-sheets for our mods {Not sure if anyone else does, so don't yell at me for excluding you XD}; how would they fit into the Numberized Sprite List?
 
May 23, 2009 at 1:42 AM
Hax on....Hax off....
"Big Joe Tire and Battery Restaurant! Opening Soon! Eat at Big Joes!"
Join Date: Jan 5, 2009
Location: Easter Island
Posts: 476
Do you mean like an extra universal tileset (one that works in any map) or a third one that you can put in a specific map. If it's the the second one then you'd need a hacked version of an editor that can change the third one once you've hacked the exe. I don't really have the need for a third universal sprite sheet in my mod yet.
 
May 23, 2009 at 1:46 AM
Level 73 Procrastinator
"Life begins and ends with Nu."
Join Date: Apr 6, 2009
Location: Forgotten Tower
Posts: 2052
OH!!!

Uncy Dave said:
Do you mean like an extra universal tileset (one that works in any map) or a third one that you can put in a specific map. If it's the the second one then you'd need a hacked version of an editor that can change the third one once you've hacked the exe. I don't really have the need for a third universal sprite sheet in my mod yet.
Actually, now that you mention it, having both would be very useful, ^.^
At least, for my mod....
 
May 23, 2009 at 7:27 AM
Hax on....Hax off....
"Big Joe Tire and Battery Restaurant! Opening Soon! Eat at Big Joes!"
Join Date: Jan 5, 2009
Location: Easter Island
Posts: 476
So which one did you mean before?
 
May 23, 2009 at 5:04 PM
Level 73 Procrastinator
"Life begins and ends with Nu."
Join Date: Apr 6, 2009
Location: Forgotten Tower
Posts: 2052
First

Uncy Dave said:
So which one did you mean before?
The sprite sheets for specific levels, but the universal ones would be very helpful...
I've got to go through elaborate means if I want to fit Lowell, Khan, Curly, and Quote into my mod, because of the universal sprite sheets...
 
May 23, 2009 at 11:03 PM
Hax on....Hax off....
"Big Joe Tire and Battery Restaurant! Opening Soon! Eat at Big Joes!"
Join Date: Jan 5, 2009
Location: Easter Island
Posts: 476
Well unless Curly and Quote do some kind of fighting, what you can do is just replace a character that can be animated in enough ways (Walking, facing backwards etc.) and you probably wont need, like maybe santa. King can also be replaced cause he can do a lot in terms of animating him but he's probably a rather important character so maybe not.
 
May 23, 2009 at 11:06 PM
Level 73 Procrastinator
"Life begins and ends with Nu."
Join Date: Apr 6, 2009
Location: Forgotten Tower
Posts: 2052
Heh

Uncy Dave said:
Well unless Curly and Quote do some kind of fighting, what you can do is just replace a character that can be animated in enough ways (Walking, facing backwards etc.) and you probably wont need, like maybe santa. King can also be replaced cause he can do a lot in terms of animating him but he's probably a rather important character so maybe not.
Yeah, I think I've got a general plan on what to do...
But that's not the only problem with the universal sprite sheets..
Sym's one of the three, and there are things in there I'd like to have duplicates of...
So having the abillity to change the universals would be awesome =D
 
May 24, 2009 at 2:24 AM
Hax on....Hax off....
"Big Joe Tire and Battery Restaurant! Opening Soon! Eat at Big Joes!"
Join Date: Jan 5, 2009
Location: Easter Island
Posts: 476
But changing them would defeat the purpose of having them wouldn't it? The point of them is so that you can have a wider range of the sprites you can use
 
May 24, 2009 at 2:30 AM
Level 73 Procrastinator
"Life begins and ends with Nu."
Join Date: Apr 6, 2009
Location: Forgotten Tower
Posts: 2052
Eh...

Uncy Dave said:
But changing them would defeat the purpose of having them wouldn't it? The point of them is so that you can have a wider range of the sprites you can use
Whaddya mean? I think you lost me...
Wouldn't being able to swap the Universal ones during the game give the option of even more sprites?

What if I want different coloured explosions at different times?
With all of Lace's hacks, I could even make the Missile Launcher have different coloured explosions depending on the Level...
 
May 24, 2009 at 3:25 AM
Hax on....Hax off....
"Big Joe Tire and Battery Restaurant! Opening Soon! Eat at Big Joes!"
Join Date: Jan 5, 2009
Location: Easter Island
Posts: 476
You mean something like a tsc command that does something like this xxxx:yyyy swap tile set x with srpite y. In the npc.tbl there are numbers for each different sprite set. By the way, did I say Tileset before cause I meant Sprite set.
 
Top