Skip to content

Releases: Panakotta00/FicsIt-Networks

v0.3.19

15 Jan 21:28
e2fda3b
Compare
Choose a tag to compare

Patch Update

Change List:

  • New UReflection Source Metadata API
  • Overhaul of the Network Manager Snapping Logic
  • Lua struct construction now supporting default values
  • GPU T2 drawBox now using a struct for parameters
  • Add ValidationChanged Signal to Railroad Signals
  • Fixes crash for GPU T1 replication
  • Fixes Reflection Future crash on save load due to changed FINFunctions
  • Fixes Game Crash on Computer GUI close without EEPROM
  • Fixes Crash due to FileSystem Path unpersistance
  • Fixes Network Adapter Reattachment Issues
  • Fixes GitHub Issues

v0.3.18

23 Nov 22:57
0644858
Compare
Choose a tag to compare

Hotfix

Just another Hotfix.

Change List

  • Fixes Crash related to gauges
  • Fixes GPU T1 not showing text
  • Fixes Nil values for Object/Trace properties
  • Fix Lua EEPROM Code Editor not saving on Client
  • Fix Lua Compile error messages not showing in log
  • Fix crash of GPU T1 on early flush
  • Fixes Computer Log Replication (Multiplayer)

v0.3.17

20 Nov 22:27
4673ac2
Compare
Choose a tag to compare

Hotfix

This update brings some hotfixes.

Change Log:

  • Power Circuit Switch
    • isSwitchOn is now readonly
    • new setIsSwitchOn function
  • Micro Control Panels
    • Fixes various properties
  • Fixes Multiline Content with EEPROM & Type References in Log Viewer
  • Fixes Sync only Properties and their Futures
  • Fixes blueprint defined properties
  • Fixes Unpersistence Crash on load old save files
  • Fixes coroutine.resume return values
  • GitHub Issues
    • #251 Game Freeze on "out of memory" in promoted tick state

v0.3.16

18 Nov 12:37
773e754
Compare
Choose a tag to compare

Update 8.3 Compatibility & (a lot) More!

(v.0.3.16)

This update introduces SF Update 8.3 compatibility and many new features.

Railroad Switch Control

You can now use the forceSwitchPosition function on railroad switch (which you can now connect to the computer network) to force a train to go on a specific route.
This is implemented in a way so the train considers it also for train collision detection and route planning.
In combination with the new Train Passing and Docking signals for tracks and stations you can easily create more complex train networks with train waiting areas, custom priority routing and more!

Factory Connector Control

You can now "disable" factory outputs and inputs with the blocked property.
Additionally you can specifiy an Item Filter to only allow items of the specified type using the allowedItems property. And using the addUblockedTransfers function, you can allow a specific amount of items pass the blocked factory connector.
This makes controlling containers and item flow on belts a lot easier, without requiering a codeable splitter or merger!

GPU T2

Ever wanted to draw Circles with FIN?
The new Graphical Processing Unit T2 can do that!
The new GPU provides many functions to draw lines, boxes and more anywhere you want onto the screen. Using layouting functions you can also control clipping behaviour and local drawing transformations.
Let your creativity go wild!
We plan to support custom images on a later date, allowing for even more customizeability!

Blueprint Parameters

You can now specify variables/parameters within the nick of computer components in a blueprint.
Once you place the blueprint, a window will open and ask you to specify what text should be used instead of these parameters.
Parameters can have a default value and they should follow this syntax: ${myVar|defaultVal} where you can replace myVar and defaultVal with whatever you want.

Logging

The new and improved logger allows to check timestamps, log verbosity and message more easily!
Using the computer.log function you can log with any verbosity you like. The print function will now simply log with info verbosity and the lua warning function will log with warning verbosity.
For people who don't like the new logger, you can change to a text based logger in the Mod Settings and configure it a bit further.
The logger will create clickable links for EEPROM Code Line references and type references allowing for a more easier way to debug your code.

Lua Code Editor

