aboutsummaryrefslogtreecommitdiff
path: root/engines
AgeCommit message (Collapse)Author
2018-01-22SUPERNOVA: Implements rendering of newspaper articlesJoseph-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-22SUPERNOVA: Buffers audio samples on startupJoseph-Eugene Winzer
2018-01-22SUPERNOVA: ReformattingJoseph-Eugene Winzer
Substitute size_t with ScummVM defined uint type
2018-01-22SUPERNOVA: Enables debug console and preload imagesJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Implements loading of newspaper imagesJoseph-Eugene Winzer
While the 640x480 images are loaded correctly, they are displayed cropped to 320x240, the default resolution.
2018-01-22SUPERNOVA: Fixes file name creationJoseph-Eugene Winzer
2018-01-22SUPERNOVA: RefactoringJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Enables rendering of debug consoleJoseph-Eugene Winzer
2018-01-22SUPERNOVA: FormattingJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds missing copyright notesJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds room specific game logicJoseph-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-22SUPERNOVA: RefactoringJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Refactors and adds GameManager functionsJoseph-Eugene Winzer
2018-01-22SUPERNOVA: 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-22SUPERNOVA: 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-22SUPERNOVA: Adds further game logic stubsJoseph-Eugene Winzer
Signed-off-by: Joseph-Eugene Winzer <m999@openmailbox.org>
2018-01-22SUPERNOVA: Extends Rooms for setting section visibilityJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Provides rooms with engine pointersJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Lifts encapsulation of GameManager ClassJoseph-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-22SUPERNOVA: Renames game functionsJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Implements GameManager Class and extension to engineJoseph-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-22SUPERNOVA: Extends screen message systemJoseph-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-22SUPERNOVA: 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-22SUPERNOVA: Adds getDOSTicks()Joseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds Container for temporarily storing screen sectionsJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds constant messagesJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds isSectionVisible() to Object ClassJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Fixes getObject() to return pointer to ObjectJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds GameState ClassJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds getObject() to Room InterfaceJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds static combine() to Object ClassJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Returns if section is invalidJoseph-Eugene Winzer
Sections with an x2 value of 0 cannot span any area and are thus invalid
2018-01-22SUPERNOVA: ReformattingJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds getFileNumber() to Room ClassJoseph-Eugene Winzer
2018-01-22SUPERNOVA: ReformattingJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds text for commands in GUIJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds hasProperty() for Objects and bit opsJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds Inventory ClassJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Substitutes magic numbers in Object ctorJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Substitutes magic numbers with symbolsJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds methods for alterting Object stateJoseph-Eugene Winzer
2018-01-22SUPERNOVA: RefactoringJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Removes ORing ObjectTypes from msn_def.hJoseph-Eugene Winzer
The reason for the removal is because of gcc warnings when the operator is not used in a translation unit that includes msn_def.h. Currently I also see it used in the game logic anyway so there's no need for it to be defined in a ubiquitiously used header file like msn_def.h
2018-01-22SUPERNOVA: Adds color palette constantsJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Moves Object Class from rooms.h to msn_def.hJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds room data for Ship chapterJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Updates renderImage() functionJoseph-Eugene Winzer
renderImage() now considers the size of image sections instead of blitting them on 320x200 by default.
2018-01-22SUPERNOVA: Setup image and section viewerJoseph-Eugene Winzer
Pressing 'w' increases the image index and 'e' the section index.
2018-01-22SUPERNOVA: Adds an empty ObjectType/ID and RoomIDJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Convert 18bit VGA to 24bit CLUT8Joseph-Eugene Winzer
Colors on VGA are 6bit per color channel, that is why the colors were so dark in earlier commits. Shifting the colors left by 2 gives us an approximated value for CLUT8.