Mod-Network is recieving some updates. Thank you for your patiences ;)
Power Tools: Developer is a quality-of-life mod for modders that works well alongside Power Tools, Easy Dev Controls and Global Explorer.
An improved style of visualizing in-game tables, together with the posibility to save tables to well-formed Lua files, opens up a new way of understanding the FS object model!
# FEATURES:
- New console commands to restart the game (see below for details)
- Console command to print Lua table contents to either the console/log or a separate file
- Console command to clear the log file
# CONSOLE COMMANDS:
- dtRestart (or 'r'): Restarts the current savegame using a soft restart (slightly faster than a hard reset)
- dtRestartHard (or 'rr'): Performs a hard reset (this will ensure everyhing is unloaded from memory)
- dtTable: Prints the contents of a Lua table to the console/log
- dtSaveTable: Save the contents of a Lua table to a file (3-4x times faster than printing a table to the log)
- dtVisualizeTable [beta]: An improved way of printing tables to the log, both faster, more memory efficient and visually improved.
- dtClearLog (or 'cls'): Clears the log.txt file to get a fresh log (especially useful when using the restart command)
# CAUTION!
The console commands to restart the game will do this -without- asking you to save your progress first. I.e. you risk loosing progress if you are not cautious!
# SAVING TABLES
The 'dtSaveTable' allows you to quickly dump a Lua table to disk in a well formatted Lua file, meaning you can load this file as a source file in the Lua interpeter or in-game. This has several uses cases, especially to understand the FS object model.
Optionally you can choose the depth of the output, especially important when saving top level tables (e.g. g_currentMission) that may contain many child tabled and/or large tables. Thanks to a well optimized code it is still possible to save g_currentMission with some 5-6 levels of depth before the Lua engine starts to leak memory and becomes unstable (the default depth is set to 2).
Example:
To dump the g_currentMission table to a file you could use the command 'dtSaveTable g_currentMission currentMission.lua 1'. This would export the g_currentMission table to a file named 'currentMission.lua' and only including the direct descendants of g_currentMission.
Note: due to security restrictions, the generated .lua file will be stored in your 'My GamesFarmingSimulator2022modSettingsFS22_000_DevTools' folder.
# PRINTING TABLES
Similar to 'dtSaveTable', the command 'dtTable' can be used to output a table to the log. It takes the table name as mandatory parameter and the maxDepth as an optional parameter (with a default value of 2).
Important! Due to the nature how FS prints to the log it is only recommended to fairly small tables and/or shallow structures (depth should not exceed 2-3). E.g. printing g_currentMission to the console with a depth of 4 will make FS consume some 10-15GB of system ram and then crash in a out-of-memory error.
If you need to print a deeper structure it is recommended to use 'dtSaveTable'.
Comments:
Login to place a comment: Login