Commit Graph
137148 Commits
Author SHA1 Message Date
Joseph-Eugene Winzer d6d485dbae SUPERNOVA: Fixes umlaut in object description 2018-01-23 01:47:02 +00:00
Joseph-Eugene Winzer 63c62d25e1 SUPERNOVA: Adds explicitly invalid state for Objects 2018-01-23 01:47:02 +00:00
Joseph-Eugene Winzer b948a53f2f SUPERNOVA: Substitutes static variables with privates 2018-01-23 01:47:02 +00:00
Joseph-Eugene Winzer 714b38dde4 SUPERNOVA: Fixes dimming when ship energy low
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 01:47:01 +00:00
Joseph-Eugene Winzer 3284fbc657 SUPERNOVA: Fixes cockpit display
Cruising speed and distance were inaccurate.
2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer ccbc1142e1 SUPERNOVA: Refactoring 2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer 8c18b4432a SUPERNOVA: Adds console command 'giveall'
Adds crucial items to the inventory. It eases debugging while loading of
savestates is not possible.
2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer c95efb1e3e SUPERNOVA: Refactoring
Renaming variables of GameState to avoid ambiguity.
2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer 2545ffd074 SUPERNOVA: Fixes overdraw of input 2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer 316aeeabd5 SUPERNOVA: Converts Object name and description to Strings 2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer 026bd79a6d SUPERNOVA: Removes redundant code 2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer 604d421660 SUPERNOVA: Changes parameter name of timeToString() 2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer 644a6835e5 SUPERNOVA: Adjusts init time values
to the approximated ms per tick constant of 55ms.
2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer 53c086c341 SUPERNOVA: Fixes setting alarm time on watch 2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer b64248981b SUPERNOVA: Fixes too large edit() field
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 01:47:01 +00:00
Joseph-Eugene Winzer 2c0518e0ba SUPERNOVA: Removes redundant loops around edit() 2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer cec70a4cb4 SUPERNOVA: Renames ObjectID 'SLOT' 2018-01-23 01:46:53 +00:00
Joseph-Eugene Winzer cd01ca0ad3 SUPERNOVA: Converts special characters 2018-01-23 01:42:32 +00:00
Joseph-Eugene Winzer 1e36c74e6b SUPERNOVA: Updates TODOs 2018-01-23 01:42:32 +00:00
Joseph-Eugene Winzer b0b682ad09 SUPERNOVA: Removes getDOSTicks() 2018-01-23 01:42:32 +00:00
Joseph-Eugene Winzer a24af98b5e SUPERNOVA: Corrects GameState variable names
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 01:42:32 +00:00
Joseph-Eugene Winzer a2f43c4eb6 SUPERNOVA: Adds ticks to msec conversion macro 2018-01-23 01:42:32 +00:00
Joseph-Eugene Winzer 89059ff50d SUPERNOVA: Fixes render error on death screen fadeout 2018-01-23 01:42:32 +00:00
Joseph-Eugene Winzer 18894e8f13 SUPERNOVA: Implements turnOn() 2018-01-23 01:42:26 +00:00
Joseph-Eugene Winzer b0c108ff60 SUPERNOVA: Adds ticks to msec conversion constant 2018-01-23 01:33:25 +00:00
Joseph-Eugene Winzer 29b7b91a59 SUPERNOVA: Removes TODOs 2018-01-23 01:33:24 +00:00
Joseph-Eugene Winzer c8e0f94fd1 SUPERNOVA: Fixes terminal in sleeping chamber
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 01:33:24 +00:00
Joseph-Eugene Winzer eabcca3e89 SUPERNOVA: Adds Alt-X as exit shortcut 2018-01-23 01:33:24 +00:00
Joseph-Eugene Winzer cac51759f7 SUPERNOVA: Corrects variables according to naming convention 2018-01-23 01:33:24 +00:00
Joseph-Eugene Winzer 5845cd7bd2 SUPERNOVA: Fixes rerendering of the room
One sprite can consist of many sections that are concatenated in a
linked list.
2018-01-23 01:33:24 +00:00
Joseph-Eugene Winzer bfa96d6f50 SUPERNOVA: Adds Audio info for rocks 2018-01-23 01:33:12 +00:00
Joseph-Eugene Winzer 1797b174c7 SUPERNOVA: Implements the remaining room definitions
While it compiles, it is still WIP.
Also there has been some confusion about the numbering of the
AxacussCorridor classes among other things that need to be done.
2018-01-23 01:33:01 +00:00
Joseph-Eugene Winzer 8a766b5b48 SUPERNOVA: Adds code for remaining game logic 2018-01-23 01:19:02 +00:00
Joseph-Eugene Winzer 830f983d83 SUPERNOVA: Adds text 2018-01-23 01:13:53 +00:00
Joseph-Eugene Winzer f0b638d762 SUPERNOVA: Adds resetProperty() for Objects
resetProperty() optionally takes an ObjectType as parameter that the
object gets set to. Otherwise it will be set as NULLTYPE.
2018-01-23 01:13:53 +00:00
Joseph-Eugene Winzer 3579bdef80 SUPERNOVA: Adds and corrects constants 2018-01-23 01:13:41 +00:00
Joseph-Eugene Winzer 7c13706d28 SUPERNOVA: Fixes code
kMaxSection - 1 was used in the original code to indicate if the GUI is
currently shown. In this engine an explicit variable _guiEnabled is
used.
2018-01-23 01:01:19 +00:00
Joseph-Eugene Winzer aa0606beed SUPERNOVA: Replaces longjmp to 'dead' 2018-01-23 01:01:19 +00:00
Joseph-Eugene Winzer d4c8fe528a SUPERNOVA: Substitues umlauts with their cp437 octal equivalent 2018-01-23 01:01:19 +00:00
Joseph-Eugene Winzer 8e9141d516 SUPERNOVA: Fixes SleepCabin::animation()
Some of the code didn't belong into the function.
2018-01-23 01:01:19 +00:00
Joseph-Eugene Winzer 48870921f0 SUPERNOVA: Implements shock() and removes longjmps to 'dead' 2018-01-23 01:01:18 +00:00
Joseph-Eugene Winzer 172377f093 SUPERNOVA: cleanup 2018-01-23 01:01:18 +00:00
Joseph-Eugene Winzer 2c9f7b4ba9 SUPERNOVA: Implements edit()
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 01:01:18 +00:00
Joseph-Eugene Winzer 6f9374c737 SUPERNOVA: Fixes parameter name for getKeyInput() 2018-01-23 01:01:18 +00:00
Joseph-Eugene Winzer 51c9357549 SUPERNOVA: Implements death screen 2018-01-23 01:01:18 +00:00
Joseph-Eugene Winzer 37b4a77732 SUPERNOVA: Refactors init and destruction of GameManager
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 01:01:18 +00:00
Joseph-Eugene Winzer 8ce533bb1b SUPERNOVA: Adds clear() to Inventory Class 2018-01-23 01:01:18 +00:00
Joseph-Eugene Winzer 99d7e7c1f6 SUPERNOVA: Input handling
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 01:01:10 +00:00
Joseph-Eugene Winzer 30e138dcfa SUPERNOVA: Adds indicator for key presses 2018-01-23 00:29:35 +00:00
Joseph-Eugene Winzer 0fdb3d8d10 SUPERNOVA: Extends text rendering
textWidth() and renderText() are overloaded for handling single uint16
characters (useful when rendering key strokes directly)
2018-01-23 00:29:35 +00:00