Halo 3 Retail Game Research

Discussion about modding Halo 3.
User avatar
JacksonCougAr




Recreator

Posts: 2333
Joined: Fri Jan 12, 2007 1:56 pm
Location: Canada
Contact:

Post by JacksonCougAr »

I know this is of little relevance but this whole it doesn't matter attitude should not be allowed to much of a free reign. Finding out why something is the way it is could help in some unknown way. I mean... some of the past tools have had obvious glitches/things that didn't work 100%. Now I know that this won't be due to an extra Spanish language inside the map, but its all about the attitude people :D
User avatar
Tural




Conceptionist Acolyte Bloodhound Recreator
Socialist Connoisseur Droplet Scorched Earth
Grunge

Posts: 15628
Joined: Thu Jun 16, 2005 3:44 pm
Location: Lincoln, NE
Contact:

Post by Tural »

No, it isn't. This is a specific situation, it is not being applied to everything.
User avatar
JacksonCougAr




Recreator

Posts: 2333
Joined: Fri Jan 12, 2007 1:56 pm
Location: Canada
Contact:

Post by JacksonCougAr »

So long as we eventually get proper model injection in H3 I will be content. PHMO, and COLL >_>... I'll be orgasmic.

In laymans terms what can we do "potentially" to H3 maps right now?
User avatar
Tural




Conceptionist Acolyte Bloodhound Recreator
Socialist Connoisseur Droplet Scorched Earth
Grunge

Posts: 15628
Joined: Thu Jun 16, 2005 3:44 pm
Location: Lincoln, NE
Contact:

Post by Tural »

Read them into a tag view is about the extent of what has been publicly shown. I know that model extraction should be semi-working, and bitmaps are working very well, but bitmaps are fairly independent of the maps. If you can get the offset and size of the raw, that's all you need. After that, it goes away from the maps and into the matters of headers and unswizzling.
User avatar
DrXThirst




Connoisseur Foundry Pyre

Posts: 3011
Joined: Fri Jun 29, 2007 6:28 am
Location: Georgia
Contact:

Post by DrXThirst »

I know this is random but prey, use these links to your app. They are direct downloads.

Mango (App) : [Download]
Mango (Source) : [Download]
Image
Hush





Posts: 1
Joined: Thu Sep 27, 2007 3:35 pm

Huh?

Post by Hush »

shade45 wrote:The index magic is calculated like this

Code: Select all

index_magic = ((index_header_offset + magic) - (index_header_offset - magic));
This magic is also used in meta's
Huh? You must have either fallen asleep in algebra, or just mistyped that. You basically have there a roundabout way of saying that index magic is magic times two.
User avatar
grimdoomer




System Engineer

Posts: 1440
Joined: Mon Oct 09, 2006 4:36 pm

Post by grimdoomer »

dam if only i had a modded 360 i would would help as much as i could.
Image
AI Zones in MP | Ambiance | Gravemind Beta v1.1
Aumaan Anubis wrote:Grimdoomer. The first person ever to mod Halo 2 Vista.
User avatar
shade45




Translator Artisan Enthraller Logistician
Stylist Wave Firestorm New Age

Posts: 2270
Joined: Fri Apr 01, 2005 1:04 pm

Re: Huh?

Post by shade45 »

Hush wrote:
shade45 wrote:The index magic is calculated like this

Code: Select all

index_magic = ((index_header_offset + magic) - (index_header_offset - magic));
This magic is also used in meta's
Huh? You must have either fallen asleep in algebra, or just mistyped that. You basically have there a roundabout way of saying that index magic is magic times two.
Please Ignore my post I fixed it. Honestly I couldn't even tell you what I must of been thinking I had another way of calculating it but I obviously messed up my explanation of it and now I cant remember it.
User avatar
LuxuriousMeat





Posts: 824
Joined: Thu Nov 03, 2005 6:43 pm
Location: zzzzzzzzzzzzzzzz
Contact:

Post by LuxuriousMeat »

