Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-01-23 | SUPERNOVA: Adds indicator for key presses | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Extends text rendering | Joseph-Eugene Winzer | |
textWidth() and renderText() are overloaded for handling single uint16 characters (useful when rendering key strokes directly) | |||
2018-01-23 | SUPERNOVA: Adjusts game loop delay | Joseph-Eugene Winzer | |
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 | SUPERNOVA: Refactors event loop | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Fixes font rendering | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Renames charcterWidth() to textWidth() | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Adds debugging code for rendering available sections | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Fixes renderRoom() by limiting the section range | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: removeMessage() now restores the screen on destruction | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Enables renderImage() to render inverse sections | Joseph-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-22 | SUPERNOVA: Extends Object Class | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Implements GUI routines and refactors code | Joseph-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-22 | SUPERNOVA: Fixes Message positioning | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Fixes parameters passed to fillRect() | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Fixes ScreenBufferStack | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Fixes endianess issue for drawing cursor | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Buffer Music files | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Implements playSoundMod() | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Buffers sections of image on init | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Converts mouse cursor data | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Implements rendering of newspaper articles | Joseph-Eugene Winzer | |
The resolution will change dynamically depending what image is about to be rendered. As there are no other GUI elements shown that depend on the screen resolution when the artciles are rendered, there shouldn't be any problems. | |||
2018-01-22 | SUPERNOVA: Buffers audio samples on startup | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Reformatting | Joseph-Eugene Winzer | |
Substitute size_t with ScummVM defined uint type | |||
2018-01-22 | SUPERNOVA: Enables debug console and preload images | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Implements loading of newspaper images | Joseph-Eugene Winzer | |
While the 640x480 images are loaded correctly, they are displayed cropped to 320x240, the default resolution. | |||
2018-01-22 | SUPERNOVA: Fixes file name creation | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Refactoring | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Enables rendering of debug console | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Adds room specific game logic | Joseph-Eugene Winzer | |
This is the game logic for the first act of the game. It will see restructuring to remove gotos/jumps and hardcoded differences in game behavior depending on settings (e.g. sound on/off). | |||
2018-01-22 | SUPERNOVA: Refactoring | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Refactors and adds GameManager functions | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Changes return type to int for getDOSTicks() | Joseph-Eugene Winzer | |
The maximum return value is 0x1800B0, so easily covered by int (assuming 32bit+ architecture) | |||
2018-01-22 | SUPERNOVA: Extends renderText() | Joseph-Eugene Winzer | |
Restructures the renderText() function for providing a renderText(text) overload that starts rendering the string where the last call stopped. | |||
2018-01-22 | SUPERNOVA: Adds further game logic stubs | Joseph-Eugene Winzer | |
Signed-off-by: Joseph-Eugene Winzer <m999@openmailbox.org> | |||
2018-01-22 | SUPERNOVA: Renames game functions | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Implements GameManager Class and extension to engine | Joseph-Eugene Winzer | |
An instance of GameManager acts as an interface between the game logic and engine. It provides game specific functions like isHelmetOff() to check if the player wears his helmet. This commit also adds engine extensions like saveScreen() and restoreScreen() that makes use of the ScreenBufferStack class for temporarily saving and restoring sections of the screen. Most of the structure and code is bound to change but gives something to improve on. | |||
2018-01-22 | SUPERNOVA: Extends screen message system | Joseph-Eugene Winzer | |
Messages will be 'removable' by over-rendering the message by invoking removeMessage() with what was previously overdrawn. _messageDisplayed might need to be reworked to an int, depending if there are multiple messages rendered simultaneously. | |||
2018-01-22 | SUPERNOVA: Extends Inventory::get() | Joseph-Eugene Winzer | |
The code added as comments to Inventory::add() is the original code to check if scrolling in inventory is needed and redraw it. | |||
2018-01-22 | SUPERNOVA: Adds getDOSTicks() | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Adds Container for temporarily storing screen sections | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Adds hasProperty() for Objects and bit ops | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Adds Inventory Class | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Substitutes magic numbers with symbols | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Adds methods for alterting Object state | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Updates renderImage() function | Joseph-Eugene Winzer | |
renderImage() now considers the size of image sections instead of blitting them on 320x200 by default. | |||
2018-01-22 | SUPERNOVA: Setup image and section viewer | Joseph-Eugene Winzer | |
Pressing 'w' increases the image index and 'e' the section index. | |||
2018-01-22 | SUPERNOVA: Fix OOB write in paletteBrightness() | Joseph-Eugene Winzer | |
Palette color 255 doesn't seem to be used | |||
2018-01-22 | SUPERNOVA: Add palette fade in/out | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: add text rendering | Joseph-Eugene Winzer | |
Currently renderText() has two performance drawbacks. First, it locks the screen surface during the whole function for drawing the text directly to it. Besides that, it accesses the pixels in a cache unfriendly way because the font glyphs are stored tilted by 90 degrees. Most likely it won't pose any problems but if it should those issues need to be prioritized. |