Quick Modding/Hacking Answers Thread

Sep 12, 2009 at 8:54 PM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3052
oh, it's at 93624 in the exe, sorry.
 
Sep 14, 2009 at 1:29 AM
essentially spirited away for an indefinite time.
"..."
Join Date: Jul 16, 2009
Location: in a castle.
Posts: 372
Pronouns: she/her
Ahem, is there anyone here that can make a map? I made one but whenever i enter to it i just reenter back to the place i was at from before.
 
Sep 14, 2009 at 6:01 PM
graters gonna grate
"Heavy swords for sale. Suitable for most RPG Protagonists. Apply now!"
Join Date: Jul 2, 2008
Location: &
Posts: 1886
Age: 32
Pronouns: he/him
Wowzers!!

Ryuuoutan said:
Ahem, is there anyone here that can make a map? I made one but whenever i enter to it i just reenter back to the place i was at from before.

OMG, RYU YOU FINALLY LEARNED TO USE THIS THREAD!!!! I'M SO PROUD OF YOU!!!!! :)

*applause*
 
Sep 14, 2009 at 8:53 PM
essentially spirited away for an indefinite time.
"..."
Join Date: Jul 16, 2009
Location: in a castle.
Posts: 372
Pronouns: she/her
Well, im not sure what the problem actually is. I dont find anything wrong...
 
Sep 14, 2009 at 9:01 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
Possibility 1:
When you used <TRA on the map you are leaving, you refer to the map you are currently on

Possiblity 2:
The event you reference with <TRA is the event on the destination map that functions as the door back to the map you were already in.

Possiblity 3:
You have not used <TRA at all, and are simply fading in and out.

You can refer to http://www.cavestory.org/forums/threads/a-few-basic-scripts-copypasta-able.1751/
for an example of what a door script looks like and a very thorough explanation of what it does.
 
Last edited by a moderator:
Sep 16, 2009 at 2:05 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: 3052
will fl-ing a flag that isn't set do bad stuff?
or, for that matter, fl+ing sumthing already set?
 
Sep 16, 2009 at 2:13 AM
Level 73 Procrastinator
"Life begins and ends with Nu."
Join Date: Apr 6, 2009
Location: Forgotten Tower
Posts: 2052
Error error

It shouldn't.
I've done it several times myself, and nothing bad's been noticeable.
 
Sep 16, 2009 at 4:21 PM
Bonds that separate us
Forum Administrator
"Life begins and ends with Nu."
Join Date: Aug 20, 2006
Location:
Posts: 2855
Age: 34
Pronouns: he/him
Had a weapon hacking idea sitting around for a while, posting it here more to get it out than anything. Is it possible to have a weapon that decreases in ammo based on how much damage it inflicts? I can see this being useful for creating an efficiency-based mechanic.
 
