scummvm/engines/icb
Le Philousophe 7e0048b4a3 ENGINES: Add ADDynamicGameDescription class
This class manages a buffer where all data usually stored in detection
plugin will get copied before unloading the plugin and starting the
game.

This class expects that two functions are present in every
GameDescription: sizeBuffer which calculates how many bytes we will need
to store the entry in RAM and toBuffer which copies the data in the
buffer and fix the pointers in the class.
At the end, it is expected that an ADDynamicGameDescription doesn't
depend anymore on data stored in the detection plugin.

The AD_GAME_DESCRIPTION_HELPERS macro allow to implement these functions
in all GameDescription which don't have any pointer except those in
ADGameDescription.
2024-06-30 18:39:06 +02:00
..
common ICB: compile fix for GCC 14 2024-02-10 12:17:39 +01:00
gfx ICB: Fix cast of integer to pointer of greater size warning 2023-07-08 22:02:00 +03:00
sound ICB: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
actor_fx_pc.cpp ICB: Fix copy/paste error. CID 1433438 2022-10-08 01:40:14 +02:00
actor_pc.cpp ICB: Avoid casting RapAPIObject to memory, cleanup naming, endian fixes 2022-07-31 00:25:48 +02:00
actor_pc.h ICB: Avoid casting RapAPIObject to memory, cleanup naming, endian fixes 2022-07-31 00:25:48 +02:00
actor_view_pc.cpp ICB: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
actor_view_pc.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
actor.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
actor.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
animation_mega_set.cpp ICB: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
animation_mega_set.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
animation.cpp ICB: Avoid casting CGameObject class to memory 2022-07-30 21:26:14 +02:00
async_generic.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
barriers.cpp ICB: Correct spelling mistake 2022-10-27 15:56:12 +02:00
barriers.h ICB: ELDORADO: Increased macro value 2022-08-05 07:39:57 +02:00
bone.cpp ICB: ELDORADO: handle fn_set_as_player differences 2022-08-04 16:57:39 +02:00
bone.h ICB: ELDORADO: handle fn_set_as_player differences 2022-08-04 16:57:39 +02:00
breath.cpp ICB: Fix negation of unsigned integer 2023-07-08 22:02:00 +03:00
breath.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
camera.cpp ICB: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
chi.cpp ICB: Avoid casting CGameObject class to memory 2022-07-30 21:26:14 +02:00
cluster_manager_pc.cpp ICB: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
cluster_manager_pc.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
configfile.cpp ICB: Migrate engine to Path 2023-12-24 13:19:25 +01:00
configfile.h ICB: Migrate engine to Path 2023-12-24 13:19:25 +01:00
configure.engine ALL: Unify zlib and gzio API 2023-08-28 21:49:03 +02:00
console_pc.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
credits.pl DEVTOOLS: move credits from devtools/credits.pl to engines 2021-08-05 00:01:46 +02:00
custom_logics.cpp ICB: Avoid casting CGameObject class to memory 2022-07-30 21:26:14 +02:00
custom_logics.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
debug_pc.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
debug_pc.h ICB: Declare Fatal_error NORETURN 2023-12-26 12:01:12 -08:00
debug.cpp ICB: Remove Macro Test Usage of Undefined CD_MODE Symbol 2022-07-11 00:43:33 +01:00
debug.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
detection.cpp ENGINES: Create a type aware advanced detector 2024-06-30 18:39:06 +02:00
detection.h ENGINES: Add ADDynamicGameDescription class 2024-06-30 18:39:06 +02:00
direct_input.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
direct_input.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
drawpoly_pc.cpp ICB: Fix copy/pate error. CID 1433582 2022-10-08 01:42:15 +02:00
drawpoly_pc.h ICB: Remove Macro Test Usage of Undefined CD_MODE Symbol 2022-07-11 00:43:33 +01:00
event_list.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
event_list.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
event_manager.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
event_manager.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
event_timer.h ICB: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
floors.cpp ICB: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
floors.h ICB: Avoid casting LinkedDataFile class to memory 2022-07-30 15:14:30 +02:00
fn_animation.cpp ICB: Avoid casting CGameObject class to memory 2022-07-30 21:26:14 +02:00
fn_event_functions.cpp ICB: Avoid casting LinkedDataFile class to memory 2022-07-30 15:14:30 +02:00
fn_fx_pc.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
fn_fx.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
fn_icon_functions.cpp ICB: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
fn_interact.cpp ICB: Avoid casting CGameObject class to memory 2022-07-30 21:26:14 +02:00
fn_movie_pc.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
fn_remora_functions.cpp ICB: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
fn_routines_ed.cpp COMMON: Avoid including engine headers in common code for DebugChannelDef 2024-06-20 20:15:57 +01:00
fn_routines_icb.cpp ICB: split McodeTable into ICB and ED variants 2022-08-05 15:23:10 +02:00
fn_routines.h ICB: split McodeTable into ICB and ED variants 2022-08-05 15:23:10 +02:00
fn_sound.cpp ICB: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
fn_sting_pc.cpp ICB: ELDORADO: handle fn_play_sting and fn_preload_sting differences 2022-08-05 17:05:08 +02:00
footstep.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
function.cpp ICB: Fix signed/unsigned conversion 2023-07-08 22:02:00 +03:00
game_script.cpp ICB: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
game_script.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
game_volume.cpp ICB: Avoid casting BarrierCollision class to memory. Cleanup names. 2022-07-31 10:41:26 +02:00
game_volume.h ICB: Avoid casting LinkedDataFile class to memory 2022-07-30 15:14:30 +02:00
gameover.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
general_interaction.cpp ICB: Avoid casting CGameObject class to memory 2022-07-30 21:26:14 +02:00
general_npc_animation.cpp ICB: Avoid casting CGameObject class to memory 2022-07-30 21:26:14 +02:00
global_objects_pc.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
global_objects_pc.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
global_objects_psx.cpp ICB: Remove Unused Variables in PSX Global Objects Code 2022-07-07 00:52:46 +01:00
global_objects_psx.h ICB: Remove Unused Variables in PSX Global Objects Code 2022-07-07 00:52:46 +01:00
global_objects.cpp ICB: Avoid casting LinkedDataFile class to memory 2022-07-30 15:14:30 +02:00
global_objects.h ICB: Avoid casting LinkedDataFile class to memory 2022-07-30 15:14:30 +02:00
global_switches.cpp ICB: ELDORADO: More specifics for ICB flow 2022-08-05 01:09:32 +02:00
global_switches.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
global_vars.cpp ICB: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
global_vars.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
graphic_prims_pc.cpp ICB: Work in endian code safe, avoid casting pxBitmap class to memory. 2022-07-30 11:05:03 +02:00
graphic_prims.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
graphic_prims.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
health_bar_pc.cpp ICB: Avoid casting CGameObject class to memory 2022-07-30 21:26:14 +02:00
icb.cpp I18N: Fix I18N comment placement 2023-03-25 20:54:17 +01:00
icb.h ICB: Switch detection from exe to game data. Added El Dorado to game entries 2022-07-31 17:22:08 +02:00
icon_list_manager.cpp ICB: ELDORADO: More specifics for ICB flow 2022-08-05 01:09:32 +02:00
icon_list_manager.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
icon_list.cpp ICB: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
icon_list.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
icon_menu_pc.cpp ICB: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
icon_menu_pc.h ICB: ELDORADO: Icon size specifics 2022-08-05 08:12:58 +02:00
icon_menu.cpp ICB: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
icon_menu.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
jpeg_decode.cpp ICB: Fix Left Shift of Negative Value GCC Compiler Warning in NanoJPEG 2022-07-23 19:00:18 +01:00
jpeg_decode.h ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
keyboard.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
keyboard.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
light_pc.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
light_pc.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
light.h ICB: Correct spelling mistake 2022-10-27 15:56:12 +02:00
line_of_sight.cpp ICB: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
line_of_sight.h ICB: Avoid casting BarrierCollision class to memory. Cleanup names. 2022-07-31 10:41:26 +02:00
loadscrn_pc.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
loadscrn.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
logic.cpp ICB: Correct spelling mistake 2022-10-27 15:56:12 +02:00
main_menu_pc.cpp JANITORIAL: Fix various single-character typos 2022-11-11 20:55:56 +01:00
main_menu.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
map_marker_pc.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
map_marker.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
map_marker.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
mega_interaction.cpp ICB: Avoid casting CGameObject class to memory 2022-07-30 21:26:14 +02:00
metaengine.cpp ENGINES: Create a type aware advanced meta engine 2024-06-30 18:39:06 +02:00
mission_functions.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
mission_functions.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
mission.cpp ICB: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
mission.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
module.mk ICB: split McodeTable into ICB and ED variants 2022-08-05 15:23:10 +02:00
mouse_pc.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
mouse.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
mouse.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
movie_pc.cpp ICB: Fix compilation 2023-05-21 01:46:17 +02:00
movie_pc.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
non_ad_module.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
non_ad_module.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
object_structs.h ICB: ELDORADO: implement pose overriding functions 2022-08-04 13:48:42 +02:00
options_manager_pc.cpp ICB: Fix compilation 2023-05-21 01:46:17 +02:00
options_manager_pc.h ICB: Avoid casting LinkedDataFile class to memory 2022-07-30 15:14:30 +02:00
p4_generic_pc.h ICB: Eliminate macro function override 2022-07-30 15:32:37 +02:00
p4_generic.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
p4_pc.cpp ICB: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
p4.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
p4.h ICB: Avoid casting CGameObject class to memory 2022-07-30 21:26:14 +02:00
player_interaction.cpp ICB: Correct spelling mistake 2022-11-01 17:09:25 +02:00
player_pc.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
player.cpp JANITORIAL: Clean up some English language 2024-01-21 00:28:44 +01:00
player.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
POTFILES ICB: Add missing POTFILES 2023-03-17 16:17:46 +01:00
prim_route_builder.cpp ICB: ELDORADO: More specifics for ICB flow 2022-08-05 01:09:32 +02:00
prim_route_builder.h ICB: Avoid casting BarrierCollision class to memory. Cleanup names. 2022-07-31 10:41:26 +02:00
protocol.cpp ICB: Few more endian fixes 2022-07-31 10:30:27 +02:00
protocol.h ALL: VS warning cleanup 2022-12-25 16:31:57 +01:00
psx_config.h ICB: Fix GCC Undefined Macro Symbols Warnings 2022-07-16 01:47:41 +01:00
remora_pc.cpp ICB: Correct spelling mistake 2022-10-27 15:56:13 +02:00
remora_pc.h ICB: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
remora_sprite_pc.cpp ICB: Few more endian fixes 2022-07-31 21:16:45 +02:00
remora_sprite.cpp ICB: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
remora_sprite.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
remora.cpp ICB: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
remora.h ICB: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
res_man_pc.cpp ICB: Work in endian code safe, avoid casting pxBitmap class to memory. 2022-07-30 11:05:03 +02:00
res_man_pc.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
res_man.cpp JANITORIAL: Fix various single-character typos 2022-11-11 20:55:56 +01:00
res_man.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
route_manager.cpp ICB: Avoid casting CGameObject class to memory 2022-07-30 21:26:14 +02:00
route_manager.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
session.cpp ICB: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
session.h ICB: ELDORADO: add some more script functions 2022-08-04 16:07:27 +02:00
set_pc.cpp ICB: Fix compilation 2023-05-21 01:46:17 +02:00
set_pc.h ICB: ELDORADO: support loading newer El Dorado version of .set files 2022-08-05 13:55:07 +02:00
set.cpp ICB: Correct spelling mistake 2022-10-27 15:56:13 +02:00
set.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
shade_pc.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
shade_pc.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
shade.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
shade.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
shadow_pc.cpp ICB: Avoid casting RapAPIObject to memory, cleanup naming, endian fixes 2022-07-31 00:25:48 +02:00
shadow_pc.h ICB: Avoid casting RapAPIObject to memory, cleanup naming, endian fixes 2022-07-31 00:25:48 +02:00
shadow.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
shake.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
shake.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
softskin_pc.cpp ICB: Avoid casting RapAPIObject to memory, cleanup naming, endian fixes 2022-07-31 00:25:48 +02:00
softskin_pc.h ICB: Avoid casting RapAPIObject to memory, cleanup naming, endian fixes 2022-07-31 00:25:48 +02:00
sound_logic_entry.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
sound_logic_entry.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
sound_logic.cpp ICB: Avoid casting LinkedDataFile class to memory 2022-07-30 15:14:30 +02:00
sound_logic.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
sound_lowlevel_pc.cpp ICB: Work in endian code safe, avoid casting pxBitmap class to memory. 2022-07-30 11:05:03 +02:00
sound_lowlevel.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
sound.cpp ICB: Correct spelling mistake 2022-10-27 15:56:13 +02:00
sound.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
speech_pc.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
speech.cpp ICB: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
speech.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
stage_draw.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
stage_poly.cpp ICB: Avoid casting PXMarker class to memory 2022-07-30 16:17:54 +02:00
stage_view.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
stagedraw_pc_poly.cpp ALL: VS warning cleanup 2022-12-25 16:31:57 +01:00
string_vest.cpp ICB: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
string_vest.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
surface_manager.cpp ICB: Fix warnings 2022-12-16 11:17:54 +01:00
surface_manager.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
text_pc.cpp ICB: Fix CID 1433477, 1433308 and 1433637 2022-10-23 17:32:37 +02:00
text_sprites_pc.cpp ICB: ELDORADO: More specifics for ICB flow 2022-08-05 01:09:32 +02:00
text_sprites.cpp ICB: Work in endian code safe, avoid casting pxBitmap class to memory. 2022-07-30 11:05:03 +02:00
text_sprites.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
text.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
timer_func.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
timer_func.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
tracer.cpp ICB: Avoid casting BarrierCollision class to memory. Cleanup names. 2022-07-31 10:41:26 +02:00
tracer.h ICB: Avoid casting BarrierCollision class to memory. Cleanup names. 2022-07-31 10:41:26 +02:00
zsupport.cpp ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
zsupport.h ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00