Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-01-23 | SUPERNOVA: Alters wait function to stall at least _delay ms | Joseph-Eugene Winzer | |
wait2() is used for updating events all over the code with a parameter of 1, so to be sure there's at least one update it is wrapped in a do-while now. | |||
2018-01-23 | SUPERNOVA: Adds key input check function | Joseph-Eugene Winzer | |
This is temporary. Input is all over the place right now I feel, so it will be reworked 'soon'. | |||
2018-01-23 | SUPERNOVA: Removes comments | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Adds message prompt on exit | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Simplifies timing code | Joseph-Eugene Winzer | |
Removing remnants of the original code like _timeAlarmSystem. | |||
2018-01-23 | SUPERNOVA: Implements de-/serialization | Joseph-Eugene Winzer | |
WIP. It is currently broken. | |||
2018-01-23 | SUPERNOVA: Adds RoomID to Rooms | Joseph-Eugene Winzer | |
GameManager::airless() determined if the space suit could be taken off by comparing the current room pointer to the allocated room objects. This led to indeterministic behavior as sometimes airless() would falsely return true as the dynamic allocation of the Room objects cannot be expected to be in a certain order. Implementing the corresponing RoomID to a Room objects solves this problem. | |||
2018-01-23 | SUPERNOVA: Implements Return To Launcher | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Removes color macros | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Adds explicitly invalid state for Objects | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Fixes dimming when ship energy low | Joseph-Eugene Winzer | |
roomBrightness() saw the greatest change by ripping out dimColors(). I compared the result with the original game and I cannot see any difference by just reducing the palette brightness to 60%. | |||
2018-01-23 | SUPERNOVA: Refactoring | Joseph-Eugene Winzer | |
Renaming variables of GameState to avoid ambiguity. | |||
2018-01-23 | SUPERNOVA: Fixes overdraw of input | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Converts Object name and description to Strings | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Changes parameter name of timeToString() | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Adjusts init time values | Joseph-Eugene Winzer | |
to the approximated ms per tick constant of 55ms. | |||
2018-01-23 | SUPERNOVA: Fixes setting alarm time on watch | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Fixes too large edit() field | Joseph-Eugene Winzer | |
Before edit() cleared the input on screen by overdrawing it from x to the right side of the screen. This works fine for terminals but for example setting the watches alarm time it does not. The text font is 5x8 so overdrawing the max input length + 1 * 5 is sufficient to clear the screen from our input and the cursor. Also if the value ends up being too big it is clamped to the right side of the screen. | |||
2018-01-23 | SUPERNOVA: Removes redundant loops around edit() | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Converts special characters | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Corrects GameState variable names | Joseph-Eugene Winzer | |
According to the naming convention class member variables need to be prefixed with an underscore. Unfortunately, I already started converting time constants when making this change so ticksToMsec() and constant changes are sprinkled over this commit. | |||
2018-01-23 | SUPERNOVA: Fixes render error on death screen fadeout | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Implements turnOn() | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Adds ticks to msec conversion constant | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Removes TODOs | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Fixes terminal in sleeping chamber | Joseph-Eugene Winzer | |
Instead of manipulating C-Strings edit() now takes a Common::String as a parameter and the terminal input gets redrawn after every keystroke what simplifies the function greatly. | |||
2018-01-23 | SUPERNOVA: Adds code for remaining game logic | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Implements shock() and removes longjmps to 'dead' | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: cleanup | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Implements edit() | Joseph-Eugene Winzer | |
As the TODO says, there are still problems with the function that can be observed when using the terminal in the sleeping chamber. | |||
2018-01-23 | SUPERNOVA: Implements death screen | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Refactors init and destruction of GameManager | Joseph-Eugene Winzer | |
During the gameplay room state is overwritten and needs to be restored on restart/load. Currently the original room state is not preserved and thus needs to be destroyed and reinitialized to obtain the original state. | |||
2018-01-23 | SUPERNOVA: Adds clear() to Inventory Class | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Input handling | Joseph-Eugene Winzer | |
GetKeyInput/MouseInput/Input() block until the expected input happens. GetKeyInput() takes a parameter that checks if the key input is a 'printable' character, backspace, delete, return or escape. Also, the key state is now stored instead of just the ascii value of the pressed key. | |||
2018-01-23 | SUPERNOVA: Adds indicator for key presses | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: 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-23 | SUPERNOVA: Removes shadowing of variables | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: 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-23 | SUPERNOVA: Implements animation | Joseph-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-23 | SUERNOVA: Initializes missing rooms on startup | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Rewrites animation for Cockpit and SleepCabin | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Implements delay for animations | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Corrects left mouse click behavior | Joseph-Eugene Winzer | |
This still needs work especially concerning actions that need two objects like ACTION_USE or ACTION_GIVE. | |||
2018-01-23 | SUPERNOVA: Fixes that objects are removed when taken | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Converts Inventory as GuiElements | Joseph-Eugene Winzer | |
By encapsulating the inventory state in GuiElements we can through out inventory_object | |||
2018-01-23 | SUPERNOVA: Removes isVisible flag from GuiElement | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Renames charcterWidth() to textWidth() | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Makes Inventory::get() return nullObject | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Corrects OPEN to more descriptive OPENABLE | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Adds tons of stuff | Joseph-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. |