diff --git a/Source/SM64 Diagnostic/Config/TrianglesData.xml b/Source/SM64 Diagnostic/Config/TrianglesData.xml index aa651f47d..2d62596de 100644 --- a/Source/SM64 Diagnostic/Config/TrianglesData.xml +++ b/Source/SM64 Diagnostic/Config/TrianglesData.xml @@ -19,19 +19,19 @@ Normal X Normal Y Normal Z - Offset + Normal Offset Associated Object - Closest Vertex Uphill Angle Downhill Angle Right Hill Angle Left Hill Angle - Steepness + Steepness Mario X Mario Y Mario Z - Yaw (Intended) - Yaw (Facing) + Closest Vertex + M. Yaw (Intended) + M. Yaw (Facing) Floor Triangle Wall Triangle Ceiling Triangle diff --git a/Source/SM64 Diagnostic/StroopMainForm.cs b/Source/SM64 Diagnostic/StroopMainForm.cs index 49a7428a6..b3854e421 100644 --- a/Source/SM64 Diagnostic/StroopMainForm.cs +++ b/Source/SM64 Diagnostic/StroopMainForm.cs @@ -18,7 +18,7 @@ namespace SM64_Diagnostic { public partial class StroopMainForm : Form { - const string _version = "v0.2.5"; + const string _version = "v0.2.6"; ProcessStream _sm64Stream = null; ObjectSlotManagerGui _slotManagerGui = new ObjectSlotManagerGui(); diff --git a/Source/SM64 Diagnostic/Utilities/MarioActions.cs b/Source/SM64 Diagnostic/Utilities/MarioActions.cs index e92a9bb4f..5653f1231 100644 --- a/Source/SM64 Diagnostic/Utilities/MarioActions.cs +++ b/Source/SM64 Diagnostic/Utilities/MarioActions.cs @@ -9,8 +9,6 @@ namespace SM64_Diagnostic.Utilities { public static class MarioActions { - public enum DistanceToObjType { Mario, Object, ObjectHome }; - public static bool MoveMarioToObject(ProcessStream stream, uint objAddress) { // Move mario to object @@ -200,23 +198,12 @@ public static bool RetrieveTriangle(ProcessStream stream, uint triangleAddress) float normOffset = -(normX * marioX + normY * marioY + normZ * marioZ); float normDiff = normOffset - oldNormOffset; - short xOffset, yOffset, zOffset; - xOffset = (short)(-normDiff * normX); - yOffset = (short)(-normDiff * normY); - zOffset = (short)(-normDiff * normZ); + short yOffset = (short)(-normDiff * normY); - short v1X, v1Y, v1Z; - short v2X, v2Y, v2Z; - short v3X, v3Y, v3Z; - v1X = (short)(BitConverter.ToInt16(stream.ReadRam(triangleAddress + Config.TriangleOffsets.X1, 2), 0) + xOffset); + short v1Y, v2Y, v3Y; v1Y = (short)(BitConverter.ToInt16(stream.ReadRam(triangleAddress + Config.TriangleOffsets.Y1, 2), 0) + yOffset); - v1Z = (short)(BitConverter.ToInt16(stream.ReadRam(triangleAddress + Config.TriangleOffsets.Z1, 2), 0) + zOffset); - v2X = (short)(BitConverter.ToInt16(stream.ReadRam(triangleAddress + Config.TriangleOffsets.X2, 2), 0) + xOffset); v2Y = (short)(BitConverter.ToInt16(stream.ReadRam(triangleAddress + Config.TriangleOffsets.Y2, 2), 0) + yOffset); - v2Z = (short)(BitConverter.ToInt16(stream.ReadRam(triangleAddress + Config.TriangleOffsets.Z2, 2), 0) + zOffset); - v3X = (short)(BitConverter.ToInt16(stream.ReadRam(triangleAddress + Config.TriangleOffsets.X3, 2), 0) + xOffset); v3Y = (short)(BitConverter.ToInt16(stream.ReadRam(triangleAddress + Config.TriangleOffsets.Y3, 2), 0) + yOffset); - v3Z = (short)(BitConverter.ToInt16(stream.ReadRam(triangleAddress + Config.TriangleOffsets.Z3, 2), 0) + zOffset); short yMin = Math.Min(Math.Min(v1Y, v2Y), v3Y); short yMax = Math.Max(Math.Max(v1Y, v2Y), v3Y); @@ -225,16 +212,10 @@ public static bool RetrieveTriangle(ProcessStream stream, uint triangleAddress) // Update triangle bool success = true; - - success &= stream.WriteRam(BitConverter.GetBytes(v1X), triangleAddress + Config.TriangleOffsets.X1); + success &= stream.WriteRam(BitConverter.GetBytes(v1Y), triangleAddress + Config.TriangleOffsets.Y1); - success &= stream.WriteRam(BitConverter.GetBytes(v1Z), triangleAddress + Config.TriangleOffsets.Z1); - success &= stream.WriteRam(BitConverter.GetBytes(v2X), triangleAddress + Config.TriangleOffsets.X2); success &= stream.WriteRam(BitConverter.GetBytes(v2Y), triangleAddress + Config.TriangleOffsets.Y2); - success &= stream.WriteRam(BitConverter.GetBytes(v2Z), triangleAddress + Config.TriangleOffsets.Z2); - success &= stream.WriteRam(BitConverter.GetBytes(v3X), triangleAddress + Config.TriangleOffsets.X3); success &= stream.WriteRam(BitConverter.GetBytes(v3Y), triangleAddress + Config.TriangleOffsets.Y3); - success &= stream.WriteRam(BitConverter.GetBytes(v3Z), triangleAddress + Config.TriangleOffsets.Z3); success &= stream.WriteRam(BitConverter.GetBytes(yMin), triangleAddress + Config.TriangleOffsets.YMin); success &= stream.WriteRam(BitConverter.GetBytes(yMax), triangleAddress + Config.TriangleOffsets.YMax); success &= stream.WriteRam(BitConverter.GetBytes(normOffset), triangleAddress + Config.TriangleOffsets.Offset); diff --git a/Windows Build/Config/Config.xml b/Windows Build/Config/Config.xml index 782c5565e..0c9d9460f 100644 --- a/Windows Build/Config/Config.xml +++ b/Windows Build/Config/Config.xml @@ -18,6 +18,9 @@ 0xA0 0xA4 0xA8 + 0x164 + 0x168 + 0x16C 0xC8 240 300 @@ -65,6 +68,16 @@ 0x5C 0xBC + + 0x8033b21e + 0x8033b21c + 0x8033b218 + 0x8033b21a + 2176 + 4 + 0 + 120 + 0x8033d263 0x80330e94 diff --git a/Windows Build/Config/Hacks.xml b/Windows Build/Config/Hacks.xml index 5c8419a1f..869d53935 100644 --- a/Windows Build/Config/Hacks.xml +++ b/Windows Build/Config/Hacks.xml @@ -3,6 +3,6 @@ Resources\Hacks\ - + \ No newline at end of file diff --git a/Windows Build/Config/MarioData.xml b/Windows Build/Config/MarioData.xml index 8bacca1b4..639c7d78b 100644 --- a/Windows Build/Config/MarioData.xml +++ b/Windows Build/Config/MarioData.xml @@ -19,13 +19,6 @@ Roll Yaw Velocity Flying Pull Back - Floor Height - Ceiling Height - Dist Below Ceiling - Dist Above Floor - Floor Triangle - Wall Triangle - Ceiling Triangle Interaction Object Using Object Stood On Object diff --git a/Windows Build/Config/ObjectAssociations.xml b/Windows Build/Config/ObjectAssociations.xml index 6776d954f..700f54b68 100644 --- a/Windows Build/Config/ObjectAssociations.xml +++ b/Windows Build/Config/ObjectAssociations.xml @@ -49,6 +49,9 @@ + + + diff --git a/Windows Build/Config/ObjectData.xml b/Windows Build/Config/ObjectData.xml index 2eb63c9b3..e553b5a9f 100644 --- a/Windows Build/Config/ObjectData.xml +++ b/Windows Build/Config/ObjectData.xml @@ -17,8 +17,8 @@ Pitch (Rot Speed) Roll (Rot Speed) Dist to Mario - Act. Dist to Mario - Lat. Dist to Mario + Act. Dist to Mario + Lat. Dist to Mario Angle to Mario Drawing Dist RNG Calls/Frame @@ -37,6 +37,10 @@ Home X Home Y Home Z + Mario Dist to Home + Mario Lat. Dist to Home + Dist to Home + Lat. Dist to Home Release Status Interaction Status Subtype diff --git a/Windows Build/Config/TrianglesData.xml b/Windows Build/Config/TrianglesData.xml new file mode 100644 index 000000000..2d62596de --- /dev/null +++ b/Windows Build/Config/TrianglesData.xml @@ -0,0 +1,45 @@ + + + Classification + SurfaceType + Flags + Wind Direction + Wall Projection + Y Min + Y Max + X1 + Y1 + Z1 + X2 + Y2 + Z2 + X3 + Y3 + Z3 + Normal X + Normal Y + Normal Z + Normal Offset + Associated Object + Uphill Angle + Downhill Angle + Right Hill Angle + Left Hill Angle + Steepness + Mario X + Mario Y + Mario Z + Closest Vertex + M. Yaw (Intended) + M. Yaw (Facing) + Floor Triangle + Wall Triangle + Ceiling Triangle + Floor Height + Height On Slope + Ceiling Height + Dist Below Ceiling + Dist Above Floor + Normal Dist Away + Vertical Dist Away + \ No newline at end of file diff --git a/Windows Build/Stroop.exe b/Windows Build/Stroop.exe index a251e2f04..88e99a4dc 100644 Binary files a/Windows Build/Stroop.exe and b/Windows Build/Stroop.exe differ