ClassiCube for IRIX


A while ago I worked with the developer of ClassiCube, UnknownShadow200 to port ClassiCube to the SGI operating system IRIX. ClassiCube is a clean-room classic minecraft client written in C and runs on practically everything. This project was perfect for my goal to have a Minecraft like game ported to IRIX, as I felt that it was necessary to have a minecraft like game available on IRIX. One of the criteria for porting a client to IRIX is that it needs to be written in a language that is available to be compiled on IRIX so C was the obvious choice. It also needs to have libraries that are available on IRIX since that is one of the major hindrances for porting software. It needs to use OpenGL 1.1 as the graphics api due to most sgi graphics using Opengl 1.1. ClassiCube meets all of the criteria but I still needed to get it compiled on IRIX and that's where the fun began.

ClassiCube needs libX11, libgcc, libXau, libXdmcp, libcurl-devel, libGLU, and LibGL which you can install from the amazing project SGUG-RSE which is a rpm software environment. It also needs neko_openal-1.1.tardist which you can get from the Nekoware repo. Once you have the required libraries installed from SGUG-RSE and Nekoware you will need to install GCC 9.2 from SGUG-RSE and I suggest you install git and clone the ClassiCube-IRIX repo from github. Note that the main branch doesn’t properly work with IRIX and doesn’t have the GL optimizations that the user, drmadison who kindly used his OpenGL wizardry to help the performance. Once you have the ClassiCube-IRIX repo cloned go into the ClassiCube-IRIX/src/ directory and you are in the SGUGshell prompt run

gcc *.c -o ClassiCube -Wl,-rpath-link=/usr/lib32 -Wl,-rpath=/usr/lib32:/usr/sgug/lib32 -lX11 -lGL -lGLcore -lGLU -lpthread -Wl,--allow-shlib-undefined -DCC_BUILD_GL11 -DCC_BUILD_NOMUSIC

-DCC_BUILD_NOMUSIC is included because including the music can break the game and prevent it from running. Still working on a fix for this.

Once you get it built it should be as easy as launching ./ClassiCube. At first launch you will need to install some media files like textures and music from the official minecraft website to avoid distribution of these files. This should automatically happen so you shouldn’t have an issue but you do need an internet connection. It will also set fonts and other setup stuff. Then you will be ready to play. You can also play multiplayer on online servers if you login to a ClassiCube account. You can register for on their website If you have any questions or concerns please message me. Have fun!