Forge map modding

Discussion about modding Halo 3.
Post Reply
User avatar
LuxuriousMeat





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

Post by LuxuriousMeat »

rocket360gs wrote:
CompKronos wrote:WOW did not realize the whole other page of posting so i gues my information has already been stated before but anyway:




well correct me if i am wrong here, especially because the hex is easier for me to understand then shade whitepaper (sorry shade but nice work anywork way because i can smeel the effort), but 4120 as a decimal number is 16672 but possibly and this is where i am not sure i know the input *space* is 20 so when you take that out you get 65 which is a little closer then 4120. I am trying a little ^.^


edit again:

@rocket i think you are right there is the identifier that defines all these properties of every mongoose that meets these standards...Wow i confused myself with your dilemma. It would make sense to globally define the properties for efficiency but what about spawn time? If i have time tonight i will try some research here to figure it out by testing but interesting conundrum here
Uh, the reason for 41200000 equaling 10 in decimal is because it is a float. It would equal 16672 as regular 32 bit int (which it is not in this case).
And it is in big endian so its being technically it's being read as: 00 00 20 41.
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 »

miinaturvat wrote:Also, i was reading over your layout thingy when i spotted something that didn't seem right.

Maybe i'm just thick and don't get it, or maybe this is actually incorrect.

The following image has a "Tag_Index_Entry" for 3 mongooses (or is it mongi? :D ) on the pit.

Image

Please explain :D
I should of clarified that in the whitepaper. Its actually should be labled as "Cost of Item".

The maps are in big endian so for example the cost of a mongoose is $10

Image

I updated the whitepaper in my previous post.
User avatar
miinaturvat
Readers Club





Posts: 75
Joined: Thu Apr 10, 2008 10:04 am

Post by miinaturvat »

Ok. this has cleared up a lot.

Thanks :D

Also, would you happen to know the beginning offset as t where the forge variant holds the co-ordinates, yaw, pitch, roll, etc... of objects?
Image
User avatar
Veegie




Socialist Architect Coroner Golden Age
Mad Hatter Acolyte Translator New Age
ONI

Posts: 3638
Joined: Wed Nov 26, 2003 2:28 pm
Location: Redmond, WA

Post by Veegie »

That is not difficult to determine if you just compare two files...
Image
Hijikata wrote:The fact you love Jesus doesn't change the fact you're a *** mental patient. It just means you're a mental patient with a great imaginary friend.
User avatar
miinaturvat
Readers Club





Posts: 75
Joined: Thu Apr 10, 2008 10:04 am

Post by miinaturvat »

It is for me :D
Image
User avatar
rocket360gs





Posts: 44
Joined: Tue Apr 29, 2008 6:07 pm

Post by rocket360gs »

This doesn't answer your question, but maybe it will help. The easiest way to compare two files is to use HexWorkshop and click Tools>Compare. Then you can just select two different files (say one with an object and another with the same object rotated), then it will highlight all the differences for you in bright red to compare. The only problem is figuring out which of the differences deal with the change you made and which don't (because no matter what there are going to be additional minor changes to headers etc).
Last edited by rocket360gs on Fri May 09, 2008 7:13 am, edited 1 time in total.
Domnio





Posts: 199
Joined: Sun Jul 16, 2006 3:44 pm
Location: Earth
Contact:

Post by Domnio »

I have no clue if this will help anyone in anyway I'll just post this here just in case someone does make use of it...

you can convert hexadecimal, binary, and Oct into text with

Image

Link: :shock: << clikc the smilie...
RaVNzCRoFT removed my signature because it contained too many lines of text. I'll read the rules next time.
haxalot88





Posts: 123
Joined: Sat Jun 23, 2007 2:08 pm

Post by haxalot88 »

Hex Workshop = 1000x better and more powerful than that.
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 »

haxalot88 wrote:Hex Workshop = 1000x better and more powerful than that.

010 Editor = 1,000,000x better and more powerful than Hex Workshop.
User avatar
CompKronos




Wordewatician 250

