Page 3 of 5

Re: XZodia's Plugins

Posted: Tue Jun 10, 2014 11:40 am
by neodos
CaptainPoopface wrote:
Yeah, mostly stopped because of not being able to inject models with proper normals and tagent data.
I also made some scripts to export box shapes from the 3D app (Softimage) to H2, yes, although nowadays I could just code a new plugin/tool to make collision for maps that does it way better, that is using these PHMO shapes though.
Grimdoomer wrote:
If only we could compile a "template" map with the minimal tags, say, only players, base weapons and vehicles, all projectiles, effects, and relative dependencies needed etc
Then the scnr with maxed out slots for spawning any kind of stuff.
And the BSP be a giant empty skybox where we'd build maps with objects.

Then that template map file size would be smaller than a regular map and we could inject tags at the end and spawn tons of objects to build maps over it.

Honestly though I don't think I would take the time to mod H2 nowadays but I am still passionate about it and was curious to know how much progress was made in those areas that would really make it easier to mod H2 if it was sorted out.

Re: XZodia's Plugins

Posted: Tue Jun 10, 2014 11:24 pm
by XZodia
I had a look at grim's data and found that scenery has a max of 2000 spawns, which is enough to make a 44x44 block map, (or something longer and skinner). Either way, it should be enough for something decent and if you want something bigger you can make the blocks bigger.
As for making the tags and such, the elongation crate is pretty perfect, it might be good with a different render model but its not necessary.

In other news, I just completed the Scenario plugin. With all the AI data. As well as many other fixes, including BSP placements for spawns and various networking related checks.
Ever wanted to spawn a dead guy and exploded vehicle? Now you can =P

Find it attached to the main post, let me know if there are any problems and i'll fix them but I think I squished all the bugs.

@troy i encountered some undesirable behaviour when a nested reflexive wasn't used by the first chunk but was by others, if you get a chance could you look into it please?



TL;DR: New 100% Complete Scenario Plugin in the main post!

Re: XZodia's Plugins

Posted: Tue Jun 10, 2014 11:48 pm
by troymac1ure
See what I can do. Do you have an example map/tag I can use?

Re: XZodia's Plugins

Posted: Wed Jun 11, 2014 12:16 am
by XZodia
I was using sentinalwalls, check the AI reflexives in the scnr

Re: XZodia's Plugins

Posted: Sun Jun 15, 2014 9:28 am
by troymac1ure
Haven't forgotten. I will look into this next and hopefully fix it. It will also have the BitMask32 overflow bug in the next release.

Re: XZodia's Plugins

Posted: Thu Jun 19, 2014 7:54 am
by troymac1ure
Turning out to be a pain with hidden unused reflexives due to the fact TreeView controls don't allow "hide" of a node. My scanning methods require the node to be part of the TreeView to populate it, so I can't just do a seperate scan and compare the two. If I clear the nodes and then re-populate then the parent node collapses and you lose your selected node.
I may be able to just have it add duplicates to the parent node, compare and remove unneeded nodes. :roll:
I wish TreeView controls would just support individual node hiding and/or disabling.

Re: XZodia's Plugins

Posted: Thu Jun 19, 2014 1:31 pm
by XZodia
Could you have a full tree in memory which was separate to the treeview, and then do a selective clone to create the treeview?

Also, would you be able to add the AI stuff to the BSP viewer?
AI Zones: Firing Positions XYZ and Normal
AI Zones: Areas, I'm not sure if this has positional data, but you could see if the values make any sense?
AI Squads: Starting Locations XYZ and Yaw-Pitch

Re: XZodia's Plugins

Posted: Thu Jun 19, 2014 7:00 pm
by CaptainPoopface
That is a clever idea. I have also resorted to faking a tree view with a grid, where the column indicates the depth of the node. The problem was that the tree (third party control) could only "discover" its structure by expanding completely at runtime, which was ugly and undesirable behavior.

Re: XZodia's Plugins

Posted: Thu Jun 19, 2014 7:33 pm
by JacksonCougar
Stop treating the tree-view as the stucture maybe.

Re: XZodia's Plugins

