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