aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-01-23SUPERNOVA: Implements 'wait for input'Joseph-Eugene Winzer
Currrently the only implemented scene that uses this function is looking at the monitor in the cockpit. Depending on use cases in other scenes the function needs to be extended.
2018-01-23SUPERNOVA: Converts char game state variables to byteJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Adjusts game loop delayJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Removes shadowing of variablesJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Gets input before drawing calls;Joseph-Eugene Winzer
Before the status line would show invalid input for a frame what was especially annoying during animations, as they currently tend to block the game loop for their duration.
2018-01-23SUPERNOVA: Implements animationJoseph-Eugene Winzer
The original game's time was stored in 55ms ticks but we just run on milliseconds. setAnimationTimer() sets the ticks the currrent room's animation() function will not be called.
2018-01-23SUERNOVA: Initializes missing rooms on startupJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Rewrites animation for Cockpit and SleepCabinJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Implements showing cockpit monitorJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes visibility of room constructorsJoseph-Eugene Winzer
Signed-off-by: Joseph-Eugene Winzer <m999@openmailbox.org>
2018-01-23SUPERNOVA: Corrects exit direction of sleeping cabinJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds definitions for remaining roomsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Implements delay for animationsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Refactors event loopJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes typo in room definitionJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Initializes clickField.next with 0Joseph-Eugene Winzer
It seems it is possible that some objects or subsequent click fields 'pointed' to by next are outside of the initialized range and are expected to be zeroed. This would explain the non-deterministic freezes I experienced.
2018-01-23SUPERNOVA: Corrects left mouse click behaviorJoseph-Eugene Winzer
This still needs work especially concerning actions that need two objects like ACTION_USE or ACTION_GIVE.
2018-01-23SUPERNOVA: Fixes that objects are removed when takenJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Converts Inventory as GuiElementsJoseph-Eugene Winzer
By encapsulating the inventory state in GuiElements we can through out inventory_object
2018-01-23SUPERNOVA: Removes isVisible flag from GuiElementJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes font renderingJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Renames charcterWidth() to textWidth()Joseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds table for octal cp437 umlautsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Makes Inventory::get() return nullObjectJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Refactors room definitionsJoseph-Eugene Winzer
Calling renderImage() directly causes unintended side effects since e9d7b7ca0f as drawImage() besides rendering also set visibility flags.
2018-01-23SUPERNOVA: Corrects OPEN to more descriptive OPENABLEJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds debugging code for rendering available sectionsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds tons of stuffJoseph-Eugene Winzer
Most notably changes are, Handling of object state when calling drawImage() for inverse section rendering Beginning to convert GUI to GuiElements (_guiCommandButton) Mouse Input handling This is still WIP but better than the glitchfest before.
2018-01-23SUPERNOVA: Removes warnings for Inventory codeJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Fixes renderRoom() by limiting the section rangeJoseph-Eugene Winzer
2018-01-22SUPERNOVA: removeMessage() now restores the screen on destructionJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Fixes typo in definition of objectsJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Enables renderImage() to render inverse sectionsJoseph-Eugene Winzer
Besides the addition of inverse sections, the 'fullscreen' parameter was removed as it was used only for testing purposes in the beginning.
2018-01-22SUPERNOVA: Removes 'inverse section' caseJoseph-Eugene Winzer
This code section was converted from the original source, where the sections are directly drawn to the screen instead of buffered. If a section > 128 is set as parameter, the function takes the dimensions of section - 128 and draws this region of section 0 to the screen, thus restoring it. It would not make sense loading part of section 0 in seperate Surfaces especially since kMaxSection is smaller than 128 the else branch is never entered so removing it doesn't change the programs behavior.
2018-01-22SUPERNOVA: Adds GuiElement ClassJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Extends Object ClassJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds info to NOTESJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Fixes bathroom location on minimapJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds missing copyright headerJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Cosmetic changes in console codeJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Converts strings back to cp437Joseph-Eugene Winzer
2018-01-22SUPERNOVA: Implements GUI routines and refactors codeJoseph-Eugene Winzer
Of course the short description does not adequately describe the changes made with this commit and I assume this won't be the last big restructuring unfortunately. Focus of this commit was to implement/fix the code so the main user interface can be rendered. Bugs in the core routines for rendering Messages and Images were fixed as well.
2018-01-22SUPERNOVA: Fixes Message positioningJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Fixes parameters passed to fillRect()Joseph-Eugene Winzer
2018-01-22SUPERNOVA: Fixes ScreenBufferStackJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Fixes endianess issue for drawing cursorJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Buffer Music filesJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Implements playSoundMod()Joseph-Eugene Winzer
2018-01-22SUPERNOVA: Buffers sections of image on initJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Converts mouse cursor dataJoseph-Eugene Winzer