diff --git a/data/odyssey_functions.csv b/data/odyssey_functions.csv index 68a87e2..8b22b84 100644 --- a/data/odyssey_functions.csv +++ b/data/odyssey_functions.csv @@ -26813,7 +26813,7 @@ Address,Quality,Size,Name 0x00000071005390e8,U,000476,_ZN8RootTask7prepareEv 0x00000071005392c4,O,000004,_ZN8RootTask5enterEv 0x00000071005392c8,O,000160,_ZN8RootTask4calcEv -0x0000007100539368,U,000016,_ZN8RootTask4drawEv +0x0000007100539368,O,000016,_ZN8RootTask4drawEv 0x0000007100539378,U,000036,_ZN8RootTaskD0Ev 0x000000710053939c,U,000204,_ZNK4sead4Task27checkDerivedRuntimeTypeInfoEPKNS_15RuntimeTypeInfo9InterfaceE 0x0000007100539468,U,000092,_ZNK4sead4Task18getRuntimeTypeInfoEv diff --git a/src/System/RootTask.cpp b/src/System/RootTask.cpp index e0a02b9..05aa5cb 100644 --- a/src/System/RootTask.cpp +++ b/src/System/RootTask.cpp @@ -1,6 +1,7 @@ #include "RootTask.h" #include "GameSystem.h" #include +#include void RootTask::enter() {} void RootTask::calc() { @@ -11,3 +12,7 @@ void RootTask::calc() { } mGameSystem->movement(); } +void RootTask::draw() { + if (mGameSystem) + mGameSystem->drawMain(); +} diff --git a/src/System/RootTask.h b/src/System/RootTask.h index 22a3949..0b06c1d 100644 --- a/src/System/RootTask.h +++ b/src/System/RootTask.h @@ -1,22 +1,22 @@ #pragma once #include +#include class GameSystem; -// TODO: Implement sead::Task, currently missing from sead headers -class RootTask { +// Waiting for open-ead/sead#130 +class RootTask /*: public sead::Task*/ { private: - // TODO: Remove once RootTask implements sead::Task - char taskImplDetails[0x200]; + char task_details[0x200]; GameSystem* mGameSystem; sead::hostio::Node* mHostIoNode; sead::DrawContext* mDrawContext; public: RootTask(); ~RootTask(); - void enter() override; - void draw() override; - void calc() override; - void prepare() override; + void enter()/* override*/; + void draw()/* override*/; + void calc()/* override*/; + void prepare()/* override*/; };