Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-01-23 | SUPERNOVA: Fix some warnings | Strangerke | |
2018-01-23 | SUPERNOVA: Move object name and description strings to engine data file | Thierry Crozat | |
2018-01-23 | SUPERNOVA: Start using strings from the engine data file | Thierry Crozat | |
This means that now all that remains to be done to play in English is to move all the strings to the engine data file and to translate them. | |||
2018-01-23 | SUPERNOVA: Load strings from the supernova.dat file | Thierry Crozat | |
2018-01-23 | SUPERNOVA: Add getting translated images from the engine data file | Thierry Crozat | |
2018-01-23 | SUPERNOVA: Clean indentations | Thierry Crozat | |
2018-01-23 | SUPERNOVA: Improve save state handling | Thierry Crozat | |
The saved game files now start with a header and version which allows to do some sanity check and will allow to change the format in the future if needed. Also the MetaEngine can now be queried for the meta infos of a save state. | |||
2018-01-23 | SUPERNOVA: Adds text speed variable | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Implements de-/serialization | Joseph-Eugene Winzer | |
WIP. It is currently broken. | |||
2018-01-23 | SUPERNOVA: Adds engine pause | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Implements Return To Launcher | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Removes getDOSTicks() | 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: Refactors event loop | Joseph-Eugene Winzer | |
2018-01-23 | SUPERNOVA: Renames charcterWidth() to textWidth() | 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: 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 ScreenBufferStack | 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: 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: Refactoring | 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: 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: Lifts encapsulation of GameManager Class | Joseph-Eugene Winzer | |
Room specific logic needs access to functions that currently are unavailable to them. Once no further extension or rearchitecture is rather unlikely, thoughts on encapsulation can be given but for now all members will be made public. | |||
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 Inventory Class | 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: Adds an empty ObjectType/ID and RoomID | Joseph-Eugene Winzer | |
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. | |||
2018-01-22 | SUPERNOVA: add characterWidth() function | Joseph-Eugene Winzer | |
Also did some cleanup on the font definition | |||
2018-01-22 | SUPERNOVA: add renderBox() | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: (TEMP COMMIT) drawing to screen surface | Joseph-Eugene Winzer | |
2018-01-22 | SUPERNOVA: Added basic game loop and play sound samples | Joseph-Eugene Winzer | |
There has been many other changes like copy/pasting room definitions, skeleton for image decoder, .. Getting supernova mod format support seems to be a good next step. | |||
2018-01-22 | SUPERNOVA: Create engine skeleton and game detection | Joseph-Eugene Winzer | |