Content: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Background: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Pattern: Blank Waves Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Welcome to Xbox Chaos: Modding Evolved

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

ManBearPig_06

Modding
H4 Ascension Plugin Thread

36 posts in this topic

Since I figure it's pointless to map out the entire plugins anew, as Assembly is on it's way, I thought I'd make a thread for people to post plugin info that they find useful, while we wait for Assembly's release.

As I assume people would just be mapping specific things out as they go, I think snippets of plugins will work best for this, as opposed to posting the entire thing with the majority of the plugin being Reach offsets and just a few H4 edits that someone made.

Tip: If you are using Reach plugins as a base, and the tag crashes the program when you load it, you need to remove any tagdata or color (the rgb color picker) references from the plugin, as unless they are in the proper place they will cause an error.

If you aren't going to be mapping anything yourself, it would probably be a good idea to delete everything in-between the top and bottom line (both of which say 'plugin') of your .asc plugin first, and paste any new plugin data in-between said remaining lines. That way you don't have a bunch of left-over Reach data to confuse you over what works and what does not.

What's been posted so far (sectioned into tag, and then structure if applicable):

Bipd

Object Properties


<int32 name="Default Variant" offset="132" visible="True" />
<tagref name="Object Properties" offset="136" visible="True" />

Equipment


<tagref name="Equipment" offset="1520" visible="True"/>

Jump


<float name="Jump Velocity" offset="1588" visible="True" />

Movement Bitmask (only Flying tested, other names unknown if proper)


<bitmask32 name="Movement" offset="1824" visible="True">
<option name="Centered at Origin" value="0" />
<option name="Shape Spherical" value="1" />
<option name="Use Player Physics" value="2" />
<option name="Climb Any Surface" value="3" />
<option name="Flying" value="4" />
<option name="Not Physical" value="5" />
<option name="Dead Character Collision Group" value="6" />
</bitmask32>

Flying Motion Properties


<float name="Flying Bank Angle" offset="1996" visible="True" />
<float name="Flying Bank Apply Time" offset="2000" visible="True" />
<float name="Flying Bank Decay Time" offset="2004" visible="True" />
<float name="Flying Pitch Ratio" offset="2008" visible="True" />
<float name="Flying Max Velocity" offset="2012" visible="True" />
<float name="Flying Max Sidestep Velocity" offset="2016" visible="True" />
<float name="Flying Acceleration" offset="2020" visible="True" />
<float name="Flying Deceleration" offset="2024" visible="True" />
<float name="Flying Angular Velocity Max" offset="2028" visible="True" />
<float name="Flying Angular Acceleration Max" offset="2032" visible="True" />
<float name="Flying Crouch Velocity Modifier?" offset="2038" visible="False" />

Eqip

Equipment (size shouldn't matter, I haven't seen an equip with more than one chunk yet)


<struct name="Equipment 2" offset="804" visible="True" size="396">
<float name="Warning Point" offset="16" visible="True" />
<float name="Minimum Recovered Before Active" offset="20" visible="False" />
<float name="Timer Degrade Initial" offset="24" visible="True"/>
<float name="Timer Degrade Final" offset="28" visible="True"/>
<float name="Timer Degrade Per Second" offset="32" visible="True"/>
</struct>

Hlmt

Starting Tagrefs


<tagref name="Model" offset="0" visible="true" />
<tagref name="Collision" offset="16" visible="true" />
<tagref name="Animation" offset="32" visible="true" />
<tagref name="Physics" offset="48" visible="true" />
<tagref name="Imposter Model" offset="64" visible="true" />

Invincibility Enums


<Enum8 name="Invincibility Enum 1" offset="260" visible="True" >
<option name="True" value="255" />
</Enum8>
<Enum8 name="Invincibility Enum 2" offset="276" visible="True" >
<option name="True" value="255" />
</Enum8>

Variants (extremely dumbed down edition)


<struct name="Variants" offset="196" visible="true" size="108">
<int32 name="Name" offset="0" visible="true" />
<struct name="Objects" offset="48" visible="true" size="36">
<int32 name="Parent Marker" offset="0" visible="true" />
<int32 name="Child Marker" offset="4" visible="true" />
<undefined name="Unknown" offset="8" visible="False" />
<tagref name="Child Object" offset="16" visible="true" />
<undefined name="Unknown" offset="28" visible="False" />
<undefined name="Unknown" offset="32" visible="False" />
</struct>
</struct>

Matg

Player Info


<struct name="Player Information" offset="372" visible="True" size="220" label="">
<float name="Walking Speed" offset="0" visible="true" />
<float name="Run Forward" offset="4" visible="True" />
<float name="Run Backward" offset="8" visible="True" />
<float name="Run Sideways" offset="12" visible="True" />
<float name="Ground Acceleration" offset="16" visible="True" />
<float name="Sneak Forward" offset="20" visible="True" />
<float name="Sneak Backward" offset="24" visible="True" />
<float name="Sneak Sideways" offset="28" visible="True" />
<float name="Sneak Acceleration" offset="32" visible="True" />
<float name="Airborne Acceleration" offset="36" visible="True" />
<float name="Grenade Origin X" offset="40" visible="True" />
<float name="Grenade Origin Y" offset="44" visible="True" />
<float name="Grenade Origin Z" offset="48" visible="True" />
</struct>

Player Data