Iron_Forge wrote:0x10 is the index offset (magic'd of course)...From first glance, the maps seem pretty straight forward...More or less the same as H2...
How can that be? In the beta, the magics were calculated with the index offset, so how can we figure out the index offset with a magic if we need it to calculate the magic?
Image
-DeToX-




Illusionist Recreator Connoisseur Acolyte
Sigma Decryptor Droplet Pyre
Blacksmith Socialist New Age System Engineer
ONI

Posts: 4589
Joined: Sun Jun 18, 2006 3:58 pm
Location: ...

Post by -DeToX- »

Could be:
1. This isn't the beta, calc. differently.
2. He's talking about a different magic.
Image
User avatar
LuxuriousMeat





Posts: 824
Joined: Thu Nov 03, 2005 6:43 pm
Location: zzzzzzzzzzzzzzzz
Contact:

Post by LuxuriousMeat »

-DeToX- wrote:Could be:
1. This isn't the beta, calc. differently.
2. He's talking about a different magic.
Oh yea, I forgot to type a part of my post, LOL. The magic used for pointers such as the tag class index and tag index is still the same so he's probably talking about a different magic...
Image
User avatar
xzodia




Translator Connoisseur Coagulator

Posts: 1981
Joined: Sun May 15, 2005 10:31 am
Location: UK
Contact:

Post by xzodia »

just a btw, the 2nd spanish is "Latin America Spanish" its mentioned on the LE disc Making of Halo 3 Audio video
Image
Halo 2 Plugins | Lock-on To Just About Anything | My Sites | Snow Hog
Old Plugins you have, upgrade you must...
Always Maintain a High Quality-To-Crap Ratio.
DarkMetal





Posts: 444
Joined: Sun May 28, 2006 11:28 pm
Location: Jacksonville, FL

Post by DarkMetal »

Here's what I've got so far. A few things aren't on his list:

Code: Select all

Halo 3 Map Files
---------------------------------------------------------
MagicCalculator:        3218235392
Divisor:                16384
---------------------------------------------------------
Magic = MagicCalculator - MapFileSize
Divide the map's file size by the divisor. If the point
is higher than .5, round up. Multiply the size back up 
with the divisor.
---------------------------------------------------------

Map Header:
---------------------------------------------------------
Name                            Offset          Size
---------------------------------------------------------
Head                            0               4
HaloVersion                     4               4
MapFileSize                     8               4
u1                              12              4
TagIndexOffset (mag)            16              4
TagMetaTableSize                20              4
CombinedSize                    24              4
MapOriginalLocation             28              256
MapBuildInfo                    284             32
MapType                         316             4
u2                              320             24
PrimaryGeometryCacheSize        344             4
SecondaryGeometryCacheSize      348             4
PrimaryGeometryCacheOffset      352             4
SecondaryGeometryCacheOffset    356             4
u3 (string index info?)         360             36
MapName                         396             32
u4                              428             4
ScenarioName                    432             256
u5                              688             4
FileCount                       692             4
FileNameTableOffset (mag)       696             4
FileNameTableSize               700             4
FileNameIndexOffset (mag)       704             4
Signature                       708             4
u6                              712             11572
Foot                            12284           4
---------------------------------------------------------

Tag Index Header:
---------------------------------------------------------
Name                            Offset          Size
---------------------------------------------------------
TagGroupCount                   0               4
TagHeirarchyTableOffset (mag)   4               4
TagCount                        8               4
RequiredTagTableCount           12              4
PrimaryRequiredTagTableOffset   16              4
u1                              20              4
SecondaryRequiredTagTableOffset 24              4
u2                              28              4
Tags                            32              4
---------------------------------------------------------
Image
User avatar
shade45




Translator Artisan Enthraller Logistician
Stylist Wave Firestorm New Age

Posts: 2270
Joined: Fri Apr 01, 2005 1:04 pm

Post by shade45 »

Alright I've got my first mod ready to test but I cant do it because I my xbox360's firmware isn't flashed and I don't have any DVD-DL media. So if someone will be kind enough to do it for me that would be great :D

Its only a simple projectile swap, the shotgun should now shoot rockets, but thats not what I want to know. I need to know if I resigned the map properly.

Here is the link to the PFF

http://www.sendspace.com/file/qadx68

How do you use it?

- First apply the ppf to zanzibar.map with ppf-o-matic
- Now download the program XDVDMulleter Beta 10
- Use it to rebuild your Halo 3 ISO with the patched zanzibar.map in place of the old.
- Burn and test then report back here with the results and if possible some screenshots or a vid
User avatar
Prey




Connoisseur Snitch! Pyre Articulatist 500

Posts: 1026
Joined: Wed Dec 27, 2006 6:49 am
Location: UK
Contact:

Post by Prey »

Shade, 0x2C8 is where the checksum is at, and it's calculated the same way as before: Every byte xor'ed together after the header.

Although there could also be a hash of some sort in the header, as is clear in my first post. But then again CLuis for example could run beta map modifications...So perhaps it is not a hash..

I guess we will only know then from the results of someone playing your patch...If Bungie do ban modifications that is..

Edit: Nice work Metal on the header.
Halo 2 Prophet - Skin with ease with the simple 3D point and click interface.
Halo 3 Research Thread - Contribute to the research into Halo 3.
User avatar
shade45




Translator Artisan Enthraller Logistician
Stylist Wave Firestorm New Age

Posts: 2270
Joined: Fri Apr 01, 2005 1:04 pm

Post by shade45 »

Yeah Metal is right the checksum is at 2C4 I haven't seen anything in the header that suggest any of the common hash types MD5, SHA, ect and with Cluis being able to test mods in the beta it leads me more to believe that there isn't one. Bungie could of went as far as to hard code a hash in to .xex though, and if thats the case we wont be testing our mods awhile.
User avatar
Prey




Connoisseur Snitch! Pyre Articulatist 500

Posts: 1026
Joined: Wed Dec 27, 2006 6:49 am
Location: UK
Contact:

Post by Prey »

shade45 wrote:Yeah Metal is right the checksum is at 2C4 I haven't seen anything in the header that suggest any of the common hash types MD5, SHA, ect and with Cluis being able to test mods in the beta it leads me more to believe that there isn't one. Bungie could of went as far as to hard code a hash in to .xex though, and if thats the case we wont be testing our mods awhile.
Oops yeah, I was 0x4 out there in my last post.. thats what you get when you base your info off messed up structs, lulz...

I guess they could put the hashes in the xex, hope not :(
Halo 2 Prophet - Skin with ease with the simple 3D point and click interface.
Halo 3 Research Thread - Contribute to the research into Halo 3.
Digital Marine





Posts: 50
Joined: Mon Dec 27, 2004 7:02 am

Post by Digital Marine »

MagicCalculator: 3218235392
Divisor: 16384
---------------------------------------------------------
Magic = MagicCalculator - MapFileSize
Divide the map's file size by the divisor. If the point
is higher than .5, round up. Multiply the size back up
with the divisor.
I think there is a somewhat easier way of doing this. =D
(Thanks to you I got this girl out of my head for a few minutes :D)

Code: Select all

Int64 iMagic = 3218235392 - iFileSize;

iMagic += iMagic % 8192;
I haven't tested it in a full program. But it seems to work doing it by hand. Your math just was bothering me...so I had to take a look at it. :P
Last edited by Digital Marine on Sat Sep 29, 2007 4:40 pm, edited 1 time in total.
User avatar
Anthony




Translator Connoisseur New Age ONI

Posts: 1001
Joined: Thu Jul 06, 2006 10:19 pm
Location: Whittier, CA
Contact:

Post by Anthony »

Prey wrote: Every byte xor'ed together after the header.
*every 4 bytes
User avatar
Prey




Connoisseur Snitch! Pyre Articulatist 500

Posts: 1026
Joined: Wed Dec 27, 2006 6:49 am
Location: UK
Contact:

Post by Prey »

Anthony wrote:
Prey wrote: Every byte xor'ed together after the header.
*every 4 bytes
I'm going to bed.
Halo 2 Prophet - Skin with ease with the simple 3D point and click interface.
Halo 3 Research Thread - Contribute to the research into Halo 3.
Post Reply