BrawlCrate v0.41
Wii File Editor
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Properties | List of all members
BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode Class Reference
Inheritance diagram for BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode:
BrawlLib.SSBB.ResourceNodes.MoveDefEntryNode BrawlLib.SSBB.ResourceNodes.ResourceNode

Public Member Functions

 MoveDefDataCommonNode (uint dataLen, string name)
 
override bool OnInitialize ()
 
override void OnPopulate ()
 
void PopulateActionGroup (ResourceNode g, List< int > ActionOffsets, bool subactions, int index)
 
- Public Member Functions inherited from BrawlLib.SSBB.ResourceNodes.MoveDefEntryNode
override void Rebuild (bool force)
 
override bool OnInitialize ()
 
ActionEventInfo GetEventInfo (long id)
 
override void SortChildren ()
 
ResourceNode FindNode (int offset)
 
ResourceNode GetByOffsetID (int id)
 
virtual void PostProcess ()
 
- Public Member Functions inherited from BrawlLib.SSBB.ResourceNodes.ResourceNode
void OnRenamed ()
 
List< ResourceNodeGetChildrenRecursive ()
 Used primarily to get bone lists. Kept for all resource nodes for utility. More...
 
virtual void SignalPropertyChange ()
 
virtual void Dispose ()
 
void SelectChildAtIndex (int index)
 
void UpdateProperties ()
 
void UpdateCurrentControl ()
 
virtual bool MoveUp ()
 
virtual bool MoveDown ()
 
virtual void OnMoved ()
 
virtual void DoMoveDown ()
 
virtual void DoMoveDown (bool select)
 
virtual void DoMoveUp ()
 
virtual void DoMoveUp (bool select)
 
virtual bool AddUp ()
 
virtual bool AddDown ()
 
virtual bool ToParent ()
 
void Populate (int levels=-1)
 
virtual void OnPopulate ()
 
void Initialize (ResourceNode parent, FileMap source)
 
void Initialize (ResourceNode parent, VoidPtr address, int length)
 
void Initialize (ResourceNode parent, DataSource origSource)
 
virtual void Initialize (ResourceNode parent, DataSource origSource, DataSource uncompSource)
 
virtual bool OnInitialize ()
 
virtual void Restore ()
 
virtual void Remove ()
 
virtual void RemoveChild (ResourceNode child)
 
virtual void AddChild (ResourceNode child)
 
virtual void AddChild (ResourceNode child, bool change)
 
virtual void InsertChild (ResourceNode child, int index)
 
virtual void InsertChild (ResourceNode child, bool change, int index)
 
void SetSizeInternal (int size)
 
virtual void Replace (string fileName)
 
virtual void Replace (ResourceNode node)
 
virtual void Replace (string fileName, FileMapProtect prot, FileOptions options)
 
virtual void ReplaceRaw (VoidPtr address, int length)
 
virtual void ReplaceRaw (FileMap map)
 
virtual void Export (string outPath)
 
void Export (FileStream outStream)
 
virtual void ExportUncompressed (string outPath)
 
void ExportUncompressed (FileStream outStream)
 
virtual void Rebuild ()
 
virtual void Rebuild (bool force)
 
virtual void Rebuild (VoidPtr address, int length, bool force)
 
virtual void OnRebuild (VoidPtr address, int length, bool force)
 
virtual int CalculateSize (bool force)
 
virtual int OnCalculateSize (bool force)
 
void Merge ()
 
void Merge (bool forceBuild)
 
ResourceNode FindChildByType (string path, bool searchChildren, params ResourceType[] types)
 
ResourceNode FindChildByType (string path, bool searchChildren, StringComparison compare, params ResourceType[] types)
 
ResourceNode FindChild (string path)
 
ResourceNode FindChild (string path, bool searchChildren)
 
ResourceNode FindChild (string path, StringComparison compare)
 
ResourceNode FindChild (string path, bool searchChildren, StringComparison compare)
 
ResourceNode[] FindChildrenByClassType (string path, Type type)
 
ResourceNode[] FindChildrenByType (string path, ResourceType type)
 
