[WIP] Zeus: Pre-alpha 1 release
Moderator: Halo Moderators
Re: Zeus
Either you are groping for answers, or you are asking God and listening to Jesus.
Re: Zeus
I've got all the next steps written down for how to apply displaying the metadata.
What I'm doing is parsing Sparky's Plugins as XML files using SimpleXML. SimpleXML converts the XML fields into objects. Then I reference the objects within their own tag-type-specific functions so that these functions can use the actual tag values and associate them with keys into an array of values. This array therefore contains all of that tag's values and is displayed on the page when the user clicks the "edit" link in one of those tag rows.
Version 0.5 will be just a display of tag metadata, where you click on a tag's "edit" link and the area below the tag expands to reveal the metadata. That will work with every tag type that I've recorded in Sparky's Plugins for Eschaton.
So Zeus 0.5 will let you READ map metadata. A subversion like 0.5x will bring bitmap image and sound playback. Luigi is helping me with the Xbox sound tag decoding; either he'll write his own PHP function for it or I'll write it based upon his assistance.
At some point, I'll add some options where you can use Radio Buttons to indicate if you want the tag metadata to be displayed beneath the tag or rather in a separate popup window.
That's all for now.
I'd like to point out that what is cool with this is that rebuilding map files is done properly and on-the-fly. No need to wait extended periods of time or depend upon your own computer's processing speed.
What I'm doing is parsing Sparky's Plugins as XML files using SimpleXML. SimpleXML converts the XML fields into objects. Then I reference the objects within their own tag-type-specific functions so that these functions can use the actual tag values and associate them with keys into an array of values. This array therefore contains all of that tag's values and is displayed on the page when the user clicks the "edit" link in one of those tag rows.
Version 0.5 will be just a display of tag metadata, where you click on a tag's "edit" link and the area below the tag expands to reveal the metadata. That will work with every tag type that I've recorded in Sparky's Plugins for Eschaton.
So Zeus 0.5 will let you READ map metadata. A subversion like 0.5x will bring bitmap image and sound playback. Luigi is helping me with the Xbox sound tag decoding; either he'll write his own PHP function for it or I'll write it based upon his assistance.
At some point, I'll add some options where you can use Radio Buttons to indicate if you want the tag metadata to be displayed beneath the tag or rather in a separate popup window.
That's all for now.
I'd like to point out that what is cool with this is that rebuilding map files is done properly and on-the-fly. No need to wait extended periods of time or depend upon your own computer's processing speed.
Either you are groping for answers, or you are asking God and listening to Jesus.
Re: Zeus
What's the longest tag name in a default Halo Demo bloodgulch map?
ui\shell\main_menu\settings_select\player_setup\player_profile_edit\controls_setup\advanced\horizontal_sensitivity_spinner
122 characters
Maximum string length of a tag name is 128 characters. Maximum string length in the map files is 1024 characters, right?
ui\shell\main_menu\settings_select\player_setup\player_profile_edit\controls_setup\advanced\horizontal_sensitivity_spinner
122 characters
Maximum string length of a tag name is 128 characters. Maximum string length in the map files is 1024 characters, right?
Either you are groping for answers, or you are asking God and listening to Jesus.
-
- Veteran
- Posts: 291
- Joined: Sat Sep 01, 2012 12:34 pm
- Location: Canada EHH
Re: Zeus
What does this have to do with Zeus.
- RIPz, a user and modder for Halo Demo PPC and for HaloMD.
► Youtube https://www.youtube.com/user/rEsTnPeAcEz
► Facebook https://www.facebook.com/groups/HaloDemoGroup/
http://www.facebook.com/timstutorialsgaming
http://www.facebook.com/cfb101
► Youtube https://www.youtube.com/user/rEsTnPeAcEz
► Facebook https://www.facebook.com/groups/HaloDemoGroup/
http://www.facebook.com/timstutorialsgaming
http://www.facebook.com/cfb101
Re: Zeus
All the tags are displayed on the page.rEsTnPeAcEz wrote:What does this have to do with Zeus.
--
I'm figuring out some JavaScript code which lets you click on a tag and display its metadata. I used to be more fluent in AJAX things several years ago, but it's not so simple this time since I'm using a PHP loop to display rows from an array and I'm looking to have variable CSS class or ID names. The actual metadata parsing is simple, so I might be able to get this to version 0.5 today or tomorrow.
Either you are groping for answers, or you are asking God and listening to Jesus.
Re: Zeus
0.5 is coming along well. Displaying information on the page is finished, now I'm just parsing the metadata. I figure another couple days and 0.5 should be ready, where you can click on a tag name row and see the metadata.
After this, I'm going to work on the scenario viewer which for the moment will be embedded in the page at the top.
Unfortunately, it seems like you will need a 1920 x 1080 screen resolution to view all the information without scrolling horizontally. I could fix this, I guess, by having the tag name fields scrollable.
In order to do this, I will need to change the table layout to a div-based layout.
After this, I'm going to work on the scenario viewer which for the moment will be embedded in the page at the top.
Unfortunately, it seems like you will need a 1920 x 1080 screen resolution to view all the information without scrolling horizontally. I could fix this, I guess, by having the tag name fields scrollable.
In order to do this, I will need to change the table layout to a div-based layout.
Either you are groping for answers, or you are asking God and listening to Jesus.
-
- Veteran
- Posts: 291
- Joined: Sat Sep 01, 2012 12:34 pm
- Location: Canada EHH
Re: Zeus
Sparky Plugins are good, just maybe you can add other plugins that were in Eschaton already like HMT Plugins, Fuel's Plugins and more. Just I don't only want Sparky's Plugins because like HMT plugings are like easier to read and just good for begginer modders. So this will be good in general.
Also are you sure that when rebuilding maps will come there will also be a script compiler because I really want for cool stuff like that how to PWN a banshee noob!
Also are you sure that when rebuilding maps will come there will also be a script compiler because I really want for cool stuff like that how to PWN a banshee noob!
- RIPz, a user and modder for Halo Demo PPC and for HaloMD.
► Youtube https://www.youtube.com/user/rEsTnPeAcEz
► Facebook https://www.facebook.com/groups/HaloDemoGroup/
http://www.facebook.com/timstutorialsgaming
http://www.facebook.com/cfb101
► Youtube https://www.youtube.com/user/rEsTnPeAcEz
► Facebook https://www.facebook.com/groups/HaloDemoGroup/
http://www.facebook.com/timstutorialsgaming
http://www.facebook.com/cfb101
- zapconquest
- Ranger
- Posts: 1336
- Joined: Sat Dec 09, 2006 11:31 am
- Location: on a secret mission in uncharted space
- Contact:
Re: Zeus
lol you don't need scripts for that all you need is a shotgunrEsTnPeAcEz wrote:Also are you sure that when rebuilding maps will come there will also be a script compiler because I really want for cool stuff like that how to PWN a banshee noob!
Re: Zeus
Don't worry about the plugins.
You won't need to rebuild maps.
You won't need to save changes.
All you do is upload your map file, make any changes to it, and download the new map file, and it works in the game.
If you want to revert changes to default, you have to upload the map again by revisiting the second page to submit the form information again. There should also be undo support based upon the log of changes made to the file.
You won't need to rebuild maps.
You won't need to save changes.
All you do is upload your map file, make any changes to it, and download the new map file, and it works in the game.
If you want to revert changes to default, you have to upload the map again by revisiting the second page to submit the form information again. There should also be undo support based upon the log of changes made to the file.
Either you are groping for answers, or you are asking God and listening to Jesus.
Re: Zeus
I'm having some issues with Bitmask parsing (just the displaying of the values) -- the approaches I tried should have all worked in theory but they did not in practice because of lame stuff like datatype differences (arrays and strings not wanting to work together).
Maybe I'll have better luck another day.
It's really a simple concept, though. You just read the data from the file in little endian as an integer and you convert it to a binary string using base_convert, then use strrev() to reverse the order of the string. Then you pad the string with extra 0's to match the length that is the number of bitmask options at hand (so that each bitmask option gets a value) and then you parse the values into an array one at a time using array_walk (lol, I was using a for() loop.... I should use array_walk later on) to set the keys as the bitmask option names and the values as the binary strings (one character at a time). Then you just display it by converting the 0's and 1's to false's and true's for the HTML5 boolean options for the checkboxes.
Here's a part of it:
Thus, you get a bit vector (a bit mask) with 1 meaning a checked flag and 0 meaning an unchecked flag. This was all dandy, but I ran into issues associating the keys with the values in an array... just didn't want to work right.
EDIT: Ah, I think I figured out what to do now. I almost had it, just that I needed to not use the simplexml data converted to an array.
Here's part of the check I am having during the development phase:
Maybe I'll have better luck another day.
It's really a simple concept, though. You just read the data from the file in little endian as an integer and you convert it to a binary string using base_convert, then use strrev() to reverse the order of the string. Then you pad the string with extra 0's to match the length that is the number of bitmask options at hand (so that each bitmask option gets a value) and then you parse the values into an array one at a time using array_walk (lol, I was using a for() loop.... I should use array_walk later on) to set the keys as the bitmask option names and the values as the binary strings (one character at a time). Then you just display it by converting the 0's and 1's to false's and true's for the HTML5 boolean options for the checkboxes.
Here's a part of it:
Code: Select all
$chunk_array_convert = unpack("V*", (file_get_contents($mod_file_path, NULL, NULL, $new_offset, 4)));
$chunk_bit_string_convert = strrev(base_convert($chunk_array_convert['1'], 10, 2)); // this gives a string of bits matching the flag values. next is to parse this string as an array, assign each value to the plugin's parsed names as their keys, and output it all in a nice checkbox format in html. we'll do this shizzle inside a function
EDIT: Ah, I think I figured out what to do now. I almost had it, just that I needed to not use the simplexml data converted to an array.
Here's part of the check I am having during the development phase:
Either you are groping for answers, or you are asking God and listening to Jesus.
Re: Zeus
I'm having problems with the online version, which means server issues. I'll have to contact the host again.
Sorry. Works locally, anyway.
Sorry. Works locally, anyway.
Either you are groping for answers, or you are asking God and listening to Jesus.
Re: Zeus
The problems have been resolved. Due to the addition of binary types in PHP 5.4, which I have in the local testing environment (5.4.4 using MAMP), the server version had to be "downgraded", or adapted to work for PHP 5.3.15 which does not include binary type support. (sadface)
Anyway, it's fixed. You can view bitmask32 flag values now. Checking and unchecking them will do nothing.
If you would like to see some bitmask32 flags in action, search for "bipd" on the page, then click the blue number on the right side of the cyborg biped tag entry. This is using the default bloodgulch map as found through the link "skip to the editor" at the bottom-left corner of the main Zeus page.
Anyway, it's fixed. You can view bitmask32 flag values now. Checking and unchecking them will do nothing.
If you would like to see some bitmask32 flags in action, search for "bipd" on the page, then click the blue number on the right side of the cyborg biped tag entry. This is using the default bloodgulch map as found through the link "skip to the editor" at the bottom-left corner of the main Zeus page.
Either you are groping for answers, or you are asking God and listening to Jesus.
Re: Zeus 0.5.a
Zeus 0.5.b works properly now in Safari and Chrome and Opera, but not Firefox for some reason. You can view most bitmask flag and color values.
Either you are groping for answers, or you are asking God and listening to Jesus.
Re: Zeus 0.5.a
For dependencies, Zeus does a "smart" dependency reference chooser, like Guerilla (not like Eschaton), where you can only select tag types that won't inherently make the game crash.
As I said in the php file comments:
As I said in the php file comments:
Code: Select all
// to get this properly working, add an attribute called "types" to the Entity Plugins' dependencies and give a space-delimited list of acceptable reference types for that entry, then parse it here
// explode the types string into an array, then use a foreach on the types array to iterate the formatted selection list into a SINGLE list (to avoid more work) that looks something like this:
// (using another foreach loop to run through a comparison of the types list with the tag_list['primary class'] values)
// actr: characters\elite\elite commander\elite commander
// actr: ...
// actr: ...
// etc., each one displayed as an HTML <select> menu option
// this is in lieu of doing what Eschaton does by first selecting a type and then selecting a tag, which would mean more effort or some javascript to determine which values to display in the second menu
// the way this should work is to check for equality between the types array and tag_list['primary class'], but display as entries the tag_list['primary class'] : tag_list['name offset']
Either you are groping for answers, or you are asking God and listening to Jesus.
Re: Zeus 0.5.a
Not all non-traditional reference changes will crash the game, and sometimes produces neat results.
Who is online
Users browsing this forum: Ahrefs [Bot] and 47 guests