Jump to content
  • 0

Actor properties & variables


xdaniel
 Share

Question

Not sure if we have a thread for this already; if we do, I couldn't find it and would like to request merging this one into it.
 
Anyway, this is a thread for basically posting information about actor variables and properties that isn't yet on the wiki. Why not post it to the wiki directly? Because one might not be 100% sure about what they've found out, or because the information is incomplete, or another such reason... like it is for what I'm about to post.
 
So, OoT actor 0x011B, the Navi information spot. First of all, the "variable" broken down into its bits:

T?CFFFFF MMMMMMMM

    [*]T, bit 15: Trigger type. If this bit is set, the information spot is triggered manually by pressing C-up when prompted by Navi, if it is clear, Navi's information pops up automatically. [*]?, bit 14: Unknown [*]C, bit 13: Clear on exit. If set, this appears to clear the flag this spot is attached to on leaving the scene. [*]F, bits 12-8: Flag number. What flag this spot is attached to. [*]M, bits 7-0: Navi message number, as already documented in the big actor list on the wiki.

EDIT, as per mzxrules: naviIcon = ((Variable & 0x8000) > 0); switchflag = (byte)((Variable & 0x3F00) >> 8); dialog = (byte)(Variable & 0xFF);

 

Also, what are commonly an actor's rotation values have different meaning here, too. X rotation, for example, is the trigger radius. The higher the value, the further away this information spot gets triggered from. For example, the "see down below this web" spot from the Deku Tree uses 0x28 here, which is a radius that's just a bit bigger than the physical shaft in the room geometry, while ex. 0x48 allows you to trigger the information spot from halfway between the dungeon entrance and shaft, and 0x70 allows triggering from just beyond the entrance. The other two rotation values, Y and Z, are also set to non-zero values in some of the information spots in the Deku Tree, but I do not know what they're used for.
 
And to blatantly advertise SceneNavi's versatility, an actor definition for this can easily be written in a matter of a minute or two, if you know the properties (like above) and a bit about data types (byte, uint16, etc) and bit operations.
 

Posted Image

 

Edited by xdaniel
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

mzxrules: That would be great! There's not very many actor definitions yet, every new one counts :)

 

Also, speaking of which, the fixed (as in, using mzxrules' information) definition for the info spot:

<?xml version="1.0" encoding="utf-8" ?><ActorDefinition>  <Item Index="0" ValueType="System.UInt16" DisplayStyle="Hexadecimal" Usage="ActorNumber" Description="Actor Type" ControlType="System.Windows.Forms.TextBox"></Item>  <Item Index="2" ValueType="System.Int16" Usage="PositionX" Description="Position (X)" Mask="0xFFFF" ControlType="System.Windows.Forms.TextBox"></Item>  <Item Index="4" ValueType="System.Int16" Usage="PositionY" Description="Position (Y)" Mask="0xFFFF" ControlType="System.Windows.Forms.TextBox"></Item>  <Item Index="6" ValueType="System.Int16" Usage="PositionZ" Description="Position (Z)" Mask="0xFFFF" ControlType="System.Windows.Forms.TextBox"></Item>  <Item Index="8" ValueType="System.Int16" DisplayStyle="Hexadecimal" Description="Trigger Radius" Mask="0xFFFF" ControlType="System.Windows.Forms.TextBox"></Item>  <Item Index="10" ValueType="System.Int16" DisplayStyle="Hexadecimal" Description="Unknown (1)" Mask="0xFFFF" ControlType="System.Windows.Forms.TextBox"></Item>  <Item Index="12" ValueType="System.Int16" DisplayStyle="Hexadecimal" Description="Unknown (2)" Mask="0xFFFF" ControlType="System.Windows.Forms.TextBox"></Item>  <Item Index="15" ValueType="System.Byte" DisplayStyle="Hexadecimal" Description="Message Number" Mask="0xFF" ControlType="System.Windows.Forms.TextBox"></Item>  <Item Index="14" ValueType="System.Byte" DisplayStyle="Hexadecimal" Description="Switch Flag" Mask="0x3F" ControlType="System.Windows.Forms.TextBox"></Item>  <Item Index="14" ValueType="System.Byte" Description="Manually triggered (C-Up)?" Mask="0x80" ControlType="System.Windows.Forms.CheckBox"></Item>  <Item Index="14" ValueType="System.Byte" Description="Unknown modifier" Mask="0x40" ControlType="System.Windows.Forms.CheckBox"></Item></ActorDefinition>
Link to comment
Share on other sites

  • 0

I had put up some preliminary documentation on the actor definition format a while ago: http://magicstone.de/dzd/random/xmlactor/ - The format IIRC hasn't changed since and likely isn't going to anymore, either. Support for more Controls could/might happen, but that's about it. A final version of this document - as well as proper documentation for the editor itself - will be packaged with the first non-Beta build.

 

EDIT: Actually, disregard the Description parameter of the ActorDefinition tag, that's now in the separate ActorNames.xml file. Just use <ActorDefinition> ... </ActorDefinition>.

 

And there's not really a way to simplify generating the files, besides basing a new definition off of an existing one, like the default Generic.xml.

Edited by xdaniel
Link to comment
Share on other sites

  • 0

Not sure how helpful it is, but I figured out what Fhg_Fire is. Despite it being spawned when Phantom Ganon appears in a painting, it is actually the six pronged Lightning Bolt he shoots down. It does not appear to work with any other variable except for Variable 0001, any other variable freezes the game upon entry, as far as I tested.

 

So 0x006D Phantom Ganon's Lightning

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.