ResourceNode[] FindChildrenByTypeInGroup (string path, ResourceType type, byte group)
 
ResourceNode[] FindChildrenByName (string name)
 
unsafe string FindName (string name)
 
ResourceNode FindEmbeddedIndex (int index)
 
virtual unsafe byte[] MD5 ()
 Find the MD5 checksum of this node's data. If this node doesn't have any data (BRESGroupNode, for example), this method will return null. More...
 
string MD5Str ()
 Get the result of the MD5() function as a string of hexadecimal digits. If MD5() returns null, this method will return an empty string. More...
 
ResourceNode PrevSibling ()
 
ResourceNode NextSibling ()
 
override string ToString ()
 
virtual void SortChildren ()
 

Public Attributes

List< SpecialOffsetspecialOffsets = new List<SpecialOffset>()
 
MoveDefActionsSkipNode _flashOverlay
 
MoveDefActionsSkipNode _screenTint
 
VoidPtr dataHeaderAddr
 
- Public Attributes inherited from BrawlLib.SSBB.ResourceNodes.MoveDefEntryNode
int _lookupCount
 
List< int > _lookupOffsets = new List<int>()
 
VoidPtr _entryOffset = 0
 
int _entryLength
 
int _childLength
 
MoveDefExternalNode _extNode
 
bool _extOverride = false
 
int offsetID
 
bool isExtra = false
 
- Public Attributes inherited from BrawlLib.SSBB.ResourceNodes.ResourceNode
Form _mainForm
 
string _name
 
string _origPath
 
ResourceNode _parent
 
List< ResourceNode_children = new List<ResourceNode>()
 
int _calcSize
 
EventHandler UpdateControl
 
MoveEventHandler MovedDown
 
ResourceEventHandler Renamed
 
ResourceEventHandler PropertyChanged
 
ResourceEventHandler Replaced
 
ResourceEventHandler Restored
 
ResourceChildEventHandler ChildRemoved
 
bool _isPopulating
 
bool _replaced
 

Properties

int GlobalICBasics [get]
 
int GlobalICBasicsSSE [get]
 
int ICBasics [get]
 
int ICBasicsSSE [get]
 
int EntryActions [get]
 
int ExitActions [get]
 
int FlashOverlaysList [get]
 
int Unk7 [get]
 
int Unk8 [get]
 
int Unk9 [get]
 
int Unk10 [get]
 
int Unk11 [get]
 
int Unk12 [get]
 
int Unk13 [get]
 
int Unk14 [get]
 
int Unk15 [get]
 
int Unk16 [get]
 
int Unk17 [get]
 
int RGBAColor [get]
 
int FlashOverlays [get]
 
int ScreenTints [get]
 
int LegBoneNames [get]
 
int Unk22 [get]
 
int Unk23 [get]
 
int Unk24 [get]
 
int Unk25 [get]
 
SpecialOffset[] Offsets [get]
 
- Properties inherited from BrawlLib.SSBB.ResourceNodes.MoveDefEntryNode
VoidPtr _rebuildBase [get]
 
int _rebuildOffset [get]
 
VoidPtr Data [get]
 
VoidPtr BaseAddress [get]
 
MDL0Node Model [get]
 
MoveDefNode Root [get]
 
int IntOffset [get]
 
int _offset [get]
 
string HexOffset [get]
 
int Size [get]
 
bool External [get]
 
override ResourceType ResourceFileType [get]
 
- Properties inherited from BrawlLib.SSBB.ResourceNodes.ResourceNode
string FilePath [get]
 
string FileName [get]
 
string DirectoryName [get]
 
ResourceNode RootNode [get]
 
DataSource OriginalSource [get]
 
DataSource UncompressedSource [get]
 
DataSource WorkingSource [get]
 
DataSource WorkingUncompressed [get]
 
virtual bool HasChildren [get]
 
virtual ResourceType ResourceFileType [get]
 
string NodeType [get]
 
virtual string TreePathAbsolute [get]
 
virtual string TreePath [get]
 
virtual int Level [get]
 
virtual int MaxNameLength [get]
 
virtual bool AllowDuplicateNames [get]
 
