Posted: Mon Oct 22, 2007 2:35 pm
Yoou say Perf is complete, and yet it's filled with unknowns?.. >_<
Anyway good job so far =)
Anyway good job so far =)
Visit remnantmods.com for more information
http://www.halomods.info/
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
Oh, yays! I was really getting sick of the old one >_<shade45 wrote:there is a new better format coming soon
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;
}
}
}
}
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???
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;
}
}
}
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?
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?
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;
}
}
}