<struct name="Player Data" offset="384" visible="true" size="128">
<int8 name="Unknown" offset="0" visible="false" />
<tagref name="HUD" offset="4" visible="true" />
<tagref name="First Person" offset="20" visible="true" />
<tagref name="First Person Body" offset="40" visible="true" />
<tagref name="Biped" offset="72" visible="true" />
<int32 name="Biped Variant" offset="88" visible="true" />
<tagref name="Zoom In" offset="92" visible="true" />
<tagref name="Zoom Out" offset="108" visible="true" />
</struct>

Mode

Bounding


<struct name="Bounding Box" offset="128" visible="true" size="52">
<float name="X (min)" offset="4" visible="true" />
<float name="X (max)" offset="8" visible="true" />
<float name="Y (min)" offset="12" visible="true" />
<float name="Y (max)" offset="16" visible="true" />
<float name="Z (min)" offset="20" visible="true" />
<float name="Z (max)" offset="24" visible="true" />
<float name="UV X (min)" offset="28" visible="true" />
<float name="UV X (max)" offset="32" visible="true" />
<float name="UV Y (min)" offset="36" visible="true" />
<float name="UV Y (max)" offset="40" visible="true" />
</struct>

Sbsp

Shader Refs


<struct name="Collision Materials" offset="120" visible="true" size="28">
<tagref name="Shader" offset="0" visible="True" />
<undefined name="Unknown" offset="16" visible="False" />
<undefined name="Unknown" offset="20" visible="False" />
<undefined name="Unknown" offset="24" visible="False" />
</struct>
<struct name="Materials" offset="352" visible="true" size="44">
<tagref name="Shader" offset="0" visible="true" />
<undefined name="Unknown" offset="16" visible="False" />
<float name="Unknown" offset="20" visible="False" />
<undefined name="Unknown" offset="24" visible="False" />
<undefined name="Unknown" offset="28" visible="False" />
<float name="Unknown" offset="32" visible="False" />
<float name="Unknown" offset="36" visible="False" />
<int16 name="Unknown" offset="40" visible="False" />
<int16 name="Unknown" offset="42" visible="False" />
</struct>

Scnr

Sandbox


<struct name="Sandbox" offset="728" visible="True" size="20">
<stringid name="Parent Class" offset="0" visible="True" />
<Enum8 name="Visability" offset="4" visible="True" >
<option name="True" value="0" />
<option name="False" value="1" />
</Enum8>
<struct name="Class" offset="8" visible="True" size="24">
<stringid name="Sub Class" offset="0" visible="True" />
<struct name="Class2" offset="4" visible="True" size="72">
<stringid name="Name" offset="0" visible="True" />
<int32 name="Name" offset="0" visible="True" />
<tagref name="Object" offset="4" visible="True" />
<int32 name="Variant" offset="20" visible="True" />
</struct>
<int name="Spawn Ammount" offset="16" visible="True" />
<int name="Spawn Cost" offset="20" visible="True" />
</struct>
</struct>

Default Screen Effect (seems to be null by default in H4, unlike Reach)


<tagref name="Default Screen Effect" offset="1848" visible="True" />

Sefc

Screen Effects (names improper)


<struct name="Screen Effects" offset="4" visible="true" size="280">
<float name="Bright Light" offset="128" visible="true" />
<float name="Dark Light" offset="132" visible="true" />
<float name="Sky Green" offset="136" visible="true" />
<float name="Sky Red" offset="140" visible="true" />
<float name="Saturation" offset="144" visible="true" />
<float name="Color Range" offset="148" visible="true" />
<float name="Light Intensity" offset="152" visible="true" />
<float name="Darkness" offset="156" visible="true" />
<float name="Brightness" offset="160" visible="true" />
<Float name="Screen Grains Black" offset="164" visible="true" />
<float name="Screen Grains White" offset="168" visible="true" />
<float name="Red" offset="172" visible="true" />
<float name="Green" offset="176" visible="true" />
<float name="Blue" offset="180" visible="true" />
<float name="Cyan" offset="184" visible="true" />
<float name="Violet" offset="188" visible="true" />
<float name="Lime Green" offset="192" visible="true" />
<float name="Unknown" offset="196" visible="true" />
<float name="Blur X?" offset="236" visible="true" />
<float name="Blur Y?" offset="240" visible="true" />
<float name="Hud Transparency?" offset="248" visible="true" />
<float name="Screen Zoom In" offset="252" visible="true" />
<float name="Screen Zoom Out" offset="256" visible="true" />
<float name="Screen Shake" offset="260" visible="true" />
<tagref name="Screen Shader?" offset="264" visible="true" />
</struct>

Vehi [most of these structures have only 1 block so I guarantee their size values will be horribly wrong (other than Seats and Weapons, which should be fine)]

Object Properties / Collsion Damage tagrefs


<tagref name="Object Properties" offset="136" visible="True" />
<tagref name="Collision Damage" offset="168" visible="True" />

Boost Values


<float name="Boost Peak Power" offset="1428" visible="True" />
<float name="Boost Peak Warmup Rate" offset="1432" visible="True" />
<float name="Boost Peak Cooldown Rate" offset="1436" visible="True" />
<float name="Boost Gauge Decay Rate" offset="1440" visible="True" />
<float name="Boost Gauge Warning Point" offset="1444" visible="True" />
<float name="Boost Gauge Recharge Delay" offset="1448" visible="True" />
<float name="Boost Gauge Recharge Rate" offset="1452" visible="True" />

Weapons


<struct name="Weapons" offset="1340" visible="True" size="168">
<tagref name="Weapon" offset="0" visible="True" />
<int32 name="Parent Marker" offset="16" visible="False" />
</struct>

Seats (bitmask names not...renamed)


