[nostalgia/core] Delete all of core::Context's friendships
This commit is contained in:
		| @@ -1,16 +1,3 @@ | |||||||
| /* | /* | ||||||
|  * Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved. |  * Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved. | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| #include "context.hpp" |  | ||||||
| #include "gfx.hpp" |  | ||||||
|  |  | ||||||
| #include "core.hpp" |  | ||||||
|  |  | ||||||
| namespace nostalgia::core { |  | ||||||
|  |  | ||||||
| Context::~Context() noexcept { |  | ||||||
| 	shutdownGfx(this); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| } |  | ||||||
|   | |||||||
| @@ -14,62 +14,19 @@ | |||||||
|  |  | ||||||
| #include "initparams.hpp" | #include "initparams.hpp" | ||||||
|  |  | ||||||
| namespace nostalgia::core { |  | ||||||
| class Context; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| namespace nostalgia::core::gl { |  | ||||||
| void drawMainView(core::Context*, ox::Size const&) noexcept; |  | ||||||
| void drawMainView(core::Context*) noexcept; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| namespace nostalgia::core { | namespace nostalgia::core { | ||||||
|  |  | ||||||
| // User Input Output | // User Input Output | ||||||
| class Context { | class Context { | ||||||
| 	friend bool bgStatus(Context *ctx, unsigned bg) noexcept; |  | ||||||
| 	friend ox::Error initGfx(Context *ctx, const InitParams&) noexcept; |  | ||||||
| 	friend void shutdownGfx(Context *ctx) noexcept; |  | ||||||
| 	friend ox::Error loadBgTileSheet(Context *ctx, |  | ||||||
| 	                                 unsigned cbb, |  | ||||||
| 	                                 const ox::FileAddress &tilesheetPath, |  | ||||||
| 	                                 const ox::FileAddress &palettePath) noexcept; |  | ||||||
| 	friend ox::Error loadSpriteTileSheet(Context *ctx, |  | ||||||
| 	                                     const ox::FileAddress &tilesheetAddr, |  | ||||||
| 	                                     const ox::FileAddress &paletteAddr) noexcept; |  | ||||||
| 	friend ox::Result<struct TileSheetData> loadTileSheet(Context *ctx, |  | ||||||
| 	                                                      const struct CompactTileSheet &tilesheetAddr) noexcept; |  | ||||||
| 	friend uint8_t bgStatus(Context *ctx) noexcept; |  | ||||||
| 	friend void clearTileLayer(Context *ctx, unsigned bgIdx) noexcept; |  | ||||||
| 	friend void draw(Context *ctx) noexcept; |  | ||||||
| 	friend void setBgCbb(Context *ctx, unsigned bgIdx, unsigned cbb) noexcept; |  | ||||||
| 	friend void setBgStatus(Context *ctx, uint32_t status) noexcept; |  | ||||||
| 	friend void setBgStatus(Context *ctx, unsigned bg, bool status) noexcept; |  | ||||||
| 	friend void setTile(Context *ctx, unsigned bgIdx, int column, int row, uint8_t tile) noexcept; |  | ||||||
| 	friend void setSprite(Context *ctx, |  | ||||||
| 	                      unsigned idx, |  | ||||||
| 	                      int x, |  | ||||||
| 	                      int y, |  | ||||||
| 	                      unsigned tileIdx, |  | ||||||
| 	                      unsigned spriteShape, |  | ||||||
| 	                      unsigned spriteSize, |  | ||||||
| 	                      unsigned flipX) noexcept; |  | ||||||
| 	friend void hideSprite(Context *ctx, unsigned idx) noexcept; |  | ||||||
| 	friend void gl::drawMainView(core::Context*, ox::Size const&) noexcept; |  | ||||||
| 	friend void gl::drawMainView(core::Context*) noexcept; |  | ||||||
|  |  | ||||||
| 	public: | 	public: | ||||||
| 		turbine::Context *turbineCtx = nullptr; | 		turbine::Context *turbineCtx = nullptr; | ||||||
|  |  | ||||||
| 	public: |  | ||||||
| 		Context() noexcept = default; | 		Context() noexcept = default; | ||||||
|  |  | ||||||
| 		Context(Context &other) noexcept = delete; | 		Context(Context &other) noexcept = delete; | ||||||
| 		Context(const Context &other) noexcept = delete; | 		Context(const Context &other) noexcept = delete; | ||||||
| 		Context(const Context &&other) noexcept = delete; | 		Context(const Context &&other) noexcept = delete; | ||||||
|  |  | ||||||
| 		~Context() noexcept; |  | ||||||
|  |  | ||||||
| 		auto &rom() noexcept { | 		auto &rom() noexcept { | ||||||
| 			return *turbineCtx->rom; | 			return *turbineCtx->rom; | ||||||
| 		} | 		} | ||||||
|   | |||||||
| @@ -81,3 +81,9 @@ void setSprite(Context *ctx, unsigned idx, int x, int y, unsigned tileIdx, | |||||||
| void setSprite(Context *ctx, const Sprite &s) noexcept; | void setSprite(Context *ctx, const Sprite &s) noexcept; | ||||||
|  |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | namespace nostalgia::core::gl { | ||||||
|  | void drawMainView(core::Context*, ox::Size const&) noexcept; | ||||||
|  | void drawMainView(core::Context*) noexcept; | ||||||
|  | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,5 +1,6 @@ | |||||||
| target_sources( | target_sources( | ||||||
| 	NostalgiaCore PRIVATE | 	NostalgiaCore PRIVATE | ||||||
|  | 		context.cpp | ||||||
| 		core.cpp | 		core.cpp | ||||||
| 		gfx.cpp | 		gfx.cpp | ||||||
| ) | ) | ||||||
|   | |||||||
							
								
								
									
										14
									
								
								src/nostalgia/core/opengl/context.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								src/nostalgia/core/opengl/context.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | /* | ||||||
|  |  * Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "context.hpp" | ||||||
|  | #include "gfx.hpp" | ||||||
|  |  | ||||||
|  | namespace nostalgia::core { | ||||||
|  |  | ||||||
|  | GlContext::~GlContext() noexcept { | ||||||
|  | 	shutdownGfx(this); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -10,6 +10,9 @@ | |||||||
|  |  | ||||||
| #include "gfx.hpp" | #include "gfx.hpp" | ||||||
|  |  | ||||||
|  | #include "../gfx.hpp" | ||||||
|  | #include "../context.hpp" | ||||||
|  |  | ||||||
| namespace nostalgia::core { | namespace nostalgia::core { | ||||||
|  |  | ||||||
| struct GlContext: public core::Context { | struct GlContext: public core::Context { | ||||||
| @@ -21,6 +24,7 @@ struct GlContext: public core::Context { | |||||||
| 	ox::Array<renderer::Background, 4> backgrounds; | 	ox::Array<renderer::Background, 4> backgrounds; | ||||||
| 	ox::Optional<ox::Size> renderSize; | 	ox::Optional<ox::Size> renderSize; | ||||||
| 	renderer::Drawer drawer; | 	renderer::Drawer drawer; | ||||||
|  | 	~GlContext() noexcept; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -10,6 +10,8 @@ | |||||||
|  |  | ||||||
| #include <glutils/glutils.hpp> | #include <glutils/glutils.hpp> | ||||||
|  |  | ||||||
|  | #include "../context.hpp" | ||||||
|  |  | ||||||
| namespace nostalgia::core::renderer { | namespace nostalgia::core::renderer { | ||||||
|  |  | ||||||
| constexpr uint64_t TileRows = 128; | constexpr uint64_t TileRows = 128; | ||||||
| @@ -59,5 +61,6 @@ class Drawer: public turbine::gl::Drawer { | |||||||
| } | } | ||||||
|  |  | ||||||
| namespace nostalgia::core { | namespace nostalgia::core { | ||||||
| ox::Error initGfx(Context *ctx, const InitParams &) noexcept; | ox::Error initGfx(Context *ctx, const InitParams&) noexcept; | ||||||
|  | void shutdownGfx(Context *ctx) noexcept; | ||||||
| } | } | ||||||
		Reference in New Issue
	
	Block a user