Sep 22, 2009 at 4:25 AM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Sep 22, 2009
Location: CA, USA
Posts: 29
Forgive my ignorance, but I have scoured countless threads and have been studying maps via Cave Editor (Sue's Workshop feels strange to navigate), and I still don't quite understand exactly how flags work. Could a member explain, say, the ins & outs one of the flags used in Mimiga Village (maybe all the different times diff. characters are in Arthur's House or the Assembly Hall), or the Sand Zone (the sun stones could be a good example), or anywhere? Thanks in advance!
 
Sep 22, 2009 at 5:12 AM
Level 73 Procrastinator
"Life begins and ends with Nu."
Join Date: Apr 6, 2009
Location: Forgotten Tower
Posts: 2052
The ins and outs of flags? They're pretty simple....
They're either on {Set} or off {Cleared}, and you just use them to check stuff, be it events or entities.
For an example....
Say you wanted to have a critter spawn in a room only after the player has been in the room at least once.
Upon the first time they enter the room, have the "enter" event {The one that runs when they enter the room} have <FL+XXXX somewhere in it, where XXXX is any 4 digit number. I'll use 0700.
Have the critter's Entity ID set to 0700, also, and the bit flag "Appears once FlagID is set" checked. {It's 0x0800}. Having this set up means that whenever flag 0700 is set, that critter will appear. Do remember that it's not instantaneous, so the critter won't appear on the first time the player enters the room, even though the flag gets set. The room must be 'refreshed', or reentered, before it takes effect.
So the player leaves the room and comes back, there will now be a critter where you placed it.
If flag 0700 was never set, the critter would never appear.
If you ever want the critter to disappear, you'd use <FL-0700, which would unset the flag, clearing it, making the critter stop appearing. This won't cause it to disappear when the event's ran, it just won't appear when they enter the room again.
Now, if you used bit flag 0x4000, "Disappears once FlagID is set", the critter would appear when 0700 is cleared, and disappear when it's set. Basically just reversed.
Flags with events are even easier.
The command <FLJXXXX:YYYY will cause the event to stop whatever it's doing and jump to event YYYY, if flag XXXX has been set. If not, it ignores it and continues on normally.
Flags allow you to keep track of what the player has or has not done, and so run the proper events.

Mostly I'd just say play with them, looking over the original script as much as needed to get your head around it. They're quiet simple when you get the hang of it, if a bit confusing at first.
 
Sep 22, 2009 at 7:41 AM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Sep 22, 2009
Location: CA, USA
Posts: 29
You describe it very easily, thanks! So flags are inter-script... gotta make a list of every single event, then. That's pretty wild. While I'm at it, I read somewhere that certain flag values are consistently used for certain events, like 200 or 2000 (forgot) to begin boss fights, and so on. Is that true? There must also be static event values - for example, #19 is bed-resting, huh? Is there a list of these? I did notice that all the custom ones seem to begin at the hundreds in the least. Pixel must have had photographic memory!

Heck, I'll just throw out some questions that have arisen to mind:

What are Options 1 & 2 (0x0100, 0x1000) for? They seem to involve horizontal/vertical triggering from my observation, but I can't determine how you decide if the trigger spans both [above and below/left and right] of the trigger, or just one of the directions. Regarding scripting, has anyone ever made a list of all animation or direction values? :D (Can't find any anywhere.) Specifically, I'm thinking of two: a graphic-flickering animation, like for creating a hologram - to quickly blink in and out of visibility - as well as specific control over the diagonal direction and speed of a drifting entity (e.g., when Curly drifts off of Quote after the Ironhead fight - whose sequence I cannot find in CaveEditor). Regarding animations, I also see that Curly and her four Mimigas are set to the same animation value, but they clearly execute different maneuvers in the boss fight; how does that work?