<struct name="Seats" offset="1364" visible="True" size="364" label="" >
<bitmask32 name="Flags" offset="0" visible="True">
<option name="Invisible" value="0" />
<option name="Locked" value="1" />
<option name="Driver" value="2" />
<option name="Gunner" value="3" />
<option name="3rd Person Camera" value="4" />
<option name="Allows Weapons" value="5" />
<option name="3rd Person On Enter" value="6" />
<option name="1st Person Camera Slaved To Gun" value="7" />
<option name="Allow Vehicle Communication Animations" value="8" />
<option name="Not Valid Without Driver" value="9" />
<option name="Allow AI NonCombatants" value="10" />
<option name="Boarding Seat" value="11" />
<option name="AI Firing Disabled By Max Acceleration" value="12" />
<option name="Boarding Enters Seat" value="13" />
<option name="Boarding Need Any Passenger" value="14" />
<option name="Invaild For Player" value="15" />
<option name="Invaild For Non-Player" value="16" />
<option name="Gunner (Player Only)" value="17" />
<option name="Invisible Under Major Damage" value="18" />
</bitmask32>
<int32 name="Seat Animation" offset="8" visible="True" />
<int32 name="Sitting Postion Marker" offset="12" visible="True" />
<int32 name="Entry Point Marker" offset="16" visible="True" />
<int32 name="Unknown" offset="20" visible="True" />
<int32 name="Unknown" offset="24" visible="True" />
<int32 name="Unknown" offset="28" visible="True" />
<int32 name="Boarding Grenade Marker" offset="32" visible="True" />
<int32 name="Boarding Grenade String" offset="36" visible="True" />
<int32 name="Boarding Melee String" offset="40" visible="True" />
<float name="Ping Scale" offset="44" visible="True" />
<float name="Turnover Time (sec)" offset="48" visible="True" />
<tagref name="Acceleration" offset="52" visible="True" />
<float name="AI Scariness" offset="68" visible="False" />
<enum16 name="AI Seat Type" offset="72" visible="False">
</enum16>
<short name="Boarding Seat #" offset="86" visible="False" />
<float name="Listener Interpolation Factor" offset="88" visible="False" />
<float name="Yaw Rate Bounds (min)" offset="92" visible="True" />
<float name="Yaw Rate Bounds (max" offset="96" visible="True" />
<float name="Pitch Rate Bounds (min)" offset="100" visible="True" />
<float name="Pitch Rate Bounds (max)" offset="104" visible="True" />
<float name="Unknown" offset="96" visible="False" />
<float name="Min Speed Reference" offset="112" visible="True" />
<float name="Max Speed Reference" offset="116" visible="True" />
<float name="Speed Exponent" offset="120" visible="True" />
<int32 name="Camera Marker Name" offset="116" visible="True" />
<float name="Pitch Auto-Level" offset="132" visible="True" />
<float name="Pitch Range (min)" offset="136" visible="True" />
<float name="Pitch Range (max)" offset="140" visible="True" />
<struct name="Camera Tracks" offset="144" visible="True" size="32">
<tagref name="Track" offset="0" visible="True" />
</struct>
<int32 name="Enter Seat String" offset="292" visible="False" />
<float name="Yaw Minimum" offset="296" visible="True" />
<float name="Yaw Maximum" offset="300" visible="True" />
</struct>

Note: Motion properties, here's where the sizes are definitely wrong. At least flying vehicles works this way.

Scorpion Motion


<struct name="Scorpion Motion Properties" offset="1556" visible=" True" size="112">
<float name="Unknown" offset="0" visible="False" />
<float name="Unknown" offset="4" visible="False" />
<float name="Unknown" offset="8" visible="False" />
<float name="Unknown" offset="12" visible="False" />
<float name="Turn Rate" offset="16" visible="True" />
<float name="Speed Back" offset="20" visible="True" />
<float name="Speed Left" offset="24" visible="True" />
<float name="Speed Right" offset="28" visible="True" />
<float name="Turning Speed Right" offset="32" visible="True" />
<float name="Turning Speed Left" offset="36" visible="True" />
<float name="Speed Left 2?" offset="40" visible="True" />
<float name="Speed Right 2?" offset="44" visible="True" />
<float name="Turning Speed Right 2?" offset="48" visible="True" />
<float name="Turning Speed Left 2?" offset="52" visible="True" />
<float name="Horse Power" offset="56" visible="True" />
<float name="Speed Forward" offset="60" visible="True" />
</struct>

Human Motion


<struct name="Human Motion properties" offset="1568" visible="True" size="88">
<float name="Unknown" offset="0" visible="False" />
<float name="Unknown (turning related)" offset="4" visible="False" />
<float name="Maximum Left Turn" offset="8" visible="True" />
<float name="Maximum Right Turn (negative)" offset="12" visible="True" />
<float name="Turn Rate" offset="16" visible="True" />
<float name="Horse Power?" offset="20" visible="True" />
<float name="Vehicle Speed" offset="24" visible="True" />
</struct>

Covy Motion


<struct name="Covenant Motion Proprties" offset="1604" visible="True" size="116">
<float name="Unknown" offset="0" visible="True" />
<float name="Turning Related" offset="4" visible="True" />
<float name="Speed Front" offset="8" visible="True" />
<float name="Speed Back" offset="12" visible="True" />
<float name="Turning Speed" offset="16" visible="True" />
<float name="Braking Force Front/ Back" offset="20" visible="True" />
<float name="Speed Left" offset="24" visible="True" />
<float name="Speed Right" offset="28" visible="True" />
<float name="Acceleration Side" offset="32" visible="True" />
<float name="Braking Force Side" offset="36" visible="True" />
<undefined name="Unknown" offset="40" visible="True" />
<float name="Direction Change?" offset="44" visible="True" />
<float name="Traction?" offset="52" visible="True" />
<undefined name="Unknown" offset="56" visible="False" />
<float name="Turning Rate" offset="60" visible="True" />
</struct>

