Xaroth

Dune 2
OpenDune

149 posts in this topic

As every 3 months, a bump to this topic:

Today we released 0.3 of OpenDUNE, the next version in our ongoing C-ification of Dune2. Please see http://www.opendune.org for more details and download locations.

0

Share this post


Link to post
Share on other sites

What happened to the forum?

It's giving me "403: Permission Denied - Proxy Error".

0

Share this post


Link to post
Share on other sites

No idea, works fine for me...

0

Share this post


Link to post
Share on other sites

Well connected from Cell Phone it works too (because the cable internet is down).

0

Share this post


Link to post
Share on other sites

We slowed down a bit ... but we are not dead yet :D

Today we released 0.4 of OpenDUNE, the next version in our ongoing C-ification of Dune2. Please see http://www.opendune.org for more details and download locations.

1

Share this post


Link to post
Share on other sites

Nice to see the project steadily going forward :) Keep up the good work guys! :laugh:

0

Share this post


Link to post
Share on other sites

Playing it right now. Really amazing work! It has every detail dune 2 has already.

0

Share this post


Link to post
Share on other sites

Oh wow. They got it all done? Cool :)

0

Share this post


Link to post
Share on other sites

Well, if I understand the dev team's goals correctly, the C-ification of the original code is just the beginning.

0

Share this post


Link to post
Share on other sites

Oh, obviously, but it's nice to see they actually got that far. Having all of Dune II as readable code is already a huge step :)

1

Share this post


Link to post
Share on other sites

That's right :) Hopefully a stable cross-platform release with bugfixes and maybe even some minor improvements will be out soon.

0

Share this post


Link to post
Share on other sites

Looking forward to playing the game, never had a chance before.

0

Share this post


Link to post
Share on other sites

Um, what's stopping you? Get DOSBox.

1

Share this post


Link to post
Share on other sites

Yea, and get the Gravis Ultrasound patch for high-quality synthesized music :laugh:

BTW, I've found out an alternate method of getting higher quality music in Dune 2. If you get TiMidity++ with Windows synthesizer (TWSYNTH), it will install an alternate MIDI synthesizing driver you can use with DOSBox. It is my understanding that the driver is soundfont/patch dependent, meaning that you can vary music quality depending on what patch set you have. So you can use EAWPATS GUS Patches to get high-quality music in DOSBox that way too.

0

Share this post


Link to post
Share on other sites

In a bit belated news, TrueBrain has posted in the OpenDUNE Developer's Blog that the current stage of the project is nearing completion:

[P]rogress report:

Functions done: 1163 / 1229 (94%)

Functions named: 1180 / 1229 (96%)

That says most of it. We are nearly done converting all functions to real C (not my fake assembly-C). The functions that remain are related to sound' date=' voice and music. It has little to do with OpenDUNE itself, so it slowly walks after us.

The rest of OpenDUNE is done. Including all the bugs, the weirdness and the exact identical behaviour Dune2 had. I am so proud :D When we started this project, I was hoping it would finish some day .. just never imagined it would. Makes me want to say HA! to all those pessimists who told us this was the wrong approach, that it would never be finished, that we should join (team up) with existing projects, ... Well .. for those I only have to say: HA!

There, I enjoyed doing that.

So, I am sure you now wonder: and now? Well .. a lot.

During our conversion, we kept the 16bit memory allocation. Its a pain. It does not allow for any extension in any way. So, the job that followed immediately after finishing conversion was: start moving the 16bit pointers to real pointers. This is not as easy as it sounds, as there are tons and tons of references in the 16bit world to structs and arrays. Simply moving them to the 32bit/64bit world causes many errors, because calls in the 16bit world can no longer see these objects.

A few days ago we managed to move out all UnitInfo, StructureInfo, TeamInfo and HouseInfo to the 32bit/64bit world, which was a HUGE milestone. Today we are very close to move Widgets out, which is around 80% of the work that has to be done for that. While at it we are also moving other variables and pointers from the 16bit world to 32bit/64bit when we feel like it, and the list of variables that needs doing is getting shorter and shorter.

The other thing we have been working on in parallel, as they kinda depend on each other, is dumping the information from Dune2.exe in a format we can work with, without needing Dune2.exe. In theory it would be possible to just read Dune2.exe on startup, read the information, and use it. But because there are many many pointers (which we would have to convert, which requires knowing where it used to point to), we decided to dump this information in plain C, in so called table-files. These are just files where you see endless variables defined for every entry. See for example:

http://svn.opendune.org/trunk/src/table/unitinfo.c?mode=view#filecontent

The content of the file is converted one-on-one from Dune2.exe 1.07EU. We simply parsed the information via a simple tool. So we start to depend less and less on Dune2.exe, which is only for the better :D

What else ... yeah, we named many more variables. And we also see a lot of unused variables. At least we know 100% sure they are unused now, as if not, we would have noticed by now (by the reason we converted everything :D Shall I say it again? We converted EVERYTHING).[/quote']

0

Share this post


Link to post
Share on other sites

Last night was a nice little development sprint, Truebrain and glx were committing changes faster than I could read through, but it did lead to being able to drop the dependency of the emulation layer.

Truebrain posted a better explanation

What this means, basically, is that from this point forward we can start optimizing, improving and reworking things in OpenDUNE.. all the ideas we had in the past can now, technically be implemented (as long as it goes with the vision of the development team ofcourse)

1

Share this post


Link to post
Share on other sites

Nice going, I've already checked up the posts in the development blog :D

0

Share this post


Link to post
Share on other sites

Ok, I downloaded opendune c++ source code and I tried to compile with Visual Studio 2010 (opening opendune_vs100.sln)... just trying to set a new unit object parameter regards HouseID that deviates the unit targeted (I called it deviantHouseID) as personal Deviators Patch and it seems to work (I tried a Scenario with 1 Atreides Deviator, 1 Harkonnen Deviator and 1 Ordos Deviator). I was inspired by this... :)

 

However I noticed that Autoscroll pointer works only if it selected human unit, and if you use Scroll with mouse click, it snaps away on max of level position (e.g. if you left mouse scroll on top, it snaps away on top limit of level!). Why? The cycles are too much quick?

 

 

EDITED

I found something:

https://github.com/OpenDUNE/OpenDUNE/commit/f437c3ca0729fcd9a98b2ede49e997db953cde8a

+

https://github.com/OpenDUNE/OpenDUNE/commit/f33e0e15ac6abae9cfd1e2a1ac83782a21601f00

 

Tomorrow I'll try at work with VS2010. :)

 

 

An example made on YouTube:

0

Share this post


Link to post
Share on other sites

Ok it works, now pointer is more playable as original game. :)

 

 

P.S. Sorry I can't post on opendune forum at work, I think proxy script blocks it.

0

Share this post


Link to post
Share on other sites

Posted (edited)

Resuming this topic, because OpenDune is still the most faithful porting of Dune2 original game.

I'm trying to bring SDL1.2/SDL2.0 support even for Win32, because SDL is very good and simple to manage on Windows compiling by MSVC.

So I wanted to give a Zoom In/Out feature (+/- keys) and a complete toggle fullscreen (F11 or Alt+Enter) mode, since with current default WinAPI code there is only possibility to manual resize window, but breaking original aspect ratio of game...

If anyone would like try my Fork, please go here: https://github.com/drnovice/OpenDUNE

consulting PR changes info: https://github.com/OpenDUNE/OpenDUNE/pull/281

 

Moreover: currently I can't try to compile on Linux/Mac, can anyone try if these features work fine on those systems and report feedback here or on github? Thanks!

Edited by drnovice
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now