Match LegoMeterPresenter::ParseExtra (#1022)

* Match LegoMeterPresenter::ParseExtra

* Add LegoMeterPresenter to factory

* Add call to parent

* Add missing TODO
This commit is contained in:
Christian Semmler 2024-06-12 09:53:33 -04:00 committed by GitHub
parent 1f360929cb
commit 2a88d06ff9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 7 additions and 5 deletions

View file

@ -21,7 +21,7 @@
X(LegoPartPresenter) \ X(LegoPartPresenter) \
X(LegoCarBuildAnimPresenter) \ X(LegoCarBuildAnimPresenter) \
X(LegoActionControlPresenter) \ X(LegoActionControlPresenter) \
X(MxVideoPresenter) \ X(LegoMeterPresenter) \
X(LegoLoadCacheSoundPresenter) \ X(LegoLoadCacheSoundPresenter) \
X(Lego3DWavePresenter) \ X(Lego3DWavePresenter) \
X(LegoActor) \ X(LegoActor) \

View file

@ -83,6 +83,7 @@ MxResult Ambulance::Create(MxDSAction& p_dsAction)
void Ambulance::VTable0x70(float p_float) void Ambulance::VTable0x70(float p_float)
{ {
// TODO // TODO
IslePathActor::VTable0x70(p_float);
} }
// FUNCTION: LEGO1 0x100363f0 // FUNCTION: LEGO1 0x100363f0

View file

@ -44,7 +44,6 @@
#include "legoworld.h" #include "legoworld.h"
#include "legoworldpresenter.h" #include "legoworldpresenter.h"
#include "mxcontrolpresenter.h" #include "mxcontrolpresenter.h"
#include "mxvideopresenter.h"
#include "pizza.h" #include "pizza.h"
#include "police.h" #include "police.h"
#include "registrationbook.h" #include "registrationbook.h"
@ -71,6 +70,7 @@
#include "caveentity.h" #include "caveentity.h"
#include "jukebox.h" #include "jukebox.h"
#include "jukeboxentity.h" #include "jukeboxentity.h"
#include "legometerpresenter.h"
#include "mxcompositemediapresenter.h" #include "mxcompositemediapresenter.h"
#include "pizzeria.h" #include "pizzeria.h"
#include "raceskel.h" #include "raceskel.h"

View file

@ -46,7 +46,7 @@ void LegoMeterPresenter::ParseExtra()
extraCopy[extraLength & USHRT_MAX] = '\0'; extraCopy[extraLength & USHRT_MAX] = '\0';
char output[256]; char output[256];
if (KeyValueStringParse(extraCopy, g_strTYPE, output)) { if (KeyValueStringParse(output, g_strTYPE, extraCopy)) {
if (!strcmpi(output, g_strLEFT_TO_RIGHT)) { if (!strcmpi(output, g_strLEFT_TO_RIGHT)) {
m_layout = e_leftToRight; m_layout = e_leftToRight;
} }
@ -61,11 +61,11 @@ void LegoMeterPresenter::ParseExtra()
} }
} }
if (KeyValueStringParse(extraCopy, g_strFILLER_INDEX, output)) { if (KeyValueStringParse(output, g_strFILLER_INDEX, extraCopy)) {
m_fillColor = atoi(output); m_fillColor = atoi(output);
} }
if (KeyValueStringParse(extraCopy, g_strVARIABLE, output)) { if (KeyValueStringParse(output, g_strVARIABLE, extraCopy)) {
m_variable = output; m_variable = output;
} }
else { else {
@ -83,6 +83,7 @@ void LegoMeterPresenter::ParseExtra()
void LegoMeterPresenter::StreamingTickle() void LegoMeterPresenter::StreamingTickle()
{ {
MxStillPresenter::StreamingTickle(); MxStillPresenter::StreamingTickle();
m_meterPixels = new MxU8[m_frameBitmap->GetDataSize()]; m_meterPixels = new MxU8[m_frameBitmap->GetDataSize()];
if (m_meterPixels == NULL) { if (m_meterPixels == NULL) {
assert(0); assert(0);