The new and improved Lua Code Editor now supports automatic indentation for new lines.
This works in combination with the line numbers and tab support that were already supported for some time now.
The Code Editor will also create clickable links (when holding CTRL) for class and struct type references using the classes and structs library.
These links also do a type check, if the type you reference does not exist, it will be underlined with red, if it does exist, it will be underlined with white.

New Lua Classes & Structs

The Lua Class and Struct system has got a complete overhaul. Instead of using findClass("MyClass") to get a class reference you now can use the "classes" library like so:
classes.MyClass or classes["MyClass"]
the former allows for some QoL feature mentioned later.

There is also now a similar library for structs. Using structs.MyStruct or structs["MyStruct"] you can retrieve a struct type representation, and it overrides the call operator, allowing you to construct the struct with parameters like you already were able to with parameters.
structs.Color(r,g,b,a) f.e. can be used to construct a color type.
Not all structs can be constructed this way, currently there is no way to get this information from the reflection viewer but we plan to do so.

Why would you want to do that tho?

Struct Operators & Overloading

Structs can now have a special type of function, an operator.
Operators have to follow a specific naming scheme and have to have the Operator flag set.
Currently the operator flag has no representation in the Reflection Viewer, this means the only way to know if a function is a operator, is through the name.

So what gives?

Well you can now do magic stuff like: structs.Vector(1,2,3) + structs.Vector(4,5,6)
This makes working with structs a lot easier, especially with such arithmetic types.

And what is that overloading?

Well, due to the nature of operators, its kind of required for them to support overloading. This allows a struct (f.e. Vector) to have a Vector + Vector operator and a Vector + Number operator at the same time.
Depending on the type of operator and the type of the operants, Lua and FIN can figure out what operator is required for the operation.
It is important to note that non-commutative operators (like -) currently cant have a overload for something like Number - Vector, as the first operant will be used for the search of the operator, Vector - Number is possible. This is not the case for commutative operators like + and *, there Lua and FIN will try to swap the operant and search for the operator if in the original orientation no matching operator was found.
This behaviour may change in the future and we are considering normal function overloading aswell. Struct Constructors currently are generated using their exposed writeable properties and can not have custom constructors (yet).
Struct parameters in various places now tend to require an explicit construction using the structs library. This is to prevent obfusication. There are still places where you can rely on implicit struct construction (just providing a table with the correct values) if its very clear what type is required.

Localization

The FicsIt-Networks Reflection data can now be localized together with some other texts. Other texts for assets like schematics etc can not be localized yet, but we are working on it.
If you want to help us localize FicsIt-Networks, joind our Discord Server and simply send us a message in the #general channel.

Additonal Change List

  • Modular Indicator Light
    • Fix graphics bug when loading or building from blueprint
  • Computer Case
    • new ComputerStateChanged signal
    • new startComputer function
    • new stopComptuer function
    • new getLog function
    • new getStatefunction
  • Manufacturer
    • fix setRecipe function (return value & flush items to output inventory if possible)
  • Inventory
    • add swapStacks function
  • new Buildable Class
    • ProductionChanged signal
    • numPowerConnections property
    • numFactoryConnections property
    • numFactoryOutputConnections property
  • Train Platform Cargo
    • Add isLoading property setter
  • Train Station
    • new StartDocking signal
    • new FinishDocking signal
    • new CancelDocking signal
  • Railroad Track
    • new VehicleEnter signal
    • new VehicleExit signal
    • new getVehicles function
  • Railroad Signal
    • new getGuardedConnections function
    • new getObservedConnections function
  • Time Table
    • new setStop function
  • Train Docking Rule Set
    • Multiple properties got replaced with getter and setter functions to prevent confusion on why structs did not change
  • Railroad Signal Block
    • Improved errormessages
    • new getOccupation function
    • new getQueuedReservations function
    • new getApprovedReservations function
  • Hypertubes
    • Hyper Start now two sepperate Signals PlayerEntered and PlayerExited
  • Hook/Signal System
    • Fixed Hooks not getting registered on save load
  • FileSystem
    • Fix random crash with "Overwrite Window"
    • Add "Don't ask again" option to "Overwrite Window" to apply same selected option for all mismatching FileSystems in save load (gets reset after save load)
  • Lua
    • Big internal restructuring
    • Better Error Messages
    • Fix crash in promoted tick state caused by GC
    • new getItems function
    • if a already promoted tick state gets demoted due to function call, tick state will try to automatically promote again
    • Lua Warning system support (log with warning verbosity)
    • Computer API
      • new isPromoted function
      • new textNotification function
      • new attentionPing function
  • UI
    • Fixed color issues with Reflection Viewer
    • NetworkManager won't highlight foundation/walls anymore and cause big frame drops
  • Fixed GitHub Issues
    • #268 Train time table rule sets ignore setting item filters
    • #272 Crash open stack split UI
  • Minor issues/bugs/crashes not listed above
  • New issues/bugs/crashes

