• Hey everyone happy Christmas Eve we're aware of what's happened with the source code so to keep this simple absolutely don't post it on the site or use it to make mods with (it's not particularly preferable toward this end anyway) and tread lightly in general until we see how this settles, thanks to all and have a great holiday season -DT

Quick Modding/Hacking Answers Thread

Feb 29, 2016 at 8:24 AM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 24
Pronouns: he/him
From what I tried right now, maybe you should put in the call for 00422730 before putting in the hack at 00419CA6. The new CALL function stayed in the same place when I did that.
But you really don't need the hack, it just makes your system really weird and glitchy. I prefer my negative method as it never crashes the game. Also, with that system you can work with numbers higher than 1000, and for that matter you can work with numbers up to 32,767 (I think) down to -32,768.

EDIT: Actually, you can work with numbers up to 65,535, just set asm address
0x0419CD6 - MOV WORD PTR DS:[49E6D0],0E8 up to 0FFFF.
 
Last edited:
Feb 29, 2016 at 8:33 AM
Serri Online
Snacker
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location:
Posts: 2857
Age: 30
Pronouns: She/Her
...Huh. I tried your method and it works just as well without the hack. I never really did either method with <ML+ before, so I guess it's a matter of preference for zxin, then.
 
Feb 29, 2016 at 8:41 AM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 24
Pronouns: he/him
Meanwhile setting your health to 0 or negative makes you die in 1 hit from everything lol

Also, you can use the above method to subtract a specific amount of AMMO from a weapon! BTW, negative ammo equals 1 ammo.

I haven't tried any of this yet, but it may also allow you to do stuff such as giving a weapon with ID -1, setting negative flags, spawn negative entities, play negative music and set a negative map tile! I wonder what these would do to your game!
 
Last edited:
Feb 29, 2016 at 4:54 PM
Serri Online
Snacker
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location:
Posts: 2857
Age: 30
Pronouns: She/Her
It's missing the assembly address before I even install any of the hack.
Which version of Olly are you using? The address was there when I tried installing the hack.
 
Feb 29, 2016 at 5:16 PM
Its dark in here
"Deaths: 4000"
Join Date: Nov 21, 2013
Location: farther
Posts: 922
Age: 27
Pronouns: he/him
2.0.1.
It's because of a prior hack (unsure which one) that the address is missing.
I don't think that is how addresses work, try the older versions
 
Feb 29, 2016 at 6:33 PM
Based Member
"Life begins and ends with Nu."
Join Date: Dec 31, 2011
Location: United States
Posts: 2326
Age: 28
Pronouns: he/him
Question: Is there some way to change the ORG played at the main menu of CS without simply replacing the assigned "CURLY" organya?

Question 2: I know this happened on Jenka's Nightmare, so it made me wonder: How might one have more than 2 character arts (ex. Quote, and Mimiga Mask Quote)?
1. Yes, it can be done with a simple edit in Ollydbg. Here's RuneLancer's comments on that part of the EXE:
Code:
            //    Change the title screen music based on the title screen mode.                                              
            switch(L011C_Mode)
            {
40fe76            case 1:
                {
40fe7f                push 0x00000024                                                    //    Music: Running Hell                  
40fe81                call 420EE0::change_song
40fe89                break;
                }

40fe8b            case 2:
                {
40fe94                push 0x00000028                                                    //    Music: Toroko's Theme              
40fe96                call 420EE0::change_song
40fe9e                break;
                }

40fea0            case 3:
                {
40fea9                push 0x00000029                                                    //    Music: King's Theme                  
40feab                call 420EE0::change_song
40feb3                break;
                }

40feb5            case 4:
                {
40febe                push 0x00000002                                                    //    Music: Safety                      
40fec0                call 420EE0::change_song
40fec8                break;
                }

                default:
                {
40feca                push 0x00000018                                                    //    Music: Cave Story                  
40fecc                call 420EE0::change_song
                }
            }
So if you want the change the song that plays be default, you'll go to address 40feca, and change the push value to the ID of the song you want to play instead. Just be sure to convert it to hexadecimal first.


2. This can easily be done using Lace's infinite Mimiga mask hack that Hina ported for use by the hackinator in Booster's Lab. here's the link. @Noxid, I remember you saying you'd put this hack in the next version of BL over a year ago, but it looks like the latest version doesn't have it. Maybe it would be a good idea to make a release with this hack since people ask about this so much.
 
