Releases: ClassiCube/ClassiCube
Releases · ClassiCube/ClassiCube
Release 1.3.6
All:
- Added:
/client blockedit
command that allows changing some properties of blocks - Added: Support for longer texture pack URLs up to 128 characters
- Added: Keybinds for advancing hotbar selected slot by one slot left or right
- Added: indev
.mclevel
map importer support - Added: Alternative http client backend that doesn't rely on system HTTP libraries
- Improved: Allow rebinding 1 - 9 hotbar keys
- Improved: Snowfall and rainfall animations (Thanks Goodly)
- Improved: Render sprites as flat in inventory and hotbar
- Improved: Game versions <= 0.0.23 now use a slightly different default texture pack (with old gold texture)
- Improved: Change chat log files to use .txt instead of .log file extension
- Improved: Add basic keyboard-only camera support (Thanks 360ied)
- Improved: Allow using escape to go back in Launcher menus
- Fixed: Sounds/Music not downloading anymore
- Fixed: Game would sometimes always fail to create default font if cached system fonts were moved
- Fixed: Being able to resize Flags column in Launcher servers list
- Fixed: In modern OpenGL backend, fog being very slightly wrong
- Fixed: Isometric rendered blocks being slightly misaligned on OpenGL backends
- Fixed: Map generator shouldn't plant flowers/mushrooms when game version is < 0.0.23a (Thanks yeti0904)
- Fixed: Inventory sometimes showing invalid blocks with game versions < 0.30
- Fixed: Rare issue where some PNGs were decoded with the wrong transparency
- Fixed: OpenGL 1.1 dedicated graphics backend not rendering sprite blocks
- Fixed: Water/Lava block physics stuck in infinite loop if collide type had been changed to None
- Fixed: Launcher servers list not properly parsing entries with special characters in Software field
- Fixed: Rare crash in Launcher servers list if there were no server entries at all after clicking Reload
- Fixed: 'initialising fonts cache' dialog shown multiple times when no system fonts can be found
- Fixed: Not compiling when EXTENDED_BLOCKS flag is turned off
- Fixed: Fix displayed FPS being much lower than actual FPS for one second after 3D context recreated
Windows:
- Improved: Return a different error code when DNS lookup cannot resolve hostname
- Improved: Downloadable pre windows 2000 build now uses alternative http client backend
- Improved: Direct3D11 backend uses reverse depth buffer for better range precision
- Improved: Try to use more descriptive error names in crash message dialog
- Improved: Add ARM/ARM64 platform configurations to Visual Studio project
- Improved: Visual studio compiled executables have ClassiCube icon
- Fixed: In Direct3D11 backend, fog being very slightly wrong
- Fixed: Isometric rendered blocks being slightly misaligned on Direct3D11 backend
- Fixed: Trying to play music crashing the game on i586 only CPUs
- Fixed: Add a workaround for translucent blocks not rendering properly on some old GPUs with Direct3D9
- Fixed: Load/save file dialogs not working on Windows 9x/NT4
- Fixed: Getting build time in Updates menu not working on Windows 95/98
- Fixed: Clicking links not working on Windows 95/98
- Fixed: Crash handling stackwalking code rarely crashing
- Fixed: Windows 9x crash logs missing modules list
- Fixed: Windows 9x crash logs missing module/symbol names for stacktrace addresses
- Fixed: Camera constantly shaking when compiled with old TCC versions
macOS:
- Improved: Don't hardcode
libcurl.dylib
lookup to/usr/lib
directory - Improved: Add logging for unhandled NSExceptions
- Fixed: Try to prevent errors when showing a dialog from crashing the game
Linux:
- Improved: Cleaner desktop entry generation script (Thanks ssterling)
- Improved: Changed updates label and disable update UI for Flatpak build (Thanks abb128)
Webclient:
- Improved: Auto rewrite
imgur.com
toi.imgur.com
in URLs
Android:
- Fixed: Add Google Sans as a supported fallback system font
iOS:
- Improved: Also show software name in server list
Other:
- Improved: Make it easier to compile on IRIX
- Improved: Add more CPU architectures for register dumping on haiku OS
- Improved: Better BeOS compatibility
Consoles:
- Added: Mostly usable 3DS port
- Added: Mostly usable Wii port
- Added: Somewhat usable GameCube port
- Added: Somewhat usable Dreamcast port
- Added: Preliminary PS Vita port
- Added: Preliminary PSP port
- Added: Unfinished Xbox port
- Improved: Make the Launcher mostly usable from controllers
- Improved: Make in-game menus mostly usable from controllers
- Improved: Better Wii controls (Thanks ymndoseijin)
Release 1.3.5
It is highly recommended that you update to this release so that skins continue to work
All:
- Added: Save file dialog, to allow saving maps anywhere and optionally in a non .cw format
- Added: Support for saving maps as .mine (Minecraft Classic map) in save file dialog
- Added: Classic inventory option in Nostalgia Options
- Added: 'Game version' in nostalgia options, to make the game more behave like classic versions before 0.30
- Improved: Change default skin server to new skin server CDN
- Improved: Use more verbose error messages for 404/403/401 texture pack download errors
- Improved: Rename /rendertype normalfast to just fast
- Improved: Show clearer error messages when trying to play unsupported audio files
- Improved: Make inventory menu in classic mode closer to original classic
- Improved: Split up nostalgia options into appearance and functionality
- Improved: Rename 'use CPE' nostalgia option to 'non-classic features'
- Fixed: Protcol version 5 or less mode getting stuck at connecting with some server software
- Fixed: Disconnect at login not displaying immediately with some server software
- Fixed: When singleplayer is started with an autoload map (i.e. by dropping a map file onto the executable), window titlebar and skin showed map filename instead of default username
Windows:
- Fixed: Screenshots having red and blue swapped in Direct3D11 backend
Linux:
- Improved: Show verbose error messages for http/https errors
- Fixed: Secure options not saving when run via a Flatpak
macOS:
- Improved: Show verbose error messages for http/https errors
Android:
- Added: Use modern content:// content provider on devices later than 6.0
- Fixed: Partially workaround some devices that constantly clear android managed cache folder
BSD:
- Improved: Support for compiling for ARM, PPC, MIPS CPU architectures
Solaris:
- Improved: Support for compiling for SPARC CPU architecture
serenityOS:
- Added: Initial support (thanks cflip)
Release 1.3.4
All:
- Added:
EntityTeleportExt
CPE extension (Thanks Goodly) - Fixed: Empty row appearing in inventory when server only supports original classic blocks
- Improved: Better compatibility with .cw level files generated by other software
Launcher:
- Improved: 'missing resources menu' colour is now based on current theme background colour
Windows
- Fixed: If working directory was
System32
folder, working directory was not automatically changed to executable directory
macOS
- Fixed: 64 bit build fullscreen now works on macOS versions before 10.7
- Improved: 64 bit build also shows total VRAM and HW acceleration status in
/client gpuinfo
Linux:
- Fixed: If working directory was
$HOME
folder, working directory was not automatically changed to executable directory
iOS:
- Added: App icons
- Fixed: 'Load file' support not working
- Improved: Store game data in user accessible Documents folder
- Improved: Store cached textures in Cache folder
Android:
- Fixed: 'Load file' support not working
- Improved: Store cached textures in Cache folder
- Fixed: Not compiling in Android Studio
Mobile webclient
- Fixed: Sometimes input focus getting permanently lost (i.e. couldn't return to game from pause menu)
Other:
- Added: WIP SerenityOS support
- Fixed: haikuOS not defaulting to native windowing backend
Release 1.3.3
All
- Improved: Avoid duplicate entries in input log, to simplify navigation through input history
- Improved: Save level name now defaults to name of last map loaded in singleplayer or saved
- Improved: Save/Load rest of environment fields to/from .cw maps
- Improved: Make F7 axis lines smaller and always visible in first person (Thanks Goodlyay)
- Improved: Stop changing working/current directory on Windows/Linux/BSD/Haiku/Solaris
- Improved: Save/Load map generation seed to/from .cw files
- Improved: Adjust picked position to account for camera vertical fall tilt (when not running in classic mode)
- Improved: Make .cw importer log errors in chat instead of force crashing game when encountering parsing failures
- Improved: Make crash error stacktraces slightly smaller
- Added: 'Load file' in texture packs list menu, to allow loading custom texture packs from anywhere on disc
- Fixed: Game force exiting if you attempt to add a message with over 511 characters
- Fixed: Rare crashing when server supports ExtendedBlocks extension but not FastMap extension
- Fixed: Extremely rare crash when trying to play music
Classic
- Added: Earlier classic protocol version support (WIP)
- Improved: Importing preclassic and classic 0.13 maps now spawns you in middle of the world
- Fixed: Top face of blocks in one level of water being darker compared to original Classic
- Fixed: Don't allow picking grass/double slabs in pure classic mode (gets you kicked by vanilla classic server software)
- Fixed: Minor water/lava offset being in opposite direction compared to original Classic
- Fixed: In classic mode, entity positions not being slightly offset into the ground
- Fixed: Rare spawning/despawning yourself behaviour differences compared to original Classic (these differences don't show up in commonly used server software)
Launcher
- Improved: Input widget border colours now base themselves on current theme colours
- Improved: Download classicube web texture pack as an alternate default texture pack
- Improved: Split up Options/Updates into two buttons on main menu
- Fixed: Always redrawing entirety of window contents instead of just changed bits
- Fixed: Rarely overwriting random memory or crashing when running on SDL backend
Windows
- Added: Option for display scaling support
- Fixed: When running in VirtualBox with mouse integration, the game did not respond to cursor movement at all
- Fixed: Generated default.zip unable be modified using Windows explorer zip support
macOS
- Fixed: Window showing garbage when resizing on 64 bit macOS
- Fixed: When compiled with recent SDK and when running on high DPI display, game only rendered to 1/4 of window
- Added: XBUTTON1/2 mouse button support
- Added: Add curl-verbose option for enabling verbose output from libcurl
Linux
- Added: Desktop entry generator
- Added: Add curl-verbose option for enabling verbose output from libcurl
- Fixed: Disable HTTP2 support to workaround some temporary download failure issues
- Improved: Get the game to compile for Alpha architecture (thanks aurxenon)
Webclient
- Improved: Save uploaded texture packs so that they persist across sessions
- Improved: Simplified integration process into third party websites
Mobile webclient
- Fixed: Text getting pasted twice
- Improved: Make text input dark instead of light
- Improved: Don't render chat input widget behind HTML text input
Mobile
- Improved: Options now save immediately after changing instead of at exit
- Fixed: Server defined hotkeys still persisting after you quit the server, and then join a different server or singleplayer
iOS
- Added: ios-specific app name (see /Clients output on servers)
- Fixed: Not being named ClassiCube in iOS home screen
- Fixed: Some input widgets being shifted offscreen
- Fixed: Can't activate camera with touch
- Fixed: Launcher checkboxes not appearing enabled
- Fixed: Can't see input widget text in dark mode
- Fixed: Game showing partial or duplicated render output when rotating device
- Improved: Implement proper fullscreen support
- Improved: Make home swipe bar more difficult to trigger
- Improved: View background switching colour uses launcher theme background instead of just blue
- Added: xcode project
- Fixed: User-Agent in HTTP requests not being set to Classicube app name
- Improved: Log debug messages somewhere that is actually acessible to device users (using NSLog)
- Improved: Landscape orientation locking (WIP still)
Android
- Fixed: After quitting game and then going to server list again, all text in the server list is blank/empty
- Improved: Support old devices whose GPUs only support a 16 bit depth buffer
NetBSD
- Fixed: libcurl and libopenal not being found
OpenBSD
- Fixed: Failing to start due to being unable to find any supported fonts
Haiku
- Added: Native windowing backend
Release 1.3.2
All
- Added:
Load file
button to allow loading map files from anywhere via system's load file dialog - Fixed: 'Download size' with dropbox texture packs always showing 'Determining..' forever
- Fixed: 'save level' being disabled instead of 'load level' in classic mode
- Improved: Detect png/zip based on file header signature instead of file extension
- Improved: Leaf particles have less gravity (like Classic)
- Improved: Make back buttons always 400 pixels wide like Classic
- Improved: Make chat input always cover entire width of the game window like Classic
- Improved: Make fullbright block glow more accurate (Thanks Goodly)
- Improved: Try to disconnect immediately instead of always waiting 30 seconds when possible
- Fixed: Disconnect menu pointlessly re-centreing cursor when shown
- Fixed: Crash when physics queue is cleared due to having over 536 million physics entries
- Improved: Change map gen to use still lava/water instead of active lava/water
- Improved: Crash message when currently selected graphics backend is unsupported
- Improved: Show better error messages when trying to join invalid maps
- Improved: Support spaces in game process command line arguments
Launcher:
- Added: Nordic theme
- Improved: Assume port 25565 in Direct Connect menu when no port is given
- Improved: Allow hiding empty servers from the list
- Improved:
mc://
urls can now be pasted into direct connect screen input fields - Improved: Change yellow to red for invalid field value errors
Linux
- Fixed: Launcher appearing corrupted when not run in 24 or 32 bit display depth
- Improved: 64 bit raspberry pi build now supported
macOS:
- Fixed: Cursor being unmovable if dialog is shown while raw mouse mode is enabled
- Improved: Try to fix fullscreen not working in Cocoa build for below macOS 10.7
Windows
- Fixed: Files from default.zip can't be extracted by built in windows ZIP extractor
- Various fixes and improvements to Direct3D11 backend
- Improved: OpenGL 1.1 fallback mode is now 64 bit compatible
- Fixed: Can't connect to servers on Windows 98
- Improved: Now supports Windows 95
- Improved: Make it easier to run on Windows NT 3.51
- Added: Option for confining cursor to window
- Fixed: Direct3D9 build crashing when unable to allocate memory for managed texture
- Fixed: Rare crash when IDirect3DDevie9_Reset returned D3DERR_NOTAVAILABLE
- Removed: Direct3D9 Ex backend (will be replaced by Direct3D11)
Webclient:
- Improved: Colours are now supported when drawing system font
- Improved: Don't show 'entering reduced performance mode' in regular chat
- Fixed: Rare garbage data when drawing system font text
- Fixed: Try to recover from 'The database connection is closing' issues
- Fixed: Can't connect to servers that require secure websockets
Mobile:
- Improved: Show Send text/icon on soft keyboard action button for chat input
Android:
- Fixed: 'Unexpected status line' errors with texture packs from dropbox
iOS:
- Many fixes, improvements, and now uses a completely native UI
Release 1.3.1
All
- Fixed: Game UI elements being scaled too large on desktop with high DPI
- Fixed: Opening inventory while holding a hidden block not showing its description
Windows
- Removed: High DPI support (for now)
Webclient
- Fixed: Trying to click invalid urls in chat causing game crash message to appear
Release 1.3.0
TL;DR
- macOS users are highly recommended to update (Fixes 100% CPU/GPU when ClassiCube is minimised or hidden)
- OpenGL build can now work run on old Windows versions (Vista and earlier) without a GPU
- ClassiCube will be less blurry when running with display scaling on Windows
- LimitXYZ modes majorly undershooting frame targets on some machines fixed
- Webclient users now still have physics in multiplayer when they switch to another tab
All
- Added: New CPE PluginMessage extension support (Thanks SpiralP)
- Added: GitHub Actions ci workflow (Thanks SpiralP)
- Added: Option to customise skin server
- Added: Preclassic - classic 0.13 .dat loading support
- Added: Option for skipping https certificate validation
- Improved: ESC shouldn't close texture pack download dialog
- Improved: Move auto close option to launcher
- Improved: Allow cuboiding blocks with spaces in names
- Improved: Auto reload map/texture pack list if FileNotFound error occurs
- Improved: GUI changes to be more classsic like (see GUI changes section)
- Fixed: Menu options appearing wrong for a few frames after being changed
- Fixed: Background (clear) color being wrong for one frame
- Fixed: Chatlog overflow at 8.3 million characters (partially)
- Fixed: Survival test .dat and betacraft saved .dat not loading
- Fixed: LimitXYZ modes majorly undershooting frame targets on some machines
- Fixed: DPI scaling of buttons mostly
Linux
- Added: Experimental Modern OpenGL build (WIP)
- Improved: Don't log 'anon_inode:i915.gem' memory ranges in crash logs
- Fixed: Not compiling on PowerPC 64 bit
- Fixed: Not compiling on MIPS 32/64 bit
Windows
- Added: OpenGL 1.1 fallback for 32 bit windows
- Added: High DPI support (WIP)
- Improved: More work on Direct3D11 backend
- Fixed: Quit Game not working on Windows 98
- Fixed: Fullscreen not working on Windows 98
- Fixed: /client res not setting window size correctly on Windows 98
- Fixed: OpenGL build not working at all in 16 colors mode
- Fixed: OpenGL build only showing 2 colors in 256 colors mode
- Fixed: Not compiling on ARM 64bit
macOS
- Added: Experimental Modern OpenGL build (WIP)
- Fixed: Using 100% CPU/GPU when game is minimised or hidden
- Fixed: Not compiling on ARM 64bit
- Improved: Makefile support for 64 bit macOS
Webclient
- Added: Basic system fonts support (WIP)
- Improved: Hosting documentation
- Improved: Allow importing lvl/fcm/dat since you can upload map files
- Improved: Run in very low performance mode instead of completely suspending when tab is inactive (e.g. fixes players who switched to another tab no longer moved at all in-game and couldn't be pushed)
- Improved: Your own skin is never cached between sessions now
- Fixed: Error messages getting cutoff
- Fixed: Crash when invalid URL is given to download something from
- Fixed: Invalid texture being pure black instead of pure white
Mobile
- Improved: Onscreen buttons mow use multiple columns (instead of just one column that can extend past bottom of screen)
- Fixed: Rare crash after receiving a lot of chat, quitting game, going in-game again, and then receiving a lot of chat
- Fixed: Invalid texture being pure black instead of pure white
GUI changes
- Changed '-----' to '-' for empty slots in list menus
- Classic names for keys are shown instead (e.g. RBRACKET instead of BracketRight)
- 'Select block' title in inventory is now shown even when no block is selected
- Load level menu has 'Load level' title instead of 'Select a level
- Add 'game menu' title and reposition back button in Pause screen
- Add 'Generate new level' title and reposition cancel button in Classic Gen screen
Release 1.2.9
All:
- Improved: Enable music and sound by default
- Improved: buildbot error reporting
- Improved: Document all ClassiCube error codes
- Fixed: Updates menu showing massive negative seconds values when system time is set to years behind current time
- Fixed: Example plugin instructions not compiling
Windows:
- Added: WIP Direct3D9Ex support (doesn't recreate map when resizing window, can run when another fullscreen 3D app is running)
- Added: Unfinished Direct3D11 backend
- Improved: Better error message when no audio output device connected
Mobile:
- Improved: Don't auto open keyboard in menus
Android
- Fixed: Game turned into a unusable blank window after configuration changed (e.g. USB mouse was connected)
- Improved: Made crash logs smaller by logging less unnecessary memory ranges
- Added: Support compiling for OpenGL ES 1.1
- Fixed: Crash dialog not showing most of the time
- Fixed: Game immediately dying when unhandled Java exceptions occurs
iOS:
- Fixed: Launcher drawing upside down
- Fixed: Can't open URLs in browser
- Fixed: Message boxes not working
- Fixed: Being unable to start game from launcher
- Fixed: Screenshot sharing not working
- Added: CFNetwork based http backend that barely works
Mobile webclient:
- Fixed: Numeric HTML input overlay being transparent on some web browsers
- Fixed: Numeric HTML input overlay didn't show numeric onscreen keypad on older iOS Safari
Webclient:
- Fixed: Canvas not auto clearing when client is exited due to an error (e.g. invalid port)
- Improved: Allow turning on chat logging, off by default though
Release 1.2.8
All:
- Added: Themes to the launcher
- Fixed:
/cuboid [block] yes
not persisting - Added:
+names/-names
support in MOTD - Added: Better error messages for audio
- Fixed: Support loading .lvl files with corrupted custom blocks section
- Fixed: Input overlay not being closed when source button is disabled
- Improved: Launcher now has proper per-menu titles
- Improved: Alternate servers row background colour when using classic theme
Mobile:
- Added: Holding over a hotbar slot drops the block (thanks igor725)
- Improved: Allow turning off hold/tap place/delete behaviour
Android:
- Improved: Pause music when in background, instead of muting
- Fixed: Sounds not working on older devices
- Added: Orientation lock checkbox (thanks igor725)
iOS:
- Added: Extremely primitive support
Webclient:
- Added: Basic sounds support
macOS:
- Fixed: Compiling for Apple M1 wrongly using Carbon instead of Cocoa backend
- Fixed: Can't click dialogs on macOS 10.3
- Fixed: PNGs that are encoded using indexed mode and have a transparent chunk not decoding properly on big endian systems
- Improved: Remove the hack where first time going fullscreen in Carbon backend would also do an additional unfullscreen then fullscreen
- Improved: Remove Alpha status from cocoa version
Linux:
- Fixed: Issues when running game through libTAS
Windows:
- Added: Compilation instructions for TCC
Other:
- Fixed: Stacktraces missing functions asides from init on BSD with makefile compiled builds
- Fixed: Not compiling on Solaris and haikuOS
Release 1.2.7
All
- Improved: Don't wait for current HTTP request to finish before closing game
Linux:
- Fixed: Pasting completely non code page 437 text always causing game to freeze for 1 second
Webclient:
- Fixed: Rare case where Module.saveNode would still throw an error and hence abort the game
- Improved: Allow downloading up to 6 requests in parallel