virtual bool AllowNullNames [get]
 
virtual string Name [get, set]
 
ResourceNode Parent [get, set]
 
List< ResourceNodeChildren [get]
 
int Index [get]
 
int HexIndex [get]
 
bool IsCompressed [get]
 
bool HasChanged [get, set]
 
bool IsBranch [get]
 
bool HasMerged [get]
 
virtual bool AllowSaving [get, set]
 
virtual bool IsDirty [get, set]
 
virtual uint UncompressedSize [get]
 
virtual Type[] AllowedChildTypes [get]
 
virtual string Compression [get, set]
 
virtual bool RetainChildrenOnReplace [get]
 
virtual bool supportsCompression [get]
 
static MD5CryptoServiceProvider MD5Provider [get]
 

Additional Inherited Members

- Static Public Member Functions inherited from BrawlLib.SSBB.ResourceNodes.MoveDefEntryNode
static int Compare (ResourceNode n1, ResourceNode n2)
 
static int ActionCompare (ResourceNode n1, ResourceNode n2)
 
- Static Public Member Functions inherited from BrawlLib.SSBB.ResourceNodes.ResourceNode
static ResourceNode[] FindAllSubNodes (ResourceNode root)
 
static ResourceNode FindNode (ResourceNode root, string path, bool searchChildren, StringComparison compare)
 
- Protected Member Functions inherited from BrawlLib.SSBB.ResourceNodes.ResourceNode
void ForceReplacedEvent ()
 
virtual void MergeInternal ()
 
- Events inherited from BrawlLib.SSBB.ResourceNodes.ResourceNode
SelectEventHandler SelectChild
 
EventHandler UpdateProps
 
MoveEventHandler MovedUp
 
ResourceEventHandler Disposing
 
ResourceChildEventHandler ChildAdded
 
ResourceChildInsertEventHandler ChildInserted
 

Constructor & Destructor Documentation

◆ MoveDefDataCommonNode()

BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.MoveDefDataCommonNode ( uint  dataLen,
string  name 
)
inline
71 {
72 DataLen = dataLen;
73 _name = name;
74 }
string _name
Definition: ResourceNode.cs:139

Member Function Documentation

◆ OnInitialize()

override bool BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.OnInitialize ( )
inlinevirtual

Reimplemented from BrawlLib.SSBB.ResourceNodes.ResourceNode.

79 {
80 base.OnInitialize();
81 bint* current = (bint*) Header;
82 for (int i = 0; i < 25; i++)
83 {
84 specialOffsets.Add(new SpecialOffset {Index = i, Offset = *current++});
85 }
86
87 CalculateDataLen();
88
89 return true;
90 }
List< SpecialOffset > specialOffsets
Definition: MoveDefDataCommonNode.cs:13
int Index
Definition: ResourceNode.cs:301
Definition: BigEndianTypes.cs:9

◆ OnPopulate()

override void BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.OnPopulate ( )
inlinevirtual

Reimplemented from BrawlLib.SSBB.ResourceNodes.ResourceNode.

