Skip to content

Releases: ClassiCube/ClassiCube

Release 1.3.6

28 Aug 23:11
Compare
Choose a tag to compare

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 to i.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

06 Jan 01:41
Compare
Choose a tag to compare

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

01 Nov 02:48
Compare
Choose a tag to compare

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

08 Oct 01:51
Compare
Choose a tag to compare

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

26 May 23:10
Compare
Choose a tag to compare

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

11 Jan 01:09
Compare
Choose a tag to compare

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

04 Jan 02:51
Compare
Choose a tag to compare

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

18 Oct 00:58
Compare
Choose a tag to compare

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

18 Sep 01:15
Compare
Choose a tag to compare

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

22 Jul 01:58
Compare
Choose a tag to compare

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