Zeus

Halo modding and gaming related applications.
2310
Ranger
Posts: 686
Joined: Sat Dec 26, 2009 5:16 am
Location: Forerunner Cartography Installation 330, making new maps!

Re: Zeus

Post by 2310 » Mon Jun 10, 2013 8:45 pm

Sparky wrote: Would anyone here like to continue working on this with me after I churn out all the data type basics and include a tutorial on how to extend support for each new tag type? The workload includes reading the hex data of each tag file I provide and using the included tutorial to add support for that tag type. The tutorial tells you each step to take, and you get to choose the layout for the window, name the interface items as IBOutlets in the window controller, and hook everything up and do the coding yourself simply by applying the recycled code according to the tutorial and the template for each document subclass and its window controller. Basically, I set everything up for you, and all you do is follow the tutorial. Is anyone interested in helping? If not, this will take me maybe a couple more months before the HEK tag types are done. While I'm reluctant to have someone else work on this project with me, even one or two other people doing this with me would bring the completion date down to a month at most.
I'm willing to try!

Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

Re: Zeus

Post by Sparky » Thu Jun 13, 2013 4:33 pm

Sparky wrote:I'll be imposing "finagle-able" limits for the dependencies rather than the limits that the HEK would allow.
This will only be available in map file editing. The HEK tags will remain as close to 100% compatible as I can have them.

I'm done generating the tags to reverse-engineer.

I'm working on the .scenery tag type now (scen).
2310 wrote:
Sparky wrote: Would anyone here like to continue working on this with me after I churn out all the data type basics and include a tutorial on how to extend support for each new tag type? The workload includes reading the hex data of each tag file I provide and using the included tutorial to add support for that tag type. The tutorial tells you each step to take, and you get to choose the layout for the window, name the interface items as IBOutlets in the window controller, and hook everything up and do the coding yourself simply by applying the recycled code according to the tutorial and the template for each document subclass and its window controller. Basically, I set everything up for you, and all you do is follow the tutorial. Is anyone interested in helping? If not, this will take me maybe a couple more months before the HEK tag types are done. While I'm reluctant to have someone else work on this project with me, even one or two other people doing this with me would bring the completion date down to a month at most.
I'm willing to try!
Sorry, but I changed my mind about inviting others to develop Zeus with me. I am not letting other people touch the source code. I reserve the right to change my mind about things.
Either you are groping for answers, or you are asking God and listening to Jesus.

rEsTnPeAcEz
Veteran
Posts: 291
Joined: Sat Sep 01, 2012 12:34 pm
Location: Canada EHH

Re: Zeus

Post by rEsTnPeAcEz » Thu Jun 27, 2013 7:16 am

How about making the application able to convert HEK tag type to Eschaton tag type and vice-versa.

Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

Re: Zeus

Post by Sparky » Thu Jun 27, 2013 12:05 pm

rEsTnPeAcEz wrote:How about making the application able to convert HEK tag type to Eschaton tag type and vice-versa.
There will be a menu item, probably in the File menu, called "Conversion" which will convert tags and maps and other things to different formats.
Either you are groping for answers, or you are asking God and listening to Jesus.

Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

Re: Zeus

Post by Sparky » Thu Jun 27, 2013 11:31 pm

In-progress release of Zeus pre-alpha 20... and oddly, this is the 20th post of this Zeus topic. How fanshy!

Supports .mov, .png and .wav files. The .png files will be integrated with bitmap tags and the .wav files will be integrated with sound tags.

I've been working on the interface of each tag type. Some tag types will be visible but non-functional. After the interfaces are done, then I'll add functionality to the non-functional ones.

I expect you'll be excited to have easy importing and exporting capabilities, even before .map files are supported. For example, you will soon be able to open a .wav sound file and choose under the File menu the item which says "convert to Eschaton tag format" which will then directly convert that .wav sound file into a Halo sound tag in Eschaton format that you can import directly into Eschaton. The same menu item will convert .png image files to bitmap tags. And the same menu item will convert any respective document format to its Eschaton equivalent. In the same way, there will be a "convert to HEK tag format" menu item and a "convert to text format" menu item which base64 converts any binary data like images and audio and converts any tag formats to XML text files.
Either you are groping for answers, or you are asking God and listening to Jesus.

Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