Posted: Thu Jun 19, 2014 10:47 pm
by troymac1ure
All good ideas, but I'd rather just bitch about the Treeview structure. :x I was hoping it could be done by overriding DrawNode(), but the best is just blank lines in place of.
JacksonCougar wrote:Stop treating the tree-view as the stucture maybe.
Don't think I feel like re-writing it all to stop using the treeview as a structure, maybe though. Currently there is a separate structure that is dis-jointed. Each node's tag points to a reflexive structure that provides extended information on the node, but the actual node controls the selection process and the node is passed to the refresh function.
XZodia wrote:Could you have a full tree in memory which was separate to the treeview, and then do a selective clone to create the treeview?
I do have a separate treeview for hidden nodes IIRC, but it is only used when the "Show hidden reflexives" box is checked. I suppose I could have it load all the time and just keep them hidden.

Maybe I should just always enable the Show Hidden Reflexives check box and just display the disabled nodes always ;)

EDIT: The more I think of it, the more JacksonCougar seems to have the easiest and best method. The structure is pretty much there already, I just need to add a parent pointer to the structure and it can replace the TreeView I think.

Re: XZodia's Plugins

Posted: Wed Jul 09, 2014 8:19 am
by troymac1ure
I found a few errors in the SCNR plugin under the "Trigger Volumes" reflexive. Neodos had previously changed some UNUSED values to ENUM16. I'm not sure he was correct, but the values are definately used.

The value at offset 6 is either -1 or 0.
For example, check sentinalwalls, reflexive chunk 66 (-1) & 67 (0).

Also, offset 64 contains a a short that addresses "Scenario Kill Triggers"
They both seem to reference each other.

I updated the plugin and placed it in Entity's plugin updater tool.

Re: XZodia's Plugins

Posted: Wed Jul 09, 2014 8:44 pm
by XZodia
I checked this out against the info from guerilla, your right about the kill trigger reference, although it seems rather redundant...

but offset 6 is marked as being skipped, so I guess it might be calculated by the compiler? No idea what it might be for though...I suspect its useless anyway =P

Re: XZodia's Plugins

Posted: Thu Jul 10, 2014 1:42 am
by DoorM4n
Hey Xzodia, in insolence in the biped tag, I can click whether "Immune to Falling Damage" is true or false. In Entity, there is a similar button, but it doesn't do anything from my tests. Any clue what might be different?

Re: XZodia's Plugins

Posted: Thu Jul 10, 2014 4:11 pm
by XZodia
Well I just checked and the entity plugin seems to be correct, and I looked in Insolence plugin but it didn't have the value.
Could you send me your Insolence plugin to look at?

I've attached my bipd.ent in case its different to yours.

Re: XZodia's Plugins

Posted: Thu Jul 10, 2014 7:01 pm
by DoorM4n
XZodia wrote:Well I just checked and the entity plugin seems to be correct, and I looked in Insolence plugin but it didn't have the value.
Could you send me your Insolence plugin to look at?

I've attached my bipd.ent in case its different to yours.
Roger that.

Re: XZodia's Plugins

Posted: Thu Jul 10, 2014 8:43 pm
by XZodia
Well your plugin appears to be altering the "Max Game Scale (Default)" value, which I'm guessing puts a is related to damage as "Apply Collision Damage Scale" is shortly before it.

I suggest try setting Max Game Scale to 0 or the same as the min value i.e 0.2

Re: XZodia's Plugins

Posted: Thu Jul 10, 2014 10:21 pm
by DoorM4n
Ah, excellent. Thank you, I shall try that good sir!

Re: XZodia's Plugins

Posted: Thu Jul 10, 2014 10:53 pm
by CaptainPoopface
Look in the thread for the meta comparer that Troy wrote. I found how falling damage works by using that to compare a clean map with an old mod that had falling damage, and I think I posted my finding. I remember it being rather coarse though, not well scaled with fall distance. Still pretty cool.

Re: XZodia's Plugins

