[Scummvm-git-logs] scummvm master -> a33c662f7b8d0b5b006355b4d72549504a930d66
aquadran
aquadran at gmail.com
Sun Mar 14 08:06:17 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:
a33c662f7b ICB: Reworked global constructor and fixed clashing enum
Commit: a33c662f7b8d0b5b006355b4d72549504a930d66
https://github.com/scummvm/scummvm/commit/a33c662f7b8d0b5b006355b4d72549504a930d66
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2021-03-14T09:06:11+01:00
Commit Message:
ICB: Reworked global constructor and fixed clashing enum
Changed paths:
engines/icb/global_vars.cpp
engines/icb/line_of_sight.cpp
engines/icb/options_manager_pc.cpp
engines/icb/options_manager_pc.h
engines/icb/tracer.cpp
engines/icb/tracer.h
diff --git a/engines/icb/global_vars.cpp b/engines/icb/global_vars.cpp
index 6f2014fdcf..e8979d12b4 100644
--- a/engines/icb/global_vars.cpp
+++ b/engines/icb/global_vars.cpp
@@ -50,6 +50,7 @@
#include "engines/icb/common/px_capri_maths.h"
#include "engines/icb/common/ptr_util.h"
#include "engines/icb/sound.h"
+#include "engines/icb/tracer.h"
namespace ICB {
@@ -139,6 +140,7 @@ 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;
@@ -183,6 +185,7 @@ void CreateGlobalObjects() {
void DestroyGlobalObjects() {
delete g_px;
+ delete g_oTracer;
delete g_ptrArray;
delete g_globalScriptVariables;
delete g_theSequenceManager;
diff --git a/engines/icb/line_of_sight.cpp b/engines/icb/line_of_sight.cpp
index 64b51b9dbf..171892e5ff 100644
--- a/engines/icb/line_of_sight.cpp
+++ b/engines/icb/line_of_sight.cpp
@@ -75,7 +75,7 @@ void _line_of_sight::Initialise() {
Fatal_error(".pxwglineofsight version check failed (file has %d, engine has %d)", m_pyLOSData->GetHeaderVersion(), VERSION_PXWGLINEOFSIGHT);
// The tracer object can be initialised now we have the barrier map.
- g_oTracer.SetUpParameters(m_pyLOSData);
+ g_oTracer->SetUpParameters(m_pyLOSData);
// Set the number of objects from the list that should already have been created in the session.
m_nNumObjects = MS->total_objects;
@@ -102,11 +102,11 @@ void _line_of_sight::Initialise() {
if (!pyBarriers)
Fatal_error("Barriers pointer NULL in _line_of_sight::Initialise()");
- g_oTracer.SetBarrierPointer(pyBarriers);
+ g_oTracer->SetBarrierPointer(pyBarriers);
// The tracer also needs access to the routing data to get the floor rectangles.
pFloorWorld = MS->floor_def;
- g_oTracer.SetFloorsPointer(pFloorWorld);
+ g_oTracer->SetFloorsPointer(pFloorWorld);
// These probably don't need setting, but we'll do it for completeness.
m_oImpactPoint.Set(REAL_ZERO, REAL_ZERO, REAL_ZERO);
@@ -293,7 +293,7 @@ bool8 _line_of_sight::ObjectToObject(uint32 nObserverID, uint32 nTargetID, _barr
if (bCanSeeUs)
return (TRUE8);
int32 john_test_time = GetMicroTimer();
- nRetVal = g_oTracer.Trace(oFrom, oTo, eRayType, m_oImpactPoint, m_eImpactType);
+ nRetVal = g_oTracer->Trace(oFrom, oTo, eRayType, m_oImpactPoint, m_eImpactType);
john_test_time = GetMicroTimer() - john_test_time;
john_total_traces += john_test_time;
john_number_traces++;
@@ -307,7 +307,7 @@ bool8 _line_of_sight::ObjectToObject(uint32 nObserverID, uint32 nTargetID, _barr
} else {
// Don't need to apply field-of-view for 360-degree vision.
int32 john_test_time = g_system->getMillis();
- nRetVal = g_oTracer.Trace(oFrom, oTo, eRayType, m_oImpactPoint, m_eImpactType);
+ nRetVal = g_oTracer->Trace(oFrom, oTo, eRayType, m_oImpactPoint, m_eImpactType);
john_test_time = g_system->getMillis() - john_test_time;
john_total_traces += john_test_time;
john_number_traces++;
@@ -316,7 +316,7 @@ bool8 _line_of_sight::ObjectToObject(uint32 nObserverID, uint32 nTargetID, _barr
} else {
// Objects are assumed to have 360-degree vision so we just have to do a line-of-sight.
int32 john_test_time = g_system->getMillis();
- nRetVal = g_oTracer.Trace(oFrom, oTo, eRayType, m_oImpactPoint, m_eImpactType);
+ nRetVal = g_oTracer->Trace(oFrom, oTo, eRayType, m_oImpactPoint, m_eImpactType);
john_test_time = g_system->getMillis() - john_test_time;
john_total_traces += john_test_time;
john_number_traces++;
diff --git a/engines/icb/options_manager_pc.cpp b/engines/icb/options_manager_pc.cpp
index 11ae6fabe1..9ac849643a 100644
--- a/engines/icb/options_manager_pc.cpp
+++ b/engines/icb/options_manager_pc.cpp
@@ -2627,7 +2627,7 @@ void OptionsManager::OnEscapeKey() {
break;
case INGAME_OPTIONS:
case MAIN_OPTIONS:
- m_OPTION_selected = BACK;
+ m_OPTION_selected = DO_BACK;
break;
case INGAME_VIDEO:
case MAIN_VIDEO:
@@ -2855,7 +2855,7 @@ void OptionsManager::DoChoice() {
m_CONTROL_selected = METHOD;
InitialiseControlsScreen();
break;
- case BACK:
+ case DO_BACK:
m_warpDirection = FALSE8;
if (m_activeMenu == INGAME_OPTIONS) {
m_activeMenu = INGAME_TOP;
@@ -4645,7 +4645,7 @@ void OptionsManager::DrawGameOptions() {
DisplayText(ad, pitch, msg, 0, 170, (m_OPTION_selected == CONTROLS) ? SELECTEDFONT : NORMALFONT, TRUE8);
msg = GetTextFromReference(HashString("opt_back"));
- DisplayText(ad, pitch, msg, 0, 205, (m_OPTION_selected == BACK) ? SELECTEDFONT : NORMALFONT, TRUE8);
+ DisplayText(ad, pitch, msg, 0, 205, (m_OPTION_selected == DO_BACK) ? SELECTEDFONT : NORMALFONT, TRUE8);
surface_manager->Unlock_surface(working_buffer_id);
}
diff --git a/engines/icb/options_manager_pc.h b/engines/icb/options_manager_pc.h
index 4eb4a92c3f..b8521566ae 100644
--- a/engines/icb/options_manager_pc.h
+++ b/engines/icb/options_manager_pc.h
@@ -119,7 +119,7 @@ enum OPTION_CHOICES {
VIDEO_SETTINGS = 0,
AUDIO_SETTINGS = 1,
CONTROLS = 2,
- BACK = 3
+ DO_BACK = 3
};
#define NUMBER_OF_AUDIO_CHOICES 4
diff --git a/engines/icb/tracer.cpp b/engines/icb/tracer.cpp
index d0d214adb9..16e61d4f15 100644
--- a/engines/icb/tracer.cpp
+++ b/engines/icb/tracer.cpp
@@ -33,7 +33,7 @@
namespace ICB {
-_tracer g_oTracer;
+_tracer *g_oTracer;
#define TRACER_COMPARE_TOLERANCE FLOAT_COMPARE_TOLERANCE
diff --git a/engines/icb/tracer.h b/engines/icb/tracer.h
index b183db2f3f..9629ddf438 100644
--- a/engines/icb/tracer.h
+++ b/engines/icb/tracer.h
@@ -95,7 +95,7 @@ inline const _route_barrier *_tracer::GetBarrier(uint32 i) const {
return &(pBarriers[i]);
}
-extern _tracer g_oTracer; // Object for doing the plotting of bullets and line-of-sight.
+extern _tracer *g_oTracer; // Object for doing the plotting of bullets and line-of-sight.
} // End of namespace ICB
More information about the Scummvm-git-logs
mailing list