Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void ArdStableHWScript(bool insideFCD = false)
- {
- CR2WFile current_cr2w;
- string dangleName, furName;
- if (insideFCD)
- {
- current_cr2w = fcd;
- dangleName = "CAnimDangleComponent #1";
- furName = "CFurComponent #2";
- } else
- {
- current_cr2w = cr2w;
- dangleName = "CAnimDangleComponent #2";
- furName = "CFurComponent #3";
- }
- var mapChunks = current_cr2w.GetChunksMap();
- foreach (var key_value in mapChunks)
- {
- Logger.LogString($"CHUNK: {key_value.Key}");
- }
- if (mapChunks.ContainsKey(dangleName) && mapChunks.ContainsKey(furName))
- {
- var dangleChunk = mapChunks[dangleName];
- var dangleVar = (CAnimDangleComponent)dangleChunk.data;
- var furChunk = mapChunks[furName];
- var furVar = (CFurComponent)furChunk.data;
- // create CMeshSkinningAttachment #4 chunk as children of CAnimDangleComponent #2
- var skinChunk = current_cr2w.CreateChunk("CMeshSkinningAttachment", current_cr2w.chunks.Count, dangleChunk);
- var skinVar = (CMeshSkinningAttachment)skinChunk.data;
- // create CAnimDangleConstraint_Dyng #5 chunk as children of CAnimDangleComponent #2
- /* Ding dyng ding ... */
- var dyngChunk = current_cr2w.CreateChunk("CAnimDangleConstraint_Dyng", current_cr2w.chunks.Count, dangleChunk);
- var dyngVar = (CAnimDangleConstraint_Dyng)dyngChunk.data;
- // add a AttachmentsChild handle CMeshSkinningAttachment #4 in CAnimDangleComponent #2
- /* "0" is a "name", doesn't matter for arrays */
- var dangleHandle = new CHandle<IAttachment>(current_cr2w, dangleVar.AttachmentsChild, "0");
- dangleHandle.SetValue(skinChunk);
- dangleVar.AttachmentsChild.Add(dangleHandle);
- // add variable parent = CAnimDangleComponent #2 in CMeshSkinningAttachment #4
- /* here var name matters! */
- skinVar.Parent = new CPtr<CNode>(current_cr2w, skinVar, "parent");
- skinVar.Parent.SetValue(dangleChunk);
- // add variable child = CFurComponent #3 in CMeshSkinningAttachment #4
- skinVar.Child = new CPtr<CNode>(current_cr2w, furVar, "child");
- skinVar.Child.SetValue(furChunk);
- // add variable transformParent = CMeshSkinningAttachment #4 in CFurComponent #3
- furVar.TransformParent = new CPtr<CHardAttachment>(current_cr2w, furVar, "transformParent");
- furVar.TransformParent.SetValue(skinChunk);
- // add a AttachmentsReference handle CMeshSkinningAttachment #4 in CFurComponent #3
- var furHandle = new CHandle<IAttachment>(current_cr2w, furVar.AttachmentsReference, "0");
- furHandle.SetValue(skinChunk);
- furVar.AttachmentsReference.Add(furHandle);
- // add variable constraint = CAnimDangleConstraint_Dyng #5 in CAnimDangleComponent #2
- dangleVar.Constraint = new CPtr<IAnimDangleConstraint>(current_cr2w, dangleVar, "constraint");
- dangleVar.Constraint.SetValue(dyngChunk);
- // add variable dyng = [CDyngResource:path] in CAnimDangleConstraint_Dyng #5
- dyngVar.Dyng = new CHandle<CDyngResource>(current_cr2w, dyngVar, "dyng");
- dyngVar.Dyng.SetValue("CDyngResource:characters\\models\\animals\\horse\\draft\\model\\dyng_h_02_hd__simple.w3dyng");
- }
- if (!insideFCD && mapChunks.ContainsKey("CEntityTemplate #0"))
- {
- // process FCD
- ArdStableHWScript(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement