Initial commit

This commit is contained in:
Gericom
2025-11-22 17:21:45 +01:00
commit 5d6f67c612
517 changed files with 63025 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
#pragma once
#include <memory>
#include "IProcess.h"
#include "ProcessFactory.h"
class ProcessManager
{
std::unique_ptr<IProcess> (*_nextProcConstructFunc)();
std::unique_ptr<IProcess> _curProcess;
public:
constexpr ProcessManager()
: _nextProcConstructFunc(nullptr) { }
void MainLoop();
void SetupDefaultVBlankHandler();
template <class T>
[[gnu::noinline]]
void Goto()
{
_nextProcConstructFunc = ProcessFactory::Construct<T>;
if (_curProcess)
_curProcess->Exit();
}
IProcess* GetRunningProcess() { return _curProcess.get(); }
};