• Please stop embedding files/images from Discord. Discord has anti-hotlinking logic in place that breaks links to Discord hosted files and images when linked to from anywhere outside of Discord. There are a multitude of file/image hosting sites you can use instead.

    (more info here)

Quick Modding/Hacking Answers Thread

May 17, 2016 at 11:27 PM
Its dark in here
"Deaths: 4000"
Join Date: Nov 21, 2013
Location: farther
Posts: 922
Age: 28
Pronouns: he/him
I'm new to modding and I am trying to find out how to change the start-up scene where it shows the Doctor with the captured Balrog and Misery. If anyone can tell me how to do this it would be greatly appreciated :)
map #72
 
May 18, 2016 at 1:57 AM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 33
I think your quoting the wrong person???

Anyways, Big9ize, If you want to change the starting scene you need to edit the map named "Kings" that's the map used in the beginning cutscene.
Huh yeah, that quote got messed up somehow. Changed it to ThomasXin, the guy I was actually quoting.
 
May 18, 2016 at 6:13 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
Huh yeah, that quote got messed up somehow. Changed it to ThomasXin, the guy I was actually quoting.
"Written in C or C++ or C#"
"incredibly slow and inefficient"

Yeah I think you might be a little confused there/have no idea what you're talking about (and probably don't know about pipelining when it comes to compiling code).

Of course, code written in ASM will generally be faster than code that has to be compiled (like C), but it's a stretch to call C code (or the code you've pointed out here) "inefficient".
It's quite a lot more space-consuming than assembly, and I'm not sure if you have a grudge against me or something, but you're talking to me as if I owe you something.
 
May 18, 2016 at 7:07 AM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 33
It's quite a lot more space-consuming than assembly, and I'm not sure if you have a grudge against me or something, but you're talking to me as if I owe you something.
Space consuming != inefficient. When writing programs you're generally more concerned with how fast they execute, not how much space the instructions take up (which is normally small/dwarfed by the memory used by the program for variables/data anyways). Space consumption is only really an issue when you don't have the source code, when you are modified the compiled executable by itself, which is a bit of a rare scenario to be in.

The C code compiles to more instructions, due in part to it trying to take advantage of pipelining and due in part to it just translating C instructions to ASM reliably (but perhaps "dumbly), but the resulting ASM from the C code doesn't execute much slower than the ASM alternative you proposed, even though it's more instructions/takes up more space. I'd have to explain a bit about how pipelining works though in order for that to make sense since logically, more steps should make it slower. But thanks to how it orders those instructions they can go faster than you'd think, due to the pipelining of the processor.


I'm really just kind of offended that you'd call C of all languages "inefficient", since it's probably one of the most efficient (fastest) languages out there. It just shows ignorance in your post.
 
May 18, 2016 at 10:54 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
Space consuming != inefficient. When writing programs you're generally more concerned with how fast they execute, not how much space the instructions take up (which is normally small/dwarfed by the memory used by the program for variables/data anyways). Space consumption is only really an issue when you don't have the source code, when you are modified the compiled executable by itself, which is a bit of a rare scenario to be in.

The C code compiles to more instructions, due in part to it trying to take advantage of pipelining and due in part to it just translating C instructions to ASM reliably (but perhaps "dumbly), but the resulting ASM from the C code doesn't execute much slower than the ASM alternative you proposed, even though it's more instructions/takes up more space. I'd have to explain a bit about how pipelining works though in order for that to make sense since logically, more steps should make it slower. But thanks to how it orders those instructions they can go faster than you'd think, due to the pipelining of the processor.


I'm really just kind of offended that you'd call C of all languages "inefficient", since it's probably one of the most efficient (fastest) languages out there. It just shows ignorance in your post.
Sorry...?
I'm not really calling it inefficient as in, bad code. I meant it takes more space, but it still runs slightly slower. Seriously, how can a piece of code exactly the same as another, but with more commands run faster with all that extra useless pipelining? But it's still probably faster than, say, Javascript.
Also, why are you so easily offended? Lol
 
Last edited:
May 18, 2016 at 2:24 PM
The Preacher
"Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-BLEIUP"
Join Date: Feb 20, 2011
Location: lost in translation
Posts: 336
Age: 32
Pronouns: he/him
I'm not really calling it inefficient as in, bad code. I meant it takes more space, but it still runs slightly slower.

So at first it was "incredibly slow and inefficient" and now it only "runs slightly slower" than the literal fastest way to execute instructions? Nice turnaround there, subtle and all.

But I still think it's faster than, say, Javascript.

Gee thank you for your insight. You didn't really strain yourself to make that statement, huh? It's better to stay on the safe side I guess

Also, why are you so easily offended? Lol

It's a figure of speech. But honestly, what you wrote was so perfectly wrong and ignorant it was almost actually offensive.
 
May 18, 2016 at 2:34 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: 24
Pronouns: he/him
So at first it was "incredibly slow and inefficient" and now it only "runs slightly slower" than the literal fastest way to execute instructions? Nice turnaround there, subtle and all.



Gee thank you for your insight. You didn't really strain yourself to make that statement, huh? It's better to stay on the safe side I guess



It's a figure of speech. But honestly, what you wrote was so perfectly wrong and ignorant it was almost actually offensive.
Thank you for trying to turn this into an argument. But I'd appreciate if you'd just shut up and stop trying to turn this into a thing, because I never meant to offend anyone, u̶n̶l̶i̶k̶e̶ ̶y̶o̶u̶. I realised my mistake in the other post, but that doesn't mean you should bump in to say something sarcastic like that
 
Last edited:
May 18, 2016 at 7:37 PM
The Preacher
"Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-BLEIUP"
Join Date: Feb 20, 2011
Location: lost in translation
Posts: 336
Age: 32
Pronouns: he/him
Even though you've edited your previous post (a second time) after I posted, you've visibly realized nothing yet, as I only see excuses about how you didn't want to offend anyone and you keep talking about how useless that "extra pipelining" is.

Anyway. C is not that slow compared to manually-written assembly because instruction cycles can be broken down into separate steps that form a pipeline, and several pipelines can be executed concurrently, plus or minus one or more clock cycles, provided they don't affect the same registers or memory addresses at the same time.
This does not take into account higher-level shenanigans (like software pipelining) which basically does the same but with entire sets of instructions (multithreading/processing, parallelism, etc) which makes it so a lot of sequences of instructions will have to wait until another sequence of instructions is completed first before resuming, therefore annihilating any need for performance from that first sequence.
Also for the record, Cave Story is written in C++, which is a shifty language but not for the reasons you mentioned, as it's barely slower than C.

Optimizing the generated assembly code is only really useful for one thing, and that is gaining space if you want to be able to add your own assembly code to the executable.

P.S.: I will bump in, say sarcastic stuff, and/or shut up when I decide to, regardless of what you think I should do or what you'd appreciate.
 
May 18, 2016 at 8:13 PM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 33
Seriously, how can a piece of code exactly the same as another, but with more commands run faster with all that extra useless pipelining?

See this is just proof you don't really understand what the pipelining is. Those extra "useless" commands can be run basically 2 at a time with the commands they're between, since together those sets of 2 instructions don't touch the same registers. The compiler sets the pointer basically every other command to keep it handy and also just to take advantage of the pipelining.

Also, why are you so easily offended? Lol

I'd have less of an issue with this if you didn't say something so provably and universally false. It's like if someone said the earth was flat.

Also for the record, Cave Story is written in C++, which is a shifty language but not for the reasons you mentioned, as it's barely slower than C.

Cave Story is an odd little program, since it was written/compiled in C++, but it's programmed mostly like a C program (using structs instead of objects, and mostly static memory).
 
May 18, 2016 at 10:24 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: 24
Pronouns: he/him
See this is just proof you don't really understand what the pipelining is. Those extra "useless" commands can be run basically 2 at a time with the commands they're between, since together those sets of 2 instructions don't touch the same registers. The compiler sets the pointer basically every other command to keep it handy and also just to take advantage of the pipelining.



I'd have less of an issue with this if you didn't say something so provably and universally false. It's like if someone said the earth was flat.



Cave Story is an odd little program, since it was written/compiled in C++, but it's programmed mostly like a C program (using structs instead of objects, and mostly static memory).
Okay, I admit it. I've never had experience with C or C++, and I'd never noticed which type of code was faster, so I just assumed that the one using more space was slower.
But why would you be offended by me saying C was slow? If I said the Earth was flat, how would that offend anyone?
 
Last edited:
May 18, 2016 at 10: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
Pronouns: he/him
it's spreading misinformation which hurts everybody because those who don't know any better may mistake it for truth
 
May 18, 2016 at 10:40 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: 24
Pronouns: he/him
it's spreading misinformation which hurts everybody because those who don't know any better may mistake it for truth
Okay, I realised that. But you guys could correct me, which would be more productive than those sarcastic insults.
 
May 18, 2016 at 10:44 PM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 33
Okay, I realised that. But you guys could correct me, which would be more productive than those sarcastic insults.
But we were correcting you? That's been like all of the last 10 posts or so.
 
May 19, 2016 at 10:02 PM
Neophyte Member
"Fresh from the Bakery"
Join Date: Sep 2, 2012
Location:
Posts: 2
Age: 23
Pronouns: he/him
I think your quoting the wrong person???

Anyways, Big9ize, If you want to change the starting scene you need to edit the map named "Kings" that's the map used in the beginning cutscene.

Thx Kenzo! Hopefully I will be able to finish the entire game. I'm always lazy and I want to start doing something, but never actually finish doing what I'm doing.
 
May 31, 2016 at 5:44 PM
beep boop
Bobomb says: "I need a hug!"
Join Date: Aug 16, 2014
Location: no
Posts: 848
Age: 24
Pronouns: He/Him
Hey, is there any way to project a timg image over the text box?
I want to use it to replace the <FAC command.
 
Jun 1, 2016 at 2:54 AM
The TideWalker
Modding Community Discord Founder
"That dog!"
Join Date: Apr 5, 2013
Location: In my mind and of my body.
Posts: 1643
Age: 27
Last edited:
Jun 3, 2016 at 1:16 PM
The miracles of alchemy...!
Bobomb says: "I need a hug!"
Join Date: Jul 20, 2015
Location: Under sea level or something
Posts: 813
Age: 26
Pronouns: 菓子
Where can I find the starting value of the player's air?(you know, when the player enters a body of water without having the air tank)
 
Jun 3, 2016 at 1:32 PM
Senior Member
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Jan 22, 2015
Location:
Posts: 249
Where can I find the starting value of the player's air?(you know, when the player enters a body of water without having the air tank)
Look at 0x4169C4 - the initial value is 1000 (3E8h).
 
Jun 3, 2016 at 3:19 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: 24
Pronouns: he/him
Where can I find the starting value of the player's air?(you know, when the player enters a body of water without having the air tank)
Look at 0x4169C4 - the initial value is 1000 (3E8h).
The actual variable is a DWORD at 49E6DC, and is actually 10 times the air value shown; it counts down from 1000 (base 10).
There are 3 pieces of code for water, there's the water tile, the water level entity, and something else.
Offsets for codes that set the air value:
41699D
4169C4 (Mentioned by q3hardcore)
41D47F
The value it sets it to is 0x3E8, or 1000 in dec.
 
Jun 6, 2016 at 4:08 AM
Soup Man
"In Soviet Russia, graves keep YOU!"
Join Date: Jul 15, 2014
Location: IN YOUR HEAD, SHIT FOR BRAINS
Posts: 670
Age: 8
Pronouns: she/her
Whenever I make a Boss Battle; after you win; the boss simply disappears. Here's the script:
Help..PNG
None of the text appears.
 
Back
Top