Halo 3 Retail Plugins
Yoou say Perf is complete, and yet it's filled with unknowns?.. >_<
Anyway good job so far =)
Anyway good job so far =)
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.
Halo 3 Research Thread - Contribute to the research into Halo 3.
The layout is completed meaning all the reflexives and such have been mapped. But the values are still unknown thats why its still at v0.0Prey wrote:Yoou say Perf is complete, and yet it's filled with unknowns?.. >_<
Anyway good job so far =)
Those where just a few a had lying around thought I might as we'll put them out so they can be used until the new format is done.xzodia wrote:if your making a new format why bother writing plugins in the old format?
I though you meant that, but you said the same thing about trak.. so I had to make sure =xshade45 wrote:The layout is completed meaning all the reflexives and such have been mapped. But the values are still unknown thats why its still at v0.0
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.
Halo 3 Research Thread - Contribute to the research into Halo 3.
-
- Posts: 50
- Joined: Mon Dec 27, 2004 7:02 am
weap.cs:
Enjoy
Happy Halloween!
Code: Select all
using System;
using System.Collections.Generic;
using System.Text;
using Halo3Map.Data;
namespace Halo3Map.Tags.Layouts
{
[Tag("Digital Marine", "weap", 0.1)]
public class weap : H3Tag
{
[Size(52)]
public byte[] unused1;
[ID(IdType.TagReference)]
public TagReference hlmt;
[Size(60)]
public byte[] unused2;
[ID(IdType.TagReference)]
public TagReference foot;
[Size(44)]
public byte[] unused3;
public H3Reflexive<Attachments> attachments;
[Size(32)]
//Offset: 188, Size: 32
public class Attachments : Chunk
{
[ID(IdType.TagReference)]
public TagReference FX; //0-16
public int Unknown1; //16-20
public int Unknown2; //20-24
public int Unknown3; //24-28
public int Unknown4; //28-30
}
[Size(40)]
public byte[] unused4;
public H3Reflexive<Unknown_1> Unknown_Reflexive_1;
[Size(32)]
//Offset: 236, Size: 32
public class Unknown_1 : Chunk
{
[Size(32)]
public byte unused;
}
[Size(808)]
public byte[] unused5;
public H3Reflexive<fpmodels> FP_Models;
[Size(32)]
//Offset: 1052, Size: 32
public class fpmodels : Chunk
{
[ID(IdType.TagReference)]
public TagReference Model;
[ID(IdType.TagReference)]
public TagReference Animation;
}
[Size(32)]
public byte[] unused6;
public H3Reflexive<mag> Magazine;
[Size(128)]
//Offset: 1092, Size: 128
public class mag : Chunk
{
[Size(6)]
public byte[] unused1;
public short Starting_Ammo,
Max_Ammo,
Clip_Size,
Max_Holding_Ammo;
[Size(6)]
public byte[] unused2;
public short Reloading_Amount;
[Size(94)]
public byte[] unused3;
public H3Reflexive<ammo> Ammo_Pack_Settings_Question;
[Size(20)]
//Offset: 116, Size: 20
public class ammo : Chunk
{
public short Ammo_Picked_Up;
[Size(2)]
public byte[] unused;
[ID(IdType.TagReference)]
public TagReference Equipment;
}
}
[Size(4)]
public byte[] unused7;
public H3Reflexive<triggers> Triggers_Question;
[Size(144)]
//Offset: 1104, Size: 144
public class triggers : Chunk
{
[Size(144)]
public byte[] unused;
}
[Size(4)]
public byte[] unused8;
public H3Reflexive<projectiles> Projectiles;
[Size(304)]
//Offset: 1116, Size: 304
public class projectiles : Chunk
{
public short Unknown1,
Unknown2;
public float Rounds_Per_Sec_Min,
Rounds_Per_Sec_Max,
Accel_Min,
Decel_Max,
Blurred_ROF,
Unknown;
public short Rounds_Per_Shot,
Min_Rounds_Loaded_Question;
public float Chamber_Time_secs;
[Size(6)]
public byte[] unused;
public short Ammo_per_Shot;
[Size(74)]
public byte[] unused1;
public short Projectiles_per_Shot;
[Size(32)]
public byte[] unused2;
[ID(IdType.TagReference)]
public TagReference Projectile;
[Size(128)]
public byte[] unused3;
public H3Reflexive<firingeffects> Firing_Effects;
[Size(196)]
//Offset: 296, Size: 196
public class firingeffects : Chunk
{
public short ShotCount_LowerBound,
ShotCount_UpperBound;
[ID(IdType.TagReference)]
public TagReference Firing_Effect;
[Size(16)]
public byte[] unused;
public TagReference Sound;
[Size(16)]
public byte[] unused1;
public TagReference Damage_Response;
}
}
}
}
Enjoy
Happy Halloween!
- LuxuriousMeat
- Posts: 824
- Joined: Thu Nov 03, 2005 6:43 pm
- Location: zzzzzzzzzzzzzzzz
- Contact:
- ill3galpr0gram
- Posts: 78
- Joined: Thu Nov 01, 2007 7:13 pm
- Location: Zombie Nation
- blackdiamond
- Posts: 764
- Joined: Fri Feb 16, 2007 7:18 pm
- Location: Virginia
so does this mean when that meta-editor comes out, we could try to make a smg shoot missle pods???
92% of teens have moved on to rap. If you are part of the 8% who still listen to real music, copy and paste this into your signature.
http://www.mindistortion.net/iwantyours ... am=dapoopy
http://www.mindistortion.net/iwantyours ... am=dapoopy
Grab the unofficial build here and you can start using these plugins.blackdiamond wrote:so does this mean when that meta-editor comes out, we could try to make a smg shoot missle pods???
http://forums.halomods.com/viewtopic.ph ... &start=228
ugh! - layout completed
Code: Select all
using System;
using System.Collections.Generic;
using System.Text;
using Halo3Map.Data;
namespace Halo3Map.Tags.Layouts
{
[Tag("shade45", "ugh!", 0.1)]
public class ugh_ : H3Tag
{
public H3Reflexive<Unknown0> unknown0;
[Size(4)]
public class Unknown0 : Chunk
{
public short unknown;
public short unknown2;
}
public H3Reflexive<Unknown12> unknown12;
[Size(68)]
public class Unknown12 : Chunk
{
public int unknown;
public float unknown4;
public float unknown8;
public float unknown12;
public float unknown16;
public int unknown20;
public int unknown24;
public float unknown28;
public int unknown32;
public short unknown36;
public short unknown38;
public float pi;
public float pi2;
[Size(20)]
public byte[] unknown48;
}
public H3Reflexive<Unknown24> unknown24;
[Size(20)]
public class Unknown24 : Chunk
{
public float unknown;
public float unknown4;
public float unknown8;
public float unknown12;
public float unknown16;
public float unknown20;
}
public H3Reflexive<Unknown36> unknown36;
[Size(4)]
public class Unknown36 : Chunk
{
public short unknown;
public short unknown2;
}
public H3Reflexive<Unknown48> unknown48;
[Size(16)]
public class Unknown48 : Chunk
{
public int unknown;
public int unknown4;
public int unknown8;
public int unknown12;
}
public H3Reflexive<Unknown60> unknown60;
[Size(12)]
public class Unknown60 : Chunk
{
public short unknown;
public short unknown2;
public short unknown4;
public short unknown6;
public short unknown8;
public short unknown10;
}
public H3Reflexive<Unknown72> unknown72;
[Size(16)]
public class Unknown72 : Chunk
{
public short unknown;
public short unknown2;
public short unknown4;
public short unknown6;
public short unknown8;
public short unknown10;
public short unknown12;
public short unknown14;
}
public H3Reflexive<Unknown84> unknown84;
[Size(72)]
public class Unknown84 : Chunk
{
[Size(24)]
public byte[] unknown;
public H3Reflexive<Unknown24> unknown24;
[Size(72)]
public class Unknown24 : Chunk
{
[Size(8)]
public byte[] unknown;
public float unknown8;
public float unknown12;
[Size(8)]
public byte[] unknown16;
public float unknown24;
public float unknown28;
[Size(8)]
public byte[] unknown32;
public float unknown40;
public float unknown44;
[Size(24)]
public byte[] unknown48;
}
[Size(36)]
public byte[] unknown36;
}
public H3Reflexive<Unknown96> unknown96;
[Size(28)]
public class Unknown96 : Chunk
{
public int unknown;
[Size(24)]
public byte[] unknown4;
}
public H3Reflexive<Unknown108> unknown108;
[Size(1)] //Padding 5%?
public class Unknown108 : Chunk
{
public byte unknown;
}
[Size(28)]
public byte[] unknown120;
public H3Reflexive<Unknown148> unknown148;
[Size(20)]
public class Unknown148 : Chunk
{
public int unknown;
public int unknown4;
public short unknown8;
public short unknown10;
public short unknown12;
public short unknown14;
public short unknown16;
public short unknown18;
}
[Size(12)]
public byte[] unknown160;
public H3Reflexive<Unknown172> unknown172;
[Size(12)]
public class Unknown172 : Chunk
{
public int unknown;
public int unknown4;
public int unknown8;
}
}
}
I should have posted this here,
I found the chunk palette in the scenery placement reflexive.
Oh and it seems like the forge player respawn are attached to a scenery model.
I found the chunk palette in the scenery placement reflexive.
Code: Select all
public H3Reflexive<SceneryPlacement> sceneryPlacement;
[Size(180)]
public class SceneryPlacement : Chunk
{
public short SceneryPaletteChunk;
public short Unknown2;
public int Unknown4;
public float PosX;
public float PosY;
public float PosZ;
public float Yaw;
public float Pitch;
public float Roll;
Does it extend List<T> or is it just a custom collections class you made, either way, I like the idea, good thinking whoever did that.shade45 wrote:Yes, but H3Reflexive is also a class, it holds the chunk offset/size and can read/write to the map fileOwnZ joO wrote:I like the way you set these plugins up So H3Reflexives are just a List of Chunks from what it looks right?
Yeah it extends List<T>, Anthony's Idea.OwnZ joO wrote:Does it extend List<T> or is it just a custom collections class you made, either way, I like the idea, good thinking whoever did that.shade45 wrote:Yes, but H3Reflexive is also a class, it holds the chunk offset/size and can read/write to the map fileOwnZ joO wrote:I like the way you set these plugins up So H3Reflexives are just a List of Chunks from what it looks right?
zone - completed basic layout
Code: Select all
using System;
using System.Collections.Generic;
using System.Text;
using Halo3Map.Data;
namespace Halo3Map.Tags.Layouts
{
[Tag("shade45", "zone", 0.1)]
public class zone : H3Tag
{
public int Unknown;
public H3Reflexive<Unkn4> Unknown4;
[Size(28)]
public class Unkn4 : Chunk
{
public int Unknown;
public int Unknown4;
public int Unknown8;
public int Unknown12;
public int Unknown16;
public int Unknown20;
public int Unknown24;
}
public H3Reflexive<Unkn16> Unknown16;
[Size(20)]
public class Unkn16 : Chunk
{
public int Unknown;
public int Unknown4;
public int Unknown8;
public int Unknown12;
public int Unknown16;
}
[Size(60)]
public byte[] Unknown28;
public H3Reflexive<RawTable> rawTable;
[Size(64)]
public class RawTable : Chunk
{
public TagReference tag;
public int Raw_Ident;
public int Unknown20;
public int Unknown24;
public int Unknown28;
public int Unknown32;
public int Unknown36;
public H3Reflexive<Unknown40> unknown40;
[Size(8)]
public class Unknown40 : Chunk
{
public int Unknown0;
public int Unknown4;
}
public H3Reflexive<Unknown52> unknown52;
[Size(8)]
public class Unknown52 : Chunk
{
public int Unknown0;
public int Unknown4;
}
}
public H3Reflexive<Unkn100> Unknown100;
[Size(120)]
public class Unkn100 : Chunk
{
public H3Reflexive<Unkn> Unknown;
[Size(4)]
public class Unkn : Chunk
{
public int Unknown;
}
[Size(12)]
public byte[] Unknown12;
public H3Reflexive<Unkn> Unknown24;
public H3Reflexive<Unkn> Unknown36;
public int Unknown48;
public int Unknown52;
public int Unknown56;
public int Unknown60;
public int Unknown64;
public int Unknown68;
public H3Reflexive<Unkn72> Unknown72;
[Size(20)]
public class Unkn72 : Chunk
{
public int Unknown;
public int Unknown4;
public int Unknown8;
public int Unknown12;
public int Unknown16;
}
public H3Reflexive<Unkn84> Unknown84;
[Size(4)]
public class Unkn84 : Chunk
{
public int Unknown;
}
public H3Reflexive<Unkn84> Unknown96;
public int Unknown108;
public int Unknown112;
public int Unknown116;
}
public H3Reflexive<Unkn100> Unknown112;
[Size(12)]
public byte[] Unknown124;
//All these reflexive are exactly the same format a Unknown100
public H3Reflexive<Unkn100> Unknown136;
public H3Reflexive<Unkn100> Unknown148;
public H3Reflexive<Unkn100> Unknown160;
public H3Reflexive<Unkn100> Unknown172;
public H3Reflexive<Unkn100> Unknown184;
public H3Reflexive<Unkn100> Unknown196;
[Size(12)]
public byte[] Unknown208;
public H3Reflexive<Unkn100> Unknown220;
///////////////////////////////////////////////////////////////
[Size(24)]
public byte[] Unknown232;
public H3Reflexive<Unkn256> Unknown256;
[Size(36)]
public class Unkn256 : Chunk
{
public int Unknown;
public int Unknown4;
public int Unknown8;
public int Unknown12;
public int Unknown16;
public int Unknown20;
public int Unknown24;
public int Unknown28;
public int Unknown32;
}
public H3Reflexive<Unkn268> Unknown268;
[Size(16)]
public class Unkn268 : Chunk
{
public TagReference sbsp;
}
[Size(36)]
public byte[] Unknown280;
public int TableOrSumthingOfTheSortSize;
[Size(8)]
public byte[] Unknown320;
public int TableOrSumthingOfTheSortOffset; // - map magic
public int Unknown332;
public int Unknown336;
public int Unknown340;
public int Unknown344;
public int Unknown348;
public int Unknown352;
public H3Reflexive<Unkn356> Unknown356;
[Size(20)]
public class Unkn356 : Chunk
{
public int Unknown;
public int Unknown4;
public int Unknown8;
public int Unknown12;
public int Unknown16;
}
[Size(96)]
public byte[] Unknown368;
public H3Reflexive<Unknown464> unknown464;
[Size(4)]
public class Unknown464 : Chunk
{
public int Unknown;
}
public H3Reflexive<Unknown476> unknown476;
[Size(8)]
public class Unknown476 : Chunk
{
public int Unknown;
public int Unknown4;
}
public H3Reflexive<Unknown488> unknown488;
[Size(4)]
public class Unknown488 : Chunk
{
public int Unknown;
}
public H3Reflexive<Unknown500> unknown500;
[Size(8)]
public class Unknown500 : Chunk
{
public short Unknown;
public short Unknown2;
public short Unknown4;
public short Unknown6;
}
public H3Reflexive<Unknown512> unknown512;
[Size(12)]
public class Unknown512 : Chunk
{
public short Unknown;
public short Unknown2;
public int Unknown4;
public int Unknown8;
}
}
}