Commit graph

521 commits

Author SHA1 Message Date
Jaromir Wysoglad
5ddc251528 SUPERNOVA: Preload exit list on room entry 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
09975e10c2 SUPERNOVA: Remove meaning TODOs from MS2 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
43131d8e02 SUPERNOVA: Add intermediate room classes 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
1cf7bd073f SUPERNOVA: Fix segfault in axacuss 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
01d601b237 SUPERNOVA: Reformat StringId enums and gametext.h 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
8125f7b67d SUPERNOVA: Fix street animation.
Street animation was changing memory that it shouldn't, so
going into the kiosk resulted in a segfault.
Also remove 2 debug lines from supernova2/state.cpp
2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
9cac9a8592 SUPERNOVA: Fix bugs
Fix GUI not working after leaving text edit field

Forbid showing help, info, doc screens, when GUI isn't alowed,
this should mimic the original game better and also resolves
some issues.
2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
a637cea700 SUPERNOVA: Remove unused getImage(CursorId) 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
0912b6a48d SUPERNOVA: Implement lazy loading of resources 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
714a4f909b SUPERNOVA: Refactor graphics 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
ab4af5c614 SUPERNOVA: Add info, doc, help screens for MS2 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
b1f37566ea SUPERNOVA: Refactor game-manager 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
2f84e6d22a SUPERNOVA: Refactor sound initialization 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
3cf9cfbf78 SUPERNOVA: Merge in the supernova2 engine. 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
33d7391f4a SUPERNOVA: Move part 1 files to it's own directory 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
4dd72f4ae0 SUPERNOVA: Divide rooms into 2 files 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
bc8393deaf SUPERNOVA: Divide GameManager into 2 classes
GameManager got divided into a base class, that will be used
for both parts and a derived class specific to only the first
part.
2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
5f355734fd SUPERNOVA: Partial merge of the engine
I am merging the second engine to the first one. Both should be
fully functional as before right now

