Official Halo 2 Vista Research Thread

Discuss modding Halo 2 here, or even ask for help. Don't be afraid to ask for help, we all need it at some point.
User avatar
Grimdoomer
Admin
Posts: 1835
Joined: Sun Dec 09, 2007 9:09 pm

Official Halo 2 Vista Research Thread

Post by Grimdoomer »

I know there are a cuple apps out there that can do some modding of the Halo 2 Vista maps, but I havent found a good one yet and decided why not make one. Im just gunna through some basic stuff down, even though with a few exceptions it is basicly the same as the Halo 2 Xbox map file. So far I got most of the header figured out, I avent made a app yet gunna eat dinner then do it. I will post source for it. Also gunna do the Index wich is kinda wierd, Tags, SID's, and Unicode layouts.

Header
Header Size = 2048 bytes

Code: Select all

    public struct MapHeader
    {
        public char[4] head;
        public int Version;
        public int MapSize;
        public byte[4] null;
        public int IndexOffset;
        public int MetaStart;
        public int MetaSize;
        public int IndexSize;
        public int Unkown;
        public char[30] BuildDate;
        public int MapType;// 0 = SP 1 = MP 2 = MM 3 = S 4 = SPS - int32
        public int Unknown;
        public int always1;
        public int SIDMetaTableOffset;
        public int SIDCount;
        public int SIDTableLength;
        public int SIDIndexOffset;
        public int SIDTable1Offset;
        public int Unknown;// SID related??
        public int Unknown;// Geometry/Cache related?? 
        public int Unknown;// Geometry/Cache related??
        public int Unknown;// Geometry/Cache related??
        public int Unknown;// Geometry/Cache related??
        public int Unknown;// Geometry/Cache related??
        public int Unknown;// Geometry/Cache related??
        public char[35] MapName;
        public char[80] MapScenario;
        public int ObjectCount;
        public int  FileTableOffset;
        public int Unknown;// FileTableSize?
        public int FileTableIndexOffset;
        public int IndexToSomething;
        public int Unknown;// 252 in MP null in all others
        public int Unknown;
        public int OffsetToSomething;
        public int Unknown;
        public char[4] Foot;
    }
Index Header
Header Length = 32

Code: Select all

    public struct IndexHeader
    {
        public int IndexHeaderLength;
        public int Const 120;
        public int Const1472;
        public int TagStart = IndexHeaderLength  + IndexOffset;
        public int MapMagic - (IndexOffset + 32); 
        public int ObjectCount;
        public int TagStart; 
        TagStart = TagStart + 8 
        SecondaryMapMagic = TagStart - (IndexOffset + IndexSize)
    }
Tag Struct

Code: Select all

    public struct H2Tag
    {
        public string TagPath;
        public string TagClass;
        public int MetaOffset;
        public int MetaSize;
        public int TagID;
    }

    public struct TagInfo
    {
        public char[4] TagClass;
        public int TagID;
        public int TagMetaOffser;
        public int TagMetaSize;
    }
Unicode

Code: Select all

public struct Unicode
    {
        public int Offset;
        public int ID;
    }
public enum Languages //only 5 for vista
        {
            English,
            German,
            French,
            Spanish,
            Itlian
        }
public struct UnicodeValuesinMatgMeta
    {
        //Start at Offset + 392
        public int StringCount;
        public int IndexSize;
        public int IndexOffset;
        public int FileTableOffset;
        public int Unknown;
        public long Null; //I think I did that right long = 8 bytes???
    }
String ID's

Code: Select all

//StringIDs now have a block of meta after the name, what that meta is/does I dont know
public struct SIDBlock
        {
            public int Offset;
            public string FirstName;
            public string SecondName;
            public byte Length;
            public short Index;
            public byte[] Meta;
        }
I almost have Bitmap raw except for the actaul decoding process. I will post that when it is complete.
Don't snort the magic, we need it for the network.
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Official Halo 2 Vista Research Thread

Post by XZodia »

o wat fun XD

i get vista tomorrow so i can start doing h2v stuff :D
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
Grimdoomer
Admin
Posts: 1835
Joined: Sun Dec 09, 2007 9:09 pm

Re: Official Halo 2 Vista Research Thread

Post by Grimdoomer »

Nice to see someone interested.

UPDATE: I have a lot done on the app, I will post tomaro with teh source and index info, along with other stuff too.
Don't snort the magic, we need it for the network.
User avatar
Grimdoomer
Admin
Posts: 1835
Joined: Sun Dec 09, 2007 9:09 pm

Re: Official Halo 2 Vista Research Thread

Post by Grimdoomer »

Finaly cracked the sucka....
Don't snort the magic, we need it for the network.
User avatar
Aumaan Anubis
Staff
Posts: 1812
Joined: Thu Dec 13, 2007 12:18 am
Contact:

Re: Official Halo 2 Vista Research Thread

Post by Aumaan Anubis »

W00t, good job Grimdoomer. Too bad I don't have Vista. Good luck with Oracle/Cortana.
User avatar
Grimdoomer
Admin
Posts: 1835
Joined: Sun Dec 09, 2007 9:09 pm

Official Halo 2 Vista Research Thread

Post by Grimdoomer »

I hacked halo 2 vista first YAY :D :D
Don't snort the magic, we need it for the network.
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Official Halo 2 Vista Research Thread

Post by XZodia »

memory editing isnt hacking...its training >_>
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
Grimdoomer
Admin
Posts: 1835
Joined: Sun Dec 09, 2007 9:09 pm

Official Halo 2 Vista Research Thread

Post by Grimdoomer »