Banshee Motion


<struct name="Banshee Motion Properties" offset="1616" visible="True" size="104">
<float name="Unknown" offset="0" visible="False" />
<float name="Turning Related" offset="4" visible="True" />
<float name="Max Left Turn" offset="8" visible="True" />
<float name="Max Right Turn" offset="12" visible="True" />
<float name="Turn Rate" offset="16" visible="True" />
<float name="Flying Speed" offset="20" visible="True" />
<float name="Acceleration" offset="24" visible="True" />
<float name="Speed Related 1" offset="28" visible="True" />
<float name="Speed Related 2" offset="32" visible="True" />
<float name="Pitch Left Speed" offset="36" visible="True" />
<float name="Pitch Right Speed" offset="40" visible="True" />
<float name="Pitch Rate" offset="44" visible="True" />
<float name="Unpitch Rate" offset="48" visible="True" />
<float name="Flight Stability" offset="52" visible="False" />
<undefined name="unknown" offset="56" visible="False" />
<float name="Up/Down Tendency" offset="60" visible="False" />
<float name="Unknown" offset="64" visible="False" />
<float name="Unknown" offset="68" visible="False" />
<float name="Unknown" offset="72" visible="False" />
<float name="Unknown" offset="76" visible="False" />
<float name="Falling Speed" offset="80" visible="True" />
<float name="Falling Speed 2" offset="84" visible="True" />
<float name="Unknown" offset="88" visible="False" />
<float name="Unknown" offset="92" visible="False" />
<float name="Unknown" offset="96" visible="False" />
<float name="Force Direction?" offset="100" visible="False" />
</struct>

Weap

Object Properties


<int32 name="Default Variant" offset="132" visible="True" />
<tagref name="Object Properties" offset="136" visible="True" />

Weapon Flags (names from Reach, some work like 3rd person, but some have been changed)


<bitmask32 name="Flags" offset="720" visible="True">
<option name="vertical heat display" value="0" />
<option name="mutually exclusive triggers" value="1" />
<option name="attacks automatically on bump" value="2" />
<option name="must be readied" value="3" />
<option name="doesn't count towards maximum" value="4" />
<option name="aim assists only when zoomed" value="5" />
<option name="prevents grenade throwing" value="6" />
<option name="must be picked up" value="7" />
<option name="holds triggers when dropped" value="8" />
<option name="prevents melee attack" value="9" />
<option name="detonates when dropped" value="10" />
<option name="cannot fire at maximum age" value="11" />
<option name="secondary trigger overrides grenades" value="12" />
<option name="(OBSOLETE)does not depower" value="13" />
<option name="enables integrated night vision" value="14" />
<option name="AIs use weapon melee damage" value="15" />
<option name="forces no binoculars" value="16" />
<option name="loop fp firing animation" value="17" />
<option name="prevents sprinting" value="18" />
<option name="cannot fire while boosting" value="19" />
<option name="Prevents Driving" value="20" />
<option name="is 3rd person" value="21" />
<option name="can be dual wielded" value="22" />
<option name="can only be dual wielded" value="23" />
<option name="melee only" value="24" />
<option name="can't fire if parent dead" value="25" />
<option name="weapon ages with each kill" value="26" />
<option name="weapon uses old dual fire error" value="27" />
<option name="primary trigger melee attacks" value="28" />
<option name="cannot be used by player" value="29" />
</bitmask32>

Melee Damage (size shouldn't matter I don't think)


<struct name="Melee Damage" offset="912" visible="True" size="200">
<float name="Damage Pyramid Angle Yaw" offset="0" visible="True" />
<float name="Damage Pyramid Angle Pitch" offset="4" visible="True" />
<float name="Damage Pyramid Depth" offset="8" visible="True" />
<float name="Unknown" offset="12" visible="false" />
<undefined name="Unknown" offset="16" visible="false" />
<float name="Unknown" offset="20" visible="false" />
<tagref name="1st Hit Damage" offset="24" visible="true" />
<tagref name="1st Hit Response" offset="40" visible="true" />
<tagref name="2nd Hit Damage" offset="56" visible="true" />
<tagref name="2nd Hit Response" offset="72" visible="true" />
<tagref name="3rd Hit Damage" offset="88" visible="true" />
<tagref name="3rd Hit Response" offset="104" visible="true" />
<tagref name="Gun/Gun Clang Damage" offset="120" visible="true" />
<tagref name="Gun/Gun Clang Response" offset="136" visible="true" />
<tagref name="Gun/Sword Clang Damage" offset="152" visible="true" />
<tagref name="Gun/Sword Clang Response" offset="168" visible="true" />
<tagref name="Melee Effect" offset="184" visible="true" />
</struct>

Zoom Values


<int16 name="Zoom Levels" offset="942" visible="True" />
<float name="Min Zoom" offset="944" visible="True" />
<float name="Max Zoom" offset="948" visible="True" />

First Person


<struct name="First Person" offset="1284" visible="true" size="32">
<tagref name="Model" offset="0" visible="true" />
<tagref name="Animation" offset="16" visible="true" />
</struct>

Magazine (there are a bunch of floats leading up to the ammo sub-structure, if anyone feels curious and wants to see what they do)