Current merge file status:
console: should be done
graphics: should be done
detection: 0% merged
imageid: appears to not be used anywhere, so it may be removed
resman: partialy merged
rooms: totaly different, 0% merged
screen: should be done
screenstatic: done
sound: partialy done
state: a lot different, just started to merge
supernova: mostly done
2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
ee5b907f62 SUPERNOVA: Rearange supernova and supernova2 files
Rearange files so that similar code is in the same order in
both engines.
2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
98b3ba2d2b SUPERNOVA: Remove detection of Mission Supernova 2 2019-07-28 15:09:14 +01:00
Joseph-Eugene Winzer
8c4af9f175 SUPERNOVA: Adds text reader to view text files 2019-05-28 02:24:43 +02:00
Joseph-Eugene Winzer
38e04455fc SUPERNOVA: Adds Help screen 2019-05-28 02:24:42 +02:00
Joseph-Eugene Winzer
e7b91fe40f SUPERNOVA: Adds getters for screen width and height 2019-05-28 02:24:42 +02:00
Joseph-Eugene Winzer
7c3b128661 SUPERNOVA: Removes optional parameter for getKeyInput()
It doesn't serve a purpose anymore. The parameter was used to keep
waiting for key input if it was a 'non text editing' event, like
pressing the shift modifier key. The only place it was used was for text
input when interacting with the computer in ShipSleepCabin.
2019-05-28 02:24:42 +02:00
Joseph-Eugene Winzer
6da729171c SUPERNOVA: Adds strings for help screen 2019-05-28 02:24:42 +02:00
Joseph-Eugene Winzer
5ff4764442 SUPERNOVA: Fixes possible OOB read 2019-02-06 09:42:11 +01:00
Joseph-Eugene Winzer
498de6347e SUPERNOVA: Fixes OOB read 2019-02-06 09:42:11 +01:00
Joseph-Eugene Winzer
ff36f94c1f SUPERNOVA: Adds missing initializations 2019-02-06 09:42:11 +01:00
Joseph-Eugene Winzer
1d00e625cf SUPERNOVA: Fixing header file includes 2019-02-06 09:42:11 +01:00
Joseph-Eugene Winzer
21c9c885ba SUPERNOVA: Stops time and animations when reading the newspaper
After leaving the cell on Arsano there's a desk you need to attach your
watch to and set the alarm to attract the guard in the next room. If the
alarm goes off while reading the newspaper, the game glitches out with
wrong palette colors, scene, ..
2019-02-06 09:42:11 +01:00
Joseph-Eugene Winzer
641a4307f2 SUPERNOVA: Uses setCurrentImage in renderImage
Although renderImage for ImageId doesn't use _currentImage, it needs to
be set for compatibility with the section based renderImage function.
The functionality doesn't change with this commit, except that the
palette brightness gets updated if the image is in a different file.
2019-02-06 09:42:11 +01:00
Joseph-Eugene Winzer
536630aece SUPERNOVA: Removes invalid ImageId entry 2019-02-06 09:42:11 +01:00
Joseph-Eugene Winzer
bd298f3b3d SUPERNOVA: Removes GameManager dependency for Screen
All calls from Screen member functions to the GameManager instance
are relocated to the wrapper functions in SupernovaEngine.
2019-02-06 09:42:11 +01:00
Joseph-Eugene Winzer
437b1c0003 SUPERNOVA: Updates NOTES
The audio samples' offset and corresponding file number are better
described in sound.h. Also the variable timer2 was renamed quite a while
ago and served only as a reference to the original source code.
2019-02-06 09:42:11 +01:00
Joseph-Eugene Winzer
ebaa6739ec SUPERNOVA: Adds Outro image
msn_data.055 that stores the outro image was missed to be added
to imageInfo and thus not loaded during the engine init/
2019-02-06 09:42:11 +01:00
Joseph-Eugene Winzer
c20b960d80 SUPERNOVA: Adds renderImage overload for ImageId 2019-02-06 09:42:11 +01:00
Joseph-Eugene Winzer
1e62c55338 SUPERNOVA: Moves function definitions from rooms.h 2019-02-06 09:42:11 +01:00
Joseph-Eugene Winzer
d1fb1d45e8 SUPERNOVA: Adds missing image id 2019-02-06 09:42:10 +01:00
Joseph-Eugene Winzer
480d6c60b8 SUPERNOVA: Adds 'Image' prefix for ImageId constants 2019-02-06 09:42:10 +01:00
Thierry Crozat
287f40358e SUPERNOVA: Save sleep savegame at end of normal saves
This replaces using slot 999 to save this savegame and allows
to properly handle having several playthroughs with a different
state when going to sleep. This is also similar to what the
original engine was doing.
2018-12-28 20:40:27 +01:00
Cameron Cawley
f6015086e1 ENGINES: Add GUIErrorMessageFormat to replace duplicated functions (#1455) 2018-12-19 08:31:26 +02:00
Bastien Bouclet
9a4c0ae281 ENGINES: Normalize the getName() result of metaengines
Also-By: Matthew Hoops <clone2727@gmail.com>
2018-12-10 06:47:27 +01:00
D G Turner
51a2685e3f SUPERNOVA: Fix Unused Variable Compiler Warnings. 2018-07-29 08:25:37 +01:00
Eugene Sandulenko
a6d900db88 SUPERNOVA: Fix warning 2018-06-29 09:14:17 +02:00
Adrian Frühwirth
a20f90cbb7 JANITORIAL: Fix formatting 2018-04-22 00:56:21 +02:00
Adrian Frühwirth
9bee9e1ba6 JANITORIAL: Fix whitespace 2018-04-19 12:08:31 +02:00
Joseph-Eugene Winzer
77c06fe487 SUPERNOVA: Removes unused variable 2018-04-16 11:47:06 +02:00
Joseph-Eugene Winzer
d4592b6077 SUPERNOVA: Removes global nullObject
Before nullObject was a static member of Object class and now a member
of GameManager. Also the Inventory constructor was extended for taking a
pointer to the nullObject that Invetory::get() returns if no Object was
found.
2018-04-15 18:47:33 +01:00
Joseph-Eugene Winzer
94ebc96705 SUPERNOVA: Implements renderImage with ImageId 2018-04-15 18:28:39 +01:00
Joseph-Eugene Winzer
a4ac8895da SUPERNOVA: Removes renderImageSection() from SupernovaEngine
This function is never called by itself. It is a helper function for
renderImage().
2018-04-15 18:28:39 +01:00