Commit Graph

223 Commits

Author SHA1 Message Date
Joost Peters
c658a2e5d0 ICB: ELDORADO: support newer texture format 2022-08-05 17:31:40 +02:00
Joost Peters
166e8fc5b4 ICB: ELDORADO: handle fn_play_sting and fn_preload_sting differences 2022-08-05 17:05:08 +02:00
Joost Peters
436fd5a09d ICB: split McodeTable into ICB and ED variants 2022-08-05 15:23:10 +02:00
Joost Peters
c61f1d34c0 ICB: rename ICB fn_routines to fn_routines_icb 2022-08-05 15:23:10 +02:00
Joost Peters
fea4f8bcfa ICB: ELDORADO: support loading newer El Dorado version of .set files 2022-08-05 13:55:07 +02:00
Joost Peters
c365f5e928 ICB: remove erroneous semicolons 2022-08-05 13:41:56 +02:00
Torbjörn Andersson
48d1bab56c ICB: Add detection entry for my CD version of In Cold Blood
I don't know for sure, but I assume this is an earlier version than what
GOG distributes? One possible hint is that the binkw32.dll in GOG's
version contains the string "Bink now requires Miles version 7" while
the one on my CDs does not.
2022-08-05 08:14:21 +02:00
Paweł Kołodziejski
92e8e06024
ICB: ELDORADO: Icon size specifics 2022-08-05 08:12:58 +02:00
Paweł Kołodziejski
3b40bfc071
ICB: ELDORADO: Increased macro value 2022-08-05 07:39:57 +02:00
Paweł Kołodziejski
18e0949ac0
ICB: ELDORADO: More specifics for ICB flow 2022-08-05 01:09:32 +02:00
eientei
f1099a5cf2 ICB: ELDORADO: Add detection for Italian + Spanish Windows releases 2022-08-04 21:17:24 +02:00
eientei
cde17b7499 ICB: ELDORADO: Add detection for Portuguese full, English demo and PS1 versions 2022-08-04 21:17:24 +02:00
Joost Peters
fc46171489 ICB: ELDORADO: handle fn_set_as_player differences 2022-08-04 16:57:39 +02:00
Joost Peters
2e6cd47b68 ICB: ELDORADO: add some more script functions 2022-08-04 16:07:27 +02:00
Joost Peters
f23d8fddf7 ICB: ELDORADO: implement pose overriding functions 2022-08-04 13:48:42 +02:00
Joost Peters
7e903367cc ICB: ELDORADO: add fn_set_manual_interact_object() and fn_cancel_manual_interact_object() 2022-08-03 17:27:58 +02:00
Joost Peters
a125e3d3d0 ICB: ELDORADO: some more El Dorado script functions and differences 2022-08-03 16:41:28 +02:00
Joost Peters
4a7c433f92 ICB: ELDORADO: handle fn_set_watch difference 2022-08-03 15:41:24 +02:00
Joost Peters
46a4c63698 ICB: make error messages match the actual function names and add some apostrophes 2022-08-03 15:22:44 +02:00
Joost Peters
0892badade ICB: ELDORADO: add several El Dorado specific script functions 2022-08-03 15:07:02 +02:00
Paweł Kołodziejski
62770fe170
ICB: ELDORADO: Avoid selection mission and profiles in extras 2022-07-31 22:12:38 +02:00
Paweł Kołodziejski
ed394dc83f
ICB: ELDORADO: Added copyright info in game menu 2022-07-31 22:11:12 +02:00
Paweł Kołodziejski
6009e646f6
ICB: Few more endian fixes 2022-07-31 21:16:45 +02:00
Paweł Kołodziejski
b236160c9b
ICB: ELDORADO: This part only for ICB 2022-07-31 19:38:44 +02:00
Paweł Kołodziejski
726f52359c
ICB: ELDORADO: Game starts from 'scenes' instead 'player' 2022-07-31 18:23:03 +02:00
Paweł Kołodziejski
68659caf05
ICB: ELDORADO: Ignore scripts version mismatch for now 2022-07-31 18:02:03 +02:00
Paweł Kołodziejski
f74192101c
ICB: Switch detection from exe to game data. Added El Dorado to game entries 2022-07-31 17:22:08 +02:00
Paweł Kołodziejski
2c1e7d8e4d
ICB: Attempt to fix ppc build 2022-07-31 11:22:33 +02:00
Paweł Kołodziejski
c9428b441a
ICB: Mark game as unstable 2022-07-31 10:55:49 +02:00
Paweł Kołodziejski
dcd54c8821
ICB: Avoid casting BarrierCollision class to memory. Cleanup names. 2022-07-31 10:41:26 +02:00
Paweł Kołodziejski
a71891824d
ICB: Few more endian fixes 2022-07-31 10:30:27 +02:00
Paweł Kołodziejski
c37ab7845c
ICB: Avoid casting RapAPIObject to memory, cleanup naming, endian fixes 2022-07-31 00:25:48 +02:00
Paweł Kołodziejski
63cdc2f3eb
ICB: Avoid casting CGameObject class to memory 2022-07-30 21:26:14 +02:00
Paweł Kołodziejski
32f10e16f4
ICB: Few endian code fixes 2022-07-30 21:25:28 +02:00
Paweł Kołodziejski
8813b7e489
ICB: Silence warnings 2022-07-30 20:48:03 +02:00
Paweł Kołodziejski
a2aaca3786
ICB: Avoid casting rap_API class to memory 2022-07-30 16:58:23 +02:00
Paweł Kołodziejski
dedb524011
ICB: More work on endian code safe 2022-07-30 16:29:46 +02:00
Paweł Kołodziejski
a277b779f0
ICB: More work on endian code safe 2022-07-30 16:18:27 +02:00
Paweł Kołodziejski
0f4791ea28
ICB: Avoid casting PXMarker class to memory 2022-07-30 16:17:54 +02:00
Paweł Kołodziejski
c0a35f0825
ICB: Eliminate macro function override 2022-07-30 15:32:37 +02:00
Paweł Kołodziejski
072fead8da
ICB: Avoid casting LinkedDataFile class to memory 2022-07-30 15:14:30 +02:00
Paweł Kołodziejski
73f29ee3d5
ICB: Work in endian code safe, avoid casting pxBitmap class to memory. 2022-07-30 11:05:03 +02:00
Paweł Kołodziejski
25496c5a84
ICB: Do not load game data into memory. 2022-07-29 20:48:42 +02:00
Donovan Watteau
27f9a460b5 JANITORIAL: Fix "the the" and similar typos 2022-07-29 19:36:40 +03:00
Cameron Cawley
f3b094e53f ENGINES: Change the MetaEngineDetection interface to match MetaEngine 2022-07-23 23:31:58 +02:00
D G Turner
f3b3d20f45 ICB: Fix Left Shift of Negative Value GCC Compiler Warning in NanoJPEG
This is emitted by GCC when -Wshift-negative-value is passed.