Feb 29, 2016 at 6:44 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
Pronouns: he/him
I probably forgot about it.. been a bit busy with the mod-db stuff but I wanna take a look at the unicode issue and then push the next release.
 
Mar 1, 2016 at 5:41 AM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 24
Pronouns: he/him
Not quite.
I can GO to 00422730, but if I scroll at all it reveals that I'm actually at 0042272C. And I can EDIT 00422730, but it just edits 0042272C and the address before it.
And doing all this makes the game crash when I use ML+.
Can you please give me a list of these "negative numbers in ascii characters"?

EDIT: Messed around with it a bit...
View attachment 2771
EDIT2: Fuck.
View attachment 2772
EDIT3: I actually have more than 9999 health... I found this out by running into Basil... several times.
EDIT4: It's less than 10,000, though.

ASCII characters allowed in Cave Story:
/ -1
. -2
- -3
, -4
+ -5
* -6
) -7
( -8
' -9
& -10
% -11
$ -12
# -13
" -14
! -15
[SPACE] -16
Numbers higher than 9:
: 10
; 11
< 12
= 13
> 14
? 15
@ 16
A 17
B 18
C 19
D 20
E 21
F 22
G 23
H 24
I 25
J 26
K 27
L 28
M 29
N 30
O 31
P 32
Q 33
R 34
S 35
T 36
U 37
V 38
W 39
X 40
Y 41
Z 42
[ 43
\ 44
] 45
^ 46
_ 47
` 48
Then a - z (lowercase) = 49 - 74
{ 75
| 76
} 77
~ 78
So if you want to have for example the value 10,000 in one TSC command, you can just do :000
For negative values, -10,000 would be &000
You can have 86,658 with ~~~~
<FLJFUCK:YOU! would jump to event 44,455 if flag 25,917 is set. I don't know if the massive flags will work, but you might want to try it out.
There is a value for 79, but it's the box symbol, which I can't type in here. Find some website or CTRL+Backspace and copy it in if you want it.

Also, for the Invincibility Timer, the address is at 0x0049E6C8
 
Last edited:
Mar 1, 2016 at 6:27 AM
Serri Online
Snacker
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location:
Posts: 2857
Age: 30
Pronouns: She/Her
<FLJFUCK:YOU! would jump to event 44,455 if flag 25,917 is set. I don't know if the massive flags will work, but you might want to try it out.
It seems to work from my end. Interestingly, if you generate the FlagListing.txt file on Booster's Lab with the ascii flag put in an event, it will show the flag number as the actual number.
 
Mar 1, 2016 at 6:32 AM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 24
Pronouns: he/him
It seems to work from my end. Interestingly, if you generate the FlagListing.txt file on Booster's Lab with the ascii flag put in an event, it will show the flag number as the actual number.
What about negative flags? Heehee
 
Mar 1, 2016 at 6:44 AM
Serri Online
Snacker
"Life begins and ends with Nu."
Join Date: Jun 27, 2013
Location:
Posts: 2857
Age: 30
Pronouns: She/Her
Negative flags do not work.
Right now I'm listing what commands the ascii numbers work on, and for the <FAC command, this is really bugging me about it:
So you can go above 128 pictures, but it won't show them
I wonder if it's possible for the pictures to show if I go above 128 using ascii numbers...
EDIT: Sadly, they do not. At least I tried.
 
Last edited:
Mar 1, 2016 at 10:15 AM
Catz R cool
Modding Community Discord Moderator
"..."
Join Date: Nov 23, 2015
Location: Somewhere within a world far away from reality...
Posts: 381
Age: 24
Pronouns: he/him
That's the variable for the offset. To find the coding for the invincibility timers, right click that line and select 'Find references to selected command'. That should take you to a list where you can find the code. I can also give you the list of (nearly) all asm offsets in Cave Story, if that's what you'll keep asking me for.
Links are here:
https://dl.dropboxusercontent.com/u/42853625/Assembly Compendium.txt
https://dl.dropboxusercontent.com/u/42853625/FunctionlistNox.txt
BTW give credit to Noxid, not me.
 
Back
Top