Re: Zeus

Post by Sparky » Mon Jul 01, 2013 1:50 pm

I'm adding bitmap image compression and decompression using Squish.
When you open a PNG image in Zeus, it will have a bunch of options in the window for compressing it into bitmap format, and will give you a preview of the results using those compression options.
When you open a Halo .bitmap tag in Zeus, it will display the image in the window and will let you export it as a PNG image. The bitmap tag will display also its normal bitmap tag meta data information.
Batch image conversion between PNG and bitmap tags will be available in the File -> Batch Conversion submenu, where you can select a number of PNG images to convert to bitmap images using a set of bitmap tag metadata options and also select a number of .bitmap tags to extract their PNG image contents.

Note that Halo .bitmap tag image format uses lossy compression, so an original PNG image will not look the same when it is re-extracted from a Halo .bitmap tag. PNG is lossless and DXT compression is lossy.

Overwriting a bitmap tag's image is possible, but discouraged. All you do is view the bitmap and use the popup menu to select another image from your computer, then save it. All the image's information can be different, even, so you don't need to have the exact same dimensions as the older bitmap image like you need when using Eschaton to overwrite the image data. You can preview how this works by opening a PNG image in the current build of Zeus. You can use the popup menu there to view different images in that window, and such will be the feature with bitmap tags also.

By the way, I'm on the bitmap tag type now... could you guess? ?? :(
Either you are groping for answers, or you are asking God and listening to Jesus.

Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

Re: Zeus

Post by Sparky » Tue Jul 02, 2013 2:23 pm

As a simple aside, I'm doing the antenna tag in Eschaton format.
The window will be the same as the HEK format.
The Eschaton tag will be able to be saved and the HEK tag will be able to be saved. You can read and write both tag types independently.
Then, I will add the ability to convert one format to another.
This is a simple tag type to do this with to start.
Either you are groping for answers, or you are asking God and listening to Jesus.

rEsTnPeAcEz
Veteran
Posts: 291
Joined: Sat Sep 01, 2012 12:34 pm
Location: Canada EHH

Re: Zeus

Post by rEsTnPeAcEz » Tue Jul 02, 2013 5:40 pm

Will we be able to make tags absolutely from scratch. Also will we be able to make add attachments and widgets to objects, and also duplicate/delete and whatever else.
Also how about adding a function that deletes a mother tag, not only the tag alone but a tag with all the reflexives and referenced tags. :P

Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

Re: Zeus

Post by Sparky » Tue Jul 02, 2013 7:37 pm

rEsTnPeAcEz wrote:Will we be able to make tags absolutely from scratch. Also will we be able to make add attachments and widgets to objects, and also duplicate/delete and whatever else.
Also how about adding a function that deletes a mother tag, not only the tag alone but a tag with all the reflexives and referenced tags. :P
Yes.
For maps, which will be advanced and "intelligent" displays of tags, it will be clearly visible which tags reference each other, and it will be easy to remove tags reflexively through their referencers. There might be a special view which displays tags in tree view, where you can right-click on a tag in the tree and change it around, like delete it reflexively upwards (remove its references recursively (but why?)) and downwards (remove its referencers recursively). Or you can do it by manually selecting and deleting each tag that connects to it in the tree. You won't be able to drag them around though, that would be kind of pointless; it's just a special tag hierarchy view which shows all the reference links between the tags in a map.

I'm finishing up the HEK version of the antenna tag. It's small, but each tag takes time to code. This is the first time I'm coding with color wells. You'll see what I mean with the next update.
After that, it's the Eschaton format. Both the HEK and Eschaton tags of similar types will use the same kind of window.
After that, it's adding the antenna conversion method which will convert the data between one format and the other. Basically, it uses the original document type to read the data, sends the same exact metadata information to a tag meta array and instead of having the window controller pass the modified contents back to the owning document, it passes it to another document of the partner type, which then uses that same information it would normally expect to save a copy of that document as a new file in the different format. So I don't really have to do any conversion work -- it's all right there, because both file types (HEK and Eschaton) are expecting the same array (or similar arrays) of information, to which I could add or remove or modify whatever.

