Jul 3, 2006 at 9:41 PM
Join Date: Mar 24, 2006
Location:
Posts: 194
I don't really care if you release the information your witholding but others might & I'm just pointing out an analogy that might make you change your mind for their sake
I retract my statement and offer you an appology. Turns out I misinterpreted the situation; you were right in your assessment.upthorn said:
I love my work. That, and drinksmixing, are my only two hobbies.Osmose said:Even if I don't agree with your ideas, you're damn inspirational when you describe them.
Osmose said:Personally, I think that creating an easy editor for those that have no assembly knowledge would be a great idea, because there could be someone who is a wonderful game designer, and could have great plans for a Cave Story mod, but doesn't have the experience or wish to learn assembly. Even if they didn't do all the work, the end result could still be a great mod that people enjoy. Besides, people definately will give major credit to the creator of the tool, as well as the one who uses it, and those that claim all the credit will be shunned by the community.
The problem is how the game doesn't store these things directly. They're hammered into the code at variable locations, sometimes even the result of a function (such as when determining which frame to display during an animation - there are no actual numbers involved.) It cannot be edited directly.Shmitz said:It wouldn't even need to be an editor, just documentation of offsets where information for attributes or behaviors are stored and basic information on how they can be modified, much like what Shining Phantom and Kapow gave us for modifying npc.tbl.
Mind you, I'm not some random schmoe who's been around since the start. Maybe you and your friends are all some tight-knit clique working hard together towards some greater common goal, but I've been here only about 2 weeks. I have no obligations towards anyone to post anything at all and I could've just hovered around the boards without registering and taking in info without giving anything back.Shmitz said:But it really grates on my nerves watching someone purposefully withholding potentially useful information from anyone when this community has always been about sharing and building upon each other's efforts.
Wow. You didn't look very hard, did you?lmaokrn said:whats the offset for the hover thing?
RuneLancer said:Infinit Hover
To prevent the Booster from running out of juice, simply change the following line to the one underneath...
85 D2 74 16 83 3D E8 E6 49 00 00 74 0D A1 E8 E6
85 D2 74 16 83 3D E8 E6 49 00 01 74 0D A1 E8 E6
This tells the code to stop removing "juice" from the Booster once it hits 1 instead of 0. This is the simplest way of doing this.
Changing Text Color
Offsets 0141EE and 014358 push an RGB triplet onto the stack and later drop into a text-rendering function. The value you will find at these offsets is 0x11002200. Each byte is a different component (Red Green Blue Unused.) Change to whatever you want (ie, 0xFF000000 -> completely red.)
There are quite a few instances of regular text and I don't feel like going through them all right now. Look for 0xFFFFEF00 in your executable and try replacing them with colors of your own - test them one by one. I don't think that string exists outside of text colors so you should be fine. I'll update this when I feel like looking through offsets for the right ones.
Manipulating Oxygen
Offsets 0x0169A3 and 0x0169CA control the oxygen you get when you go underwater. Oxygen depletes at the rate of 1 per 1/10th of a second, but you only see every 10 unit (so 1000 means 100, 350 means 35...) They're set to 0xE8030000 (0x000003E8; which is 1000.) Try changing them to, say, 0xF4010000 (500; 50 units) or 0xC4090000 (2500; 250 units.)
Infinit Ammo
While this could be done as an assembly hack, you just need to give a weapon 0 ammo when you obtain it. So why bother.
Startup Info
Startup info is set in a routine at 0x014B50. You can find the startup information for health at 0x014BCF (current health) and 0x014BD8 (max health.) The other MOV instructions, I'm not clear on yet. 0x1000 and 0x0A000 get set a lot.
Fun with Water
The sounds played when you jump in and out of water are PUSHed onto the stack. You can find the instructions at 0x00016216 and 0x000162bd respectively. Just change the value the PUSH instruction uses from 0x22 to whatever sound you want.
Basic Weapon System Info
0x0009366C contains the weapon experience tables. Each is 3 x 4 bytes in length. For instance, 0x00093678 to 0x00093684 is for the shooting star. The majority of the info on a weapon (number of shots, frames, sound, behavior...) is hard-coded into the code itself, but some basic info exists elswhere in the executable. I'll leave that one for the aspiring hacker to find. Here's a hint: it's 0x2C in length and starts by the damage.
Weapon Energy's duration can easily be altered by changing a single value. This should be around 0x0026AA0.
08 81 79 6C 90 01 00 00 7E 38 8B 55 08 8B 42 6C
Also, the following two values control how much a weapon energy crystal has to be worth in order to switch sizes (ie, medium and large.) This is somewhere in the vicinity of 0x0026A10.
48 44 89 4D 8C 83 7D 8C 05 74 08 83 7D 8C 14 74
The sound it makes when bouncing can be found here, near 0x00267D0.
E1 0D 74 38 6A 01 6A 2D E8 63 9E FF FF 83 C4 08