95 {
96 #region Populate
97
98 if (RootNode is ARCNode && (RootNode as ARCNode).IsFighter)
99 {
100 List<int> ActionOffsets;
101
102 MoveDefActionListNode actions = new MoveDefActionListNode {_name = "Action Scripts", _parent = this};
103
104 bint* actionOffset;
105
106 //Parse offsets first
107 for (int i = 4; i < 6; i++)
108 {
109 actionOffset = (bint*) (BaseAddress + specialOffsets[i].Offset);
110 ActionOffsets = new List<int>();
111 for (int x = 0; x < specialOffsets[i].Size / 4; x++)
112 {
113 ActionOffsets.Add(actionOffset[x]);
114 }
115
116 actions.ActionOffsets.Add(ActionOffsets);
117 }
118
119 //unk18 == ColorF4
120
121 int r = 0;
122 foreach (SpecialOffset s in specialOffsets)
123 {
124 if (r != 4 && r != 5 && r != 6 && r != 7 && r != 11 && r != 17 && r != 19 && r != 20 && r != 21 &&
125 r != 22 && r != 23)
126 {
127 string name = "Params" + r;
128 if (r < 4)
129 {
130 name = (r == 0 || r == 2 ? "" : "SSE ") + (r < 2 ? "Global " : "") + "IC-Basics";
131 }
132
133 new MoveDefSectionParamNode {_name = name, offsetID = r}.Initialize(this,
134 BaseAddress + s.Offset, 0);
135 }
136
137 r++;
138 }
139
140 //Copy list of offset 19?
141 //if (specialOffsets[6].Size != 0)
142 // new MoveDefActionsNode("Flash Overlay Actions") { offsetID = 6 }.Initialize(this, BaseAddress + specialOffsets[6].Offset, 0);
143
144 if (specialOffsets[7].Size != 0)
145 {
146 new MoveDefCommonUnk7ListNode {_name = "Unknown7", offsetID = 7}.Initialize(this,
147 BaseAddress + specialOffsets[7].Offset, 0);
148 }
149
150 if (specialOffsets[11].Size != 0)
151 {
152 new MoveDefUnk11Node {_name = "Unknown11", offsetID = 11}.Initialize(this,
153 BaseAddress + specialOffsets[11].Offset, 0);
154 }
155
156 if (specialOffsets[19].Size != 0)
157 {
158 (_flashOverlay = new MoveDefActionsSkipNode("Flash Overlay Actions") {offsetID = 19}).Initialize(
159 this, BaseAddress + specialOffsets[19].Offset, 0);
160 }
161
162 if (specialOffsets[20].Size != 0)
163 {
164 (_screenTint = new MoveDefActionsSkipNode("Screen Tint Actions") {offsetID = 20}).Initialize(this,
165 BaseAddress + specialOffsets[20].Offset, 0);
166 }
167
168 if (specialOffsets[21].Size != 0)
169 {
170 new MoveDefCommonUnk21Node {offsetID = 21}.Initialize(this,
171 BaseAddress + specialOffsets[21].Offset, 0);
172 }
173
174 if (specialOffsets[22].Size != 0)
175 {
176 new MoveDefParamListNode {_name = "Unknown22", offsetID = 22}.Initialize(this,
177 BaseAddress + specialOffsets[22].Offset, 0);
178 }
179
180 if (specialOffsets[23].Size != 0)
181 {
182 new MoveDefParamsOffsetNode {_name = "Unknown23", offsetID = 23}.Initialize(this,
183 BaseAddress + specialOffsets[23].Offset, 0);
184 }
185
186 if (specialOffsets[17].Size != 0)
187 {
188 new MoveDefPatternPowerMulNode {_name = "Unknown17", offsetID = 17}.Initialize(this,
189 BaseAddress + specialOffsets[17].Offset, 0);
190 }
191
192 if (specialOffsets[4].Size != 0 || specialOffsets[5].Size != 0)
193 {
194 int count;
195 if (specialOffsets[4].Size == 0)
196 {
197 count = specialOffsets[5].Size / 4;
198 }
199 else
200 {
201 count = specialOffsets[4].Size / 4;
202 }
203
204 //Initialize using first offset so the node is sorted correctly
205 actions.Initialize(this, BaseAddress + specialOffsets[4].Offset, 0);
206
207 //Set up groups
208 for (int i = 0; i < count; i++)
209 {
210 actions.AddChild(new MoveDefActionGroupNode {_name = "Action" + i}, false);
211 }
212
213 //Add children
214 for (int i = 0; i < 2; i++)
215 {
216 if (specialOffsets[i + 4].Size != 0)
217 {
218 PopulateActionGroup(actions, actions.ActionOffsets[i], false, i);
219 }
220 }
221
222 //Add to children (because the parent was set before initialization)
223 Children.Add(actions);
224
225 Root._actions = actions;
226 }
227 }
228
229 #endregion
230
231 SortChildren();
232 }
MoveDefActionsSkipNode _screenTint
Definition: MoveDefDataCommonNode.cs:76
void PopulateActionGroup(ResourceNode g, List< int > ActionOffsets, bool subactions, int index)
Definition: MoveDefDataCommonNode.cs:252
MoveDefActionsSkipNode _flashOverlay
Definition: MoveDefDataCommonNode.cs:76
int offsetID
Definition: MoveDefNode.cs:136
override void SortChildren()
Definition: MoveDefNode.cs:192
int Size
Definition: MoveDefNode.cs:87
VoidPtr BaseAddress
Definition: MoveDefNode.cs:32
ResourceNode _parent
Definition: ResourceNode.cs:142
void Initialize(ResourceNode parent, FileMap source)
Definition: ResourceNode.cs:651
ResourceNode RootNode
Definition: ResourceNode.cs:175
List< ResourceNode > Children
Definition: ResourceNode.cs:262