<struct name="Magazines" offset="1340" visible="True" size="132">
<bitmask32 name="flags" offset="0" visible="True">
<option name="Wastes Rounds When Reloaded" value="1" />
<option name="Every Round Must Be Chambered" value="2" />
</bitmask32>
<int16 name="Rounds Recharged" offset="4" visible="True" />
<int16 name="Initial Rounds" offset="6" visible="True" />
<int16 name="Initial Max Rounds (Unused?)" offset="8" visible="True" />
<int16 name="Clip Size" offset="10" visible="True" />
<int16 name="Max Rounds" offset="12" visible="True" />
<int16 name="Initial Rounds (Upgrade)" offset="14" visible="true" />
<int16 name="Max Rounds (Upgrade)" offset="16" visible="true" />
<int16 name="Unknown" offset="18" visible="false" />
<float name="Reload Time" offset="20" visible="true" />
<int16 name="Rounds Reloaded" offset="24" visible="true" />
<int16 name="Unknown" offset="26" visible="false" />
<float name="Chamber Time" offset="28" visible="true" />
<tagRef name="Reloading Effect" offset="56" visible="true" />
<tagRef name="Reloading Damage Effect" offset="72" visible="true" />
<tagRef name="Chambering Effect" offset="88" visible="true" />
<tagRef name="Chambering Damage Effect" offset="104" visible="true" />
<struct name="Ammo" offset="120" visible="True" size="20">
<int16 name="Rounds Given (0 for Max)" offset="0" visible="True" />
<int16 name="Unknown" offset="2" visible="False" />
<tagref name="Gets Ammo From..." offset="4" visible="True" />
</struct>
</struct>

Triggers (enum names from Reach)


<struct name="Triggers" offset="1352" visible="True" size="168">
<bitmask32 name="Flags" offset="0" visible="True">
<option name="Autofire Single Action Only" value="0" />
</bitmask32>
<enum16 name="Button used" offset="4" visible="True" >
<option name="Right Trigger" value="0" />
<option name="Left Trigger" value="1" />
<option name="Melee Attack (SP Only)" value="2" />
<option name="Automated Fire (Unassigned)" value="3" />
<option name="Right Bumper" value="4" />
</enum16>
<enum16 name="Behavior" offset="6" visible="true" >
<option name="Spew" value="0" />
<option name="Latch" value="1" />
<option name="Latch-Autofire" value="2" />
<option name="Charge" value="3" />
<option name="Latch-Zoom" value="4" />
<option name="Latch-Lockon" value="5" />
<option name="1-Charge/Spew 2-Latch" value="6" />
</enum16>
<short name="Primary Barrel" offset="8" visible="True" />
<short name="Secondary Barrel" offset="10" visible="True" />
<enum16 name="Prediction" offset="12" visible="True">
<option name="None" value="0" />
<option name="Spew" value="1" />
<option name="Charge" value="2" />
</enum16>
<int16 name="Unknown" offset="14" visible="False" />
<float name="Autofire Time" offset="16" visible="True" />
<float name="Autofire Throw" offset="20" visible="True" />
<enum16 name="Secondary Action" offset="24" visible="True">
<option name="Fire" value="0" />
<option name="Charge" value="1" />
<option name="Track" value="2" />
<option name="Fire Other" value="3" />
</enum16>
<enum16 name="Primary Action" offset="26" visible="True">
<option name="Fire" value="0" />
<option name="Charge" value="1" />
<option name="Track" value="2" />
<option name="Fire Other" value="3" />
</enum16>
<float name="Charging Time" offset="28" visible="True" />
<float name="Charged Time" offset="32" visible="True" />
<enum32 name="Overcharged Action" offset="36" visible="True">
<option name="None" value="0" />
<option name="Explode" value="1" />
<option name="Discharge" value="2" />
<option name="Fire" value="33554432" />
<option name="Launch" value="33620064" />
<option name="Secondary" value="16" />
</enum32>
<float name="Charged Illumination (0,1)" offset="40" visible="True" />
<tagref name="Unknown" offset="44" visible="False" />
<tagref name="Unknown" offset="60" visible="False" />
<tagref name="Charging Damage Response" offset="76" visible="True" />
<float name="Charge degeneration" offset="92" visible="True" />
</struct>

Barrels (again, idk how accurate the names under the Flags bitmask are)