ICB has been tested and the jpeg backgrounds still decode as expected
with this change.
2022-07-23 19:00:18 +01:00
D G Turner
8aeaabc6d1 ICB: Fix Remaining GCC Compiler Format Overflow Warnings 2022-07-18 02:37:13 +01:00
D G Turner
b7cec2f35a ICB: Replace Various String Handling with Common String Class
While using the dynamic Common::String has more overhead, this removes
various large fixed size buffers used for path construction for icon
file access so the overall effect should be a reduction in dynamic
i.e. stack memory usage. This also avoids any possible buffer overflow
corruption.

This also removes quite a few GCC Compiler Format Overflow warnings
which are emitted if -Wformat-overflow is passed.
2022-07-18 01:15:53 +01:00
D G Turner
511a886591 ICB: Fix GCC Undefined Macro Symbols Warnings
These are emitted by GCC when -Wundef is passed.

The _PSX symbol looks to be intended to switch the codebase between
building the PSX and PC version of the game due to differences in the
data structures. The _PSX_ON_PC likely allows building a version of
the engine which will run on PC, but use the PSX game data.

These should be refactored to allow the codebase to use either PC or
PSX game data at runtime in future, but for now, these are hardcoded
to the PC game data version for build stability.
2022-07-16 01:47:41 +01:00
D G Turner
d9ae18ecbe ICB: Remove Macro Test Usage of Undefined CD_MODE Symbol
This symbol was undefined which meant that it defaulted to being equal
to zero. Since this was the value tested for in all cases, then all
cases of this macro test were enabled which was not very clear.

Looking at the code, it appears this is intended to guard a debugging
mode enabling slower, but more readable rendering code and other graphics
information. This should probably be migrated to a boolean flag of the
engine (since debug already exists) or a ScummVM debug level / flag.

This changes also removes a large number of GCC warnings regarding
use of undefined macro symbols.
2022-07-11 00:43:33 +01:00