◆ PopulateActionGroup()

void BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.PopulateActionGroup ( ResourceNode  g,
List< int >  ActionOffsets,
bool  subactions,
int  index 
)
inline
253 {
254 string innerName = "";
255 if (subactions)
256 {
257 if (index == 0)
258 {
259 innerName = "Main";
260 }
261 else if (index == 1)
262 {
263 innerName = "GFX";
264 }
265 else if (index == 2)
266 {
267 innerName = "SFX";
268 }
269 else if (index == 3)
270 {
271 innerName = "Other";
272 }
273 else
274 {
275 return;
276 }
277 }
278 else if (index == 0)
279 {
280 innerName = "Entry";
281 }
282 else if (index == 1)
283 {
284 innerName = "Exit";
285 }
286
287 int i = 0;
288 foreach (int offset in ActionOffsets)
289 {
290 //if (i >= g.Children.Count)
291 // if (subactions)
292 // g.Children.Add(new MoveDefSubActionGroupNode() { _name = "Extra" + i, _flags = new AnimationFlags(), _inTransTime = 0, _parent = g });
293 // else
294 // g.Children.Add(new MoveDefGroupNode() { _name = "Extra" + i, _parent = g });
295
296 if (offset > 0)
297 {
298 new MoveDefActionNode(innerName, false, g.Children[i]).Initialize(g.Children[i],
299 new DataSource(BaseAddress + offset, 0));
300 }
301 else
302 {
303 g.Children[i].Children.Add(new MoveDefActionNode(innerName, true, g.Children[i]));
304 }
305
306 i++;
307 }
308 }

Member Data Documentation

◆ _flashOverlay

MoveDefActionsSkipNode BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode._flashOverlay

◆ _screenTint

MoveDefActionsSkipNode BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode._screenTint

◆ dataHeaderAddr

VoidPtr BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.dataHeaderAddr

◆ specialOffsets

List<SpecialOffset> BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.specialOffsets = new List<SpecialOffset>()

Property Documentation

◆ EntryActions

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.EntryActions
get

◆ ExitActions

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.ExitActions
get

◆ FlashOverlays

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.FlashOverlays
get

◆ FlashOverlaysList

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.FlashOverlaysList
get

◆ GlobalICBasics

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.GlobalICBasics
get

◆ GlobalICBasicsSSE

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.GlobalICBasicsSSE
get

◆ ICBasics

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.ICBasics
get

◆ ICBasicsSSE

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.ICBasicsSSE
get

◆ LegBoneNames

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.LegBoneNames
get

◆ Offsets

SpecialOffset [] BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Offsets
get

◆ RGBAColor

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.RGBAColor
get

◆ ScreenTints

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.ScreenTints
get

◆ Unk10

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Unk10
get

◆ Unk11

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Unk11
get

◆ Unk12

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Unk12
get

◆ Unk13

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Unk13
get

◆ Unk14

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Unk14
get

◆ Unk15

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Unk15
get

◆ Unk16

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Unk16
get

◆ Unk17

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Unk17
get

◆ Unk22

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Unk22
get

◆ Unk23

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Unk23
get

◆ Unk24

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Unk24
get

◆ Unk25

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Unk25
get

◆ Unk7

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Unk7
get

◆ Unk8

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Unk8
get

◆ Unk9

int BrawlLib.SSBB.ResourceNodes.MoveDefDataCommonNode.Unk9
get

The documentation for this class was generated from the following file: