keep fixing parallel-rdp stuff

This commit is contained in:
CocoSimone
2022-08-06 18:46:47 +02:00
parent c5303ede59
commit 8a450e110b
19 changed files with 64 additions and 45 deletions

View File

@@ -14,11 +14,10 @@ void App::Run() {
done = true;
}
if(core->initialized)
core->Run();
if(core->system == System::Nintendo64) {
if(core->initialized) UpdateScreenParallelRdp(window, dynamic_cast<n64::Core*>(core.get())->GetVI());
else UpdateScreenParallelRdpNoGame(window);
}
if(core.initialized)
core.Run();
if(core.initialized) UpdateScreenParallelRdp(window, core.GetVI());
else UpdateScreenParallelRdpNoGame(window);
}
}

View File

@@ -1,11 +1,11 @@
#pragma once
#include <BaseCore.hpp>
#include <Core.hpp>
#include <imgui/Window.hpp>
struct App {
App() : window(core) {};
void Run();
private:
std::shared_ptr<BaseCore> core;
n64::Core core;
Window window;
};

View File

@@ -9,11 +9,14 @@ add_library(frontend
target_include_directories(frontend PUBLIC
.
..
../../external
../../external/parallel-rdp
../../external/parallel-rdp/parallel-rdp-standalone/vulkan
../../external/parallel-rdp/parallel-rdp-standalone/util
../../external/parallel-rdp/parallel-rdp-standalone/volk
../cores
../cores/n64)
../n64
../n64/core
../n64/core/cpu
../n64/core/cpu/registers)
target_link_libraries(frontend PUBLIC frontend-imgui)

View File

@@ -10,7 +10,11 @@ add_library(frontend-imgui
target_include_directories(frontend-imgui PUBLIC
.
../..
../../n64
../../n64/core
../../n64/core/cpu
../../n64/core/cpu/registers
../../../external
../../../external/parallel-rdp/parallel-rdp-standalone/vulkan
../../../external/parallel-rdp/parallel-rdp-standalone/util

View File

@@ -6,7 +6,7 @@
#include <parallel-rdp/ParallelRDPWrapper.hpp>
#include <utility>
Window::Window(n64::Core& core) {
Window::Window(const n64::Core& core) {
InitSDL();
InitParallelRDP(core.GetRDRAM());
InitImgui();
@@ -191,9 +191,7 @@ void Window::Render() {
const nfdu8filteritem_t filter {"Nintendo 64 roms", "n64,z64,v64,N64,Z64,V64"};
nfdresult_t result = NFD_OpenDialog(&outpath, &filter, 1, nullptr);
if(result == NFD_OKAY) {
core = std::make_shared<n64::Core>(outpath);
core->initialized = true;
core->system = System::Nintendo64;
core.LoadROM(outpath);
NFD_FreePath(outpath);
}
}

View File

@@ -10,7 +10,7 @@
#include <vector>
struct Window {
explicit Window(n64::Core& core);
explicit Window(const n64::Core& core);
~Window();
ImDrawData* Present();