aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova/supernova.cpp
AgeCommit message (Collapse)Author
2018-04-15SUPERNOVA: Moves VGA Palette to screenstatic.cppJoseph-Eugene Winzer
2018-04-15SUPERNOVA: Implements render functionsJoseph-Eugene Winzer
Although SupernovaEngine forwards render calls to screen, it also exposed members publicly like _brightness. Therefore, a few changes were necessary in rooms and state.
2018-04-15SUPERNOVA: Implements image bufferingJoseph-Eugene Winzer
2018-04-15SUPERNOVA: Renames NULL to nullptrJoseph-Eugene Winzer
2018-04-15SUPERNOVA: Renames MSNImageDecoder to MSNImageJoseph-Eugene Winzer
2018-04-15SUPERNOVA: Adds resource abstractionJoseph-Eugene Winzer
The resource abstraction includes loading of sound files and cursor graphics.
2018-04-14SUPERNOVA: Removes stopAudio()Joseph-Eugene Winzer
2018-04-14SUPERNOVA: Adds init function to SupernovaEngineJoseph-Eugene Winzer
2018-04-14SUPERNOVA: Adds sound abstractionJoseph-Eugene Winzer
2018-04-14SUPERNOVA: Renames _timer1 to _messageDurationJoseph-Eugene Winzer
2018-04-14SUPERNOVA: Moves updateEvents() to GameManagerJoseph-Eugene Winzer
updatEvents() depends on an initalized GameManager instance and mostly manipulates its state. So it seemed fitting to move it over.
2018-04-14SUPERNOVA: Processes all keyboard queries in processInput()Joseph-Eugene Winzer
2018-04-14SUPERNOVA: Removes redundant keypress checkJoseph-Eugene Winzer
GameManager::processInput() already does the job
2018-03-11SUPERNOVA: Fixes formattingJoseph-Eugene Winzer
2018-03-11SUPERNOVA: Removes TODO for quitGameDialog()Joseph-Eugene Winzer
2018-03-11SUPERNOVA: Substitues constant stringsJoseph-Eugene Winzer
2018-03-11SUPERNOVA: Encapsulates GuiElementJoseph-Eugene Winzer
It simplifies the overloaded functions for renderBox/Text and saveScreen
2018-03-11SUPERNOVA: Implements original quit promptJoseph-Eugene Winzer
2018-03-11SUPERNOVA: Fixes formattingJoseph-Eugene Winzer
Because of confusion when indentation level is raised and thus tabs or spaces should be used when aligning code, this commit switches to tabs to avoid any further confusion.
2018-01-23SUPERNOVA: Adds ModeListJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Make _event a local variableThierry Crozat
2018-01-23SUPERNOVA: Initializes RandomSource on stackJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Renames INT32_MAX to kMaxTimerValueJoseph-Eugene Winzer
Prevents collision with stdint.h INT32_MAX
2018-01-23SUPERNOVA: Fixes AudioStream leakJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Changes array to seperate variablesJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes segfault if dat file not foundJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Removes global constructor callJoseph-Eugene Winzer
Object() is redundant anyway as it instantiates an Object object and copies it to nullObject, which was already default constructed.
2018-01-23SUPERNOVA: Introduces INT32_MAX for eventTimeJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Corrects max value for int32Joseph-Eugene Winzer
2018-01-23SUPERNOVA: Do not try to render INTRO roomThierry Crozat
This room has no image and this avoids getting a warning about image file not found.
2018-01-23SUPERNOVA: Implement alarmThierry Crozat
2018-01-23SUPERNOVA: Fix handling of room brightnessThierry Crozat
There were several issues with the brighness due to the different implementation between the original and the code in scummvm. The code has now been modified to be much closer to the original, which fixed those issues and allowed to remove workarounds that had been added in various places to deal with those issues (but those workarounds had their own issues such as fade in happening too soon before switching to the new room).
2018-01-23SUPERNOVA: Load images on demandThierry Crozat
2018-01-23SUPERNOVA: Fix several issues with savegamesThierry Crozat
2018-01-23SUPERNOVA: Implement errorTempSave()Strangerke
2018-01-23SUPERNOVA: Implement autosave used for dream sequenceThierry Crozat
2018-01-23SUPERNOVA: Use setCurrentImage instead of passing the image to renderImageThierry Crozat
This is more similar to what the original code does and allows to retire the renderImage variant that takes an image.
2018-01-23SUPERNOVA: Add warning when trying to use out of bound file numberThierry Crozat
This is likely happening, and a comment has also been added to indicate this. The warning was added to help detect those issue and so that we don't forgert about it.
2018-01-23SUPERNOVA: Fix logic in rendering codeThierry Crozat
There were several issues fixed by this commit. The main ones are: - It was in many places only drawing the first section even for images that have multiple sections. - It was in some places using the wrong image. The first issue has been fixed by removing the GameManager::drawImage function, and moving its logic to SupernovaEngine::renderImage which was initially only drawing one section, but was nevertheless called directly from many place. The second image required more changes to the rendering code to allow setting the current image file when it is different from the room file. This fixes some memory issues and random crashes in places where it was for example trying to use the image -1. This also fixes the rendering of the flying cutscene.
2018-01-23SUPERNOVA: Fix room renderingThierry Crozat
It could initially access the wrong image to check the number of section. The code was working fine as long as it had one section, so there was probably no bad side effect to using the wrong image (except if it was NULL).
2018-01-23SUPERNOVA: Implement text speed dialogThierry Crozat
The text speed is also saved in the scummvm.ini file so that it persists between runs.
2018-01-23SUPERNOVA: Properly handle timer stop/startThierry Crozat
2018-01-23SUPERNOVA: Disable loading and saving during execution of event callbacksThierry Crozat
2018-01-23SUPERNOVA: Fix updating the palette brightness when the current image has no ↵Thierry Crozat
palette
2018-01-23SUPERNOVA: Fix incorrect delay for message displayThierry Crozat
The delay was not set, meaning the messages were immediately removed in some cutscenes.
2018-01-23SUPERNOVA: Implement event callback mechanism and Supernova eventThierry Crozat
2018-01-23SUPERNOVA: Fix image rendering when removing imageThierry Crozat
This is mostly used in talk animations and result in bad artefacts. The issue was a regression introduced in commit e0f6da0.
2018-01-23SUPERNOVA: Do not run animations while a text box is displayedThierry Crozat
That is also what the original is doing, and this avoid having graphical glitches.
2018-01-23SUPERNOVA: Fix crash when displaying strings larger than the screenThierry Crozat
2018-01-23SUPERNOVA: Reduce memory usage to store sections and simplify codeThierry Crozat
Each section was store dusing the full image size. Now it only uses the section size, which should reduce considerably the amout of memory used for each image. Also when a section has one or more next section, they were all drawn on the surface for this section, but then they were drawn again on their own surface. And while this should not cause any issue, this was really unnecessary (and prevented optimizing the surface size for each section). So now this is no longer the case and the surface for a section only contains this section.