[Scummvm-git-logs] scummvm master -> b88cd5e77de9ea5f0a3563d9ee4a4f2301ca9b0c
aquadran
noreply at scummvm.org
Wed Dec 1 23:37:24 UTC 2021
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
b88cd5e77d ICB: Fixed registering globals
Commit: b88cd5e77de9ea5f0a3563d9ee4a4f2301ca9b0c
https://github.com/scummvm/scummvm/commit/b88cd5e77de9ea5f0a3563d9ee4a4f2301ca9b0c
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2021-12-02T00:37:19+01:00
Commit Message:
ICB: Fixed registering globals
Changed paths:
engines/icb/global_vars.cpp
engines/icb/sound.cpp
diff --git a/engines/icb/global_vars.cpp b/engines/icb/global_vars.cpp
index 676b63c0b0..d64a30015d 100644
--- a/engines/icb/global_vars.cpp
+++ b/engines/icb/global_vars.cpp
@@ -139,55 +139,57 @@ void Init_globals() {
}
void CreateGlobalObjects() {
- g_px = new c_global_switches;
- g_oTracer = new _tracer;
- g_ptrArray = new Common::Array<PointerReference>;
- g_globalScriptVariables = new CpxGlobalScriptVariables;
- g_theSequenceManager = new MovieManager;
- g_while_u_wait_SequenceManager = new MovieManager;
- g_personalSequenceManager = new MovieManager;
- g_theClusterManager = new ClusterManager;
- g_theOptionsManager = new OptionsManager;
- g_icb_mission = new _mission;
- g_icb_session = new _game_session;
- g_icb_session_floors = new _floor_world;
- g_text_bloc1 = new text_sprite;
- g_text_bloc2 = new text_sprite;
- g_av_actor = new psxActor;
- g_camera = new psxCamera;
- g_av_Light = new PSXLamp;
+ g_px = new c_global_switches();
+ g_oTracer = new _tracer();
+ g_ptrArray = new Common::Array<PointerReference>();
+ g_globalScriptVariables = new CpxGlobalScriptVariables();
+ g_theSequenceManager = new MovieManager();
+ g_while_u_wait_SequenceManager = new MovieManager();
+ g_personalSequenceManager = new MovieManager();
+ g_theClusterManager = new ClusterManager();
+ g_theOptionsManager = new OptionsManager();
+ g_icb_mission = new _mission();
+ g_icb_session = new _game_session();
+ g_icb_session_floors = new _floor_world();
+ g_text_bloc1 = new text_sprite();
+ g_text_bloc2 = new text_sprite();
+ g_av_actor = new psxActor();
+ g_camera = new psxCamera();
+ g_av_Light = new PSXLamp();
for (int i = 0; i < MAX_voxel_list; i++) {
- g_megas[i] = new _mega;
- g_vox_images[i] = new _vox_image;
+ g_megas[i] = new _mega();
+ g_vox_images[i] = new _vox_image();
}
for (int i = 0; i < MAX_session_objects; i++)
- g_logics[i] = new _logic;
- g_stub = new _stub;
- gterot_pc = new MATRIXPC;
- gtetrans_pc = new MATRIXPC;
- gtecolour_pc = new MATRIXPC;
- gtelight_pc = new MATRIXPC;
- gterot = new MATRIX;
- gtetrans = new MATRIX;
- gtecolour = new MATRIX;
- gtelight = new MATRIX;
+ g_logics[i] = new _logic();
+ g_stub = new _stub();
+ gterot_pc = new MATRIXPC();
+ gtetrans_pc = new MATRIXPC();
+ gtecolour_pc = new MATRIXPC();
+ gtelight_pc = new MATRIXPC();
+ gterot = new MATRIX();
+ gtetrans = new MATRIX();
+ gtecolour = new MATRIX();
+ gtelight = new MATRIX();
for (int i = 0; i < MAX_REGISTERED_SOUNDS; i++)
- g_registeredSounds[i] = new CRegisteredSound;
+ g_registeredSounds[i] = new CRegisteredSound();
// The order of creation matters:
- g_oEventManager = new _event_manager;
- g_oLineOfSight = new _line_of_sight;
- g_oIconMenu = new _icon_menu;
- g_oIconListManager = new _icon_list_manager;
- g_oRemora = new _remora;
- g_oSoundLogicEngine = new _sound_logic;
+ g_oEventManager = new _event_manager();
+ g_oLineOfSight = new _line_of_sight();
+ g_oIconMenu = new _icon_menu();
+ g_oIconListManager = new _icon_list_manager();
+ g_oRemora = new _remora();
+ g_oSoundLogicEngine = new _sound_logic();
}
void DestroyGlobalObjects() {
delete g_px;
+ g_px = nullptr;
delete g_oTracer;
delete g_ptrArray;
delete g_globalScriptVariables;
+ g_globalScriptVariables = nullptr;
delete g_theSequenceManager;
delete g_while_u_wait_SequenceManager;
delete g_personalSequenceManager;
@@ -216,8 +218,10 @@ void DestroyGlobalObjects() {
delete gtetrans;
delete gtecolour;
delete gtelight;
- for (int i = 0; i < MAX_REGISTERED_SOUNDS; i++)
+ for (int i = 0; i < MAX_REGISTERED_SOUNDS; i++) {
delete g_registeredSounds[i];
+ g_registeredSounds[i] = nullptr;
+ }
delete g_oEventManager;
delete g_oLineOfSight;
diff --git a/engines/icb/sound.cpp b/engines/icb/sound.cpp
index 00b633bb91..d792688f76 100644
--- a/engines/icb/sound.cpp
+++ b/engines/icb/sound.cpp
@@ -831,8 +831,10 @@ int32 assignedSounds = 0;
void UpdateSounds10Hz() {
int32 i;
- for (i = 0; i < MAX_REGISTERED_SOUNDS; i++)
- g_registeredSounds[i]->Update10Hz();
+ for (i = 0; i < MAX_REGISTERED_SOUNDS; i++) {
+ if (g_registeredSounds[i])
+ g_registeredSounds[i]->Update10Hz();
+ }
}
// called every game cycle sets hearable and unhearable sounds...
More information about the Scummvm-git-logs
mailing list