Is it possible to make a script/hack that lets you control a different protagonist somewhere in the game (hack in a MyChar2.pbm, or expand on the original raw graphic), and/or a script that allows you to have more than one different co-op AI (like, in Cave Story's instance, Curly fighting alongside someone else with you), either simultaneously or in different scenes?

(Ooh, speaking of co-op, a sudden dose of creativity: Super Smash Bros. Brawl Subspace, Cave Story-style! Haha.)

Does one second equal 100 or 60 ticks, or something else entirely? The "Liero" DOS game (incredible game, by the way) executable LieroKit considered 100 ticks equivalent to a second, and I wonder if this is the same.

Is it possible for teleporter selection to be used to simulate switching between different arsenals? (Basically, limited strategic weapon sets, with a swap station.) Is it possible to construct a script/hack that detects the total # of weapons in possession, and/or a script that detects the currently equipped weapon? Finally, does an <ML- command exist (reduce max. health in a script)?

And the big question:
Do you think it's practical to work on an extensive mod now, or do you predict modding versatility to be much easier after Cave Story Wii is released? We know that they must use the same or very similar engine if players can switch to "classic" mode. Hopefully. :(
 
Sep 22, 2009 at 12:21 PM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3052
Is it possible to make a script/hack that lets you control a different protagonist somewhere in the game (hack in a MyChar2.pbm, or expand on the original raw graphic), and/or a script that allows you to have more than one different co-op AI (like, in Cave Story's instance, Curly fighting alongside someone else with you), either simultaneously or in different scenes?
yup, with assembly.

Does one second equal 100 or 60 ticks, or something else entirely? The "Liero" DOS game (incredible game, by the way) executable LieroKit considered 100 ticks equivalent to a second, and I wonder if this is the same.
pretty sure it's 100.

Is it possible for teleporter selection to be used to simulate switching between different arsenals? (Basically, limited strategic weapon sets, with a swap station.) Is it possible to construct a script/hack that detects the total # of weapons in possession, and/or a script that detects the currently equipped weapon?
yes, cool idea. you'd just <TRA to the room you're in and go to a different event. as for the second part, you could have flags showing what weapon set ya have, but not your currently equipped weapon. you need asm for that. oh, for detecting total weapons in your possesion, use sfs money mod, and increase the counter every time you get a new weapon, then use flags to check whatever you need it for.

Finally, does an <ML- command exist (reduce max. health in a script)?
not currently, no.
easy as poop to hack in though.

And the big question:
Do you think it's practical to work on an extensive mod now, or do you predict modding versatility to be much easier after Cave Story Wii is released? We know that they must use the same or very similar engine if players can switch to "classic" mode. Hopefully.

hack now.
 
Sep 22, 2009 at 1:23 PM
graters gonna grate
"Heavy swords for sale. Suitable for most RPG Protagonists. Apply now!"
Join Date: Jul 2, 2008
Location: &
Posts: 1886
Age: 32
Pronouns: he/him
I think there are 50 ticks per second (ideally, although realistically it's usually a bit less than that due to lag).

As for the 0x0100 and 0x1000 flags:

0x0100 means it will call an event when you touch it.

0x1000 is a "special" flag that varies in function from NPC to NPC, although it usually specifies direction. I think the NPC faces left if the flag is cleared, and right if the flag is set although it might be the other way around.

For animations, refer to ANP.txt, which I believe can be found on the tribute site.
 
Sep 22, 2009 at 10:23 PM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Sep 22, 2009
Location: CA, USA
Posts: 29
There's the anim. list! I don't know why I missed it; maybe I glossed over it before... thanks, in any case.

Why <TRA? Is that the only way for the selection process to work? And thanks for the compliment - I'd always thought Quote's weaponry was just ridiculous and unrealistic, being able to cycle instantly through one's arsenal while bombarding a boss.

What about the floating anim. when Curly detaches from you after the Waterway boss?
 
Sep 22, 2009 at 11:11 PM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3052
nvm about the tra, just looked into the tel, and it jumps to an event on the same map.
nennyways, I thouht it was 50 fps, but 100 tps, whatever, ignore my blatherer.

thweet.
 
Sep 23, 2009 at 5:22 AM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Sep 22, 2009
Location: CA, USA
Posts: 29
Hm... anyways, I'll look into it. Thanks very much for the quick responses! Nothing on the Ironhead drift? I can't even find that anywhere in CaveEditor. (I actually have not begun a dot of programming work yet; I'm just developing the story and events to the prequel, probably creating as many new questions as there are answers to the original in the process. Go Google Docs.! For their portability alone - sucky tables and image-adding...)

Speaking of CaveEditor, why is it frowned upon versus Sue's Workshop? I read that somewhere, simply because games touched by CaveE afterward can't be opened in Sue's. But it seems like CE would be better to use since its development is allegedly active by Wistil (who seems to be easier to reach, judging by board activity), while SW seems to be abandoned. What is your opinion? (Forget those programs - hack in everything manually! :rolleyes:)
 
Sep 23, 2009 at 5:33 AM
Level 73 Procrastinator
"Life begins and ends with Nu."
Join Date: Apr 6, 2009
Location: Forgotten Tower
Posts: 2052
The age old debate

Keron said:
Speaking of CaveEditor, why is it frowned upon versus Sue's Workshop? I read that somewhere, simply because games touched by CaveE afterward can't be opened in Sue's. But it seems like CE would be better to use since its development is allegedly active by Wistil (who seems to be easier to reach, judging by board activity), while SW seems to be abandoned. What is your opinion?
Really I suppose it depends on your preference. Well, that's the politically correct phrase.
Over all, CE has little trouble with 3rd party programs {SW is notorious for getting upset when you add in ORGs with ResourceHacker}, has a much easier to read script editor, and probably an easier map editor now, with all the updates.
While SW isn't dead, it hasn't had as much updates as CE just received. {SP's supposedly still working on SW, with some nice promised updates}
So, I'd recommend CE over SW, but I haven't used SW once, ever, so I guess I've got a biased opinion :rolleyes:

Keron said:
(Forget those programs - hack in everything manually! :rolleyes:)
If you're going for the more advance stuff, like new and original weapons or something of the like, you'll be learning some Assembly and editing the EXE directly :D;
 
Sep 23, 2009 at 5:33 AM
Lvl 1
Forum Moderator
"Life begins and ends with Nu."
Join Date: May 28, 2008
Location: PMMM MMO
Posts: 3713
Age: 32
Keron said:
Hm... anyways, I'll look into it. Thanks very much for the quick responses! Nothing on the Ironhead drift? I can't even find that anywhere in CaveEditor. (I actually have not begun a dot of programming work yet; I'm just developing the story and events to the prequel, probably creating as many new questions as there are answers to the original in the process. Go Google Docs.! For their portability alone - sucky tables and image-adding...)

Speaking of CaveEditor, why is it frowned upon versus Sue's Workshop? I read that somewhere, simply because games touched by CaveE afterward can't be opened in Sue's. But it seems like CE would be better to use since its development is allegedly active by Wistil (who seems to be easier to reach, judging by board activity), while SW seems to be abandoned. What is your opinion? (Forget those programs - hack in everything manually! :rolleyes:)

CaveEditor, like some few months ago, was still very broken, and had many game breaking glitches. Plus editing a game with CE and then editing it with SW would break the game (because of the way SW handled the changes that CE made). However most known bugs in CE have been fixed (except that SW still cannot touch an exe edited with CE) and now CE is a much more reliable and functional editor. It is definitely the better editor now. SP is working on SW, but it's progress is rather slow, plus it's more or less a complete rehaul of SW. Plus the SW will use a "Project" system which will create mods that will be patched to the executable, which I rather dislike because of the complexity of such a system, and that it might not be compatible with mods that are already in progress.

Also, I wouldn't call mapping or scripting (using tsc) programming since scripting with the game's language and programming are two very different things.

I'm not sure about the ironhead thing, lemme check the script event thingy....
#1000
<KEY<BOA1000
<ANP0200:0010:0000
<ANP0210:0010:0000
<WAI0300<FAO0002
<UNI0000<CSS<EVE1001


This is what runs when ironhead dies. NPC 200 is curly (carried, unconscious) and npc 210 is unknown entity type 336.
 
Sep 23, 2009 at 7:49 AM
Junior Member
"Wow! The more I drink of this magical beverage, the more games I can play! Wheee!"
Join Date: Sep 22, 2009
Location: CA, USA
Posts: 29
Interesting... and sorry for the terminology mixup. In any case, I DID plan to hack the .EXE at least a bit. Not that I know the least of assembly - all jargon to me, currently, even after having read the stuff that starts with the MOV example, and pushing and popping stacks - I can't connect it to the game whatsoever, though I can't say I've ever decompiled it in the first place... (hopefully now that's the right word!)

Sorry to be a bother, but I cannot find a list of the static events (19=bed-resting?). Is that a fixed value or does the action actually link to a flag stored in one of the maps or something?

add: to be more specific with .EXE-hacking, I really just want to toy around with the weapons as of now. I saw the 2x/bounce speed hack and am wondering if attributes can be applied from weapon to weapon (like a trio of gravity-affected fireballs taken from the third-level Missile Launcher, or a first-level Nemesis with explosive shots, as taken from the Missile Launcher attribute. That sort of wacky stuff).
 
Back
Top