SarahC
Builder
-Worried about the mod community-
Posts: 36
|
Post by SarahC on Feb 28, 2015 15:31:25 GMT
It just alters the symbols to encoded unicode - but doesn't change their syntax, and I think the syntax is wrong - I can't find any uses of this function anywhere else! What should be wrong about the syntax ? You create an instance of that inner class and call GetEnumerator() on it, or am I missing something ? JetBrains is decompiling and producing code that accesses the Extensions array correctly. public virtual void DropSupports() { for (int index = 0; index < Extensions.get_length((System.Array) this.objsImSupporting); ++index) { if ((UnityEngine.Object) this.objsImSupporting[index] != (UnityEngine.Object) null) { this.objsImSupporting[index].isKinematic = false; this.objsImSupporting[index].WakeUp(); this.objsImSupporting[index].AddTorque(10f, 10f, 10f); } } } JustDecompile produces this trash: public override void DropSupports() { for (int i = 0; i < Extensions[this.objsImSupporting]; i++) { if (this.objsImSupporting[i] != null) { this.objsImSupporting[i].isKinematic = false; this.objsImSupporting[i].WakeUp(); this.objsImSupporting[i].AddTorque((float)10, (float)10, (float)10); } } } But JustDecompile produces the assembler written inner class. But only for single files! The "Save to project" doesn't include the inner classes.... so I'm having to add it all in by hand..... about 400... So ONLY this code appears: public override IEnumerator PopulateList() { return (new MyFileBrowser.u0024PopulateListu0024971(this)).GetEnumerator(); }
I need the inner bit (the lambda) , which has to be hand loaded then copy/pasted, because it gets abstracted out of the source code, into its own class. This scans the folder for .BSG files, loads the preview image into a holder, and adds all of them into an iEnumerable (list?) object: [CompilerGenerated] [Serializable] // $PopulateList$971 internal sealed class u0024PopulateListu0024971 : GenericGenerator<object> { // $self_$978 internal MyFileBrowser u0024self_u0024978;
public u0024PopulateListu0024971(MyFileBrowser self_) { this.u0024self_u0024978 = self_; }
public override IEnumerator<object> GetEnumerator() { return new MyFileBrowser.u0024PopulateListu0024971.u0024(this.u0024self_u0024978); }
[CompilerGenerated] [Serializable] // $ internal sealed class u0024 : GenericGeneratorEnumerator<object>, IEnumerator { // $info$972 internal DirectoryInfo u0024infou0024972;
// $fileInfo$973 internal FileInfo[] u0024fileInfou0024973;
// $newId$974 internal int u0024newIdu0024974;
// $i$975 internal int u0024iu0024975;
// $namey$976 internal string u0024nameyu0024976;
// $self_$977 internal MyFileBrowser u0024self_u0024977;
public u0024(MyFileBrowser self_) { this.u0024self_u0024977 = self_; }
public override bool MoveNext() { bool flag; switch (this._state) { case 1: { flag = false; break; } case 2: { this.u0024self_u0024977.scrollPageCode.Reset(); this.u0024infou0024972 = new DirectoryInfo(this.u0024self_u0024977.path); this.u0024fileInfou0024973 = this.u0024infou0024972.GetFiles(); this.u0024newIdu0024974 = 0; this.u0024iu0024975 = 0; while (this.u0024iu0024975 < Extensions[this.u0024fileInfou0024973]) { this.u0024nameyu0024976 = this.u0024fileInfou0024973[this.u0024iu0024975].Name; if (this.u0024nameyu0024976.EndsWith("bsg")) { this.u0024self_u0024977.SpawnBox(this.u0024newIdu0024974, this.u0024nameyu0024976); this.u0024newIdu0024974 = this.u0024newIdu0024974 + 1; } this.u0024self_u0024977.machineCount = this.u0024newIdu0024974; this.u0024iu0024975 = this.u0024iu0024975 + 1; } this.u0024self_u0024977.pageCount = (int)Mathf.Ceil((float)this.u0024self_u0024977.machineCount * 1f / ((float)this.u0024self_u0024977.maxMachinesPerPage * 1f)); this.YieldDefault(1); goto case 1; } default: { this.u0024self_u0024977.ClearFileList(); flag = this.YieldDefault(2); break; } } return flag; } } } About 70% done now!
|
|
|
Post by spaar on Feb 28, 2015 15:49:50 GMT
Ah, sorry didn't know JustDecompile wouldn't export the compiler generated classes as well. That's annoying. And the thing with the extension class has bothered me as well... I don't really get why it produces that code either. Oh well
|
|
|
Post by Zeblote on Feb 28, 2015 15:54:35 GMT
And the thing with the extension class has bothered me as well... I don't really get why it produces that code either. Oh well This for (int i = 0; i < Extensions[this.objsImSupporting]; i++) Should actually look like this, according to the IL: for (int i = 0; i < Extensions.length(this.objsImSupporting); i++) So I'd say this is simply a bug in the decompiler that you should report to telerik if you want it to get fixed in the future.
|
|
|
Post by spaar on Feb 28, 2015 16:20:17 GMT
Yeah, I already had to figure out what it should look like because I patched a method that used it and the compiler was obviously refusing the first syntax. I'll take a look at reporting it later.
|
|
SarahC
Builder
-Worried about the mod community-
Posts: 36
|
Post by SarahC on Feb 28, 2015 16:44:15 GMT
And the thing with the extension class has bothered me as well... I don't really get why it produces that code either. Oh well This for (int i = 0; i < Extensions[this.objsImSupporting]; i++) Should actually look like this, according to the IL: for (int i = 0; i < Extensions.length(this.objsImSupporting); i++) So I'd say this is simply a bug in the decompiler that you should report to telerik if you want it to get fixed in the future. I HAVE TWO errors left........ No such label 'Label0' within the scope of the goto statement. Line 240 No such label 'Label0' within the scope of the goto statement. Line 489The output of both decompilers misses "Label0".... and I have NO IDEA where the hell it should go.... UnityScript / SimpleFractures.cs (enumerate)
public override bool MoveNext()
{
bool flag;
switch (this._state)
{
case 1:
{
flag = false;
break;
}
case 2:
{
goto Label0;
}
case 3:
{
if (this.u0024iterationsu00241281 <= (float)0)
{
if (this.u0024self_u00241282.totalMaxFractures == 0 || Vector3.Min(((MeshFilter)this.u0024self_u00241282.gameObject.GetComponent(typeof(MeshFilter))).mesh.bounds.size, this.u0024self_u00241282.minFractureSize) != this.u0024self_u00241282.minFractureSize)
{
if (this.u0024self_u00241282.destroySmallAfterTime >= (float)1)
{
UnityEngine.Object.Destroy((MeshCollider)this.u0024self_u00241282.GetComponent(typeof(MeshCollider)), this.u0024self_u00241282.destroySmallAfterTime - (float)1);
UnityEngine.Object.Destroy(this.u0024self_u00241282.gameObject, this.u0024self_u00241282.destroySmallAfterTime);
}
this.u0024self_u00241282.totalMaxFractures = 0;
}
this.YieldDefault(1);
goto case 1;
}
else if (this.u0024self_u00241282.totalMaxFractures == 0 || Vector3.Min(((MeshFilter)this.u0024self_u00241282.gameObject.GetComponent(typeof(MeshFilter))).mesh.bounds.size, this.u0024self_u00241282.minFractureSize) != this.u0024self_u00241282.minFractureSize)
{
if (this.u0024self_u00241282.destroySmallAfterTime >= (float)1)
{
UnityEngine.Object.Destroy((MeshCollider)this.u0024self_u00241282.GetComponent(typeof(MeshCollider)), this.u0024self_u00241282.destroySmallAfterTime - (float)1);
UnityEngine.Object.Destroy(this.u0024self_u00241282.gameObject, this.u0024self_u00241282.destroySmallAfterTime);
}
this.u0024self_u00241282.totalMaxFractures = 0;
goto case 1;
}
else
{
this.u0024self_u00241282.totalMaxFractures = this.u0024self_u00241282.totalMaxFractures - 1;
this.u0024iterationsu00241281 = this.u0024iterationsu00241281 - (float)1;
if (this.u0024self_u00241282.fractureAtCenter)
{
Bounds component = ((MeshFilter)this.u0024self_u00241282.GetComponent(typeof(MeshFilter))).mesh.bounds;
this.u0024pointu00241279 = component.center;
}
Vector3 vector3 = Vector3.Scale(this.u0024self_u00241282.grain, UnityEngine.Random.insideUnitSphere);
this.u0024vecu00241261 = vector3.normalized;
Matrix4x4 u0024selfu00241282 = this.u0024self_u00241282.transform.worldToLocalMatrix;
Vector3 vector31 = u0024selfu00241282.MultiplyVector(this.u0024forceu00241280.normalized) * this.u0024self_u00241282.useCollisionDirection;
Matrix4x4 matrix4x4 = this.u0024self_u00241282.transform.worldToLocalMatrix;
this.u0024subu00241262 = vector31 * Vector3.Dot(matrix4x4.MultiplyVector(this.u0024forceu00241280.normalized), this.u0024vecu00241261);
Vector3 vector32 = this.u0024vecu00241261 - this.u0024subu00241262;
Vector3 vector33 = UnityEngine.Random.insideUnitSphere;
Bounds bound = ((MeshFilter)this.u0024self_u00241282.GetComponent(typeof(MeshFilter))).mesh.bounds;
this.u0024planeu00241263 = new Plane(vector32, (Vector3.Scale(vector33, bound.size) * this.u0024self_u00241282.randomOffset) + this.u0024pointu00241279);
this.u0024newObjectu00241264 = (GameObject)UnityEngine.Object.Instantiate(this.u0024self_u00241282.gameObject, this.u0024self_u00241282.transform.position, this.u0024self_u00241282.transform.rotation);
if (this.u0024self_u00241282.rigidbody)
{
this.u0024newObjectu00241264.rigidbody.velocity = this.u0024self_u00241282.rigidbody.velocity;
}
this.u0024vertsAu00241265 = ((MeshFilter)this.u0024self_u00241282.gameObject.GetComponent(typeof(MeshFilter))).mesh.vertices;
this.u0024vertsBu00241266 = ((MeshFilter)this.u0024newObjectu00241264.GetComponent(typeof(MeshFilter))).mesh.vertices;
this.u0024averageu00241267 = Vector3.zero;
this.u0024u0024iteratoru0024419u00241278 = this.u0024vertsAu00241265.GetEnumerator();
while (this.u0024u0024iteratoru0024419u00241278.MoveNext())
{
this.u0024iu00241268 = (Vector3)this.u0024u0024iteratoru0024419u00241278.Current;
this.u0024averageu00241267 = this.u0024averageu00241267 + this.u0024iu00241268;
}
this.u0024averageu00241267 = this.u0024averageu00241267 / (float)((MeshFilter)this.u0024self_u00241282.gameObject.GetComponent(typeof(MeshFilter))).mesh.vertexCount;
this.u0024averageu00241267 = this.u0024averageu00241267 - (this.u0024planeu00241263.GetDistanceToPoint(this.u0024averageu00241267) * this.u0024planeu00241263.normal);
this.u0024brokenu00241269 = 0;
if (!this.u0024self_u00241282.fractureToPoint)
{
this.u0024ju00241271 = 0;
while (this.u0024ju00241271 < ((MeshFilter)this.u0024self_u00241282.gameObject.GetComponent(typeof(MeshFilter))).mesh.vertexCount)
{
if (!this.u0024planeu00241263.GetSide(this.u0024vertsAu00241265[this.u0024ju00241271]))
{
this.u0024vertsBu00241266[this.u0024ju00241271] = this.u0024vertsBu00241266[this.u0024ju00241271] - (this.u0024planeu00241263.GetDistanceToPoint(this.u0024vertsBu00241266[this.u0024ju00241271]) * this.u0024planeu00241263.normal);
}
else
{
this.u0024vertsAu00241265[this.u0024ju00241271] = this.u0024vertsAu00241265[this.u0024ju00241271] - (this.u0024planeu00241263.GetDistanceToPoint(this.u0024vertsAu00241265[this.u0024ju00241271]) * this.u0024planeu00241263.normal);
this.u0024brokenu00241269 = this.u0024brokenu00241269 + 1;
}
this.u0024ju00241271 = this.u0024ju00241271 + 1;
}
}
else
{
this.u0024iu00241270 = 0;
while (this.u0024iu00241270 < ((MeshFilter)this.u0024self_u00241282.gameObject.GetComponent(typeof(MeshFilter))).mesh.vertexCount)
{
if (!this.u0024planeu00241263.GetSide(this.u0024vertsAu00241265[this.u0024iu00241270]))
{
this.u0024vertsBu00241266[this.u0024iu00241270] = this.u0024averageu00241267;
}
else
{
this.u0024vertsAu00241265[this.u0024iu00241270] = this.u0024averageu00241267;
this.u0024brokenu00241269 = this.u0024brokenu00241269 + 1;
}
this.u0024iu00241270 = this.u0024iu00241270 + 1;
}
}
if (this.u0024brokenu00241269 == 0 || this.u0024brokenu00241269 == ((MeshFilter)this.u0024self_u00241282.gameObject.GetComponent(typeof(MeshFilter))).mesh.vertexCount)
{
this.u0024self_u00241282.totalMaxFractures = this.u0024self_u00241282.totalMaxFractures + 1;
this.u0024iterationsu00241281 = this.u0024iterationsu00241281 + (float)1;
UnityEngine.Object.Destroy(this.u0024newObjectu00241264);
flag = this.YieldDefault(2);
break;
}
else
{
((MeshFilter)this.u0024self_u00241282.gameObject.GetComponent(typeof(MeshFilter))).mesh.vertices = this.u0024vertsAu00241265;
((MeshFilter)this.u0024newObjectu00241264.GetComponent(typeof(MeshFilter))).mesh.vertices = this.u0024vertsBu00241266;
((MeshFilter)this.u0024self_u00241282.gameObject.GetComponent(typeof(MeshFilter))).mesh.RecalculateNormals();
((MeshFilter)this.u0024newObjectu00241264.GetComponent(typeof(MeshFilter))).mesh.RecalculateNormals();
((MeshFilter)this.u0024self_u00241282.gameObject.GetComponent(typeof(MeshFilter))).mesh.RecalculateBounds();
((MeshFilter)this.u0024newObjectu00241264.GetComponent(typeof(MeshFilter))).mesh.RecalculateBounds();
if (!(MeshCollider)this.u0024self_u00241282.gameObject.GetComponent(typeof(MeshCollider)))
{
UnityEngine.Object.Destroy(this.u0024self_u00241282.collider);
UnityEngine.Object.Destroy(this.u0024self_u00241282.gameObject, (float)1);
}
else
{
((MeshCollider)this.u0024self_u00241282.gameObject.GetComponent(typeof(MeshCollider))).sharedMesh = ((MeshFilter)this.u0024self_u00241282.gameObject.GetComponent(typeof(MeshFilter))).mesh;
((MeshCollider)this.u0024newObjectu00241264.GetComponent(typeof(MeshCollider))).sharedMesh = ((MeshFilter)this.u0024newObjectu00241264.GetComponent(typeof(MeshFilter))).mesh;
}
if (!this.u0024self_u00241282.smartJoints)
{
if ((Joint)this.u0024self_u00241282.GetComponent(typeof(Joint)))
{
this.u0024iu00241270 = 0;
while (this.u0024iu00241270 < Extensions.get_length((System.Array) this.u0024self_u00241282.GetComponents(typeof(Joint))))
{
UnityEngine.Object.Destroy(this.u0024self_u00241282.GetComponents(typeof(Joint))[this.u0024iu00241270]);
UnityEngine.Object.Destroy(this.u0024newObjectu00241264.GetComponents(typeof(Joint))[this.u0024iu00241270]);
this.u0024iu00241270 = this.u0024iu00241270 + 1;
}
}
if (this.u0024self_u00241282.joints != null)
{
this.u0024iu00241270 = 0;
while (this.u0024iu00241270 < Extensions.get_length((System.Array) this.u0024self_u00241282.joints))
{
UnityEngine.Object.Destroy(this.u0024self_u00241282.joints[this.u0024iu00241270]);
this.u0024iu00241270 = this.u0024iu00241270 + 1;
}
this.u0024self_u00241282.joints = null;
}
}
else
{
this.u0024jointsbu00241272 = (Joint[])this.u0024self_u00241282.GetComponents(typeof(Joint));
if (this.u0024jointsbu00241272 != null)
{
this.u0024iu00241270 = 0;
while (this.u0024iu00241270 < Extensions.get_length((System.Array) this.u0024jointsbu00241272))
{
if (this.u0024jointsbu00241272[this.u0024iu00241270].connectedBody != null)
{
Matrix4x4 u0024selfu002412821 = this.u0024self_u00241282.transform.worldToLocalMatrix;
if (!this.u0024planeu00241263.GetSide(u0024selfu002412821.MultiplyPoint(this.u0024jointsbu00241272[this.u0024iu00241270].connectedBody.transform.position)))
{
goto Label3;
}
if (((SimpleFracture)this.u0024jointsbu00241272[this.u0024iu00241270].gameObject.GetComponent(typeof(SimpleFracture))).joints != null)
{
this.u0024u0024211u00241275 = 0;
this.u0024u0024212u00241276 = ((SimpleFracture)this.u0024jointsbu00241272[this.u0024iu00241270].gameObject.GetComponent(typeof(SimpleFracture))).joints;
this.u0024u0024213u00241277 = this.u0024u0024212u00241276.Length;
while (this.u0024u0024211u00241275 < this.u0024u0024213u00241277)
{
if (this.u0024u0024212u00241276[this.u0024u0024211u00241275] == this.u0024jointsbu00241272[this.u0024iu00241270])
{
this.u0024u0024212u00241276[this.u0024u0024211u00241275] = (Joint)this.u0024newObjectu00241264.GetComponents(typeof(Joint))[this.u0024iu00241270];
}
this.u0024u0024211u00241275 = this.u0024u0024211u00241275 + 1;
}
}
UnityEngine.Object.Destroy(this.u0024jointsbu00241272[this.u0024iu00241270]);
goto Label2;
}
Label3:
UnityEngine.Object.Destroy(this.u0024newObjectu00241264.GetComponents(typeof(Joint))[this.u0024iu00241270]);
Label2:
this.u0024iu00241270 = this.u0024iu00241270 + 1;
}
}
if (this.u0024self_u00241282.joints != null)
{
this.u0024iu00241270 = 0;
while (this.u0024iu00241270 <Extensions.get_length((System.Array) this.u0024self_u00241282.joints))
{
if (this.u0024self_u00241282.joints[this.u0024iu00241270])
{
Matrix4x4 matrix4x41 = this.u0024self_u00241282.transform.worldToLocalMatrix;
if (!this.u0024planeu00241263.GetSide(matrix4x41.MultiplyPoint(this.u0024self_u00241282.joints[this.u0024iu00241270].transform.position)))
{
goto Label5;
}
this.u0024self_u00241282.joints[this.u0024iu00241270].connectedBody = this.u0024newObjectu00241264.rigidbody;
this.u0024tempu00241274 = new UnityScript.Lang.Array(this.u0024self_u00241282.joints);
this.u0024tempu00241274.RemoveAt(this.u0024iu00241270);
this.u0024self_u00241282.joints = (Joint[])this.u0024tempu00241274.ToBuiltin(typeof(Joint));
goto Label4;
}
Label5:
this.u0024tempu00241274 = new UnityScript.Lang.Array(this.u0024self_u00241282.joints);
this.u0024tempu00241274.RemoveAt(this.u0024iu00241270);
((SimpleFracture)this.u0024newObjectu00241264.GetComponent(typeof(SimpleFracture))).joints = (Joint[])this.u0024tempu00241274.ToBuiltin(typeof(Joint));
Label4:
this.u0024iu00241270 = this.u0024iu00241270 + 1;
}
}
}
if (!this.u0024self_u00241282.rigidbody)
{
this.u0024self_u00241282.gameObject.AddComponent(typeof(Rigidbody));
this.u0024newObjectu00241264.AddComponent(typeof(Rigidbody));
this.u0024self_u00241282.rigidbody.mass = this.u0024self_u00241282.totalMassIfStatic;
this.u0024newObjectu00241264.rigidbody.mass = this.u0024self_u00241282.totalMassIfStatic;
}
this.u0024self_u00241282.gameObject.rigidbody.mass = this.u0024self_u00241282.gameObject.rigidbody.mass * 0.5f;
this.u0024newObjectu00241264.rigidbody.mass = this.u0024newObjectu00241264.rigidbody.mass * 0.5f;
Rigidbody rigidbody = this.u0024self_u00241282.gameObject.rigidbody;
Matrix4x4 u0024selfu002412822 = this.u0024self_u00241282.transform.worldToLocalMatrix;
Bounds bound1 = this.u0024self_u00241282.gameObject.collider.bounds;
rigidbody.centerOfMass = u0024selfu002412822.MultiplyPoint3x4(bound1.center);
Rigidbody rigidbody1 = this.u0024newObjectu00241264.rigidbody;
Matrix4x4 matrix4x42 = this.u0024self_u00241282.transform.worldToLocalMatrix;
Bounds bound2 = this.u0024newObjectu00241264.collider.bounds;
rigidbody1.centerOfMass = matrix4x42.MultiplyPoint3x4(bound2.center);
this.u0024self_u00241282.StartCoroutine_Auto(((SimpleFracture)this.u0024newObjectu00241264.GetComponent(typeof(SimpleFracture))).Fracture(this.u0024pointu00241279, this.u0024forceu00241280, this.u0024iterationsu00241281));
if (this.u0024self_u00241282.destroyAllAfterTime >= (float)1)
{
UnityEngine.Object.Destroy((MeshCollider)this.u0024newObjectu00241264.GetComponent(typeof(MeshCollider)), this.u0024self_u00241282.destroyAllAfterTime - (float)1);
UnityEngine.Object.Destroy((MeshCollider)this.u0024self_u00241282.GetComponent(typeof(MeshCollider)), this.u0024self_u00241282.destroyAllAfterTime - (float)1);
UnityEngine.Object.Destroy(this.u0024newObjectu00241264, this.u0024self_u00241282.destroyAllAfterTime);
UnityEngine.Object.Destroy(this.u0024self_u00241282.gameObject, this.u0024self_u00241282.destroyAllAfterTime);
}
flag = this.YieldDefault(3);
break;
}
}
}
default:
{
if (this.u0024self_u00241282.instantiateOnBreak && this.u0024forceu00241280.magnitude >= Mathf.Max(this.u0024self_u00241282.minBreakingForce, this.u0024self_u00241282.forcePerDivision))
{
UnityEngine.Object.Instantiate(this.u0024self_u00241282.instantiateOnBreak, this.u0024self_u00241282.transform.position, this.u0024self_u00241282.transform.rotation);
this.u0024self_u00241282.instantiateOnBreak = null;
}
goto Label0;
}
}
return flag;
}
}
|
|
SarahC
Builder
-Worried about the mod community-
Posts: 36
|
Post by SarahC on Feb 28, 2015 16:50:08 GMT
And the thing with the extension class has bothered me as well... I don't really get why it produces that code either. Oh well This for (int i = 0; i < Extensions[this.objsImSupporting]; i++) Should actually look like this, according to the IL: for (int i = 0; i < Extensions.length(this.objsImSupporting); i++) So I'd say this is simply a bug in the decompiler that you should report to telerik if you want it to get fixed in the future. I'm not entirely sure it's that straight forward, get_length is in a static class, and it looks like Extensions is an array of objcts (of objects?):
using System; using System.Runtime.CompilerServices;
namespace UnityScript.Lang { public static class Extensions { public static bool operator !=(char lhs, string rhs); public static bool operator !=(string lhs, char rhs); public static bool operator ==(char lhs, string rhs); public static bool operator ==(string lhs, char rhs); public static implicit operator bool(Enum e); public static int get_length(string s); public static int get_length(System.Array a); } }
For example, I get some code to read: for (int i = 0; i < Extensions.get_length((System.Array) this.tools); i++) Which suggests that Extensions.get_length is looking to see how large this.tools is - I wonder why it translates to .length ?
|
|
|
Post by Zeblote on Feb 28, 2015 16:56:50 GMT
Extensions has a property called length(Array a) which implements get_length So this is what is actually saved in the IL Extensions.get_length(this.tools)
But the decompiler will figure out that get_length is part of a property if it can load the library that Extensions is in, and should change it to this: Extensions.length(this.tools)
|
|
|
Post by ITR on Feb 28, 2015 18:01:36 GMT
Btw, for awesomely long [code] it might be good to surround it with a [Spoiler] tag :-P
|
|
|
Post by spaar on Feb 28, 2015 18:36:46 GMT
Alright, SarahC regarding your mysterious Label0: After reading some of the IL for that function I think that's just at the beginning of the case 3 block. I could be wrong about that since I barely know IL, but you might want to try it out.
|
|
SarahC
Builder
-Worried about the mod community-
Posts: 36
|
Post by SarahC on Feb 28, 2015 19:27:26 GMT
Btw, for awesomely long [code] it might be good to surround it with a [Spoiler] tag :-P Have done! Thanks for the tip.
|
|
SarahC
Builder
-Worried about the mod community-
Posts: 36
|
Post by SarahC on Feb 28, 2015 19:27:56 GMT
Alright, SarahC regarding your mysterious Label0: After reading some of the IL for that function I think that's just at the beginning of the case 3 block. I could be wrong about that since I barely know IL, but you might want to try it out. I'll try it first thing - bed time for me now.
|
|
|
Post by ITR on Feb 28, 2015 19:56:37 GMT
Not sure if that counts as distributing Besiege in it's entirety or not, but you probably should strip that download for all unnecessary files so you don't risk getting banned...
|
|
|
Post by spaar on Feb 28, 2015 20:09:47 GMT
I agree with ITR, in your download you should probably only have the "Source" folder and get rid of the other one. Everyone who has the game and is interested in this won't have any problems using his own copy.
|
|
|
Post by ITR on Feb 28, 2015 20:12:07 GMT
I agree with ITR, in your download you should probably only have the "Source" folder and get rid of the other one. Everyone who has the game and is interested in this won't have any problems using his own copy. And somebody got banned for saying they planned on distributing the game :/
|
|
|
Post by Zeblote on Feb 28, 2015 20:16:33 GMT
Not sure if that counts as distributing Besiege in it's entirety or not, but you probably should strip that download for all unnecessary files so you don't risk getting banned... It does. You can't upload the whole besiege folder.
OP appears to be offline so I've deleted the post to prevent people from finding it / him getting banned, just make a new one later on
|
|