Publishing details
Changelog
craftos-pc (1:2.4-eoan2) eoan; urgency=medium
After a month and a half of development, CraftOS-PC v2.4 is ready for release. This version includes a new renderer that uses the GPU to accelerate the terminal. It also contains a whole bunch of bug fixes and some small features. Last but not least, CraftOS-PC v2.4 introduces a brand-new icon. Inspired by macOS Big Sur's new design language, this new icon is high-resolution, high-color, and highly-textured. I hope you enjoy all of the new features and fixes CraftOS-PC v2.4 brings.
* Added new GUI terminal that uses hardware rendering (experimental)
* It uses the GPU to accelerate drawing graphics
* Uses the same base code that was used prior to v2.1, with updates that have been added since
* Support can be enabled with the `useHardwareRenderer` config option or the `--hardware` or `-r hardware-sdl` CLI flag
* A test script is available to see which is better for your system
* You can run it with `gist run 802f64508a1f51b3244f5bcc0414ca22`
* Vsync can be enabled with the `useVsync` option
* The driver to use can be selected with the `preferredHardwareDriver` config option or the `-r` CLI flag
* These are all of the possible drivers:
* `direct3d`
* `direct3d11`
* `directfb`
* `metal`
* `opengl`
* `opengles`
* `opengles2`
* `software`
* Some drivers may not be available on your system
* Use `craftos -r` to list all available drivers
* Updated CC:T version to 1.90.2
* Add cc.image.nft module, for working with nft files. (JakobDev)
* Add configuration to control the sizes of monitors and terminals. (`defaultWidth`/`defaultHeight`)
* Fix string serialization error in textutils.serializeJSON.
* Brand-new app icon
* Designed especially for CraftOS-PC
* Inspired by the aesthetic of macOS Big Sur
* High-resolution, textured, modern
* Added proper double-buffering to the terminal
* This allows you to use the `term` API while CraftOS-PC is rendering
* This speeds up programs that end up running lower than the render FPS
* Added introduction & update MOTD messages
* When run for the first time (or in a new directory), an introduction message is displayed
* When run after an update, a notification message is displayed, and suggests running `help whatsnew`
* Added support for `monitor_touch` event as expected (#119)
* This removes the `mouse_*` events for monitors
* The previous behavior can be restored by setting the `monitorsUseMouseEvents` config setting
* This will also add the monitor's side as a fourth parameter
* Added `standardsMode` config option for strict compatibility with CC:T/CCEmuX
* Forces time readings & timer resolution to be rounded to 50 ms (1 tick)
* Adds back colored margins as shown in CC
* More compatibility tweaks may be added under this option
* Added `startFullscreen` per-computer config option
* Disabled access to `romReadOnly` from CraftOS
* Fixed ABI compatibility with standard Lua libraries
* This means you can now properly use Lua libraries (e.g. from LuaRocks) as plugins
* Prefix the library name with `lua_` to tell CraftOS-PC to skip loading plugin metadata
* Updated plugin API version to 4
* Added ID to per-computer config error messages
* Modems now act as wired modems and can be used to access non-local peripherals (#122)
* Non-local peripherals can now be listed with `peripheral.getNames()` when a modem is attached
* Fixed a crash when opening a debugger twice (#120)
* Fixed a rare race condition while getting an event (#123)
* Fixed an issue with saving screenshots to disk
* Fixed a bug where function key hotkeys don't work when Caps or Num lock is enabled
* Fixed a bug causing the `locals` table in the debugger to be missing
* Fixed `bit32.lrotate` returning incorrect results
* Fixed crash when closing CraftOS-PC while a WebSocket is shutting down
* Fixed crash when using too many nested coroutines (#124)
* This was due to a bug that didn't update the C call count properly
* Calling too many nested coroutines will result in a "C stack overflow" error
* Fixed a race condition in `periphemu.detach`
* Fixed incorrect prettification of non-contiguous tables (#125)
* Fixed raw terminals getting the same ID
* Added some more locks on timers to prevent crashes
* Fixed abort timeout not working before first yield
* Fixed missing UK spelling of term.nativePaletteColour
* Fixed modem hang due to locks not waiting
* Fixed missing modem distance field in `modem_message` event
* Fixed utf8.char returning `%U` for each character
* Fixed a random crash when calling a NULL C function (this shouldn't happen)
* Fixed styling of message dialogs on Windows
* Fixed events going to the wrong window in raw mode
* Fixed Ctrl-R/S/T shortcuts not working in non-GUI modes
* Disabled fullscreen support in WASM to avoid crashes (#100)
* Mac: macOS 10.13 or later is now required for official builds
* Users on older versions are still able to build and run CraftOS-PC themselves
* Windows: The solution now uses vcpkg for dependencies, so NuGet and separate builds are no longer required
* Windows: PDF printing is now supported in all builds
* Windows: Changed Visual C++ Runtime and other libraries to dynamic linking
* This reduces executable size, but the VCRT redistributable is now strictly required
* More DLLs will be required as well
*If you need help using CraftOS-PC, I'm available on the [ComputerCraft Discord server](https://discord.computercraft.cc) as `@JackMacWindows#9776`. Feel free to ping me if you need anything.*
-- JackMacWindows <email address hidden> Sat, 15 Aug 2020 14:33:15 -0400
Builds
Built packages
-
craftos-pc
Advanced ComputerCraft emulator
-
craftos-pc-ccemux
CCEmuX plugin for CraftOS-PC
Package files