[WIP] Zeus: Pre-alpha 1 release

Everything about HD, MD, and their mods.

Moderator: Halo Moderators

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

Re: [WIP] Zeus ~ peer review requested

Post by Sparky » Sat Nov 19, 2011 12:12 am

I haven't had any success using PHP apps locally, as far as I know. That's why. But really, I didn't consider it much after the lack of success crossed my mind. Thanks for that, Dirk.

But I feel so close to having Obj-C fully in my tool belt! How would you run a .php script in Mac OS X? Would you open the file through a web browser like Safari?
Either you are groping for answers, or you are asking God and listening to Jesus.

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

Re: [WIP] Zeus ~ peer review requested

Post by Modzy » Sat Nov 19, 2011 12:24 am

I would define the headers like so:

Code: Select all

//Map Header
typedef struct
{
	char head_string[4]; //'head'
	int32_t game_version; //The version of Halo; 5 = xbox, 6 = demo, 7 = retail, 609 = CE
	int32_t map_length; //The size of the map in total
	int32_t index_offset; //Offset of the index header within the file
	int32_t meta_data_length; //Size of tag data
	char map_name[0x20]; //Map name, max size = 0x20
	char build_date[0x20]; //Map build date, max size = 0x20
	int32_t map_type; //0 = SP, 1 = MP, 2 = UI
} map_header;

//Index Header
typedef struct
{
	int32_t memory_offset; //offset to index array within run-time memory (-0x28).
	int32_t base_tag_id; //The ID of the map files' Scenario.
	int32_t map_id; //Map's ID.
	int32_t tag_count; //The number of items in the index array; tags.
	int32_t verticie_count; //Number of verticies in model data section.
	int32_t verticie_offset; //Offset to the start of all verticies in model data section.
	int32_t indicie_count; //Number of indicies in model data section.
	int32_t indicie_offset; //Offset to the start of all indicies in model data section, must be modified by verticie offset.
	int32_t model_data_length; //Size of model data section.
	char tags_string[4]; //'tags'
} index_header;

Dirk Gently
Commando
Posts: 2047
Joined: Sun Oct 21, 2007 2:34 pm
Location: 3C0E9056
Contact:

Re: [WIP] Zeus ~ peer review requested

Post by Dirk Gently » Sat Nov 19, 2011 8:23 am

Sparky wrote:I haven't had any success using PHP apps locally, as far as I know. That's why. But really, I didn't consider it much after the lack of success crossed my mind. Thanks for that, Dirk.

But I feel so close to having Obj-C fully in my tool belt! How would you run a .php script in Mac OS X? Would you open the file through a web browser like Safari?
You would have to enable web sharing and run it from the ~/Sites/ folder, but it could be done.

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

Re: [WIP] Zeus ~ peer review requested

Post by Sparky » Thu Dec 22, 2011 1:42 pm

I'm going to use HexFiend's framework in order to display and work with the hex data for map files.
Either you are groping for answers, or you are asking God and listening to Jesus.

Samuco
Peon
Posts: 131
Joined: Mon Apr 26, 2010 1:39 am

Re: [WIP] Zeus ~ peer review requested

Post by Samuco » Fri Mar 02, 2012 9:21 pm

Objective-C is really annoying to learn because Apple removed all of the examples. They are on the internet, but it's not the same.

Just a word of warning about the HTML approach:
I made a basic map viewer a few years ago (don't ask for the source, it's long gone) in HTML. It didn't parse the map or anything, just rendered a bunch of points which I exported from sword edit. It was unbearably slow, but was just using pure html/javascript however,
If WebGL becomes more mainstream, then Zeus in the browser is a serious possibility.

I would type more, but one of my fingers is broken (literally) and it's painful :(

TaxiService
Night Stalker
Posts: 6887
Joined: Thu May 24, 2007 5:52 am
Location: 41.896198, 12.4165945
Contact:

Re: [WIP] Zeus ~ peer review requested

Post by TaxiService » Fri Mar 02, 2012 9:43 pm

:o I'd ask what happened but then i'd go off topic again thus i'm just gonna assume you had a silly basketball accident. I hope you get well soon!



PS: I am not sure how i feel about an in-browser map editor.
  • TaxiService! Shitposting since 2007!
MGM Sig

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

Re: [WIP] Zeus ~ moving along

Post by Sparky » Mon Sep 10, 2012 10:57 pm

VERSION 0.2
Please observe my current progress, after only one day:

http://zeus.blamdevcom.net/

This is for development purposes, just debugging, just getting started.

The fun has yet to come, which includes map file analysis. Can't wait!

You can upload a halo demo, halo full or halo custom edition map and it will recognize which version it is based upon the map header string which indicates the game version.

http://zeus.blamdevcom.net/

CHECK IT OUT!!!!
Either you are groping for answers, or you are asking God and listening to Jesus.

TaxiService
Night Stalker
Posts: 6887
Joined: Thu May 24, 2007 5:52 am
Location: 41.896198, 12.4165945
Contact:

Re: Zeus 0.2

Post by TaxiService » Tue Sep 11, 2012 3:00 am

i can't seem to select .map files. It let me upload a .exe file, but obviously it generated an error.
  • TaxiService! Shitposting since 2007!
MGM Sig

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

Re: Zeus 0.2

Post by Sparky » Tue Sep 11, 2012 12:50 pm

Version 0.2d.
Either you are groping for answers, or you are asking God and listening to Jesus.

TaxiService
Night Stalker
Posts: 6887
Joined: Thu May 24, 2007 5:52 am
Location: 41.896198, 12.4165945
Contact:

Re: Zeus 0.2

Post by TaxiService » Tue Sep 11, 2012 1:12 pm

