I figured that I'd just provide some status update report on the progress of mine:
I removed the last remaining piece of code getting the original data structures from DUNE2.EXE the OD2 engine last night, introducing replacements for these in libeastwood with code resembling more the original c++ code in implemented in more generic fashion now.
The more I refactorize and clean up the disassembly code in C, I'm getting a much better understanding of the remaining code as well,
it's quite interesting to see in how similar fashion much of this code was implemented compared to much of our older in dune legacy/doon lunacy.
Not only do I think the code will be easier to fit into my own engine when I'm done decompiling it, but I think it should be quite easy for others with their
own engines to integrate. All the data structures are easily available from the library, with the OD2 implementation using it,
both aiming at (and progressively succeeding in;) being written in a very generic fashion, making it relatively easy
to implement in different languages from as well.
Myself I'm thinking about implementing python classes for my Dune2File class in libeastwood, then reimplement the
c++ code decompiled from Dune 2 in python using them for use in doon lunacy, eventually separating libeastwood from the engine completely (ie. no linking
or use of it's c++ API), making use of python interfaces that'll be easier to figure out and play with and the engine less tied into it, making it more generic (buzz
word/fetish of the day;) for supporting other games as well eventually..
So yeah, that's kinda describes some of my thoughts and efforts on the subject, you can follow my progress in more detail in my branches (as you'll see,
they've been quite active lately

):
https://code.launchpad.net/~doonlunacy/libeastwood/trunkhttps://code.launchpad.net/~proyvind/doonlunacy/od2News of my progress might not be that interesting to gamers at this moment, I haven't really added any new functionality
visible for people only playing the game, nor made any new discoveries to share on these things interesting to most either
(the OpenDune guys does a lot better job on this;), but at least people will notice that my project(s) are still alive and making
progress.
Hopefully it will look a bit more interesting to other devels with similar projects of theirs, perhaps even being of some
use to them, and if I'm lucky, getting a bit help, feedback and motivation in return for me to ever reach a milestone others
might care about.. :p
I sure know that making guesses on a lot of these values is a lot of annoying hazzle, involing losalotsa trial and error getting
what you're satisfied with, having somewhat the same behaviour kinda matching Dune 2's..
Ie. creating separate classes for each unit, structure, missile etc. in the game, figuring out frame offsets etc. used
for each of these I sure know feels a "bit" tedious (trying to get the cutscene playback, with timing, looping etc. correct, and still
failing was definitely the worst one for me, which I never even got in an okay state, for the playback itself nor design-wise;p)..
So for all you doing your own Dune 2 engines in C++ at least, I hope to grab some of your attention, what you'll mainly find
here is various components (of your choice which in specific you'd like to use, mostly individually if you'd like a well;) that
you can easily plug into your engine without doing major rewrites. This is the main gain and focus of mine as well, rather than
a complete engine matching ~identical original gameplay (OpenDune has this focus already, succeeding a lot better at it, with
far more progress:o).
Now the remaining component of OD2 that libeastwood's not fully complementing at the moment is EMC stuff, I've merged in
the code of DST in the past, now I need to merge in the appropriate parts of the EMC interpreter into that code, then the major
work left of on this one is the dark voodoo of the EMC scripts+functions that I need to identify and figure out (my biggest fear
so far, hoping to dip into OpenDune efforts getting to much of it first, before me ;p).
Blablablabla, at least some new rambling and Dune 2 related news again in here, haven't been much of that over the last month..
