v0.1.1.ap change log


  • Changed debug options to contain hyphens instead of underscores where a space would exist
  • Disabled gui window title bar auto size during gui debug
  • Enabled gui window title bar close button visibility during gui debug
  • Set gui window title bar width to match window width during gui debug
  • Set gui window title bar icon to default to the program icon
  • Update gui window to draw new theme container


  • * terminal segment borders seem to be enabled by default on linux
  • * GuiWindowContainer opacity not working
  • * rectangle draw function, notably where used by gui window container, corner pixel fudge seems to be a pixel out on linux
  • * should change audio files to ogg for native support on linux
  • * gui window container draw a pixel too low
  • * wallpaper not rendering on linux yet other images fine, is this because the image is of the resolution UHD?
  • Epic FPS on Linux




Here is a screen shot of multi monitor “simulation” mode

At the moment multi monitor is only available when in fullscreen mode, however I ought to allow it in windowed mode as this is what I use to simulate multiple monitors when my laptop isn’t plugged into my television.

I have now written code that allows the user to run multiple commands in one go, splitting them with the separators ; and &&

Also as a note to myself here – I need to change all command options to use a hyphen – instead of an underscore _ in place of spaces  because it is easier to type command options quicker like that as the fingers revert more easily to repeat the hyphen, just like they use for real Linux commands.

At some point I also intend to prevent the player from getting gui windows lost in the ether between monitors / windows, god forbid.. such a tragedy should never occur.

“cli_shell” also to be renamed to “cli”

Update – Current features

  • An OpenGL terminal
  • A motherboard initial boot scene
  • A mockup BIOS (which I intend to allow the user to set a password with)
  • A mockup desktop with some gui code for windows, buttons, labels (I intend to allow the user to disable auto login, and set a password so that they can lock the virtual desktop)
  • Process and program simulation
  • command line option and parameter parsing
  • A debug program and a bunch of mockup programs that allow file managment, directory traversal, etc. you can even set the host name of your virtual computer!
  • Multi monitor support
  • Audio and textures

Coding standards

I’m having to decide on some coding standards that are to my liking. If you have any suggested amendments I’d love to hear them.

Header Files

  • Don’t use “#pragma once”, this is Windows specific
  • Use #ifndef and macro definitions as they are suitable for all environments.
  • Don’t use “using namespace” within header (.h) files, only code files (.cpp)

Global Variables

  • Global variables should be prefixed with “g_” and prefixed with a lowercase letter

Classes and Namespaces

  • Classes should be stored in suitable namespaces
  • Class and Function names should start with the first letter capitalised
  • Private class member variables – start with “m_” and the first letter is lowercase
  • Public class variables should begin with the first letter capitalised


  • Function parameters should start with a lowercase charachter


  • Declare as null
  • Remember to deleted
  • Set to null again once deleted

The game begins

I’ve recently started work on a computer game called “Don’t quit, Own it” that I’m writing it in C++, or at least the engine for the game, which I hope will always start with a boot sequence, where you can go into the BIOS configuration to set a supervisor password that prevents others from accessing your saved game. So far there is that and a terminal, and that’s about it, the plan now is to work on GUI widgets. I hope to add a programming language to allow you to make your own console programs and also graphical programs. Please checkout the dev video page for a preview of where I’m at.