Have fun Coding :3

v0.3.15

01 Sep 18:52
82a4960
Compare
Choose a tag to compare

Hotfix & API Update

This update introduces the API Update for U8 and some hotfixes aswell as minor features.

Change List:

  • Priority Power Switch API
  • Door Control API
  • Auto Indentation on New Line in Lua Code Editor
  • Fix Syntax Highlighting
  • Add Railroad Switch Adapter
  • Add getComponents to Actor API
  • Add getControlledConnection to Railroad Switch API
  • New Bugs

v0.3.14

31 Aug 11:10
89417bb
Compare
Choose a tag to compare

SML Version Hotfix

Due to a wrong version number of the SML dependency, some people downloaded the latests version for EA which is not supported. This should be fixed now, v0.3.13 got removed and v0.3.14 pushed (which contains the correct version numbers)

Update 8 Compatibility

30 Aug 19:20
b9fb550
Compare
Choose a tag to compare

This update brings Update 8 Compatibility and some bug fixes.
Update 8 API additions/changes are not contained and will be released with a sepperated update.

Patch Notes:

  • Update 8 Compatibility
  • Invalid Name Checks for FIN-Supporting Mods
  • Fix Lua Runtime Persistency
  • Fix MP for Rotary Actuators
  • added Lua computer.getMemory()
  • Signals for Hyper Tubes
  • Other Bug Fixes
  • New Bugs

v0.3.12

02 Dec 13:57
6e5280c
Compare
Choose a tag to compare

Line Numbers & Hot-Fix

This update introduces the long awaited line numbers for the code editor aswell as patches the crash with the latest SF EX version.

Features:

  • Line Numbers in Code Editor
  • Fixes Crashing Issues on EX
  • Fixes some Bugs
  • Introduces new Bugs

v0.3.10

22 Nov 22:58
ee668c5
Compare
Choose a tag to compare

Update 7 Compatibility & Wireless

This update introduces Satisfactory Update 7 compatibility.
And on top of that, it adds a new networking facility that allows you to use radio towers for wireless network message transmission.

Changelong:

  • Update 7 Compatibility
  • Adding Radio Tower Network Routers/Wireless Network Message Transmission
  • Add Blueprint Designer support
  • Train Signal Block API
  • AWESOME Sink API
  • Pump/Valve Flow & flow-limit properties
  • Added Magic Time
  • Fixes Lua Code Editor Syntax Highlighting formatting bug
  • Fixes Font Bug (missing fallback)
  • Fixes tempfs issues
  • Fixes Hologram Crashes
  • Fixes Computer Collision
  • Fixes Some Bugs
  • Adds new bugs

Hot-Fix for Experimental Branch

10 Sep 16:34
b1f2de5
Compare
Choose a tag to compare

Hot-Fix

Support for latest experimental game version.

Features:

  • Support of Experimental Branch
  • Fixes tmpfs deep folder structures
  • Fixes crash on save if unable to open file (silent fail with warning message in log) #206
  • Fixes broken computer UI when last time removed PCI device was opened #227
  • Other bug fixes
  • Introduces new Bugs

As usual, please report any issue on the GitHub Page.