Page 1 of 1

DKC Zero-Speed Patch

PostPosted: March 19th, 2008, 3:02 pm
by Simion32
Have you ever wondered what DKC would be like with a world completely devoid of motion? This patch will stop most, if not all, moving objects in Donkey Kong Country. If you wish to explore the game in this state, you will need to make good use of PAR codes. Please comment, and tell me if you see anything moving that shouldn't be, or if there are other problems with the patch - I will update this patch as I find more speed addresses, or if someone finds something moving. However, updates to this patch will not be first priority (unless you need something specific, Qyz). I highly recommend you start with a finished save game when experimenting with this patch. Be sure to back up your save file.

This patch is for "Donkey Kong Country (U) (V1.0) [!].smc".
To apply IPS patches, you will need this utility: Click Here to get Lunar IPS
DOWNLOAD: DKC1_ZeroSpeedPatch_v1.01.ips
Affected Objects
  • ALL enemies
  • ALL items and objects (including those generated by hand-slapping an Item Cache)
  • some particle effects
  • Non swinging ropes
  • Themed moving platforms
Bad Side Effects
  • You cannot defeat most bosses.
  • Arrow platforms become defective, and will disappear quickly after you step on them
  • You won't be able to use any objects stored in Item Caches, except for Life Balloons

Re: DKC Zero-Speed Patch

PostPosted: March 19th, 2008, 6:11 pm
by Qyzbud
You legend.

I've been looking forward to this for quite some time. Now I can make some serious mapping progress!

Edit: This is working like a charm, such a handy patch for my needs... Thanks so much! :D

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 3:40 am
by Simion32
You're welcome :)

Now all I need to do is make level tile map extraction tools for DKC2 and DKC3. In fact, I'm being serious - that could really help the mapping project once you finally get around to the other two games in the trilogy. Although I have the DKCLB to work on, I am willing to help out in any way I can. As I've said before, knowing how to extract stuff like this is an important aspect of the DKCLB - since I cannot fully emulate a SNES, instead I must extract and work with the data. Don't expect anything immediately, but I will work on it! Hopefully it won't take as long as this patch did... tile data actually has a structure and is easier to work with, while this patch was just a seemingly random jumble of values.

I noticed that something in Jungle Hijinxs is moving, it causes that rouge nut you mentioned to float up and to the left, along with some of the nuts the Necky throws. I'll have to fix that, because once a speed is in memory, it's likely to remain there until you exit the level.

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 4:22 am
by Qyzbud
Having a tool which can extract an entire level layout would obviously save oodles of time. It would also remove the potential for human error which is ever-present in my methods. One other thing it would do is make me feel like I could have used weeks and weeks of my life more wisely. ;)

As for the movement in Jungle Hijinxs, I must admit that I haven't played the first world with the Z-S patched ROM yet, so I hadn't noticed that. I'll be doing that for certain tomorrow, as I plan to finish one or two maps for display in my mapping thread. If I notice any anomolies, I'll keep you informed.

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 4:28 am
by Simion32
Hmm... I'm not completely sure, but I think what's moving is the small particle effects used for the KONG Letters.

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 4:50 am
by Qyzbud
The golden animal tokens have the same 'sparkle' effect... and similar ones occur after breaking the continue barrels.

I'll take a look.

Edit: Yeah, some definite strangeness with that Perched Necky. I can't imagine why, but he seems to be immune to DK's hand slap. Of course that's in addition to the other strange behaviours he exhibits. The second (vertical) rope in Ropey Rampage seems to sometimes move at a constant (but variable from one time to the next) speed, too. First time I played the level, it moved to the right slowly, all the way to the end of the level... the next time, it was still. The next time, it was moving faster than the first time. This is interesting!

I love what you have accomplished, even with these quirks.

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 5:05 am
by Simion32
Even if the particle effects were moving, it would be such a small speed, so the nut wouldn't move that fast. I wonder what is moving then.. ?

Edit: I found what was moving the rogue nut. It turns out that I had not found it starting speed, thus it was never blanked-out in the first place. In a while, I'll update the patch - I think there are a few more things to find, as you have mentioned.

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 7:21 am
by BlueTronic
Do you have to have that lunar ips thing for it to work? And version 1.0?

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 7:52 am
by cfh
Lunar IPS hard patches the ROM, so yes, you need it. And it needs to be version 1 because otherwise it would be different than version 1, and screw up.

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 7:57 am
by BlueTronic
I can never seeem to find that ROM anywhere! :x

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 9:06 am
by Simion32
Kong-Fu wrote:Where can I get version 1?

I'm pretty sure Qyz or a mod would say something like: "DO NOT ASK FOR ROMS."

Just so you know, I think we aren't allowed to discuss where to get ROMs or link to them. Sorry, I can't help you there. Google is your friend.

