Commit Graph
169 Commits
Author SHA1 Message Date
Jaromir Wysoglad fc3ae4c9b9 SUPERNOVA: Fix most of Codacy issues
* Fix mismatched delete in create_image.cpp
* Add shebangs to create_ms2_data.***.sh
* Reduce scopes of some variables
* Substitute bitwise and for logical and in
    GamaManager2::passageConstruction
2019-07-28 15:09:14 +01:00
Jaromir Wysoglad c2177f8453 SUPERNOVA: Merge getInput and waitOnInput methods. 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad 448db9f432 SUPERNOVA: Make improved mode an engine option. 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad 0366f3da27 SUPERNOVA: Add help screen translation 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad e734872fc8 SUPERNOVA: Fix some code issues pointed by Criezy
Remove 2 unused variables and a function call with wrong datatype
2019-07-28 15:09:14 +01:00
Jaromir Wysoglad 7164016b34 SUPERNOVA: Refactor .dat file access 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad 0e31a6163d SUPERNOVA: Merge create_supernova tools 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad 37c53c420f SUPERNOVA: Load info files from .dat file 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad bcd62c0669 SUPERNOVA: Code refactoring
Add constant for inverting sections (number 128)
Move some initialization in initState from derived classes to
    base class.
Simpilfy AxacussCorridor4::onEntrance
2019-07-28 15:09:14 +01:00
Jaromir Wysoglad 61975aa2e2 SUPERNOVA: Add improved mode 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 ab4af5c614 SUPERNOVA: Add info, doc, help screens for MS2 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 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
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 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 c20b960d80 SUPERNOVA: Adds renderImage overload for ImageId 2019-02-06 09:42:11 +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
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 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
Joseph-Eugene Winzer 0668f9d363 SUPERNOVA: Removes unused RNG instance 2018-04-15 18:28:38 +01:00
Joseph-Eugene Winzer 3749f98dea SUPERNOVA: Fixes type camel case 2018-04-15 18:28:38 +01:00
Joseph-Eugene Winzer 93dde5d235 SUPERNOVA: Renames Music/AudioIndex to Music/AudioId 2018-04-15 18:28:38 +01:00
Joseph-Eugene Winzer 5008e88d4b SUPERNOVA: Fixes setCurrentImage 2018-04-15 18:28:38 +01:00
Joseph-Eugene Winzer 6ea629f944 SUPERNOVA: Moves VGA Palette to screenstatic.cpp 2018-04-15 18:28:38 +01:00
Joseph-Eugene Winzer 2ead17f09f SUPERNOVA: Implements render functions
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-15 18:28:29 +01:00
Joseph-Eugene Winzer ab208d1077 SUPERNOVA: Implements image buffering 2018-04-15 18:23:12 +01:00
Joseph-Eugene Winzer 6187e25199 SUPERNOVA: Renames NULL to nullptr 2018-04-15 18:23:11 +01:00
Joseph-Eugene Winzer d963827dbb SUPERNOVA: Renames MSNImageDecoder to MSNImage 2018-04-15 18:23:11 +01:00
Joseph-Eugene Winzer b2dc8d5424 SUPERNOVA: Adds resource abstraction
The resource abstraction includes loading of sound files and cursor
graphics.
2018-04-15 18:22:57 +01:00
Joseph-Eugene Winzer 07f5f34d42 SUPERNOVA: Removes stopAudio() 2018-04-14 11:45:52 +02:00
Joseph-Eugene Winzer 32877639d7 SUPERNOVA: Adds init function to SupernovaEngine 2018-04-14 11:45:52 +02:00
Joseph-Eugene Winzer 26543be637 SUPERNOVA: Adds sound abstraction 2018-04-14 11:45:52 +02:00
Joseph-Eugene Winzer dc38d6a8cd SUPERNOVA: Renames _timer1 to _messageDuration 2018-04-14 11:45:52 +02:00
Joseph-Eugene Winzer ff5426c609 SUPERNOVA: Moves updateEvents() to GameManager
updatEvents() depends on an initalized GameManager instance and mostly
manipulates its state. So it seemed fitting to move it over.
2018-04-14 11:45:52 +02:00
Joseph-Eugene Winzer bb46e53667 SUPERNOVA: Processes all keyboard queries in processInput() 2018-04-14 11:45:52 +02:00
Joseph-Eugene Winzer 80be48c42d SUPERNOVA: Removes redundant keypress check
GameManager::processInput() already does the job
2018-04-14 11:45:52 +02:00
Joseph-Eugene Winzer 392db4ed33 SUPERNOVA: Fixes formatting 2018-03-11 23:25:00 +01:00
Joseph-Eugene Winzer 61fb88ef20 SUPERNOVA: Removes TODO for quitGameDialog() 2018-03-11 23:25:00 +01:00
Joseph-Eugene Winzer 53af82785e SUPERNOVA: Substitues constant strings 2018-03-11 23:25:00 +01:00
Joseph-Eugene Winzer bb9bfcba4a SUPERNOVA: Encapsulates GuiElement
It simplifies the overloaded functions for renderBox/Text and saveScreen
2018-03-11 23:25:00 +01:00
Joseph-Eugene Winzer 7f5cea54e3 SUPERNOVA: Implements original quit prompt 2018-03-11 23:25:00 +01:00
Joseph-Eugene Winzer a38db245ed SUPERNOVA: Fixes formatting
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-03-11 23:25:00 +01:00
Joseph-Eugene Winzer 26b5522463 SUPERNOVA: Adds ModeList 2018-01-23 02:15:47 +00:00
Thierry Crozat ac609c91db SUPERNOVA: Make _event a local variable 2018-01-23 02:15:47 +00:00