it now accepts .map files. Here's what i got after uploading a vanilla bloodgulch.map called "bloodgulch_.map"
Debug info:
Mod name: bloodgulch_.map
Mime type: application/octet-stream
Mod size: 14366196
Mod temp name: /tmp/phpoNsfLv
Upload errors: 0
File is valid and was successfully uploaded.
Here is some more debugging info:
Array
(
[mod] => Array
(
[name] => bloodgulch_.map
[type] => application/octet-stream
[tmp_name] => /tmp/phpoNsfLv
[error] => 0
[size] => 14366196
)

)
Here is the actual file header data as an unintelligible string:
string(64) "daehô5Ût…€Vbloodgulch"

Here is the actual file header data as hex data:
string(128) "6461656807000000f435db000000000074198500801c56000000000000000000626c6f6f6467756c636800000000000000000000000000000000000000000000"

Also testing the faster method:
string(128) "6461656807000000f435db000000000074198500801c56000000000000000000626c6f6f6467756c636800000000000000000000000000000000000000000000"

You have saved two files.
Your "Read Me" file is saved as: mod_info_files/mod_info-TaxiService-zeus_test-01-1347397858.txt. Your mod is saved as: mods/TaxiService-zeus_test-1347397858-bloodgulch_.map.

Here is the information found within your "Read Me" file:
just testing zeus' functionalities

Your mod has been recognized as a(n) halo full mod.
Is this what you were expecting?

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

Re: Zeus 0.2

Post by Sparky » Tue Sep 11, 2012 1:59 pm

Yes

Code: Select all

Debug info:
Mod name: sounds.map
Mime type: application/octet-stream
Mod size: 79916792
Mod temp name: /tmp/phpQp6MEy
Upload errors: 0
File is valid and was successfully uploaded.
Here is some more debugging info:
Array
(
    [mod] => Array
        (
            [name] => sounds.map
            [type] => application/octet-stream
            [tmp_name] => /tmp/phpQp6MEy
            [error] => 0
            [size] => 79916792
        )

)
Here is the actual file header data as an unintelligible string:
string(64) "4¯ºØ¡‘+™©	Ù¢›™0‘‘#™±“313£S8I@!B"

Here is the actual file header data as hex data:
string(128) "0200000034afba04d81dc204181c00000000000000000000a191902b0099a909d9a208109b9919309190912399b193333133a3115312381c4940111221421111"

Also testing the faster method:
string(128) "0200000034afba04d81dc204181c00000000000000000000a191902b0099a909d9a208109b9919309190912399b193333133a3115312381c4940111221421111"

You have saved two files.
Your "Read Me" file is saved as: mod_info_files/mod_info-sparky-sounds-test-01-1347400686.txt. Your mod is saved as: mods/sparky-sounds-test-1347400686-sounds.map.

Here is the information found within your "Read Me" file:
-test the sounds map file

Your mod has been recognized as a(n) sounds mod.
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 0.2

Post by Sparky » Tue Sep 11, 2012 2:04 pm

taxi meet on irc

Also, uploading a bitmaps.map file is not possible at the moment, but it still works right. In other words, it's a server timeout issue that I have to figure out based upon the php.ini file.
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 0.2

Post by Sparky » Tue Sep 11, 2012 8:22 pm

VERSION 0.3

Features:

- You can upload files
- Saves files to the server
- The beginnings of multi-modding sessions: mod one of your uploaded files with some friends by sharing the URL of the Zeus Editor page, the third page whose URL looks something like this:
http://zeus.blamdevcom.net/zeus_editor.php?user=sparky&title=no+Mod+%28loc%29&time=1347422674&file=loc.map
If you do not want to allow others to mod the same map with you, then do not share this URL!
- Security provisions in place and some initial checks to see if you're moving along a valid process. For example:
1. On the second page, "Mod This Map File" will only show up if you have uploaded a recognizable (supported) map file. When you click that link, you are taken to the Zeus Editor.
2. On the Zeus Editor page, it checks the URL to make sure that it is valid. You might have shared this with someone to invite them to mod that map file with you, or someone might have shared their map's Zeus Editor URL with you. If you get an error saying that the URL is corrupted, then check back with the person who sent you the link.

- Files dynamically saved:
1. All changes are made to a map file with the Zeus Editor take place in the filesystem rather than stored in memory. Although slightly slower this way, it means that your changes are always saved and you can download "snapshots" of the mod to your computer at any point, and you can resume modding that same map file at any point simply by bookmarking the URL in your web browser!

YouTube Demonstration with Firefox Web Browser:
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 0.3

Post by Sparky » Wed Sep 12, 2012 1:19 pm

Check out this demo of the map file editor, version 0.3a:

http://zeus.blamdevcom.net/zeus_editor. ... dgulch.map

As you can see, I'm working on parsing the map data with php. Really straightforward and quite simple. I'll provide an abstract video tutorial at some point after it's all ready with the metadata features.
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 0.3

Post by Sparky » Wed Sep 12, 2012 4:49 pm

0.3b displays complete map header info for halo demo/trial maps. It's READ-ONLY at the moment. It will all remain this way until I've gotten all the metadata in place.

tonight's version is 0.3b
I figured out how to convert to hex values in little endian
it requires a combination of three functions
I prefer existing functions rather than doing manual byte replacements ...
you can see it in action on the demo page
go to http://zeus.blamdevcom.net/ then click on "skip to the editor" at the bottom left to see the demo page


You folks can meet me on the IRC, each night that I work on this, I'll keep it open.

Taxi, please go on the IRC at your convenience.
Either you are groping for answers, or you are asking God and listening to Jesus.

Locked

Who is online

Users browsing this forum: No registered users and 36 guests