Jump to content

Dune 2000 1.06p - Game patching (bug fixes, new features)


Recommended Posts

Posted (edited)

 

Download latest version here: https://downloads.cncnet.org/Games/Dune2000/Dune2000_1.06p.zip

 

Package includes:

cnc-ddraw

Dune 2000 Config tool

CnCNet - Improved Skirmish/LAN/Online lobby

rules.ini

Fix for "The application was unable to start correctly (0xc000022). Click OK to close the application." crash - https://github.com/CnCNet/dummy-dplayx/releases

 

Note: Extract the files to your game folder

 

Download Multi-Language (English/German/French/Spanish) created by Morphosis - https://downloads.cncnet.org/Games/Dune2000/MultiLanguagex.zip

Make sure you also check out the updated dune2000.exe for singleplayer: dune-2000-singleplayer-game-patching-new-features

Fedas updated mission launcher: dune-2000-mission-launcher

 

 

Credits

  • FunkyFr3sh - 1.06p patch creator
  • hifi - Patching framework creator
  • Sonarpulse - Patching framework creator
  • mvi - Ported the sub-house patch
  • CCHyper - Provided symbols and made the sub-house patch
  • D2k Sardaukar - Created the automatic high res graphic generator for the high resolution patch
  • tomsons26 - New dune2000.exe icon
  • N.Kindt - Creator of the first working high res patch
  • Morphosis - Multi-Language
Edited by FunkyFr3sh
  • Upvote 10
  • Downvote 1
Posted

Finally the new patching framework is ready for Dune2000 too!

What can we do with it? Well, it allows us to add as much new code to dune2000.dat as we want without space limitations!

Writing patches is now also possible in C, the github repo includes an example file (its the hotkey patch i been showing here some days ago converted to C)

Download here: https://github.com/cnc-patch/dune2k

It would be cool if we could get all patches together into that one repo

Does someone have any patches i could add? Someone got the source for the high-res patch?

-

Special thanks go to hifi and Sonarpulse, they both invented the new system

Wow, a new hotkey system (also waypoints :)) would help to keep the game fresh immensely.

Posted

I got the source for the high resolution patch for a large part (in Python). The other part is written by N.Kindt which does the actual editing of the .dat file. I think most of the changes in the .dat file, if needed, can be figured out without the source code. There are some edits done by N.Kindt to prevent crashes that are more difficult to figure out.

 

The patching framework sounds very interesting. Currently don't have the time to get my head around it.

Posted

Wow, a new hotkey system (also waypoints :)) would help to keep the game fresh immensely.

Anything is possible now :D My aim is to keep the game compatible to the original version (to avoid OOS, crashes), that adds some limitations but we are still able to do tons of cools things!

I got the source for the high resolution patch for a large part (in Python). The other part is written by N.Kindt which does the actual editing of the .dat file. I think most of the changes in the .dat file, if needed, can be figured out without the source code. There are some edits done by N.Kindt to prevent crashes that are more difficult to figure out.

The patching framework sounds very interesting. Currently don't have the time to get my head around it.

Yes it is possible to pull them from dune2000.dat, i didnt check yet how many changes the high res patch does, might do it tomorrow

Posted

Just had a look through this, looks really great!

 

It would be good to see about documenting useful locations for inserting our own code.

Posted