We really need a rules page... :?

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 9:33 am
by cfh
We really need a rules page... :?

We're working on it...

but yeah, it's certainly possible to find. Keep looking.

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 10:05 am
by Jomingo
I'm in the process of writing the rules page, but it says nothing about Roms, and Qyzbud hasn't responded to my latest revision. I want it perfect before I post it.

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 10:29 am
by Simion32
In a previous thread, Qyzbud wrote:Anyway, my official stance is that ROM hack discussion is fine, posting IPS patches is fine, but requesting/providing/linking any ROMs is a strict no-no.

This is where Qyz last mentioned that: http://www.dkc-atlas.com/forum/viewtopic.php?f=18&t=129#p2080

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 12:59 pm
by Cody
Strangely, the patch doesn't work for me. The game loads fine until I select my file, which causes the screen to go black while playing the Simian Segue music. I am using Donkey Kong Country (V1.0) (U) as the ROM in question.

Is there something I'm missing or not doing correctly? I have worked with Lunar IPS for a little over three years and hadn't had any problems with it until now, so I doubt it's my program.

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 1:08 pm
by Qyzbud
I doubt it, but perhaps you have a version other than the [!] ROM dump... The exclamation mark signifies that the ROM is perfectly extracted, and matches the data on a cartridge precisely. Something like this may leave you with a half working patched ROM...

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 1:47 pm
by Cody
Heh, I found the ROM...but there's a problem with the patch on this one!

The enemies do stop in place, but their animations continue to loop. Are they supposed to do that?

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 2:07 pm
by Simion32
Cody wrote:The enemies do stop in place, but their animations continue to loop. Are they supposed to do that?

Yes, they are supposed to. This patch only affects the objects' actual movement speeds, not animations. Perhaps, it may be possible to hack the animations.

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 2:10 pm
by Cody
That'd be great; it would make Qyz' maps more complete, since they'd have the starting animation frame down to an exact replica.

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 2:28 pm
by Simion32
Hmm... there's a chance that the animations are embedded into the object behaviors. I'll have to have a look at this. I don't expect to find any easy way of doing it, though.

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 5:12 pm
by Qyzbud
Simion, this isn't a 'fix' request... but I've noticed a few things which may interest you:

Floating Animal Buddies
I don't know if you think this is an issue (I personally think it's rather funny and cool...), but Animal Buddies seem to levitate rather quickly when released from their crates. You have to be quick to mount them, or they fly away!

DK enters as different object?
Also, it appears that DK is registered as a different object when busting out of his treehouse in Jungle Hijinxs... Instead of falling to the jungle floor, he stays in place, which forces him back inside the treehouse. It's quite fortunate that the game prevents you from re-entering the treehouse a second time, or DK would effectively be 'grounded' (unable to leave his bedroom). :lol: Do you suppose this happens because the game doesn't recognise DK as being 'DK' at first? Maybe it has him set as another object until he lands, or something like that.

Slight Gnawty movement
Another thing I've noticed is that the trio of Gnawtys after just after Rambi's crate seem to move, but incredibly slowly. All other baddies in the level seem completely motionless, but these three do indeed move. I'd estimate their speed at 1px ever 4.5 seconds.

Gnawty revival
Even more peculiar is that defeating the first of those three Gnawtys, then going left until he's off-screen, and returning... will bring him back to life! This doesn't happen with the other two, and it only works if you go left rather than right. That's what I've observed, anyhow.

Zippy Zinger
I just played Bouncy Bonanza, and discovered a Zinger which wasn't exactly Zero-Speed compliant. A couple of Neckys in Ice Age Alley were flying backwards at a medium speed, too.

Don't let these things worry you, you've done an awesome job. This patch is extremely useful and valuable to me! :)

--
Animation freezing isn't really necessary (although it would be extremely useful as a time-saver!). I've already worked out my own methods to ensure frame-perfect accuracy. Of course, such a thing would make my project even easier... to the point where almost no skill or ingenuity is required at all. Hmm... I don't know if that's a good thing after all! Just kidding, anything which saves time and ensures precision is worthwhile. This isn't something I'd ask you to do though, especially when other projects deserve priority.

Re: DKC Zero-Speed Patch

PostPosted: March 20th, 2008, 11:23 pm
by Simion32
Qyzbud wrote:Simion, this isn't a 'fix' request...

Half of these are actually errors which I haven't fixed! :P
Qyzbud wrote:Floating Animal Buddies
I don't know if you think this is an issue

Yep. I have fixed this already, I just haven't updated the patch yet.
Qyzbud wrote:DK enters as different object?

I think this is because different speed values are used to propel DK out of the treehouse, and I blanked those out. So he sticks in place. It's quite strange.
Qyzbud wrote:Slight Gnawty movement