Posted: Fri Jul 11, 2014 1:54 am
by DoorM4n
CaptainPoopface wrote:Look in the thread for the meta comparer that Troy wrote. I found how falling damage works by using that to compare a clean map with an old mod that had falling damage, and I think I posted my finding. I remember it being rather coarse though, not well scaled with fall distance. Still pretty cool.
I've been tweaking my parachute mod to work well with falling damage, and I've already experienced exactly what you just mentioned. I've done everything I know to adjust the falling damage so that it properly scales my damage according to the distance, and each time I get the same result of a fixed falling damage effect. And I'm having trouble making the parachute gently float me down without giving me damage and without creating exaggerated byproducts of the weapon. I am wondering if the soft jump landing and hard jump landing may play a roll in me getting this right. So far though, I havent been able to tweak those to make an impact.

Also, for some reason, as I have been tweaking falling damage, I have begun thinking that at one point in Halo 2 the MC had falling damage but the physics engine was less than perfect and created weird side effects that cancelled the falling damage at random times. I am finding that sometimes I fall and I am damaged while others I land and "double bounce" off the ground, seemingly cancelling the damage effect.

Y'alls thoughts?

Re: XZodia's Plugins

Posted: Sat Jul 12, 2014 8:41 pm
by XZodia
Ugh tag update, not that it really matters =P

Re: XZodia's Plugins

Posted: Sat Jul 19, 2014 9:49 am
by troymac1ure
HLMT plugin is incorrect and has alot of missing SIDs at the end of the main reflexive. Not sure what any of them are, but this is what I have found:

Code: Select all

  <short name="Character Unknown" offset="168" visible="True" />
  <short name="Character Unknown" offset="170" visible="True" />
  <unused size="24" offset="172" />
  <short name="Unknown" offset="196" visible="True" />
  <short name="Unknown" offset="198" visible="True" />
  <unused size="28" offset="200" />
  <short name="Unknown" offset="228" visible="True" />
  <short name="Unknown" offset="230" visible="True" />
  <unused size="8" offset="232" />
  <tag name="Hologram Shader" offset="240" visible="True" />
  <id name="Hologram Shader" offset="244" visible="True" />
  <stringid name="Unknown" offset="248" visible="True" />
  <stringid name="Default Material" offset="252" visible="True" />
  <stringid name="Projectile Sound?" offset="256" visible="True" />
  <stringid name="is this a SID?" offset="260" visible="True" />
  <stringid name="Default Sound?" offset="264" visible="True" />
  <stringid name="Grenade?" offset="268" visible="True" />
  <stringid name="Hologram Control Function" offset="272" visible="True" />
With the exception of "is this a SID?" I have found at least one tag so far that has a SID listing for each of the other SIDs. Also, the <character> unknowns have values under MC and/or Elite.

Re: XZodia's Plugins

Posted: Sat Jul 19, 2014 2:19 pm
by XZodia
I don't know why you think there stringid's, but there was some unnamed data there. Which is used to identify when certain nodes/sections are only used for rendering (ie not for physics). I've attached an update to the main post.

Re: XZodia's Plugins

Posted: Sat Jul 19, 2014 2:55 pm
by Grimdoomer
Troy the header size of hlmt is 252, you went way passed that. The reason you found more string_id's was because you went passed the tag header and into the tag_block data of the "Variants" block which has string_id fields.

Re: XZodia's Plugins

Posted: Mon Jul 21, 2014 4:01 pm
by troymac1ure
Just before I shut down for the night I had a modded map give me end of stream errors. My first thought was a corrupted map, but as I was lying in bed, the thought crossed my mind that it was reading the tag too long. I hadn't had a chance to go back and look again yet. That makes sense, but I think the plugin I had was doing that already because those numbers were showing up in the unused area.

Re: XZodia's Plugins

Posted: Fri Aug 01, 2014 11:02 pm
by XZodia
There were 20 incomplete plugins sitting on my harddrive...
20 incomplete plugins sitting on my harddrive...
And if 1 incomplete plugin were to be written up...
There'd be 19 incomplete plugins sitting on my harddrive...


Complete Char plugin is now available to download from the main post.
All the values controlling how AI behave, including how they drive.