<struct name="Barrels" offset="1364" visible="true" size="400">
<bitmask32 name="Flags" offset="0" visible="False">
<option name="Tracks Fired Projectile" value="0" />
<option name="Random Firing Effects" value="1" />
<option name="Can Fire With Partial Ammo" value="2" />
<option name="Projectiles use Weapon Origin" value="3" />
<option name="Ejects During Chamber" value="4" />
<option name="Use Error When Unzoomed" value="5" />
<option name="Projectile Vector Cannot Be Adjusted" value="6" />
<option name="Projectiles Have Identical Error" value="7" />
<option name="Projectiles Fire Parallel" value="8" />
<option name="Cant Fire When Others Firing" value="9" />
<option name="Cant Fire When Others Recovering" value="10" />
<option name="Don't Clear Fire Bit After Recovering" value="11" />
<option name="Stagger Fire Across Multiple Markers" value="12" />
<option name="Fires Locked Projectiles" value="13" />
</bitmask32>
<float name="rounds per second (min)" offset="4" visible="true" />
<float name="rounds per second (max)" offset="8" visible="true" />
<float name="Acceleration Time" offset="16" visible="True" />
<float name="Deceleration Time" offset="24" visible="True" />
<float name="Barrel Spin Scale" offset="28" visible="True" />
<float name="Blurred Rate of Fire" offset="32" visible="True" />
<int16 name="Shots Per Fire Min" offset="36" visible="true" />
<int16 name="Shots Per Fire Max" offset="38" visible="true" />
<float name="Fire Recovery Time" offset="40" visible="true" />
<float name="Soft Recovery Fraction" offset="44" visible="True" />
<short name="Magazine Chunk" offset="56" visible="true" />
<short name="Rounds Per Shot" offset="58" visible="true" />
<short name="Minimum Rounds Loaded" offset="60" visible="true" />
<short name="Rounds Between Tracers" offset="62" visible="true" />
<int32 name="Optional Barrel" offset="64" visible="True" />
<enum16 name="Prediction Type" offset="68" visible="False">
<option name="0" value="0" />
</enum16>
<enum16 name="Firing Noise" offset="70" visible="False">
<option name="0" value="0" />
</enum16>
<float name="Error Acceleration Time" offset="76" visible="True" />
<float name="Error Deceleration Time" offset="80" visible="True" />
<float name="Damage Error Lower" offset="84" visible="True" />
<float name="Damage Error Upper" offset="88" visible="True" />
<float name="Dual Weapon Error Acceleration Time" offset="92" visible="True" />
<float name="Dual Weapon Error Deceleration Time" offset="96" visible="True" />
<float name="Unknown" offset="100" visible="False" />
<enum16 name="Distribution Function" offset="104" visible="True">
<option name="Point" value="0" />
<option name="Fan" value="1" />
</enum16>
<short name="Projectiles per Shot" offset="106" visible="True" />
<float name="Error Angle" offset="112" visible="True" />
<float name="Base Bloom Amount" offset="128" visible="True" />
<float name="Bloom Increment Per-Shot" offset="132" visible="True" />
<float name="Reload Bloom Reset Time" offset="136" visible="True" />
<float name="Weapon Switch Bloom Reset Time" offset="140" visible="True" />
<float name="Zoom Bloom Reset Time" offset="144" visible="True" />
<float name="Jump Bloom Reset Time" offset="148" visible="True" />
<enum8 name="Reported Weapon" offset="268" visible="False">
<option name="0" value="0" />
</enum8>
<tagref name="Inital Projectile" offset="272" visible="true" />
<tagref name="Trailing Projectile" offset="288" visible="true" />
<tagref name="Unknown" offset="304" visible="true" />
<tagref name="Forced Projectile?" offset="324" visible="true" />
<float name="Ejection Port Recovery Time" offset="340" visible="True" />
<float name="Illumination Recovery Time" offset="344" visible="True" />
<float name="Heat Generated Per Round" offset="348" visible="True" />
<float name="Charge Percentage Subtraction" offset="356" visible="True" />
<float name="Age Generated Per Round" offset="360" visible="True" />
<float name="Firing Effect Reset Speed" offset="368" visible="True" />
<float name="Bloom Reset Speed" offset="384" visible="True" />
</struct>

Edited by MBP

Share this post


Link to post
Share on other sites

Gonna go ahead and pin this, but I'd like to emphasize one thing:

As I assume people would just be mapping specific things out as they go, I think snippets of plugins will work best for this,

I'd like to consider this modified Ascension as more of an "In the meantime" thing until Assembly comes out, so please don't overwork yourselves if you don't want/need/have to. There are a couple people including myself working on making plugins nice and pretty for Assembly's launch. :tongue:

Class2's size in Sandbox is actually "72" now, btw.

Share this post


Link to post
Share on other sites

Class2's size in Sandbox is actually "72" now, btw.

Damn, I knew I forgot to check one of them. Must have done it on an item with just one chunk in C2.

But yes, I agree, I'm considering this an entirely temporary thing. It's most of the reason I think posting snippets is the best way to go, as it can be 'share as you go' instead of feeling like you need to do more before releasing. I felt that way a ton while mapping reach plugins early on, I would have like 2 things and feel like I needed to name the rest of the surrounding things to make it look better, or mapping out a whole structure instead of just the one thing you wanted to use in it etc., and would end up not releasing at all.

On an unrelated note, why does [ code] on this site mess with my indentations? I do the standard 2 space indents for structures/enums/etc., but it seems to have randomly removed the spacing, or doubled it, or left it as is, and I can't figure out the pattern to it. You'll see things directly under <struct... with no spaces, and then you'll see things under a different <struct... spaced out way more than just 2 spaces, and I was losing my mind trying to edit it over and over lol.

Edited by MBP

Share this post


Link to post
Share on other sites

I'll throw some in when I get home. Quick question though, is it technically correct to use negative offsets? Like, initial proj for weap is backwards from the tag header.

Share this post


Link to post
Share on other sites

I'll throw some in when I get home. Quick question though, is it technically correct to use negative offsets? Like, initial proj for weap is backwards from the tag header.

No it is not. You have to find the structure that actually points to the area you are using negative offsets to get to now.

Share this post


Link to post
Share on other sites

I'll throw some in when I get home. Quick question though, is it technically correct to use negative offsets? Like, initial proj for weap is backwards from the tag header.

What zedd said, if it's backwards it's either in a structure or it's the wrong tag (I seem to remember someone had mapped out soft barriers in scnr or something when reach came out, and for obvious reasons it only worked on one map).

In this case, it's the tagref at offset 272 under the 'barrels' structure (offset 1364, size 400).

Edited by MBP

Share this post


Link to post
Share on other sites

Annnd i learned how to work with structs.

Magazines:


