-
Posts
75 -
Joined
-
Last visited
Never
Everything posted by minniat
-
Hey, here's a link to Function List of Amiga version of Dune 2. The list contains only brief description of functions but more detailed description will be placed further on my homepage. The functions are sorted by addresses. Of course it's incomplete list and still needs much work. The begin/end are the addresses in memory where the code was relocated. The type is the CODE, JUMP (jump addresses) or DATA I hope my work will help in OD2 and OpenDune projects. If you have any questions please feel free to write. Here's an example: 68167236 68167338 CODE Reveal_Terrain( Pos, Sight ) This function reveals terrain at position Pos and within Sight radius. Here's a description of some terms I use: Interface Region - this is just button! Screen Region - this is a part of the screen (map, mini-map, sidebar, topbar etc.) Carrier - this is the container that can be a cell, unit or structure.
-
New Dune 2 Clone Project (Dune 3: Return to Arrakis)
minniat replied to minniat's topic in Dune Editing
Yes, you can use for example WinUAE emulator. The game in this version uses "CyberGraphX" to control graphics card connected to Amiga. WinUAE can emulate it. Well, the Amiga version is quite cool (I've been playing it and it give much fun) but it's still worse than PC one because 1. The graphics is in 32 instead of 256 colors. 2. There is only one music soundtrack instead of several in PC version. Some other differences: 1. The speed of the game differs between both versions. 2. The map generator creates random spice fields in PC version. 3. The TEAM.EMC scripts are not used at all in Amiga version. Don't know how it is in PC version. And as for some technical stuff: 1. The SHP shape files are designed for planar bitmaps instead of chunky ones in PC version. 2. The WSA animations are also in planar format. However for example Format80 compression algorithm is same for both versions. Yeah, this is true as the game uses Amiga specific libraries. Greets. -
New Dune 2 Clone Project (Dune 3: Return to Arrakis)
minniat replied to minniat's topic in Dune Editing
Shroud icons are just normal overlay icons thus they have their own entries in icon.map file (they are in 7th table of icon.map - for example all terrain icons are in 9th table). -
New Dune 2 Clone Project (Dune 3: Return to Arrakis)
minniat replied to minniat's topic in Dune Editing
It uses original Dune 2 map generator, but if it comes to calculate random numbers it uses standard rand() function instead of that included in Dune 2. It can be changed since the random function of Dune 2 is known, I just wasn't able to link it into program (because it was compiled by other compiler than I use now - GCC). Actually the reveal function and - in future - also the spice field generator function uses the ScanRegions() mechanism from map generator with lookup table included in original ICON.MAP file :) -
I made some work regarding scenario format from Amiga version of Dune 2. Here you can download scenario converter for Amiga. It converts scenario from Amiga format to plain text. Note that these are Amiga executables. http://minniatian.republika.pl/Dune2/Files/ScenPack.lha
-
New Dune 2 Clone Project (Dune 3: Return to Arrakis)
minniat replied to minniat's topic in Dune Editing
Hi! :) After a period of time I returned to this Dune 2 clone project. Here's a SourceForge link to it: http://sourceforge.net/projects/dune3 It's called now: "Return of the Guild". Note, that the game will require Amiga equipped with AmigaOS3.x system and graphics card. The graphics however are taken from PC version of the game from original SHP files (Format80 and Format2 decompressing algorithms are used). So they are in 256 colors (Unlike original Dune 2 from Amiga which used 32 colors). I wrote part of the engine which is working. It's features are: 1. The game generates random terrain which can be smoothly scrolled within screen 2. The terrain is revealed in circular shape 3. The structures can be added to map and selected by mouse. Once selected the sidebar control panel appear with build options. More informations soon :) All these features can be seen on the screenshot: Here's a first screenshot from the game -
I think it doesn't matter that the project was halted as long as it can be downloaded from the site http://stratagus.sourceforge.net and edited. It uses scripting language so the writing of Dune 2 clone should be quite easy. More advanced games like Warcraft 2 and Starcraft clones were written in this language. The manual for the language can be found here: http://www.lua.org/manual/5.0/
-
Here I attach as a ZIP file Side Bar redrawing procedure translated to C. It contains also many functions and structures that appears in Dune 2. So this is second function (besides seed map generator) which I wrote based on the ASM source. Notice that this function is based on Amiga version of the game thus it refers to some Amiga structures and functions like for example RastPort - this is structure used in rendering into display. Later I will gather all the info into WWW page. All functions in this source are based on original, and this code can be compiled on Amiga to working one (I tested it and it generates SideBar exactly like Dune 2 does). Note that I didn't touch this code for a couple of years, it's copied from my database. Note that the Side Bar rendering function only renders things that were changed since last call to this function. Besides this function I translated to C also the Shape Color Convertion function, Flip Shape function, basic drawing functions like Draw Line and Rect Fill and it's probably all. But I still have much stuff that is incomplete and needs description before I can publish it. Dune2SideBar.zip
-
Thanks for the link. Your question: Yeah, the cursor actually is being redrawn in Unit Drawing part of the routine if the unit is current! So the cursor appears over the current unit.
-
Here is a Structure Handling - it's very easy: Get First Structure Handle Palace - beacuse it's special building Update Side Bar Do trivial damage Upgrade Progress Repair Progress Construction / Repair Unit progress Execute EMC script for that building Get Next Structure DID YOU KNOW that Palace is repaired for free because its HP is very high so the repair costs evaluated by the division is zero! :) Unit Handling is easy too: Timing Stuff - so the handling is performed every period of time Get First Unit Turret angle stuff Movement / attack stuff Rotation stuff Deviated unit stuff Execute EMC script for that unit Get Next Unit Global display refreshing is as follows: Display iconmap in current view Display sandworms Display cursor Display all ground units in display Display extra animations (this is for example explosions) Display air units Greets! I hope it will be of any help for people which write Dune 2 clone projects :)
-
Well, I stopped working on it by far, because I was busy with my other projects on AmigaOS.
-
Hi! Today I copied all Dune 2 database from my Amiga hard disk to PC and examined it. There is many interesting stuff worth publishing. I'm working on the WWW page which will contain the informations gathered about Dune 2 sources, but here I would like to publish very interesting thing: Dune 2 main loop! It describes how the things are done during the initiation and gameplay: Dune2 Main Procedure: Allocate memory for dataShow game IntroShow Menu and process menu eventsMain Loop:If House is not specified Ask For HouseClear data buffers - clear various data buffersRead IconsInit Color Convertion tableI called it Buffer Manager - it works on Graphics BuffersIf scenario is not loaded Load New ScenarioSetup Boolean Maps (used for map Shroud)Set Graphics Buffer to 0Process Buttons of graphics user interfaceShow Unit Description at text panelRedraw Side Bar - redraws all side-bar related graphicsProcess Mouse Events - processes selection and map scrollingPrint amount of CreditsGet Key EventProcess All Units on mapProcess All Structures on mapRedraw MapInit Text PanelCheck Win / Lose Conditions. If mission completed exit loopDone! Do you have any questions related to this?
-
OK. I'll gather the material, describe it and upload as soon as possible.
-
Hmm.. No :(. Recently it was ported to AmigaOS that's why I ask.
-
There is open source strategy game engine called Stratagus. With this engine there was written StarCraft port for Amiga for example. Maybe we can make new Dune 2 clone which uses this engine (it's a scripting language AFAIK)!
-
Hello Segra! I would like to announce you that I can help you with OD2 project with my Dune 2 material which has been completed through last years. This material consists of many de-compiled fragments and routines of original Dune 2 code as well as description of many things related to Dune 2. Are you interested in it? If so I might publish here informations that I think should be useful in OD2 project. Maybe it could be useful in OpenDune project aswell. The routine which I published already is the seed generator translated fully to C (with original random function). It shows that original Dune 2 was written in C or similiar language and proves that some functions can be faithfully converted to C with some effort. I have a (far from complete though) list of functions divided into sections that appears in Dune 2 with significant names, arguments and value returned. I think it will be useful here but I warn that I didn't touch it through last few years, but I can return to it and try to complete it, but it still requires much work. I have also the description of main loop of the game. Can you tell what informations do you require by now so I can look if they appear in my material and share these informations? This might be good start of our cooperation. I will also try to read through the forums to find what informations are still needed. OK, so it's all for now. I'm glad that I can help and my material can find a use. Cheers.
-
I'm working on Dune 2 clone for Amiga called Dune 3: Return to Arrakis. Here is a brief screenshot from the game. I will continue the work on the game in incoming weeks and give here information about progress. How do you like the screenshot? It gives you the basic layout of the game screen. Notice the battlefield at top-left of the screen, mini-map at top-right, big picture of Barracks at middle-right and panel with buttons at bottom-right (with Soldier and Infantry icons). The panel is similiar to Starcraft. The engine is at basic state: the only interactive element is that you can scroll the battlefield. However it has some very useful features like: screen regions - battlefield and panel with buttons are examples.shapes, icons and pictures - engine can load Dune 2 shapes and icons and display them + any pictures in IFF format.The game is on Amiga and because of that I will rather not publish it here. Cheers.
-
AFAIK the Spice Harvester can only carry up to 700 credits and you can only speed up the process of refining in the EMC script, but not the harvester capacity.
-
Hey, great to see someone works on EMC scripts besides me. :) I completed a tutorial on how to write your own scripts (in 2003 year). http://minniatian.republika.pl/Dune2/EMC.HTM Well, my coder/decoder supports only BUILD.EMC by far, as I didn't discover the purpose of all UNIT.EMC external routines yet.
-
Yes, it can be of great use. I attach log file of UNIT.EMC. It contains unit names e.g Carryall or Trike but not the names of external routines (only indexes). Foot, Wheleed etc. are used in TEAM.EMC but from my experience the game does not use it at all within game engine. LOG.TXT
-
Nyerguds' editor allows to edit statistics of units like firepower, range, hitpoints. EMC External routines refer to structure of unit ie. current position on map, house of this unit, state of the unit etc. I have recognized most of the members but still some are unknown to me. Unit structure is used within EMC external routines (ie. pieces of code within EXE). For example first UNIT.EMC external routine obtains some information about unit.
-
Exactly :D. Some of the members of unit structure is unknown to me.
-
Well, I was very busy these years and didn't complete UNIT.EMC description. In short UNIT.EMC describes units' behavior in various states like: AttackMoveHarvest etc. The fact is that I could continue it even in short time, but the only obstacle is ~63 huge UNIT.EMC so called "external routines" (read about BUILD.EMC "external routines" here) which access some unknown data. I wish I could describe mentioned ~63 routines and finish the work. By far I decoded only few of them.
-
[quote author=