Log in

View Full Version : Aces of the Deep Modding tutorial and tools!


Andreas86
12-27-21, 06:47 AM
As promised, I have written a tutorial on modding AOTD, based on my findings so far.. I have also included all tools needed. If anything is unclear please ask me here and I will try to explain. Everything can be found in the download below.

:salute:

https://drive.google.com/file/d/1EvcVB32g_YpIVVrpqrxJ-5WVgyxIXi7W/view?usp=sharing

John Pancoast
12-27-21, 12:11 PM
Thanks for these too. I plan on diving into them later today/tomorrow. The various new screens are outstanding too !

John Pancoast
12-27-21, 01:26 PM
I notice the readme in this file is for AOTP. Am I correct in assuming the same info. in it would apply to AOD ?

Andreas86
12-27-21, 01:54 PM
Thank you, I am happy you like the mod! :salute:

Hmm, what readme are you referring to? The AOTD modding tutorial I have written myself for Aces of the Deep..

Yes, all info I have listed applies to AOTD.

John Pancoast
12-27-21, 02:07 PM
Thank you, I am happy you like the mod! :salute:

Hmm, what readme are you referring to? The AOTD modding tutorial I have written myself for Aces of the Deep..

Yes, all info I have listed applies to AOTD.


Oops, sorry for not being clear. The UP2NOWAP.txt readme.

John Pancoast
12-27-21, 02:37 PM
Disregard; I see what's up now after spending more than a glance at things.
Trying out the various tools a bit. Very handy !

Andreas86
12-27-21, 05:00 PM
Yes, especially Engie is really helpful in this regard. There are two problems I want to find a solution for, one is the LZW compression of BMPs which Engie cannot handle, and the second is that Engie hangs when you try to save over a certain amount of frames to a sprite BMP with internal type SCN/OFF.

Take the "TOWER" BMP files for example. There are four of them, that builds up the bridge views in 4 parts, covering 90 degrees each. They are all Dynamix BMP sprite files, 16 frames in each BMP. The internal palette is greyscale, type "SCN" with compression off. But when I try to save my own modified BMPs (I have tried many different approaches), Engie hangs when saving to SCN/OFF. I have yet to try to change all frames though, so I am not 100% if I am doing it right..

I would very much like this new bridge with lookout concept to work, and maybe improve the internal view of the tower a bit. This is frame 0 of TOWER1.BMP, with my own sprite added:

https://tinyimg.io/i/zRHDfvE.jpg

John Pancoast
12-27-21, 07:09 PM
Yes, especially Engie is really helpful in this regard. There are two problems I want to find a solution for, one is the LZW compression of BMPs which Engie cannot handle, and the second is that Engie hangs when you try to save over a certain amount of frames to a sprite BMP with internal type SCN/OFF.

Take the "TOWER" BMP files for example. There are four of them, that builds up the bridge views in 4 parts, covering 90 degrees each. They are all Dynamix BMP sprite files, 16 frames in each BMP. The internal palette is greyscale, type "SCN" with compression off. But when I try to save my own modified BMPs (I have tried many different approaches), Engie hangs when saving to SCN/OFF. I have yet to try to change all frames though, so I am not 100% if I am doing it right..

I would very much like this new bridge with lookout concept to work, and maybe improve the internal view of the tower a bit. This is frame 0 of TOWER1.BMP, with my own sprite added:

https://tinyimg.io/i/zRHDfvE.jpg


Good idea, very nice ! One really big plus about modding AOD is that unlike SH3, it doesn't need much if any gameplay modding so nice additions like this are able to be concentrated on.
I use a camera file in SH3 that allows me to move right up to the front of the bridge, "in front" of the watch crew, so the non-crew AOD bridge view never really bothered me as I couldn't see them in SH3 either.
But this addition would be great.

SnipersHunter
12-27-21, 07:46 PM
This would indeed be a great addition:Kaleun_Thumbs_Up:

Silent Otto
12-28-21, 12:43 AM
So, I can see the file menu and folders but can't actually open or download anything? :06:

Tried Internet Explorer, Edge, and Mozilla Firefox; All the same thing? Am I doing something wrong here?
Tim

Andreas86
12-28-21, 05:43 AM
So, I can see the file menu and folders but can't actually open or download anything? :06:

Tried Internet Explorer, Edge, and Mozilla Firefox; All the same thing? Am I doing something wrong here?
Tim


That's weird.. You don't get any download option? I checked the link just now and it works fine.

Andreas86
12-28-21, 05:55 AM
The internal palette is greyscale, type "SCN" with compression off.

I was quite a bit wrong here regarding SCN\OFF. OFF does not mean compression is "off", but rather has something to do with offset for sub-images. I found a great source on the file formats here:

https://moddingwiki.shikadi.net/wiki/The_Incredible_Machine_Image_Format#SCN.2FOFF_form at

SCN/OFF format

The majority of the image files in The Incredible Machine, including the graphics for puzzle parts, contain an SCN and an OFF chunk. The image data is stored in the SCN chunk, while the OFF chunk contains an index for each sub-image's data inside the SCN chunk. The SCN chunk has its own compression format, described in the next section.

Jeff-Groves
12-28-21, 07:31 AM
Nice stuff Mate!
:up:

For extracting the DYN files Game Extractor works great!
You only need the FREE basic version.
http://www.watto.org/game_extractor.html

John Pancoast
12-28-21, 07:44 AM
So, I can see the file menu and folders but can't actually open or download anything? :06:

Tried Internet Explorer, Edge, and Mozilla Firefox; All the same thing? Am I doing something wrong here?
Tim


I use Firefox. Click on the download icon in the upper right corner of the screen.

Jeff-Groves
12-28-21, 04:14 PM
@Andreas86,

You mention you have some code you can't compile.
Would you mind sharing that code?
Being from the 80's maybe C code?

Jeff-Groves
12-28-21, 05:16 PM
As to Hex Editing?
I started with free editors. I moved to SweetScape 010 LONG ago for it's features.
It's not free but once you buy it and learn it's capabilities? There's nothing like it out there!
I bought it years ago around version 3 and am running version 12 now!
I have used it to figure out AND write Scripts and Templates to work Animations in SH3, SH4, and a bunch of stuff for SH5.

For serious Hex Work? I don't think there's anything better! And I've been doing Hex for 30+ years!

Now if you want SERIOUS information and help on Game files?
https://forum.xentax.com/index.php?sid=f42795fbf7715f79da421e40b58139b8

Yes I'm a registered member there but under a different Handle.

Andreas86
12-28-21, 06:50 PM
@Andreas86,

You mention you have some code you can't compile.
Would you mind sharing that code?
Being from the 80's maybe C code?


Well, I didn't save the info but I found it online, think it was a source for LZW/huffman compression from the 80s? As I understand it caught on with many game developers.. But coding / compiling /decompiling etc is beyond my understanding. See if I can find it in the browser history though.

Jeff-Groves
12-28-21, 07:09 PM
No problem. I've got some code and a few programs now to test.
:03:

Andreas86
12-28-21, 07:29 PM
@Jeff-Groves: Is there any chance you could help me work out how to save the TOWER frames back into SCN/OFF format sprite BMPs? Engie just hangs upon saving. I have contacted the creator of Engie, but it is a longshot. It would be so nice to be able to give the old conning tower a stroke of paint..

Jeff-Groves
12-28-21, 07:54 PM
@Jeff-Groves: Is there any chance you could help me work out how to save the TOWER frames back into SCN/OFF format sprite BMPs? Engie just hangs upon saving. I have contacted the creator of Engie, but it is a longshot. It would be so nice to be able to give the old conning tower a stroke of paint..

I'm going to look at this problem.
With the information you are providing that helps me to break down file structures and work towards a solution.
The OFF sets could be a clue once looked at in Hex.

Andreas86
12-28-21, 08:10 PM
Excellent! :up:

Silent Otto
12-28-21, 11:46 PM
I use Firefox. Click on the download icon in the upper right corner of the screen.

John,

Thanks! I tried them all and nothing but I went back in under Firefox today and downloaded them into WinRAR, that worked and I can now extract to the desktop.

Tim :up:

Andreas86
12-29-21, 08:06 AM
John,

Thanks! I tried them all and nothing but I went back in under Firefox today and downloaded them into WinRAR, that worked and I can now extract to the desktop.

Tim :up:


If I understand you right, it has something to do with my files being in 7zip format. Sorry, I have become so used to 7zip archiving that I did not consider that others may not use it. Happy you got it sorted. :up:

Silent Otto
12-29-21, 09:39 PM
No worries Jens!


I need to try 7-zip anyways as it appears more game downloads are using that.


Tim

Jeff-Groves
12-30-21, 03:15 PM
I'm breaking down the Header area of the BMP files.
I can see the count of frames, size of each frame, and so on in the INF section.
There's more information in the SCN section that I'm working to understand.

OH! I also have the source code for the Engie File Converter.
That is proving VERY interesting!
And according to the license terms?
We can do whatever we want with the source!

Now I hate C# with a passion! (always thought it was a lazy language and slow compared to a proper C++) But I'm good enough to read the source.

Jeff-Groves
12-30-21, 04:00 PM
Information on the BMP format!
This is just a quick break down on the HEX format. More work to follow.

4 bytes = BMP:
4 bytes read as a signed short = file size to read.
4 bytes = INF:
4 bytes = the amount of data to read. This contains frames and sizes of each frame in pixels.
This section is variable but you read each as a byte with a 00 seperator.
4 bytes = BIN: (or other) I'll Explain this later.
4 bytes read as a signed short = data to read until we hit the next chunk.

To be continued!!!

Andreas86
12-30-21, 05:14 PM
Good work Jeff! Looking forward to more :yep:

Jeff-Groves
12-30-21, 05:21 PM
I'm still following the Hex values along with the source code for clues.
What I want is the source to decompress. From that? We can re-compress.
Then it's just to rebuild the file structure.
Given what I know now? I could probably inject things in a file through hex work.

FUBAR295
12-30-21, 05:32 PM
Jeff,

Very nice. :up:

Watching with keen interest.:yep: Now, I'll shut up get out of the way!

Good hunting,
FUBAR295

Jeff-Groves
12-30-21, 06:33 PM
Using the Battery.bmp file?
I've ripped out the whole VGA section info.
I changed the file size to read in Hex and the file opens in Engie File Converter.
That tells me We CAN adjust things just in Hex.
Next thing to try is to cut just a single section and run some decompression tests. Then re-compress for comparative.
Given what I did so far? I could probably extend files beyond stock features.
It's understanding the file structures and how the Game uses them that is the Key!

Andreas86 provided so much information that is helping greatly! So do NOT forget that this IS a Team effort!
:salute:

Andreas86
12-30-21, 07:10 PM
Sounds great! It would be nice if we could add more frames to make smoother animations for exampe.


But Jeff, if you could somehow find a way to reduce the speed of the wave cycling and bobbing in the tower view, and remove the wave bobbing entirely from periscope view, you would be my HERO. The boat should roll slower and smoother with the swells. The waves cycle far to fast compared to their big height, and it does not look good since the wave animation/rolling of the texture only extends a very short range out from the boat.

Jeff-Groves
12-30-21, 07:20 PM
As We figure out the file formats that MAY be possible! Only testing will show.
Say We have 5 different frames that control that. What if we add 5 more?
Now you've cut the roll down by half.
I'm seeing that the files themselves control actions. Not uncommon for early Games from the 90's.
I've also seen extended files that have no relation to the EXE's so that's a GOOD sign!

One needs to look at the files from the original release, then look at the files from any patch or updates!
You'll see them!

Andreas86
12-30-21, 07:48 PM
As We figure out the file formats that MAY be possible! Only testing will show.
Say We have 5 different frames that control that. What if we add 5 more?
Now you've cut the roll down by half.
I'm seeing that the files themselves control actions. Not uncommon for early Games from the 90's.
I've also seen extended files that have no relation to the EXE's so that's a GOOD sign!

One needs to look at the files from the original release, then look at the files from any patch or updates!
You'll see them!


Understand what you mean. That would work for textures yes. But the textures for the sea and their cycling is only part of it. It is 7 frames of them and 16 frames for the foam patches in SEA.BMP. My testing shows that of the 7 first frames, number 1 is a complete ocean view from the boat to the horizon. Number 2-7 are copies of different parts of number 1 (top to bottom), that build their way inward to the boat. 7 is closest to the boat. Of these, the inner 3/4(?) textures are also part of the rolling mesh.

It is the cycling / speed of this wave mesh animation I hope that we can take some control of. :hmmm:

Jeff-Groves
12-30-21, 07:58 PM
As We learn more of the files? That may be possible to change.
As you say, it's almost an animation based on frames.
One thing I'm VERY good at? Animations! No matter the format!
SH3, SH4, SH5? I am the Guy you talk to.
AOD, a Game from the 90's? I started hacking Games back then!
Probably forgot more then most people will ever learn!

John Pancoast
12-30-21, 09:59 PM
Sounds great! It would be nice if we could add more frames to make smoother animations for exampe.


But Jeff, if you could somehow find a way to reduce the speed of the wave cycling and bobbing in the tower view, and remove the wave bobbing entirely from periscope view, you would be my HERO. The boat should roll slower and smoother with the swells. The waves cycle far to fast compared to their big height, and it does not look good since the wave animation/rolling of the texture only extends a very short range out from the boat.


Jens, regarding the waves. You probably already know but the cycles can be reduced in dosbox.
Also, I seem to recall that the few seconds of fast cycles that occurs sometimes when you say, go on the bridge, is tc meant to simulate the time traveling to there.

Andreas86
12-31-21, 05:23 AM
@John, I know but that is a very primitive solution, which also reduces the game speed overall, making other actions take forever. My DOSbox is configured at fixed 9000, as type 486. This setting I find optimal for AOTD, and many other games of the era. In Topbench this setting equals about an Intel DX2/50. I see no point in running AOTD on anything slower than that. Below 8000/7000 cycles the wave animation becomes very choppy, even though the waves roll with a more natural speed.

There must be a way to gain control of the mesh cycle intervals without reducing CPU speed. So we can have an alternative to this "I am attacking with my rubber duck boat" feeling.


https://j.gifs.com/LZ9YlX.gif

John Pancoast
12-31-21, 09:15 AM
@John, I know but that is a very primitive solution, which also reduces the game speed overall, making other actions take forever. My DOSbox is configured at fixed 9000, as type 486. This setting I find optimal for AOTD, and many other games of the era. In Topbench this setting equals about an Intel DX2/50. I see no point in running AOTD on anything slower than that. Below 8000/7000 cycles the wave animation becomes very choppy, even though the waves roll with a more natural speed.

There must be a way to gain control of the mesh cycle intervals without reducing CPU speed. So we can have an alternative to this "I am attacking with my rubber duck boat" feeling.





Well, that is the huge storm/waves/no fog graphics of AOD but mine isn't that bouncy anyway. :hmmm: Strange.
I remember at the time, the wave action was a huge WOW factor for people in the game. :)

Might have been the first game with them, close if not.

Jeff-Groves
12-31-21, 01:48 PM
Reading through the source code is providing good information
that may help to decompress other files.
Also found some old Code from around 1990 that may help.
It's Turbo C which is Borland. I'll have to see if my versions of Borland will compile it.
:hmmm:

Jeff-Groves
01-01-22, 09:18 AM
Update to the BMP/VGA file structure.
-----------------------------------------

4 bytes = BMP:
4 bytes read as an int = file size to read.
4 bytes = INF:
4 bytes = the amount of data to read. This contains frames and sizes of each frame in pixels.
This section is variable but you read each as a byte with a 00 seperator.
4 bytes = BIN:
4 bytes read as an int = data to read until we hit the next chunk.
1 byte = Compression type used (01 = RLE -- 02 = LZW)
4 bytes read as an int = data in this chunk after it's decompressed.

4 bytes = VGA:
4 bytes read as an int = data to read until we hit the next chunk.
1 byte = Compression type used (01 = RLE -- 02 = LZW)
4 bytes read as an int = data in this chunk after it's decompressed.


It's IMPORTANT to have your Editor of choice set to Little Endian!

Jeff-Groves
01-01-22, 10:33 AM
Now I may have a clue as to how to encode the SCN/OFF format.
I'm working on Tower1.bmp
What I am going to do is CUT out a section from the SCN chunk.
OFF is Off Sets to data I'm pretty sure.
So if I cut from the last off set position and remove the last off set information,
then change file size references? It should open and be missing 1 frame.
As far as I can tell at this point? The SCN: information does not contain the size of the file decompressed.
:hmmm:

Jeff-Groves
01-01-22, 11:22 AM
Also noticed Engie misreports number of frames by 1.
Frame 0 to Frame 22 = 23 frames. NOT 22.
That's bad coding. Makes me wonder what else is sloppy coding.
Going to see if I can Compile the Source Code and if I can? Will track down the error and correct it.
The License says "DO WTF you want".
:)

Jeff-Groves
01-01-22, 11:31 AM
Understand what you mean. That would work for textures yes. But the textures for the sea and their cycling is only part of it. It is 7 frames of them and 16 frames for the foam patches in SEA.BMP. My testing shows that of the 7 first frames, number 1 is a complete ocean view from the boat to the horizon. Number 2-7 are copies of different parts of number 1 (top to bottom), that build their way inward to the boat. 7 is closest to the boat. Of these, the inner 3/4(?) textures are also part of the rolling mesh.

It is the cycling / speed of this wave mesh animation I hope that we can take some control of. :hmmm:
Again I'l say this...........
ADD frames to the last 16 frames. Say double each frame so you end up with 32 frames.
Unless you try it? You will never know what happens! Just thinking that won't work and even thinking it will proves NOTHING!
A Theory is only ever a Theory until you prove it one way or the other!

Jeff-Groves
01-01-22, 01:30 PM
OK. Pretty sure I have the SCN/OFF format figured out!
Not only that but I'm pretty sure HOW we can adjust it at our whim!
You better get comfortable with Hex Editing but it is fairly simple.

So. As you asked Andreas86
You CAN change the Tower stuff! I'm still documenting the steps needed but it can be done!
Engie will do everything except build the final file to be in Game. That is where working in HEX comes in.
Me? I'll write a script for 010 to build the file.Unless people buy 010? It's all by hand!

Andreas86
01-01-22, 05:51 PM
@Jeff, I am following your progress with excitement! It is fantastic that you are closing in on the SCN format, and that it can be changed. And thank you for posting your progress as you go, it is very interesting to read. Good work! :salute: Look forward to documentation, and hopefully making some tower graphics.

About the wave stuff, I believe you regarding the doubling of textures. But we might be talking about different things. Just to be clear, I did not mean changing the cycling speed of the textures, but rather the speed of the sine wave mesh animation:


https://tinyimg.io/i/pILktRY.gif

By the way, here is a quote from the interview with Mike Jones of Dynamix, from the interview found here on subsim.com:


"Jones: The waves were conceived fairly early, before a development team was assembled. I needed to put together a demo/proof of concept and had the opportunity to work with Tim Gift [Tim is the director of Tribes, a soon-to-be released Dynamix product] on that. He put together a quick demo of the rolling waves by introducing sine wave motion to a grid and texturing it. It looked good, but needed to be speeded up. After the project got underway, another programmer, Peter Lukaszuk, took the concept and developed the waves as you see them in the game. And they hardly take any processor time. The funny thing is that I never asked Peter how he did the waves; I mean the exact method. People would come up to me at shows and asked how we did the waves, and I could honestly reply, "I don’t know"."

Jeff-Groves
01-02-22, 03:12 PM
Looking for that wave motion but haven't found a solid lead at this time.

I am a bit confused about a file and trying to track it's history now.
Shapes.vol
File size in a DOS version is 279,558 bytes
File size in a CAOD version is 727,656 bytes
I suspect the first may be a compressed version or lower details on Models?

I checked the 2 patches available here at SubSim and none contain that change. Yes I opened the Resources.xxx files.

AOD Dos is running on my system but the CAOD is not at this time.

In the Subsim.exe, those shapes are listed with a .bmd extension.
BMD usually means Binary Model Data and there are bmd files in the Game folders.

John Pancoast
01-02-22, 04:04 PM
Looking for that wave motion but haven't found a solid lead at this time.

I am a bit confused about a file and trying to track it's history now.
Shapes.vol
File size in a DOS version is 279,558 bytes
File size in a CAOD version is 727,656 bytes
I suspect the first may be a compressed version or lower details on Models?

I checked the 2 patches available here at SubSim and none contain that change. Yes I opened the Resources.xxx files.

AOD Dos is running on my system but the CAOD is not at this time.

In the Subsim.exe, those shapes are listed with a .bmd extension.
BMD usually means Binary Model Data and there are bmd files in the Game folders.


Most likely due to detail level. CAOD has slightly more detailed graphics.

Jeff-Groves
01-02-22, 04:15 PM
So all the files you sent me are CAOD.

John Pancoast
01-02-22, 04:21 PM
So all the files you sent me are CAOD.


No, don't even own it.

Jeff-Groves
01-02-22, 04:34 PM
That's strange cause all your files have the larger Shapes.vol then the AOD DOS I downloaded.
:hmmm:

John Pancoast
01-02-22, 04:38 PM
That's strange cause all your files have the larger Shapes.vol then the AOD DOS I downloaded.
:hmmm:


Most if not all the downloadable versions are not patched.

Andreas86
01-02-22, 04:41 PM
The ships in CAOTD are textured, whereas the ones in DOS AOD are not. Could this have any relation to the problem?

Jeff-Groves
01-02-22, 04:42 PM
It could. Interesting to figure out.
The smaller file will probably be best to work with to understand the shapes.

ChristopherTarana
01-03-22, 01:02 PM
I prefer unmodded as safer! I have no experiance modding software I think the factory graphics look great!


Christopher Tarana

Andreas86
01-03-22, 01:56 PM
https://i.imgflip.com/2h3som.jpg

John Pancoast
01-03-22, 05:32 PM
I prefer unmodded as safer! I have no experiance modding software I think the factory graphics look great!


Christopher Tarana


I agree. We also don't want to try to make AOD more like SH3 (vice versa in fact would be better).
But the work already done and being done isn't doing that and add to the game vs. trying to make it something it isn't.

Andreas86
01-04-22, 04:26 PM
I have extracted all .dat files from AOD.DYN, they can be found below in the link. I have also posted ALL the extracted graphic files from both SHELLVOL.DYN and AOD.DYN in a new thread.

https://drive.google.com/file/d/1jI4UPvAx1YHPPFQF2BLIoQRhVKNmI6QU/view?usp=sharing

@Jeff, you have probably already extracted these already, but there is an intriguing .dat file called COUNTER.DAT, it contains the information below. Could it be a lead to some of the inner workings of AOTD?

MISC
INIT
LUMP
SCENES
MONO
EVENTS
AI
DIALS
CLIPPING
IO
LOOP
MISC_VM
SIMRATE
DRAWING
MOVEMENT
COLLISION
TEMP1
TEMP2
TEMP3
TEMP4


Also, reading through SUBSIM.EXE in HxD is interesting.. Has anyone ever seen a UFO in the game?

Andreas86
01-04-22, 06:42 PM
I have to correct myself regarding my earlier post in the other thread, regarding BRIDGE.PAL. It is indeed used by the game, and is in fact loaded in right after all the TOWER.BMP files.

How AOD loads in various files, and their order can be viewed by running DOSbox in debug mode (DOSbox SVN DAUM has this included), and directing the output log to a text file. This is interesting! Here is a short example logfile i made, just starting AOTD, selecting single patrol, convoy encounter, starting the sim and then going to the bridge view:

https://drive.google.com/file/d/1taBBvVxgr6qtKoCOHkNkYFwV2Hh2flR-/view?usp=sharing

It will output a log of everything that happens ingame, and the files that are loaded accordingly, so I recommend trying this! Also, the log confirmes that AOTD will indeed look for the files it needs in the SIM folder, and then afterwards in the .DYN archive if it cannot find a standalone file.



-By the way, from now on I will post everything I find out relevant to modding in this thread. In my other thread with the graphics mod I will just post updates and additions to the mod.

Andreas86
01-12-22, 11:54 AM
I have made a new torpedo stopwatch, see the screenshot underneath. It works in many screens, and I have got the palette stuff worked out. Problem is it crashes the game in some screens like the map screen. And when in bridge view, the are that should be transperant shows garbled pieces of what seems to be other textures in memory.. For some reason AOD seems very finicky about the LZW compressed BMP sprite files. Engie will not save in LZW, and because of that the file size of my new CLICK.BMP (3 sprites in 1 file) is much larger than the original. So I suspect that may be the cause of the problem. The strange thing is if I try to make a new CLOCK.BMP using a solid block type clock like the original, the game won't accept it. But this new one with transparent background works ok, at least this specific file. Some of my other variations dont. Weird.