<struct name="Magazines" offset="1340" visible="True" size="128">
<bitmask32 name="flags" offset="0" visible="True">
<option name="Wastes Rounds When Reloaded" value="1" />
<option name="Every Round Must Be Chambered" value="2" />
</bitmask32>
<int16 name="Rounds Recharged" offset="4" visible="True" />
<int16 name="Initial Rounds" offset="6" visible="True" />
<int16 name="Initial Max Rounds" offset="8" visible="True" />
<int16 name="Clip Size" offset="10" visible="True" />
<int16 name="Max Rounds" offset="12" visible="True" />
<struct name="Ammo" offset="120" size="40" visible="true">
<tagref name="Gets Ammo From..." offset="4" visible="True" />
</struct>
</struct>

Barrels:


<struct name="Barrels" offset="1364" size="400" visible="true">
<int16 name="Shots Per Fire Min" offset="36" visible="true" />
<int16 name="Shots Per Fire Max" offset="38" visible="true" />
<float name="Fire Recovery Time" offset="40" visible="true" />
<short name="Projectiles per Shot" offset="106" visible="True" />
<tagref name="Initial Projectile" offset="272" visible="true" />
<tagref name="Trailing Projectile" offset="288" visible="true" />

</struct>

neither very finished, but i've got a lot of the basics.

Edited by ShadeTH

Share this post


Link to post
Share on other sites

Haha don't remind me of my fail of not updating the offset for "Initial Rounds" for Reach when I went through them. :tongue:

Share this post


Link to post
Share on other sites

for sddt and skiddily removing barriers.


<struct name="Soft Barriers" offset="52" visible="true" size="64">
<undefined name="X extent" offset="16" visible="True" />
<undefined name="Y extent" offset="20" visible="True" />
<undefined name="Z extent" offset="24" visible="True" />
</struct>

Share this post


Link to post
Share on other sites

for sddt and skiddily removing barriers.


<struct name="Soft Barriers" offset="52" visible="true" size="64">
<undefined name="X extent" offset="16" visible="True" />
<undefined name="Y extent" offset="20" visible="True" />
<undefined name="Z extent" offset="24" visible="True" />
</struct>

I prefer just setting the 4th value to 0, instead of changing all 3 of those, but I'm not sure it makes that much of a difference. It's the same as Reach though, offset wise.

Added some Bipd stuff.

Edited by MBP

Share this post


Link to post
Share on other sites

sefc - some of these might not be 100% since i only tested on the main menu's filter.


<struct name="Screen Effects" offset="4" visible="true" size="280">
<float name="Bright Light" offset="128" visible="true" />
<float name="Dark Light" offset="132" visible="true" />
<float name="Sky Green" offset="136" visible="true" />
<float name="Sky Red" offset="140" visible="true" />
<float name="Saturation" offset="144" visible="true" />
<float name="Color Range" offset="148" visible="true" />
<float name="Light Intensity" offset="152" visible="true" />
<float name="Darkness" offset="156" visible="true" />
<float name="Brightness" offset="160" visible="true" />
<Float name="Screen Grains Black" offset="164" visible="true" />
<float name="Screen Grains White" offset="168" visible="true" />
<float name="Red" offset="172" visible="true" />
<float name="Green" offset="176" visible="true" />
<float name="Blue" offset="180" visible="true" />
<float name="Cyan" offset="184" visible="true" />
<float name="Violet" offset="188" visible="true" />
<float name="Lime Green" offset="192" visible="true" />
<float name="Blur X?" offset="236" visible="true" />
<float name="Blur Y?" offset="240" visible="true" />
<float name="Hud Transparency?" offset="248" visible="true" />
<float name="Screen Zoom In" offset="252" visible="true" />
<float name="Screen Zoom Out" offset="256" visible="true" />
<float name="Screen Shake" offset="260" visible="true" />
<tagref name="Screen Shader?" offset="264" visible="true" />
</struct>

Share this post


Link to post
Share on other sites

Fixed Vehicle Boost:


<float name="Boost Peak Power" offset="1428" visible="True" />
<float name="Boost Peak Warmup Rate" offset="1432" visible="True" />
<float name="Boost Peak Cooldown Rate" offset="1436" visible="True" />
<float name="Boost Gauge Decay Rate" offset="1440" visible="True" />
<float name="Boost Gauge Warning Point" offset="1444" visible="True" />
<float name="Boost Gauge Recharge Delay" offset="1448" visible="True" />
<float name="Boost Gauge Recharge Rate" offset="1452" visible="True" />

Fixed Magazines:


<struct name="Magazines" offset="1340" visible="True" size="132">
<bitmask32 name="flags" offset="0" visible="True">
<option name="Wastes Rounds When Reloaded" value="1" />
<option name="Every Round Must Be Chambered" value="2" />
</bitmask32>
<int16 name="Rounds Recharged" offset="4" visible="True" />
<int16 name="Initial Rounds" offset="6" visible="True" />
<int16 name="Initial Max Rounds (Unused?)" offset="8" visible="True" />
<int16 name="Clip Size" offset="10" visible="True" />
<int16 name="Max Rounds" offset="12" visible="True" />
<int16 name="Initial Rounds (Upgrade)" offset="14" visible="true" />
<int16 name="Max Rounds (Upgrade)" offset="16" visible="true" />
<int16 name="Unknown" offset="18" visible="false" />
<float name="Reload Time" offset="20" visible="true" />
<int16 name="Rounds Reloaded" offset="24" visible="true" />
<int16 name="Unknown" offset="0x26" visible="false" />
<float name="Chamber Time" offset="28" visible="true" />
<tagRef name="Reloading Effect" offset="56" visible="true" />
<tagRef name="Reloading Damage Effect" offset="0x72" visible="true" />
<tagRef name="Chambering Effect" offset="88" visible="true" />
<tagRef name="Chambering Damage Effect" offset="104" visible="true" />
<struct name="Ammo" offset="120" visible="True" size="20">
<int16 name="Rounds Given (0 for Max)" offset="0" visible="True" />
<int16 name="Unknown" offset="2" visible="False" />
<tagref name="Gets Ammo From..." offset="4" visible="True" />
</struct>
</struct>

