aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova/msn_def.h
AgeCommit message (Collapse)Author
2018-01-23SUPERNOVA: Adds explicitly invalid state for ObjectsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Converts Object name and description to StringsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes too large edit() fieldJoseph-Eugene Winzer
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-23SUPERNOVA: Renames ObjectID 'SLOT'Joseph-Eugene Winzer
2018-01-23SUPERNOVA: Updates TODOsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds ticks to msec conversion macroJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds ticks to msec conversion constantJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds textJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds resetProperty() for ObjectsJoseph-Eugene Winzer
resetProperty() optionally takes an ObjectType as parameter that the object gets set to. Otherwise it will be set as NULLTYPE.
2018-01-23SUPERNOVA: Adds and corrects constantsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Corrects typoJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Corrects OPEN to more descriptive OPENABLEJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Extends Object ClassJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Converts strings back to cp437Joseph-Eugene Winzer
2018-01-22SUPERNOVA: Implements GUI routines and refactors codeJoseph-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-22SUPERNOVA: Converts mouse cursor dataJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Buffers audio samples on startupJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds missing copyright notesJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds constant messagesJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds GameState ClassJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Adds static combine() to Object ClassJoseph-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 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 an empty ObjectType/ID and RoomIDJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Add palette fade in/outJoseph-Eugene Winzer
2018-01-22SUPERNOVA: add text renderingJoseph-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-22SUPERNOVA: add characterWidth() functionJoseph-Eugene Winzer
Also did some cleanup on the font definition
2018-01-22SUPERNOVA: (TEMP COMMIT) drawing to screen surfaceJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Added basic game loop and play sound samplesJoseph-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.