Joseph-Eugene Winzer
160ff13934
SUPERNOVA: Fixes object indices in room definition
2018-01-23 00:29:35 +00:00
Joseph-Eugene Winzer
678c10ea55
SUPERNOVA: Corrects typo
2018-01-23 00:29:35 +00:00
Joseph-Eugene Winzer
18c3647a63
SUPERNOVA: Updates NOTES
2018-01-23 00:29:35 +00:00
Joseph-Eugene Winzer
bcd32509bb
SUPERNOVA: Implements 'wait for input'
...
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 00:29:34 +00:00
Joseph-Eugene Winzer
5dce4bc874
SUPERNOVA: Converts char game state variables to byte
2018-01-23 00:29:34 +00:00
Joseph-Eugene Winzer
afb873c032
SUPERNOVA: Adjusts game loop delay
2018-01-23 00:29:34 +00:00
Joseph-Eugene Winzer
cf98468c32
SUPERNOVA: Removes shadowing of variables
2018-01-23 00:29:34 +00:00
Joseph-Eugene Winzer
2ff15f37eb
SUPERNOVA: Gets input before drawing calls;
...
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 00:29:34 +00:00
Joseph-Eugene Winzer
0462bd0184
SUPERNOVA: Implements animation
...
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 00:29:34 +00:00
Joseph-Eugene Winzer
97ef7cbe87
SUERNOVA: Initializes missing rooms on startup
2018-01-23 00:28:29 +00:00
Joseph-Eugene Winzer
4227195a82
SUPERNOVA: Rewrites animation for Cockpit and SleepCabin
2018-01-23 00:28:29 +00:00
Joseph-Eugene Winzer
daf55369a9
SUPERNOVA: Implements showing cockpit monitor
2018-01-23 00:28:29 +00:00
Joseph-Eugene Winzer
ffcd447a08
SUPERNOVA: Fixes visibility of room constructors
...
Signed-off-by: Joseph-Eugene Winzer <m999@openmailbox.org >
2018-01-23 00:28:29 +00:00
Joseph-Eugene Winzer
3f98c29ab1
SUPERNOVA: Corrects exit direction of sleeping cabin
2018-01-23 00:28:29 +00:00
Joseph-Eugene Winzer
02995da224
SUPERNOVA: Adds definitions for remaining rooms
2018-01-23 00:28:22 +00:00
Joseph-Eugene Winzer
0627ca35cb
SUPERNOVA: Implements delay for animations
2018-01-23 00:00:12 +00:00
Joseph-Eugene Winzer
30c5c85243
SUPERNOVA: Refactors event loop
2018-01-23 00:00:12 +00:00
Joseph-Eugene Winzer
83a5c81468
SUPERNOVA: Fixes typo in room definition
2018-01-23 00:00:12 +00:00
Joseph-Eugene Winzer
aa447e81bc
SUPERNOVA: Initializes clickField.next with 0
...
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-23 00:00:12 +00:00
Joseph-Eugene Winzer
83523ebbdc
SUPERNOVA: Corrects left mouse click behavior
...
This still needs work especially concerning actions that need two
objects like ACTION_USE or ACTION_GIVE.
2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer
d70ded12f6
SUPERNOVA: Fixes that objects are removed when taken
2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer
4fc7f73442
SUPERNOVA: Converts Inventory as GuiElements
...
By encapsulating the inventory state in GuiElements we can through out
inventory_object
2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer
aa22029ffe
SUPERNOVA: Removes isVisible flag from GuiElement
2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer
36263aaa0b
SUPERNOVA: Fixes font rendering
2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer
e0aa700dac
SUPERNOVA: Renames charcterWidth() to textWidth()
2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer
2a19f34bb5
SUPERNOVA: Adds table for octal cp437 umlauts
2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer
4c26b418cd
SUPERNOVA: Makes Inventory::get() return nullObject
2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer
5224c4d313
SUPERNOVA: Refactors room definitions
...
Calling renderImage() directly causes unintended side effects since
e9d7b7ca0f as drawImage() besides rendering also set visibility flags.
2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer
4d3e1eed8e
SUPERNOVA: Corrects OPEN to more descriptive OPENABLE
2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer
40c609c40b
SUPERNOVA: Adds debugging code for rendering available sections
2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer
e9375ea3ee
SUPERNOVA: Adds tons of stuff
...
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-23 00:00:11 +00:00
Joseph-Eugene Winzer
0f7266a6b4
SUPERNOVA: Removes warnings for Inventory code
2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer
c903ede023
SUPERNOVA: Fixes renderRoom() by limiting the section range
2018-01-22 23:54:42 +00:00
Joseph-Eugene Winzer
b959453b39
SUPERNOVA: removeMessage() now restores the screen on destruction
2018-01-22 23:54:42 +00:00
Joseph-Eugene Winzer
28b6430eaa
SUPERNOVA: Fixes typo in definition of objects
2018-01-22 23:54:42 +00:00
Joseph-Eugene Winzer
dc12a0fd23
SUPERNOVA: Enables renderImage() to render inverse sections
...
Besides the addition of inverse sections, the 'fullscreen' parameter was
removed as it was used only for testing purposes in the beginning.
2018-01-22 23:54:41 +00:00
Joseph-Eugene Winzer
a54c9084c1
SUPERNOVA: Removes 'inverse section' case
...
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-22 23:54:41 +00:00
Joseph-Eugene Winzer
6d655b19fc
SUPERNOVA: Adds GuiElement Class
2018-01-22 23:54:41 +00:00
Joseph-Eugene Winzer
a8f62802cc
SUPERNOVA: Extends Object Class
2018-01-22 23:54:41 +00:00
Joseph-Eugene Winzer
718cae659c
SUPERNOVA: Adds info to NOTES
2018-01-22 23:54:41 +00:00
Joseph-Eugene Winzer
30389746c8
SUPERNOVA: Fixes bathroom location on minimap
2018-01-22 23:54:41 +00:00
Joseph-Eugene Winzer
7c8f5bdd3d
SUPERNOVA: Adds missing copyright header
2018-01-22 23:54:41 +00:00
Joseph-Eugene Winzer
69f6ef0efd
SUPERNOVA: Cosmetic changes in console code
2018-01-22 23:54:41 +00:00
Joseph-Eugene Winzer
b6887b0740
SUPERNOVA: Converts strings back to cp437
2018-01-22 23:54:41 +00:00
Joseph-Eugene Winzer
30308fbe8d
SUPERNOVA: Implements GUI routines and refactors code
...
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-22 23:54:26 +00:00
Joseph-Eugene Winzer
87a0dd970a
SUPERNOVA: Fixes Message positioning
2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
2c17586c76
SUPERNOVA: Fixes parameters passed to fillRect()
2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
4a68aef1d6
SUPERNOVA: Fixes ScreenBufferStack
2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
84eb970bb9
SUPERNOVA: Fixes endianess issue for drawing cursor
2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
11b6227517
SUPERNOVA: Buffer Music files
2018-01-22 23:42:08 +00:00