Share this post


Link to post
Share on other sites

sefc - some of these might not be 100% since i only tested on the main menu's filter.

Nice, I was looking at that earlier but didn't rename anything. I'll put that up, along with adding the 'default screen effect' tagref to the scnr section (seems to be Null by default now, unlike Reach, but you can just pick one and poke and then mess with that one. 0xEC2607A3 is a fun one on valhalla).

Edited by MBP

Share this post


Link to post
Share on other sites

First Person for weap:


<struct name="First Person" offset="1284" visible="true" size="32">
<tagref name="Model" offset="0" visible="true" />
<tagref name="Animation" offset="16" visible="true" />
</struct>

Starting tagrefs in hlmt:


<tagref name="Model" offset="0" visible="true" />
<tagref name="Collision" offset="16" visible="true" />
<tagref name="Animation" offset="32" visible="true" />
<tagref name="Physics" offset="48" visible="true" />
<tagref name="Imposter Model" offset="64" visible="true" />

Edited by ShadeTH

Share this post


Link to post
Share on other sites

Fixed Vehicle Boost:


<float name="Boost Peak Power" offset="1428" visible="True" />
<float name="Boost Peak Warmup Rate" offset="1432" visible="True" />
<float name="Boost Peak Cooldown Rate" offset="1436" visible="True" />
<float name="Boost Gauge Decay Rate" offset="1440" visible="True" />
<float name="Boost Gauge Warning Point" offset="1444" visible="True" />
<float name="Boost Gauge Recharge Delay" offset="1448" visible="True" />
<float name="Boost Gauge Recharge Rate" offset="1452" visible="True" />

Fixed Magazines:


<struct name="Magazines" offset="1340" visible="True" size="132">
<bitmask32 name="flags" offset="0" visible="True">
<option name="Wastes Rounds When Reloaded" value="1" />
<option name="Every Round Must Be Chambered" value="2" />
</bitmask32>
<int16 name="Rounds Recharged" offset="4" visible="True" />
<int16 name="Initial Rounds" offset="6" visible="True" />
<int16 name="Initial Max Rounds (Unused?)" offset="8" visible="True" />
<int16 name="Clip Size" offset="10" visible="True" />
<int16 name="Max Rounds" offset="12" visible="True" />
<int16 name="Initial Rounds (Upgrade)" offset="14" visible="true" />
<int16 name="Max Rounds (Upgrade)" offset="16" visible="true" />
<int16 name="Unknown" offset="18" visible="false" />
<float name="Reload Time" offset="20" visible="true" />
<int16 name="Rounds Reloaded" offset="24" visible="true" />
<int16 name="Unknown" offset="0x26" visible="false" />
<float name="Chamber Time" offset="28" visible="true" />
<tagRef name="Reloading Effect" offset="56" visible="true" />
<tagRef name="Reloading Damage Effect" offset="0x72" visible="true" />
<tagRef name="Chambering Effect" offset="88" visible="true" />
<tagRef name="Chambering Damage Effect" offset="104" visible="true" />
<struct name="Ammo" offset="120" visible="True" size="20">
<int16 name="Rounds Given (0 for Max)" offset="0" visible="True" />
<int16 name="Unknown" offset="2" visible="False" />
<tagref name="Gets Ammo From..." offset="4" visible="True" />
</struct>
</struct>

your magazine fix gives me an error saying it isn't in the correct format. shade th's works tho

Share this post


Link to post
Share on other sites

your magazine fix gives me an error saying it isn't in the correct format. shade th's works tho

that's cause he didnt fix them all. theres a 0x26 and 0x72 i can see in there, convert those hex to decimal and it should run fine

Share this post


Link to post
Share on other sites

that's cause he didnt fix them all. theres a 0x26 and 0x72 i can see in there, convert those hex to decimal and it should run fine

thanks, but im not sure if i got this right: 0x72=114 and 0x26=38 Edited by JJIJR

Share this post


Link to post
Share on other sites

thanks, but im not sure if i got this right: 0x72=114 and 0x26=38

yea that would be proper conversions from hex to decimal, although looking at the plugin again im not sure those are proper hex. is looks like zedd started typing hex then put the decimal part in front,

so to follow the pattern of the offsets around simply remove the 0x and leave the number as whatever zedd has it as

Share this post


Link to post
Share on other sites

yea that would be proper conversions from hex to decimal, although looking at the plugin again im not sure those are proper hex. is looks like zedd started typing hex then put the decimal part in front,

so to follow the pattern of the offsets around simply remove the 0x and leave the number as whatever zedd has it as

k thx

Share this post


Link to post
Share on other sites

yea that would be proper conversions from hex to decimal, although looking at the plugin again im not sure those are proper hex. is looks like zedd started typing hex then put the decimal part in front,

so to follow the pattern of the offsets around simply remove the 0x and leave the number as whatever zedd has it as

Yeah, fixed that in the OP, probably should have read through it before going "oh, zedd probably got this down" and just copy+pasting it.

Share this post


Link to post
Share on other sites

I'll try and be more careful next time. :tongue:

No worries, I was more annoyed that I didn't catch it when I was copying it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now