From 1e216eac22b1e038fb966d5090ea0104d687e928 Mon Sep 17 00:00:00 2001 From: Joshua Peisach Date: Fri, 7 Jul 2023 23:54:52 -0400 Subject: [PATCH] Add some pizza vtable functions (they are stubs at the moment) Unknown parameter types, likely either Pizzeria or PizzaMissionState. --- LEGO1/pizza.cpp | 17 +++++++++++++++++ LEGO1/pizza.h | 2 ++ 2 files changed, 19 insertions(+) diff --git a/LEGO1/pizza.cpp b/LEGO1/pizza.cpp index 82c350b8..396ce801 100644 --- a/LEGO1/pizza.cpp +++ b/LEGO1/pizza.cpp @@ -3,6 +3,7 @@ // OFFSET: LEGO1 0x10037ef0 Pizza::Pizza() { + // FIXME: This inherits from LegoActor, probably why this isn't matching this->m_unk80 = 0; this->m_unk84 = 0; this->m_unk88 = 0; @@ -11,8 +12,24 @@ Pizza::Pizza() this->m_unk90 = 0x80000000; } +// OFFSET: LEGO1 0x1002c7cf STUB +Pizza* Unk1002c7b0(undefined4 p_param) +{ + // FIXME: Stub, a switch function. I think it adjusts some metadata based on a state. We'll understand this more once we get into Pizzeria + return new Pizza; +} + // OFFSET: LEGO1 0x10038100 Pizza::~Pizza() { + // FIXME: some vtable call from tickle manager, unimplemented atm delete this; } + + +// OFFSET: LEGO1 0x100388a0 STUB +Pizza* Unk100388a0(undefined4* p_param) +{ + // FIXME: Stub, Looks like this function adjusts (or makes?) a new Pizza based on the game state, perhaps PizzaMissionState? + return new Pizza; +} \ No newline at end of file diff --git a/LEGO1/pizza.h b/LEGO1/pizza.h index 0f505b0d..ce58923f 100644 --- a/LEGO1/pizza.h +++ b/LEGO1/pizza.h @@ -12,6 +12,8 @@ class Pizza : public IsleActor public: Pizza(); virtual ~Pizza() override; + + Pizza* Unk1002c7b0(undefined4 p_param); private: undefined4 m_unk80; undefined4 m_unk84;