Skip to content

Releases: Cykyrios/GodotInSim

v1.2.0

03 Aug 09:06
Compare
Choose a tag to compare

This version brings 2 main changes (and a couple documentation comment changes):

  • BREAKING: player_id was renamed to plid everywhere for consistency between UCID and PLID
  • LFSText.unicode_to_lfs_bytes() no longer converts / to ^s if 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

29 Jul 08:47
Compare
Choose a tag to compare

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

28 Jul 07:31
Compare
Choose a tag to compare

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() and GISUtils.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

05 May 20:23
Compare
Choose a tag to compare

Changes from v1.0.0:

  • Added connected and disconnected signals 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

03 Apr 21:15
Compare
Choose a tag to compare

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.

v0.9.0

28 Mar 19:42
Compare
Choose a tag to compare

The summarized version of the changelog is the following:

  • Fix text encoding once and for all (unit tests were added in a separate repository that also includes a "control panel" for testing packets)
  • Add text color conversion and stripping
  • Include GIS variables for every packet and struct using physical values (see README for more details)
  • Add utility functions for unit conversion
  • Fix a bunch of errors in various packets

The next release should hopefully include InSimRelay as well as more fixes for packets used on hosts, as I haven't been able to test those yet.

Hotfix for character encoding

18 Mar 18:41
Compare
Choose a tag to compare

Character encoding was messed up with multibyte characters, everything should be fine now. Quick example below:

var send_message := func send_message(text: String) -> void:
	print("%s -> %s" % [text, LFSText._unicode_to_lfs_string(text)])
	var packet := InSimMSTPacket.new()
	packet.msg = text
	insim.send_packet(packet)
send_message.call("a5ě ^7ш")
send_message.call("f0^2マ^5*|")
send_message.call("^8AbC42^1日本語^6Да^0αω^5ßďĎ")

image

Printing the contents of the MSO packets LFS sends back (keeping only the message, with the flag ISF_MSO_COLS enabled):

ISP_MSO: { "Msg": "^7^7Cyk ^7: ^8a5ě ^7ш" }
ISP_MSO: { "Msg": "^7^7Cyk ^7: ^8f0^2マ^5*|" }
ISP_MSO: { "Msg": "^7^7Cyk ^7: ^8^8AbC42^1日本語^6Да^0αω^5ßďĎ" }

Direct conversion if also possible using LFSText._unicode_to_lfs_string, though this is not recommended and is mostly useful for debugging purposes, to check characters are converted properly:

a5ě ^7ш -> a5^Eì ^7^Cø
f0^2マ^5*| -> f0^2^JÏ^5^a^v
^8AbC42^1日本語^6Да^0αω^5ßďĎ -> ^8AbC42^1^J鏺陻質^6葄葰^0莿菖^5^Lß^EïÏ

v0.8.0

17 Mar 22:17
Compare
Choose a tag to compare

Text encoding is now working, all packets assume text input from UTF8 and output to UTF8 as well, colors are untouched and should be parsed by the user, I might add an option to remove them automatically. On the other hand, there is a ColorCode enum and a COLORS array that can be used to parse them (e.g. using RichTextLabel). For more general purposes while using LFSPacket as a serialization tool, add_string_as_utf8 and read_string_as_utf8 can be used to skip encoding conversion.

A bit more testing/fixing should lead to version 1.0, unless I forgot some features.

v0.5.0

03 Mar 08:43
Compare
Choose a tag to compare

All InSim, OutSim, OutGauge functionality should be implemented, with the exception of text encoding (UTF8 is assumed, invalid characters can and will appear for some text strings). Other than that, testing of some packets is still required to ensure stability.