zlib is used when available and falls back on gzio.
This allows performance improvements as our CRC32 and gzio
implementations are slower than base zlib.
As zlib is available when libpng is present, this is sensible to
benefit from it.
These warnings were emitted by GCC when -Wcast-function-type was passed.
This fixes these by refactoring so the engine only uses a single function
pointer type with the "extra" parameters always present.
This was uncommented in previous commit for testing and was kept by mistake
In this commit, some of the functions for the modify controls screen are not implemented at a basic level. The modify controls screen is just a picture, but other than the remapping of keys, which would need more work to implement and probably synch with the ScummVM keymapped, it contains useful info on how the game controls work.
Between GMM / ScummVM launcher settings and game
Also commented out some incomplete and unused code meant for cross fading or fading in and out music tracks (Songs)
Depending on other game option checkboxes. This is used to
enable/disable the semi-smooth scrolling checkboxes for FM Towns Loom,
since it's only used when smooth scrolling is enabled.
This employs a "lazy" approach: the "format" for the credits stays
exactly as it was, i.e., perl code. Of course one may want to change
this to another format (e.g. YAML, JSON, XML; or also shell script or
AWK, like `configure.engine` uses). But I deliberately kept it simple,
to get a minimal change that is easy to verify. Any further changes to
e.g. the format can be layered atop this.
These warnings occur from -Wcast-function-type due to the casting between
FuncPtr and EntFuncPtr. This change reduces the number of these required,
but further work will be needed to remove this fully without causing a
regression in game function.
For each engine:
- Make a new folder detection
- Move detection-related files inside the folder
- Add a new module "enginename/detection"
- Add DETECT_OBJS here
- Adjust the normal engine module to remove detect_objs
- Adjust every file for the new changes.