implement BuildingEntity functions (#617)

* implement BuildingEntity functions

* fix build

* Update infocenterentity.h
This commit is contained in:
Misha 2024-03-02 17:11:03 -05:00 committed by GitHub
parent de5cd98b76
commit a6cf0b5856
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 31 additions and 6 deletions

View file

@ -20,6 +20,9 @@ class BeachHouseEntity : public BuildingEntity {
return !strcmp(p_name, BeachHouseEntity::ClassName()) || BuildingEntity::IsA(p_name);
}
// STUB: LEGO1 0x100153b0
MxLong VTable0x50(MxParam& p_param) override { return 0; }
// SYNTHETIC: LEGO1 0x1000f970
// BeachHouseEntity::`scalar deleting destructor'
};

View file

@ -25,6 +25,8 @@ class BuildingEntity : public LegoEntity {
return !strcmp(p_name, BuildingEntity::ClassName()) || LegoEntity::IsA(p_name);
}
virtual MxLong VTable0x50(MxParam& p_param) = 0;
// SYNTHETIC: LEGO1 0x10015010
// BuildingEntity::`scalar deleting destructor'
};

View file

@ -20,6 +20,9 @@ class GasStationEntity : public BuildingEntity {
return !strcmp(p_name, GasStationEntity::ClassName()) || BuildingEntity::IsA(p_name);
}
// STUB: LEGO1 0x100151d0
MxLong VTable0x50(MxParam& p_param) override { return 0; }
// SYNTHETIC: LEGO1 0x1000f890
// GasStationEntity::`scalar deleting destructor'
};

View file

@ -20,6 +20,9 @@ class HospitalEntity : public BuildingEntity {
return !strcmp(p_name, HospitalEntity::ClassName()) || BuildingEntity::IsA(p_name);
}
// STUB: LEGO1 0x10015270
MxLong VTable0x50(MxParam& p_param) override { return 0; }
// SYNTHETIC: LEGO1 0x1000f820
// HospitalEntity::`scalar deleting destructor'
};

View file

@ -20,6 +20,9 @@ class InfoCenterEntity : public BuildingEntity {
return !strcmp(p_name, InfoCenterEntity::ClassName()) || BuildingEntity::IsA(p_name);
}
// STUB: LEGO1 0x100150c0
MxLong VTable0x50(MxParam& p_param) override { return 0; }
// SYNTHETIC: LEGO1 0x1000f7b0
// InfoCenterEntity::`scalar deleting destructor'
};

View file

@ -20,6 +20,9 @@ class PoliceEntity : public BuildingEntity {
return !strcmp(p_name, PoliceEntity::ClassName()) || BuildingEntity::IsA(p_name);
}
// STUB: LEGO1 0x10015310
MxLong VTable0x50(MxParam& p_param) override { return 0; }
// SYNTHETIC: LEGO1 0x1000f900
// PoliceEntity::`scalar deleting destructor'
};

View file

@ -19,6 +19,9 @@ class RaceStandsEntity : public BuildingEntity {
return !strcmp(p_name, RaceStandsEntity::ClassName()) || BuildingEntity::IsA(p_name);
}
// STUB: LEGO1 0x10015450
MxLong VTable0x50(MxParam& p_param) override { return 0; }
// SYNTHETIC: LEGO1 0x1000f9e0
// RaceStandsEntity::`scalar deleting destructor'
};

View file

@ -1,21 +1,26 @@
#include "buildingentity.h"
// STUB: LEGO1 0x10014e20
#include "legoomni.h"
#include "mxnotificationmanager.h"
// FUNCTION: LEGO1 0x10014e20
BuildingEntity::BuildingEntity()
{
// TODO
NotificationManager()->Register(this);
}
// STUB: LEGO1 0x10015030
// FUNCTION: LEGO1 0x10015030
BuildingEntity::~BuildingEntity()
{
// TODO
NotificationManager()->Unregister(this);
}
// STUB: LEGO1 0x100150a0
// FUNCTION: LEGO1 0x100150a0
MxLong BuildingEntity::Notify(MxParam& p_param)
{
// TODO
if (((MxNotificationParam&) p_param).GetType() == c_notificationType11) {
return VTable0x50(p_param);
}
return 0;
}