I've noticed this but haven't fixed it yet. They are moving with a speed of $FFFF ... which is the slowest anything can move to the left. I think they get a "starting" speed, but then some "path code" takes over after this. In which case, I blanked out the path, so they keep moving.
Qyzbud wrote:Zippy Zinger
I just played Bouncy Bonanza, and discovered a Zinger which wasn't exactly Zero-Speed compliant. A couple of Neckys in Ice Age Alley were flying backwards at a medium speed, too.

Another problem, but I haven't found out what causes this yet. I haven't played Ice Age Alley.

Re: DKC Zero-Speed Patch

PostPosted: March 21st, 2008, 5:02 pm
by Simion32
UPDATE: All mentioned problems have been fixed except for Ice Age Alley. You will have to re-download it and apply to a clean ROM in order to update.

That "zippy zinger" was caused by the generation of some unknown object. It was very strange, indeed...

Let me know if anything else isn't working as it should.

Re: DKC Zero-Speed Patch

PostPosted: March 21st, 2008, 6:12 pm
by Qyzbud
Awesome, I'll download it and keep you posted. ;)

Re: DKC Zero-Speed Patch

PostPosted: March 29th, 2008, 2:41 pm
by Cyclone
Great patch Simion. I finally got around to trying it. This seems like it will be useful for ripping animations now that the sprites stay still.

I noticed a small bug though. The Slippas in Reptile Rumble move 1pixel about every 5 seconds.

Re: DKC Zero-Speed Patch

PostPosted: March 29th, 2008, 2:48 pm
by Simion32
Cyclone wrote:I noticed a small bug though. The Slippas in Reptile Rumble move 1pixel about every 5 seconds.

This is the same thing that happened to the 3 Gnawtys mentioned earlier. I don't have time to fix it right now, but I will soon enough.

In making this patch I find out just how much stuff Rare has put into this game... hopefully making the DKCLB won't be as hard!

Re: DKC Zero-Speed Patch

PostPosted: March 29th, 2008, 3:32 pm
by Cyclone
Cool. Well take your time. :) I like how you can see the final death poses after you kill a baddie and the stationary animations. I kinda wanted something like for animation reference incase I ever decided to animate one of the characters in the game. Good work!

Re: DKC Zero-Speed Patch

PostPosted: September 5th, 2008, 10:19 am
by Qyzbud
Cyclone mentioned the Slippas in Reptile Rumble... the Slippas in Millstone Mayhem are doing the same thing - inching forward, pixel by pixel. Do you suppose that they can all be stopped using one single change? Do you suppose they are all identical objects (called upon from the same data like the examples I was mentioning in your topic: List of all used DKC Object Digits & Fuctions)? Anyhow, I've found that it's easy enough for me to determine the Slippas' starting positions before they inch forward, but it would be great to have this issue fixed, if you find a spare moment.

Also in Reptile Rumble, I've noticed that the last Zinger (just before the cavern which holds the Enguarde token) sometimes isn't there... I think maybe it floats quickly upwards and disappears. Maybe these issues are related... :?:

Currently I'm going through the levels one by one to finish up my level maps, so I should be able to report anything else which isn't quite right.


Hey Simion, now that more info about the game's animation data has been found, do you think you would be able to develop a variant of this Zero-Speed patch which also freezes object animations? We discussed it briefly a while back, and although I said it wasn't a necessary thing, I must say it would be really useful as a time-saver when mapping the baddies. Just thought I'd ask, as I've been doing a lot of mapping lately, and I could probably cut the time I'm investing in half if I didn't have to worry about finding the right frame manually, or stuffing around with PAR codes...

Re: DKC Zero-Speed Patch

PostPosted: September 5th, 2008, 12:18 pm
by Simion32
The several errors in this patch are caused by objects that are loaded into memory with a speed. The code that loads these objects isn't the same as the physics which I blanked out except for DK/Diddy. I think it indexes into an array (i mean it gets the speed from a list of speeds. I'm so used to using all this technical jargon... :roll: ) and finds whatever speed it is going to load the object with. I blanked out quite a few of these, but obviously i missed a few.

I'm beginning to think (from my current knowledge of DKC's physics) that a few strategically-placed blocks of code could wipe out all of the speeds, as well as stop all animations.

The hard part, of course, is finding where to insert the code. I'll look into this and see if I can hack something together.

Re: DKC Zero-Speed Patch

PostPosted: September 5th, 2008, 12:33 pm
by Qyzbud
Thanks mate, you're a champ. Let me know ifwhen you figure it out. ;)

All of these indices, arrays, pointers, variables, etc. etc. are worth keeping tabs on for the Studies & Docs section, too.

Re: DKC Zero-Speed Patch

PostPosted: September 12th, 2008, 8:54 am
by Cyclone
Sounds cool. It would be nice if you had two versions. One that freezes the sprite's movement and one that Freezes the Sprite's movement and the animations.