https://wiki.beyondunreal.com/w/index.php?action=history&feed=atom Subobjects - Revision history 2017-11-18T02:48:50Z Revision history for this page on the wiki MediaWiki 1.25.1 https://wiki.beyondunreal.com/Subobjects?diff=43016&oldid=prev Eliot: Fixed UC File link 2010-04-22T04:35:54Z <p>Fixed UC File link</p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 04:35, 22 April 2010</td> </tr><tr><td colspan="2" class="diff-lineno" id="L13" >Line 13:</td> <td colspan="2" class="diff-lineno">Line 13:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Subobjects in exported source code==</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Subobjects in exported source code==</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>It is generally a good idea to be suspicious of any [[defaultproperties]] section in a [[UC file]] created by exporting scripts from a compiled package. This goes especially for subobjects!</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>It is generally a good idea to be suspicious of any [[defaultproperties]] section in a [[<ins class="diffchange diffchange-inline">UC File|</ins>UC file]] created by exporting scripts from a compiled package. This goes especially for subobjects!</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Subobject definitions may not get exported at all in early [[Unreal Engine 2]] implementations. In newer versions subobjects will only be exported if they are either assigned to at least one property declared with the [[Variables#Modifiers|modifier]] '''export''' or if a property they are assigned to is of a type that is declared as '''instanced'''. For example a tooltip object assigned to the [[UE2:GUIComponent properties (UT2004)#ToolTip|GUIComponent.ToolTip]] property would get exported because the property's type is [[UE2:GUIToolTip (UT2004)|GUIToolTip]], a subclass of [[UE2:GUI (UT2004)|GUI]], which is declared with the '''instanced''' class modifier. Any karma parameter subobject assigned to the [[UE2:Actor properties (UT2004)#KParams|Actor.KParams]] property would be exported because that property is declared with the '''export''' variable modifier.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Subobject definitions may not get exported at all in early [[Unreal Engine 2]] implementations. In newer versions subobjects will only be exported if they are either assigned to at least one property declared with the [[Variables#Modifiers|modifier]] '''export''' or if a property they are assigned to is of a type that is declared as '''instanced'''. For example a tooltip object assigned to the [[UE2:GUIComponent properties (UT2004)#ToolTip|GUIComponent.ToolTip]] property would get exported because the property's type is [[UE2:GUIToolTip (UT2004)|GUIToolTip]], a subclass of [[UE2:GUI (UT2004)|GUI]], which is declared with the '''instanced''' class modifier. Any karma parameter subobject assigned to the [[UE2:Actor properties (UT2004)#KParams|Actor.KParams]] property would be exported because that property is declared with the '''export''' variable modifier.</div></td></tr> </table> Eliot https://wiki.beyondunreal.com/Subobjects?diff=33652&oldid=prev Wormbo at 09:39, 15 December 2008 2008-12-15T09:39:12Z <p></p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 09:39, 15 December 2008</td> </tr><tr><td colspan="2" class="diff-lineno" id="L1" >Line 1:</td> <td colspan="2" class="diff-lineno">Line 1:</td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The term '''subobject''' refers to a special kind of object and its textual definition in a [[defaultproperties]] block of a class <del class="diffchange diffchange-inline">in</del>. Depending on the context, a subobject can either be a template or an actual object. In [[Unreal Engine 3]] they are generally templates (actually [[archetypes]]), while in [[Unreal Engine 2]] subobjects are generally actual objects unless their class is declared with the [[Class#Modifiers|class modifier]] &quot;instanced&quot;, which applies to all [[UE2:GUI (UT2004)|GUI]] subclasses in [[UT2003]] and [[UT2004]]. There is no support for subobjects in [[Unreal Engine 1]].</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The term '''subobject''' refers to a special kind of object and its textual definition in a [[defaultproperties]] block of a class. Depending on the context, a subobject can either be a template or an actual object. In [[Unreal Engine 3]] they are generally templates (actually [[archetypes]]), while in [[Unreal Engine 2]] subobjects are generally actual objects unless their class is declared with the [[Class#Modifiers|class modifier]] &quot;instanced&quot;, which applies to all [[UE2:GUI (UT2004)|GUI]] subclasses in [[UT2003]] and [[UT2004]]. There is no support for subobjects in [[Unreal Engine 1]].</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Subobjects that are only templates are &quot;instanced&quot; (i.e. created) when an object of the class containing the subobject definition is created. Generally, the property '''Outer''' of an instanced subobject points to the containing object, while the '''Outer''' property of &quot;actual object&quot; subobjects points to the class defining the subobject. An example for the latter case is the UT200x class [[UE2:Shark (UT2004)|xEffects.Shark]], which creates a [[UE2:FinalBlend (UT2004)|FinalBlend]] as a subobject and uses it as Skin.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Subobjects that are only templates are &quot;instanced&quot; (i.e. created) when an object of the class containing the subobject definition is created. Generally, the property '''Outer''' of an instanced subobject points to the containing object, while the '''Outer''' property of &quot;actual object&quot; subobjects points to the class defining the subobject. An example for the latter case is the UT200x class [[UE2:Shark (UT2004)|xEffects.Shark]], which creates a [[UE2:FinalBlend (UT2004)|FinalBlend]] as a subobject and uses it as Skin.</div></td></tr> </table> Wormbo https://wiki.beyondunreal.com/Subobjects?diff=11851&oldid=prev Wormbo: /* Subobjects in exported source code */ note about illegal syntax elements in exported UT3 subobjects 2008-05-10T21:13:05Z <p>‎<span dir="auto"><span class="autocomment">Subobjects in exported source code: </span> note about illegal syntax elements in exported UT3 subobjects</span></p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 21:13, 10 May 2008</td> </tr><tr><td colspan="2" class="diff-lineno" id="L17" >Line 17:</td> <td colspan="2" class="diff-lineno">Line 17:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Subobject definitions may not get exported at all in early [[Unreal Engine 2]] implementations. In newer versions subobjects will only be exported if they are either assigned to at least one property declared with the [[Variables#Modifiers|modifier]] '''export''' or if a property they are assigned to is of a type that is declared as '''instanced'''. For example a tooltip object assigned to the [[UE2:GUIComponent properties (UT2004)#ToolTip|GUIComponent.ToolTip]] property would get exported because the property's type is [[UE2:GUIToolTip (UT2004)|GUIToolTip]], a subclass of [[UE2:GUI (UT2004)|GUI]], which is declared with the '''instanced''' class modifier. Any karma parameter subobject assigned to the [[UE2:Actor properties (UT2004)#KParams|Actor.KParams]] property would be exported because that property is declared with the '''export''' variable modifier.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Subobject definitions may not get exported at all in early [[Unreal Engine 2]] implementations. In newer versions subobjects will only be exported if they are either assigned to at least one property declared with the [[Variables#Modifiers|modifier]] '''export''' or if a property they are assigned to is of a type that is declared as '''instanced'''. For example a tooltip object assigned to the [[UE2:GUIComponent properties (UT2004)#ToolTip|GUIComponent.ToolTip]] property would get exported because the property's type is [[UE2:GUIToolTip (UT2004)|GUIToolTip]], a subclass of [[UE2:GUI (UT2004)|GUI]], which is declared with the '''instanced''' class modifier. Any karma parameter subobject assigned to the [[UE2:Actor properties (UT2004)#KParams|Actor.KParams]] property would be exported because that property is declared with the '''export''' variable modifier.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Subobjects in [[Unreal Engine 3]] are only exported if the subobject's class is a subclass of [[UE3:Component (UT3)|Component]]. A prominent example of this behavior is the [[UE3:UIObject (UT3)|UIObject]] class. Its subobject WidgetInitializedEvent is not exported because it's a [[UE3:UIEvent_Initialized (UT3)|UIEvent_Initialized]], which is not a Component subclass, while its other subobject [[UE3:UIObject (UT3)#WidgetEventComponent|WidgetEventComponent]] (class [[UE3:UIComp_Event (UT3)|UIComp_Event]]) is exported.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Subobjects in [[Unreal Engine 3]] are only exported if the subobject's class is a subclass of [[UE3:Component (UT3)|Component]]. A prominent example of this behavior is the [[UE3:UIObject (UT3)|UIObject]] class. Its subobject WidgetInitializedEvent is not exported because it's a [[UE3:UIEvent_Initialized (UT3)|UIEvent_Initialized]], which is not a Component subclass, while its other subobject [[UE3:UIObject (UT3)#WidgetEventComponent|WidgetEventComponent]] (class [[UE3:UIComp_Event (UT3)|UIComp_Event]]) is exported<ins class="diffchange diffchange-inline">.&lt;br/&gt;</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">'''Note:''' [[UT3]] adds illegal syntax elements to exported subobjects. Your subobject definition should not have an ObjName=&amp;hellip; or Archetype=&amp;hellip; clause in its Begin Object line and neither should it define values for the Name or ObjectArchetype properties in the subobject body</ins>.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>As you can see, it's always a good idea to have a look at the original (downloaded, not exported) sources if you want to find out about subobject usage.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>As you can see, it's always a good idea to have a look at the original (downloaded, not exported) sources if you want to find out about subobject usage.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>{{navbox unrealscript}}</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>{{navbox unrealscript}}</div></td></tr> </table> Wormbo https://wiki.beyondunreal.com/Subobjects?diff=11849&oldid=prev Wormbo: Subobject moved to Subobjects over redirect: makes more sense 2008-05-10T21:04:49Z <p><a href="/Subobject" class="mw-redirect" title="Subobject">Subobject</a> moved to <a href="/Subobjects" title="Subobjects">Subobjects</a> over redirect: makes more sense</p> <table class='diff diff-contentalign-left'> <tr style='vertical-align: top;'> <td colspan='1' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='1' style="background-color: white; color:black; text-align: center;">Revision as of 21:04, 10 May 2008</td> </tr><tr><td colspan='2' style='text-align: center;'><div class="mw-diff-empty">(No difference)</div> </td></tr></table> Wormbo https://wiki.beyondunreal.com/Subobjects?diff=11845&oldid=prev Wormbo: New page: The term '''subobject''' refers to a special kind of object and its textual definition in a defaultproperties block of a class in. Depending on the context, a subobject can either be a... 2008-05-10T21:00:17Z <p>New page: The term &#039;&#039;&#039;subobject&#039;&#039;&#039; refers to a special kind of object and its textual definition in a <a href="/Defaultproperties" title="Defaultproperties">defaultproperties</a> block of a class in. Depending on the context, a subobject can either be a...</p> <p><b>New page</b></p><div>The term '''subobject''' refers to a special kind of object and its textual definition in a [[defaultproperties]] block of a class in. Depending on the context, a subobject can either be a template or an actual object. In [[Unreal Engine 3]] they are generally templates (actually [[archetypes]]), while in [[Unreal Engine 2]] subobjects are generally actual objects unless their class is declared with the [[Class#Modifiers|class modifier]] &quot;instanced&quot;, which applies to all [[UE2:GUI (UT2004)|GUI]] subclasses in [[UT2003]] and [[UT2004]]. There is no support for subobjects in [[Unreal Engine 1]].<br /> <br /> Subobjects that are only templates are &quot;instanced&quot; (i.e. created) when an object of the class containing the subobject definition is created. Generally, the property '''Outer''' of an instanced subobject points to the containing object, while the '''Outer''' property of &quot;actual object&quot; subobjects points to the class defining the subobject. An example for the latter case is the UT200x class [[UE2:Shark (UT2004)|xEffects.Shark]], which creates a [[UE2:FinalBlend (UT2004)|FinalBlend]] as a subobject and uses it as Skin.<br /> <br /> ==Syntax==<br /> To define a subobject, add the following to the defaultproperties block of your class:<br /> '''Begin Object Name='''''objectname'' '''Class='''''classname''<br /> ''subobject properties''<br /> '''End Object'''<br /> For the subobject properties the same syntax and rules apply as for the defaultproperties block itself.<br /> <br /> The Class=&amp;hellip; part is optional in [[Unreal Engine 3]]. Omitting it means that you want to duplicate a subobject with the same name defined in a parent class.<br /> <br /> ==Subobjects in exported source code==<br /> It is generally a good idea to be suspicious of any [[defaultproperties]] section in a [[UC file]] created by exporting scripts from a compiled package. This goes especially for subobjects!<br /> <br /> Subobject definitions may not get exported at all in early [[Unreal Engine 2]] implementations. In newer versions subobjects will only be exported if they are either assigned to at least one property declared with the [[Variables#Modifiers|modifier]] '''export''' or if a property they are assigned to is of a type that is declared as '''instanced'''. For example a tooltip object assigned to the [[UE2:GUIComponent properties (UT2004)#ToolTip|GUIComponent.ToolTip]] property would get exported because the property's type is [[UE2:GUIToolTip (UT2004)|GUIToolTip]], a subclass of [[UE2:GUI (UT2004)|GUI]], which is declared with the '''instanced''' class modifier. Any karma parameter subobject assigned to the [[UE2:Actor properties (UT2004)#KParams|Actor.KParams]] property would be exported because that property is declared with the '''export''' variable modifier.<br /> <br /> Subobjects in [[Unreal Engine 3]] are only exported if the subobject's class is a subclass of [[UE3:Component (UT3)|Component]]. A prominent example of this behavior is the [[UE3:UIObject (UT3)|UIObject]] class. Its subobject WidgetInitializedEvent is not exported because it's a [[UE3:UIEvent_Initialized (UT3)|UIEvent_Initialized]], which is not a Component subclass, while its other subobject [[UE3:UIObject (UT3)#WidgetEventComponent|WidgetEventComponent]] (class [[UE3:UIComp_Event (UT3)|UIComp_Event]]) is exported.<br /> <br /> As you can see, it's always a good idea to have a look at the original (downloaded, not exported) sources if you want to find out about subobject usage.<br /> <br /> {{navbox unrealscript}}</div> Wormbo