Commit Graph
111291 Commits
Author SHA1 Message Date
aryanrawlani28 846336cb31 KYRA: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 1d6f402540 KYRA: Move common game/detection related enums to new header
- Make KyraMetaEngineConnect our friend class
2020-10-03 14:56:36 +02:00
aryanrawlani28 033ad0baa1 KINGDOM: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 fe37efbca2 ILLUSIONS: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 242e01bb02 HUGO: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 d02d53e9a3 HUGO: Move common game-detection related enums to new header file. 2020-10-03 14:56:36 +02:00
aryanrawlani28 eaa1ef09a5 HOPKINS: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 eb78152664 HDB: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 509fd69827 GROOVIE: Solve missing header dependencies. 2020-10-03 14:56:36 +02:00
aryanrawlani28 563cef1071 GROOVIE: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 854a499307 GRIFFON: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 1c06bc6e75 GNAP: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 cf69fce865 DRAGONS: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 794909c7fc DRAGONS: Move common game-detection code to new header files. 2020-10-03 14:56:36 +02:00
aryanrawlani28 8eb9ae7c98 DRACI: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 26c475b784 DM: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 b027c8f11e DM: Move common-game & detection code to header files from dm.h
- Move enums to detection_enums.h
- Move DM..GameDescription struct to detection.h
2020-10-03 14:56:36 +02:00
aryanrawlani28 7bdc910cc8 COMPOSER: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 ce07bd711f GOB: Split detection code & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 9b774c6b6f GOB: Move detection-related enums from gob.h -> detection/detection_enums.h
- This way, we won't have to include the whole gob.h file.
2020-10-03 14:56:36 +02:00
aryanrawlani28 bd9514ffa8 GOB: Remove gob engine file dependencies from dataio.cpp
- DataIO is a class that helps with fallback detection for MetaEngines.
- To prepare it for being included in the executable, get rid of unneeded engine dependencies & headers.
- A utility function is being used from util.cpp, simply prepare a static copy in fileio.cpp
- Leave a comment saying a copy is being used in util.cpp.
2020-10-03 14:56:36 +02:00
aryanrawlani28 2f6453100b AGOS: Split detection code & adapt to new plugins.
- Move AGOSGameDescription -> detection.h
- Move obsoleteGameIDsTable -> obsolete.h
- Both the above points are because the detection needs them, as well as the engine.
- By moving to headers in this pattern, we avoid many unnecessary inclusions and keep everything clean.
2020-10-03 14:56:36 +02:00
aryanrawlani28 5850987077 AGOS: Move some common detection related enums from intern.h -> intern_detection.h
- Include it in intern.h, so everything functions normally.
- However, now we can include detection-related things from intern.h in other files, without including unnecessary things.
2020-10-03 14:56:36 +02:00
aryanrawlani28 76cb0351e0 AGOS: Move common enum from agos.h to new header file 2020-10-03 14:56:36 +02:00
aryanrawlani28 c7dc3d6118 ZVISION: Split detection code & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 bbed423569 ZVISION: Move common enums to detection_enums header file.
- These enums are helping in game detection, as well as needed for the engine.
2020-10-03 14:56:36 +02:00
aryanrawlani28 c5325c68c9 ACCESS: Split detection code & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 48751160f9 ACCESS: Move common enum to detection_enums.h 2020-10-03 14:56:36 +02:00
aryanrawlani28 4ef8eab545 CGE2: Split detection code & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 0d61c5bd4b CGE: Split detection code & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 4b377af8c6 QUEEN: Split detection code & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 0a14511547 ADL: Remove unneeded functions from detection & move to metaengine. 2020-10-03 14:56:36 +02:00
aryanrawlani28 d57f84205c ADL: Seperate detection.h into two headers to improve dependencies
- Also makes it match other engine conventions.
- Engine files get a copy of detection_enums, while metaengine & detection.cpp get a copy of detection.h as well as detection_enums.
2020-10-03 14:56:36 +02:00
aryanrawlani28 c2428c7a8f ADL: Split detection code & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 0880ab9357 SWORD25: Split detection code & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 a21da27bf1 SWORD2: Refactoring of code, split detection code, adapt to new plugins.
- Entire code was located in the main sword2.cpp file.
- Seperate detection-related code to detection.cpp
- Seperate other MetaEngineConnect related code to metaengine.cpp
- detection.h serves common code between the above files
- A enum value has been copied from sword2.h into the detection TU to avoid duplicate copy
- the detection.h has static function definitions for detecting games.
- This is because metaengine.cpp includes it & detection.cpp does as well.
- If we keep the methods as static, we can truely seperate out everything detection related.
2020-10-03 14:56:36 +02:00
aryanrawlani28 467ca35a37 SWORD1: Split detection code & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 141edd7eb8 LURE: Split detection code & adapt to new plugins.
- There is also some shifting around of code done, so metaengine.cpp & detection.cpp can only share what's needed.
2020-10-03 14:56:36 +02:00
aryanrawlani28 14edaf3d03 DRASCULA: Split detection code & adapt to new plugins
- Also shift common things to detection.h, like a struct & enum.
2020-10-03 14:56:36 +02:00
aryanrawlani28 5161f46f98 DREAMWEB: Split detection code & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 cdf4261328 DREAMWEB: Move common struct to detection.h
- This way we don't include entire detection_tables in metaengine.cpp, which needs it.
2020-10-03 14:56:36 +02:00
aryanrawlani28 6a3b7b6722 SKY: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 4c1a03845f SCUMM: Refactoring, remove detection.o dependency from modules.
- Move detection code used by createInstance & MetaEngine to a common header - detection_internal.h
- Move steam-related method & table to detection_steam.h
- More info in comments.
2020-10-03 14:56:36 +02:00
aryanrawlani28 dc4672e294 SCUMM: Split detection features & adapt to new plugins.
- Also, we remove the static keyword so other TU's can use the functions defined.
- This change has a catch.
- Because creating an instance depends on game detection code from detection.cpp, we cannot exclude it from Scumm.
- For Statically linked Scumm, we can simply exclude these detection files, because they're already being built.
- For dynamically linked Scumm, we can add it to our executable.
- Thus, for dynamically linked Scumm, one catch is that we have duplicated code (detection.o in our executable, as well as scumm.dll), but that shouldn't be a big problem considering the advantage it gives us: Detection without a plugin loading.
2020-10-03 14:56:36 +02:00
aryanrawlani28 d10eb35dfe SCUMM: Move obsoleteGameIDsTable from detection_tables to a common header
- MetaEngineConnect requires these at compile time.
- In order to avoid including everything from detect_tables, we just move the one thing we need into header, and include that in metaengine.cpp
- Also include it in detection_tables.h to restore orignal functionality.
2020-10-03 14:56:36 +02:00
aryanrawlani28 fa36701425 AGI: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
aryanrawlani28 9c6c628ae6 AGI: Move some common code to detection.h
- These structs are necessary for detection, as well as the engine itself.
- So, we move it to a common header file, include it once in both the files.
- This way, we won't have to include agi.h inside detection translation unit, which saves us much junk code going into the executable.
2020-10-03 14:56:36 +02:00
aryanrawlani28 978901cc2f PLUMBERS: Split detection code & adapt to new plugins.
- Detection related code, and the class MetaEngine lives in detection.cpp
- Things which require the engine to be loaded, are in metaengine.cpp - the relevant class is called MetaEngineConnect.
- Update modules for the necessary changes.
2020-10-03 14:56:36 +02:00
aryanrawlani28 1616d7d515 ENGINES: ME & MEC: Move achievements-related code to MetaEngineConnect
- Adjust accordingly for dialogs.
2020-10-03 14:56:36 +02:00
aryanrawlani28 0cc8719417 BASE: ENGINES: Adapt to keymaps moving to engine plugins
- Also improvise usage of MetaEngineConnect in main.cpp a bit.
2020-10-03 14:56:36 +02:00