See, the Halo Editing Kit uses a command line executable called Tool to process its asset-based tag files from assets (sounds, images, models, animations) and finally "map cache files" from its tag files. But using an executable to do this is unnecessary; all this processing can take place in the background of an application while files are opened, converted, and saved. Essentially, Zeus will include all the features of the Halo Editing Kit, but without any of the hassle.

And just for kicks, after map file support is added, there will be a version of Eschaton 1.0's "Make Awesome" button, which will basically be a tag metadata randomizer with a lightning bolt icon associated with it :O ;) . You can do this with an individual tag or with tags reflexively in either direction or with an entire map. Yes, that means you can have completely random map file generation and come up with some pretty crazy crazy.
Either you are groping for answers, or you are asking God and listening to Jesus.

rEsTnPeAcEz
Veteran
Posts: 291
Joined: Sat Sep 01, 2012 12:34 pm
Location: Canada EHH

Re: Zeus

Post by rEsTnPeAcEz » Tue Jul 02, 2013 9:00 pm

Sparky wrote:There might be a special view which displays tags in tree view, where you can right-click on a tag in the tree and change it around, like delete it reflexively upwards (remove its references recursively (but why?)) and downwards (remove its references recursively).
Because the size of maps get really big when adding other tags (specifically weapons and vehicles), but the size only gets bigger when you don't delete the ones that were replaced, unless you want to keep them. Imagine for Bloodgulch Extreme, for example, you can delete the weapons and vehicles that are unused, you know how much smaller the size will be!
Also it's way faster if you can just delete a tag with all it's recursives, instead of just deleting one by one.
So I think you should make two options on deleting a tag (not with references) and the other will be to delete a tag (with all it's references).

WaeV
Peon
Posts: 126
Joined: Tue Aug 28, 2012 11:21 pm
Contact:

Re: Zeus

Post by WaeV » Wed Jul 03, 2013 9:00 am

rEsTnPeAcEz wrote:Imagine for Bloodgulch Extreme, for example, you can delete the weapons and vehicles that are unused, you know how much smaller the size will be!
You can already do this with Eschaton. Open + Expand, check the box "remove unused tags", and rebuild!
Image

rEsTnPeAcEz
Veteran
Posts: 291
Joined: Sat Sep 01, 2012 12:34 pm
Location: Canada EHH

Re: Zeus

Post by rEsTnPeAcEz » Wed Jul 03, 2013 9:40 am

I tried it with a mod I am doing and it deleted all the tags that I imported. Do I have to reference the tags to something?

Modzy
Green Beret
Posts: 3058
Joined: Fri Feb 22, 2008 11:06 pm
Location: Portland, OR

Re: Zeus

Post by Modzy » Wed Jul 03, 2013 10:00 am

rEsTnPeAcEz wrote:I tried it with a mod I am doing and it deleted all the tags that I imported. Do I have to reference the tags to something?
...... If they're not referenced, then they're not being used. :|

Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

Re: Zeus

Post by Sparky » Thu Jul 04, 2013 12:41 pm

WaeV wrote:
rEsTnPeAcEz wrote:Imagine for Bloodgulch Extreme, for example, you can delete the weapons and vehicles that are unused, you know how much smaller the size will be!
You can already do this with Eschaton. Open + Expand, check the box "remove unused tags", and rebuild!
Eschaton breaks maps that way.

RIPz, an example of the red text you quoted would be removing the assault rifle bullet projectile (proj) tag and upwards by 1 reference removing the assault rifle weapon tag.
Either you are groping for answers, or you are asking God and listening to Jesus.

rEsTnPeAcEz
Veteran
Posts: 291
Joined: Sat Sep 01, 2012 12:34 pm
Location: Canada EHH

Re: Zeus

Post by rEsTnPeAcEz » Thu Jul 04, 2013 12:42 pm

That was a mistake, not upwards, I mean downwards with all it's references.

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests