Forged Alliance Forever Forged Alliance Forever Forums 2014-06-14T10:13:50+02:00 /feed.php?f=41&t=6900 2014-06-14T10:13:50+02:00 2014-06-14T10:13:50+02:00 /viewtopic.php?t=6900&p=75325#p75325 <![CDATA[Re: Map Format]]> Statistics: Posted by nine2 — 14 Jun 2014, 10:13


]]>
2014-06-14T10:12:26+02:00 2014-06-14T10:12:26+02:00 /viewtopic.php?t=6900&p=75324#p75324 <![CDATA[Re: Map Format]]> Unhandled Exception: System.BadImageFormatException: Could not load file or assembly 'SCMAP Reader Writer, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.
at Minimap_Fix_Tool.Program.Main(String[] args)

Statistics: Posted by nine2 — 14 Jun 2014, 10:12


]]>
2014-06-14T07:24:32+02:00 2014-06-14T07:24:32+02:00 /viewtopic.php?t=6900&p=75322#p75322 <![CDATA[Re: Map Format]]>
I see no reason to even bother with the v60 map format. We have no map editors that can read them, and in my opinion, the aesthetic improvements in v60 do not justify the effort that would be required.

Statistics: Posted by Duck_42 — 14 Jun 2014, 07:24


]]>
2014-06-14T07:17:06+02:00 2014-06-14T07:17:06+02:00 /viewtopic.php?t=6900&p=75321#p75321 <![CDATA[Re: Map Format]]> Statistics: Posted by Duck_42 — 14 Jun 2014, 07:17


]]>
2014-06-14T06:12:38+02:00 2014-06-14T06:12:38+02:00 /viewtopic.php?t=6900&p=75318#p75318 <![CDATA[Re: Map Format]]>
Which field was the contour interval ?

Statistics: Posted by nine2 — 14 Jun 2014, 06:12


]]>
2014-06-14T06:07:30+02:00 2014-06-14T06:07:30+02:00 /viewtopic.php?t=6900&p=75317#p75317 <![CDATA[Re: Map Format]]> http://www.faforever.com/forums/viewtopic.php?uid=773&f=53&t=7618&start=0

Statistics: Posted by Duck_42 — 14 Jun 2014, 06:07


]]>
2014-06-14T03:15:19+02:00 2014-06-14T03:15:19+02:00 /viewtopic.php?t=6900&p=75313#p75313 <![CDATA[Re: Map Format]]> Statistics: Posted by nine2 — 14 Jun 2014, 03:15


]]>
2014-06-13T21:44:43+02:00 2014-06-13T21:44:43+02:00 /viewtopic.php?t=6900&p=75297#p75297 <![CDATA[Re: Map Format]]>
In v60 they changed the way the data is stored, so I can't just copy and paste that block from a v60 map. So, I'm now trying to figure out how the colors are stored and which colors are displayed where on the minimap. More to follow...

Statistics: Posted by Duck_42 — 13 Jun 2014, 21:44


]]>
2014-06-13T17:48:17+02:00 2014-06-13T17:48:17+02:00 /viewtopic.php?t=6900&p=75275#p75275 <![CDATA[Re: Map Format]]>

Have you tried taking a v60 map, changing the version in a hex editor, removing the weird bit and seeing if it runs in the game/map editor/hazard code? That would confirm that you have found all of the differences


Nope. However, I did try taking one of my v56 maps and making into a v60. It works fine in FA, but the mini map still doesn't show the cartographic view. There must be something other than map version affecting that. That makes me wonder if it's possible to get the cartographic view working in v56. I'm going to experiment some more and see what I can figure out.

Statistics: Posted by Duck_42 — 13 Jun 2014, 17:48


]]>
2014-06-13T06:42:20+02:00 2014-06-13T06:42:20+02:00 /viewtopic.php?t=6900&p=75238#p75238 <![CDATA[Re: Map Format]]>
Obviously it would be nice to know what all that stuff is but if we can't, perhaps we could just scan to the .dss string, then the 00 00 00 00, and just skip that stuff and read the rest of the file. I don't mind if we can't programatically change whatever this new stuff is ... but I still want to be able to read the other parts of v60 maps (writing not so important either)