Posts: 462
Joined: Mon Sep 03, 2007 6:45 am
Location: New Jersey

Post by CompKronos »

well when i looked i took avalanche spawned a double box in one map then rotated 90 and save it as the same thing with 001 on the end. What i found that makes a little sense is a change at the offset 0x00015855. Hope that helps, at all in some way
User avatar
miinaturvat
Readers Club





Posts: 75
Joined: Thu Apr 10, 2008 10:04 am

Post by miinaturvat »

Thanks for the help!

I had no idea Hex workshop had a file compare thingy :D
Image
User avatar
rocket360gs





Posts: 44
Joined: Tue Apr 29, 2008 6:07 pm

Post by rocket360gs »

Yeah, it's handy stuff :-)

By the way, I made a bookmark file for HexWorkshop that you can just load up to automatically structure most of the usermap sections. I can upload it if you guys would like it...
User avatar
miinaturvat
Readers Club





Posts: 75
Joined: Thu Apr 10, 2008 10:04 am

Post by miinaturvat »

Please do :D
Image
User avatar
rocket360gs





Posts: 44
Joined: Tue Apr 29, 2008 6:07 pm

Post by rocket360gs »

Usermap Offsets Bookmark for HexWorkshop

Instructions:

Download here (thanks to mxrider for the hosting), and place in C:\Program Files\Break Point Software\Hex Workshop v5\Bookmarks\.

Then just open a usermap file (without extracting it using wxPirs) and on the bottom right click the open icon to browse for bookmarks.

A word of warning: these bookmarks are set up for a forge map that begins at offset 0xE000, but occasionally a forge map will start at offset 0xD000. If that is the case, then clearly the offsets will be off by 0x1000.
User avatar
miinaturvat
Readers Club





Posts: 75
Joined: Thu Apr 10, 2008 10:04 am

Post by miinaturvat »

Thanks!

But can you please explain...

It says "Spawned_Object_Count" and shows up 62

There are 4 objects spawned on the map... Why does it say 62?

What format is it in? :?
Image
User avatar
LuxuriousMeat





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

Post by LuxuriousMeat »

miinaturvat wrote:Thanks!

But can you please explain...

It says "Spawned_Object_Count" and shows up 62

There are 4 objects spawned on the map... Why does it say 62?

What format is it in? :?
It is a single byte.
Image
User avatar
rocket360gs





Posts: 44
Joined: Tue Apr 29, 2008 6:07 pm

Post by rocket360gs »

miinaturvat wrote:It says "Spawned_Object_Count" and shows up 62

There are 4 objects spawned on the map... Why does it say 62?
Yeah I was wondering the same thing when I looked at it, but I double checked the order with Shade's white paper and that IS the correct offset...
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 »

its because its counting the player spawn and reserved placement blocks
User avatar
rocket360gs





Posts: 44
Joined: Tue Apr 29, 2008 6:07 pm

Post by rocket360gs »

shade45 wrote:its because its counting the player spawn and reserved placement blocks
Ah, that would make sense.

EDIT: OK, so I've been fortunate to have a couple of my files signed by those who know how to, and I've found a problem. I can spawn multiple objects like elephants, but I can only spawn the standard design-time max of any object that can normally be placed in Forge (like only 2 hornets or 4 choppers), even when I use the same methods of spawning. Anyone have any ideas? I'm beginning to think these max values are stored in one of the unknowns, or in the map file itself (please god no!).
User avatar
miinaturvat
Readers Club





Posts: 75
Joined: Thu Apr 10, 2008 10:04 am

Post by miinaturvat »

Yes you can:

public class Tag_Index_Entry : Chunk //12 Bytes * 256
{
[Ident(IdentType.ID)]
public TagReference Tag;
public byte Run_Time_Minimun;
public byte Run_Time_Maximun;
public byte Number_On_Map;
public byte Design_Time_Maximun;
public float Total_Cost;
}

If you change that, in theory, you could change how many of these onjects you can spawn :D

Plus, i still don't get how that could be the number of objects spawned...
Image
Post Reply