Repository navigation
Releases
3.0
Godot InSim v3.0 is finally here! Now based on Godot 4.5, a lot was changed and added since v2.0, and there are some necessary breaking changes too.
Head over to the GitLab release page for more details and download links to the demos.
2.0.0
Version 2 is out! This release brings some new features, as well as a bunch of bug fixes for various packets.
- The project is now based on Godot 4.4 (.gd.uid files are included)
- Additional file types are now supported: car info (car_info.bin), setups (.set), layouts (.lyt)
- The InSim object now keeps track of UCID/PLID, and provides connection/player data in the corresponding
connectionsandplayersdictionaries (with UCID/PLID as keys, and the new Connection and Player objects as values). - A new LFSState object also keeps track of changes every time an IS_STA packet is sent.
- LFSText now handles car name conversion, and adds regex search and replace for PLID/UCID values. It also introduces
get_mso_start()to circumvent IS_MSO's TextStart property being unreliable if a player's name contains non-latin characters. - Helper functions for sending messages:
send_message()will automatically send an IS_MST/IS_MSX packet depending on message length - the maximum supported length is therefore that of IS_MSX, there is no support for automatic message splitting at this time.send_local_message()will send an IS_MSL packet.send_message_to_player(PLID)will send an IS_MTC to the given PLID.send_message_to_connection(UCID)will send an IS_MTC to the given UCID.
- Sendable packets can now be created with all their data directly with the
create()function, for instanceInSimTinyPacket.create(1, InSim.Tiny.TINY_NPL)orInSimJRRPacket.create(1, 0, InSim.JRRAction.JRR_RESET). - The AXOIndex enum was added to retrieve object indices.
- Packets now include a
get_pretty_text()method that returns data in a more readable format - note that some data may be hidden in this format. - Sending packets can now include an optional
senderparameter, which should be your app's name - this can be used to identify the source of packets being sent (alternatively, watch the ReqI values). - The PLID/UCID tracking means GodotInSim sends more packets automatically; all automatic requests now use ReqI = 250.
- Unit tests were added to most structs and to all packets (except InSimRelay) to help ensure proper behavior - additional tests will be added as needed.
Full Changelog: v1.5.0...2.0.0
v1.5.0
This version updates the AI Control packets following the release of LFS 0.7F5.
Full Changelog: v1.4.0...v1.5.0
v1.4.0
This version includes the new IS_AIC, IS_AII and SMALL_AII packets added in LFS 0.7F2.
The project now uses Godot 4.4 (the only notable change here is the addition of UID files, see https://godotengine.org/article/uid-changes-coming-to-godot-4-4/ if you're not familiar with those).
Full Changelog: v1.3.0...v1.4.0
v1.3.0
Changes in this release include:
- Format customization for GISUtils time string
- Add default grey color to LFSText
- Fix some characters not being properly converted in "extended latin" code page
- Add gis_time to OutSim and OutGauge packets (float, seconds)
- TCP connection status and errors are more human-readable
Full Changelog: v1.2.0...v1.3.0
v1.2.0
This version brings 2 main changes (and a couple documentation comment changes):
- BREAKING:
player_idwas renamed toplideverywhere for consistency between UCID and PLID LFSText.unicode_to_lfs_bytes()no longer converts/to^sif it appears as the first character in the string; this allows properly parsing MST packets as commands.
Full Changelog: v1.1.1...v1.2.0
v1.1.1
Changes from v1.1.0:
- Refactor IPAddress struct to allow for string, integer or array input
- Use refactored IPAddress in IS_NCI packet
- dev: Fix typo in unit tests following last-minute typo fix in GISUtils
- dev: Add unit tests for IPAddress struct
Full Changelog: v1.1.0...v1.1.1
v1.1.0
This release includes the new ISP_IPB packet from LFS 0.7F, fixes auto-ping not stopping after InSim disconnects, and adds time string conversion to GISUtils (converts a time float given in seconds to a time string such as "12.34" or "1:23.45", or the other way around).
Changes from v1.0.1:
- Added ISP_IPB packet from LFS 0.7F to set and display IP bans
- Added time string conversion to GISUtils:
GISUtils.get_time_strings_from_seconds()andGISUtils.get_seconds_from_time_string() - Fixed auto-ping not stopping after InSim disconnects
Full Changelog: v1.0.1...v1.1.0
For development purposes, unit tests were moved to GUT, installing this addon from the asset library and enabling the plugin is required to run those tests.
v1.0.1
Changes from v1.0.0:
- Added
connectedanddisconnectedsignals to InSim - Added empty OutSimWheel data to OutSimPack instead of having nothing at all
- Removed the negative multiplier for steering input in CarContact
- Cleaned up obsolete/unused bits and added some comments for source and weird bits
Full Changelog: v1.0.0...v1.0.1
v1.0.0
GodotInSim is now feature complete, with InSim, OutGauge, OutSim and InSimRelay implemented. A good amount of fixes should also make packet data more reliable.
You can now choose to connect using TCP or UDP for InSim (Relay uses TCP only, and OutGauge and OutSim use UDP only).
Unit tests were also added to validate LFSText and GISUtils utility classes.