Or, we could do the same method temporarily to load a bunch of v60 maps now, extract the unknown bit and have the extractions all sitting next to each other - might be easier to reverse engineer that way.

Have you tried taking a v60 map, changing the version in a hex editor, removing the weird bit and seeing if it runs in the game/map editor/hazard code? That would confirm that you have found all of the differences

Statistics: Posted by nine2 — 13 Jun 2014, 06:42


]]>
2014-06-13T06:39:01+02:00 2014-06-13T06:39:01+02:00 /viewtopic.php?t=6900&p=75237#p75237 <![CDATA[Re: Map Format]]> Statistics: Posted by Duck_42 — 13 Jun 2014, 06:39


]]>
2014-06-13T06:06:29+02:00 2014-06-13T06:06:29+02:00 /viewtopic.php?t=6900&p=75236#p75236 <![CDATA[Re: Map Format]]>
As best I can tell, the only difference is the addition of a section that places textures in the sky background (i.e. stars, planets, moons, etc) and a section that adds some sort of atmosphere texture. You can only see these textures with free cam on and the camera positioned correctly. I think they were put there to make 3D screenshots and vids look better (i.e. POV and close up shots looking out across the map).

The location of that data in the SCMAP file is what causes problems for Hazard's code. It's right after the TerrainType data and before the prop information. Hazard's map loading code has no logic for handling that, and it tries to load it as prop information (which fails and crashes). Unfortunately, the length of this data section appears to be variable, so a minimal understanding of it will be required to properly handle it (or use it, if someone feels like figuring out how).

Sample from SCMP_037...
v60.png

From the top, my best guess so far is...
(00 00 00 43): A float value set to half the map width (or maybe the height).
(00 00 00 00): A spacer I guess. Not really sure. Seems to always be four zero bytes though.
(00 00 00 43): A float value set to half the map height (or maybe the width).

-The meaning of the next 52 bytes is anyone's guess.
-Next, we've got a null terminated string containing the path to the texture.
-That's followed by another null terminated string containing the path to another texture.
-Next, we've got a 32 bit integer containing the number of items in the subsequent data structure (whatever that is). There are 14 in this example. The items in the structure appear to be 40 bytes in length. I suspect these are some sort of values for positioning parts of the texture in the sky.
-So, 14x40=560 bytes, so moving 560 bytes down, we find some sort of header for the cloud texture (cirrus).
It seems to always start with (00 00 00 66), and it's 19 bytes long.
-The header is followed by another null terminated string containing the path to the cloud texture.
-That is followed by 89 bytes of something, and ends with 00 00 00 00 (which isn't shown in the picture).

After that, it's back to props (if there are any in the map).

Statistics: Posted by Duck_42 — 13 Jun 2014, 06:06


]]>
2014-03-10T16:27:40+02:00 2014-03-10T16:27:40+02:00 /viewtopic.php?t=6900&p=68490#p68490 <![CDATA[Re: Map Format]]>
Maybe if we take a look at every official map we could see if a lot of terrain type brushes were used or not. Maybe only 20% were in the end meant to be used after all ?

Statistics: Posted by Krapougnak — 10 Mar 2014, 16:27


]]>
2014-03-10T15:15:03+02:00 2014-03-10T15:15:03+02:00 /viewtopic.php?t=6900&p=68482#p68482 <![CDATA[Re: Map Format]]> Statistics: Posted by Lionhardt — 10 Mar 2014, 15:15


]]>
2014-03-10T14:42:10+02:00 2014-03-10T14:42:10+02:00 /viewtopic.php?t=6900&p=68479#p68479 <![CDATA[Re: Map Format]]>
If memory serves though there should be at least one brush for the evergreen layer as in Seton's Clutch and other evergreen official maps the units do make "dirt puffs".

Statistics: Posted by Krapougnak — 10 Mar 2014, 14:42


]]>