CraftOS-PC v2.3.4
CraftOS-PC v2.3.4 includes a huge number of bugfixes relating to CC: Tweaked compatibility. The CC:T tests are now checked with every build of CraftOS-PC, so there should be a higher degree of accuracy and compatibility with the canonical version of CC:T. There are also some fixes that were made independently of the CC:T tests. Finally, a bunch of changes have been made to make CraftOS-PC more compatible with CCEmuX. These factors combine to make this version the most accurate version of CraftOS-PC 2 ever.
- Updated CC:T version to 1.89.1
- This includes full testing on the CC:T test set
- CraftOS-PC now fully passes all CC:T tests
- Added an error dialog when an error occurs reading the configuration files
- The dialog includes a message describing where the JSON parsing error occurred
- If an error occurs, the defaults will be used, and no changes will be saved
- Added proper
ingamelocale foros.day/time/epoch- This is based on a 20-minute clock that starts when the computer boots
- This change is to improve compatibility with CCEmuX/CC:T
- Added CCEmuX command-line flags
--assets-dir,--computers-dir,--start-dir,--data-dir(alias of--directory),--plugin,--renderer- The
--start-dirflag only affects the initial computer (specified by--id)
- Headless mode now reports a color terminal (for advanced testing)
os.timenow properly parses tables returned byos.date("*t")- CraftOS-PC now reports its real version and CC version in HTTP User-Agent strings
fs.deleteno longer errors when deleting a non-existent file- Fixed
io.opencreating a directory instead of opening a file in write mode (#116) - Fixed
fs.getDrivereturning the wrong results - Fixed a whole bunch of warnings
fs.getSizenow returns 0 when used on a directory instead of erroring- Fixed a bug causing audio glitches when playing low notes through the speaker
- Fixed an error when writing
nilor a number to a file (#118) - Fixed a crash when an invalid format string is passed to
os.date - Fixed missing cc.completion and cc.shell.completion modules
- Fixed programs getting the path to the program in arg[0] instead of the command as it was run
- Raised maximum Lua call depth to 32768 (from 256)
loadstringnow automatically adds an=sign to the chunk name- Fixed
debug.getlocalnot returning function parameter names- This fixes the
cc.prettymodule's parameter detection function
- This fixes the
- Fixed vulnerability in
iolibrary - Fixed
io.lines()with no arguments - Fixed missing
*Loption forio.read/file:read - Fixed
io.write/file:writenot returning file handle - Fixed
string.formaterroring when using nil as a string parameter fs.copycan now copy folders as expected- Fixed
fs.find("/")returning an empty table - Fixed
fs.attributeshaving the wrong name - Fixed
fs.makeDirnot erroring when it tries to create a directory where a file is already present - Fixed a boatload of string differences to comply with CC: Tweaked
- Fixed a bunch more small inconsistencies
- Fixed
io.opennot creating all parent directories if they're missing - Added support for custom options to
io.lines - Fixed support for '+' modes in
io.open - Fixed errors in Lua prompt showing
[string "lua"]:instead oflua: - Windows: Changed ROM directory to the path where the executable is located
- This means you can now change the installation directory
If you need help using CraftOS-PC, I'm available on the ComputerCraft Discord server as @JackMacWindows#9776. Feel free to ping me if you need anything.
The non-CC:T Mac build has been updated to fix an issue with the auto-updater. Please install this version manually, since previous versions are still affected.
The Mac builds have been updated to reduce file size.
The Windows installer has been updated to support running as a standard user. If not run as admin, the default install location is %LOCALAPPDATA%\CraftOS-PC. The Visual Studio 2019 redistributable will still need administrator privileges if it's not installed.