Sadly you still need to know some asm to find the locations even if its now possible to write the patches in C :(

Once you have found the location you just insert a call to your C function and do all the magic in there

Posted

Well hopefully we can compile a public list of locations as we find them.

 

I've started using the patching system, it seems very easy to use and I've already got some interesting things working!

Posted

Not sure if this is been posted before, I think CCHyper and D2k Sardaukar have looked into it before. But I've just written a quick patch to try out the patching system, which allows you to toggle the debug mode on and off using the Q key:

 

bPAufza.png

 

 

  • Upvote 4
Posted

Well hopefully we can compile a public list of locations as we find them.

I've started using the patching system, it seems very easy to use and I've already got some interesting things working!

Sonarpulse just added some goodies the other day, those include some new macros like @HACK and @REPLACE

 

Not sure if this is been posted before, I think CCHyper and D2k Sardaukar have looked into it before. But I've just written a quick patch to try out the patching system, which allows you to toggle the debug mode on and off using the Q key:

bPAufza.png

Thats pretty neat, i think i have seen this debug mode on a screenshot before but have never seen it myself live :D good job

Posted

Wow guys, this is amazing!

 

Does this mean we can add stuff like multiplayer co-op and working multiplayer mission-type maps like in C&C 95/RA?

  • Upvote 1
Posted

Sonarpulse just added some goodies the other day, those include some new macros like @HACK and @REPLACE and also this:

https://github.com/cnc-patch/dune2k/blob/master/sym.asm

https://github.com/cnc-patch/dune2k/blob/master/callsites.asm

That's cool, perhaps you could add a brief outline of what the macros do and how to use them :)

 

I've started putting together a list of useful variable locations and functions. The sym.asm file looks like a good idea, but it doesn't mention data types (or size) or function signatures which is what I've been putting in my list. Maybe it could be extended or used with a C file, so that we can build up a list of variable and function pointers.

Posted

Wow guys, this is amazing!

Does this mean we can add stuff like multiplayer co-op and working multiplayer mission-type maps like in C&C 95/RA?

probably, at least everything is now much easier :D mvi was already doing some very interesting things

That's cool, perhaps you could add a brief outline of what the macros do and how to use them :)

I've started putting together a list of useful variable locations and functions. The sym.asm file looks like a good idea, but it doesn't mention data types (or size) or function signatures which is what I've been putting in my list. Maybe it could be extended or used with a C file, so that we can build up a list of variable and function pointers.

I guess i dont need to answer to this since we been talking on irc about it, but for everyone else who is interested in this -> check out our repo on github, we will add more stuff the next days to show how we are going to do this :D

Posted (edited)

Not sure if this is been posted before, I think CCHyper and D2k Sardaukar have looked into it before. But I've just written a quick patch to try out the patching system, which allows you to toggle the debug mode on and off using the Q key:

 

bPAufza.png

Funny, that was already easily possible with my d2kx program. The program also contains lots of memory locations which we might be able to use for this patching framework. For quick hotkey adding d2kx is nice, but for real code injection this framework (with being able to inject C code) looks way better. Making it opensource is also nice.

 

Edit:

Lets say I want to inject code when a sound is played. There is a certain function (don't which one at the moment) in the code that is always called when a sound needs to be played. How do I apply this framework? Where do I make the inject? I guess I need to know the location where the function starts and inject from there or should I change the jmp everywhere it's being used to a new location? A small tutorial would be nice.

Edited by D2k Sardaukar
Posted

As a suggestion, I'd say a priority would be making missions work in practice/multiplayer, so please guys have a look for that :D Being able to improve AI wouldn't hurt either, but idk if the AI is gonna be an easy thing.

Posted

Does this mean we can add stuff like multiplayer co-op and working multiplayer mission-type maps like in C&C 95/RA?

For C&C95, that would require finding the auto-hunt bug, though, and find out why the AI in multiplayer keeps mindlessly churning out units. AI in multiplayer C&C1 seems severely... lobotomized.
Posted

For C&C95, that would require finding the auto-hunt bug, though, and find out why the AI in multiplayer keeps mindlessly churning out units. AI in multiplayer C&C1 seems severely... lobotomized.

I was referring to the ability to have buildings, units and triggers in online.

Posted

Umm. That already works? With all the limitations of single player AI, mind you. No one's ever going to bother writing a completely new base planning and AI in assembler language.

As for what these limitations are, here's an article I wrote on that:

http://www.moddb.com/mods/command-conquer-unofficial-patch-106/features/base-building-in-cnc95-skirmish

Man you do realise we're talking about Dune 2000 here right? :)

Posted

You said "like in C&C 95/RA". I was just showing that C&C95 has no such thing, and will never have it either.

It has, you can start with buildings and triggers do work right?

Posted

It has, you can start with buildings and triggers do work right?

Yes, but AI units don't. They blindly attack the most northern target on the map from the moment they are produced. As for triggers, most of those are activated by specific houses, or give stuff specifically to "the player house", so not sure how well most of them would work.
Posted

Yes, but AI units don't. They blindly attack the most northern target on the map from the moment they are produced. As for triggers, most of those are activated by specific houses, or give stuff specifically to "the player house", so not sure how well most of them would work.

Dune 2000 works the same for the most part (at least concerning events), several events only affect the player. That said there are still references to the planned co-op mode in the game, but as said before by others we have no idea what stage the idea was at before it was scrapped (likely at an early stage). It is unlikely that a working co-op mode could be added. 

Posted

From now on i am going to post all new features inside of this thread, else it is getting out of control if i create 100million threads :D

 

High res patch is now included in my patch, you can change the resolution via dune2000.ini "GameWidth=" and "GameHeight="

  • Upvote 4

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.