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(LegoCarBuildAnimPresenter) \
X(LegoActionControlPresenter) \
X(MxVideoPresenter) \
X(LegoMeterPresenter) \
X(LegoLoadCacheSoundPresenter) \
X(Lego3DWavePresenter) \
X(LegoActor) \

View file

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

View file

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

View file

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