This isn't a memery edit, I'll send you a patch if you dont belive me.
Don't snort the magic, we need it for the network.
Supermodder911
Posts: 409
Joined: Sat Jan 12, 2008 11:42 pm
Location: Michigan
Contact:

Official Halo 2 Vista Research Thread

Post by Supermodder911 »

Cool.
Good job on the Header info though some stuff is off on all structs you got...
Edit also you should realy Define it in C# cause it is alot easier to understand for people who don't program.
If you want I'll update it.
Image
Chad Warden is Ballin'. No jk.
User avatar
Aumaan Anubis
Staff
Posts: 1812
Joined: Thu Dec 13, 2007 12:18 am
Contact:

Official Halo 2 Vista Research Thread

Post by Aumaan Anubis »

I think it's awesome how my AIM screen name is in the picture where someone first modded H2Vista :D
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Official Halo 2 Vista Research Thread

Post by XZodia »

Grimdoomer wrote:This isn't a memery edit, I'll send you a patch if you dont belive me.
in that case...awsome, me wants to helpz write dat appz
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
neodos
Posts: 1493
Joined: Sun Dec 09, 2007 8:58 pm

Official Halo 2 Vista Research Thread

Post by neodos »

I did the same thing editing RAM with the hex editor lol i even showed to Xzodia but i am running h2v on windows xp.

You should make an app that mod the map which is in the RAM, once loaded you can edit no need to sign etc.
User avatar
Grimdoomer
Admin
Posts: 1835
Joined: Sun Dec 09, 2007 9:09 pm

Official Halo 2 Vista Research Thread

Post by Grimdoomer »

Well I have a personal trainer, but then it wont stop people from going on live with it, where as map editing will only work with NO patches appyed. Last time I checked you cant go on live with out one of the patches.
Don't snort the magic, we need it for the network.
Supermodder911
Posts: 409
Joined: Sat Jan 12, 2008 11:42 pm
Location: Michigan
Contact:

Official Halo 2 Vista Research Thread

Post by Supermodder911 »

See how better structured I made it for you, It is alot more help to all who need it.
Image
Chad Warden is Ballin'. No jk.
User avatar
Grimdoomer
Admin
Posts: 1835
Joined: Sun Dec 09, 2007 9:09 pm

Official Halo 2 Vista Research Thread

Post by Grimdoomer »

I still think it isent but w/e
Don't snort the magic, we need it for the network.
Supermodder911
Posts: 409
Joined: Sat Jan 12, 2008 11:42 pm
Location: Michigan
Contact:

Official Halo 2 Vista Research Thread

Post by Supermodder911 »

How do you define "isent"?
It is so much more structured and I think everyone can agree.
Image
Chad Warden is Ballin'. No jk.
User avatar
Grimdoomer
Admin
Posts: 1835
Joined: Sun Dec 09, 2007 9:09 pm

Official Halo 2 Vista Research Thread

Post by Grimdoomer »

when you program do you make thigs structua? like a struct for the header and index?
Don't snort the magic, we need it for the network.
Supermodder911
Posts: 409
Joined: Sat Jan 12, 2008 11:42 pm
Location: Michigan
Contact:

Official Halo 2 Vista Research Thread

Post by Supermodder911 »

No you use a class, Its just better programming because you can have constructor, methods, etc, etc.
If you don't want to take my advice I don't realy care.
Image
Chad Warden is Ballin'. No jk.
User avatar
Grimdoomer
Admin
Posts: 1835
Joined: Sun Dec 09, 2007 9:09 pm

Official Halo 2 Vista Research Thread

Post by Grimdoomer »

well I sent you my header class and you saw how I did that. I then link them all with a class called Map, so if I need something from the header I can just call it by Map.Header.xxxx
Don't snort the magic, we need it for the network.
Supermodder911
Posts: 409
Joined: Sat Jan 12, 2008 11:42 pm
Location: Michigan
Contact:

Official Halo 2 Vista Research Thread

Post by Supermodder911 »

But there was also some more horrible code in there too...
Image
Chad Warden is Ballin'. No jk.
User avatar
Grimdoomer
Admin
Posts: 1835
Joined: Sun Dec 09, 2007 9:09 pm

Official Halo 2 Vista Research Thread

Post by Grimdoomer »

well out of all the apps I have made I programed them like that and worked flawlessly.
Don't snort the magic, we need it for the network.
Supermodder911
Posts: 409
Joined: Sat Jan 12, 2008 11:42 pm
Location: Michigan
Contact:

Official Halo 2 Vista Research Thread

Post by Supermodder911 »

They work whch is good.
But using bad programming practices make you a nub.
So do you and I'll do me, I know what I'm doing if you don't want my help tis fine.
Image
Chad Warden is Ballin'. No jk.
User avatar
Prey
Posts: 129
Joined: Sat Dec 29, 2007 5:06 pm
Location: UK

Official Halo 2 Vista Research Thread

Post by Prey »

In C#, classes and structs have several very important differences. I advise you to research them thoroughly, before making a decision on which will work best in the given situation.. keeping in mind possible future situations as well of course..
User avatar
Grimdoomer
Admin
Posts: 1835
Joined: Sun Dec 09, 2007 9:09 pm

Official Halo 2 Vista Research Thread

Post by Grimdoomer »

Boy oh boy have I got finds to post :twisted:
Don't snort the magic, we need it for the network.
User avatar
Aumaan Anubis
Staff
Posts: 1812
Joined: Thu Dec 13, 2007 12:18 am
Contact:

Official Halo 2 Vista Research Thread

Post by Aumaan Anubis »

Then post them!
Post Reply