Releases: ClonkAndre/IV-SDK-DotNet
Releases · ClonkAndre/IV-SDK-DotNet
Version 1.8
Changelog
Additions
- Added “IVPickup”, “IVEpisodes”, “ImTexture” and “ImGuiIV_HexEditorState” classes.
- Added “ImGuiIV_HexEditorHighlightRange” struct.
- Added “eAudPlayerRadioStates”, “eImGuiHexEditorHighlightFlags” and “eImGuiHexEditorClipboardFlags” enums.
- Added “IVNativeCallContext”, “IVNativeContext” and “IVNativeInvoke” classes to “IVSDKDotNet.Native” namespace.
- Added “OnRegisterNative”, “OnRegisterNativeNoChecks” and “OnIsNetworkGameRunning” events to “GameHooks” class.
- Added native “FIND_NETWORK_KILLER_OF_PLAYER”.
- Added “FringeScale” property to “ImGuiIV_DrawingContext” struct.
- Added “ForcedEpisode” and “MenuState” properties to “IVGame” class.
- Added “IsGameRestarting” function to “IVGame” class.
- Added “Unmount”, “SetPath” and “SetMountPath” functions to “IVFiDevice” class.
- Added “RadioState”, “RadioState2”, “CurrentRadioStationIndexPriority” and “StationIndex” properties to “IVAudRadioAudioEntity” class.
- Added “FromUIntPtr” and “GetUIntPtr” functions to “IVAudRadioAudioEntity” and “IVFiDevice” classes.
- Added “GetScriptStorePool” function to “IVPools” class.
- Added “ForceNoAbort” and “SaveSettingsOnUnload” properties to “Script” class.
- Added overload to “CreateTextureFromFile” and “CreateTextureFromMemory” functions within “ImGuiIV” class which return a “ImTexture” instance.
- Added “RegisterNative”, “RegisterNativeNoChecks” and “GetNameOfCurrentScript” functions to “IVTheScripts” class.
- Added “BeginHexEditor” and “EndHexEditor” functions to “ImGuiIV” class.
- Added “WasImGuiInitialized”, “CanDraw” and “DisableControllerInput” properties to “ImGuiIV” class.
- Added “GetPosition”, “GetRight”, “GetForward” and “GetUp” function to “IVMatrix” class.
- Added “Shutdown”, “Reset”, “CreateTemporaryRadarBlipsForPickupsInArea” and “RemoveTemporaryRadarBlipsForPickups” functions to “IVPickups” class.
- Added “CloseImageFile”, “CloseAllImages”, “GetImageFileName” and “GetImageFileHandle” functions to “IVCDStream” class.
- Added “GetUInteger”, “SetUInteger”, “GetDouble” and “SetDouble” functions to “SettingsFile” class.
- Added “LogEx”, “LogDebugEx”, “LogWarningEx” and “LogErrorEx” functions to “Logger” class.
- Added “PrintEx”, “PrintDebugEx”, “PrintWarningEx” and “PrintErrorEx” functions to “IVGame.Console” class.
- Added Vector3 overload to natives: “SET_CHAR_VELOCITY”.
- Added “EnableAutomaticUpdateCheck” setting to the IV-SDK .NET settings file.
- Added possible solutions to common script exceptions which show in the top-left notification (And in the console).
- Added “SpeedAttribute” and “RangeAttribute” field attributes to “Attributes” namespace.
- Added “ScriptStorePool” to “ePool” enum.
- Added “Invalid” and “NATIVE_RESET_LATEST_CONSOLE_COMMAND” to “eNativeHash” enum.
Changes
- Changed the way the “SettingsFile” class parses value types such as “Int”, “Float”, “Vector3” etc. The parsing is now more failsafe, and will now return the default value instead of throwing an error.
- Changed return type of the “AddImage” function within the “IVCDStream” class from a “void” to a “int”.
- Expanded the “ePickupType” enum.
- The settings file of scripts will now be saved when allowed on script unloads or when the game closes.
- Updated XML comments.
Fixes
- Fixed not being able to move mouse cursor when you toggle it using “CTRL + F8” (default key).
Deletions
- Removed the MessageBox that would pop up when calling the “IVTheScripts.SetGlobal(int, string)” function.
ScriptHookDotNet Interface
- Added the classic ScriptHookDotNet notifications which show up at the upper-left corner of the screen.
Plugin Interface
- Added “GetManagerInstance” function to “ManagerPlugin” class.
- Added “ForceNoAbort” property to “ManagerPlugin” class.
- Added “PluginResourceFolder” property to “ManagerPlugin” class.
- Added “Tick”, “GameLoad”, “GameLoadPriority”, “MountDevice”, “OnImGuiGlobalRendering”, “OnShutdown”, “OnScriptAbort”, “OnScriptLoad”, “OnBeforeScriptsReload” and “OnAfterScriptsReload” events to “ManagerPlugin” class.
Version 1.7
Changelog
- Added plugin system for the IV-SDK .NET Manager. Check out the wiki to find more about plugins (https://github.com/ClonkAndre/IV-SDK-DotNet/wiki/Plugins).
- Added “IVPedIntelligence”, “IVPedIntelligenceNY”, “IVPedTasks” and “IVPedFlags4” classes.
- Added “IVControlledByInfo” struct.
- Added “OnRenderCorona”, “OnGetTrafficLightState1” and “OnGetTrafficLightState2” events to “GameHooks” class.
- Added “RenderCorona" function to “IVShadows” class (This function will probably be moved somewhere else in the future).
- Added “eTimeCycleParam” and “eTrafficLightState” enums.
- Added “GetSingleTimeCycleParameter” and “SetSingleTimeCycleParameter” functions to “IVTimeCycle” class.
- Added “DeletePed” function to “IVPedFactoryNY” class.
- Added “DeleteVehicle” function to “IVVehicleFactoryNY” class.
- Added “IsSimple” and “GetTaskType” functions to “IVTask” class.
- Added natives: “IS_SNIPER_BULLET_IN_AREA” and “GET_CAM_STATE”.
- Added Vector3 overload to natives: “IS_BULLET_IN_AREA”, “IS_BULLET_IN_BOX”, “IS_PROJECTILE_IN_AREA” and “CREATE_MISSION_TRAIN”.
- Added Color overload to native: “UPDATE_PTFX_TINT”.
- Added new overload to “BeginPopupContextItem” function in “ImGuiIV” class.
- Added new overload to “CreatePed” function in “IVPedFactoryNY” class.
- Added new overload to “CreateVehicle” function in “IVVehicleFactoryNY” class.
- Added new overload to “GetAddress” function in “Patterns” class within the “Hooking” namespace.
- Changed the paramater type(s) of natives: “IS_STREAMING_ADDITIONAL_TEXT”, “STOP_PTFX”, “EVOLVE_PTFX”, “SHUTDOWN_AND_LAUNCH_NETWORK_GAME” and “CREATE_MISSION_TRAIN” to be an integer instead of an unsigned integer.
- Changed the parameter type of function “CreatePed” within “IVPedFactoryNY” class to be “IVControlledByInfo” instead of “IVSpawnData”.
- Renamed property “_f3” from “IVPedFlags2” class to “IsWantedByPolice”.
- Renamed property “_f5” from “IVPedFlags2” class to “IsDruggedUp”.
- Renamed property “_f13” from “IVPedFlags2” class to “IsEnemy”.
- Renamed property “_f14” from “IVPedFlags” class to “IsBleeding”.
- Removed “IVSpawnData” struct in favor of the “IVControlledByInfo” struct.
- Fixed the “ImGuiIV.IsKeyXXX” functions not working unless there is an active ImGui window opened.
- Fixed mouse cursor jumping back and forth when resolution was not 1920x1080.
- The “DoNotLoadLegacyScripts” option in the IV-SDK .NET settings file is now set to “false” by default.
- The “PedIntelligence” property of the “IVPed” class now returns a new instance of the “IVPedIntelligenceNY” class.
- The “PedIntelligence” pool can now be accessed.
- The IV-SDK .NET Inspector now shows fields which are of type: “System.Collections.Generic.List” and “System.Collections.Generic.Dictionary<TKey,TValue>” (It also shows the content of those collections)
- Updated XML comments.
Version 1.6
Changelog
- Added “ExcludeFromJsonSerializationAttribute” and “ReadOnlyInInspectorAttribute” field attributes to “Attributes” namespace.
- Added “IVStore” and “IVTimeInfo” classes.
- Added “eStoreType” enum.
- Added Vector2 overload to native: “GET_MOUSE_POSITION”.
- Added “Point” overload to natives: “GET_MOUSE_INPUT” and “GET_KEYBOARD_MOVE_INPUT”. (A “Point” is basically a Vector2 but with integers instead of floats)
- Added overload to the “StoreStaticShadow” function within the “IVShadows” class which allows you to set a custom id to the light.
- Added “FromUIntPtr” and “GetUIntPtr” functions to “IVBaseModelInfo”, “IVPhArchetypeGta” and “IVGtaFragType” classes.
- Added “GetTimeInfo” function to “IVBaseModelInfo” class.
- Added “GetIndexFromHashKey” and “GetModelInfoFromIndex” functions to “IVModelInfo” class.
- Added “IVSDKDotNet.Hooking” namespace.
- Added “GameHooks” class which can be found within the “IVSDKDotNet.Hooking” namespace.
- Added Hooking.Patterns library by ThirteenAG and made a simple managed wrapper for it which can be accessed through the “Patterns” class within the “IVSDKDotNet.Hooking” namespace.
- Added ability to reload a single script via the IV-SDK .NET Manager.
- Changed the out-parameter of the native: “GET_MOUSE_POSITION” to be a float instead of an integer.
- Fixed not being able to interact with any ImGui window using the mouse when launched via Steam.
- The IV-SDK .NET Inspector now shows fields which are of type: “System.Drawing.Size”, “System.Drawing.SizeF”, “System.Drawing.Point” and “System.Drawing.PointF”.
- Made the ImGui window input less clunky. Meaning that, the character no longer starts shooting randomly. When a textbox is loosing focus, it will no longer make the cursor jump to the center of the screen and lastly, the camera will no longer randomly rotate.
Version 1.5
I couldn't help myself.
Changelog
- Added controller navigation support for ImGui windows.
- Added “AddSceneLight” function to “IVShadows” class.
- Added “IsWindowAppearing”, “IsWindowCollapsed”, “IsWindowHovered”, “CalcTextSize”, ”DoesAnyWindowHasThisAdditionalFlag”, “AddFontFromMemory” and “GetIO” functions to “ImGuiIV” class.
- Added incomplete “ImGuiIV_IO” struct.
- Added “eLightType”, “eLightFlags” and “eImGuiMouseSource” enum.
- Added “FromUIntPtr” and “GetUIntPtr” function to “IVPhoneInfo” and “IVTexture2D” class.
- Added “SleepMode” property to “IVPhoneInfo” class.
- Added new* “PedFlags2” property to “IVPed” class.
- Added “GET_RANDOM_WATER_NODE”, “GET_NTH_CLOSEST_WATER_NODE_WITH_HEADING”, “SET_CHAR_WILL_TRY_TO_LEAVE_WATER”, “GET_CHAR_WILL_TRY_TO_LEAVE_WATER”, “LOAD_TXD”, “GET_TXD” and “SEND_HOST_BROADCAST_VARIABLES_NOW" natives.
- Added Vector3 overload to native: “FIRE_SINGLE_BULLET”.
- Changed the return type of the “GET_INT_STAT” native to be an integer instead of an unsigned integer.
- Changed the paramater type(s) of natives “GET_FLOAT_STAT”, “SET_FLOAT_STAT”, “GET_INT_STAT”, “SET_INT_STAT”, “DECREMENT_INT_STAT”, “INCREMENT_FLOAT_STAT_NO_MESSAGE”, “INCREMENT_INT_STAT” and “INCREMENT_INT_STAT_NO_MESSAGE” to be an integer instead of an unsigned integer.
- Expanded the “IVPedFlags” and “IVPedFlags2” class.
- Fixed the “ProcessLineOfSight" function within the “IVWorld” class.
- *Renamed previously named property “PedFlags2” to “PedFlags3” in “IVPed” class.
- Renamed property “_f1E4” from “IVPhoneInfo” class to “DisablePhone”.
- Renamed property “_f1A4” from “IVPhoneInfo” class to “PhoneType”.
- Renamed the “TooltipAttribute” to “HelpMarkerAttribute” within the “Attributes” namespace.
- Removed the “StoreStaticShadowAdvanced” function from “IVShadows” class in favour of the new “AddSceneLight” function which is basically the same just less restrictive.
- Removed “eExplosionType” enum as its obsolete and the “eExplosion” enum is more complete.
- Removed all event execution time properties from “Script” class.
- When GTA IV closes, IV-SDK .NET should now properly clean up everything.
Version 1.4
Changelog
- Added “ForcedWind” property to “IVWeather” class.
- Added “Teleport” and “Wiki” console commands.
- Added natives: “GET_ASPECT_RATIO”, “GET_NAVMESH_ROUTE_RESULT”, “SET_DANCE_SHAKE_ACTIVE_THIS_UPDATE”, “SET_DANCE_SHAKE_INACTIVE_IMMEDIATELY”, “GET_STREAM_BEAT_INFO” and “SET_HELP_MESSAGE_BOX_SIZE_F”.
- Added Vector3 overload to natives: “CREATE_CHECKPOINT”, “GET_NAME_OF_INFO_ZONE” and “GET_NAME_OF_ZONE”.
- Added “FromUIntPtr” and “GetUIntPtr” functions to “IVPedWeapons” class.
- Added “GetUIntPtr” function to “IVVehicleWheel” class.
- Added “eResult”, “eImGuiTableColumnFlags”, “eImGuiHoveredFlags”, “eImGuiWindowFlagsEx” and “eImGuiFocusedFlags” enums.
- Added “GetSectionNames” and “GetValueNames” functions to “SettingsFile” class.
- Added “ImGuiIV_Style”, “ImGuiIV_Payload” and “ImGuiIV_InputTextState” structures.
- Added “TextUnformatted”, “IsItemActive”, “SetNextItemOpen”, “TableSetupColumn”, “TableHeadersRow”, “TreeNodeEx”, “GetStyle”, “IsTextureValid”, “IsThereAnyActiveWindow”, “GetActiveWindowCount”, “TempInputIsActive”, “GetActiveID”, “IsItemFocused”, “IsItemDeactivated”, “PushTabStop”, “PopTabStop”, “StyleColorsDark”, “StyleColorsClassic”, “StyleColorsLight”, “StyleLayoutDefault”, “WantsTextInput”, “GetCurrentWindow”, “SetActiveID”, “GetInputTextState”, “IsItemHovered”, “IsAnyItemHovered”, “PushTextWrapPos” and “PopTextWrapPos” functions to “ImGuiIV” class.
- Added new overloads to “Spacing”, “SeparatorEx”, “TableNextColumn”, “AcceptDragDropPayload”, “Begin”, “IsPopupOpen”, “IsWindowFocused” and “IsKeyPressed” functions in “ImGuiIV” class.
- Added “IsValid” property to “ImGuiIV_DrawingContext” struct.
- Added “ShowStaticFieldsInInspector” class attribute to “Attributes” namespace.
- Changed parameters of “BeginChild”, “CreateTextureFromFile”, ”CreateTextureFromMemory” and “ReleaseTexture” functions in “ImGuiIV” class.
- Changed the parameter type of the native “DELETE_CHECKPOINT” to be an integer instead of an unsigned integer.
- Changed the out-parameter of the natives: “GET_MAXIMUM_NUMBER_OF_PASSENGERS” and “GET_GROUP_SIZE” to be an integer instead of an unsigned integer.
- Changed the “SetGlobal” function which takes in a “String” to return a boolean now telling you if the string is too long, an unknown error occurred or if the global was set.
- Changed the parameter type of natives: “SET_GROUP_FOLLOW_STATUS”, “SET_GROUP_FORMATION”, “GET_GROUP_MEMBER”, “_TASK_FOLLOW_NAV_MESH_TO_COORD”, “_TASK_FOLLOW_NAV_MESH_TO_COORD_NO_STOP”, “REQUEST_ADDITIONAL_TEXT”, “HAS_THIS_ADDITIONAL_TEXT_LOADED” and “HAS_ADDITIONAL_TEXT_LOADED” to be an integer instead of an unsigned integer.
- Fixed LoaderLock warnings when starting GTA IV with a debugger attached.
- Expanded the “IVVehicleAutomobileFlags” class.
- Increased the default IV-SDK .NET font size a bit.
- Removed the “ActiveWindows” property from the “ImGuiIV” class.
- The IV-SDK .NET Inspector now shows fields which are of type “System.Drawing.Color”.
- The functions “AcceptDragDropPayload” and “GetDragDropPayload” within the “ImGuiIV” class now return a “ImGuiIV_Payload”.
- The function “GetWindowDrawList” within the “ImGuiIV” class now returns a “ImGuiIV_DrawingContext” struct.
- The native “CREATE_CHECKPOINT” is now documented (GitHub Issue #18).
- The console now auto-scrolls to the last item added if the cursor is not hovering over the console log.
- The console now shows you suggestions for console commands when you type in the console textbox.
- Updated the “eImGuiWindowFlags” and “eImGuiCol” enums.
- Updated the IV-SDK .NET Console and Manager.
- If the IV-SDK .NET Manager fails to initialize, there will now actually be a log file created within the main directory of GTA IV with the details on why it failed.
Version 1.3
Changelog
- Added 2 new overloads for “SendScriptCommand” function within “Script” class.
- Added natives: “SET_PED_STEERS_AROUND_PEDS”, “GET_PED_STEERS_AROUND_PEDS”, “SET_PED_STEERS_AROUND_OBJECTS”, “GET_PED_STEERS_AROUND_OBJECTS”, “NETWORK_SEND_TEXT_CHAT”, “GET_NO_OF_PLAYERS_IN_TEAM”, “ADD_SPHERE”, “REMOVE_SPHERE” and “GET_TEXTURE”.
- Added “TextWithInlineColors” function to “ImGuiIV” class. Use like that: “This is a
ff0000test” where “test”, and everything after that would be drawn in red. - Added 1 new options in the IV-SDK .NET settings file which allows you to enable/disable the loading of ScriptHookDotNet mods.
- Added “ReplaceTextOfTextLabel” function to “IVText” class.
- Re-added “ConvertObjectToJsonString” and “ConvertJsonStringToObject” to “Helper” class. The manager uses Newtonsoft.Json anyway, so why not give the scripts the opportunity to use it aswell.
- Changed how console commands will be handled internally.
- Changed the parameter type of the native “CHANGE_GARAGE_TYPE” to be a String instead of an integer.
- Fixed “ImGui.GetKeyAnalogValue” function.
- Removed “Helper.Vector2Length” function.
- Removed “ReadSHDNModsFromDefaultLocation” setting from the IV-SDK .NET settings file as it was never used.
Version 1.2
Changelog
- Added experimental support for loading ScriptHookDotNet scripts.
- Added natives: “SET_AMMO_IN_CLIP”, “AWARD_ACHIEVEMENT”, “WAS_PED_KILLED_BY_HEADSHOT”, “GET_CHAR_LAST_DAMAGE_BONE”, “GET_ENGINE_HEALTH”, “GET_PETROL_TANK_HEALTH”, “GET_CHAR_MONEY”, “START_OBJECT_FIRE”, “ADD_POINT_TO_GPS_RACE_TRACK”, “GET_TIME_SINCE_PLAYER_DROVE_AGAINST_TRAFFIC”, “GET_TIME_SINCE_PLAYER_DROVE_ON_PAVEMENT”, “GET_TIME_SINCE_PLAYER_HIT_BUILDING”, “GET_TIME_SINCE_PLAYER_HIT_CAR”, “GET_TIME_SINCE_PLAYER_HIT_OBJECT”, “GET_TIME_SINCE_PLAYER_HIT_PED”, “GET_TIME_SINCE_PLAYER_RAN_LIGHT” and “GET_CONTROL_VALUE”.
- Added new “RadioButton” and “DragFloat/DragInt” overloads in “ImGuiIV” class.
- Added new “Combo” and “RenderDragDropTargetRect” function to “ImGuiIV” class.
- Added “ShowSubtitleMessageEx” function to “IVGame” class.
- Added “Hooks” class within the “IVSDKDotNet.Native” namespace with which you can intercept some natives.
- Added “IVPhoneInfo” class.
- Added “ePhoneState”, “eImGuiChildFlags” and “eTask” enums.
- Added “RegisterPhoneNumber” and “UnregisterPhoneNumber” functions to “Script” class. Custom cheats are possible thanks to that!
- Added 1 new option in the IV-SDK .NET settings file which allows you to change the style of ImGui.
- Added Quaternion overload to native: SET_OBJECT_QUATERNION.
- Added Vector2 overload to natives: “ROTATE_OBJECT” and “TURN_CAR_TO_FACE_COORD”.
- Added Vector3 overload to natives: “ATTACH_OBJECT_TO_PED”, “ATTACH_OBJECT_TO_PED_PHYSICALLY”, “ATTACH_OBJECT_TO_OBJECT”, “ATTACH_OBJECT_TO_CAR”, “APPLY_FORCE_TO_OBJECT”, “WARP_CHAR_FROM_CAR_TO_COORD”, “SET_MISSION_TRAIN_COORDINATES”, “PLAY_SOUND_FROM_POSITION”, “PLAY_FIRE_SOUND_FROM_POSITION”, “GET_SOUND_LEVEL_AT_COORDS”, “SET_STATE_OF_CLOSEST_DOOR_OF_TYPE”, “CREATE_RANDOM_CHAR”, “FIRE_PED_WEAPON”, “CREATE_RANDOM_FEMALE_CHAR”. “CREATE_RANDOM_MALE_CHAR”, “GET_CAR_DEFORMATION_AT_POS”, “DAMAGE_CAR” and “CREATE_PLAYER”.
- Added docking functionality for ImGui windows.
- Added “GetKeyAnalogValue” function to “ImGuiIV” class.
- Added “Clear” function to “SettingsFile” class.
- Added “TimerLength” property to “IVTimer” class.
- Added “TheGameConfigReader” property to “IVGameConfigReader” class.
- Added “FromUIntPtr” and “GetUIntPtr” function to “IVPad” class.
- Added functionality to change timecycle parameters on-the-fly by using the new “GetTimeCycleParams” function which can be accessed by using the also new “TheTimeCycle” property inside the “IVTimeCycle” class. Once again much thanks to akifle47 for finding the timecycle offsets and providing the TimeCycleParams structure!
- Added label to “Scripts” tab within the IV-SDK .NET Manager which shows when the scripts got last reloaded.
- Added “AddEllipse” and “AddEllipseFilled” functions to “ImGuiIV_DrawingContext” struct.
- Changed the “IVPedFlags”, “IVPhysicalFlags”, “IVVehicleWheelFlags”, “IVViewportData” and “IVWeaponFlags” to be classes so the properties inside them can be modified.
- Changed the return type of the “GET_SOUND_ID”, “GET_TIME_SINCE_LAST_ARREST”, “GET_TIME_SINCE_LAST_DEATH”, “GENERATE_RANDOM_INT_IN_RANGE” natives to be an integer instead of an unsigned integer.
- Changed the paramater type(s) of natives “STOP_SOUND”, “RELEASE_SOUND_ID”, “HAS_SOUND_FINISHED”, “SET_VARIABLE_ON_SOUND”, “_TASK_GOTO_CHAR_OFFSET”, “_TASK_PAUSE”, “GIVE_WEAPON_TO_CHAR", “REMOVE_WEAPON_FROM_CHAR”, “GET_AMMO_IN_CHAR_WEAPON”, “GET_CHAR_WEAPON_IN_SLOT”, “GET_AMMO_IN_CLIP”, “GET_CURRENT_CHAR_WEAPON”, “GET_MAX_AMMO”, “HAS_CHAR_BEEN_DAMAGED_BY_WEAPON”, “HAS_CHAR_GOT_WEAPON”, “_TASK_SWAP_WEAPON”, “ADD_AMMO_TO_CHAR”, “GET_MAX_AMMO_IN_CLIP”, “SET_CHAR_AMMO“, “SET_CURRENT_CHAR_WEAPON”, “HAS_CAR_BEEN_DAMAGED_BY_WEAPON”, “HAS_OBJECT_BEEN_DAMAGED_BY_WEAPON”, “ADD_ARMOUR_TO_CHAR” and “GENERATE_RANDOM_INT_IN_RANGE” to be an integer instead of an unsigned integer.
- Expanded and changed the “IVMatrix” class.
- Expanded the “eGameMode” enum with episode game modes.
- Fixed natives: “GET_CAR_DEFORMATION_AT_POS”, “CREATE_RANDOM_FEMALE_CHAR”, “CREATE_RANDOM_MALE_CHAR” and “CREATE_RANDOM_CHAR_AS_PASSENGER”.
- Fixed some ImGui things.
- Removed “GetAllScripts” function from “Script” class.
- The “GameLoad”, “GameLoadPriority” and “MountDevice” events will no longer stop executing when the game is not in focus to avoid potential problems with additional files not being loaded that the Script requires.
- Made the IV-SDK .NET Console a bit larger.
- Updated XML comments.
Version 1.1
Changelog
- Added “Bounds” property to the “IVGame” class.
- Added “IngameStartup” event to the “Script” class.
- Added “DoesKeyExists” function to the “SettingsFile” class.
- Added “ClearSection” function to the “SettingsFile” class.
- Added “FromUIntPtr” and “GetUIntPtr” function to “IVObject”, “IVPlayerInfo”, “IVPedComponentModels”, “IVPedDrawableInfo” and “IVCam” classes.
- Added 1 new options in the IV-SDK .NET settings file which allows you to disable IV-SDK .NET on-screen notifications.
- Added “WaitTick” event to Script class which only gets called every X milliseconds.
- Added “WaitTickInterval” property to Script class which controls how often the “WaitTick” event should be called. The default is 100ms.
- Renamed and moved property “_f1f” from “IVVehicleFlags2” to “IVVehicleFlags3” which is now named “LeftIndicator”.
- Changed the IVVehicleFlags structs to be classes so the properties inside them can be modified.
- Removed some “b” prefixes of the properties inside the IVVehicleFlags classes.
- Forced globalization to english so that errors will be displayed in english.
Version 1.0
IV-SDK .NET Version 1.0 is here!
Changelog
- [IMPORTANT] Changed the prefix of classes and all other things from “C” to “IV”. Every script has to be adapted to that change!
- [IMPORTANT] Changed the IV-SDK .NET drawing system from using SharpDX to using Dear ImGui. Thanks to akifle47 for his InGameTimecycEditor i could take some inspiration of 👀
- Added a IV-SDK .NET API.
- Added “FromUIntPtr” and “GetUIntPtr” functions to “IVPedMoveBlendOnFoot” class.
- Added natives: DISABLE_PLAYER_SPRINT, GET_OBJECT_PED_IS_HOLDING, NETWORK_GET_SERVER_NAME, NETWORK_GET_HOST_SERVER_NAME and NETWORK_SET_SERVER_NAME.
- Added Vector3 overload for natives: START_PTFX, START_PTFX_ON_PED, START_PTFX_ON_PED_BONE, START_PTFX_ON_VEH, START_PTFX_ON_OBJ, START_PTFX_ON_OBJ_BONE, UPDATE_PTFX_OFFSETS, GET_OFFSET_FROM_CAR_GIVEN_WORLD_COORDS, GET_OFFSET_FROM_CAR_IN_WORLD_COORDS, GET_OFFSET_FROM_OBJECT_IN_WORLD_COORDS and GET_CHAR_VELOCITY.
- Added “IVLauncherWorkshopID” property to the “Script” class.
- Added 12 new options in the IV-SDK .NET settings file: “CreateLogFilesInMainDirectory”, “MaxLogsFiles”, “SwitchCursorKey”, “OpenManagerWindowKey”, “DoNotLoadLegacyScripts”, “ReloadScriptsOnReload”, “AllowConnections”, “ShowNotificationOnConnection”, “AllowRemoteReloadScripts”, “AllowRemoteLoadScripts”, “AllowRemoteAbortScripts” and “AllowRemoteNativeFunctionCalls”.
- Added 3 new console commands: “StartAPI”, “StopAPI” and “Manager”.
- Added “Function” class to the “IVSDKDotNet.Native” namespace with which you can manually call native functions by their name.
- Added “RAGE.OnExit” event which gets called when GTA IV is about to close. Useful for cleaning up things.
- Added basic Dear ImGui Wrapper class “ImGuiIV” for UI creation.
- Added “DoesSectionExists” and “InsertAt” functions and added a ToString override to the “SettingsFile” class which returns the string with the content that would be written to the file on save.
- Added a bunch of new classes from the latest IV-SDK update.
- Changed the “ScriptCommandReceived” event return type from “void” to “object” which allows you to return something to the calling Script.
- Changed “IVVehicle.Doors” and “IVVehicle.Wheels” to be an array of Doors/Wheels instead of a single instance.
- Changed the “RAGE.OnWndProcMessageReceived” event return type to a “void” because the windows messages intercepting did not work at all.
- Made the “IVPedMoveBlendOnFoot” pool functional.
- Moved the “IVGame.OnWindowFocusChanged” event to the “RAGE” class.
- Fixed parameter and return type of ptfx natives.
- Fixed “DELETE_MISSION_TRAIN” native.
- Removed the “Helper.JSON” class. You should add your own reference to “Newtonsoft.Json.dll” if you need it.
- Removed the “DisablePlayerControlWhenOpen” setting from the IV-SDK .NET settings file.
- Removed the “Mouse” class from “IVGame”. If you need information about the mouse, you can get it via the “ImGuiIV” class.
- Removed the “Delete…” functions from the “IVPools” class. You should instead use native functions.
- The following natives are no longer marked as obsolete and should work now: DELETE_CHAR, DELETE_CAR and DELETE_OBJECT.
- The “FastLoading” option in “ZolikaPatch.ini” no longer breaks the IV-SDK .NET Drawing when enabled.
- IV-SDK .NET now works with dxvk and/or enb installed!
- When saving a settings file, previous comments and whitespace will no longer be removed.
Version 0.9.2
Changelog
- Added “eVigilanteCrimeType” enum for TRIGGER_VIGILANTE_CRIME native.
- Added “eNaturalMotionMessageID” and “eNaturalMotionStringID” enums for the NaturalMotion natives.
- Added GetUIntPtr and FromPointer functions to CObject class.
- Added Natives: SET_CAR_ON_GROUND_PROPERLY, GET_VEHICLE_COMPONENT_INFO, GET_CLOSEST_CAR, OPEN_SEQUENCE_TASK, IS_THIS_PRINT_BEING_DISPLAYED and LOAD_ALL_PATH_NODES.
- Added Vector3 overload for natives: TRIGGER_VIGILANTE_CRIME, CLEAR_AREA, CLEAR_AREA_OF_CARS, CLEAR_AREA_OF_CHARS, CLEAR_AREA_OF_COPS, CLEAR_AREA_OF_OBJECTS, EXTINGUISH_FIRE_AT_POINT, ADD_EXPLOSION and SET_NM_MESSAGE_VEC3.
- Added nullptr check to CVehicle.Driver property.
- Added DisablePlayerControlWhenOpen setting to Console section of the IVSDKDotNet config.ini file.
- Fixed parameters of native: _TASK_START_SCENARIO_AT_POSITION and SET_RADAR_ZOOM.
- Fixed CPed.WeaponData.WeaponObject always returning a CObject instance even tho it could be nullptr.