diff --git a/OmsiExtensions.sln b/OmsiExtensions.sln index 61137bc..e93e7ab 100644 --- a/OmsiExtensions.sln +++ b/OmsiExtensions.sln @@ -25,7 +25,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TriggersSample", "_OmsiHook EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VideoDemo", "_OmsiHookExamples\VideoDemo\VideoDemo.csproj", "{D94FF6D3-08AA-41CB-B9B9-F82E860E6E96}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClickablePlaneDemo", "_OmsiHookExamples\ClickablePlaneDemo\ClickablePlaneDemo.csproj", "{49428923-732C-4541-8C97-C6D9C004D726}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClickablePlaneDemo", "_OmsiHookExamples\ClickablePlaneDemo\ClickablePlaneDemo.csproj", "{49428923-732C-4541-8C97-C6D9C004D726}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -97,8 +97,8 @@ Global {CBCB99EF-DD1A-4D4D-A9A8-9BF251FDCD1B}.ReleaseAndDocs|Any CPU.Build.0 = Release|Win32 {CBCB99EF-DD1A-4D4D-A9A8-9BF251FDCD1B}.ReleaseAndDocs|x86.ActiveCfg = Release|Win32 {CBCB99EF-DD1A-4D4D-A9A8-9BF251FDCD1B}.ReleaseAndDocs|x86.Build.0 = Release|Win32 - {CDB17143-5653-48BE-AAC8-8419D5B4FD2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CDB17143-5653-48BE-AAC8-8419D5B4FD2C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CDB17143-5653-48BE-AAC8-8419D5B4FD2C}.Debug|Any CPU.ActiveCfg = Debug|x86 + {CDB17143-5653-48BE-AAC8-8419D5B4FD2C}.Debug|Any CPU.Build.0 = Debug|x86 {CDB17143-5653-48BE-AAC8-8419D5B4FD2C}.Debug|x86.ActiveCfg = Debug|x86 {CDB17143-5653-48BE-AAC8-8419D5B4FD2C}.Debug|x86.Build.0 = Debug|x86 {CDB17143-5653-48BE-AAC8-8419D5B4FD2C}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/OmsiHook/MemArray/MemArrayBase.cs b/OmsiHook/MemArray/MemArrayBase.cs index 748dea5..c8f4d24 100644 --- a/OmsiHook/MemArray/MemArrayBase.cs +++ b/OmsiHook/MemArray/MemArrayBase.cs @@ -82,6 +82,7 @@ public virtual void Dispose() // TODO: Free the old array //Memory.Free(Memory.ReadMemory(Address)); // Remove references from current array. TODO: Does this work? Is this safe? + // https://github.com/space928/Omsi-Extensions/issues/109 Memory.WriteMemory(Memory.ReadMemory(Address) - 8, 0); Memory.WriteMemory(Address, Memory.AllocateStructArray(0, 0).Result); diff --git a/OmsiHook/MemArray/MemArrayObjList.cs b/OmsiHook/MemArray/MemArrayObjList.cs index 2b7cc01..1af6245 100644 --- a/OmsiHook/MemArray/MemArrayObjList.cs +++ b/OmsiHook/MemArray/MemArrayObjList.cs @@ -90,6 +90,7 @@ public override T this[int index] /// /// TODO: Implement efficient enumerator for non-cached arrays. + /// https://github.com/space928/Omsi-Extensions/issues/110 /// /// public override IEnumerator GetEnumerator() => ((IEnumerable)WrappedArray).GetEnumerator(); @@ -207,6 +208,7 @@ public override T this[int index] /// /// TODO: Implement efficient enumerator for non-cached arrays. + /// https://github.com/space928/Omsi-Extensions/issues/110 /// /// public override IEnumerator GetEnumerator() => ((IEnumerable)WrappedArray).GetEnumerator(); diff --git a/OmsiHook/MemArray/MemArrayString.cs b/OmsiHook/MemArray/MemArrayString.cs index 7ed5ae4..0b3f451 100644 --- a/OmsiHook/MemArray/MemArrayString.cs +++ b/OmsiHook/MemArray/MemArrayString.cs @@ -24,7 +24,7 @@ public override string this[int index] { if (cached) arrayCache[index] = value; - Memory.WriteMemoryArrayItemSafe(Address, Memory.AllocateString(value).Result, index); + Memory.WriteMemoryArrayItemSafe(Address, Memory.AllocateString(value, wide).Result, index); } } @@ -119,6 +119,7 @@ public override void Clear() public override void CopyTo(string[] array, int arrayIndex) => WrappedArray.CopyTo(array, arrayIndex); //TODO: Implement efficient enumerator for non-cached arrays. + // https://github.com/space928/Omsi-Extensions/issues/110 public override IEnumerator GetEnumerator() => (IEnumerator)WrappedArray.GetEnumerator(); public override int IndexOf(string item) => Array.IndexOf(WrappedArray, item); diff --git a/OmsiHook/MemArray/MemArrayStringList.cs b/OmsiHook/MemArray/MemArrayStringList.cs index 8498c93..22829c5 100644 --- a/OmsiHook/MemArray/MemArrayStringList.cs +++ b/OmsiHook/MemArray/MemArrayStringList.cs @@ -92,6 +92,7 @@ public override string this[int index] /// /// TODO: Implement efficient enumerator for non-cached arrays. + /// https://github.com/space928/Omsi-Extensions/issues/110 /// /// public override IEnumerator GetEnumerator() => ((IEnumerable)WrappedArray).GetEnumerator(); diff --git a/OmsiHook/MemArray/MemArrayStruct.cs b/OmsiHook/MemArray/MemArrayStruct.cs index f0ca7a9..8a17505 100644 --- a/OmsiHook/MemArray/MemArrayStruct.cs +++ b/OmsiHook/MemArray/MemArrayStruct.cs @@ -57,6 +57,7 @@ public override Struct this[int index] /// /// TODO: Implement efficient enumerator for non-cached arrays. + /// https://github.com/space928/Omsi-Extensions/issues/110 /// /// public override IEnumerator GetEnumerator() => ((IEnumerable)WrappedArray).GetEnumerator(); diff --git a/OmsiHook/MemArray/MemArrayStructList.cs b/OmsiHook/MemArray/MemArrayStructList.cs index d68e7a4..01c3f20 100644 --- a/OmsiHook/MemArray/MemArrayStructList.cs +++ b/OmsiHook/MemArray/MemArrayStructList.cs @@ -92,6 +92,7 @@ public override Struct this[int index] /// /// TODO: Implement efficient enumerator for non-cached arrays. + /// https://github.com/space928/Omsi-Extensions/issues/110 /// /// public override IEnumerator GetEnumerator() => ((IEnumerable)WrappedArray).GetEnumerator(); @@ -206,6 +207,7 @@ public override Struct this[int index] /// /// TODO: Implement efficient enumerator for non-cached arrays. + /// https://github.com/space928/Omsi-Extensions/issues/110 /// /// public override IEnumerator GetEnumerator() => ((IEnumerable)WrappedArray).GetEnumerator(); diff --git a/OmsiHook/Memory.cs b/OmsiHook/Memory.cs index 0e2137b..94416c3 100644 --- a/OmsiHook/Memory.cs +++ b/OmsiHook/Memory.cs @@ -723,6 +723,7 @@ public string ReadMemoryString(int address, bool wide = false, bool raw = false, var readBuff = readBuffer.Value; //int readSize = 16; // TODO: Rewrite this to read chunks of memory all at once instead of one char at a time... + // https://github.com/space928/Omsi-Extensions/issues/111 while (true) { var bytes = ReadMemory(i, wide ? 2 : 1, readBuff); diff --git a/OmsiHook/OmsiHook.cs b/OmsiHook/OmsiHook.cs index 3d4735a..5e974bf 100644 --- a/OmsiHook/OmsiHook.cs +++ b/OmsiHook/OmsiHook.cs @@ -209,6 +209,7 @@ private void OmsiHook_OnOmsiGotD3DContext(object sender, EventArgs e) public OmsiRoadVehicleInst GetRoadVehicleInst(int index) { // TODO: A More permanant fix should be done at some point. + //https://github.com/space928/Omsi-Extensions/issues/112 var vehPtr = GetListItem(0x00861508, index); return vehPtr < 1000 ? null : new OmsiRoadVehicleInst(omsiMemory, vehPtr); } diff --git a/OmsiHook/OmsiHook.csproj b/OmsiHook/OmsiHook.csproj index 0f0cbba..52c44ac 100644 --- a/OmsiHook/OmsiHook.csproj +++ b/OmsiHook/OmsiHook.csproj @@ -12,7 +12,7 @@ true 2.5.3.1 2.5.3.1 - 2.5.3 + 2.5.4 LGPL-3.0-only False README.md diff --git a/OmsiHook/OmsiRemoteMethods.cs b/OmsiHook/OmsiRemoteMethods.cs index 19a2a7a..e583528 100644 --- a/OmsiHook/OmsiRemoteMethods.cs +++ b/OmsiHook/OmsiRemoteMethods.cs @@ -104,9 +104,10 @@ private void ResultReaderTask() } } catch { - // TODO: This shouldn't really fail silently if it isn't meant to + // TODO: This shouldn't really fail silently if it isn't meant to // but closing the RPC session results in ReadInt32 throwing // an exception, so we should catch that... + // https://github.com/space928/Omsi-Extensions/issues/113 } } diff --git a/OmsiHook/OmsiStructs.cs b/OmsiHook/OmsiStructs.cs index be5d986..bb01624 100644 --- a/OmsiHook/OmsiStructs.cs +++ b/OmsiHook/OmsiStructs.cs @@ -141,6 +141,7 @@ public struct D3DMaterial9 public struct D3DOBB { // TODO: Check Axis Data Type + // https://github.com/space928/Omsi-Extensions/issues/114 public int Axis; public D3DVector Depth; public D3DVector Center; @@ -450,7 +451,6 @@ public struct OmsiTicketPack [StructLayout(LayoutKind.Explicit, Size = 0x2c)] internal struct OmsiTicketInternal { - //TODO: I don't think these are decoding correctly (I saw nothing when I looked), check this actually works. [FieldOffset(0x0)][OmsiStrPtr(StrPtrType.RawDelphiAnsiString)] public int name; [FieldOffset(0x4)][OmsiStrPtr(StrPtrType.RawDelphiAnsiString)] public int name_english; [FieldOffset(0x8)][OmsiStrPtr(StrPtrType.RawDelphiAnsiString)] public int name_display; @@ -482,6 +482,7 @@ public struct OmsiSeat public byte flag; public float height; public int getInteriorLights; // TODO: Check Data Type + // https://github.com/space928/Omsi-Extensions/issues/115 } public struct OmsiEntryProp { @@ -554,11 +555,12 @@ public struct OmsiVector3Double public struct OmsiAchseInstance { //TODO: Translate field names - public double phi; //TODO: Verify all double types + // https://github.com/space928/Omsi-Extensions/issues/116 + public double phi; //TODO: Verify all double types // https://github.com/space928/Omsi-Extensions/issues/116 public float alpha; public double drehzahl; public double federung; - public OmsiVector3Double anpress; //TODO: Verify type + public OmsiVector3Double anpress; //TODO: Verify type // https://github.com/space928/Omsi-Extensions/issues/116 public float contact; public float antrieb; public double brems; @@ -716,6 +718,7 @@ public struct OmsiPathBelegung } //TODO: Bug when dereferencing this + // https://github.com/space928/Omsi-Extensions/issues/117 [StructLayout(LayoutKind.Explicit, Size = 0x110)] internal struct OmsiPathInfoInternal { @@ -878,6 +881,7 @@ public struct OmsiPathInfo /// /// Temporary struct to store unknown data type in OmsiPathInfo.nextPathSeg + /// https://github.com/space928/Omsi-Extensions/issues/118 /// public struct OmsiNextPathSegment { @@ -886,6 +890,7 @@ public struct OmsiNextPathSegment /// /// Temporary struct to store unkown data type in OmsiPathInfo.nextPathID + /// https://github.com/space928/Omsi-Extensions/issues/118 /// public struct OmsiNextPathID { @@ -1873,6 +1878,7 @@ internal struct OmsiRVFileInternal [OmsiStruct(typeof(OmsiRVTypesLine), typeof(OmsiRVTypesLineInternal))] public int list_types_line; } /* TODO: Parse the pointers better to get the variables */ + // https://github.com/space928/Omsi-Extensions/issues/119 public struct OmsiBoolClassCondiBool { /// diff --git a/OmsiHook/ReflectionCache.cs b/OmsiHook/ReflectionCache.cs index 6daa4ec..14e1688 100644 --- a/OmsiHook/ReflectionCache.cs +++ b/OmsiHook/ReflectionCache.cs @@ -70,6 +70,7 @@ public static ReflectionCache GetOrBuildReflectionCache(Memory mem, Type nativeT /// /// // TODO: Rewrite this to use IL generation to avoid unnecessary boxing... + // https://github.com/space928/Omsi-Extensions/issues/120 public static ReflectionCache BuildReflectionCache(Memory mem, Type nativeType, Type localType) { var ret = new ReflectionCache(nativeType, localType); @@ -207,6 +208,7 @@ public static ReflectionCache BuildReflectionCache(Memory mem, Type nativeType, map.toNative = val => { // TODO: I might add a dedicated method for allocating string arrays + // https://github.com/space928/Omsi-Extensions/issues/121 var stringTasks = ((string[])val).Select(x => mem.AllocateString(x, a.Wide, 1, a.Raw)); var strings = Task.WhenAll(stringTasks); return mem.AllocateAndInitStructArray(strings.Result).Result; @@ -421,6 +423,7 @@ public static void Compile(Memory mem) map.toNative = val => { // TODO: I might add a dedicated method for allocating string arrays + // https://github.com/space928/Omsi-Extensions/issues/121 var stringTasks = ((string[])val).Select(x => mem.AllocateString(x, a.Wide, 1, a.Raw)); var strings = Task.WhenAll(stringTasks); return mem.AllocateAndInitStructArray(strings.Result).Result; @@ -730,6 +733,7 @@ private static string GetCustomAttributeDebugString(FieldInfo field) private static int AllocateStrings(Memory mem, string[] val, bool wide, bool raw) { // TODO: I might add a dedicated method for allocating string arrays + // https://github.com/space928/Omsi-Extensions/issues/121 var stringTasks = val.Select(x => mem.AllocateString(x, wide, 1, raw)); var strings = Task.WhenAll(stringTasks); return mem.AllocateAndInitStructArray(strings.Result).Result; diff --git a/OmsiHook/WrappedOmsiClasses/OmsiAnimSubMesh.cs b/OmsiHook/WrappedOmsiClasses/OmsiAnimSubMesh.cs index 2651f8b..1b274ce 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiAnimSubMesh.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiAnimSubMesh.cs @@ -32,6 +32,7 @@ public int AnimParent //public MemArrayList origin //public MemArrayList originI //public MemArrayList anim + //https://github.com/space928/Omsi-Extensions/issues/123 public int Visible { get => Memory.ReadMemory(Address + 0x1a4); @@ -46,6 +47,7 @@ public int VisibleValue //public MemArrayList LampenSettings //public MemArrayList InteriorLights //public MemArrayList BoneProps + //https://github.com/space928/Omsi-Extensions/issues/123 public bool SmoothSkin { get => Memory.ReadMemory(Address + 0x1bc); @@ -72,6 +74,7 @@ public byte Flag_GetLights set => Memory.WriteMemory(Address + 0x1cc, value); } /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/122 public int GetInteriorLights { get => Memory.ReadMemory(Address + 0x1cd); diff --git a/OmsiHook/WrappedOmsiClasses/OmsiAnimSubMeshInst.cs b/OmsiHook/WrappedOmsiClasses/OmsiAnimSubMeshInst.cs index ac742d3..6c98711 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiAnimSubMeshInst.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiAnimSubMeshInst.cs @@ -15,6 +15,7 @@ internal OmsiAnimSubMeshInst(Memory omsiMemory, int baseAddress) : base(omsiMemo public OmsiAnimSubMeshInst() : base() { } public D3DTransformObject ShadowObject // TODO: Should be a D3DShadowObject + // https://github.com/space928/Omsi-Extensions/issues/124 { get => Memory.ReadMemoryObject(Address, 0x4); } @@ -37,6 +38,7 @@ public D3DMatrix LocalMatrix set => Memory.WriteMemory(Address + 0x88, value); } /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/123 public MemArrayList Matl { get => new(Memory, Address + 0xc8); @@ -54,6 +56,7 @@ public bool Visible // TODO: MemArrayList Lampen @ 0xd4 // TODO: MemArrayList InteriorLights @ 0xd8 // TODO: MemArrayList Anim_LastValue @ 0xdc + // https://github.com/space928/Omsi-Extensions/issues/123 public IntPtr SkinMesh // ID3DXMesh { get => Memory.ReadMemory(Address + 0xe0); diff --git a/OmsiHook/WrappedOmsiClasses/OmsiCamera.cs b/OmsiHook/WrappedOmsiClasses/OmsiCamera.cs index 1226b4a..1c19681 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiCamera.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiCamera.cs @@ -165,12 +165,14 @@ public D3DMatrix CamPntMatrix_Calc // TODO: VFDPlane_Render - struct D3DXPlane[6] @ 0x229 + //https://github.com/space928/Omsi-Extensions/issues/125 /*public D3DXPlane[] VFDPlane_Render { get => omsiMemory.ReadMemory(baseAddress + 0x229); set => omsiMemory.WriteMemory(baseAddress + 0x229, value); }*/ // TODO: VFDPlane_Calc - struct D3DXPlane[6] @ 0x289 + //https://github.com/space928/Omsi-Extensions/issues/125 /*public D3DXPlane[] VFDPlane_Calc { get => omsiMemory.ReadMemory(baseAddress + 0x289); diff --git a/OmsiHook/WrappedOmsiClasses/OmsiChrono.cs b/OmsiHook/WrappedOmsiClasses/OmsiChrono.cs index b20d4a9..86bebe8 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiChrono.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiChrono.cs @@ -9,7 +9,8 @@ internal OmsiChrono(Memory omsiMemory, int baseAddress) : base(omsiMemory, baseA public OmsiChrono() : base() { } /* - TODO: public Array? Timeline + TODO: public MemArray Timeline + //https://github.com/space928/Omsi-Extensions/issues/126 { get => omsiMemory.ReadMemory(baseAddress + 0x4); set => omsiMemory.WriteMemory(baseAddress + 0x4, value); @@ -28,7 +29,8 @@ public bool Scenario_Changed } /* - TODO: public Array? Scenarios + TODO: public MemArray Scenarios + //https://github.com/space928/Omsi-Extensions/issues/126 { get => omsiMemory.ReadMemory(baseAddress + 0x10); set => omsiMemory.WriteMemory(baseAddress + 0x10, value); diff --git a/OmsiHook/WrappedOmsiClasses/OmsiComplMapObj.cs b/OmsiHook/WrappedOmsiClasses/OmsiComplMapObj.cs index b7944e5..d0c15c7 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiComplMapObj.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiComplMapObj.cs @@ -77,7 +77,7 @@ public float NoSound get => Memory.ReadMemory(Memory.ReadMemory(Address + 0x1b8)); set => Memory.WriteMemory(Memory.ReadMemory(Address + 0x1b8), value); } - public byte Complexity // Byte maybe? + public byte Complexity { get => Memory.ReadMemory(Address + 0x1bc); set => Memory.WriteMemory(Address + 0x1bc, value); @@ -114,6 +114,7 @@ public int Switch_State_Count set => Memory.WriteMemory(Address + 0x1d0, value); } // TODO: Implement internal struct for OmsiTreeInfo + //https://github.com/space928/Omsi-Extensions/issues/127 /*public OmsiTreeInfo TreeInfo { get => Memory.ReadMemory(Address + 0x1d4); @@ -185,6 +186,7 @@ public int FirstUser set => Memory.WriteMemory(Address + 0x204, value); } /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/127 public OmsiXPC_CreateReturn Script_Return { get => Memory.ReadMemory(Address + 0x208); @@ -224,6 +226,7 @@ public OmsiAmpelGroup AmpelGroup Memory.ReadMemory(Address + 0x230)); //TODO: //set => Memory.WriteMemory(Address + 0x230, value); + // https://github.com/space928/Omsi-Extensions/issues/127 } public int CTC_FarbSchema { @@ -232,13 +235,11 @@ public int CTC_FarbSchema } public OmsiTriggerBox[] TriggerBoxes => Memory.ReadMemoryStructArray(Address + 0x248); - /* TODO: - public OmsiComplObjPtr ComplObj + public OmsiComplObj ComplObj { - get => Memory.ReadMemory(Address + 0x24c); - set => Memory.WriteMemory(Address + 0x24c, value); - }*/ - public OmsiPathManager ComplObj + get => Memory.ReadMemoryObject(Address + 0x24c); + } + public OmsiPathManager PathManager { get => Memory.ReadMemoryObject(Address, 0x250, false); } diff --git a/OmsiHook/WrappedOmsiClasses/OmsiComplMapObjInst.cs b/OmsiHook/WrappedOmsiClasses/OmsiComplMapObjInst.cs index 16d4125..1275c19 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiComplMapObjInst.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiComplMapObjInst.cs @@ -15,7 +15,7 @@ public class OmsiComplMapObjInst : OmsiPhysObjInst private MemArrayStringDict funcsStrings; private OmsiFuncClass[] funcs; private float[] consts; - private MemArray stringVars; + private MemArrayString stringVars; internal OmsiComplMapObjInst(Memory omsiMemory, int baseAddress) : base(omsiMemory, baseAddress) { } public OmsiComplMapObjInst() : base() { } @@ -49,31 +49,37 @@ public float EinsVar set => Memory.WriteMemory(Address + 0x1ec, value); } public float Debug // TODO: Check Data Type + //https://github.com/space928/Omsi-Extensions/issues/128 { get => Memory.ReadMemory(Address + 0x1f0); set => Memory.WriteMemory(Address + 0x1f0, value); } public float Unknown_OCMOI_A // TODO: Check Data Name + //https://github.com/space928/Omsi-Extensions/issues/128 { get => Memory.ReadMemory(Address + 0x1f4); set => Memory.WriteMemory(Address + 0x1f4, value); } public float Unknown_OCMOI_B // TODO: Check Data Name + //https://github.com/space928/Omsi-Extensions/issues/128 { get => Memory.ReadMemory(Address + 0x1f8); set => Memory.WriteMemory(Address + 0x1f8, value); } public float Unknown_OCMOI_C // TODO: Check Data Name + //https://github.com/space928/Omsi-Extensions/issues/128 { get => Memory.ReadMemory(Address + 0x1fc); set => Memory.WriteMemory(Address + 0x1fc, value); } - public float UUnknown_OCMOI_D // TODO: Check Data Name + public float Unknown_OCMOI_D // TODO: Check Data Name + //https://github.com/space928/Omsi-Extensions/issues/128 { get => Memory.ReadMemory(Address + 0x200); set => Memory.WriteMemory(Address + 0x200, value); } public float Unknown_OCMOI_E // TODO: Check Data Name + //https://github.com/space928/Omsi-Extensions/issues/128 { get => Memory.ReadMemory(Address + 0x204); set => Memory.WriteMemory(Address + 0x204, value); @@ -196,7 +202,7 @@ public string GetStringVariable(string varName) if (index >= stringVars.Count || index < 0) throw new KeyNotFoundException($"String Variable '{varName}' not found in object. - Index Out Of Bounds"); stringVars.UpdateFromHook(index); - return stringVars[index].String; + return stringVars[index]; } /// diff --git a/OmsiHook/WrappedOmsiClasses/OmsiComplMapSceneObjInst.cs b/OmsiHook/WrappedOmsiClasses/OmsiComplMapSceneObjInst.cs index 5721cda..9072653 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiComplMapSceneObjInst.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiComplMapSceneObjInst.cs @@ -3,12 +3,53 @@ /// /// Complex scenery object instace data - relating to nightlights, active use... /// + /// TComplMapScenObjInst public class OmsiComplMapSceneObjInst : OmsiComplMapObjInst { public OmsiComplMapSceneObjInst() : base() { } internal OmsiComplMapSceneObjInst(Memory omsiMemory, int baseAddress) : base(omsiMemory, baseAddress) { } - //TODO: OmsiComplMapSceneObjInst + + public float NightLightA + { + get => Memory.ReadMemory(Address + 0x258); + set => Memory.WriteMemory(Address + 0x258, value); + } + public float InUse + { + get => Memory.ReadMemory(Address + 0x25c); + set => Memory.WriteMemory(Address + 0x25c, value); + } + public float SwitchPos + { + get => Memory.ReadMemory(Address + 0x260); + set => Memory.WriteMemory(Address + 0x260, value); + } + public float NightLightStart + { + get => Memory.ReadMemory(Address + 0x264); + set => Memory.WriteMemory(Address + 0x264, value); + } + public float NightLightEnd + { + get => Memory.ReadMemory(Address + 0x268); + set => Memory.WriteMemory(Address + 0x268, value); + } + public float NightLightBrightnessLimit + { + get => Memory.ReadMemory(Address + 0x26c); + set => Memory.WriteMemory(Address + 0x26c, value); + } + public bool AlignTerrain + { + get => Memory.ReadMemory(Address + 0x270); + set => Memory.WriteMemory(Address + 0x270, value); + } + public int Ampel + { + get => Memory.ReadMemory(Address + 0x274); + set => Memory.WriteMemory(Address + 0x274, value); + } } } \ No newline at end of file diff --git a/OmsiHook/WrappedOmsiClasses/OmsiComplObj.cs b/OmsiHook/WrappedOmsiClasses/OmsiComplObj.cs index 8e3e534..92038b2 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiComplObj.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiComplObj.cs @@ -20,6 +20,7 @@ public bool Lighting_Human set => Memory.WriteMemory(Address + 0x4, value); } // TODO: Check this data type, should be a TStringList + // https://github.com/space928/Omsi-Extensions/issues/129 /*public string[] FileText { get => Memory.ReadMemoryStringArray(Address + 0x8); @@ -65,11 +66,13 @@ public MemArrayList Meshes get => new(Memory, Address + 0x38); } /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/129 public OmsiTexChangeMaster[] TexChangeMasters { get => Memory.ReadMemoryObjArray(Address + 0x3c); }*/ /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/129 public OmsiMatlChangeMaster[] TexChangeMasters { get => Memory.ReadMemoryObjArray(Address + 0x40); @@ -92,6 +95,7 @@ public MemArrayOList Spots get => new(Memory, Address + 0x50); } /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/129 public MemArrayList CTCs { get => new(Memory, Address + 0x54); @@ -155,6 +159,7 @@ public bool GotAllTerrainHoles set => Memory.WriteMemory(Address + 0xb4, value); } /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/129 public OmsiTessPolygon[] TerrainHoles { get => Memory.ReadMemoryStructArray(Address + 0xb8); diff --git a/OmsiHook/WrappedOmsiClasses/OmsiComplObjInst.cs b/OmsiHook/WrappedOmsiClasses/OmsiComplObjInst.cs index e20331e..4a0caae 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiComplObjInst.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiComplObjInst.cs @@ -77,11 +77,12 @@ public MemArrayPtr PublicVars { get => new(Memory, Memory.ReadMemory(Address + 0x28)); } - public MemArray StringVars + public MemArrayString StringVars { - get => new(Memory, Address + 0x2c, false); + get => new(Memory, Address + 0x2c, true, false); } /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/130 public OmsiChangeTex[] ChangeTexs { get => Memory.ReadMemoryObjArray(Address + 0x30); @@ -95,6 +96,7 @@ public OmsiChangeMatl[] ChangeMatls get => Memory.ReadMemoryObjArray(Address + 0x38); }*/ /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/130 /// /// Array of Smoke Instances /// @@ -115,6 +117,7 @@ public bool OFTTexturesLoaded set => Memory.WriteMemory(Address + 0x44, value); } /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/130 public iDirect3DTexture9[] OFTTextures { get => Memory.ReadMemoryObjArray(Address + 0x48); @@ -156,6 +159,7 @@ public MemArrayList AnimSubMeshInsts get => new(Memory, Address + 0xe0); } /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/130 public OmsiInteriorLightInst[] AnimSubMeshInsts { get => Memory.ReadMemoryObjArray(Address + 0xe4); @@ -166,6 +170,7 @@ public uint LastSkinCalc set => Memory.WriteMemory(Address + 0xe8, value); } /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/130 public D3DMatrix[] AnimMatrixes { get => Memory.ReadMemoryStructArray(Address + 0xec); diff --git a/OmsiHook/WrappedOmsiClasses/OmsiDynHelperMan.cs b/OmsiHook/WrappedOmsiClasses/OmsiDynHelperMan.cs index b5e1a0c..7452ffc 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiDynHelperMan.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiDynHelperMan.cs @@ -22,6 +22,7 @@ public OmsiComplMapSceneObjInst[] HelperPoses get => Memory.ReadMemoryObjArray(Address + 0x8); } // TODO: Implement OmsiCriticalSectionInternal + //https://github.com/space928/Omsi-Extensions/issues/131 /*public OmsiCriticalSection CriticalSection { get => Memory.ReadMemory(Address + 0xc); diff --git a/OmsiHook/WrappedOmsiClasses/OmsiFileTerrain.cs b/OmsiHook/WrappedOmsiClasses/OmsiFileTerrain.cs index 810d30f..67ea387 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiFileTerrain.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiFileTerrain.cs @@ -11,11 +11,12 @@ internal OmsiFileTerrain(Memory memory, int address) : base(memory, address) { } /*TODO: This looks like a 61x61 array of floats representing height + an additional float/int * It's not correctly defined in IDR so dissassembly is required to work out how to use it. + * https://github.com/space928/Omsi-Extensions/issues/132 public float[] Elevs { get => Memory.ReadMemoryStruct(Address + 0x4); }*/ - /*public ? Inactive + /*public ? Inactive // Size = 3600 Bytes ~ 60x60 bytes? { get => Memory.ReadMemory(Address + 0x3a2c); set => Memory.WriteMemory(Address + 0x3a2c, value); diff --git a/OmsiHook/WrappedOmsiClasses/OmsiFileWater.cs b/OmsiHook/WrappedOmsiClasses/OmsiFileWater.cs index 06360d1..235dca1 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiFileWater.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiFileWater.cs @@ -10,5 +10,6 @@ public OmsiFileWater() : base() { } internal OmsiFileWater(Memory memory, int address) : base(memory, address) { } //TODO: OmsiFileWater + // https://github.com/space928/Omsi-Extensions/issues/133 } } \ No newline at end of file diff --git a/OmsiHook/WrappedOmsiClasses/OmsiMap.cs b/OmsiHook/WrappedOmsiClasses/OmsiMap.cs index 5c1f635..5ae1ebd 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiMap.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiMap.cs @@ -102,6 +102,7 @@ public OmsiMaterialProp Water_Matl get => Memory.MarshalStruct( Memory.ReadMemory(Address + 0x3c)); //TODO: set => Memory.WriteMemory(Address + 0x3c, value); + //https://github.com/space928/Omsi-Extensions/issues/134 } public int LoadedKacheln @@ -149,6 +150,7 @@ public float Acct_TrafficDensity_Road /*TODO: public OmsiThreadTileLoadAndRefresh ThreadTileLoadAndRefresh => omsiMemory.ReadMemory(baseAddress + 0x114);*/ + //https://github.com/space928/Omsi-Extensions/issues/134 public OmsiMapKachel[] Kacheln => Memory.ReadMemoryObjArray(Address + 0x118); @@ -278,6 +280,7 @@ public float WellenAnimation //TODO: This is meant to be an array of pointers to floats, which can't be marshalled yet //public float[] WellenAnimation_P => Memory.ReadMemoryStructArray(Address + 0x190); + //https://github.com/space928/Omsi-Extensions/issues/134 public OmsiStringList Registers => Memory.ReadMemoryObject(Address, 0x194, false); @@ -294,6 +297,7 @@ public OmsiAIList AIList Memory.ReadMemory(Address + 0x1a4)); //TODO: set => Memory.WriteMemory(Address + 0x1a4, value); }*/ + //https://github.com/space928/Omsi-Extensions/issues/134 public float MaxSpeed { @@ -356,5 +360,6 @@ public D3DMatrix TexMatrix_LM get => Memory.ReadMemory(Address + 0x254); set => Memory.WriteMemory(Address + 0x254, value); }*/ + //https://github.com/space928/Omsi-Extensions/issues/134 } } diff --git a/OmsiHook/WrappedOmsiClasses/OmsiMapKachel.cs b/OmsiHook/WrappedOmsiClasses/OmsiMapKachel.cs index ba0dd96..e5be45f 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiMapKachel.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiMapKachel.cs @@ -20,6 +20,7 @@ public OmsiCriticalSection CS_NearObjectsSplines { get => new(Memory, Memory.ReadMemory(Address + 0xc)); } + https://github.com/space928/Omsi-Extensions/issues/135 */ public string Filename { @@ -148,5 +149,6 @@ public bool Trees_Refreshed public OmsiKachelForest MyForest => Memory.ReadMemoryObject(Address, 0x84, false); public OmsiKachelForest MyScrubs => Memory.ReadMemoryObject(Address, 0x88, false); //TODO: Many more... + // https://github.com/space928/Omsi-Extensions/issues/135 } } \ No newline at end of file diff --git a/OmsiHook/WrappedOmsiClasses/OmsiPathManager.cs b/OmsiHook/WrappedOmsiClasses/OmsiPathManager.cs index 8dc5e42..47b937a 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiPathManager.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiPathManager.cs @@ -21,6 +21,7 @@ public OmsiPathPoint[] PathPoints { get => new OmsiPathPoint(Memory, Memory.ReadMemory(Address + 0xc)); }*/ + //https://github.com/space928/Omsi-Extensions/issues/136 public int LinkCounter { get => Memory.ReadMemory(Address + 0x10); diff --git a/OmsiHook/WrappedOmsiClasses/OmsiPhysObj.cs b/OmsiHook/WrappedOmsiClasses/OmsiPhysObj.cs index 519a3d0..1437b57 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiPhysObj.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiPhysObj.cs @@ -83,7 +83,7 @@ public float X_R * █▀▄▀█ █ █▀ █▀ █ █▄░█ █▀▀   █▀▄ ▄▀█ ▀█▀ ▄▀█ * █░▀░█ █ ▄█ ▄█ █ █░▀█ █▄█   █▄▀ █▀█ ░█░ █▀█ * 0xF4 - 0x153 UNKNOWN DATA - * + * https://github.com/space928/Omsi-Extensions/issues/137 */ public bool Fest @@ -131,18 +131,16 @@ public string CollMesh_FileName get => Memory.ReadMemoryString(Address + 0x168); // ANSI STRING set => Memory.WriteMemory(Address + 0x168, value); } - /* TODO: - public DVector3Ptr CollMesh_Vertices + public D3DVector CollMesh_Vertices { - get => Memory.ReadMemory(Address + 0x16c); - set => Memory.WriteMemory(Address + 0x16c, value); - }*/ - /* TODO: - public IntPtr CollMesh_Indices + get => Memory.ReadMemory(Memory.ReadMemory(Address + 0x16c)); + set => Memory.WriteMemory(Memory.ReadMemory(Address + 0x16c), value); + } + public int CollMesh_Indices { - get => Memory.ReadMemory(Address + 0x170); - set => Memory.WriteMemory(Address + 0x170, value); - }*/ + get => Memory.ReadMemory(Memory.ReadMemory(Address + 0x170)); + set => Memory.WriteMemory(Memory.ReadMemory(Address + 0x170), value); + } public short CollMesh_Vertex_Cnt { get => Memory.ReadMemory(Address + 0x174); diff --git a/OmsiHook/WrappedOmsiClasses/OmsiPhysObjInst.cs b/OmsiHook/WrappedOmsiClasses/OmsiPhysObjInst.cs index f7d9860..e113879 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiPhysObjInst.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiPhysObjInst.cs @@ -14,6 +14,7 @@ public OmsiPhysObjInst() : base() { } * PdxGeom PH_MainGeomTrafo; 0x13c * PdxGeom PH_MainGeom; 0x140 * Cardinal mast_joint; 0x144 + * https://github.com/space928/Omsi-Extensions/issues/138 */ public D3DVector Mast_BasePoint @@ -68,6 +69,7 @@ public float CrashMode_Mast_GES { get => omsiMemory.ReadMemory(omsiMemory.ReadMemory(baseAddress + 0x170)); set => omsiMemory.WriteMemory(baseAddress + 0x170, value); + https://github.com/space928/Omsi-Extensions/issues/138 }*/ public D3DVector Velocity diff --git a/OmsiHook/WrappedOmsiClasses/OmsiProgMan.cs b/OmsiHook/WrappedOmsiClasses/OmsiProgMan.cs index 5dc27fa..d7cd13b 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiProgMan.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiProgMan.cs @@ -37,11 +37,13 @@ public bool HoverPaths set => Memory.WriteMemory(Address + 0x7, value); } /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/139 public OmsiAudioMixer AudioMixer { get => new(Memory, Memory.ReadMemory(Address + 0x8)); }*/ /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/139 public D3DText Text2D_Hinweise_V { get => new(Memory, Memory.ReadMemory(Address + 0xc)); @@ -60,6 +62,7 @@ public D3DVector MapCamTargetPos set => Memory.WriteMemory(Address + 0x18, value); } /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/139 public OmsiThreadCheckMissingScheduledAIVehicles ThreadCheckMissingScheduledAIVehicles { get => new(Memory, Memory.ReadMemory(0x24)); @@ -300,6 +303,7 @@ public OmsiDynHelperMan DynHelperMan get => Memory.ReadMemoryObject(Address, 0x174, false); } /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/139 public OmsiSplineObject PathHelperSplines { get => new(Memory, Memory.ReadMemory(0x178)); diff --git a/OmsiHook/WrappedOmsiClasses/OmsiRoadVehicleInst.cs b/OmsiHook/WrappedOmsiClasses/OmsiRoadVehicleInst.cs index c8a5c8d..2a86fbc 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiRoadVehicleInst.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiRoadVehicleInst.cs @@ -10,6 +10,7 @@ public class OmsiRoadVehicleInst : OmsiVehicleInst internal OmsiRoadVehicleInst(Memory omsiMemory, int baseAddress) : base(omsiMemory, baseAddress) { } public OmsiRoadVehicleInst() : base() { } /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/140 public OmsiCriticalSection CS_Ticket_Items { get => Memory.ReadMemory(Address + 0x6f0); @@ -324,41 +325,49 @@ public int KollType set => Memory.WriteMemory(Address + 0x884, value); } public float CoupleForce // TODO: Check DataType + //https://github.com/space928/Omsi-Extensions/issues/140 { get => Memory.ReadMemory(Address + 0x888); set => Memory.WriteMemory(Address + 0x888, value); } public int Unknown_A // TODO: Check Value + //https://github.com/space928/Omsi-Extensions/issues/140 { get => Memory.ReadMemory(Address + 0x88c); set => Memory.WriteMemory(Address + 0x88c, value); } public int Unknown_B // TODO: Check Value + //https://github.com/space928/Omsi-Extensions/issues/140 { get => Memory.ReadMemory(Address + 0x890); set => Memory.WriteMemory(Address + 0x890, value); } public int Unknown_C // TODO: Check Value + //https://github.com/space928/Omsi-Extensions/issues/140 { get => Memory.ReadMemory(Address + 0x894); set => Memory.WriteMemory(Address + 0x894, value); } public int Unknown_D // TODO: Check Value + //https://github.com/space928/Omsi-Extensions/issues/140 { get => Memory.ReadMemory(Address + 0x898); set => Memory.WriteMemory(Address + 0x898, value); } public int Unknown_E // TODO: Check Value + //https://github.com/space928/Omsi-Extensions/issues/140 { get => Memory.ReadMemory(Address + 0x89c); set => Memory.WriteMemory(Address + 0x89c, value); } public float CoupleMomentTorsion // TODO: Check DataType + //https://github.com/space928/Omsi-Extensions/issues/140 { get => Memory.ReadMemory(Address + 0x8a0); set => Memory.WriteMemory(Address + 0x8a0, value); } public float Unknown_F // TODO: Check Value + //https://github.com/space928/Omsi-Extensions/issues/140 { get => Memory.ReadMemory(Address + 0x8a4); set => Memory.WriteMemory(Address + 0x8a4, value); diff --git a/OmsiHook/WrappedOmsiClasses/OmsiSoundPack.cs b/OmsiHook/WrappedOmsiClasses/OmsiSoundPack.cs index 7587589..04c1ecd 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiSoundPack.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiSoundPack.cs @@ -9,6 +9,7 @@ internal OmsiSoundPack(Memory omsiMemory, int baseAddress) : base(omsiMemory, ba public OmsiSoundPack() : base() { } /*public DirectSound8 Device + * https://github.com/space928/Omsi-Extensions/issues/141 { get => Memory.ReadMemory(Address + 0x4); set => Memory.WriteMemory(Address + 0x4, value); @@ -42,7 +43,8 @@ public float RefRange get => Memory.ReadMemory(Address + 0x1c); set => Memory.WriteMemory(Address + 0x1c, value); } - /* TODO: + /* TODO: // Ptr->ptr[]->float + * https://github.com/space928/Omsi-Extensions/issues/141 public floatptr[] Vars { get => Memory.ReadMemoryStructArray(Address + 0x20); diff --git a/OmsiHook/WrappedOmsiClasses/OmsiSplineSegment.cs b/OmsiHook/WrappedOmsiClasses/OmsiSplineSegment.cs index 329a995..3f9015a 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiSplineSegment.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiSplineSegment.cs @@ -10,5 +10,6 @@ public OmsiSplineSegment() { } internal OmsiSplineSegment(Memory omsiMemory, int baseAddress) : base(omsiMemory, baseAddress) { } //TODO: OmsiSplineSegment + //https://github.com/space928/Omsi-Extensions/issues/142 } } diff --git a/OmsiHook/WrappedOmsiClasses/OmsiVehicleInst.cs b/OmsiHook/WrappedOmsiClasses/OmsiVehicleInst.cs index 6faedce..cc093a7 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiVehicleInst.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiVehicleInst.cs @@ -9,6 +9,7 @@ internal OmsiVehicleInst(Memory omsiMemory, int baseAddress) : base(omsiMemory, public OmsiVehicleInst() : base() { } //TODO: + //https://github.com/space928/Omsi-Extensions/issues/131 /*public OmsiCriticalSection CS_AI_BusStopData { get => Memory.ReadMemory(Address + 0x4f0); diff --git a/OmsiHook/WrappedOmsiClasses/OmsiWeather.cs b/OmsiHook/WrappedOmsiClasses/OmsiWeather.cs index 8c6ba9b..321ca4c 100644 --- a/OmsiHook/WrappedOmsiClasses/OmsiWeather.cs +++ b/OmsiHook/WrappedOmsiClasses/OmsiWeather.cs @@ -11,6 +11,7 @@ internal OmsiWeather(Memory omsiMemory, int baseAddress) : base(omsiMemory, base public OmsiWeather() : base() { } //Todo: WeatherSchemes - OmsiWeatherProp[] @ 0x4 + //https://github.com/space928/Omsi-Extensions/issues/143 public OmsiWeatherProp ActWeather { @@ -112,6 +113,7 @@ public byte CloudCat } /*TODO: + * https://github.com/space928/Omsi-Extensions/issues/143 * public OmsiPartikelemitter PercipSystem { get => omsiMemory.ReadMemory(baseAddress + 0xd4); @@ -161,6 +163,7 @@ public bool WetGround set => Memory.WriteMemory(Address + 0x148, value); } /* TODO: + * https://github.com/space928/Omsi-Extensions/issues/143 public OmsiSound PercipSound { get => omsiMemory.ReadMemory(baseAddress + 0x14c); diff --git a/OmsiHookRPCPlugin/OmsiHookRPCPlugin.cs b/OmsiHookRPCPlugin/OmsiHookRPCPlugin.cs index 378b1f3..ff2ee82 100644 --- a/OmsiHookRPCPlugin/OmsiHookRPCPlugin.cs +++ b/OmsiHookRPCPlugin/OmsiHookRPCPlugin.cs @@ -127,6 +127,7 @@ private static void ServerThreadStart(int threadId) pipeRX.WaitForConnection(); Log($"[RPC Server {threadId}] Client has connected to rx."); // TODO: There's still a race condition here for some reason... Sometimes the client connects to the rx of one thread and the tx of another. + // https://github.com/space928/Omsi-Extensions/issues/108 using NamedPipeServerStream pipeTX = new(PIPE_NAME_TX, PipeDirection.Out, MAX_CLIENTS, PipeTransmissionMode.Byte); pipeTX.WaitForConnection(); Log($"[RPC Server {threadId}] Client has connected to tx."); diff --git a/_OmsiHookExamples/BasicCLI/BasicCLI.csproj b/_OmsiHookExamples/BasicCLI/BasicCLI.csproj index c66fed0..ca5aa00 100644 --- a/_OmsiHookExamples/BasicCLI/BasicCLI.csproj +++ b/_OmsiHookExamples/BasicCLI/BasicCLI.csproj @@ -10,7 +10,7 @@ - + diff --git a/_OmsiHookExamples/ClickablePlaneDemo/ClickablePlaneDemo.csproj b/_OmsiHookExamples/ClickablePlaneDemo/ClickablePlaneDemo.csproj index 12bb377..be4be2e 100644 --- a/_OmsiHookExamples/ClickablePlaneDemo/ClickablePlaneDemo.csproj +++ b/_OmsiHookExamples/ClickablePlaneDemo/ClickablePlaneDemo.csproj @@ -10,7 +10,7 @@ - + diff --git a/_OmsiHookExamples/EventSample/EventSample.csproj b/_OmsiHookExamples/EventSample/EventSample.csproj index 1b40390..9d9a8fd 100644 --- a/_OmsiHookExamples/EventSample/EventSample.csproj +++ b/_OmsiHookExamples/EventSample/EventSample.csproj @@ -11,7 +11,7 @@ - + diff --git a/_OmsiHookExamples/TriggersSample/TriggersSample.csproj b/_OmsiHookExamples/TriggersSample/TriggersSample.csproj index 1ee32ba..675fe26 100644 --- a/_OmsiHookExamples/TriggersSample/TriggersSample.csproj +++ b/_OmsiHookExamples/TriggersSample/TriggersSample.csproj @@ -11,7 +11,7 @@ - + diff --git a/_OmsiHookExamples/VideoDemo/VideoDemo.csproj b/_OmsiHookExamples/VideoDemo/VideoDemo.csproj index a9498e9..d4322be 100644 --- a/_OmsiHookExamples/VideoDemo/VideoDemo.csproj +++ b/_OmsiHookExamples/VideoDemo/VideoDemo.csproj @@ -12,7 +12,7 @@ - +