https://tinyimg.io/i/quSi3Vv.png

Giesemaschine
01-21-22, 05:18 PM
I placed "ACE-OUT.EXE" in AOD's "SIM" folder per the instructions.

I went into DOSBOX, navigated to this folder, ran "ACE-OUT AOD.DYN DAMAGE.BMP" and it spit out the "DAMAGE.BMP" file in that folder.

Awesome!

But no matter which graphical editing program I open it with, it gives me a file corrupted error.

Any ideas? I am on Linux if that matters, but I used dosbox to extract the .BMP so I don't think it should.

Andreas86
01-22-22, 09:37 AM
I placed "ACE-OUT.EXE" in AOD's "SIM" folder per the instructions.

I went into DOSBOX, navigated to this folder, ran "ACE-OUT AOD.DYN DAMAGE.BMP" and it spit out the "DAMAGE.BMP" file in that folder.

Awesome!

But no matter which graphical editing program I open it with, it gives me a file corrupted error.

Any ideas? I am on Linux if that matters, but I used dosbox to extract the .BMP so I don't think it should.


Great to hear that you tried it out! The problem is that it is no ordinary BMP, and normal graphic editors won't open it. You have to open it with Engie, the program I have linked to and included. In Engie, you can open those files, view and save. The BMPs that ACE-OUT spits out are files containing multiple frames/images. So for any file with .BMP ending, you should choose "save as frames" in the Engie file menu.

BUT you have to make sure you open those files with the corresponding palette file, and save while the correct palette is loaded. I assume you have downloaded the archive with all extracted files from AOD? The palette files are in there.

It doesn't matter if you are on Linux regarding Dosbox, but I have not tried Engie in Linux. Maybe it can work under Wine?

Andreas86
02-02-22, 11:43 AM
The SCN/OFF format saving problem has been solved! We can now edit and save all files that uses this method. I read on some other forums where Nyerguds himself wrote about him incorporating the format in Engie, and thought that it was just weird that it wouldnt work properly. So on a whim I went through his various releases of the program, and to my great excitement I found that version 1.5.3 (the first version to include the feature) works like a charm!! :yeah:

Here is the link to Engie File Converter version 1.5.3:
http://nyerguds.arsaneus-design.com/project_stuff/2018/EngieFileConverter/release/EngieFileConverter_v1.05.03.zip

It also turns out that this particular compression format used by Dynamix was reverse engineered by Knt47 (https://moddingwiki.shikadi.net/wiki/User:Knt47), with further detail research conducted by Nyerguds (https://moddingwiki.shikadi.net/wiki/User:Nyerguds). A detailed guide to the format has been released here:

https://moddingwiki.shikadi.net/wiki/The_Incredible_Machine_Image_Format#SCN.2FOFF_form at

Andreas86
02-04-22, 03:48 PM
It seems we may soon have the possibility to edit the 3D models of Aces of the Deep after all!

https://drive.google.com/file/d/1X47vs1fX9nG9h59g8Ux94m6MZBSws1YK/view?usp=sharing

This archive contains all the .DTS files found inside SHAPES.VOL in Aces of the Deep. I extracted these files from the SHAPES.VOL archive using the program 3Space Studio. This program promises to also be able to edit and save these 3D model files in the future. According to the developer on GitHub, progress is already underway for supporting this.

https://github.com/3space-studio/3space-studio

Following is a description of the format found on https://github.com/3space-studio/3space-studio/wiki/DTS.

DTS File Format
------------------

DTS is short for "Dynamix 3Space Shape" and is the most commonly used 3D model format across most of Dynamix's games, and the primary format for the Torque game engine. Common with these formats is a node graph which represents the skeleton of the model, and a series of objects which connect meshes to those nodes.

Each iteration of the 3Space engine also led to variations of the DTS file format, each with their own binary layout. Here is a (shortened) list of the variations of the DTS format:

3Space 2.0

DTS files with the { 0x08, 0x00, 0x14, 0x00 } tag are present in:
Aces of the Deep.

DTS files with the { 0x03, 0x00, 0x1e, 0x00 } tag are present in:
Earthsiege
Earthsiege 2.

DGS files contain DTS data, starting with the tag { 0x01, 0x00, 0xbc, 0x02 }, present in:
Earthsiege
Earthsiege 2.

DCS files contain DTS data, starting with the tag { 0xf8, 0x01, 0xbc, 0x02 }, present in:
Battledromehttps://tinyimg.io/i/XRhhMDA.png

After extraction I have tried several methods to open or edit these files myself, in various programs that express support for the .DTS format. There are converters for various programs that can convert between .DTS and newer formats, even 3ds, json, etc. Unfortunately those programs seem to only support the newer DTS format found in later Dynamix titles as well as the Torque 3d DTS format. I hope that there are someone out there who can figure out how to open and edit these files. If we only could open, edit and save back to the same format, we could possibly improve most of the 3d models. Fingers crossed that 3Space Studio will support this soon!

Andreas86
02-08-22, 10:52 AM
Here is something interesting. In subsim.exe there are two references to a debug mode/screen. I have not yet been able to provoke this screen, but it is referenced along with "memory left". And the free memory window you can provoke by pressing "left alt + left shift + M", so I have a strong feeling we should be able to call up a debug screen as well, with the right combination. If you look at the third HxD screenshot from the left, there are references to some special options that we cannot normally see.

I have also found two other features as you can see in the screens below.
"ctrl + alt + P" will toggle between "Port animations on/off", and "ctrl + alt + R" will toggle between "All rumors on/off". These combinations are not referenced either in the official manual, nor the last minute readmes afaik. Perhaps there are more like this.

Having access to the internal debug screen would be great as it could maybe lead us to understand AOD better, and to enable or disable various features.

I encourage everyone to try out key combinations and look for this. I know in Dynamix games like Betrayal at Krondor you could call up a "cheat" screen by going to the overhead map and holding down [Alt]+[right Shift]+[~] (tilde) keys for two or three seconds. I wouldn't be surprised if Piotr Lukaszuk (https://www.mobygames.com/developer/sheet/view/developerId,997/) did the same for AOD. I would very much like to be able to manipulate the wave action.

https://tinyimg.io/i/xcV5h5S.jpg

John Pancoast
02-08-22, 11:16 AM
Here is something interesting. In subsim.exe there are two references to a debug mode/screen. I have not yet been able to provoke this screen, but it is referenced along with "memory left". And the free memory window you can provoke by pressing "left alt + left shift + M", so I have a strong feeling we should be able to call up a debug screen as well, with the right combination. If you look at the third HxD screenshot from the left, there are references to some special options that we cannot normally see.

I have also found two other features as you can see in the screens below.
"ctrl + alt + P" will toggle between "Port animations on/off", and "ctrl + alt + R" will toggle between "All rumors on/off". These combinations are not referenced either in the official manual, nor the last minute readmes afaik. Perhaps there are more like this.

Having access to the internal debug screen would be great as it could maybe lead us to understand AOD better, and to enable or disable various features.

I encourage everyone to try out key combinations and look for this. I know in Dynamix games like Betrayal at Krondor you could call up a "cheat" screen by going to the overhead map and holding down [Alt]+[right Shift]+[~] (tilde) keys for two or three seconds. I wouldn't be surprised if Piotr Lukaszuk (https://www.mobygames.com/developer/sheet/view/developerId,997/) did the same for AOD. I would very much like to be able to manipulate the wave action.




Very interesting ! :up:

Jeff-Groves
02-08-22, 02:27 PM
Maybe search for Keyboard Codes (in hex).

https://www.cs.yale.edu/flint/cs422/doc/art-of-asm/pdf/APNDXC.PDF

Andreas86
02-08-22, 05:13 PM
Thanks for that file!

Is it the signed 8-bit integer, corresponding to the hex value that I should compare to keyboard scan codes? Or is it the HEX values as they stand. In example, the first encounter in subsim.exe with the phrase "debug" in HxD shows this in the decoded text:

Debug screen: %20s

In HxD that shows in Int8 values as: 58, 32, 37, 50, 48, 115.
(including the colon and blank)

Translating to the keyboard scancodes I get: F12, M, PRT SCRN, DOWN, UP. Unsure of 115..

If using only the HEX values I get:

3A = CAPS
20 = D
25 = K
32 = M
30 = B
73 = S

Am I totally wrong in my understanding here?