Conquer Map Editor

11/08/2010 16:35 ChingChong23#1
Hi, since it seems theres nothing around like it, i decided to work on creating a conquer map editor. Basically allow you to do a few things..

-Load current dmaps and visually see the loaded map in the app, as well as an overlay of boundaries.
-Ability to add or remove boundaries to any maps
-Ability to add your own custom map (loaded from any popular image format) and it will be chopped up and converted to dds, ani, pul and dmap files will also be created.

the best thing about this, is that maps from eudemons, crazy tao, the warlords and zero online can all be used and imported into the conquer client (new map files may need to be created though).


[Only registered and activated users can see links. Click Here To Register...]

few hours work above, just tuned the camera for zoom and movement and finished loading dmap/pul/ani files. only just realized these ani files are pointing to graphic files that are not the folders, i'm assumed they are in data.wdf so i used korvacs wdf extractor and waiting on that now..


basically it's going to be easy to use, down the bottom you can scroll across and pick out tiles you like (it seems conquer maps are dds files split up so down the bottom is where you pick a part you want, then it will show a red tetris-like box on the actual editor, showing you how many 'tiles' it will take up, and allow you to place/remove them (even trees and stuff like that!)


i have a few questions as i never mess around in this area, and so far guessed most of the stuff i have done.

1. I see that ANI files link each map to each sprite part, however where would i find the data telling me which goes where (obviously all the parts don't go across and will need to drop down underneath somewhere)

2. if anyone knows any more information about this stuff that may help, be sure to leave some thanks.

I plan on releasing this to the public free, i put this in the Pserver section because it mostly benefits private servers (being able to add custom content) than it does modding.
11/08/2010 16:40 Arcо#2
Seems pretty fuckin cool, good luck mate.
11/08/2010 16:50 pro4never#3
Seeing as Noah is SO damn busy and hasn't had a time to finish this for hellmouth, this will be a great thing to see finally made.

Luckily for you I think I still have all the files structured somewhere.



The ani file contains all information linking coords with image chunks.

File is as follows..

String PuzzleLoc = 21 bytes
junk: 243 (filled with value CC)

X: uint
Y: uint

Then read through the coords X/Y using ushort for the value which will return the image value for that "chunk".

You will need to convert that to actual coords though as coords take up iirc 3x3 coords each. I could be wrong on that though. Just going off memory here.

Once done you get something resembling...

Code:
0 0 0 0 1 0 0 0
0 0 0 2 3 4 0 0
0 0 5 6 7 8 9 0
etc

Then use the puzzle loc to link the values with the actual dds image chunks.

IE:
[Puzzle0]
FrameAmount=1
Frame0=data/map/puzzle/room/arena/arena000.dds

<edit>

I'm sure it's already painfully obvious as you've done some work on it already but here's what I remember about what all the filetypes do...

GameMap.Dat
-Links Map ID with map location/name

Dmap:
-Sets access value and height values for each coord (FULL coords, not chunking)
-Link to puzzle file for map

Puzzle:
-Links to ani file
-Sets up image chunks (links a coord chunk with a image key)

Ani
-Assigns image chunks a key value for use else where

.dds
-Actual image chunks for use on map


This is not counting things like map objects which from what I understand can be anything from static images to 3d meshes, animations or sounds..
11/08/2010 16:51 Kiyono#4
This doesn't seem like the easiest thing to do so I wish you luck.
11/08/2010 17:34 ChingChong23#5
thanks a lot pro4never i got it, will put it together tomorrow. only thing i needed was the puzzle info to join the 'chunks' together and from my tests i got it right.
11/09/2010 05:21 ChingChong23#6
some progress as i woke up

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]


desert city has 6.5k chunks and having all that in memory is about 1.5gb in memory as well as it takes a minute to load, and renders so slow. need to buffer x amount of images instead of keeping them all in mem, ill work on that soon. zoom and map movement completely works, the wireframe will represent each coordinate in CO (right now i highly doubt it's accurate, but once it is ill make it display boundaries in red overlays)
11/09/2010 05:33 FuriousFang#7
Can I help? This looks like an awesomely fun project! ^^,
11/09/2010 06:00 pro4never#8
I am VERY impressed. Didn't expect to see anywhere near this level of progress so quickly.

As for wireframe... you're gonna have some interesting calculations to get them accurate info.

I assume they already have access/height values associated with them? How about an overlay which can be toggled to display access, height and coord info?

IE: think periodic table almost where there are key values which can be overlayed to the grid to see each coord easily (or color coded would also be great)

Then allow for simple changing such as 'painting' on access values (set access value and then by drawing on the tiles you apply the access level to that tile).

As for zooming/buffering, sounds like a good plan, maybe allow only so much to be zoomed out? (if not people can zoom out to the point where memory becomes a real issue... and there is just no need)

Why not allow for

A: zoom in until all that can be seen is 4 chunks (past that seems needless imo)

B: zoom out until you can see say... 1024x1024 chunks? (Would have to be tweaked but seems reasonable)

C: Allow for a 'full image' to be produced which instead of working with memory just exports a giant .jpg or something of the FULL image (that way people can get an easy overview as to how the entire map would look). It would be pointless to bother with all the memory values for such a thing... but having such an option would be incredibly useful for envisioning the entire map.


Coords:

They are not a grid like you are displaying. You need to rotate your grid by 45 degrees.

IE moving 'up' one coord is actually X-- Y--


[Only registered and activated users can see links. Click Here To Register...]


versus

[Only registered and activated users can see links. Click Here To Register...]
11/09/2010 06:03 Ian*#9
Quote:
Originally Posted by FuriousFang View Post
Can I help? This looks like an awesomely fun project! ^^,
no
11/09/2010 06:22 kinshi88#10
Cool dude, good luck.
11/09/2010 07:02 pro4never#11
More visual help cause I apparently am putting off studying...

This is an ACTUAL dds image from the puzzle combined with coords ingame. It appears it's NOT rotated 45 degrees... I think my lines were something like 36.2 degrees? regardless what I have posted here is how it works combined with proper coords for each one.

[Only registered and activated users can see links. Click Here To Register...]

All image 'chunks' I've seen so far are the same size which means they are 8x8 coords (overlapping and rotated!)
11/09/2010 07:22 Santa#12
You are making some progress. I would rethink releasing this to the private server section. I would maybe release to the select few who actually show TRUE progress in their servers, not just those idiots that open a server and close it the next day. It's your project, not mine, you can do what you want =p.

Great job so far, its amazing how fast your moving along.
11/09/2010 10:49 |NeoX#13
Quote:
Originally Posted by StarBucks View Post
You are making some progress. I would rethink releasing this to the private server section. I would maybe release to the select few who actually show TRUE progress in their servers, not just those idiots that open a server and close it the next day. It's your project, not mine, you can do what you want =p.

Great job so far, its amazing how fast your moving along.
So basicly what your saying is: "Dont give it to me" ??
11/09/2010 13:19 ChingChong23#14
[Only registered and activated users can see links. Click Here To Register...]

yeah, needs diamond shaped tiles :P sounds stupid but i'm having the most trouble creating a diamond isometric grid and keeping it synchronized with the camera's zooming and moving (poor math skills). would have been much easier with squares.
11/09/2010 21:55 |NeoX#15
Looks very nice already, tell me more about the problem i might be able to help.