From 8a1b3cc1c4ce5ce1d53741e14a6137d8980e4907 Mon Sep 17 00:00:00 2001 From: Tropical <42101043+tropicaaal@users.noreply.github.com> Date: Tue, 7 Apr 2026 15:55:45 -0500 Subject: [PATCH] attempt to clean up renderer --- targets/app/common/DLC/DLCAudioFile.cpp | 4 +- targets/app/common/DLC/DLCSkinFile.cpp | 4 +- targets/app/common/Game.cpp | 4 +- targets/app/common/GameSettingsManager.cpp | 6 +- targets/app/common/LocalizationManager.cpp | 4 +- .../app/common/Network/GameNetworkManager.cpp | 8 +- .../IUIScene_AbstractContainerMenu.cpp | 4 +- .../All Platforms/IUIScene_CraftingMenu.cpp | 8 +- .../All Platforms/IUIScene_CreativeMenu.cpp | 2 +- .../common/UI/All Platforms/IUIScene_HUD.cpp | 4 +- .../common/UI/Components/UIComponent_Chat.cpp | 48 +-- .../common/UI/Components/UIComponent_Chat.h | 4 +- .../common/UI/Components/UIComponent_Logo.cpp | 20 +- .../Components/UIComponent_MenuBackground.cpp | 48 +-- .../Components/UIComponent_MenuBackground.h | 4 +- .../UI/Components/UIComponent_Panorama.cpp | 38 +- .../UI/Components/UIComponent_Panorama.h | 4 +- .../UI/Components/UIComponent_Tooltips.cpp | 68 ++-- .../UI/Components/UIComponent_Tooltips.h | 4 +- .../Components/UIComponent_TutorialPopup.cpp | 60 +-- .../UI/Components/UIComponent_TutorialPopup.h | 4 +- .../app/common/UI/Components/UIScene_HUD.cpp | 74 ++-- .../app/common/UI/Components/UIScene_HUD.h | 4 +- .../UI/Controls/UIControl_EnchantmentBook.cpp | 2 +- .../Controls/UIControl_EnchantmentButton.cpp | 2 +- .../UI/Controls/UIControl_MinecraftHorse.cpp | 2 +- .../UI/Controls/UIControl_MinecraftPlayer.cpp | 2 +- .../Controls/UIControl_PlayerSkinPreview.cpp | 2 +- .../UIScene_DLCOffersMenu.cpp | 4 +- .../UIScene_LaunchMoreOptionsMenu.cpp | 6 +- .../UIScene_LoadMenu.cpp | 4 +- .../UIScene_MainMenu.cpp | 2 +- .../UIScene_SettingsOptionsMenu.cpp | 10 +- .../Help & Options/UIScene_SkinSelectMenu.cpp | 4 +- .../UIScene_AbstractContainerMenu.cpp | 2 +- .../UIScene_AbstractContainerMenu.h | 4 +- targets/app/common/UI/UIBitmapFont.cpp | 2 +- targets/app/common/UI/UIController.cpp | 60 +-- targets/app/common/UI/UIController.h | 8 +- targets/app/common/UI/UIGroup.cpp | 8 +- targets/app/common/UI/UIGroup.h | 8 +- targets/app/common/UI/UILayer.cpp | 6 +- targets/app/common/UI/UILayer.h | 6 +- targets/app/common/UI/UIScene.cpp | 32 +- targets/app/common/UI/UIScene.h | 4 +- targets/app/linux/LinuxGL.cpp | 168 --------- targets/app/linux/LinuxGL.h | 42 --- targets/app/linux/LinuxGame.cpp | 4 +- targets/app/linux/Linux_Minecraft.cpp | 20 +- targets/app/linux/Linux_UIController.cpp | 2 +- .../app/windows/Windows64_UIController.cpp | 2 +- .../app/windows/src/Windows64_Minecraft.cpp | 10 +- targets/minecraft/client/BufferedImage.cpp | 10 +- targets/minecraft/client/Lighting.cpp | 3 +- targets/minecraft/client/MemoryTracker.cpp | 3 +- targets/minecraft/client/Minecraft.cpp | 59 ++- targets/minecraft/client/Options.cpp | 1 - targets/minecraft/client/gui/Button.cpp | 2 +- targets/minecraft/client/gui/DeathScreen.cpp | 2 +- targets/minecraft/client/gui/Font.cpp | 3 +- targets/minecraft/client/gui/Gui.cpp | 47 ++- targets/minecraft/client/gui/GuiComponent.cpp | 3 +- targets/minecraft/client/gui/Minimap.cpp | 4 +- targets/minecraft/client/gui/Screen.cpp | 2 +- targets/minecraft/client/gui/SlideButton.cpp | 2 +- .../client/gui/TradeSwitchButton.cpp | 1 + .../gui/achievement/AchievementPopup.cpp | 4 +- .../gui/achievement/AchievementScreen.cpp | 2 +- .../gui/inventory/AbstractBeaconButton.cpp | 2 +- .../client/gui/inventory/BeaconScreen.cpp | 2 +- .../gui/inventory/BrewingStandScreen.cpp | 1 + .../gui/inventory/CreativeInventoryScreen.cpp | 2 +- .../gui/inventory/EnchantmentScreen.cpp | 3 +- .../gui/inventory/HorseInventoryScreen.cpp | 1 + .../client/gui/inventory/InventoryScreen.cpp | 2 +- .../client/gui/inventory/MerchantScreen.cpp | 1 + .../client/gui/inventory/RepairScreen.cpp | 2 +- .../client/gui/inventory/TextEditScreen.cpp | 2 +- .../minecraft/client/model/ChickenModel.cpp | 2 +- targets/minecraft/client/model/GhastModel.cpp | 2 +- .../minecraft/client/model/HumanoidModel.cpp | 2 +- targets/minecraft/client/model/ModelHorse.cpp | 2 +- .../minecraft/client/model/OcelotModel.cpp | 2 +- .../minecraft/client/model/QuadrupedModel.cpp | 3 +- targets/minecraft/client/model/WolfModel.cpp | 2 +- .../client/model/dragon/DragonModel.cpp | 4 +- .../client/model/dragon/EnderCrystalModel.cpp | 3 +- .../minecraft/client/model/geom/ModelPart.cpp | 2 +- .../client/particle/FootstepParticle.cpp | 2 +- .../client/particle/HugeExplosionParticle.cpp | 2 +- .../client/particle/ParticleEngine.cpp | 2 +- .../client/particle/TakeAnimationParticle.cpp | 2 +- .../minecraft/client/player/LocalPlayer.cpp | 4 +- targets/minecraft/client/renderer/Chunk.cpp | 10 +- .../client/renderer/GameRenderer.cpp | 67 ++-- .../client/renderer/ItemInHandRenderer.cpp | 14 +- .../client/renderer/LevelRenderer.cpp | 43 ++- .../renderer/MobSkinTextureProcessor.cpp | 1 - .../client/renderer/OffsettedRenderList.cpp | 2 +- .../minecraft/client/renderer/Tesselator.cpp | 40 +- .../minecraft/client/renderer/Textures.cpp | 41 ++- targets/minecraft/client/renderer/Textures.h | 4 +- .../client/renderer/TileRenderer.cpp | 2 +- .../client/renderer/culling/Frustum.cpp | 6 +- .../client/renderer/entity/ArrowRenderer.cpp | 3 +- .../client/renderer/entity/BatRenderer.cpp | 3 +- .../client/renderer/entity/BoatRenderer.cpp | 2 +- .../renderer/entity/CaveSpiderRenderer.cpp | 2 +- .../renderer/entity/CreeperRenderer.cpp | 2 +- .../renderer/entity/DefaultRenderer.cpp | 2 +- .../renderer/entity/EnderCrystalRenderer.cpp | 2 +- .../renderer/entity/EnderDragonRenderer.cpp | 2 +- .../renderer/entity/EndermanRenderer.cpp | 3 +- .../entity/EntityRenderDispatcher.cpp | 2 +- .../client/renderer/entity/EntityRenderer.cpp | 2 +- .../renderer/entity/ExperienceOrbRenderer.cpp | 2 +- .../renderer/entity/FallingTileRenderer.cpp | 2 +- .../renderer/entity/FireballRenderer.cpp | 2 +- .../renderer/entity/FishingHookRenderer.cpp | 2 +- .../client/renderer/entity/GhastRenderer.cpp | 2 +- .../renderer/entity/GiantMobRenderer.cpp | 2 +- .../client/renderer/entity/HorseRenderer.cpp | 5 +- .../renderer/entity/HumanoidMobRenderer.cpp | 3 +- .../renderer/entity/ItemFrameRenderer.cpp | 2 +- .../client/renderer/entity/ItemRenderer.cpp | 6 +- .../renderer/entity/ItemSpriteRenderer.cpp | 2 +- .../renderer/entity/LavaSlimeRenderer.cpp | 2 +- .../renderer/entity/LeashKnotRenderer.cpp | 2 +- .../renderer/entity/LightningBoltRenderer.cpp | 2 +- .../renderer/entity/LivingEntityRenderer.cpp | 4 +- .../renderer/entity/MinecartRenderer.cpp | 2 +- .../client/renderer/entity/MobRenderer.cpp | 2 +- .../renderer/entity/MushroomCowRenderer.cpp | 3 +- .../client/renderer/entity/OcelotRenderer.cpp | 2 +- .../renderer/entity/PaintingRenderer.cpp | 3 +- .../client/renderer/entity/PlayerRenderer.cpp | 3 +- .../client/renderer/entity/SheepRenderer.cpp | 2 +- .../renderer/entity/SkeletonRenderer.cpp | 2 +- .../client/renderer/entity/SlimeRenderer.cpp | 2 +- .../renderer/entity/SnowManRenderer.cpp | 2 +- .../client/renderer/entity/SpiderRenderer.cpp | 2 +- .../client/renderer/entity/SquidRenderer.cpp | 2 +- .../renderer/entity/TntMinecartRenderer.cpp | 2 +- .../client/renderer/entity/TntRenderer.cpp | 2 +- .../renderer/entity/VillagerGolemRenderer.cpp | 2 +- .../renderer/entity/VillagerRenderer.cpp | 2 +- .../client/renderer/entity/WitchRenderer.cpp | 2 +- .../renderer/entity/WitherBossRenderer.cpp | 2 +- .../renderer/entity/WitherSkullRenderer.cpp | 2 +- .../client/renderer/entity/WolfRenderer.cpp | 2 +- .../client/renderer/texture/Texture.cpp | 20 +- .../renderer/tileentity/BeaconRenderer.cpp | 2 +- .../renderer/tileentity/ChestRenderer.cpp | 2 +- .../tileentity/EnchantTableRenderer.cpp | 2 +- .../tileentity/EnderChestRenderer.cpp | 2 +- .../tileentity/MobSpawnerRenderer.cpp | 2 +- .../tileentity/PistonPieceRenderer.cpp | 2 +- .../renderer/tileentity/SignRenderer.cpp | 2 +- .../renderer/tileentity/SkullTileRenderer.cpp | 2 +- .../tileentity/TheEndPortalRenderer.cpp | 2 +- .../tileentity/TileEntityRenderDispatcher.cpp | 2 +- .../minecraft/client/title/TitleScreen.cpp | 4 +- targets/platform/Platform.h | 2 +- targets/platform/PlatformServices.cpp | 5 +- targets/platform/PlatformServices.h | 2 - targets/platform/input/sdl2/SDL2Input.cpp | 2 +- targets/platform/meson.build | 10 +- targets/platform/profile/stub/StubProfile.h | 4 +- .../{ => renderer}/IPlatformRenderer.h | 1 + .../Render.cpp => renderer/gl/GLRenderer.cpp} | 345 +++++++++++++----- .../Render.h => renderer/gl/GLRenderer.h} | 113 +++--- .../{sdl2 => renderer/gl}/gl3_loader.h | 0 targets/platform/renderer/gl/render_stubs.cpp | 44 +++ .../gl}/shaders/fragment.frag | 0 .../gl}/shaders/fragment_es.frag | 0 .../{sdl2 => renderer/gl}/shaders/vertex.vert | 0 .../gl}/shaders/vertex_es.vert | 0 targets/platform/renderer/renderer.h | 4 + targets/platform/sdl2/render_stubs.cpp | 44 --- targets/platform/storage/stub/StubStorage.h | 2 +- 180 files changed, 988 insertions(+), 1030 deletions(-) delete mode 100644 targets/app/linux/LinuxGL.cpp delete mode 100644 targets/app/linux/LinuxGL.h rename targets/platform/{ => renderer}/IPlatformRenderer.h (99%) rename targets/platform/{sdl2/Render.cpp => renderer/gl/GLRenderer.cpp} (79%) rename targets/platform/{sdl2/Render.h => renderer/gl/GLRenderer.h} (86%) rename targets/platform/{sdl2 => renderer/gl}/gl3_loader.h (100%) create mode 100644 targets/platform/renderer/gl/render_stubs.cpp rename targets/platform/{sdl2 => renderer/gl}/shaders/fragment.frag (100%) rename targets/platform/{sdl2 => renderer/gl}/shaders/fragment_es.frag (100%) rename targets/platform/{sdl2 => renderer/gl}/shaders/vertex.vert (100%) rename targets/platform/{sdl2 => renderer/gl}/shaders/vertex_es.vert (100%) create mode 100644 targets/platform/renderer/renderer.h delete mode 100644 targets/platform/sdl2/render_stubs.cpp diff --git a/targets/app/common/DLC/DLCAudioFile.cpp b/targets/app/common/DLC/DLCAudioFile.cpp index cbe684142..c76b469ee 100644 --- a/targets/app/common/DLC/DLCAudioFile.cpp +++ b/targets/app/common/DLC/DLCAudioFile.cpp @@ -5,7 +5,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "platform/storage/storage.h" #include "DLCManager.h" #include "app/common/DLC/DLCFile.h" @@ -123,7 +123,7 @@ void DLCAudioFile::addParameter(EAudioType type, EAudioParameterType ptype, int maximumChars = 55; bool bIsSDMode = - !RenderManager.IsHiDef() && !RenderManager.IsWidescreen(); + !PlatformRenderer.IsHiDef() && !PlatformRenderer.IsWidescreen(); if (bIsSDMode) { maximumChars = 45; diff --git a/targets/app/common/DLC/DLCSkinFile.cpp b/targets/app/common/DLC/DLCSkinFile.cpp index 0f3a1612c..ed6aea4f1 100644 --- a/targets/app/common/DLC/DLCSkinFile.cpp +++ b/targets/app/common/DLC/DLCSkinFile.cpp @@ -3,7 +3,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "DLCManager.h" #include "app/common/DLC/DLCFile.h" #include "app/linux/LinuxGame.h" @@ -57,7 +57,7 @@ void DLCSkinFile::addParameter(DLCManager::EDLCParameterType type, int maximumChars = 55; bool bIsSDMode = - !RenderManager.IsHiDef() && !RenderManager.IsWidescreen(); + !PlatformRenderer.IsHiDef() && !PlatformRenderer.IsWidescreen(); if (bIsSDMode) { maximumChars = 45; diff --git a/targets/app/common/Game.cpp b/targets/app/common/Game.cpp index 68e8992fd..a13bd8c95 100644 --- a/targets/app/common/Game.cpp +++ b/targets/app/common/Game.cpp @@ -3,7 +3,7 @@ #include "platform/PlatformTypes.h" #include "platform/profile/profile.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "platform/storage/storage.h" #include "app/common/App_Defines.h" #include "minecraft/GameEnums.h" @@ -627,7 +627,7 @@ bool Game::IsLocalMultiplayerAvailable() { ++connectedControllers; } - bool available = RenderManager.IsHiDef() && connectedControllers > 1; + bool available = PlatformRenderer.IsHiDef() && connectedControllers > 1; return available; diff --git a/targets/app/common/GameSettingsManager.cpp b/targets/app/common/GameSettingsManager.cpp index bee25383a..7cdafeeb8 100644 --- a/targets/app/common/GameSettingsManager.cpp +++ b/targets/app/common/GameSettingsManager.cpp @@ -21,7 +21,7 @@ #include "minecraft/world/entity/player/Player.h" #include "minecraft/world/level/tile/Tile.h" #include "platform/input/input.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "platform/storage/storage.h" #include "app/common/Audio/SoundEngine.h" @@ -265,7 +265,7 @@ void GameSettingsManager::actionGameSettings(int iPad, eGameSetting eVal) { case eGameSetting_Gamma: if (iPad == PlatformProfile.GetPrimaryPad()) { float fVal = ((float)GameSettingsA[iPad]->ucGamma) * 327.68f; - RenderManager.UpdateGamma((unsigned short)fVal); + PlatformRenderer.UpdateGamma((unsigned short)fVal); } break; case eGameSetting_Difficulty: @@ -371,7 +371,7 @@ void GameSettingsManager::actionGameSettings(int iPad, eGameSetting eVal) { for (std::uint8_t idx = 0; idx < XUSER_MAX_COUNT; ++idx) { if (pMinecraft->localplayers[idx] != nullptr) { if (pMinecraft->localplayers[idx]->m_iScreenSection == - C4JRender::VIEWPORT_TYPE_FULLSCREEN) { + IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN) { ui.DisplayGamertag(idx, false); } else { ui.DisplayGamertag(idx, true); diff --git a/targets/app/common/LocalizationManager.cpp b/targets/app/common/LocalizationManager.cpp index 7c17e7e83..c17f068a8 100644 --- a/targets/app/common/LocalizationManager.cpp +++ b/targets/app/common/LocalizationManager.cpp @@ -17,7 +17,7 @@ #include "minecraft/client/skins/TexturePack.h" #include "minecraft/client/skins/TexturePackRepository.h" #include "platform/input/input.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "platform/XboxStubs.h" #include "strings.h" #include "util/StringHelpers.h" @@ -107,7 +107,7 @@ int LocalizationManager::TipsSortFunction(const void* a, const void* b) { void LocalizationManager::initialiseTips() { memset(m_TipIDA, 0, sizeof(m_TipIDA)); - if (!RenderManager.IsHiDef()) { + if (!PlatformRenderer.IsHiDef()) { m_GameTipA[0].uiStringID = IDS_TIPS_GAMETIP_0; } diff --git a/targets/app/common/Network/GameNetworkManager.cpp b/targets/app/common/Network/GameNetworkManager.cpp index 2f76df99a..996129d3d 100644 --- a/targets/app/common/Network/GameNetworkManager.cpp +++ b/targets/app/common/Network/GameNetworkManager.cpp @@ -11,7 +11,7 @@ #include "platform/input/input.h" #include "platform/profile/profile.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "platform/storage/storage.h" #include "minecraft/GameEnums.h" #include "app/common/Game.h" @@ -1501,16 +1501,16 @@ void CGameNetworkManager::ServerStoppedWait() { if (C4JThread::isMainThread()) { int result = C4JThread::WaitResult::Timeout; do { - RenderManager.StartFrame(); + PlatformRenderer.StartFrame(); result = m_hServerStoppedEvent->waitForSignal(20); // Tick some simple things PlatformProfile.Tick(); PlatformStorage.Tick(); PlatformInput.Tick(); - RenderManager.Tick(); + PlatformRenderer.Tick(); ui.tick(); ui.render(); - RenderManager.Present(); + PlatformRenderer.Present(); } while (result == C4JThread::WaitResult::Timeout); } else { if (m_hServerStoppedEvent != nullptr) { diff --git a/targets/app/common/UI/All Platforms/IUIScene_AbstractContainerMenu.cpp b/targets/app/common/UI/All Platforms/IUIScene_AbstractContainerMenu.cpp index 068e0206f..a1b1c7c71 100644 --- a/targets/app/common/UI/All Platforms/IUIScene_AbstractContainerMenu.cpp +++ b/targets/app/common/UI/All Platforms/IUIScene_AbstractContainerMenu.cpp @@ -8,7 +8,7 @@ #include #include "platform/input/input.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/GameEnums.h" #include "app/common/Tutorial/Tutorial.h" #include "app/common/Tutorial/TutorialMode.h" @@ -328,7 +328,7 @@ void IUIScene_AbstractContainerMenu::onMouseTick() { // 4J Stu - The cursor moves too fast in SD mode // The SD/splitscreen scenes are approximately 0.6 times the size of // the fullscreen on - if (!RenderManager.IsHiDef() || app.GetLocalPlayerCount() > 1) + if (!PlatformRenderer.IsHiDef() || app.GetLocalPlayerCount() > 1) fInputScale *= 0.6f; fInputX *= fInputScale; diff --git a/targets/app/common/UI/All Platforms/IUIScene_CraftingMenu.cpp b/targets/app/common/UI/All Platforms/IUIScene_CraftingMenu.cpp index d489b96c4..0aecabe23 100644 --- a/targets/app/common/UI/All Platforms/IUIScene_CraftingMenu.cpp +++ b/targets/app/common/UI/All Platforms/IUIScene_CraftingMenu.cpp @@ -8,7 +8,7 @@ #include #include "platform/profile/profile.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/GameEnums.h" #include "app/common/Console_Debug_enum.h" #include "app/common/Tutorial/Tutorial.h" @@ -480,7 +480,7 @@ bool IUIScene_CraftingMenu::handleKeyDown(int iPad, int iAction, bool bRepeat) { // Vita) bool bNoScrollSlots = false; if (m_bSplitscreen || - (!RenderManager.IsHiDef() && !RenderManager.IsWidescreen())) { + (!PlatformRenderer.IsHiDef() && !PlatformRenderer.IsWidescreen())) { bNoScrollSlots = true; } @@ -1034,7 +1034,7 @@ void IUIScene_CraftingMenu::UpdateVerticalSlots() { // splits & Vita) bool bNoScrollSlots = false; if (m_bSplitscreen || - (!RenderManager.IsHiDef() && !RenderManager.IsWidescreen())) { + (!PlatformRenderer.IsHiDef() && !PlatformRenderer.IsWidescreen())) { bNoScrollSlots = true; } @@ -1314,7 +1314,7 @@ void IUIScene_CraftingMenu::UpdateDescriptionText(bool bCanBeMade) { // 12 for splitscreen, 14 for normal EHTMLFontSize size = eHTMLSize_Normal; if (m_bSplitscreen || - (!RenderManager.IsHiDef() && !RenderManager.IsWidescreen())) { + (!PlatformRenderer.IsHiDef() && !PlatformRenderer.IsWidescreen())) { size = eHTMLSize_Splitscreen; } wchar_t startTags[64]; diff --git a/targets/app/common/UI/All Platforms/IUIScene_CreativeMenu.cpp b/targets/app/common/UI/All Platforms/IUIScene_CreativeMenu.cpp index 920582a1f..e9de2ec6c 100644 --- a/targets/app/common/UI/All Platforms/IUIScene_CreativeMenu.cpp +++ b/targets/app/common/UI/All Platforms/IUIScene_CreativeMenu.cpp @@ -878,7 +878,7 @@ void IUIScene_CreativeMenu::staticCtor() { // Just use the text LT - the graphic doesn't fit in splitscreen either // In 480p there's not enough room for the LT button, so use text instead - // if(!RenderManager.IsHiDef() && !RenderManager.IsWidescreen()) + // if(!PlatformRenderer.IsHiDef() && !PlatformRenderer.IsWidescreen()) { specs[eCreativeInventoryTab_Brewing] = new TabSpec(L"Brewing", IDS_GROUPNAME_POTIONS_480, 5, brewingGroup); diff --git a/targets/app/common/UI/All Platforms/IUIScene_HUD.cpp b/targets/app/common/UI/All Platforms/IUIScene_HUD.cpp index 5363e3683..a3557158c 100644 --- a/targets/app/common/UI/All Platforms/IUIScene_HUD.cpp +++ b/targets/app/common/UI/All Platforms/IUIScene_HUD.cpp @@ -4,7 +4,7 @@ #include #include "platform/profile/profile.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/GameEnums.h" #include "app/linux/LinuxGame.h" #include "app/linux/Linux_UIController.h" @@ -70,7 +70,7 @@ void IUIScene_HUD::updateFrameTick() { int iGuiScale; if (pMinecraft->localplayers[iPad]->m_iScreenSection == - C4JRender::VIEWPORT_TYPE_FULLSCREEN) { + IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN) { iGuiScale = app.GetGameSettings(iPad, eGameSetting_UISize); } else { iGuiScale = app.GetGameSettings(iPad, eGameSetting_UISizeSplitscreen); diff --git a/targets/app/common/UI/Components/UIComponent_Chat.cpp b/targets/app/common/UI/Components/UIComponent_Chat.cpp index 38310d908..284ff6328 100644 --- a/targets/app/common/UI/Components/UIComponent_Chat.cpp +++ b/targets/app/common/UI/Components/UIComponent_Chat.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/Controls/UIControl.h" #include "app/common/UI/Controls/UIControl_Label.h" #include "app/common/UI/UILayer.h" @@ -32,18 +32,18 @@ UIComponent_Chat::UIComponent_Chat(int iPad, void* initData, std::wstring UIComponent_Chat::getMoviePath() { switch (m_parentLayer->getViewport()) { - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: m_bSplitscreen = true; return L"ComponentChatSplit"; break; - case C4JRender::VIEWPORT_TYPE_FULLSCREEN: + case IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN: default: m_bSplitscreen = false; return L"ComponentChat"; @@ -89,20 +89,20 @@ void UIComponent_Chat::handleTimerComplete(int id) { } void UIComponent_Chat::render(S32 width, S32 height, - C4JRender::eViewportType viewport) { + IPlatformRenderer::eViewportType viewport) { if (m_bSplitscreen) { S32 xPos = 0; S32 yPos = 0; switch (viewport) { - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: yPos = (S32)(ui.getScreenHeight() / 2); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: xPos = (S32)(ui.getScreenWidth() / 2); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: xPos = (S32)(ui.getScreenWidth() / 2); yPos = (S32)(ui.getScreenHeight() / 2); break; @@ -117,22 +117,22 @@ void UIComponent_Chat::render(S32 width, S32 height, S32 tileHeight = height; switch (viewport) { - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: tileHeight = (S32)(ui.getScreenHeight()); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: tileWidth = (S32)(ui.getScreenWidth()); tileYStart = (S32)(m_movieHeight / 2); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: tileWidth = (S32)(ui.getScreenWidth()); tileYStart = (S32)(m_movieHeight / 2); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: tileYStart = (S32)(m_movieHeight / 2); break; default: diff --git a/targets/app/common/UI/Components/UIComponent_Chat.h b/targets/app/common/UI/Components/UIComponent_Chat.h index 85e3439b0..9e7173c64 100644 --- a/targets/app/common/UI/Components/UIComponent_Chat.h +++ b/targets/app/common/UI/Components/UIComponent_Chat.h @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/All Platforms/UIEnums.h" #include "app/common/UI/Controls/UIControl.h" #include "app/common/UI/Controls/UIControl_Label.h" @@ -69,7 +69,7 @@ public: // RENDERING virtual void render(S32 width, S32 height, - C4JRender::eViewportType viewport); + IPlatformRenderer::eViewportType viewport); protected: void handleTimerComplete(int id); diff --git a/targets/app/common/UI/Components/UIComponent_Logo.cpp b/targets/app/common/UI/Components/UIComponent_Logo.cpp index a0db6e84f..2a2c89357 100644 --- a/targets/app/common/UI/Components/UIComponent_Logo.cpp +++ b/targets/app/common/UI/Components/UIComponent_Logo.cpp @@ -1,6 +1,6 @@ #include "UIComponent_Logo.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/UILayer.h" #include "app/common/UI/UIScene.h" @@ -13,17 +13,17 @@ UIComponent_Logo::UIComponent_Logo(int iPad, void* initData, std::wstring UIComponent_Logo::getMoviePath() { switch (m_parentLayer->getViewport()) { - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: return L"ComponentLogoSplit"; break; - case C4JRender::VIEWPORT_TYPE_FULLSCREEN: + case IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN: default: return L"ComponentLogo"; break; diff --git a/targets/app/common/UI/Components/UIComponent_MenuBackground.cpp b/targets/app/common/UI/Components/UIComponent_MenuBackground.cpp index 7d9f6b9bc..2fb371239 100644 --- a/targets/app/common/UI/Components/UIComponent_MenuBackground.cpp +++ b/targets/app/common/UI/Components/UIComponent_MenuBackground.cpp @@ -1,6 +1,6 @@ #include "UIComponent_MenuBackground.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/UILayer.h" #include "app/common/UI/UIScene.h" #include "app/linux/Iggy/include/iggy.h" @@ -20,17 +20,17 @@ UIComponent_MenuBackground::UIComponent_MenuBackground(int iPad, void* initData, std::wstring UIComponent_MenuBackground::getMoviePath() { switch (m_parentLayer->getViewport()) { - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: m_bSplitscreen = true; break; - case C4JRender::VIEWPORT_TYPE_FULLSCREEN: + case IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN: default: m_bSplitscreen = false; break; @@ -42,20 +42,20 @@ std::wstring UIComponent_MenuBackground::getMoviePath() { } void UIComponent_MenuBackground::render(S32 width, S32 height, - C4JRender::eViewportType viewport) { + IPlatformRenderer::eViewportType viewport) { if (m_bSplitscreen) { S32 xPos = 0; S32 yPos = 0; switch (viewport) { - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: yPos = (S32)(ui.getScreenHeight() / 2); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: xPos = (S32)(ui.getScreenWidth() / 2); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: xPos = (S32)(ui.getScreenWidth() / 2); yPos = (S32)(ui.getScreenHeight() / 2); break; @@ -70,22 +70,22 @@ void UIComponent_MenuBackground::render(S32 width, S32 height, S32 tileHeight = height; switch (viewport) { - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: tileHeight = (S32)(ui.getScreenHeight()); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: tileWidth = (S32)(ui.getScreenWidth()); tileYStart = (S32)(m_movieHeight / 2); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: tileWidth = (S32)(ui.getScreenWidth()); tileYStart = (S32)(m_movieHeight / 2); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: tileYStart = (S32)(m_movieHeight / 2); break; default: diff --git a/targets/app/common/UI/Components/UIComponent_MenuBackground.h b/targets/app/common/UI/Components/UIComponent_MenuBackground.h index c22bc08bf..4baa123ca 100644 --- a/targets/app/common/UI/Components/UIComponent_MenuBackground.h +++ b/targets/app/common/UI/Components/UIComponent_MenuBackground.h @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/All Platforms/UIEnums.h" #include "app/common/UI/UIScene.h" #include "app/linux/Iggy/include/rrCore.h" @@ -35,5 +35,5 @@ public: // RENDERING virtual void render(S32 width, S32 height, - C4JRender::eViewportType viewport); + IPlatformRenderer::eViewportType viewport); }; \ No newline at end of file diff --git a/targets/app/common/UI/Components/UIComponent_Panorama.cpp b/targets/app/common/UI/Components/UIComponent_Panorama.cpp index ca284e743..6c964b4ef 100644 --- a/targets/app/common/UI/Components/UIComponent_Panorama.cpp +++ b/targets/app/common/UI/Components/UIComponent_Panorama.cpp @@ -4,7 +4,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/UILayer.h" #include "app/common/UI/UIScene.h" #include "app/linux/Iggy/include/iggy.h" @@ -31,18 +31,18 @@ UIComponent_Panorama::UIComponent_Panorama(int iPad, void* initData, std::wstring UIComponent_Panorama::getMoviePath() { switch (m_parentLayer->getViewport()) { - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: m_bSplitscreen = true; return L"PanoramaSplit"; break; - case C4JRender::VIEWPORT_TYPE_FULLSCREEN: + case IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN: default: m_bSplitscreen = false; return L"Panorama"; @@ -79,20 +79,20 @@ void UIComponent_Panorama::tick() { } void UIComponent_Panorama::render(S32 width, S32 height, - C4JRender::eViewportType viewport) { + IPlatformRenderer::eViewportType viewport) { bool specialViewport = - (viewport == C4JRender::VIEWPORT_TYPE_SPLIT_TOP) || - (viewport == C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM) || - (viewport == C4JRender::VIEWPORT_TYPE_SPLIT_LEFT) || - (viewport == C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT); + (viewport == IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP) || + (viewport == IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM) || + (viewport == IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT) || + (viewport == IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT); if (m_bSplitscreen && specialViewport) { S32 xPos = 0; S32 yPos = 0; switch (viewport) { - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: yPos = (S32)(ui.getScreenHeight() / 2); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: xPos = (S32)(ui.getScreenWidth() / 2); break; default: @@ -100,8 +100,8 @@ void UIComponent_Panorama::render(S32 width, S32 height, } ui.setupRenderPosition(xPos, yPos); - if ((viewport == C4JRender::VIEWPORT_TYPE_SPLIT_LEFT) || - (viewport == C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT)) { + if ((viewport == IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT) || + (viewport == IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT)) { // Need to render at full height, but only the left side of the // scene S32 tileXStart = 0; diff --git a/targets/app/common/UI/Components/UIComponent_Panorama.h b/targets/app/common/UI/Components/UIComponent_Panorama.h index 798cb339d..13d4a5e33 100644 --- a/targets/app/common/UI/Components/UIComponent_Panorama.h +++ b/targets/app/common/UI/Components/UIComponent_Panorama.h @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/All Platforms/UIEnums.h" #include "app/common/UI/UIScene.h" #include "app/linux/Iggy/include/iggy.h" @@ -44,7 +44,7 @@ public: // RENDERING virtual void render(S32 width, S32 height, - C4JRender::eViewportType viewport); + IPlatformRenderer::eViewportType viewport); private: void setPanorama(bool isDay); diff --git a/targets/app/common/UI/Components/UIComponent_Tooltips.cpp b/targets/app/common/UI/Components/UIComponent_Tooltips.cpp index d8ecb30e7..4a0bfe67b 100644 --- a/targets/app/common/UI/Components/UIComponent_Tooltips.cpp +++ b/targets/app/common/UI/Components/UIComponent_Tooltips.cpp @@ -1,7 +1,7 @@ #include "UIComponent_Tooltips.h" #include "platform/profile/profile.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/GameEnums.h" #include "app/common/UI/All Platforms/UIEnums.h" #include "app/common/UI/UILayer.h" @@ -30,18 +30,18 @@ UIComponent_Tooltips::UIComponent_Tooltips(int iPad, void* initData, std::wstring UIComponent_Tooltips::getMoviePath() { switch (m_parentLayer->getViewport()) { - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: m_bSplitscreen = true; return L"ToolTipsSplit"; break; - case C4JRender::VIEWPORT_TYPE_FULLSCREEN: + case IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN: default: m_bSplitscreen = false; return L"ToolTips"; @@ -55,7 +55,7 @@ F64 UIComponent_Tooltips::getSafeZoneHalfWidth() { float safeWidth = 0.0f; // 85% safezone for tooltips in either SD mode - if (!RenderManager.IsHiDef()) { + if (!PlatformRenderer.IsHiDef()) { // 85% safezone safeWidth = m_movieWidth * (0.15f / 2); } else { @@ -73,39 +73,39 @@ void UIComponent_Tooltips::updateSafeZone() { F64 safeRight = 0.0; switch (m_parentLayer->getViewport()) { - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: safeTop = getSafeZoneHalfHeight(); safeLeft = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: safeBottom = getSafeZoneHalfHeight(); safeLeft = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: safeLeft = getSafeZoneHalfWidth(); safeBottom = getSafeZoneHalfHeight(); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: safeRight = getSafeZoneHalfWidth(); safeBottom = getSafeZoneHalfHeight(); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: safeTop = getSafeZoneHalfHeight(); safeLeft = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: safeTop = getSafeZoneHalfHeight(); safeRight = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: safeBottom = getSafeZoneHalfHeight(); safeLeft = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: safeBottom = getSafeZoneHalfHeight(); safeRight = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_FULLSCREEN: + case IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN: default: safeTop = getSafeZoneHalfHeight(); safeBottom = getSafeZoneHalfHeight(); @@ -166,7 +166,7 @@ void UIComponent_Tooltips::tick() { } void UIComponent_Tooltips::render(S32 width, S32 height, - C4JRender::eViewportType viewport) { + IPlatformRenderer::eViewportType viewport) { if ((PlatformProfile.GetLockedProfile() != -1) && !ui.GetMenuDisplayed(m_iPad) && (app.GetGameSettings(m_iPad, eGameSetting_Tooltips) == 0 || @@ -178,15 +178,15 @@ void UIComponent_Tooltips::render(S32 width, S32 height, S32 xPos = 0; S32 yPos = 0; switch (viewport) { - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: yPos = (S32)(ui.getScreenHeight() / 2); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: xPos = (S32)(ui.getScreenWidth() / 2); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: xPos = (S32)(ui.getScreenWidth() / 2); yPos = (S32)(ui.getScreenHeight() / 2); break; @@ -201,22 +201,22 @@ void UIComponent_Tooltips::render(S32 width, S32 height, S32 tileHeight = height; switch (viewport) { - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: tileHeight = (S32)(ui.getScreenHeight()); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: tileWidth = (S32)(ui.getScreenWidth()); tileYStart = (S32)(m_movieHeight / 2); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: tileWidth = (S32)(ui.getScreenWidth()); tileYStart = (S32)(m_movieHeight / 2); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: tileYStart = (S32)(m_movieHeight / 2); break; default: diff --git a/targets/app/common/UI/Components/UIComponent_Tooltips.h b/targets/app/common/UI/Components/UIComponent_Tooltips.h index c9ec16229..24501c2b9 100644 --- a/targets/app/common/UI/Components/UIComponent_Tooltips.h +++ b/targets/app/common/UI/Components/UIComponent_Tooltips.h @@ -3,7 +3,7 @@ #include #include "platform/PlatformTypes.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/GameEnums.h" #include "app/common/UI/All Platforms/UIEnums.h" #include "app/common/UI/UIScene.h" @@ -70,7 +70,7 @@ public: // RENDERING virtual void render(S32 width, S32 height, - C4JRender::eViewportType viewport); + IPlatformRenderer::eViewportType viewport); virtual void SetTooltipText(unsigned int tooltip, int iTextID); virtual void SetEnableTooltips(bool bVal); diff --git a/targets/app/common/UI/Components/UIComponent_TutorialPopup.cpp b/targets/app/common/UI/Components/UIComponent_TutorialPopup.cpp index 87a926c46..055133911 100644 --- a/targets/app/common/UI/Components/UIComponent_TutorialPopup.cpp +++ b/targets/app/common/UI/Components/UIComponent_TutorialPopup.cpp @@ -46,17 +46,17 @@ UIComponent_TutorialPopup::UIComponent_TutorialPopup(int iPad, void* initData, std::wstring UIComponent_TutorialPopup::getMoviePath() { switch (m_parentLayer->getViewport()) { - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: return L"TutorialPopupSplit"; break; - case C4JRender::VIEWPORT_TYPE_FULLSCREEN: + case IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN: default: return L"TutorialPopup"; break; @@ -410,9 +410,9 @@ void UIComponent_TutorialPopup::UpdateInteractScenePosition(bool visible) { bool isTradingScene = (m_interactScene->getSceneType() == eUIScene_TradingMenu); switch (Minecraft::GetInstance()->localplayers[m_iPad]->m_iScreenSection) { - case C4JRender::VIEWPORT_TYPE_FULLSCREEN: - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: bAllowAnim = true; break; default: @@ -443,24 +443,24 @@ void UIComponent_TutorialPopup::UpdateInteractScenePosition(bool visible) { } void UIComponent_TutorialPopup::render(S32 width, S32 height, - C4JRender::eViewportType viewport) { - if (viewport != C4JRender::VIEWPORT_TYPE_FULLSCREEN) { + IPlatformRenderer::eViewportType viewport) { + if (viewport != IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN) { S32 xPos = 0; S32 yPos = 0; switch (viewport) { - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: xPos = (S32)(ui.getScreenWidth() / 2); yPos = (S32)(ui.getScreenHeight() / 2); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: yPos = (S32)(ui.getScreenHeight() / 2); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: xPos = (S32)(ui.getScreenWidth() / 2); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: xPos = (S32)(ui.getScreenWidth() / 2); yPos = (S32)(ui.getScreenHeight() / 2); break; @@ -469,22 +469,22 @@ void UIComponent_TutorialPopup::render(S32 width, S32 height, } // Adjust for safezone switch (viewport) { - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: yPos += getSafeZoneHalfHeight(); break; default: break; } switch (viewport) { - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: xPos -= getSafeZoneHalfWidth(); break; default: diff --git a/targets/app/common/UI/Components/UIComponent_TutorialPopup.h b/targets/app/common/UI/Components/UIComponent_TutorialPopup.h index c594f213f..42411e7d7 100644 --- a/targets/app/common/UI/Components/UIComponent_TutorialPopup.h +++ b/targets/app/common/UI/Components/UIComponent_TutorialPopup.h @@ -3,7 +3,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/All Platforms/UIEnums.h" #include "app/common/UI/All Platforms/UIStructs.h" #include "app/common/UI/Controls/UIControl.h" @@ -104,7 +104,7 @@ public: // RENDERING virtual void render(S32 width, S32 height, - C4JRender::eViewportType viewport); + IPlatformRenderer::eViewportType viewport); virtual void customDraw(IggyCustomDrawCallbackRegion* region); diff --git a/targets/app/common/UI/Components/UIScene_HUD.cpp b/targets/app/common/UI/Components/UIScene_HUD.cpp index 4f5ce3bfc..fade0599f 100644 --- a/targets/app/common/UI/Components/UIScene_HUD.cpp +++ b/targets/app/common/UI/Components/UIScene_HUD.cpp @@ -44,18 +44,18 @@ UIScene_HUD::UIScene_HUD(int iPad, void* initData, UILayer* parentLayer) std::wstring UIScene_HUD::getMoviePath() { switch (m_parentLayer->getViewport()) { - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: m_bSplitscreen = true; return L"HUDSplit"; break; - case C4JRender::VIEWPORT_TYPE_FULLSCREEN: + case IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN: default: m_bSplitscreen = false; return L"HUD"; @@ -71,43 +71,43 @@ void UIScene_HUD::updateSafeZone() { F64 safeRight = 0.0; switch (m_parentLayer->getViewport()) { - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: safeTop = getSafeZoneHalfHeight(); safeLeft = getSafeZoneHalfWidth(); safeRight = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: safeBottom = getSafeZoneHalfHeight(); safeLeft = getSafeZoneHalfWidth(); safeRight = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: safeLeft = getSafeZoneHalfWidth(); safeTop = getSafeZoneHalfHeight(); safeBottom = getSafeZoneHalfHeight(); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: safeRight = getSafeZoneHalfWidth(); safeTop = getSafeZoneHalfHeight(); safeBottom = getSafeZoneHalfHeight(); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: safeTop = getSafeZoneHalfHeight(); safeLeft = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: safeTop = getSafeZoneHalfHeight(); safeRight = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: safeBottom = getSafeZoneHalfHeight(); safeLeft = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: safeBottom = getSafeZoneHalfHeight(); safeRight = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_FULLSCREEN: + case IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN: default: safeTop = getSafeZoneHalfHeight(); safeBottom = getSafeZoneHalfHeight(); @@ -250,7 +250,7 @@ void UIScene_HUD::handleReload() { Minecraft* pMinecraft = Minecraft::GetInstance(); if (pMinecraft->localplayers[m_iPad] == nullptr || pMinecraft->localplayers[m_iPad]->m_iScreenSection == - C4JRender::VIEWPORT_TYPE_FULLSCREEN) { + IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN) { iGuiScale = app.GetGameSettings(m_iPad, eGameSetting_UISize); } else { iGuiScale = app.GetGameSettings(m_iPad, eGameSetting_UISizeSplitscreen); @@ -669,20 +669,20 @@ void UIScene_HUD::SetHealthAbsorb(int healthAbsorb) { } void UIScene_HUD::render(S32 width, S32 height, - C4JRender::eViewportType viewport) { + IPlatformRenderer::eViewportType viewport) { if (m_bSplitscreen) { S32 xPos = 0; S32 yPos = 0; switch (viewport) { - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: yPos = (S32)(ui.getScreenHeight() / 2); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: xPos = (S32)(ui.getScreenWidth() / 2); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: xPos = (S32)(ui.getScreenWidth() / 2); yPos = (S32)(ui.getScreenHeight() / 2); break; @@ -697,22 +697,22 @@ void UIScene_HUD::render(S32 width, S32 height, S32 tileHeight = height; switch (viewport) { - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: tileHeight = (S32)(ui.getScreenHeight()); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: tileWidth = (S32)(ui.getScreenWidth()); tileYStart = (S32)(m_movieHeight / 2); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: tileWidth = (S32)(ui.getScreenWidth()); tileYStart = (S32)(m_movieHeight / 2); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: tileYStart = (S32)(m_movieHeight / 2); break; default: @@ -780,12 +780,12 @@ void UIScene_HUD::repositionHud() { m_parentLayer->getRenderDimensions(width, height); switch (m_parentLayer->getViewport()) { - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: height = (S32)(ui.getScreenHeight()); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: width = (S32)(ui.getScreenWidth()); break; default: diff --git a/targets/app/common/UI/Components/UIScene_HUD.h b/targets/app/common/UI/Components/UIScene_HUD.h index 9be484b44..ec38ace0f 100644 --- a/targets/app/common/UI/Components/UIScene_HUD.h +++ b/targets/app/common/UI/Components/UIScene_HUD.h @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/All Platforms/IUIScene_HUD.h" #include "app/common/UI/All Platforms/UIEnums.h" #include "app/common/UI/Controls/UIControl.h" @@ -186,7 +186,7 @@ public: // RENDERING virtual void render(S32 width, S32 height, - C4JRender::eViewportType viewport); + IPlatformRenderer::eViewportType viewport); protected: void handleTimerComplete(int id); diff --git a/targets/app/common/UI/Controls/UIControl_EnchantmentBook.cpp b/targets/app/common/UI/Controls/UIControl_EnchantmentBook.cpp index be543ad91..bedd10491 100644 --- a/targets/app/common/UI/Controls/UIControl_EnchantmentBook.cpp +++ b/targets/app/common/UI/Controls/UIControl_EnchantmentBook.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/Controls/UIControl.h" #include "app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_EnchantingMenu.h" #include "app/linux/Iggy/include/iggy.h" diff --git a/targets/app/common/UI/Controls/UIControl_EnchantmentButton.cpp b/targets/app/common/UI/Controls/UIControl_EnchantmentButton.cpp index d62242c7a..706539071 100644 --- a/targets/app/common/UI/Controls/UIControl_EnchantmentButton.cpp +++ b/targets/app/common/UI/Controls/UIControl_EnchantmentButton.cpp @@ -5,7 +5,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/GameEnums.h" #include "app/common/UI/Controls/UIControl.h" #include "app/common/UI/Controls/UIControl_Button.h" diff --git a/targets/app/common/UI/Controls/UIControl_MinecraftHorse.cpp b/targets/app/common/UI/Controls/UIControl_MinecraftHorse.cpp index 046a5b163..679f84572 100644 --- a/targets/app/common/UI/Controls/UIControl_MinecraftHorse.cpp +++ b/targets/app/common/UI/Controls/UIControl_MinecraftHorse.cpp @@ -5,7 +5,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/Controls/UIControl.h" #include "app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_HorseInventoryMenu.h" #include "app/linux/Iggy/include/iggy.h" diff --git a/targets/app/common/UI/Controls/UIControl_MinecraftPlayer.cpp b/targets/app/common/UI/Controls/UIControl_MinecraftPlayer.cpp index 32a866138..2f9ccf5cc 100644 --- a/targets/app/common/UI/Controls/UIControl_MinecraftPlayer.cpp +++ b/targets/app/common/UI/Controls/UIControl_MinecraftPlayer.cpp @@ -5,7 +5,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/Controls/UIControl.h" #include "app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_InventoryMenu.h" #include "app/linux/Iggy/include/iggy.h" diff --git a/targets/app/common/UI/Controls/UIControl_PlayerSkinPreview.cpp b/targets/app/common/UI/Controls/UIControl_PlayerSkinPreview.cpp index a8672eb73..664ba290d 100644 --- a/targets/app/common/UI/Controls/UIControl_PlayerSkinPreview.cpp +++ b/targets/app/common/UI/Controls/UIControl_PlayerSkinPreview.cpp @@ -6,7 +6,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/GameEnums.h" #include "app/common/UI/Controls/UIControl.h" #include "app/linux/Iggy/include/iggy.h" diff --git a/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_DLCOffersMenu.cpp b/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_DLCOffersMenu.cpp index 3311a574e..2e2431ca1 100644 --- a/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_DLCOffersMenu.cpp +++ b/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_DLCOffersMenu.cpp @@ -4,7 +4,7 @@ #include #include "platform/PlatformTypes.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/All Platforms/UIStructs.h" #include "app/common/UI/Controls/UIControl_DLCList.h" #include "app/common/UI/Controls/UIControl_HTMLLabel.h" @@ -34,7 +34,7 @@ UIScene_DLCOffersMenu::UIScene_DLCOffersMenu(int iPad, void* initData, // Alert the app the we want to be informed of ethernet connections app.SetLiveLinkRequired(true); - m_bIsSD = !RenderManager.IsHiDef() && !RenderManager.IsWidescreen(); + m_bIsSD = !PlatformRenderer.IsHiDef() && !PlatformRenderer.IsWidescreen(); m_labelOffers.init(app.GetString(IDS_DOWNLOADABLE_CONTENT_OFFERS)); m_buttonListOffers.init(eControl_OffersList); diff --git a/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_LaunchMoreOptionsMenu.cpp b/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_LaunchMoreOptionsMenu.cpp index a92076a31..aa6e82ad5 100644 --- a/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_LaunchMoreOptionsMenu.cpp +++ b/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_LaunchMoreOptionsMenu.cpp @@ -6,7 +6,7 @@ #include "platform/input/input.h" #include "platform/profile/profile.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/App_Defines.h" #include "minecraft/GameEnums.h" #include "app/common/UI/Controls/UIControl_CheckBox.h" @@ -210,7 +210,7 @@ UIScene_LaunchMoreOptionsMenu::UIScene_LaunchMoreOptionsMenu( std::wstring wsText = app.GetString(IDS_GAMEOPTION_ONLINE); #endif EHTMLFontSize size = eHTMLSize_Normal; - if (!RenderManager.IsHiDef() && !RenderManager.IsWidescreen()) { + if (!PlatformRenderer.IsHiDef() && !PlatformRenderer.IsWidescreen()) { size = eHTMLSize_Splitscreen; } wchar_t startTags[64]; @@ -499,7 +499,7 @@ void UIScene_LaunchMoreOptionsMenu::handleFocusChange(F64 controlId, std::wstring wsText = app.GetString(stringId); EHTMLFontSize size = eHTMLSize_Normal; - if (!RenderManager.IsHiDef() && !RenderManager.IsWidescreen()) { + if (!PlatformRenderer.IsHiDef() && !PlatformRenderer.IsWidescreen()) { size = eHTMLSize_Splitscreen; } wchar_t startTags[64]; diff --git a/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_LoadMenu.cpp b/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_LoadMenu.cpp index 81ff8352c..6e3fb18c2 100644 --- a/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_LoadMenu.cpp +++ b/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_LoadMenu.cpp @@ -6,7 +6,7 @@ #include "platform/PlatformTypes.h" #include "platform/profile/profile.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/App_Defines.h" #include "minecraft/GameEnums.h" #include "app/common/DLC/DLCManager.h" @@ -249,7 +249,7 @@ void UIScene_LoadMenu::updateTooltips() { void UIScene_LoadMenu::updateComponents() { m_parentLayer->showComponent(m_iPad, eUIComponent_Panorama, true); - if (RenderManager.IsWidescreen()) { + if (PlatformRenderer.IsWidescreen()) { m_parentLayer->showComponent(m_iPad, eUIComponent_Logo, true); } else { m_parentLayer->showComponent(m_iPad, eUIComponent_Logo, false); diff --git a/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_MainMenu.cpp b/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_MainMenu.cpp index 9c2566ebf..28032e4cd 100644 --- a/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_MainMenu.cpp +++ b/targets/app/common/UI/Scenes/Frontend Menu screens/UIScene_MainMenu.cpp @@ -8,7 +8,7 @@ #include "platform/PlatformTypes.h" #include "platform/profile/profile.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/App_Defines.h" #include "minecraft/GameEnums.h" #include "app/common/Network/GameNetworkManager.h" diff --git a/targets/app/common/UI/Scenes/Help & Options/UIScene_SettingsOptionsMenu.cpp b/targets/app/common/UI/Scenes/Help & Options/UIScene_SettingsOptionsMenu.cpp index c41edec49..b708967fe 100644 --- a/targets/app/common/UI/Scenes/Help & Options/UIScene_SettingsOptionsMenu.cpp +++ b/targets/app/common/UI/Scenes/Help & Options/UIScene_SettingsOptionsMenu.cpp @@ -4,7 +4,7 @@ #include #include "platform/profile/profile.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/GameEnums.h" #include "app/common/Network/GameNetworkManager.h" #include "app/common/UI/Controls/UIControl_Button.h" @@ -95,7 +95,7 @@ UIScene_SettingsOptionsMenu::UIScene_SettingsOptionsMenu(int iPad, app.GetString(m_iDifficultySettingA[app.GetGameSettings( m_iPad, eGameSetting_Difficulty)]); EHTMLFontSize size = eHTMLSize_Normal; - if (!RenderManager.IsHiDef() && !RenderManager.IsWidescreen()) { + if (!PlatformRenderer.IsHiDef() && !PlatformRenderer.IsWidescreen()) { size = eHTMLSize_Splitscreen; } wchar_t startTags[64]; @@ -200,7 +200,7 @@ void UIScene_SettingsOptionsMenu::updateComponents() { if (app.GetLocalPlayerCount() == 1) m_parentLayer->showComponent(m_iPad, eUIComponent_Logo, - RenderManager.IsHiDef()); + PlatformRenderer.IsHiDef()); else m_parentLayer->showComponent(m_iPad, eUIComponent_Logo, false); } @@ -299,7 +299,7 @@ void UIScene_SettingsOptionsMenu::handleReload() { app.GetString(m_iDifficultySettingA[app.GetGameSettings( m_iPad, eGameSetting_Difficulty)]); EHTMLFontSize size = eHTMLSize_Normal; - if (!RenderManager.IsHiDef() && !RenderManager.IsWidescreen()) { + if (!PlatformRenderer.IsHiDef() && !PlatformRenderer.IsWidescreen()) { size = eHTMLSize_Splitscreen; } wchar_t startTags[64]; @@ -380,7 +380,7 @@ void UIScene_SettingsOptionsMenu::handleSliderMove(F64 sliderId, std::wstring wsText = app.GetString(m_iDifficultySettingA[value]); EHTMLFontSize size = eHTMLSize_Normal; - if (!RenderManager.IsHiDef() && !RenderManager.IsWidescreen()) { + if (!PlatformRenderer.IsHiDef() && !PlatformRenderer.IsWidescreen()) { size = eHTMLSize_Splitscreen; } wchar_t startTags[64]; diff --git a/targets/app/common/UI/Scenes/Help & Options/UIScene_SkinSelectMenu.cpp b/targets/app/common/UI/Scenes/Help & Options/UIScene_SkinSelectMenu.cpp index 914c330e9..6f164c91d 100644 --- a/targets/app/common/UI/Scenes/Help & Options/UIScene_SkinSelectMenu.cpp +++ b/targets/app/common/UI/Scenes/Help & Options/UIScene_SkinSelectMenu.cpp @@ -6,7 +6,7 @@ #include #include "platform/profile/profile.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/App_Defines.h" #include "app/common/Minecraft_Macros.h" #include "app/common/DLC/DLCManager.h" @@ -527,7 +527,7 @@ void UIScene_SkinSelectMenu::customDraw(IggyCustomDrawCallbackRegion* region) { // %d, stencil write= %d\n", region->stencil_func_mask, // region->stencil_func_ref, region->stencil_write_mask); if (region->stencil_func_ref != 0) - RenderManager.StateSetStencil(GL_EQUAL, region->stencil_func_ref, + PlatformRenderer.StateSetStencil(GL_EQUAL, region->stencil_func_ref, region->stencil_func_mask, region->stencil_write_mask); m_characters[characterId].render(region); diff --git a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_AbstractContainerMenu.cpp b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_AbstractContainerMenu.cpp index 21fce9209..6147b1661 100644 --- a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_AbstractContainerMenu.cpp +++ b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_AbstractContainerMenu.cpp @@ -194,7 +194,7 @@ void UIScene_AbstractContainerMenu::tick() { } void UIScene_AbstractContainerMenu::render(S32 width, S32 height, - C4JRender::eViewportType viewpBort) { + IPlatformRenderer::eViewportType viewpBort) { m_cacheSlotRenders = true; m_needsCacheRendered = m_needsCacheRendered || m_menu->needsRendered(); diff --git a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_AbstractContainerMenu.h b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_AbstractContainerMenu.h index 448135457..84b037e5d 100644 --- a/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_AbstractContainerMenu.h +++ b/targets/app/common/UI/Scenes/In-Game Menu Screens/Containers/UIScene_AbstractContainerMenu.h @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/All Platforms/IUIScene_AbstractContainerMenu.h" #include "app/common/UI/Controls/UIControl.h" #include "app/common/UI/Controls/UIControl_Cursor.h" @@ -83,7 +83,7 @@ public: } virtual void render(S32 width, S32 height, - C4JRender::eViewportType viewpBort); + IPlatformRenderer::eViewportType viewpBort); virtual void customDraw(IggyCustomDrawCallbackRegion* region); // INPUT diff --git a/targets/app/common/UI/UIBitmapFont.cpp b/targets/app/common/UI/UIBitmapFont.cpp index 74b41e2fa..1ed7820e5 100644 --- a/targets/app/common/UI/UIBitmapFont.cpp +++ b/targets/app/common/UI/UIBitmapFont.cpp @@ -274,7 +274,7 @@ rrbool UIBitmapFont::GetGlyphBitmap(S32 glyph, F32 pixel_scale, float glyphScale = 1.0f, truePixelScale = 1.0f / m_cFontData->getFontData()->m_fAdvPerPixel; F32 targetPixelScale = pixel_scale; - // if(!RenderManager.IsWidescreen()) + // if(!PlatformRenderer.IsWidescreen()) //{ // // Fix for different scales in 480 // targetPixelScale = pixel_scale*2/3; diff --git a/targets/app/common/UI/UIController.cpp b/targets/app/common/UI/UIController.cpp index e5032cb49..2e557fc2a 100644 --- a/targets/app/common/UI/UIController.cpp +++ b/targets/app/common/UI/UIController.cpp @@ -245,7 +245,7 @@ UIController::UIController() { m_iPressStartQuadrantsMask = 0; - m_currentRenderViewport = C4JRender::VIEWPORT_TYPE_FULLSCREEN; + m_currentRenderViewport = IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN; m_bCustomRenderPosition = false; m_winUserIndex = 0; m_accumulatedTicks = 0; @@ -885,27 +885,27 @@ void UIController::renderScenes() { #endif } -void UIController::getRenderDimensions(C4JRender::eViewportType viewport, +void UIController::getRenderDimensions(IPlatformRenderer::eViewportType viewport, S32& width, S32& height) { switch (viewport) { - case C4JRender::VIEWPORT_TYPE_FULLSCREEN: + case IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN: width = (S32)(getScreenWidth()); height = (S32)(getScreenHeight()); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: width = (S32)(getScreenWidth() / 2); height = (S32)(getScreenHeight() / 2); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: width = (S32)(getScreenWidth() / 2); height = (S32)(getScreenHeight() / 2); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: width = (S32)(getScreenWidth() / 2); height = (S32)(getScreenHeight() / 2); break; @@ -914,36 +914,36 @@ void UIController::getRenderDimensions(C4JRender::eViewportType viewport, } } -void UIController::setupRenderPosition(C4JRender::eViewportType viewport) { +void UIController::setupRenderPosition(IPlatformRenderer::eViewportType viewport) { if (m_bCustomRenderPosition || m_currentRenderViewport != viewport) { m_currentRenderViewport = viewport; m_bCustomRenderPosition = false; S32 xPos = 0; S32 yPos = 0; switch (viewport) { - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: xPos = (S32)(getScreenWidth() / 4); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: xPos = (S32)(getScreenWidth() / 4); yPos = (S32)(getScreenHeight() / 2); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: yPos = (S32)(getScreenHeight() / 4); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: xPos = (S32)(getScreenWidth() / 2); yPos = (S32)(getScreenHeight() / 4); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: xPos = (S32)(getScreenWidth() / 2); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: yPos = (S32)(getScreenHeight() / 2); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: xPos = (S32)(getScreenWidth() / 2); yPos = (S32)(getScreenHeight() / 2); break; @@ -971,18 +971,18 @@ void UIController::setupCustomDrawGameState() { m_customRenderingClearRect.bottom = LONG_MIN; #if defined(_WINDOWS64) - RenderManager.StartFrame(); + PlatformRenderer.StartFrame(); gdraw_D3D11_setViewport_4J(); #elif defined(__linux__) - RenderManager.StartFrame(); + PlatformRenderer.StartFrame(); #endif - RenderManager.Set_matrixDirty(); + PlatformRenderer.Set_matrixDirty(); // 4J Stu - We don't need to clear this here as iggy hasn't written anything // to the depth buffer. We DO however clear after we render which is why we // still setup the rectangle here - // RenderManager.Clear(GL_DEPTH_BUFFER_BIT, &m_customRenderingClearRect); + // PlatformRenderer.Clear(GL_DEPTH_BUFFER_BIT, &m_customRenderingClearRect); // glClear(GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_PROJECTION); @@ -1061,9 +1061,9 @@ void UIController::setupCustomDrawGameStateAndMatrices( void UIController::endCustomDrawGameState() { #if defined(__linux__) - RenderManager.Clear(GL_DEPTH_BUFFER_BIT); + PlatformRenderer.Clear(GL_DEPTH_BUFFER_BIT); #else - RenderManager.Clear(GL_DEPTH_BUFFER_BIT, &m_customRenderingClearRect); + PlatformRenderer.Clear(GL_DEPTH_BUFFER_BIT, &m_customRenderingClearRect); #endif // glClear(GL_DEPTH_BUFFER_BIT); glDepthMask(false); @@ -1126,7 +1126,7 @@ GDrawTexture* RADLINK UIController::TextureSubstitutionCreateCallback( if (image.getData() != nullptr) { image.preMultiplyAlpha(); Textures* t = Minecraft::GetInstance()->textures; - int id = t->getTexture(&image, C4JRender::TEXTURE_FORMAT_RxGyBzAw, + int id = t->getTexture(&image, IPlatformRenderer::TEXTURE_FORMAT_RxGyBzAw, false); // 4J Stu - All our flash controls that allow replacing textures use @@ -1951,13 +1951,13 @@ void UIController::UpdatePlayerBasePositions() { for (int idx = 0; idx < XUSER_MAX_COUNT; ++idx) { if (pMinecraft->localplayers[idx] != nullptr) { if (pMinecraft->localplayers[idx]->m_iScreenSection == - C4JRender::VIEWPORT_TYPE_FULLSCREEN) { + IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN) { DisplayGamertag(idx, false); } else { DisplayGamertag(idx, true); } m_groups[idx + 1]->SetViewportType( - (C4JRender::eViewportType)pMinecraft->localplayers[idx] + (IPlatformRenderer::eViewportType)pMinecraft->localplayers[idx] ->m_iScreenSection); } else { // 4J Stu - This is a legacy thing from our XUI implementation that @@ -1965,7 +1965,7 @@ void UIController::UpdatePlayerBasePositions() { // no longer exist is SLOW This should probably be on all platforms, // but I don't have time to test them all just now! m_groups[idx + 1]->SetViewportType( - C4JRender::VIEWPORT_TYPE_FULLSCREEN); + IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN); DisplayGamertag(idx, false); } } diff --git a/targets/app/common/UI/UIController.h b/targets/app/common/UI/UIController.h index e0b23c42c..877369a99 100644 --- a/targets/app/common/UI/UIController.h +++ b/targets/app/common/UI/UIController.h @@ -22,7 +22,7 @@ #include "platform/PlatformTypes.h" #include "platform/input/input.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "platform/storage/storage.h" #include "app/common/UI/All Platforms/IUIController.h" #include "app/common/UI/All Platforms/UIEnums.h" @@ -158,7 +158,7 @@ private: int m_iPressStartQuadrantsMask; - C4JRender::eViewportType m_currentRenderViewport; + IPlatformRenderer::eViewportType m_currentRenderViewport; bool m_bCustomRenderPosition; static std::uint32_t m_dwTrialTimerLimitSecs; @@ -267,9 +267,9 @@ public: } virtual void render() = 0; - void getRenderDimensions(C4JRender::eViewportType viewport, S32& width, + void getRenderDimensions(IPlatformRenderer::eViewportType viewport, S32& width, S32& height); - void setupRenderPosition(C4JRender::eViewportType viewport); + void setupRenderPosition(IPlatformRenderer::eViewportType viewport); void setupRenderPosition(S32 xOrigin, S32 yOrigin); void SetSysUIShowing(bool bVal); diff --git a/targets/app/common/UI/UIGroup.cpp b/targets/app/common/UI/UIGroup.cpp index e810f4e24..b949956d4 100644 --- a/targets/app/common/UI/UIGroup.cpp +++ b/targets/app/common/UI/UIGroup.cpp @@ -1,7 +1,7 @@ #include "UIGroup.h" #include "platform/profile/profile.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/Tutorial/Tutorial.h" #include "app/common/Tutorial/TutorialMode.h" #include "app/common/UI/All Platforms/UIEnums.h" @@ -24,7 +24,7 @@ UIGroup::UIGroup(EUIGroup group, int iPad) { m_bIgnorePlayerJoinMenuDisplayed = false; // 4jcraft, moved this to the top // uninitialized memory was read. - m_viewportType = C4JRender::VIEWPORT_TYPE_FULLSCREEN; + m_viewportType = IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN; m_updateFocusStateCountdown = 0; @@ -242,7 +242,7 @@ void UIGroup::removeComponent(EUIScene scene, EUILayer layer) { m_layers[layer]->removeComponent(scene); } -void UIGroup::SetViewportType(C4JRender::eViewportType type) { +void UIGroup::SetViewportType(IPlatformRenderer::eViewportType type) { if (m_viewportType != type) { m_viewportType = type; for (unsigned int i = 0; i < eUILayer_COUNT; ++i) { @@ -251,7 +251,7 @@ void UIGroup::SetViewportType(C4JRender::eViewportType type) { } } -C4JRender::eViewportType UIGroup::GetViewportType() { return m_viewportType; } +IPlatformRenderer::eViewportType UIGroup::GetViewportType() { return m_viewportType; } void UIGroup::HandleDLCMountingComplete() { // Ignore this group if the player isn't signed in diff --git a/targets/app/common/UI/UIGroup.h b/targets/app/common/UI/UIGroup.h index 4d796989d..806c269c4 100644 --- a/targets/app/common/UI/UIGroup.h +++ b/targets/app/common/UI/UIGroup.h @@ -1,7 +1,7 @@ #pragma once #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/All Platforms/UIEnums.h" #include "app/linux/Iggy/include/rrCore.h" #include "UILayer.h" @@ -24,7 +24,7 @@ private: UIComponent_PressStartToPlay* m_pressStartToPlay; UIScene_HUD* m_hud; - C4JRender::eViewportType m_viewportType; + IPlatformRenderer::eViewportType m_viewportType; EUIGroup m_group; int m_iPad; @@ -97,8 +97,8 @@ public: UIScene* addComponent(int iPad, EUIScene scene, EUILayer layer); void removeComponent(EUIScene scene, EUILayer layer); - void SetViewportType(C4JRender::eViewportType type); - C4JRender::eViewportType GetViewportType(); + void SetViewportType(IPlatformRenderer::eViewportType type); + IPlatformRenderer::eViewportType GetViewportType(); virtual void HandleDLCMountingComplete(); virtual void HandleDLCInstalled(); diff --git a/targets/app/common/UI/UILayer.cpp b/targets/app/common/UI/UILayer.cpp index 6db553aa1..ba67117b4 100644 --- a/targets/app/common/UI/UILayer.cpp +++ b/targets/app/common/UI/UILayer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/All Platforms/UIEnums.h" #include "app/common/UI/Components/UIComponent_Chat.h" #include "app/common/UI/Components/UIComponent_DebugUIConsole.h" @@ -138,7 +138,7 @@ void UILayer::tick() { } } -void UILayer::render(S32 width, S32 height, C4JRender::eViewportType viewport) { +void UILayer::render(S32 width, S32 height, IPlatformRenderer::eViewportType viewport) { if (!ui.IsExpectingOrReloadingSkin()) { for (auto it = m_components.begin(); it != m_components.end(); ++it) { auto itRef = m_componentRefCount.find((*it)->getSceneType()); @@ -808,7 +808,7 @@ void UILayer::HandleMessage(EUIMessage message, void* data) { bool UILayer::IsFullscreenGroup() { return m_parentGroup->IsFullscreenGroup(); } -C4JRender::eViewportType UILayer::getViewport() { +IPlatformRenderer::eViewportType UILayer::getViewport() { return m_parentGroup->GetViewportType(); } diff --git a/targets/app/common/UI/UILayer.h b/targets/app/common/UI/UILayer.h index 77f1a582a..540c3bd24 100644 --- a/targets/app/common/UI/UILayer.h +++ b/targets/app/common/UI/UILayer.h @@ -6,7 +6,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/All Platforms/UIEnums.h" #include "app/linux/Iggy/include/rrCore.h" @@ -44,7 +44,7 @@ public: UILayer(UIGroup* parent); void tick(); - void render(S32 width, S32 height, C4JRender::eViewportType viewport); + void render(S32 width, S32 height, IPlatformRenderer::eViewportType viewport); void getRenderDimensions(S32& width, S32& height); void DestroyAll(); @@ -83,7 +83,7 @@ public: public: bool IsFullscreenGroup(); - C4JRender::eViewportType getViewport(); + IPlatformRenderer::eViewportType getViewport(); virtual void HandleDLCMountingComplete(); virtual void HandleDLCInstalled(); diff --git a/targets/app/common/UI/UIScene.cpp b/targets/app/common/UI/UIScene.cpp index 71e857a65..63a8d8d12 100644 --- a/targets/app/common/UI/UIScene.cpp +++ b/targets/app/common/UI/UIScene.cpp @@ -5,7 +5,7 @@ #include #include "platform/PlatformTypes.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/All Platforms/UIEnums.h" #include "app/common/UI/All Platforms/UIStructs.h" #include "app/common/UI/Controls/UIControl.h" @@ -145,7 +145,7 @@ F64 UIScene::getSafeZoneHalfHeight() { float safeHeight = 0.0f; - if (!RenderManager.IsHiDef() && RenderManager.IsWidescreen()) { + if (!PlatformRenderer.IsHiDef() && PlatformRenderer.IsWidescreen()) { // 90% safezone safeHeight = height * (0.15f / 2); } else { @@ -159,7 +159,7 @@ F64 UIScene::getSafeZoneHalfWidth() { float width = ui.getScreenWidth(); float safeWidth = 0.0f; - if (!RenderManager.IsHiDef() && RenderManager.IsWidescreen()) { + if (!PlatformRenderer.IsHiDef() && PlatformRenderer.IsWidescreen()) { // 85% safezone safeWidth = width * (0.15f / 2); } else { @@ -177,35 +177,35 @@ void UIScene::updateSafeZone() { F64 safeRight = 0.0; switch (m_parentLayer->getViewport()) { - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: safeTop = getSafeZoneHalfHeight(); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: safeBottom = getSafeZoneHalfHeight(); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: safeLeft = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: safeRight = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: safeTop = getSafeZoneHalfHeight(); safeLeft = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: safeTop = getSafeZoneHalfHeight(); safeRight = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: safeBottom = getSafeZoneHalfHeight(); safeLeft = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: safeBottom = getSafeZoneHalfHeight(); safeRight = getSafeZoneHalfWidth(); break; - case C4JRender::VIEWPORT_TYPE_FULLSCREEN: + case IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN: default: safeTop = getSafeZoneHalfHeight(); safeBottom = getSafeZoneHalfHeight(); @@ -497,7 +497,7 @@ void UIScene::doHorizontalResizeCheck() { m_funcHorizontalResizeCheck, 0, nullptr); } -void UIScene::render(S32 width, S32 height, C4JRender::eViewportType viewport) { +void UIScene::render(S32 width, S32 height, IPlatformRenderer::eViewportType viewport) { if (m_bIsReloading) return; if (!m_hasTickedOnce || !swf) return; ui.setupRenderPosition(viewport); @@ -560,7 +560,7 @@ void UIScene::customDrawSlotControl(IggyCustomDrawCallbackRegion* region, bool useCommandBuffers = false; if (!useCommandBuffers || m_needsCacheRendered) { - if (useCommandBuffers) RenderManager.CBuffStart(list, true); + if (useCommandBuffers) PlatformRenderer.CBuffStart(list, true); ui.setupCustomDrawMatrices(this, customDrawRegion); _customDrawSlotControl(customDrawRegion, iPad, item, fAlpha, isFoil, bDecorations, @@ -581,11 +581,11 @@ void UIScene::customDrawSlotControl(IggyCustomDrawCallbackRegion* region, delete drawData; } - if (useCommandBuffers) RenderManager.CBuffEnd(); + if (useCommandBuffers) PlatformRenderer.CBuffEnd(); } m_cachedSlotDraw.clear(); - if (useCommandBuffers) RenderManager.CBuffCall(list); + if (useCommandBuffers) PlatformRenderer.CBuffCall(list); // Finish GDraw and anything else that needs to be finalised ui.endCustomDraw(region); diff --git a/targets/app/common/UI/UIScene.h b/targets/app/common/UI/UIScene.h index b76240fce..9ff6a00f1 100644 --- a/targets/app/common/UI/UIScene.h +++ b/targets/app/common/UI/UIScene.h @@ -13,7 +13,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/UI/All Platforms/UIEnums.h" #include "app/common/UI/All Platforms/UIStructs.h" #include "app/common/UI/Controls/UIControl_Base.h" @@ -198,7 +198,7 @@ public: // RENDERING virtual void render(S32 width, S32 height, - C4JRender::eViewportType viewpBort); + IPlatformRenderer::eViewportType viewpBort); virtual void customDraw(IggyCustomDrawCallbackRegion* region); diff --git a/targets/app/linux/LinuxGL.cpp b/targets/app/linux/LinuxGL.cpp deleted file mode 100644 index 4217f1d66..000000000 --- a/targets/app/linux/LinuxGL.cpp +++ /dev/null @@ -1,168 +0,0 @@ -#ifdef __linux__ - -#include "platform/sdl2/Render.h" -#include "platform/stubs.h" - -#include "java/ByteBuffer.h" -#include "java/FloatBuffer.h" -#include "java/IntBuffer.h" - -extern C4JRender RenderManager; - -#ifdef GLES -extern "C" { -extern void glClearDepthf(float depth); -void glClearDepth(double depth) { glClearDepthf((float)depth); } -void glTexGeni(unsigned int, unsigned int, int) {} -void glTexGenfv(unsigned int, unsigned int, const float*) {} -void glTexCoordPointer(int, unsigned int, int, const void*) {} -void glNormalPointer(unsigned int, int, const void*) {} -void glColorPointer(int, unsigned int, int, const void*) {} -void glVertexPointer(int, unsigned int, int, const void*) {} -void glEndList(void) {} -void glCallLists(int, unsigned int, const void*) {} -} -#endif - -inline int* getIntPtr(IntBuffer* buf) { - return buf ? (int*)buf->getBuffer() + buf->position() : nullptr; -} -inline void* getBytePtr(ByteBuffer* buf) { - return buf ? (char*)buf->getBuffer() + buf->position() : nullptr; -} - -void glGenTextures_4J(IntBuffer* buf) { - if (!buf) return; - int n = buf->limit() - buf->position(); - int* dst = getIntPtr(buf); - for (int i = 0; i < n; i++) dst[i] = RenderManager.TextureCreate(); -} - -void glDeleteTextures_4J(IntBuffer* buf) { - if (!buf) return; - int n = buf->limit() - buf->position(); - int* src = getIntPtr(buf); - for (int i = 0; i < n; i++) RenderManager.TextureFree(src[i]); -} - -void glTexImage2D_4J(int target, int level, int internalformat, int width, - int height, int border, int format, int type, - ByteBuffer* pixels) { - (void)target; - (void)internalformat; - (void)border; - (void)format; - (void)type; - RenderManager.TextureData(width, height, getBytePtr(pixels), level, - C4JRender::TEXTURE_FORMAT_RxGyBzAw); -} - -void glLight_4J(int light, int pname, FloatBuffer* params) { - const float* p = params->_getDataPointer(); - int idx = (light == 0x4001) ? 1 : 0; - if (pname == 0x1203) - RenderManager.StateSetLightDirection(idx, p[0], p[1], p[2]); - else if (pname == 0x1201) - RenderManager.StateSetLightColour(idx, p[0], p[1], p[2]); - else if (pname == 0x1200) - RenderManager.StateSetLightAmbientColour(p[0], p[1], p[2]); -} - -void glLightModel_4J(int pname, FloatBuffer* params) { - if (pname == 0x0B53) { - const float* p = params->_getDataPointer(); - RenderManager.StateSetLightAmbientColour(p[0], p[1], p[2]); - } -} - -void glFog_4J(int pname, FloatBuffer* params) { - const float* p = params->_getDataPointer(); - if (pname == 0x0B66) RenderManager.StateSetFogColour(p[0], p[1], p[2]); -} - -void glGetFloat_4J(int pname, FloatBuffer* params) { - const float* m = RenderManager.MatrixGet(pname); - if (m) memcpy(params->_getDataPointer(), m, 16 * sizeof(float)); -} - -void glCallLists_4J(IntBuffer* lists) { - if (!lists) return; - int count = lists->limit() - lists->position(); - int* ids = getIntPtr(lists); - for (int i = 0; i < count; i++) RenderManager.CBuffCall(ids[i], false); -} - -void glReadPixels_4J(int x, int y, int w, int h, int f, int t, ByteBuffer* p) { - (void)f; - (void)t; - RenderManager.ReadPixels(x, y, w, h, getBytePtr(p)); -} - -// dead stubs -void glTexCoordPointer_4J(int, int, FloatBuffer*) {} -void glNormalPointer_4J(int, ByteBuffer*) {} -void glColorPointer_4J(int, bool, int, ByteBuffer*) {} -void glVertexPointer_4J(int, int, FloatBuffer*) {} -void glEndList_4J(int) {} -void glTexGen_4J(int, int, FloatBuffer*) {} - -#include -#include -#include - -static PFNGLGENQUERIESARBPROC _glGenQueriesARB = nullptr; -static PFNGLBEGINQUERYARBPROC _glBeginQueryARB = nullptr; -static PFNGLENDQUERYARBPROC _glEndQueryARB = nullptr; -static PFNGLGETQUERYOBJECTUIVARBPROC _glGetQueryObjectuivARB = nullptr; -static bool _queriesInitialized = false; - -static void initQueryFuncs() { - if (_queriesInitialized) return; - _queriesInitialized = true; - _glGenQueriesARB = - (PFNGLGENQUERIESARBPROC)dlsym(RTLD_DEFAULT, "glGenQueriesARB"); - _glBeginQueryARB = - (PFNGLBEGINQUERYARBPROC)dlsym(RTLD_DEFAULT, "glBeginQueryARB"); - _glEndQueryARB = (PFNGLENDQUERYARBPROC)dlsym(RTLD_DEFAULT, "glEndQueryARB"); - _glGetQueryObjectuivARB = (PFNGLGETQUERYOBJECTUIVARBPROC)dlsym( - RTLD_DEFAULT, "glGetQueryObjectuivARB"); -} - -void glGenQueriesARB_4J(IntBuffer* buf) { - initQueryFuncs(); - if (_glGenQueriesARB && buf) { - int n = buf->limit() - buf->position(); - if (n > 0) _glGenQueriesARB(n, (GLuint*)getIntPtr(buf)); - } -} - -void glBeginQueryARB_4J(int target, int id) { - initQueryFuncs(); - if (_glBeginQueryARB) _glBeginQueryARB((GLenum)target, (GLuint)id); -} - -void glEndQueryARB_4J(int target) { - initQueryFuncs(); - if (_glEndQueryARB) _glEndQueryARB((GLenum)target); -} - -void glGetQueryObjectuARB_4J(int id, int pname, IntBuffer* params) { - initQueryFuncs(); - if (_glGetQueryObjectuivARB && params) - // LWJGL does not change limits/positions during these calls, it - // reads/writes exactly at pointer!! - _glGetQueryObjectuivARB((GLuint)id, (GLenum)pname, - (GLuint*)getIntPtr(params)); -} -void glGetFloat(int pname, FloatBuffer* params) { - glGetFloat_4J(pname, params); -} -void LinuxGLLogLightmapState(const char* stage, int textureId, - bool scaleLight) { - static int logCount = 0; - if (logCount >= 16) return; - ++logCount; - fprintf(stderr, "[linux-lightmap] %s tex=%d scale=%d\n", stage, textureId, - scaleLight ? 1 : 0); -} -#endif \ No newline at end of file diff --git a/targets/app/linux/LinuxGL.h b/targets/app/linux/LinuxGL.h deleted file mode 100644 index 2d8ab33fb..000000000 --- a/targets/app/linux/LinuxGL.h +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once - -#ifdef __linux__ - -#include -#include - -class FloatBuffer; -class IntBuffer; -class ByteBuffer; - -void glGenTextures(IntBuffer*); -int glGenTextures(); -void glDeleteTextures(IntBuffer*); -void glLight(int, int, FloatBuffer*); -void glLightModel(int, FloatBuffer*); -void glGetFloat(int a, FloatBuffer* b); -void glTexCoordPointer(int, int, int, int); -void glTexCoordPointer(int, int, FloatBuffer*); -void glNormalPointer(int, int, int); -void glNormalPointer(int, ByteBuffer*); -void glColorPointer(int, bool, int, ByteBuffer*); -void glColorPointer(int, int, int, int); -void glVertexPointer(int, int, int, int); -void glVertexPointer(int, int, FloatBuffer*); -void glNewList(int, int); -void glEndList(int vertexCount = 0); -void glTexImage2D(int, int, int, int, int, int, int, int, ByteBuffer*); -void glCallLists(IntBuffer*); -void glGenQueriesARB(IntBuffer*); -void glBeginQueryARB(int, int); -void glEndQueryARB(int); -void glGetQueryObjectuARB(int, int, IntBuffer*); -void glFog(int, FloatBuffer*); -void glTexGen(int, int, FloatBuffer*); -void glReadPixels(int, int, int, int, int, int, ByteBuffer*); -void glTexGeni(int, int, int); -void glMultiTexCoord2f(int, float, float); -void glClientActiveTexture(int); -void glActiveTexture(int); - -#endif diff --git a/targets/app/linux/LinuxGame.cpp b/targets/app/linux/LinuxGame.cpp index 7ed076b48..cba435278 100644 --- a/targets/app/linux/LinuxGame.cpp +++ b/targets/app/linux/LinuxGame.cpp @@ -5,7 +5,7 @@ #include #include "platform/profile/profile.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "platform/storage/storage.h" #include "minecraft/GameEnums.h" #include "app/common/Game.h" @@ -28,7 +28,7 @@ void LinuxGame::SetRichPresenceContext(int iPad, int contextId) {} void LinuxGame::StoreLaunchData() {} void LinuxGame::ExitGame() { app.DebugPrintf("Linux_App LinuxGame::ExitGame AFTER START\n"); - RenderManager.Close(); + PlatformRenderer.Close(); } void LinuxGame::FatalLoadError() { app.DebugPrintf( diff --git a/targets/app/linux/Linux_Minecraft.cpp b/targets/app/linux/Linux_Minecraft.cpp index c8fe148be..51c7ee065 100644 --- a/targets/app/linux/Linux_Minecraft.cpp +++ b/targets/app/linux/Linux_Minecraft.cpp @@ -56,7 +56,7 @@ static void sigsegv_handler(int sig) { #include "platform/PlatformTypes.h" #include "platform/input/input.h" #include "platform/profile/profile.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "platform/storage/storage.h" #include "app/common/App_Defines.h" #include "app/common/Audio/SoundEngine.h" @@ -439,13 +439,13 @@ int main(int argc, const char* argv[]) { reqH = atoi(argv[++i]); } } - if (reqW > 0 && reqH > 0) RenderManager.SetWindowSize(reqW, reqH); - if (fs) RenderManager.SetFullscreen(true); + if (reqW > 0 && reqH > 0) PlatformRenderer.SetWindowSize(reqW, reqH); + if (fs) PlatformRenderer.SetFullscreen(true); } static bool bTrialTimerDisplayed = true; - RenderManager.Initialise(); + PlatformRenderer.Initialise(); // Read the file containing the product codes app.DebugPrintf("---ReadProductCodes()\n"); @@ -523,11 +523,11 @@ int main(int argc, const char* argv[]) { app.InitGameSettings(); app.InitialiseTips(); - while (!RenderManager.ShouldClose()) { - RenderManager.StartFrame(); + while (!PlatformRenderer.ShouldClose()) { + PlatformRenderer.StartFrame(); if (pMinecraft->pollResize()) { int fbw, fbh; - RenderManager.GetFramebufferSize(fbw, fbh); + PlatformRenderer.GetFramebufferSize(fbw, fbh); ui.setScreenSize(fbw, fbh); } app.UpdateTime(); @@ -537,7 +537,7 @@ int main(int argc, const char* argv[]) { PlatformStorage.Tick(); - RenderManager.Tick(); + PlatformRenderer.Tick(); // Tick the social networking manager. // CSocialManager::Instance()->Tick(); @@ -586,7 +586,7 @@ int main(int argc, const char* argv[]) { ui.render(); // Present the frame. - RenderManager.Present(); + PlatformRenderer.Present(); ui.CheckMenuDisplayed(); // has the game defined profile data been changed (by a profile load) @@ -638,7 +638,7 @@ int main(int argc, const char* argv[]) { // Graceful shutdown: destroy GL context and GLFW before any C++ dtors run. // Without this, static/global destructors that touch GL objects cause // SIGSEGV. - RenderManager.Shutdown(); + PlatformRenderer.Shutdown(); _exit(0); } // end main diff --git a/targets/app/linux/Linux_UIController.cpp b/targets/app/linux/Linux_UIController.cpp index 8a5417a43..7e17456b2 100644 --- a/targets/app/linux/Linux_UIController.cpp +++ b/targets/app/linux/Linux_UIController.cpp @@ -1,7 +1,7 @@ #include // GDraw GL backend for Linux -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "Linux_UIController.h" #include "app/common/UI/All Platforms/UIStructs.h" #include "app/linux/Iggy/gdraw/gdraw.h" diff --git a/targets/app/windows/Windows64_UIController.cpp b/targets/app/windows/Windows64_UIController.cpp index 2f33835f5..d37be6d73 100644 --- a/targets/app/windows/Windows64_UIController.cpp +++ b/targets/app/windows/Windows64_UIController.cpp @@ -150,7 +150,7 @@ GDrawTexture* ConsoleUIController::getSubstitutionTexture(int textureId) { this texture, or stream video into it. Wrapped textures take up a handle. They will never be freed or otherwise modified by GDraw; nor will GDraw change any reference counts. All this is up to the application. */ - ID3D11ShaderResourceView* tex = RenderManager.TextureGetTexture(textureId); + ID3D11ShaderResourceView* tex = PlatformRenderer.TextureGetTexture(textureId); ID3D11Resource* resource; tex->GetResource(&resource); ID3D11Texture2D* tex2d = (ID3D11Texture2D*)resource; diff --git a/targets/app/windows/src/Windows64_Minecraft.cpp b/targets/app/windows/src/Windows64_Minecraft.cpp index 3d0a960ea..c71f2e217 100644 --- a/targets/app/windows/src/Windows64_Minecraft.cpp +++ b/targets/app/windows/src/Windows64_Minecraft.cpp @@ -635,7 +635,7 @@ int32_t InitDevice() { vp.TopLeftY = 0; g_pImmediateContext->RSSetViewports(1, &vp); - RenderManager.Initialise(g_pd3dDevice, g_pSwapChain); + PlatformRenderer.Initialise(g_pd3dDevice, g_pSwapChain); return 0; } @@ -706,7 +706,7 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance, app.loadMediaArchive(); - RenderManager.Initialise(g_pd3dDevice, g_pSwapChain); + PlatformRenderer.Initialise(g_pd3dDevice, g_pSwapChain); app.loadStringTable(); ui.init(g_pd3dDevice, g_pImmediateContext, g_pRenderTargetView, @@ -780,7 +780,7 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance, DispatchMessage(&msg); continue; } - RenderManager.StartFrame(); + PlatformRenderer.StartFrame(); // static bool bPlay=false; // if(bPlay) @@ -796,7 +796,7 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance, PlatformStorage.Tick(); - RenderManager.Tick(); + PlatformRenderer.Tick(); // Tick the social networking manager. // CSocialManager::Instance()->Tick(); @@ -830,7 +830,7 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance, ui.tick(); ui.render(); // Present the frame. - RenderManager.Present(); + PlatformRenderer.Present(); ui.CheckMenuDisplayed(); // Any threading type things to deal with from the xui side? diff --git a/targets/minecraft/client/BufferedImage.cpp b/targets/minecraft/client/BufferedImage.cpp index 49d64c33a..4752a427b 100644 --- a/targets/minecraft/client/BufferedImage.cpp +++ b/targets/minecraft/client/BufferedImage.cpp @@ -6,7 +6,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/DLC/DLCFile.h" #include "app/common/DLC/DLCManager.h" #include "app/common/DLC/DLCPack.h" @@ -94,13 +94,13 @@ BufferedImage::BufferedImage(const std::wstring& File, if (foundOnDisk) { std::string nativePath = std::filesystem::path(finalPath).string(); - hr = RenderManager.LoadTextureData(nativePath.c_str(), + hr = PlatformRenderer.LoadTextureData(nativePath.c_str(), &ImageInfo, &data[l]); } else { std::wstring archiveKey = L"res/" + fileName; if (gameServices().hasArchiveFile(archiveKey)) { std::vector ba = gameServices().getArchiveFile(archiveKey); - hr = RenderManager.LoadTextureData(ba.data(), ba.size(), + hr = PlatformRenderer.LoadTextureData(ba.data(), ba.size(), &ImageInfo, &data[l]); } } @@ -152,7 +152,7 @@ BufferedImage::BufferedImage(DLCPack* dlcPack, const std::wstring& File, } D3DXIMAGE_INFO ImageInfo; - hr = RenderManager.LoadTextureData(pbData, dataBytes, &ImageInfo, + hr = PlatformRenderer.LoadTextureData(pbData, dataBytes, &ImageInfo, &data[l]); if (hr == ERROR_SUCCESS && l == 0) { width = ImageInfo.Width; @@ -169,7 +169,7 @@ BufferedImage::BufferedImage(std::uint8_t* pbData, std::uint32_t dataBytes) { D3DXIMAGE_INFO ImageInfo; memset(&ImageInfo, 0, sizeof(D3DXIMAGE_INFO)); int32_t hr = - RenderManager.LoadTextureData(pbData, dataBytes, &ImageInfo, &data[0]); + PlatformRenderer.LoadTextureData(pbData, dataBytes, &ImageInfo, &data[0]); if (hr == ERROR_SUCCESS) { width = ImageInfo.Width; diff --git a/targets/minecraft/client/Lighting.cpp b/targets/minecraft/client/Lighting.cpp index e5adc421a..132da9140 100644 --- a/targets/minecraft/client/Lighting.cpp +++ b/targets/minecraft/client/Lighting.cpp @@ -2,8 +2,7 @@ #include -#include "platform/sdl2/Render.h" -#include "platform/stubs.h" +#include "platform/renderer/renderer.h" #include "java/FloatBuffer.h" #include "minecraft/world/phys/Vec3.h" diff --git a/targets/minecraft/client/MemoryTracker.cpp b/targets/minecraft/client/MemoryTracker.cpp index c0a2b0bb7..215d5cc34 100644 --- a/targets/minecraft/client/MemoryTracker.cpp +++ b/targets/minecraft/client/MemoryTracker.cpp @@ -2,8 +2,9 @@ #include #include +#include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "java/ByteBuffer.h" std::unordered_map MemoryTracker::GL_LIST_IDS; diff --git a/targets/minecraft/client/Minecraft.cpp b/targets/minecraft/client/Minecraft.cpp index 52b18a4c7..98882b84c 100644 --- a/targets/minecraft/client/Minecraft.cpp +++ b/targets/minecraft/client/Minecraft.cpp @@ -14,7 +14,7 @@ #include #include "platform/profile/profile.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "platform/storage/storage.h" #include "minecraft/GameEnums.h" #include "app/common/Audio/SoundEngine.h" @@ -111,7 +111,6 @@ #include "app/common/Tutorial/FullTutorialMode.h" #include "app/common/UI/All Platforms/IUIScene_CreativeMenu.h" #include "app/common/UI/UIFontData.h" -#include "platform/stubs.h" #include "util/StringHelpers.h" #include "java/File.h" #include "java/System.h" @@ -234,7 +233,7 @@ Minecraft::Minecraft(Component* mouseComponent, Canvas* parent, // code that the width is 3/4 what it actually is, to correctly present a // 4:3 image. Have added width_phys and height_phys for any code we add that // requires to know the real physical dimensions of the frame buffer. - if (RenderManager.IsWidescreen()) { + if (PlatformRenderer.IsWidescreen()) { this->width = width; } else { this->width = (width * 3) / 4; @@ -391,7 +390,7 @@ void Minecraft::init() { } progressRenderer = new ProgressRenderer(this); - RenderManager.CBuffLockStaticCreations(); + PlatformRenderer.CBuffLockStaticCreations(); } void Minecraft::renderLoadingScreen() { @@ -401,7 +400,7 @@ void Minecraft::renderLoadingScreen() { ScreenSizeCalculator ssc(options, width, height); // xxx - RenderManager.StartFrame(); + PlatformRenderer.StartFrame(); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); @@ -442,7 +441,7 @@ void Minecraft::renderLoadingScreen() { // Display::swapBuffers(); // xxx - RenderManager.Present(); + PlatformRenderer.Present(); #endif } @@ -707,7 +706,7 @@ void Minecraft::updatePlayerViewportAssignments() { for (int i = 0; i < XUSER_MAX_COUNT; i++) { if (localplayers[i] != nullptr) localplayers[i]->m_iScreenSection = - C4JRender::VIEWPORT_TYPE_FULLSCREEN; + IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN; } } else if (viewportsRequired == 2) { // Split screen - TODO - option for vertical/horizontal split @@ -718,10 +717,10 @@ void Minecraft::updatePlayerViewportAssignments() { if (gameServices().getGameSettings(PlatformInput.GetPrimaryPad(), eGameSetting_SplitScreenVertical)) { localplayers[i]->m_iScreenSection = - C4JRender::VIEWPORT_TYPE_SPLIT_LEFT + found; + IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT + found; } else { localplayers[i]->m_iScreenSection = - C4JRender::VIEWPORT_TYPE_SPLIT_TOP + found; + IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP + found; } found++; } @@ -740,18 +739,18 @@ void Minecraft::updatePlayerViewportAssignments() { // quadrant, but ending up in the 3rd viewport. if (gameServices().getGameStarted()) { if ((localplayers[i]->m_iScreenSection >= - C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT) && + IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT) && (localplayers[i]->m_iScreenSection <= - C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT)) { + IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT)) { quadrantsAllocated [localplayers[i]->m_iScreenSection - - C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT] = true; + IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT] = true; } } else { // Reset the viewport so that it can be assigned in the next // loop localplayers[i]->m_iScreenSection = - C4JRender::VIEWPORT_TYPE_FULLSCREEN; + IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN; } } } @@ -761,13 +760,13 @@ void Minecraft::updatePlayerViewportAssignments() { for (int i = 0; i < XUSER_MAX_COUNT; i++) { if (localplayers[i] != nullptr) { if ((localplayers[i]->m_iScreenSection < - C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT) || + IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT) || (localplayers[i]->m_iScreenSection > - C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT)) { + IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT)) { for (int j = 0; j < 4; j++) { if (!quadrantsAllocated[j]) { localplayers[i]->m_iScreenSection = - C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT + j; + IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT + j; quadrantsAllocated[j] = true; break; } @@ -841,7 +840,7 @@ std::shared_ptr Minecraft::createExtraLocalPlayer( if (clientConnection == nullptr) return nullptr; if (clientConnection == m_pendingLocalConnections[idx]) { - int tempScreenSection = C4JRender::VIEWPORT_TYPE_FULLSCREEN; + int tempScreenSection = IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN; if (localplayers[idx] != nullptr && localgameModes[idx] == nullptr) { // A temp player displaying a connecting screen tempScreenSection = localplayers[idx]->m_iScreenSection; @@ -1383,7 +1382,7 @@ void Minecraft::run_middle() { !ui.IsIgnorePlayerJoinMenuDisplayed( PlatformInput.GetPrimaryPad()) && g_NetworkManager.SessionHasSpace() && - RenderManager.IsHiDef() && + PlatformRenderer.IsHiDef() && PlatformInput.ButtonPressed(i); if (tryJoin) { if (!ui.PressStartPlaying(i)) { @@ -1650,8 +1649,8 @@ void Minecraft::run_middle() { int iPrimaryPad = PlatformInput.GetPrimaryPad(); for (int i = 0; i < XUSER_MAX_COUNT; i++) { if (setLocalPlayerIdx(i)) { - RenderManager.StateSetViewport( - (C4JRender::eViewportType) + PlatformRenderer.StateSetViewport( + (IPlatformRenderer::eViewportType) player->m_iScreenSection); gameRenderer->render(timer->a, bFirst); bFirst = false; @@ -1679,8 +1678,8 @@ void Minecraft::run_middle() { // GameRenderer directly so mc->screen draws. if (bFirst) { localPlayerIdx = 0; - RenderManager.StateSetViewport( - C4JRender::VIEWPORT_TYPE_FULLSCREEN); + PlatformRenderer.StateSetViewport( + IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN); gameRenderer->render(timer->a, true); } #endif @@ -1689,21 +1688,21 @@ void Minecraft::run_middle() { // black if (unoccupiedQuadrant > -1) { // render a logo - RenderManager.StateSetViewport(( - C4JRender:: - eViewportType)(C4JRender:: + PlatformRenderer.StateSetViewport(( + IPlatformRenderer:: + eViewportType)(IPlatformRenderer:: VIEWPORT_TYPE_QUADRANT_TOP_LEFT + unoccupiedQuadrant)); glClearColor(0, 0, 0, 0); glClear(GL_COLOR_BUFFER_BIT); ui.SetEmptyQuadrantLogo( - C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT + + IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT + unoccupiedQuadrant); } setLocalPlayerIdx(iPrimaryPad); - RenderManager.StateSetViewport( - C4JRender::VIEWPORT_TYPE_FULLSCREEN); + PlatformRenderer.StateSetViewport( + IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN); } glFlush(); @@ -1936,7 +1935,7 @@ void Minecraft::pauseGame() { bool Minecraft::pollResize() { int fbw, fbh; - RenderManager.GetFramebufferSize(fbw, fbh); + PlatformRenderer.GetFramebufferSize(fbw, fbh); if (fbw != width_phys || fbh != height_phys) { resize(fbw, fbh); return true; @@ -1951,7 +1950,7 @@ void Minecraft::resize(int width, int height) { // for non-widescreen aspect ratio to fix UI scaling. this->width_phys = width; this->height_phys = height; - if (RenderManager.IsWidescreen()) { + if (PlatformRenderer.IsWidescreen()) { this->width = width; } else { this->width = (width * 3) / 4; diff --git a/targets/minecraft/client/Options.cpp b/targets/minecraft/client/Options.cpp index a9428d697..12142849f 100644 --- a/targets/minecraft/client/Options.cpp +++ b/targets/minecraft/client/Options.cpp @@ -4,7 +4,6 @@ #include "KeyMapping.h" #include "app/common/Audio/SoundEngine.h" #include "app/linux/LinuxGame.h" -#include "platform/stubs.h" #include "util/StringHelpers.h" #include "java/File.h" #include "java/InputOutputStream/BufferedReader.h" diff --git a/targets/minecraft/client/gui/Button.cpp b/targets/minecraft/client/gui/Button.cpp index c7b960875..e35869bba 100644 --- a/targets/minecraft/client/gui/Button.cpp +++ b/targets/minecraft/client/gui/Button.cpp @@ -1,6 +1,6 @@ #include "Button.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/Minecraft.h" #include "minecraft/client/renderer/Textures.h" #include "minecraft/client/resources/ResourceLocation.h" diff --git a/targets/minecraft/client/gui/DeathScreen.cpp b/targets/minecraft/client/gui/DeathScreen.cpp index 550e5b15e..fee4bcf7f 100644 --- a/targets/minecraft/client/gui/DeathScreen.cpp +++ b/targets/minecraft/client/gui/DeathScreen.cpp @@ -4,7 +4,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "Button.h" #include "PauseScreen.h" #include "util/StringHelpers.h" diff --git a/targets/minecraft/client/gui/Font.cpp b/targets/minecraft/client/gui/Font.cpp index 8d08bd9d2..a9ac0fce5 100644 --- a/targets/minecraft/client/gui/Font.cpp +++ b/targets/minecraft/client/gui/Font.cpp @@ -4,8 +4,9 @@ #include #include +#include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/BufferedImage.h" #include "util/StringHelpers.h" #include "java/Random.h" diff --git a/targets/minecraft/client/gui/Gui.cpp b/targets/minecraft/client/gui/Gui.cpp index edd5e9ff7..b820e6ea1 100644 --- a/targets/minecraft/client/gui/Gui.cpp +++ b/targets/minecraft/client/gui/Gui.cpp @@ -6,7 +6,7 @@ #include "platform/PlatformTypes.h" #include "platform/input/input.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "Facing.h" #include "minecraft/GameEnums.h" #include "app/common/App_structs.h" @@ -56,7 +56,6 @@ #include "minecraft/world/level/storage/LevelData.h" #include "minecraft/world/level/tile/PortalTile.h" #include "minecraft/world/level/tile/Tile.h" -#include "platform/stubs.h" #include "strings.h" @@ -104,7 +103,7 @@ void Gui::render(float a, bool mouseFree, int xMouse, int yMouse) { // scaling above to move the gui out of the way of the // tool tips int guiScale; // = ( minecraft->player->m_iScreenSection == - // C4JRender::VIEWPORT_TYPE_FULLSCREEN ? 3 : 2 ); + // IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN ? 3 : 2 ); int iPad = minecraft->player->GetXboxPad(); int iWidthOffset = 0, iHeightOffset = 0; // used to get the interface looking right on a 2 @@ -112,7 +111,7 @@ void Gui::render(float a, bool mouseFree, int xMouse, int yMouse) { // 4J-PB - selected the gui scale based on the slider settings if (minecraft->player->m_iScreenSection == - C4JRender::VIEWPORT_TYPE_FULLSCREEN) { + IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN) { guiScale = gameServices().getGameSettings(iPad, eGameSetting_UISize) + 2; } else { guiScale = @@ -148,14 +147,14 @@ void Gui::render(float a, bool mouseFree, int xMouse, int yMouse) { // Check which screen section this player is in switch (minecraft->player->m_iScreenSection) { - case C4JRender::VIEWPORT_TYPE_FULLSCREEN: + case IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN: // single player iSafezoneXHalf = screenWidth / 20; // 5% iSafezoneYHalf = screenHeight / 20; // 5% iSafezoneTopYHalf = iSafezoneYHalf; iTooltipsYOffset = 40 + splitYOffset; break; - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: iSafezoneXHalf = screenWidth / 10; // 5% (need to treat the whole screen is 2x this screen) @@ -168,7 +167,7 @@ void Gui::render(float a, bool mouseFree, int xMouse, int yMouse) { bTwoPlayerSplitscreen = true; currentGuiScaleFactor *= 0.5f; break; - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: iSafezoneXHalf = screenWidth / 10; // 5% (need to treat the whole screen is 2x this screen) @@ -183,7 +182,7 @@ void Gui::render(float a, bool mouseFree, int xMouse, int yMouse) { bTwoPlayerSplitscreen = true; currentGuiScaleFactor *= 0.5f; break; - case C4JRender::VIEWPORT_TYPE_SPLIT_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT: iSafezoneXHalf = screenWidth / 10; // 5% (the whole screen is 2x this screen) iSafezoneYHalf = splitYOffset + @@ -196,7 +195,7 @@ void Gui::render(float a, bool mouseFree, int xMouse, int yMouse) { bTwoPlayerSplitscreen = true; currentGuiScaleFactor *= 0.5f; break; - case C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT: iSafezoneXHalf = 0; iSafezoneYHalf = splitYOffset + screenHeight / 10; // 5% (need to treat the whole @@ -208,7 +207,7 @@ void Gui::render(float a, bool mouseFree, int xMouse, int yMouse) { bTwoPlayerSplitscreen = true; currentGuiScaleFactor *= 0.5f; break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_LEFT: iSafezoneXHalf = screenWidth / 10; // 5% (the whole screen is 2x this screen) iSafezoneYHalf = splitYOffset; @@ -216,14 +215,14 @@ void Gui::render(float a, bool mouseFree, int xMouse, int yMouse) { iTooltipsYOffset = 44; currentGuiScaleFactor *= 0.5f; break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_TOP_RIGHT: iSafezoneXHalf = 0; iSafezoneYHalf = splitYOffset; // 5% iSafezoneTopYHalf = screenHeight / 10; iTooltipsYOffset = 44; currentGuiScaleFactor *= 0.5f; break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_LEFT: iSafezoneXHalf = screenWidth / 10; // 5% (the whole screen is 2x this screen) iSafezoneYHalf = @@ -233,7 +232,7 @@ void Gui::render(float a, bool mouseFree, int xMouse, int yMouse) { iTooltipsYOffset = 44; currentGuiScaleFactor *= 0.5f; break; - case C4JRender::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: + case IPlatformRenderer::VIEWPORT_TYPE_QUADRANT_BOTTOM_RIGHT: iSafezoneXHalf = 0; iSafezoneYHalf = splitYOffset + @@ -253,7 +252,7 @@ void Gui::render(float a, bool mouseFree, int xMouse, int yMouse) { // if tooltips are off, set the y offset to zero if (gameServices().getGameSettings(iPad, eGameSetting_Tooltips) == 0 && bDisplayGui) { switch (minecraft->player->m_iScreenSection) { - case C4JRender::VIEWPORT_TYPE_FULLSCREEN: + case IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN: iTooltipsYOffset = screenHeight / 10; break; default: @@ -358,10 +357,10 @@ void Gui::render(float a, bool mouseFree, int xMouse, int yMouse) { fVal = fAlphaIncrementPerCent * (float)ucAlpha; } - RenderManager.StateSetBlendFactor(0xffffff | + PlatformRenderer.StateSetBlendFactor(0xffffff | (((unsigned int)fVal) << 24)); currentGuiBlendFactor = fVal / 255.0f; - // RenderManager.StateSetBlendFactor(0x40ffffff); + // PlatformRenderer.StateSetBlendFactor(0x40ffffff); glBlendFunc(GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA); blitOffset = -90; @@ -410,7 +409,7 @@ void Gui::render(float a, bool mouseFree, int xMouse, int yMouse) { minecraft->textures->bindTexture( &GUI_ICONS_LOCATION); // L"/gui/icons.png")); glEnable(GL_BLEND); - RenderManager.StateSetBlendFactor(0xffffff | + PlatformRenderer.StateSetBlendFactor(0xffffff | (((unsigned int)fVal) << 24)); glBlendFunc(GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA); // glBlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ONE_MINUS_SRC_COLOR); @@ -1374,9 +1373,9 @@ void Gui::addMessage(const std::wstring& _string, int iPad, std::wstring string = _string; // 4J - Take copy of input as it is const // int iScale=1; - // if((minecraft->player->m_iScreenSection==C4JRender::VIEWPORT_TYPE_SPLIT_TOP) + // if((minecraft->player->m_iScreenSection==IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP) // || - // (minecraft->player->m_iScreenSection==C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM)) + // (minecraft->player->m_iScreenSection==IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM)) //{ // iScale=2; // } @@ -1404,10 +1403,10 @@ void Gui::addMessage(const std::wstring& _string, int iPad, int maximumChars; switch (minecraft->player->m_iScreenSection) { - case C4JRender::VIEWPORT_TYPE_SPLIT_TOP: - case C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM: - case C4JRender::VIEWPORT_TYPE_FULLSCREEN: - if (RenderManager.IsHiDef()) { + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP: + case IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM: + case IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN: + if (PlatformRenderer.IsHiDef()) { maximumChars = 105; } else { maximumChars = 55; @@ -1416,7 +1415,7 @@ void Gui::addMessage(const std::wstring& _string, int iPad, case XC_LANGUAGE_JAPANESE: case XC_LANGUAGE_TCHINESE: case XC_LANGUAGE_KOREAN: - if (RenderManager.IsHiDef()) { + if (PlatformRenderer.IsHiDef()) { maximumChars = 70; } else { maximumChars = 35; diff --git a/targets/minecraft/client/gui/GuiComponent.cpp b/targets/minecraft/client/gui/GuiComponent.cpp index a0d61fc0f..3dc780b4a 100644 --- a/targets/minecraft/client/gui/GuiComponent.cpp +++ b/targets/minecraft/client/gui/GuiComponent.cpp @@ -3,8 +3,7 @@ #include #include -#include "platform/sdl2/Render.h" -#include "platform/stubs.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/Minecraft.h" #include "minecraft/client/gui/Font.h" #include "minecraft/client/gui/Gui.h" diff --git a/targets/minecraft/client/gui/Minimap.cpp b/targets/minecraft/client/gui/Minimap.cpp index 73d939e0e..2111f908f 100644 --- a/targets/minecraft/client/gui/Minimap.cpp +++ b/targets/minecraft/client/gui/Minimap.cpp @@ -7,7 +7,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "Font.h" #include "minecraft/GameEnums.h" #include "app/common/Colours/ColourTable.h" @@ -29,7 +29,7 @@ Minimap::Minimap(Font* font, Options* options, Textures* textures, this->font = font; BufferedImage* img = new BufferedImage(w, h, BufferedImage::TYPE_INT_ARGB); mapTexture = - textures->getTexture(img, C4JRender::TEXTURE_FORMAT_RxGyBzAw, + textures->getTexture(img, IPlatformRenderer::TEXTURE_FORMAT_RxGyBzAw, false); // 4J - make sure we aren't mipmapping as // we never set the data for mipmaps delete img; diff --git a/targets/minecraft/client/gui/Screen.cpp b/targets/minecraft/client/gui/Screen.cpp index 0363f767a..8701b10aa 100644 --- a/targets/minecraft/client/gui/Screen.cpp +++ b/targets/minecraft/client/gui/Screen.cpp @@ -101,7 +101,7 @@ void Screen::updateEvents() { // TODO: update for SDL if we ever get around to that #if (defined(ENABLE_JAVA_GUIS)) int fbw, fbh; - RenderManager.GetFramebufferSize(fbw, fbh); + PlatformRenderer.GetFramebufferSize(fbw, fbh); glViewport(0, 0, fbw, fbh); ScreenSizeCalculator ssc(minecraft->options, minecraft->width, minecraft->height); diff --git a/targets/minecraft/client/gui/SlideButton.cpp b/targets/minecraft/client/gui/SlideButton.cpp index 28bda91e6..8e4df5c47 100644 --- a/targets/minecraft/client/gui/SlideButton.cpp +++ b/targets/minecraft/client/gui/SlideButton.cpp @@ -1,6 +1,6 @@ #include "SlideButton.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/Minecraft.h" #include "minecraft/client/Options.h" #include "minecraft/client/gui/Button.h" diff --git a/targets/minecraft/client/gui/TradeSwitchButton.cpp b/targets/minecraft/client/gui/TradeSwitchButton.cpp index 1da728e0a..13271bfe3 100644 --- a/targets/minecraft/client/gui/TradeSwitchButton.cpp +++ b/targets/minecraft/client/gui/TradeSwitchButton.cpp @@ -1,6 +1,7 @@ #include "TradeSwitchButton.h" #include +#include #include "minecraft/client/Minecraft.h" #include "minecraft/client/gui/Button.h" diff --git a/targets/minecraft/client/gui/achievement/AchievementPopup.cpp b/targets/minecraft/client/gui/achievement/AchievementPopup.cpp index fcab78a71..daad90a66 100644 --- a/targets/minecraft/client/gui/achievement/AchievementPopup.cpp +++ b/targets/minecraft/client/gui/achievement/AchievementPopup.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "java/System.h" #include "minecraft/client/Minecraft.h" #include "minecraft/client/gui/Font.h" @@ -44,7 +44,7 @@ void AchievementPopup::permanent(Achievement* ach) { void AchievementPopup::prepareWindow() { { int fbw, fbh; - RenderManager.GetFramebufferSize(fbw, fbh); + PlatformRenderer.GetFramebufferSize(fbw, fbh); glViewport(0, 0, fbw, fbh); } // just future proofing glMatrixMode(GL_PROJECTION); diff --git a/targets/minecraft/client/gui/achievement/AchievementScreen.cpp b/targets/minecraft/client/gui/achievement/AchievementScreen.cpp index 95f031cd7..cc4fced49 100644 --- a/targets/minecraft/client/gui/achievement/AchievementScreen.cpp +++ b/targets/minecraft/client/gui/achievement/AchievementScreen.cpp @@ -5,7 +5,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "platform/stubs.h" #include "minecraft/client/KeyMapping.h" #include "minecraft/client/Minecraft.h" diff --git a/targets/minecraft/client/gui/inventory/AbstractBeaconButton.cpp b/targets/minecraft/client/gui/inventory/AbstractBeaconButton.cpp index 48ef6a7aa..8c4079b49 100644 --- a/targets/minecraft/client/gui/inventory/AbstractBeaconButton.cpp +++ b/targets/minecraft/client/gui/inventory/AbstractBeaconButton.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/gui/Button.h" #include "minecraft/client/renderer/Textures.h" #include "minecraft/client/resources/ResourceLocation.h" diff --git a/targets/minecraft/client/gui/inventory/BeaconScreen.cpp b/targets/minecraft/client/gui/inventory/BeaconScreen.cpp index 8ff2f0589..5d9076852 100644 --- a/targets/minecraft/client/gui/inventory/BeaconScreen.cpp +++ b/targets/minecraft/client/gui/inventory/BeaconScreen.cpp @@ -6,7 +6,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "BeaconCancelButton.h" #include "BeaconConfirmButton.h" #include "BeaconPowerButton.h" diff --git a/targets/minecraft/client/gui/inventory/BrewingStandScreen.cpp b/targets/minecraft/client/gui/inventory/BrewingStandScreen.cpp index ce758fc4c..ba551bce4 100644 --- a/targets/minecraft/client/gui/inventory/BrewingStandScreen.cpp +++ b/targets/minecraft/client/gui/inventory/BrewingStandScreen.cpp @@ -1,6 +1,7 @@ #include "BrewingStandScreen.h" #include +#include #include "minecraft/client/gui/Font.h" #include "minecraft/client/gui/inventory/AbstractContainerScreen.h" diff --git a/targets/minecraft/client/gui/inventory/CreativeInventoryScreen.cpp b/targets/minecraft/client/gui/inventory/CreativeInventoryScreen.cpp index ee0cb7559..4dd812cfe 100644 --- a/targets/minecraft/client/gui/inventory/CreativeInventoryScreen.cpp +++ b/targets/minecraft/client/gui/inventory/CreativeInventoryScreen.cpp @@ -7,7 +7,7 @@ #include #include "platform/input/input.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "AbstractContainerScreen.h" #include "app/common/UI/All Platforms/IUIScene_CreativeMenu.h" #include "app/linux/LinuxGame.h" diff --git a/targets/minecraft/client/gui/inventory/EnchantmentScreen.cpp b/targets/minecraft/client/gui/inventory/EnchantmentScreen.cpp index e6fdec577..9c6b1e7db 100644 --- a/targets/minecraft/client/gui/inventory/EnchantmentScreen.cpp +++ b/targets/minecraft/client/gui/inventory/EnchantmentScreen.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include "AbstractContainerScreen.h" #include "minecraft/client/Lighting.h" @@ -159,7 +160,7 @@ void EnchantmentScreen::renderBg(float a) { 240 * scaleFactor); glTranslatef(-0.34f, 0.23f, 0.0f); - gluPerspective(90.0f, 1.3333334f, 9.0f, 80.0f); + PlatformRenderer.MatrixPerspective(90.0f, 1.3333334f, 9.0f, 80.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); diff --git a/targets/minecraft/client/gui/inventory/HorseInventoryScreen.cpp b/targets/minecraft/client/gui/inventory/HorseInventoryScreen.cpp index 74e97146a..5f3966d89 100644 --- a/targets/minecraft/client/gui/inventory/HorseInventoryScreen.cpp +++ b/targets/minecraft/client/gui/inventory/HorseInventoryScreen.cpp @@ -2,6 +2,7 @@ #include #include +#include #include "minecraft/client/Lighting.h" #include "minecraft/client/Minecraft.h" diff --git a/targets/minecraft/client/gui/inventory/InventoryScreen.cpp b/targets/minecraft/client/gui/inventory/InventoryScreen.cpp index c9d0b7fd0..c5ef4963e 100644 --- a/targets/minecraft/client/gui/inventory/InventoryScreen.cpp +++ b/targets/minecraft/client/gui/inventory/InventoryScreen.cpp @@ -4,7 +4,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/Lighting.h" #include "minecraft/client/Minecraft.h" #include "minecraft/client/gui/Button.h" diff --git a/targets/minecraft/client/gui/inventory/MerchantScreen.cpp b/targets/minecraft/client/gui/inventory/MerchantScreen.cpp index 494c5ffca..5dfdfef7a 100644 --- a/targets/minecraft/client/gui/inventory/MerchantScreen.cpp +++ b/targets/minecraft/client/gui/inventory/MerchantScreen.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include "AbstractContainerScreen.h" #include "java/InputOutputStream/ByteArrayOutputStream.h" diff --git a/targets/minecraft/client/gui/inventory/RepairScreen.cpp b/targets/minecraft/client/gui/inventory/RepairScreen.cpp index 2ee2cd99a..3a96e74a4 100644 --- a/targets/minecraft/client/gui/inventory/RepairScreen.cpp +++ b/targets/minecraft/client/gui/inventory/RepairScreen.cpp @@ -5,7 +5,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "java/InputOutputStream/ByteArrayOutputStream.h" #include "java/InputOutputStream/DataOutputStream.h" #include "minecraft/client/Minecraft.h" diff --git a/targets/minecraft/client/gui/inventory/TextEditScreen.cpp b/targets/minecraft/client/gui/inventory/TextEditScreen.cpp index 356665fbc..6bf52f199 100644 --- a/targets/minecraft/client/gui/inventory/TextEditScreen.cpp +++ b/targets/minecraft/client/gui/inventory/TextEditScreen.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "platform/stubs.h" #include "minecraft/SharedConstants.h" #include "minecraft/client/Minecraft.h" diff --git a/targets/minecraft/client/model/ChickenModel.cpp b/targets/minecraft/client/model/ChickenModel.cpp index f18595342..6604567ef 100644 --- a/targets/minecraft/client/model/ChickenModel.cpp +++ b/targets/minecraft/client/model/ChickenModel.cpp @@ -5,7 +5,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/geom/Model.h" #include "minecraft/client/model/geom/ModelPart.h" diff --git a/targets/minecraft/client/model/GhastModel.cpp b/targets/minecraft/client/model/GhastModel.cpp index 9325bb3e1..676797e77 100644 --- a/targets/minecraft/client/model/GhastModel.cpp +++ b/targets/minecraft/client/model/GhastModel.cpp @@ -4,7 +4,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "java/Random.h" #include "minecraft/client/model/geom/Model.h" #include "minecraft/client/model/geom/ModelPart.h" diff --git a/targets/minecraft/client/model/HumanoidModel.cpp b/targets/minecraft/client/model/HumanoidModel.cpp index 630a0eabf..436183517 100644 --- a/targets/minecraft/client/model/HumanoidModel.cpp +++ b/targets/minecraft/client/model/HumanoidModel.cpp @@ -5,7 +5,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/linux/LinuxGame.h" #include "minecraft/client/model/geom/Model.h" #include "minecraft/client/model/geom/ModelPart.h" diff --git a/targets/minecraft/client/model/ModelHorse.cpp b/targets/minecraft/client/model/ModelHorse.cpp index c110229bb..43c598547 100644 --- a/targets/minecraft/client/model/ModelHorse.cpp +++ b/targets/minecraft/client/model/ModelHorse.cpp @@ -5,7 +5,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/geom/Model.h" #include "minecraft/client/model/geom/ModelPart.h" #include "minecraft/util/Mth.h" diff --git a/targets/minecraft/client/model/OcelotModel.cpp b/targets/minecraft/client/model/OcelotModel.cpp index 30a090c6e..00c7a71de 100644 --- a/targets/minecraft/client/model/OcelotModel.cpp +++ b/targets/minecraft/client/model/OcelotModel.cpp @@ -6,7 +6,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/geom/ModelPart.h" #include "minecraft/world/entity/LivingEntity.h" #include "minecraft/world/entity/animal/Ocelot.h" diff --git a/targets/minecraft/client/model/QuadrupedModel.cpp b/targets/minecraft/client/model/QuadrupedModel.cpp index 360210103..1697242df 100644 --- a/targets/minecraft/client/model/QuadrupedModel.cpp +++ b/targets/minecraft/client/model/QuadrupedModel.cpp @@ -5,9 +5,10 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/geom/Model.h" #include "minecraft/client/model/geom/ModelPart.h" +#include QuadrupedModel::QuadrupedModel(int legSize, float g) : Model() { yHeadOffs = 8; diff --git a/targets/minecraft/client/model/WolfModel.cpp b/targets/minecraft/client/model/WolfModel.cpp index 75b6d0400..f9b86fee1 100644 --- a/targets/minecraft/client/model/WolfModel.cpp +++ b/targets/minecraft/client/model/WolfModel.cpp @@ -5,7 +5,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/geom/Model.h" #include "minecraft/client/model/geom/ModelPart.h" #include "minecraft/world/entity/LivingEntity.h" diff --git a/targets/minecraft/client/model/dragon/DragonModel.cpp b/targets/minecraft/client/model/dragon/DragonModel.cpp index 1a764de7e..9a2566353 100644 --- a/targets/minecraft/client/model/dragon/DragonModel.cpp +++ b/targets/minecraft/client/model/dragon/DragonModel.cpp @@ -6,9 +6,9 @@ #include #include #include +#include -#include "platform/sdl2/Render.h" - +#include "platform/renderer/renderer.h" #include "minecraft/client/model/geom/Model.h" #include "minecraft/client/model/geom/ModelPart.h" #include "minecraft/world/entity/Entity.h" diff --git a/targets/minecraft/client/model/dragon/EnderCrystalModel.cpp b/targets/minecraft/client/model/dragon/EnderCrystalModel.cpp index 5e8e51501..9c119198d 100644 --- a/targets/minecraft/client/model/dragon/EnderCrystalModel.cpp +++ b/targets/minecraft/client/model/dragon/EnderCrystalModel.cpp @@ -2,8 +2,9 @@ #include #include +#include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/geom/ModelPart.h" EnderCrystalModel::EnderCrystalModel(float g) { diff --git a/targets/minecraft/client/model/geom/ModelPart.cpp b/targets/minecraft/client/model/geom/ModelPart.cpp index c64c567b5..ce13eb6c3 100644 --- a/targets/minecraft/client/model/geom/ModelPart.cpp +++ b/targets/minecraft/client/model/geom/ModelPart.cpp @@ -4,7 +4,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "Cube.h" #include "TexOffs.h" #include "minecraft/client/MemoryTracker.h" diff --git a/targets/minecraft/client/particle/FootstepParticle.cpp b/targets/minecraft/client/particle/FootstepParticle.cpp index 1a270c663..dfeffe0e5 100644 --- a/targets/minecraft/client/particle/FootstepParticle.cpp +++ b/targets/minecraft/client/particle/FootstepParticle.cpp @@ -4,7 +4,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/particle/Particle.h" #include "minecraft/client/particle/ParticleEngine.h" #include "minecraft/client/renderer/Tesselator.h" diff --git a/targets/minecraft/client/particle/HugeExplosionParticle.cpp b/targets/minecraft/client/particle/HugeExplosionParticle.cpp index 8ee5059e0..2cf67ba77 100644 --- a/targets/minecraft/client/particle/HugeExplosionParticle.cpp +++ b/targets/minecraft/client/particle/HugeExplosionParticle.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/GameEnums.h" #include "app/common/Colours/ColourTable.h" #include "java/Random.h" diff --git a/targets/minecraft/client/particle/ParticleEngine.cpp b/targets/minecraft/client/particle/ParticleEngine.cpp index 0ec0743af..4f8908049 100644 --- a/targets/minecraft/client/particle/ParticleEngine.cpp +++ b/targets/minecraft/client/particle/ParticleEngine.cpp @@ -6,7 +6,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "Particle.h" #include "TerrainParticle.h" #include "util/StringHelpers.h" diff --git a/targets/minecraft/client/particle/TakeAnimationParticle.cpp b/targets/minecraft/client/particle/TakeAnimationParticle.cpp index 9f4e44be7..b214cc02a 100644 --- a/targets/minecraft/client/particle/TakeAnimationParticle.cpp +++ b/targets/minecraft/client/particle/TakeAnimationParticle.cpp @@ -4,7 +4,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/SharedConstants.h" #include "minecraft/client/particle/Particle.h" #include "minecraft/client/particle/ParticleEngine.h" diff --git a/targets/minecraft/client/player/LocalPlayer.cpp b/targets/minecraft/client/player/LocalPlayer.cpp index 7f5610f03..b0648a94f 100644 --- a/targets/minecraft/client/player/LocalPlayer.cpp +++ b/targets/minecraft/client/player/LocalPlayer.cpp @@ -30,7 +30,7 @@ // 4J Stu - Added for tutorial callbacks #include "platform/input/input.h" #include "platform/profile/profile.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/common/App_structs.h" #include "app/common/Audio/SoundEngine.h" #include "app/common/Network/GameNetworkManager.h" @@ -124,7 +124,7 @@ LocalPlayer::LocalPlayer(Minecraft* minecraft, Level* level, User* user, input = nullptr; m_iPad = -1; m_iScreenSection = - C4JRender::VIEWPORT_TYPE_FULLSCREEN; // assume singleplayer default + IPlatformRenderer::VIEWPORT_TYPE_FULLSCREEN; // assume singleplayer default m_bPlayerRespawned = false; ullButtonsPressed = 0LL; ullDpad_last = ullDpad_this = ullDpad_filtered = 0; diff --git a/targets/minecraft/client/renderer/Chunk.cpp b/targets/minecraft/client/renderer/Chunk.cpp index 989476468..5e9cfeec7 100644 --- a/targets/minecraft/client/renderer/Chunk.cpp +++ b/targets/minecraft/client/renderer/Chunk.cpp @@ -9,7 +9,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "LevelRenderer.h" #include "app/linux/Stubs/winapi_stubs.h" #include "util/FrameProfiler.h" @@ -412,7 +412,7 @@ void Chunk::rebuild() { levelRenderer->setGlobalChunkFlag(this->x, this->y, this->z, level, LevelRenderer::CHUNK_FLAG_EMPTY0, currentLayer); - RenderManager.CBuffClear(lists + currentLayer); + PlatformRenderer.CBuffClear(lists + currentLayer); } int globalIdx = levelRenderer->getGlobalIndexForChunk(this->x, this->y, @@ -523,12 +523,12 @@ void Chunk::rebuild() { levelRenderer->setGlobalChunkFlag(this->x, this->y, this->z, level, LevelRenderer::CHUNK_FLAG_EMPTY0, currentLayer); - RenderManager.CBuffClear(lists + currentLayer); + PlatformRenderer.CBuffClear(lists + currentLayer); } if ((currentLayer == 0) && (!renderNextLayer)) { levelRenderer->setGlobalChunkFlag(this->x, this->y, this->z, level, LevelRenderer::CHUNK_FLAG_EMPTY1); - RenderManager.CBuffClear(lists + 1); + PlatformRenderer.CBuffClear(lists + 1); break; } } @@ -744,7 +744,7 @@ void Chunk::reset() { for (int i = 0; i < 2; i++) { // 4J - added - clear any renderer data associated with // this unused list - RenderManager.CBuffClear(lists + i); + PlatformRenderer.CBuffClear(lists + i); } levelRenderer->setGlobalChunkFlags(x, y, z, level, 0); } diff --git a/targets/minecraft/client/renderer/GameRenderer.cpp b/targets/minecraft/client/renderer/GameRenderer.cpp index 461968499..b1ddd5f7d 100644 --- a/targets/minecraft/client/renderer/GameRenderer.cpp +++ b/targets/minecraft/client/renderer/GameRenderer.cpp @@ -10,7 +10,7 @@ #include "platform/PlatformTypes.h" #include "platform/input/input.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "BossMobGuiInfo.h" #include "Chunk.h" #include "ItemInHandRenderer.h" @@ -610,16 +610,16 @@ void GameRenderer::getFovAndAspect(float& fov, float& aspect, float a, aspect = mc->width / (float)mc->height; fov = getFov(a, applyEffects); - if ((mc->player->m_iScreenSection == C4JRender::VIEWPORT_TYPE_SPLIT_TOP) || + if ((mc->player->m_iScreenSection == IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP) || (mc->player->m_iScreenSection == - C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM)) { + IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM)) { aspect *= 2.0f; fov *= 0.7f; // Reduce FOV to make things less fish-eye, at the expense // of reducing vertical FOV from single player mode } else if ((mc->player->m_iScreenSection == - C4JRender::VIEWPORT_TYPE_SPLIT_LEFT) || + IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT) || (mc->player->m_iScreenSection == - C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT)) { + IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT)) { // Ideally I'd like to make the fov bigger here, but if I do then you an // see that the arm isn't very long... aspect *= 0.5f; @@ -644,7 +644,7 @@ void GameRenderer::setupCamera(float a, int eye) { glTranslatef((float)zoom_x, (float)-zoom_y, 0); glScaled(zoom, zoom, 1); } - gluPerspective(fov, aspect, 0.05f, renderDistance * 2); + PlatformRenderer.MatrixPerspective(fov, aspect, 0.05f, renderDistance * 2); if (mc->gameMode->isCutScene()) { float s = 1 / 1.5f; @@ -740,7 +740,7 @@ void GameRenderer::renderItemInHand(float a, int eye) { glTranslatef((float)zoom_x, (float)-zoom_y, 0); glScaled(zoom, zoom, 1); } - gluPerspective(fov, aspect, 0.05f, renderDistance * 2); + PlatformRenderer.MatrixPerspective(fov, aspect, 0.05f, renderDistance * 2); if (mc->gameMode->isCutScene()) { float s = 1 / 1.5f; @@ -803,8 +803,7 @@ void GameRenderer::turnOffLightLayer(double alpha) { // 4J - TODO #if defined(__linux__) if (SharedConstants::TEXTURE_LIGHTING) { LinuxLogStubLightmapProbe(); - RenderManager.TextureBindVertex(-1); - LinuxGLLogLightmapState("turnOffLightLayer", -1, false); + PlatformRenderer.TextureBindVertex(-1); } #else // 4jcraft: manually handle this in order to ensure that the light layer is @@ -841,12 +840,12 @@ void GameRenderer::turnOnLightLayer( textureId, scaleLight ? 1 : 0); } - RenderManager.TextureBindVertex(textureId, scaleLight); + PlatformRenderer.TextureBindVertex(textureId, scaleLight); LinuxGLLogLightmapState("turnOnLightLayer", textureId, scaleLight); #else // 4jcraft: update light texture // todo: check implementation of getLightTexture. - RenderManager.TextureBindVertex( + PlatformRenderer.TextureBindVertex( getLightTexture(mc->player->GetXboxPad(), mc->level), scaleLight); #endif } @@ -1119,7 +1118,7 @@ int GameRenderer::runUpdate(void* lpParam) { Minecraft* minecraft = Minecraft::GetInstance(); Tesselator::CreateNewThreadStorage(1024 * 1024); Compression::UseDefaultThreadStorage(); - RenderManager.InitialiseContext(); + PlatformRenderer.InitialiseContext(); #if defined(_LARGE_WORLDS) Chunk::CreateNewThreadStorage(); #endif @@ -1159,7 +1158,7 @@ int GameRenderer::runUpdate(void* lpParam) { // while( minecraft->levelRenderer->updateDirtyChunks() ) // ; - RenderManager.CBuffDeferredModeEnd(); + PlatformRenderer.CBuffDeferredModeEnd(); // If any renderable tile entities were flagged in this last block of // chunk(s) that were udpated, then change their flags to say that this @@ -1265,9 +1264,9 @@ void GameRenderer::renderLevel(float a, int64_t until) { if (mc->options->anaglyph3d) { GameRenderer::anaglyphPass = i; if (GameRenderer::anaglyphPass == 0) - RenderManager.StateSetWriteEnable(false, true, true, false); + PlatformRenderer.StateSetWriteEnable(false, true, true, false); else - RenderManager.StateSetWriteEnable(true, false, false, false); + PlatformRenderer.StateSetWriteEnable(true, false, false, false); } glViewport(0, 0, mc->width, mc->height); @@ -1297,7 +1296,7 @@ void GameRenderer::renderLevel(float a, int64_t until) { setupFog(1, a); if (mc->options->ambientOcclusion) { - GL11::glShadeModel(GL11::GL_SMOOTH); + glShadeModel(GL_SMOOTH); } // Culler *frustum = new FrustumCuller(); @@ -1345,7 +1344,7 @@ void GameRenderer::renderLevel(float a, int64_t until) { Lighting::turnOff(); levelRenderer->render(cameraEntity, 0, a, updateChunks); - GL11::glShadeModel(GL11::GL_FLAT); + glShadeModel(GL_FLAT); if (cameraFlip == 0) { Lighting::turnOn(); @@ -1401,8 +1400,8 @@ void GameRenderer::renderLevel(float a, int64_t until) { glDisable(GL_BLEND); glEnable(GL_CULL_FACE); - RenderManager.StateSetBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - RenderManager.StateSetDepthMask(true); + PlatformRenderer.StateSetBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + PlatformRenderer.StateSetDepthMask(true); setupFog(0, a); glEnable(GL_BLEND); glDisable(GL_CULL_FACE); @@ -1416,14 +1415,14 @@ void GameRenderer::renderLevel(float a, int64_t until) { if (true) // (mc->options->fancyGraphics) { if (mc->options->ambientOcclusion) { - GL11::glShadeModel(GL11::GL_SMOOTH); + glShadeModel(GL_SMOOTH); } - RenderManager.StateSetBlendFunc(GL_ZERO, GL_ONE); + PlatformRenderer.StateSetBlendFunc(GL_ZERO, GL_ONE); int visibleWaterChunks = levelRenderer->render(cameraEntity, 1, a, updateChunks); - RenderManager.StateSetBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + PlatformRenderer.StateSetBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); if (visibleWaterChunks > 0) { levelRenderer->render( @@ -1433,7 +1432,7 @@ void GameRenderer::renderLevel(float a, int64_t until) { // that anymore } - GL11::glShadeModel(GL11::GL_FLAT); + glShadeModel(GL_FLAT); } else { levelRenderer->render(cameraEntity, 1, a, updateChunks); } @@ -1458,7 +1457,7 @@ void GameRenderer::renderLevel(float a, int64_t until) { turnOffLightLayer(a); // 4J - brought forward from 1.8.2 ////////////////////////// End of 4J added section - RenderManager.StateSetDepthMask(true); + PlatformRenderer.StateSetDepthMask(true); glEnable(GL_CULL_FACE); glDisable(GL_BLEND); @@ -1482,7 +1481,7 @@ void GameRenderer::renderLevel(float a, int64_t until) { */ glEnable(GL_BLEND); - RenderManager.StateSetBlendFunc(GL_SRC_ALPHA, GL_ONE); + PlatformRenderer.StateSetBlendFunc(GL_SRC_ALPHA, GL_ONE); { FRAME_PROFILE_SCOPE(WeatherSky); levelRenderer->renderDestroyAnimation( @@ -1516,7 +1515,7 @@ void GameRenderer::renderLevel(float a, int64_t until) { return; } } - RenderManager.StateSetWriteEnable(true, true, true, false); + PlatformRenderer.StateSetWriteEnable(true, true, true, false); } void GameRenderer::prepareAndRenderClouds(LevelRenderer* levelRenderer, @@ -1615,7 +1614,7 @@ void GameRenderer::renderSnowAndRain(float a) { if (rainLevel <= 0) return; // 4J - rain is relatively low poly, but high fill-rate - better to clip it - RenderManager.StateSetEnableViewportClipPlanes(true); + PlatformRenderer.StateSetEnableViewportClipPlanes(true); turnOnLightLayer(a); @@ -1645,7 +1644,7 @@ void GameRenderer::renderSnowAndRain(float a) { glDisable(GL_CULL_FACE); glNormal3f(0, 1, 0); glEnable(GL_BLEND); - RenderManager.StateSetBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + PlatformRenderer.StateSetBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glAlphaFunc(GL_GREATER, 0.01f); mc->textures->bindTexture( @@ -1815,13 +1814,13 @@ void GameRenderer::renderSnowAndRain(float a) { glAlphaFunc(GL_GREATER, 0.1f); turnOffLightLayer(a); - RenderManager.StateSetEnableViewportClipPlanes(false); + PlatformRenderer.StateSetEnableViewportClipPlanes(false); } // 4J - added forceScale parameter void GameRenderer::setupGuiScreen(int forceScale /*=-1*/) { int fbw, fbh; - RenderManager.GetFramebufferSize(fbw, fbh); + PlatformRenderer.GetFramebufferSize(fbw, fbh); // 4jcraft: use actual framebuffer dimensions instead of mc->width/height // to ensure GUI scales correctly after a window resize. @@ -1829,17 +1828,17 @@ void GameRenderer::setupGuiScreen(int forceScale /*=-1*/) { // 4jcraft: Java GUI screens still assume a clean 2D fixed-function style // state. - RenderManager.StateSetFaceCull(false); + PlatformRenderer.StateSetFaceCull(false); glDisable(GL_LIGHTING); glDisable(GL_FOG); glColor4f(1, 1, 1, 1); glEnable(GL_ALPHA_TEST); glAlphaFunc(GL_GREATER, 0.1f); glEnable(GL_DEPTH_TEST); - RenderManager.StateSetDepthFunc(GL_LEQUAL); - RenderManager.StateSetDepthMask(true); + PlatformRenderer.StateSetDepthFunc(GL_LEQUAL); + PlatformRenderer.StateSetDepthMask(true); - RenderManager.TextureBindVertex(-1); + PlatformRenderer.TextureBindVertex(-1); glClientActiveTexture(GL_TEXTURE1); glActiveTexture(GL_TEXTURE1); diff --git a/targets/minecraft/client/renderer/ItemInHandRenderer.cpp b/targets/minecraft/client/renderer/ItemInHandRenderer.cpp index b16b03ed5..7a4446891 100644 --- a/targets/minecraft/client/renderer/ItemInHandRenderer.cpp +++ b/targets/minecraft/client/renderer/ItemInHandRenderer.cpp @@ -8,7 +8,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/GameEnums.h" #include "app/common/Colours/ColourTable.h" #include "app/linux/LinuxGame.h" @@ -302,7 +302,7 @@ void ItemInHandRenderer::renderItem(std::shared_ptr mob, LOD = 2; // Force LOD level 2 to achieve texture reads from 256x256 // map } - RenderManager.StateSetForceLOD(LOD); + PlatformRenderer.StateSetForceLOD(LOD); // 4J Original comment // Yes, these are backwards. @@ -364,7 +364,7 @@ void ItemInHandRenderer::renderItem(std::shared_ptr mob, glDepthFunc(GL_LEQUAL); } - RenderManager.StateSetForceLOD(-1); + PlatformRenderer.StateSetForceLOD(-1); glDisable(GL_RESCALE_NORMAL); } @@ -417,15 +417,15 @@ void ItemInHandRenderer::render(float a) { std::dynamic_pointer_cast(player); if (localPlayer) { if (localPlayer->m_iScreenSection == - C4JRender::VIEWPORT_TYPE_SPLIT_BOTTOM || + IPlatformRenderer::VIEWPORT_TYPE_SPLIT_BOTTOM || localPlayer->m_iScreenSection == - C4JRender::VIEWPORT_TYPE_SPLIT_TOP) { + IPlatformRenderer::VIEWPORT_TYPE_SPLIT_TOP) { fudgeY = 0.08f; splitHoriz = true; } else if (localPlayer->m_iScreenSection == - C4JRender::VIEWPORT_TYPE_SPLIT_LEFT || + IPlatformRenderer::VIEWPORT_TYPE_SPLIT_LEFT || localPlayer->m_iScreenSection == - C4JRender::VIEWPORT_TYPE_SPLIT_RIGHT) { + IPlatformRenderer::VIEWPORT_TYPE_SPLIT_RIGHT) { fudgeX = -0.18f; } } diff --git a/targets/minecraft/client/renderer/LevelRenderer.cpp b/targets/minecraft/client/renderer/LevelRenderer.cpp index 20adb191f..abad124c7 100644 --- a/targets/minecraft/client/renderer/LevelRenderer.cpp +++ b/targets/minecraft/client/renderer/LevelRenderer.cpp @@ -17,7 +17,7 @@ #include "platform/PlatformTypes.h" #include "platform/input/input.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "Chunk.h" #include "GameRenderer.h" #include "minecraft/GameEnums.h" @@ -27,7 +27,6 @@ #include "app/linux/LinuxGame.h" #include "util/FrameProfiler.h" #include "minecraft/client/renderer/MobSkinMemTextureProcessor.h" -#include "platform/stubs.h" #include "Tesselator.h" #include "util/StringHelpers.h" #include "java/Class.h" @@ -299,7 +298,7 @@ LevelRenderer::LevelRenderer(Minecraft* mc, Textures* textures) { t->color(0xffffff); for (unsigned int i = 0; i <= ARC_SEGMENTS; ++i) { - float DIFF = abs(i - HALF_ARC_SEG); + float DIFF = std::abs(i - HALF_ARC_SEG); if (DIFF < (HALF_ARC_SEG - WIDE_ARC_SEGS)) DIFF = 0; else @@ -436,7 +435,7 @@ void LevelRenderer::setLevel(int playerIndex, MultiPlayerLevel* level) { // actually exiting the game, so only when the primary player sets there // level to nullptr if (playerIndex == PlatformInput.GetPrimaryPad()) { - RenderManager.CBuffDeleteAll(); + PlatformRenderer.CBuffDeleteAll(); { std::lock_guard lock(m_csRenderableTileEntities); renderableTileEntities.clear(); @@ -858,16 +857,16 @@ int LevelRenderer::renderChunks(int from, int to, int layer, double alpha) { // 4jcraft: replaced glPushMatrix/glTranslatef/glPopMatrix per chunk // no more full MVP upload per chunk, can also be bkwards compat - RenderManager.SetChunkOffset((float)chunk->chunk->x, + PlatformRenderer.SetChunkOffset((float)chunk->chunk->x, (float)chunk->chunk->y, (float)chunk->chunk->z); - if (RenderManager.CBuffCall(list, first)) { + if (PlatformRenderer.CBuffCall(list, first)) { first = false; } count++; } - RenderManager.SetChunkOffset(0.f, 0.f, 0.f); + PlatformRenderer.SetChunkOffset(0.f, 0.f, 0.f); } glPopMatrix(); @@ -1431,7 +1430,7 @@ void LevelRenderer::renderAdvancedClouds(float alpha) { // stencilling to limit the area drawn to. Clouds have a relatively large // fill area compared to the number of vertices that they have, and so // enabling clipping here to try and reduce fill rate cost. - RenderManager.StateSetEnableViewportClipPlanes(true); + PlatformRenderer.StateSetEnableViewportClipPlanes(true); float yOffs = (float)(mc->cameraTargetPlayer->yOld + (mc->cameraTargetPlayer->y - mc->cameraTargetPlayer->yOld) * @@ -1694,7 +1693,7 @@ void LevelRenderer::renderAdvancedClouds(float alpha) { m_freezeticks = iTicks; } } - RenderManager.StateSetEnableViewportClipPlanes(false); + PlatformRenderer.StateSetEnableViewportClipPlanes(false); } bool LevelRenderer::updateDirtyChunks() { @@ -1745,7 +1744,7 @@ bool LevelRenderer::updateDirtyChunks() { { FRAME_PROFILE_SCOPE(ChunkDirtyScan); - unsigned int memAlloc = RenderManager.CBuffSize(-1); + unsigned int memAlloc = PlatformRenderer.CBuffSize(-1); /* static int throttle = 0; if( ( throttle % 100 ) == 0 ) @@ -1960,7 +1959,7 @@ bool LevelRenderer::updateDirtyChunks() { // exactly the same thing would happen further away, but we just // don't care about it so much from terms of visual impact. if (veryNearCount > 0) { - RenderManager.CBuffDeferredModeStart(); + PlatformRenderer.CBuffDeferredModeStart(); } // Build this chunk & return false to continue processing chunk->clearDirty(); @@ -2052,7 +2051,7 @@ bool LevelRenderer::updateDirtyChunks() { // happen further away, but we just don't care about it so much from // terms of visual impact. if (veryNearCount > 0) { - RenderManager.CBuffDeferredModeStart(); + PlatformRenderer.CBuffDeferredModeStart(); } // Build this chunk & return false to continue processing chunk->clearDirty(); @@ -2221,12 +2220,12 @@ void LevelRenderer::renderHitOutline(std::shared_ptr player, // 4J-PB - If Display HUD is false, don't render the hit outline if (gameServices().getGameSettings(iPad, eGameSetting_DisplayHUD) == 0) return; - RenderManager.StateSetLightingEnable(false); + PlatformRenderer.StateSetLightingEnable(false); glDisable(GL_TEXTURE_2D); // draw hit outline - RenderManager.StateSetColour(0.0f, 0.0f, 0.0f, 0.4f); - RenderManager.StateSetLineWidth(1.0f); + PlatformRenderer.StateSetColour(0.0f, 0.0f, 0.0f, 0.4f); + PlatformRenderer.StateSetLineWidth(1.0f); // hack glDepthFunc(GL_LEQUAL); @@ -2251,17 +2250,17 @@ void LevelRenderer::renderHitOutline(std::shared_ptr player, // restore glDisable(GL_POLYGON_OFFSET_LINE); - RenderManager.StateSetColour(1.0f, 1.0f, 1.0f, 1.0f); + PlatformRenderer.StateSetColour(1.0f, 1.0f, 1.0f, 1.0f); glEnable(GL_TEXTURE_2D); - RenderManager.StateSetLightingEnable(true); + PlatformRenderer.StateSetLightingEnable(true); } } void LevelRenderer::render(AABB* b) { Tesselator* t = Tesselator::getInstance(); - RenderManager.StateSetLightingEnable(false); + PlatformRenderer.StateSetLightingEnable(false); glDisable(GL_TEXTURE_2D); - RenderManager.StateSetColour(0.0f, 0.0f, 0.0f, 0.4f); + PlatformRenderer.StateSetColour(0.0f, 0.0f, 0.0f, 0.4f); // prevent zfight glEnable(GL_POLYGON_OFFSET_LINE); @@ -2302,9 +2301,9 @@ void LevelRenderer::render(AABB* b) { t->end(); glDisable(GL_POLYGON_OFFSET_LINE); - RenderManager.StateSetLightingEnable(true); + PlatformRenderer.StateSetLightingEnable(true); glEnable(GL_TEXTURE_2D); - RenderManager.StateSetColour(1.0f, 1.0f, 1.0f, 1.0f); + PlatformRenderer.StateSetColour(1.0f, 1.0f, 1.0f, 1.0f); } void LevelRenderer::setDirty(int x0, int y0, int z0, int x1, int y1, int z1, @@ -4040,7 +4039,7 @@ void LevelRenderer::staticCtor() { int LevelRenderer::rebuildChunkThreadProc(void* lpParam) { Tesselator::CreateNewThreadStorage(1024 * 1024); - RenderManager.InitialiseContext(); + PlatformRenderer.InitialiseContext(); Chunk::CreateNewThreadStorage(); Tile::CreateNewThreadStorage(); diff --git a/targets/minecraft/client/renderer/MobSkinTextureProcessor.cpp b/targets/minecraft/client/renderer/MobSkinTextureProcessor.cpp index 3c48ed8c8..335256b11 100644 --- a/targets/minecraft/client/renderer/MobSkinTextureProcessor.cpp +++ b/targets/minecraft/client/renderer/MobSkinTextureProcessor.cpp @@ -1,7 +1,6 @@ #include "MobSkinTextureProcessor.h" #include "minecraft/client/BufferedImage.h" -#include "platform/stubs.h" BufferedImage* MobSkinTextureProcessor::process(BufferedImage* in) { if (in == nullptr) return nullptr; diff --git a/targets/minecraft/client/renderer/OffsettedRenderList.cpp b/targets/minecraft/client/renderer/OffsettedRenderList.cpp index ddc0d1eb4..58e57e81f 100644 --- a/targets/minecraft/client/renderer/OffsettedRenderList.cpp +++ b/targets/minecraft/client/renderer/OffsettedRenderList.cpp @@ -1,6 +1,6 @@ #include "OffsettedRenderList.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "java/IntBuffer.h" #include "minecraft/client/MemoryTracker.h" diff --git a/targets/minecraft/client/renderer/Tesselator.cpp b/targets/minecraft/client/renderer/Tesselator.cpp index c243c9499..3fa3fcfe8 100644 --- a/targets/minecraft/client/renderer/Tesselator.cpp +++ b/targets/minecraft/client/renderer/Tesselator.cpp @@ -5,7 +5,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/linux/LinuxGame.h" #include "platform/stubs.h" #include "minecraft/client/MemoryTracker.h" @@ -106,15 +106,15 @@ void Tesselator::end() { } if (mode == GL_QUADS && TRIANGLE_MODE) { // glDrawArrays(GL_TRIANGLES, 0, vertices); // 4J - changed for xbox - RenderManager.DrawVertices( - C4JRender::PRIMITIVE_TYPE_TRIANGLE_LIST, vertices, + PlatformRenderer.DrawVertices( + IPlatformRenderer::PRIMITIVE_TYPE_TRIANGLE_LIST, vertices, _array->data(), useCompactFormat360 - ? C4JRender::VERTEX_TYPE_COMPRESSED - : C4JRender::VERTEX_TYPE_PF3_TF2_CB4_NB4_XW1, + ? IPlatformRenderer::VERTEX_TYPE_COMPRESSED + : IPlatformRenderer::VERTEX_TYPE_PF3_TF2_CB4_NB4_XW1, useProjectedTexturePixelShader - ? C4JRender::PIXEL_SHADER_TYPE_PROJECTION - : C4JRender::PIXEL_SHADER_TYPE_STANDARD); + ? IPlatformRenderer::PIXEL_SHADER_TYPE_PROJECTION + : IPlatformRenderer::PIXEL_SHADER_TYPE_STANDARD); } else { // glDrawArrays(mode, 0, vertices); // 4J - changed // for xbox @@ -124,23 +124,23 @@ void Tesselator::end() { // axis aligned UVs (eg flowing lava/water) int vertexCount = vertices; if (useCompactFormat360) { - RenderManager.DrawVertices( - (C4JRender::ePrimitiveType)mode, vertexCount, - _array->data(), C4JRender::VERTEX_TYPE_COMPRESSED, - C4JRender::PIXEL_SHADER_TYPE_STANDARD); + PlatformRenderer.DrawVertices( + (IPlatformRenderer::ePrimitiveType)mode, vertexCount, + _array->data(), IPlatformRenderer::VERTEX_TYPE_COMPRESSED, + IPlatformRenderer::PIXEL_SHADER_TYPE_STANDARD); } else { if (useProjectedTexturePixelShader) { - RenderManager.DrawVertices( - (C4JRender::ePrimitiveType)mode, vertexCount, + PlatformRenderer.DrawVertices( + (IPlatformRenderer::ePrimitiveType)mode, vertexCount, _array->data(), - C4JRender::VERTEX_TYPE_PF3_TF2_CB4_NB4_XW1_TEXGEN, - C4JRender::PIXEL_SHADER_TYPE_PROJECTION); + IPlatformRenderer::VERTEX_TYPE_PF3_TF2_CB4_NB4_XW1_TEXGEN, + IPlatformRenderer::PIXEL_SHADER_TYPE_PROJECTION); } else { - RenderManager.DrawVertices( - (C4JRender::ePrimitiveType)mode, vertexCount, + PlatformRenderer.DrawVertices( + (IPlatformRenderer::ePrimitiveType)mode, vertexCount, _array->data(), - C4JRender::VERTEX_TYPE_PF3_TF2_CB4_NB4_XW1, - C4JRender::PIXEL_SHADER_TYPE_STANDARD); + IPlatformRenderer::VERTEX_TYPE_PF3_TF2_CB4_NB4_XW1, + IPlatformRenderer::PIXEL_SHADER_TYPE_STANDARD); } } } @@ -539,7 +539,7 @@ void Tesselator::vertex(float x, float y, float z) { #endif } else { // -512 each for u/v will mean that the renderer will use global - // settings (set via RenderManager.StateSetVertexTextureUV) rather + // settings (set via PlatformRenderer.StateSetVertexTextureUV) rather // than these local ones *(unsigned int*)(&_array->data()[p + 7]) = 0xfe00fe00; } diff --git a/targets/minecraft/client/renderer/Textures.cpp b/targets/minecraft/client/renderer/Textures.cpp index 29b66723a..939117d92 100644 --- a/targets/minecraft/client/renderer/Textures.cpp +++ b/targets/minecraft/client/renderer/Textures.cpp @@ -7,8 +7,9 @@ #include #include #include +#include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "HttpTexture.h" #include "app/linux/LinuxGame.h" #include "minecraft/client/BufferedImage.h" @@ -39,8 +40,8 @@ // Mesa/Nvidia drivers) and the per-level crispBlend loop is both wasteful and // still causes visible blurring. bool Textures::MIPMAP = false; -C4JRender::eTextureFormat Textures::TEXTURE_FORMAT = - C4JRender::TEXTURE_FORMAT_RxGyBzAw; +IPlatformRenderer::eTextureFormat Textures::TEXTURE_FORMAT = + IPlatformRenderer::TEXTURE_FORMAT_RxGyBzAw; int Textures::preLoadedIdx[TN_COUNT]; const wchar_t* Textures::preLoaded[TN_COUNT] = { @@ -416,7 +417,7 @@ int Textures::loadTexture(int idx) { void Textures::setTextureFormat(const std::wstring& resourceName) { // 4J Stu - These texture formats are not currently in the render header { - TEXTURE_FORMAT = C4JRender::TEXTURE_FORMAT_RxGyBzAw; + TEXTURE_FORMAT = IPlatformRenderer::TEXTURE_FORMAT_RxGyBzAw; } } @@ -525,7 +526,7 @@ void Textures::bindTextureLayers(ResourceLocation* resource) { mergedWidth, mergedHeight, BufferedImage::TYPE_INT_ARGB); memcpy(mergedImage->getData(), mergedPixels.data(), mergedWidth * mergedHeight * sizeof(int)); - id = getTexture(mergedImage, C4JRender::TEXTURE_FORMAT_RxGyBzAw, + id = getTexture(mergedImage, IPlatformRenderer::TEXTURE_FORMAT_RxGyBzAw, false); } else { id = 0; @@ -534,7 +535,7 @@ void Textures::bindTextureLayers(ResourceLocation* resource) { idMap[cacheKey] = id; } - RenderManager.TextureBind(id); + PlatformRenderer.TextureBind(id); } void Textures::bind(int id) { @@ -639,7 +640,7 @@ int Textures::loadTexture(TEXTURE_NAME texId, idMap[resourceName] = id; MIPMAP = true; // 4J added - TEXTURE_FORMAT = C4JRender::TEXTURE_FORMAT_RxGyBzAw; + TEXTURE_FORMAT = IPlatformRenderer::TEXTURE_FORMAT_RxGyBzAw; return id; /* } catch (IOException e) { @@ -653,13 +654,13 @@ return id; */ } -int Textures::getTexture(BufferedImage* img, C4JRender::eTextureFormat format, +int Textures::getTexture(BufferedImage* img, IPlatformRenderer::eTextureFormat format, bool mipmap) { int id = MemoryTracker::genTextures(); TEXTURE_FORMAT = format; MIPMAP = mipmap; loadTexture(img, id); - TEXTURE_FORMAT = C4JRender::TEXTURE_FORMAT_RxGyBzAw; + TEXTURE_FORMAT = IPlatformRenderer::TEXTURE_FORMAT_RxGyBzAw; MIPMAP = true; loadedImages[id] = img; return id; @@ -742,11 +743,11 @@ void Textures::loadTexture(BufferedImage* img, int id, bool blur, bool clamp) { while ((8 << iHeightMips) < h) iHeightMips++; iMipLevels = (iWidthMips < iHeightMips) ? iWidthMips : iHeightMips; - // RenderManager.TextureSetTextureLevels(5); // 4J added + // PlatformRenderer.TextureSetTextureLevels(5); // 4J added if (iMipLevels > 5) iMipLevels = 5; - RenderManager.TextureSetTextureLevels(iMipLevels); // 4J added + PlatformRenderer.TextureSetTextureLevels(iMipLevels); // 4J added } - RenderManager.TextureData(w, h, pixels->getBuffer(), 0, TEXTURE_FORMAT); + PlatformRenderer.TextureData(w, h, pixels->getBuffer(), 0, TEXTURE_FORMAT); // glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL12.GL_BGRA, // GL12.GL_UNSIGNED_INT_8_8_8_8_REV, pixels); @@ -803,7 +804,7 @@ void Textures::loadTexture(BufferedImage* img, int id, bool blur, bool clamp) { pixels->putInt((x + y * ww) * 4, tempData[x + y * ww]); } delete[] tempData; - RenderManager.TextureData(ww, hh, pixels->getBuffer(), level, + PlatformRenderer.TextureData(ww, hh, pixels->getBuffer(), level, TEXTURE_FORMAT); } } @@ -880,7 +881,7 @@ void Textures::replaceTexture(std::vector& rawPixels, int w, int h, // New // glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, w, h, GL12.GL_BGRA, // GL12.GL_UNSIGNED_INT_8_8_8_8_REV, pixels); - RenderManager.TextureDataUpdate(0, 0, w, h, pixels->getBuffer(), 0); + PlatformRenderer.TextureDataUpdate(0, 0, w, h, pixels->getBuffer(), 0); // Old // glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, // pixels); @@ -903,7 +904,7 @@ void Textures::replaceTextureDirect(const std::vector& rawPixels, int w, glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - RenderManager.TextureDataUpdate(0, 0, w, h, + PlatformRenderer.TextureDataUpdate(0, 0, w, h, const_cast(rawPixels.data()), 0); } @@ -923,7 +924,7 @@ void Textures::replaceTextureDirect(const std::vector& rawPixels, int w, glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - RenderManager.TextureDataUpdate(0, 0, w, h, + PlatformRenderer.TextureDataUpdate(0, 0, w, h, const_cast(rawPixels.data()), 0); } @@ -1020,7 +1021,7 @@ int Textures::loadMemTexture(const std::wstring& url, if (texture->id < 0) { texture->id = getTexture(texture->loadedImage, - C4JRender::TEXTURE_FORMAT_RxGyBzAw, MIPMAP); + IPlatformRenderer::TEXTURE_FORMAT_RxGyBzAw, MIPMAP); } else { loadTexture(texture->loadedImage, texture->id); } @@ -1057,7 +1058,7 @@ int Textures::loadMemTexture(const std::wstring& url, int backup) { if (texture->id < 0) { texture->id = getTexture(texture->loadedImage, - C4JRender::TEXTURE_FORMAT_RxGyBzAw, MIPMAP); + IPlatformRenderer::TEXTURE_FORMAT_RxGyBzAw, MIPMAP); } else { loadTexture(texture->loadedImage, texture->id); } @@ -1148,10 +1149,10 @@ void Textures::tick( // 4J - added - tell renderer that we're about to do a block of dynamic // texture updates, so we can unlock the resources after they are done // rather than a series of locks/unlocks - // RenderManager.TextureDynamicUpdateStart(); + // PlatformRenderer.TextureDynamicUpdateStart(); terrain->cycleAnimationFrames(); items->cycleAnimationFrames(); - // RenderManager.TextureDynamicUpdateEnd(); // 4J added - see + // PlatformRenderer.TextureDynamicUpdateEnd(); // 4J added - see // comment above } diff --git a/targets/minecraft/client/renderer/Textures.h b/targets/minecraft/client/renderer/Textures.h index e69783834..c026f36bb 100644 --- a/targets/minecraft/client/renderer/Textures.h +++ b/targets/minecraft/client/renderer/Textures.h @@ -5,8 +5,8 @@ #include #include -#include "platform/sdl2/Render.h" -#include "IPlatformRenderer.h" +#include "platform/renderer/renderer.h" +#include "platform/renderer/renderer.h" class Icon; class Entity; diff --git a/targets/minecraft/client/renderer/TileRenderer.cpp b/targets/minecraft/client/renderer/TileRenderer.cpp index 86a878035..6f6634dd8 100644 --- a/targets/minecraft/client/renderer/TileRenderer.cpp +++ b/targets/minecraft/client/renderer/TileRenderer.cpp @@ -9,7 +9,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "EntityTileRenderer.h" #include "GameRenderer.h" #include "minecraft/GameEnums.h" diff --git a/targets/minecraft/client/renderer/culling/Frustum.cpp b/targets/minecraft/client/renderer/culling/Frustum.cpp index e39c9cf6d..0a633fdd0 100644 --- a/targets/minecraft/client/renderer/culling/Frustum.cpp +++ b/targets/minecraft/client/renderer/culling/Frustum.cpp @@ -6,7 +6,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "java/FloatBuffer.h" #include "minecraft/client/MemoryTracker.h" @@ -58,9 +58,9 @@ void Frustum::calculateFrustum() { // queries. // Camera::prepare() already captures both matrices every frame :) // i spent an ungodly amount of time on this simple fix. - memcpy(proj.data(), RenderManager.MatrixGet(GL_PROJECTION_MATRIX), + memcpy(proj.data(), PlatformRenderer.MatrixGet(GL_PROJECTION_MATRIX), 16 * sizeof(float)); - memcpy(modl.data(), RenderManager.MatrixGet(GL_MODELVIEW_MATRIX), + memcpy(modl.data(), PlatformRenderer.MatrixGet(GL_MODELVIEW_MATRIX), 16 * sizeof(float)); float* p = proj.data(); diff --git a/targets/minecraft/client/renderer/entity/ArrowRenderer.cpp b/targets/minecraft/client/renderer/entity/ArrowRenderer.cpp index 9fab5bf3f..ab6c51937 100644 --- a/targets/minecraft/client/renderer/entity/ArrowRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/ArrowRenderer.cpp @@ -4,13 +4,14 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/renderer/Tesselator.h" #include "minecraft/client/renderer/Textures.h" #include "minecraft/client/resources/ResourceLocation.h" #include "minecraft/world/entity/Entity.h" #include "minecraft/world/entity/projectile/Arrow.h" +#include ResourceLocation ArrowRenderer::ARROW_LOCATION = ResourceLocation(TN_ITEM_ARROWS); diff --git a/targets/minecraft/client/renderer/entity/BatRenderer.cpp b/targets/minecraft/client/renderer/entity/BatRenderer.cpp index 72bb017fc..8db0deb42 100644 --- a/targets/minecraft/client/renderer/entity/BatRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/BatRenderer.cpp @@ -2,8 +2,9 @@ #include #include +#include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/BatModel.h" #include "minecraft/client/model/geom/Model.h" #include "minecraft/client/renderer/Textures.h" diff --git a/targets/minecraft/client/renderer/entity/BoatRenderer.cpp b/targets/minecraft/client/renderer/entity/BoatRenderer.cpp index 35cf2b62e..a49cfdc8f 100644 --- a/targets/minecraft/client/renderer/entity/BoatRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/BoatRenderer.cpp @@ -4,7 +4,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/BoatModel.h" #include "minecraft/client/model/geom/Model.h" #include "minecraft/client/renderer/Textures.h" diff --git a/targets/minecraft/client/renderer/entity/CaveSpiderRenderer.cpp b/targets/minecraft/client/renderer/entity/CaveSpiderRenderer.cpp index a85836653..7f1849475 100644 --- a/targets/minecraft/client/renderer/entity/CaveSpiderRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/CaveSpiderRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/renderer/Textures.h" #include "minecraft/client/renderer/entity/SpiderRenderer.h" #include "minecraft/client/resources/ResourceLocation.h" diff --git a/targets/minecraft/client/renderer/entity/CreeperRenderer.cpp b/targets/minecraft/client/renderer/entity/CreeperRenderer.cpp index 88807dfb9..bc98542cc 100644 --- a/targets/minecraft/client/renderer/entity/CreeperRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/CreeperRenderer.cpp @@ -4,7 +4,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/CreeperModel.h" #include "minecraft/client/renderer/Textures.h" diff --git a/targets/minecraft/client/renderer/entity/DefaultRenderer.cpp b/targets/minecraft/client/renderer/entity/DefaultRenderer.cpp index 7807198ea..2c7555fa1 100644 --- a/targets/minecraft/client/renderer/entity/DefaultRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/DefaultRenderer.cpp @@ -1,6 +1,6 @@ #include "DefaultRenderer.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" void DefaultRenderer::render(std::shared_ptr entity, double x, double y, double z, float rot, float a) { diff --git a/targets/minecraft/client/renderer/entity/EnderCrystalRenderer.cpp b/targets/minecraft/client/renderer/entity/EnderCrystalRenderer.cpp index b3e793099..9cf89cbdc 100644 --- a/targets/minecraft/client/renderer/entity/EnderCrystalRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/EnderCrystalRenderer.cpp @@ -3,7 +3,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/dragon/EnderCrystalModel.h" #include "minecraft/client/model/geom/Model.h" #include "minecraft/client/renderer/Textures.h" diff --git a/targets/minecraft/client/renderer/entity/EnderDragonRenderer.cpp b/targets/minecraft/client/renderer/entity/EnderDragonRenderer.cpp index 775409b6f..24a68f593 100644 --- a/targets/minecraft/client/renderer/entity/EnderDragonRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/EnderDragonRenderer.cpp @@ -5,7 +5,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "SharedConstants.h" #include "java/Random.h" diff --git a/targets/minecraft/client/renderer/entity/EndermanRenderer.cpp b/targets/minecraft/client/renderer/entity/EndermanRenderer.cpp index 84902f09d..7c787d032 100644 --- a/targets/minecraft/client/renderer/entity/EndermanRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/EndermanRenderer.cpp @@ -1,8 +1,9 @@ #include "EndermanRenderer.h" #include +#include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/SharedConstants.h" #include "minecraft/client/model/EndermanModel.h" diff --git a/targets/minecraft/client/renderer/entity/EntityRenderDispatcher.cpp b/targets/minecraft/client/renderer/entity/EntityRenderDispatcher.cpp index 33794e6d8..6f9e4d4bd 100644 --- a/targets/minecraft/client/renderer/entity/EntityRenderDispatcher.cpp +++ b/targets/minecraft/client/renderer/entity/EntityRenderDispatcher.cpp @@ -6,7 +6,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "ArrowRenderer.h" #include "BatRenderer.h" #include "BlazeRenderer.h" diff --git a/targets/minecraft/client/renderer/entity/EntityRenderer.cpp b/targets/minecraft/client/renderer/entity/EntityRenderer.cpp index e23fa047f..e972fc713 100644 --- a/targets/minecraft/client/renderer/entity/EntityRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/EntityRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "EntityRenderDispatcher.h" #include "java/Class.h" diff --git a/targets/minecraft/client/renderer/entity/ExperienceOrbRenderer.cpp b/targets/minecraft/client/renderer/entity/ExperienceOrbRenderer.cpp index a99c8f097..2f2ce92bb 100644 --- a/targets/minecraft/client/renderer/entity/ExperienceOrbRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/ExperienceOrbRenderer.cpp @@ -5,7 +5,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "EntityRenderDispatcher.h" #include "minecraft/SharedConstants.h" diff --git a/targets/minecraft/client/renderer/entity/FallingTileRenderer.cpp b/targets/minecraft/client/renderer/entity/FallingTileRenderer.cpp index 24c6bc8e6..cbe55dd55 100644 --- a/targets/minecraft/client/renderer/entity/FallingTileRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/FallingTileRenderer.cpp @@ -3,7 +3,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/renderer/Tesselator.h" #include "minecraft/client/renderer/TileRenderer.h" diff --git a/targets/minecraft/client/renderer/entity/FireballRenderer.cpp b/targets/minecraft/client/renderer/entity/FireballRenderer.cpp index 8bdbd0d45..dba049c9d 100644 --- a/targets/minecraft/client/renderer/entity/FireballRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/FireballRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "EntityRenderDispatcher.h" #include "java/Class.h" diff --git a/targets/minecraft/client/renderer/entity/FishingHookRenderer.cpp b/targets/minecraft/client/renderer/entity/FishingHookRenderer.cpp index f2449308b..70513d796 100644 --- a/targets/minecraft/client/renderer/entity/FishingHookRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/FishingHookRenderer.cpp @@ -4,7 +4,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "EntityRenderDispatcher.h" #include "minecraft/client/Minecraft.h" diff --git a/targets/minecraft/client/renderer/entity/GhastRenderer.cpp b/targets/minecraft/client/renderer/entity/GhastRenderer.cpp index b0fa23786..019d904b3 100644 --- a/targets/minecraft/client/renderer/entity/GhastRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/GhastRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/GhastModel.h" #include "minecraft/client/renderer/Textures.h" #include "minecraft/client/renderer/entity/MobRenderer.h" diff --git a/targets/minecraft/client/renderer/entity/GiantMobRenderer.cpp b/targets/minecraft/client/renderer/entity/GiantMobRenderer.cpp index 6f290e262..b92d2079d 100644 --- a/targets/minecraft/client/renderer/entity/GiantMobRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/GiantMobRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/renderer/Textures.h" #include "minecraft/client/renderer/entity/MobRenderer.h" #include "minecraft/client/resources/ResourceLocation.h" diff --git a/targets/minecraft/client/renderer/entity/HorseRenderer.cpp b/targets/minecraft/client/renderer/entity/HorseRenderer.cpp index 31d225da5..db7ac150f 100644 --- a/targets/minecraft/client/renderer/entity/HorseRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/HorseRenderer.cpp @@ -1,8 +1,9 @@ #include "HorseRenderer.h" #include +#include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "EntityRenderDispatcher.h" #include "MobRenderer.h" #include "minecraft/client/model/geom/Model.h" @@ -58,7 +59,7 @@ void HorseRenderer::renderModel(std::shared_ptr mob, float wp, true); // Ensure that any extra layers of texturing are disabled after // rendering this horse - RenderManager.TextureBind(-1); + PlatformRenderer.TextureBind(-1); } } diff --git a/targets/minecraft/client/renderer/entity/HumanoidMobRenderer.cpp b/targets/minecraft/client/renderer/entity/HumanoidMobRenderer.cpp index bc89e5ac8..725b5dccf 100644 --- a/targets/minecraft/client/renderer/entity/HumanoidMobRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/HumanoidMobRenderer.cpp @@ -2,8 +2,9 @@ #include #include +#include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "EntityRenderDispatcher.h" #include "util/StringHelpers.h" #include "minecraft/Facing.h" diff --git a/targets/minecraft/client/renderer/entity/ItemFrameRenderer.cpp b/targets/minecraft/client/renderer/entity/ItemFrameRenderer.cpp index fd162027d..a2bde451a 100644 --- a/targets/minecraft/client/renderer/entity/ItemFrameRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/ItemFrameRenderer.cpp @@ -5,7 +5,7 @@ #include "EntityRenderDispatcher.h" #include "minecraft/client/renderer/TileRenderer.h" // #include "ItemFrame" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "ItemFrameRenderer.h" #include "minecraft/Direction.h" #include "minecraft/Facing.h" diff --git a/targets/minecraft/client/renderer/entity/ItemRenderer.cpp b/targets/minecraft/client/renderer/entity/ItemRenderer.cpp index 2375f82eb..a0601a3c9 100644 --- a/targets/minecraft/client/renderer/entity/ItemRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/ItemRenderer.cpp @@ -4,7 +4,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "EntityRenderDispatcher.h" #include "util/StringHelpers.h" @@ -222,7 +222,7 @@ void ItemRenderer::renderItemBillboard(std::shared_ptr entity, LOD = 2; // Force LOD level 2 to achieve texture reads from 256x256 // map } - RenderManager.StateSetForceLOD(LOD); + PlatformRenderer.StateSetForceLOD(LOD); glPushMatrix(); if (m_bItemFrame) { @@ -311,7 +311,7 @@ void ItemRenderer::renderItemBillboard(std::shared_ptr entity, glPopMatrix(); - RenderManager.StateSetForceLOD(-1); + PlatformRenderer.StateSetForceLOD(-1); } else { for (int i = 0; i < count; i++) { glPushMatrix(); diff --git a/targets/minecraft/client/renderer/entity/ItemSpriteRenderer.cpp b/targets/minecraft/client/renderer/entity/ItemSpriteRenderer.cpp index 9776e0b3c..aac8da2b3 100644 --- a/targets/minecraft/client/renderer/entity/ItemSpriteRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/ItemSpriteRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "EntityRenderDispatcher.h" #include "minecraft/client/renderer/Tesselator.h" diff --git a/targets/minecraft/client/renderer/entity/LavaSlimeRenderer.cpp b/targets/minecraft/client/renderer/entity/LavaSlimeRenderer.cpp index 7048aa84e..5ddfd6a5e 100644 --- a/targets/minecraft/client/renderer/entity/LavaSlimeRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/LavaSlimeRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/LavaSlimeModel.h" #include "minecraft/client/renderer/Textures.h" #include "minecraft/client/renderer/entity/MobRenderer.h" diff --git a/targets/minecraft/client/renderer/entity/LeashKnotRenderer.cpp b/targets/minecraft/client/renderer/entity/LeashKnotRenderer.cpp index ade46a95a..9f0c38482 100644 --- a/targets/minecraft/client/renderer/entity/LeashKnotRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/LeashKnotRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/LeashKnotModel.h" #include "minecraft/client/renderer/Textures.h" diff --git a/targets/minecraft/client/renderer/entity/LightningBoltRenderer.cpp b/targets/minecraft/client/renderer/entity/LightningBoltRenderer.cpp index 912b660f1..24c801a08 100644 --- a/targets/minecraft/client/renderer/entity/LightningBoltRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/LightningBoltRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "java/Random.h" #include "minecraft/client/renderer/Tesselator.h" diff --git a/targets/minecraft/client/renderer/entity/LivingEntityRenderer.cpp b/targets/minecraft/client/renderer/entity/LivingEntityRenderer.cpp index 36a56b8f1..cdde47435 100644 --- a/targets/minecraft/client/renderer/entity/LivingEntityRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/LivingEntityRenderer.cpp @@ -5,7 +5,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "EntityRenderDispatcher.h" #include "minecraft/GameEnums.h" #include "app/linux/LinuxGame.h" @@ -498,7 +498,7 @@ void LivingEntityRenderer::renderNameTag(std::shared_ptr mob, // 4J Stu - If it's beyond readable distance, then just render a coloured // box int readableDist = PLAYER_NAME_READABLE_FULLSCREEN; - if (!RenderManager.IsHiDef()) { + if (!PlatformRenderer.IsHiDef()) { readableDist = PLAYER_NAME_READABLE_DISTANCE_SD; } else if (gameServices().getLocalPlayerCount() > 2) { readableDist = PLAYER_NAME_READABLE_DISTANCE_SPLITSCREEN; diff --git a/targets/minecraft/client/renderer/entity/MinecartRenderer.cpp b/targets/minecraft/client/renderer/entity/MinecartRenderer.cpp index 41f3aa01b..ce0c7a068 100644 --- a/targets/minecraft/client/renderer/entity/MinecartRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/MinecartRenderer.cpp @@ -6,7 +6,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/MinecartModel.h" #include "minecraft/client/model/geom/Model.h" #include "minecraft/client/renderer/Textures.h" diff --git a/targets/minecraft/client/renderer/entity/MobRenderer.cpp b/targets/minecraft/client/renderer/entity/MobRenderer.cpp index 190bb5373..48fc3df65 100644 --- a/targets/minecraft/client/renderer/entity/MobRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/MobRenderer.cpp @@ -4,7 +4,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "EntityRenderDispatcher.h" #include "LivingEntityRenderer.h" #include "minecraft/GameEnums.h" diff --git a/targets/minecraft/client/renderer/entity/MushroomCowRenderer.cpp b/targets/minecraft/client/renderer/entity/MushroomCowRenderer.cpp index e1ecad57d..65289c1c9 100644 --- a/targets/minecraft/client/renderer/entity/MushroomCowRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/MushroomCowRenderer.cpp @@ -1,8 +1,9 @@ #include "MushroomCowRenderer.h" #include +#include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/QuadrupedModel.h" #include "minecraft/client/model/geom/ModelPart.h" diff --git a/targets/minecraft/client/renderer/entity/OcelotRenderer.cpp b/targets/minecraft/client/renderer/entity/OcelotRenderer.cpp index 00b5e7e2c..28787c7a1 100644 --- a/targets/minecraft/client/renderer/entity/OcelotRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/OcelotRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/renderer/Textures.h" #include "minecraft/client/renderer/entity/MobRenderer.h" #include "minecraft/client/resources/ResourceLocation.h" diff --git a/targets/minecraft/client/renderer/entity/PaintingRenderer.cpp b/targets/minecraft/client/renderer/entity/PaintingRenderer.cpp index db12d33f1..48485fcaa 100644 --- a/targets/minecraft/client/renderer/entity/PaintingRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/PaintingRenderer.cpp @@ -1,8 +1,9 @@ #include "PaintingRenderer.h" #include +#include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "EntityRenderDispatcher.h" #include "java/Random.h" diff --git a/targets/minecraft/client/renderer/entity/PlayerRenderer.cpp b/targets/minecraft/client/renderer/entity/PlayerRenderer.cpp index f4c1acd51..2e70c72f4 100644 --- a/targets/minecraft/client/renderer/entity/PlayerRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/PlayerRenderer.cpp @@ -4,8 +4,9 @@ #include #include #include +#include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "EntityRenderDispatcher.h" #include "HumanoidMobRenderer.h" #include "minecraft/GameEnums.h" diff --git a/targets/minecraft/client/renderer/entity/SheepRenderer.cpp b/targets/minecraft/client/renderer/entity/SheepRenderer.cpp index c939a31e3..a2391e853 100644 --- a/targets/minecraft/client/renderer/entity/SheepRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/SheepRenderer.cpp @@ -3,7 +3,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/SharedConstants.h" #include "minecraft/client/Minecraft.h" #include "minecraft/client/multiplayer/MultiPlayerLocalPlayer.h" diff --git a/targets/minecraft/client/renderer/entity/SkeletonRenderer.cpp b/targets/minecraft/client/renderer/entity/SkeletonRenderer.cpp index b08df7223..1553b9ea1 100644 --- a/targets/minecraft/client/renderer/entity/SkeletonRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/SkeletonRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/SkeletonModel.h" #include "minecraft/client/renderer/Textures.h" #include "minecraft/client/renderer/entity/HumanoidMobRenderer.h" diff --git a/targets/minecraft/client/renderer/entity/SlimeRenderer.cpp b/targets/minecraft/client/renderer/entity/SlimeRenderer.cpp index d02b18e86..84a0a7fda 100644 --- a/targets/minecraft/client/renderer/entity/SlimeRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/SlimeRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/renderer/Textures.h" #include "minecraft/client/renderer/entity/MobRenderer.h" diff --git a/targets/minecraft/client/renderer/entity/SnowManRenderer.cpp b/targets/minecraft/client/renderer/entity/SnowManRenderer.cpp index bd8501956..b5b1dbbc3 100644 --- a/targets/minecraft/client/renderer/entity/SnowManRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/SnowManRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "EntityRenderDispatcher.h" #include "minecraft/client/model/SnowManModel.h" #include "minecraft/client/model/geom/ModelPart.h" diff --git a/targets/minecraft/client/renderer/entity/SpiderRenderer.cpp b/targets/minecraft/client/renderer/entity/SpiderRenderer.cpp index ca7f309bb..9e4c57b12 100644 --- a/targets/minecraft/client/renderer/entity/SpiderRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/SpiderRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/SharedConstants.h" #include "minecraft/client/model/SpiderModel.h" diff --git a/targets/minecraft/client/renderer/entity/SquidRenderer.cpp b/targets/minecraft/client/renderer/entity/SquidRenderer.cpp index 0c024b328..6a53e1937 100644 --- a/targets/minecraft/client/renderer/entity/SquidRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/SquidRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/renderer/Textures.h" #include "minecraft/client/renderer/entity/MobRenderer.h" #include "minecraft/client/resources/ResourceLocation.h" diff --git a/targets/minecraft/client/renderer/entity/TntMinecartRenderer.cpp b/targets/minecraft/client/renderer/entity/TntMinecartRenderer.cpp index 96c26708d..50d4613e0 100644 --- a/targets/minecraft/client/renderer/entity/TntMinecartRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/TntMinecartRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/renderer/TileRenderer.h" #include "minecraft/client/renderer/entity/MinecartRenderer.h" diff --git a/targets/minecraft/client/renderer/entity/TntRenderer.cpp b/targets/minecraft/client/renderer/entity/TntRenderer.cpp index eae22f2c0..472c079ed 100644 --- a/targets/minecraft/client/renderer/entity/TntRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/TntRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/SharedConstants.h" #include "minecraft/client/renderer/TileRenderer.h" diff --git a/targets/minecraft/client/renderer/entity/VillagerGolemRenderer.cpp b/targets/minecraft/client/renderer/entity/VillagerGolemRenderer.cpp index 3cfd771cb..0accf95db 100644 --- a/targets/minecraft/client/renderer/entity/VillagerGolemRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/VillagerGolemRenderer.cpp @@ -4,7 +4,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/SharedConstants.h" #include "minecraft/client/model/VillagerGolemModel.h" diff --git a/targets/minecraft/client/renderer/entity/VillagerRenderer.cpp b/targets/minecraft/client/renderer/entity/VillagerRenderer.cpp index 91af50aa6..816846356 100644 --- a/targets/minecraft/client/renderer/entity/VillagerRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/VillagerRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/VillagerModel.h" #include "minecraft/client/renderer/Textures.h" #include "minecraft/client/renderer/entity/MobRenderer.h" diff --git a/targets/minecraft/client/renderer/entity/WitchRenderer.cpp b/targets/minecraft/client/renderer/entity/WitchRenderer.cpp index 4286b2b1c..207d129e2 100644 --- a/targets/minecraft/client/renderer/entity/WitchRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/WitchRenderer.cpp @@ -3,7 +3,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "EntityRenderDispatcher.h" #include "minecraft/SharedConstants.h" #include "minecraft/client/model/WitchModel.h" diff --git a/targets/minecraft/client/renderer/entity/WitherBossRenderer.cpp b/targets/minecraft/client/renderer/entity/WitherBossRenderer.cpp index 73eb7617e..847441fe8 100644 --- a/targets/minecraft/client/renderer/entity/WitherBossRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/WitherBossRenderer.cpp @@ -3,7 +3,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "MobRenderer.h" #include "SharedConstants.h" diff --git a/targets/minecraft/client/renderer/entity/WitherSkullRenderer.cpp b/targets/minecraft/client/renderer/entity/WitherSkullRenderer.cpp index 633cdb6f2..14fcce976 100644 --- a/targets/minecraft/client/renderer/entity/WitherSkullRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/WitherSkullRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/SkeletonHeadModel.h" #include "minecraft/client/renderer/Textures.h" diff --git a/targets/minecraft/client/renderer/entity/WolfRenderer.cpp b/targets/minecraft/client/renderer/entity/WolfRenderer.cpp index eab36adc9..5150f3449 100644 --- a/targets/minecraft/client/renderer/entity/WolfRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/WolfRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/SharedConstants.h" #include "minecraft/client/Minecraft.h" #include "minecraft/client/multiplayer/MultiPlayerLocalPlayer.h" diff --git a/targets/minecraft/client/renderer/texture/Texture.cpp b/targets/minecraft/client/renderer/texture/Texture.cpp index c16c818e1..65a0a757e 100644 --- a/targets/minecraft/client/renderer/texture/Texture.cpp +++ b/targets/minecraft/client/renderer/texture/Texture.cpp @@ -6,7 +6,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/linux/LinuxGame.h" #include "minecraft/client/BufferedImage.h" #include "TextureManager.h" @@ -570,37 +570,37 @@ void Texture::updateOnGPU() { //} // else if(height != 1) //{ - // 4J Added check so we can differentiate between which RenderManager + // 4J Added check so we can differentiate between which PlatformRenderer // function to call if (!m_bInitialised) { - RenderManager.TextureSetTextureLevels(m_iMipLevels); // 4J added + PlatformRenderer.TextureSetTextureLevels(m_iMipLevels); // 4J added - RenderManager.TextureData(width, height, data[0]->getBuffer(), 0, - C4JRender::TEXTURE_FORMAT_RxGyBzAw); + PlatformRenderer.TextureData(width, height, data[0]->getBuffer(), 0, + IPlatformRenderer::TEXTURE_FORMAT_RxGyBzAw); if (mipmapped) { for (int level = 1; level < m_iMipLevels; level++) { int levelWidth = width >> level; int levelHeight = height >> level; - RenderManager.TextureData(levelWidth, levelHeight, + PlatformRenderer.TextureData(levelWidth, levelHeight, data[level]->getBuffer(), level, - C4JRender::TEXTURE_FORMAT_RxGyBzAw); + IPlatformRenderer::TEXTURE_FORMAT_RxGyBzAw); } } m_bInitialised = true; } else { - RenderManager.TextureDataUpdate(0, 0, width, height, + PlatformRenderer.TextureDataUpdate(0, 0, width, height, data[0]->getBuffer(), 0); if (mipmapped) { - if (RenderManager.TextureGetTextureLevels() > 1) { + if (PlatformRenderer.TextureGetTextureLevels() > 1) { for (int level = 1; level < m_iMipLevels; level++) { int levelWidth = width >> level; int levelHeight = height >> level; - RenderManager.TextureDataUpdate( + PlatformRenderer.TextureDataUpdate( 0, 0, levelWidth, levelHeight, data[level]->getBuffer(), level); } diff --git a/targets/minecraft/client/renderer/tileentity/BeaconRenderer.cpp b/targets/minecraft/client/renderer/tileentity/BeaconRenderer.cpp index 37ae02ed3..2ac5a27ba 100644 --- a/targets/minecraft/client/renderer/tileentity/BeaconRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/BeaconRenderer.cpp @@ -4,7 +4,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/renderer/Tesselator.h" #include "minecraft/client/renderer/Textures.h" diff --git a/targets/minecraft/client/renderer/tileentity/ChestRenderer.cpp b/targets/minecraft/client/renderer/tileentity/ChestRenderer.cpp index 603ae8902..7f4e18013 100644 --- a/targets/minecraft/client/renderer/tileentity/ChestRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/ChestRenderer.cpp @@ -3,7 +3,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/ChestModel.h" #include "minecraft/client/model/LargeChestModel.h" diff --git a/targets/minecraft/client/renderer/tileentity/EnchantTableRenderer.cpp b/targets/minecraft/client/renderer/tileentity/EnchantTableRenderer.cpp index bcc00e45a..80777935b 100644 --- a/targets/minecraft/client/renderer/tileentity/EnchantTableRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/EnchantTableRenderer.cpp @@ -4,7 +4,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/BookModel.h" #include "minecraft/client/renderer/Textures.h" diff --git a/targets/minecraft/client/renderer/tileentity/EnderChestRenderer.cpp b/targets/minecraft/client/renderer/tileentity/EnderChestRenderer.cpp index a902fe534..6ecc05db4 100644 --- a/targets/minecraft/client/renderer/tileentity/EnderChestRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/EnderChestRenderer.cpp @@ -3,7 +3,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/model/ChestModel.h" #include "minecraft/client/model/geom/ModelPart.h" diff --git a/targets/minecraft/client/renderer/tileentity/MobSpawnerRenderer.cpp b/targets/minecraft/client/renderer/tileentity/MobSpawnerRenderer.cpp index 3fc8f0467..1c68944ea 100644 --- a/targets/minecraft/client/renderer/tileentity/MobSpawnerRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/MobSpawnerRenderer.cpp @@ -1,6 +1,6 @@ #include "MobSpawnerRenderer.h" -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/renderer/entity/EntityRenderDispatcher.h" #include "minecraft/world/entity/Entity.h" #include "minecraft/world/level/BaseMobSpawner.h" diff --git a/targets/minecraft/client/renderer/tileentity/PistonPieceRenderer.cpp b/targets/minecraft/client/renderer/tileentity/PistonPieceRenderer.cpp index 82f77a691..59bb167bb 100644 --- a/targets/minecraft/client/renderer/tileentity/PistonPieceRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/PistonPieceRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/client/Lighting.h" #include "minecraft/client/renderer/Tesselator.h" diff --git a/targets/minecraft/client/renderer/tileentity/SignRenderer.cpp b/targets/minecraft/client/renderer/tileentity/SignRenderer.cpp index 239ce3f30..f590f0479 100644 --- a/targets/minecraft/client/renderer/tileentity/SignRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/SignRenderer.cpp @@ -5,7 +5,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/GameEnums.h" #include "app/common/Colours/ColourTable.h" #include "app/linux/LinuxGame.h" diff --git a/targets/minecraft/client/renderer/tileentity/SkullTileRenderer.cpp b/targets/minecraft/client/renderer/tileentity/SkullTileRenderer.cpp index 2604cfb61..de773b5e6 100644 --- a/targets/minecraft/client/renderer/tileentity/SkullTileRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/SkullTileRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "minecraft/Facing.h" #include "minecraft/client/model/SkeletonHeadModel.h" diff --git a/targets/minecraft/client/renderer/tileentity/TheEndPortalRenderer.cpp b/targets/minecraft/client/renderer/tileentity/TheEndPortalRenderer.cpp index 34432f1b5..3fc26a24d 100644 --- a/targets/minecraft/client/renderer/tileentity/TheEndPortalRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/TheEndPortalRenderer.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "TileEntityRenderDispatcher.h" #include "java/FloatBuffer.h" diff --git a/targets/minecraft/client/renderer/tileentity/TileEntityRenderDispatcher.cpp b/targets/minecraft/client/renderer/tileentity/TileEntityRenderDispatcher.cpp index e52ec019b..bf8eda75b 100644 --- a/targets/minecraft/client/renderer/tileentity/TileEntityRenderDispatcher.cpp +++ b/targets/minecraft/client/renderer/tileentity/TileEntityRenderDispatcher.cpp @@ -2,7 +2,7 @@ #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "BeaconRenderer.h" #include "ChestRenderer.h" #include "EnchantTableRenderer.h" diff --git a/targets/minecraft/client/title/TitleScreen.cpp b/targets/minecraft/client/title/TitleScreen.cpp index 6f39edeaf..f50ab5792 100644 --- a/targets/minecraft/client/title/TitleScreen.cpp +++ b/targets/minecraft/client/title/TitleScreen.cpp @@ -7,7 +7,7 @@ #include #include -#include "platform/sdl2/Render.h" +#include "platform/renderer/renderer.h" #include "app/linux/LinuxGame.h" #include "app/linux/Stubs/winapi_stubs.h" #include "minecraft/client/BufferedImage.h" @@ -169,7 +169,7 @@ void TitleScreen::buttonClicked(Button* button) { if (button->id == 4) { Log::info( "TitleScreen::buttonClicked() Exit Game if (button->id == 4)\n"); - RenderManager.Close(); // minecraft->stop(); + PlatformRenderer.Close(); // minecraft->stop(); } } diff --git a/targets/platform/Platform.h b/targets/platform/Platform.h index 07daad766..e9b3d7765 100644 --- a/targets/platform/Platform.h +++ b/targets/platform/Platform.h @@ -5,7 +5,7 @@ #include "IPlatformLeaderboard.h" #include "IPlatformNetwork.h" #include "IPlatformProfile.h" -#include "IPlatformRenderer.h" +#include "platform/renderer/renderer.h" #include "IPlatformSound.h" #include "IPlatformStorage.h" #include "IPlatformUIController.h" diff --git a/targets/platform/PlatformServices.cpp b/targets/platform/PlatformServices.cpp index 0a1ccf85a..a5414736e 100644 --- a/targets/platform/PlatformServices.cpp +++ b/targets/platform/PlatformServices.cpp @@ -1,9 +1,6 @@ #include "PlatformServices.h" #include "StdFileIO.h" -#include "sdl2/Render.h" - static StdFileIO s_stdFileIO; -IPlatformFileIO& PlatformFileIO = s_stdFileIO; -IPlatformRenderer& PlatformRender = RenderManager; +IPlatformFileIO& PlatformFileIO = s_stdFileIO; \ No newline at end of file diff --git a/targets/platform/PlatformServices.h b/targets/platform/PlatformServices.h index 915771d3c..6d041f645 100644 --- a/targets/platform/PlatformServices.h +++ b/targets/platform/PlatformServices.h @@ -3,11 +3,9 @@ #include "IPlatformFileIO.h" #include "IPlatformLeaderboard.h" #include "IPlatformNetwork.h" -#include "IPlatformRenderer.h" // Interface references to platform services. Game code uses these // instead of concrete globals directly. Bindings are established // by the app layer at startup. extern IPlatformFileIO& PlatformFileIO; -extern IPlatformRenderer& PlatformRender; diff --git a/targets/platform/input/sdl2/SDL2Input.cpp b/targets/platform/input/sdl2/SDL2Input.cpp index 54d1b1ba4..58c44ed67 100644 --- a/targets/platform/input/sdl2/SDL2Input.cpp +++ b/targets/platform/input/sdl2/SDL2Input.cpp @@ -18,7 +18,7 @@ #include #include "../InputConstants.h" -#include "../PlatformTypes.h" +#include "../../PlatformTypes.h" SDL2Input sdl2_input_instance; IPlatformInput& PlatformInput = sdl2_input_instance; diff --git a/targets/platform/meson.build b/targets/platform/meson.build index b41600830..4fab96098 100644 --- a/targets/platform/meson.build +++ b/targets/platform/meson.build @@ -28,14 +28,14 @@ sdl2_sources = files( 'input/sdl2/SDL2Input.cpp', 'profile/stub/StubProfile.cpp', 'storage/stub/StubStorage.cpp', - 'sdl2/Render.cpp', - 'sdl2/render_stubs.cpp', + 'renderer/gl/GLRenderer.cpp', + 'renderer/gl/render_stubs.cpp', ) lib_platform_sdl2 = static_library('platform_sdl2', sdl2_sources, - include_directories: [platform_inc, include_directories('sdl2')], - dependencies: [_sdl2, _gl, _threads, glm_dep, stb_dep], + include_directories: [platform_inc], + dependencies: [_sdl2, _gl, _threads, glm_dep, stb_dep, java_dep], cpp_args: _defs + global_cpp_args + global_cpp_defs, ) @@ -43,7 +43,7 @@ lib_platform_sdl2 = static_library('platform_sdl2', # Replaces the old render_dep, input_dep, profile_dep, storage_dep render_dep = declare_dependency( link_with: lib_platform_sdl2, - include_directories: [platform_inc, include_directories('sdl2')], + include_directories: [platform_inc], dependencies: [_sdl2, _gl, _threads, glm_dep], ) input_dep = render_dep diff --git a/targets/platform/profile/stub/StubProfile.h b/targets/platform/profile/stub/StubProfile.h index 43601b0fb..5d7f65d68 100644 --- a/targets/platform/profile/stub/StubProfile.h +++ b/targets/platform/profile/stub/StubProfile.h @@ -4,9 +4,9 @@ #include #include -#include "../PlatformTypes.h" +#include "PlatformTypes.h" + #include "../IPlatformProfile.h" -#include "../PlatformTypes.h" class StubProfile : public IPlatformProfile { public: diff --git a/targets/platform/IPlatformRenderer.h b/targets/platform/renderer/IPlatformRenderer.h similarity index 99% rename from targets/platform/IPlatformRenderer.h rename to targets/platform/renderer/IPlatformRenderer.h index 5570e87a2..b613786f7 100644 --- a/targets/platform/IPlatformRenderer.h +++ b/targets/platform/renderer/IPlatformRenderer.h @@ -95,6 +95,7 @@ public: virtual void CBuffLockStaticCreations() = 0; [[nodiscard]] virtual int CBuffCreate(int count) = 0; virtual void CBuffDelete(int first, int count) = 0; + virtual void CBuffDeleteAll() = 0; virtual void CBuffStart(int index, bool full = false) = 0; virtual void CBuffClear(int index) = 0; [[nodiscard]] virtual int CBuffSize(int index) = 0; diff --git a/targets/platform/sdl2/Render.cpp b/targets/platform/renderer/gl/GLRenderer.cpp similarity index 79% rename from targets/platform/sdl2/Render.cpp rename to targets/platform/renderer/gl/GLRenderer.cpp index 0e570dc1d..6943130be 100644 --- a/targets/platform/sdl2/Render.cpp +++ b/targets/platform/renderer/gl/GLRenderer.cpp @@ -1,12 +1,15 @@ -#include "Render.h" +#include "GLRenderer.h" -#include "../PlatformTypes.h" +#include "PlatformTypes.h" #include "SDL.h" #include "SDL_error.h" #include "SDL_events.h" #include "SDL_stdinc.h" #include "SDL_video.h" -#include "gl3_loader.h" + +#include "java/ByteBuffer.h" +#include "java/FloatBuffer.h" +#include "java/IntBuffer.h" // undefine macros from header to avoid argument mismatch #undef glGenTextures @@ -51,7 +54,8 @@ #include #include -C4JRender RenderManager; +GLRenderer gl_renderer_instance; +IPlatformRenderer& PlatformRenderer = gl_renderer_instance; // MARK: Shaders @@ -59,20 +63,20 @@ C4JRender RenderManager; #ifdef GLES static const char* VERT_SRC = -#include "sdl2/shaders/vertex_es.vert" +#include "./shaders/vertex_es.vert" ; static const char* FRAG_SRC = -#include "sdl2/shaders/fragment_es.frag" +#include "./shaders/fragment_es.frag" ; #else static const char* VERT_SRC = -#include "sdl2/shaders/vertex.vert" +#include "./shaders/vertex.vert" ; static const char* FRAG_SRC = -#include "sdl2/shaders/fragment.frag" +#include "./shaders/fragment.frag" ; #endif @@ -593,7 +597,7 @@ static thread_local std::vector s_recDraws; // Primitive helpers static bool isQuadPrim(int pt) { return (pt == 0x0007 /*GL_QUADS*/ || - pt == (int)C4JRender::PRIMITIVE_TYPE_QUAD_LIST); + pt == (int)GLRenderer::PRIMITIVE_TYPE_QUAD_LIST); } static GLenum mapPrim(int pt) { @@ -621,7 +625,7 @@ static GLenum mapPrim(int pt) { // MARK: Renderer impl // Initialises the renderer -void C4JRender::Initialise() { +void GLRenderer::Initialise() { if (SDL_Init(SDL_INIT_VIDEO) != 0) { fprintf(stderr, "[4J_Render] SDL_Init: %s\n", SDL_GetError()); return; @@ -712,7 +716,7 @@ void C4JRender::Initialise() { #endif } -void C4JRender::InitialiseContext() { +void GLRenderer::InitialiseContext() { if (!s_window) return; pthread_once(&s_glCtxKeyOnce, makeGLCtxKey); if (s_mainThreadSet && pthread_equal(pthread_self(), s_mainThread)) { @@ -742,7 +746,7 @@ void C4JRender::InitialiseContext() { pthread_setspecific(s_glCtxKey, (void*)shared); } -void C4JRender::StartFrame() { +void GLRenderer::StartFrame() { Set_matrixDirty(); int w, h; SDL_GetWindowSize(s_window, &w, &h); @@ -751,7 +755,7 @@ void C4JRender::StartFrame() { glViewport(0, 0, s_windowWidth, s_windowHeight); } -void C4JRender::Present() { +void GLRenderer::Present() { if (!s_window) return; SDL_Event ev; while (SDL_PollEvent(&ev)) { @@ -768,23 +772,23 @@ void C4JRender::Present() { SDL_GL_SwapWindow(s_window); } -void C4JRender::SetWindowSize(int w, int h) { +void GLRenderer::SetWindowSize(int w, int h) { s_reqWidth = w; s_reqHeight = h; } -void C4JRender::SetFullscreen(bool fs) { s_fullscreen = fs; } +void GLRenderer::SetFullscreen(bool fs) { s_fullscreen = fs; } -bool C4JRender::ShouldClose() { return !s_window || s_shouldClose; } +bool GLRenderer::ShouldClose() { return !s_window || s_shouldClose; } -void C4JRender::GetFramebufferSize(int& w, int& h) { +void GLRenderer::GetFramebufferSize(int& w, int& h) { w = s_windowWidth; h = s_windowHeight; } -void C4JRender::Close() { s_window = nullptr; } +void GLRenderer::Close() { s_window = nullptr; } -void C4JRender::Shutdown() { +void GLRenderer::Shutdown() { pthread_mutex_lock(&s_glCallMtx); for (auto& kv : s_chunkPool) kv.second.destroy(); s_chunkPool.clear(); @@ -807,7 +811,7 @@ void C4JRender::Shutdown() { SDL_Quit(); } -void C4JRender::DrawVertices(ePrimitiveType ptype, int count, void* dataIn, +void GLRenderer::DrawVertices(ePrimitiveType ptype, int count, void* dataIn, eVertexType vType, ePixelShaderType) { if (count <= 0 || !dataIn) return; @@ -915,14 +919,14 @@ void C4JRender::DrawVertices(ePrimitiveType ptype, int count, void* dataIn, pthread_mutex_unlock(&s_glCallMtx); } -void C4JRender::ReadPixels(int x, int y, int w, int h, void* buf) { +void GLRenderer::ReadPixels(int x, int y, int w, int h, void* buf) { if (!buf) return; pthread_mutex_lock(&s_glCallMtx); glReadPixels(x, y, w, h, GL_RGBA, GL_UNSIGNED_BYTE, buf); pthread_mutex_unlock(&s_glCallMtx); } -int C4JRender::CBuffCreate(int count) { +int GLRenderer::CBuffCreate(int count) { pthread_mutex_lock(&s_glCallMtx); int b = s_nextListBase; s_nextListBase += count; @@ -930,7 +934,7 @@ int C4JRender::CBuffCreate(int count) { return b; } -void C4JRender::CBuffDelete(int first, int count) { +void GLRenderer::CBuffDelete(int first, int count) { pthread_mutex_lock(&s_glCallMtx); for (int i = first; i < first + count; i++) { auto it = s_chunkPool.find(i); @@ -942,7 +946,7 @@ void C4JRender::CBuffDelete(int first, int count) { pthread_mutex_unlock(&s_glCallMtx); } -void C4JRender::CBuffDeleteAll() { +void GLRenderer::CBuffDeleteAll() { pthread_mutex_lock(&s_glCallMtx); for (auto& kv : s_chunkPool) { kv.second.destroy(); @@ -952,13 +956,13 @@ void C4JRender::CBuffDeleteAll() { pthread_mutex_unlock(&s_glCallMtx); } -void C4JRender::CBuffStart(int index, bool) { +void GLRenderer::CBuffStart(int index, bool) { s_recListId = index; s_recVerts.clear(); s_recDraws.clear(); } -void C4JRender::CBuffEnd() { +void GLRenderer::CBuffEnd() { if (s_recListId < 0) return; pthread_mutex_lock(&s_glCallMtx); ChunkBuffer& cb = s_chunkPool[s_recListId]; @@ -977,7 +981,7 @@ void C4JRender::CBuffEnd() { s_recListId = -1; } -void C4JRender::CBuffClear(int index) { +void GLRenderer::CBuffClear(int index) { pthread_mutex_lock(&s_glCallMtx); auto it = s_chunkPool.find(index); if (it != s_chunkPool.end()) { @@ -987,7 +991,7 @@ void C4JRender::CBuffClear(int index) { pthread_mutex_unlock(&s_glCallMtx); } -bool C4JRender::CBuffCall(int index, bool) { +bool GLRenderer::CBuffCall(int index, bool) { pthread_mutex_lock(&s_glCallMtx); auto it = s_chunkPool.find(index); if (it == s_chunkPool.end() || !it->second.valid) { @@ -1026,7 +1030,7 @@ bool C4JRender::CBuffCall(int index, bool) { return true; } -void C4JRender::MatrixMode(int t) { +void GLRenderer::MatrixMode(int t) { if (t == GL_PROJECTION) s_matMode = 1; else if (t == GL_TEXTURE) @@ -1035,53 +1039,53 @@ void C4JRender::MatrixMode(int t) { s_matMode = 0; } -void C4JRender::MatrixSetIdentity() { +void GLRenderer::MatrixSetIdentity() { activeStack().load(glm::mat4(1.f)); markMatrixDirty(); if (s_matMode == 0) markNormalDirty(); } -void C4JRender::MatrixPush() { +void GLRenderer::MatrixPush() { activeStack().push(); // push doesn't change cur() so no dirty needed but mark anyway to be safe // ;w; markMatrixDirty(); if (s_matMode == 0) markNormalDirty(); } -void C4JRender::MatrixPop() { +void GLRenderer::MatrixPop() { activeStack().pop(); markMatrixDirty(); if (s_matMode == 0) markNormalDirty(); } -void C4JRender::MatrixTranslate(float x, float y, float z) { +void GLRenderer::MatrixTranslate(float x, float y, float z) { activeStack().mul(glm::translate(glm::mat4(1.f), {x, y, z})); markMatrixDirty(); if (s_matMode == 0) markNormalDirty(); } -void C4JRender::MatrixRotate(float a, float x, float y, float z) { +void GLRenderer::MatrixRotate(float a, float x, float y, float z) { activeStack().mul(glm::rotate(glm::mat4(1.f), a, {x, y, z})); markMatrixDirty(); if (s_matMode == 0) markNormalDirty(); } -void C4JRender::MatrixScale(float x, float y, float z) { +void GLRenderer::MatrixScale(float x, float y, float z) { activeStack().mul(glm::scale(glm::mat4(1.f), {x, y, z})); markMatrixDirty(); if (s_matMode == 0) markNormalDirty(); } -void C4JRender::MatrixPerspective(float fovy, float asp, float zn, float zf) { +void GLRenderer::MatrixPerspective(float fovy, float asp, float zn, float zf) { s_proj.cur() = glm::perspective(glm::radians(fovy), asp, zn, zf); markMatrixDirty(); } -void C4JRender::MatrixOrthogonal(float l, float r, float b, float t, float zn, +void GLRenderer::MatrixOrthogonal(float l, float r, float b, float t, float zn, float zf) { s_proj.cur() = glm::ortho(l, r, b, t, zn, zf); markMatrixDirty(); } -void C4JRender::MatrixMult(float* m) { +void GLRenderer::MatrixMult(float* m) { activeStack().mul(glm::make_mat4(m)); markMatrixDirty(); if (s_matMode == 0) markNormalDirty(); } -const float* C4JRender::MatrixGet(int t) { +const float* GLRenderer::MatrixGet(int t) { static float buf[16]; glm::mat4* m = (t == GL_MODELVIEW_MATRIX) ? &s_mv.cur() : (t == GL_PROJECTION_MATRIX) ? &s_proj.cur() @@ -1090,7 +1094,7 @@ const float* C4JRender::MatrixGet(int t) { return buf; } -void C4JRender::Set_matrixDirty() { +void GLRenderer::Set_matrixDirty() { // iggy wipes opengl state s_boundProgram = 0; s_rs_dirty_mask = 0xFFFFFFFF; @@ -1104,20 +1108,20 @@ void C4JRender::Set_matrixDirty() { } } -void C4JRender::Clear(int f) { glClear(f); } -void C4JRender::SetClearColour(const float c[4]) { +void GLRenderer::Clear(int f) { glClear(f); } +void GLRenderer::SetClearColour(const float c[4]) { glClearColor(c[0], c[1], c[2], c[3]); } -bool C4JRender::IsWidescreen() { return true; } -bool C4JRender::IsHiDef() { return true; } -void C4JRender::StateSetColour(float r, float g, float b, float a) { +bool GLRenderer::IsWidescreen() { return true; } +bool GLRenderer::IsHiDef() { return true; } +void GLRenderer::StateSetColour(float r, float g, float b, float a) { glm::vec4 v = {r, g, b, a}; if (s_rs.baseColor != v) { s_rs.baseColor = v; markDirty(DIRTY_BASECOLOR); } } -void C4JRender::SetChunkOffset(float x, float y, float z) { +void GLRenderer::SetChunkOffset(float x, float y, float z) { if (s_shader.uChunkOffset < 0) return; glm::vec3 v = {x, y, z}; if (!s_chunkOffsetValid || s_chunkOffset != v) { @@ -1128,111 +1132,111 @@ void C4JRender::SetChunkOffset(float x, float y, float z) { glUniform3f(s_shader.uChunkOffset, x, y, z); } } -void C4JRender::StateSetDepthMask(bool e) { +void GLRenderer::StateSetDepthMask(bool e) { glShadowSetDepthMask(e ? GL_TRUE : GL_FALSE); } -void C4JRender::StateSetBlendEnable(bool e) { glShadowSetBlend(e); } -void C4JRender::StateSetBlendFunc(int s, int d) { +void GLRenderer::StateSetBlendEnable(bool e) { glShadowSetBlend(e); } +void GLRenderer::StateSetBlendFunc(int s, int d) { glShadowSetBlendFunc(s, d); } -void C4JRender::StateSetDepthFunc(int f) { ::glDepthFunc(f); } -void C4JRender::StateSetFaceCull(bool e) { glShadowSetCull(e); } -void C4JRender::StateSetFaceCullCW(bool e) { +void GLRenderer::StateSetDepthFunc(int f) { ::glDepthFunc(f); } +void GLRenderer::StateSetFaceCull(bool e) { glShadowSetCull(e); } +void GLRenderer::StateSetFaceCullCW(bool e) { glShadowSetFrontFace(e ? GL_CW : GL_CCW); } -void C4JRender::StateSetLineWidth(float w) { +void GLRenderer::StateSetLineWidth(float w) { #ifndef GLES glShadowSetLineWidth(w); #else (void)w; #endif } -void C4JRender::StateSetWriteEnable(bool r, bool g, bool b, bool a) { +void GLRenderer::StateSetWriteEnable(bool r, bool g, bool b, bool a) { glShadowSetColorMask(r, g, b, a); } -void C4JRender::StateSetDepthTestEnable(bool e) { glShadowSetDepthTest(e); } -void C4JRender::StateSetAlphaTestEnable(bool e) { +void GLRenderer::StateSetDepthTestEnable(bool e) { glShadowSetDepthTest(e); } +void GLRenderer::StateSetAlphaTestEnable(bool e) { float v = e ? 0.1f : 0.f; if (s_rs.alphaRef != v) { s_rs.alphaRef = v; markDirty(DIRTY_ALPHA); } } -void C4JRender::StateSetAlphaFunc(int, float p) { +void GLRenderer::StateSetAlphaFunc(int, float p) { if (s_rs.alphaRef != p) { s_rs.alphaRef = p; markDirty(DIRTY_ALPHA); } } -void C4JRender::StateSetDepthSlopeAndBias(float s, float b) { +void GLRenderer::StateSetDepthSlopeAndBias(float s, float b) { glShadowSetPolygonOffset(s, b); } -void C4JRender::StateSetBlendFactor(unsigned int col) { +void GLRenderer::StateSetBlendFactor(unsigned int col) { float a = ((col >> 24) & 0xFF) / 255.f; float r = ((col >> 16) & 0xFF) / 255.f; float g = ((col >> 8) & 0xFF) / 255.f; float b = (col & 0xFF) / 255.f; glBlendColor(r, g, b, a); } -void C4JRender::StateSetFogEnable(bool e) { +void GLRenderer::StateSetFogEnable(bool e) { if (s_rs.fogEnable != e) { s_rs.fogEnable = e; markDirty(DIRTY_FOG); } } -void C4JRender::StateSetFogMode(int mode) { +void GLRenderer::StateSetFogMode(int mode) { int v = (mode == GL_LINEAR) ? 1 : (mode == GL_EXP) ? 2 : (mode == 0x0801) ? 3 : 0; if (s_rs.fogMode != v) { s_rs.fogMode = v; markDirty(DIRTY_FOG); } } -void C4JRender::StateSetFogNearDistance(float d) { +void GLRenderer::StateSetFogNearDistance(float d) { if (s_rs.fogStart != d) { s_rs.fogStart = d; markDirty(DIRTY_FOG); } } -void C4JRender::StateSetFogFarDistance(float d) { +void GLRenderer::StateSetFogFarDistance(float d) { if (s_rs.fogEnd != d) { s_rs.fogEnd = d; markDirty(DIRTY_FOG); } } -void C4JRender::StateSetFogDensity(float d) { +void GLRenderer::StateSetFogDensity(float d) { if (s_rs.fogDensity != d) { s_rs.fogDensity = d; markDirty(DIRTY_FOG); } } -void C4JRender::StateSetFogColour(float r, float g, float b) { +void GLRenderer::StateSetFogColour(float r, float g, float b) { glm::vec4 v = {r, g, b, 1}; if (s_rs.fogColor != v) { s_rs.fogColor = v; markDirty(DIRTY_FOG); } } -void C4JRender::StateSetLightingEnable(bool e) { +void GLRenderer::StateSetLightingEnable(bool e) { if (s_rs.lighting != e) { s_rs.lighting = e; markDirty(DIRTY_LIGHTING); } } -void C4JRender::StateSetLightColour(int, float r, float g, float b) { +void GLRenderer::StateSetLightColour(int, float r, float g, float b) { glm::vec3 v = {r, g, b}; if (s_rs.ldiff != v) { s_rs.ldiff = v; markDirty(DIRTY_LIGHTING); } } -void C4JRender::StateSetLightAmbientColour(float r, float g, float b) { +void GLRenderer::StateSetLightAmbientColour(float r, float g, float b) { glm::vec3 v = {r, g, b}; if (s_rs.lamb != v) { s_rs.lamb = v; markDirty(DIRTY_LIGHTING); } } -void C4JRender::StateSetLightDirection(int light, float x, float y, float z) { +void GLRenderer::StateSetLightDirection(int light, float x, float y, float z) { glm::vec3 d = glm::normalize(glm::mat3(s_mv.cur()) * glm::vec3(x, y, z)); if (light == 0) { if (s_rs.l0 != d) { @@ -1246,44 +1250,44 @@ void C4JRender::StateSetLightDirection(int light, float x, float y, float z) { } } } -void C4JRender::StateSetViewport(eViewportType) { +void GLRenderer::StateSetViewport(eViewportType) { glViewport(0, 0, s_windowWidth, s_windowHeight); } -void C4JRender::StateSetVertexTextureUV(float u, float v) { +void GLRenderer::StateSetVertexTextureUV(float u, float v) { glm::vec2 val = {u, v}; if (s_rs.globalLM != val) { s_rs.globalLM = val; markDirty(DIRTY_GLOBAL_LM); } } -void C4JRender::StateSetStencil(int fn, uint8_t ref, uint8_t fmask, +void GLRenderer::StateSetStencil(int fn, uint8_t ref, uint8_t fmask, uint8_t wmask) { glShadowSetStencil(fn, ref, fmask, wmask); } -void C4JRender::StateSetTextureEnable(bool e) { +void GLRenderer::StateSetTextureEnable(bool e) { if (s_rs.activeTexture == 0 && s_rs.useTexture != e) { s_rs.useTexture = e; markDirty(DIRTY_TEXTURE); } } -void C4JRender::StateSetActiveTexture(int tex) { +void GLRenderer::StateSetActiveTexture(int tex) { s_rs.activeTexture = (tex == 0x84C1 /*GL_TEXTURE1*/) ? 1 : 0; } -int C4JRender::TextureCreate() { +int GLRenderer::TextureCreate() { GLuint id; glGenTextures(1, &id); return (int)id; } -void C4JRender::TextureFree(int i) { +void GLRenderer::TextureFree(int i) { GLuint id = (GLuint)i; glDeleteTextures(1, &id); } -void C4JRender::TextureBind(int idx) { +void GLRenderer::TextureBind(int idx) { glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, idx < 0 ? 0 : (GLuint)idx); } -void C4JRender::TextureBindVertex(int idx, bool scaleLight) { +void GLRenderer::TextureBindVertex(int idx, bool scaleLight) { if (idx < 0) { if (s_rs.useLightmap) { s_rs.useLightmap = false; @@ -1311,7 +1315,7 @@ void C4JRender::TextureBindVertex(int idx, bool scaleLight) { markDirty(DIRTY_LMT); } } -void C4JRender::TextureSetTextureLevels(int l) { +void GLRenderer::TextureSetTextureLevels(int l) { glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, l > 0 ? l - 1 : 0); if (l > 1) glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, @@ -1319,8 +1323,8 @@ void C4JRender::TextureSetTextureLevels(int l) { else glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); } -int C4JRender::TextureGetTextureLevels() { return 1; } -void C4JRender::TextureData(int w, int h, void* d, int lvl, eTextureFormat) { +int GLRenderer::TextureGetTextureLevels() { return 1; } +void GLRenderer::TextureData(int w, int h, void* d, int lvl, eTextureFormat) { glTexImage2D(GL_TEXTURE_2D, lvl, GL_RGBA, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, d); if (lvl == 0) { @@ -1331,12 +1335,12 @@ void C4JRender::TextureData(int w, int h, void* d, int lvl, eTextureFormat) { glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); } } -void C4JRender::TextureDataUpdate(int xo, int yo, int w, int h, void* d, +void GLRenderer::TextureDataUpdate(int xo, int yo, int w, int h, void* d, int lvl) { glTexSubImage2D(GL_TEXTURE_2D, lvl, xo, yo, w, h, GL_RGBA, GL_UNSIGNED_BYTE, d); } -void C4JRender::TextureSetParam(int p, int v) { +void GLRenderer::TextureSetParam(int p, int v) { glTexParameteri(GL_TEXTURE_2D, p, v); } @@ -1355,7 +1359,7 @@ static int stbLoad(unsigned char* data, int w, int h, D3DXIMAGE_INFO* info, *out = px; return 0; // Success } -int C4JRender::LoadTextureData(const char* fn, D3DXIMAGE_INFO* i, int** o) { +int GLRenderer::LoadTextureData(const char* fn, D3DXIMAGE_INFO* i, int** o) { int w, h, c; unsigned char* d = stbi_load(fn, &w, &h, &c, 4); if (!d) return -1; // Failure @@ -1363,7 +1367,7 @@ int C4JRender::LoadTextureData(const char* fn, D3DXIMAGE_INFO* i, int** o) { stbi_image_free(d); return hr; } -int C4JRender::LoadTextureData(uint8_t* pb, uint32_t nb, D3DXIMAGE_INFO* i, +int GLRenderer::LoadTextureData(uint8_t* pb, uint32_t nb, D3DXIMAGE_INFO* i, int** o) { int w, h, c; unsigned char* d = stbi_load_from_memory(pb, (int)nb, &w, &h, &c, 4); @@ -1374,7 +1378,7 @@ int C4JRender::LoadTextureData(uint8_t* pb, uint32_t nb, D3DXIMAGE_INFO* i, } // TODO: TO REMOVE SOON. -void C4JRender::UpdateGamma(unsigned short usGamma) { +void GLRenderer::UpdateGamma(unsigned short usGamma) { constexpr unsigned short GAMMA_MAX = 32768; s_rs.gamma = 0.5f + ((float)(usGamma) * (1.0f / GAMMA_MAX)); } @@ -1449,25 +1453,184 @@ void glGetQueryObjectu_4J_Helper(unsigned int id, unsigned int pname, extern "C" { void glFogfv(GLenum pname, const GLfloat* params) { if (pname == 0x0B66) - RenderManager.StateSetFogColour(params[0], params[1], params[2]); + PlatformRenderer.StateSetFogColour(params[0], params[1], params[2]); } void glLightfv(GLenum light, GLenum pname, const GLfloat* params) { if (pname == 0x1203) - RenderManager.StateSetLightDirection(light == 0x4000 ? 0 : 1, params[0], + PlatformRenderer.StateSetLightDirection(light == 0x4000 ? 0 : 1, params[0], params[1], params[2]); else if (pname == 0x1200) - RenderManager.StateSetLightAmbientColour(params[0], params[1], + PlatformRenderer.StateSetLightAmbientColour(params[0], params[1], params[2]); else if (pname == 0x1201) - RenderManager.StateSetLightColour(light == 0x4000 ? 0 : 1, params[0], + PlatformRenderer.StateSetLightColour(light == 0x4000 ? 0 : 1, params[0], params[1], params[2]); } void glLightModelfv(GLenum pname, const GLfloat* params) { if (pname == 0x0B53) - RenderManager.StateSetLightAmbientColour(params[0], params[1], + PlatformRenderer.StateSetLightAmbientColour(params[0], params[1], params[2]); } void glShadeModel(GLenum) {} void glColorMaterial(GLenum, GLenum) {} void glNormal3f(GLfloat, GLfloat, GLfloat) {} } + +// MARK: LinuxStubs + +#ifdef GLES +extern "C" { +extern void glClearDepthf(float depth); +void glClearDepth(double depth) { glClearDepthf((float)depth); } +void glTexGeni(unsigned int, unsigned int, int) {} +void glTexGenfv(unsigned int, unsigned int, const float*) {} +void glTexCoordPointer(int, unsigned int, int, const void*) {} +void glNormalPointer(unsigned int, int, const void*) {} +void glColorPointer(int, unsigned int, int, const void*) {} +void glVertexPointer(int, unsigned int, int, const void*) {} +void glEndList(void) {} +void glCallLists(int, unsigned int, const void*) {} +} +#endif + +inline int* getIntPtr(IntBuffer* buf) { + return buf ? (int*)buf->getBuffer() + buf->position() : nullptr; +} +inline void* getBytePtr(ByteBuffer* buf) { + return buf ? (char*)buf->getBuffer() + buf->position() : nullptr; +} + +void glGenTextures_4J(IntBuffer* buf) { + if (!buf) return; + int n = buf->limit() - buf->position(); + int* dst = getIntPtr(buf); + for (int i = 0; i < n; i++) dst[i] = PlatformRenderer.TextureCreate(); +} + +void glDeleteTextures_4J(IntBuffer* buf) { + if (!buf) return; + int n = buf->limit() - buf->position(); + int* src = getIntPtr(buf); + for (int i = 0; i < n; i++) PlatformRenderer.TextureFree(src[i]); +} + +void glTexImage2D_4J(int target, int level, int internalformat, int width, + int height, int border, int format, int type, + ByteBuffer* pixels) { + (void)target; + (void)internalformat; + (void)border; + (void)format; + (void)type; + PlatformRenderer.TextureData(width, height, getBytePtr(pixels), level, + IPlatformRenderer::TEXTURE_FORMAT_RxGyBzAw); +} + +void glLight_4J(int light, int pname, FloatBuffer* params) { + const float* p = params->_getDataPointer(); + int idx = (light == 0x4001) ? 1 : 0; + if (pname == 0x1203) + PlatformRenderer.StateSetLightDirection(idx, p[0], p[1], p[2]); + else if (pname == 0x1201) + PlatformRenderer.StateSetLightColour(idx, p[0], p[1], p[2]); + else if (pname == 0x1200) + PlatformRenderer.StateSetLightAmbientColour(p[0], p[1], p[2]); +} + +void glLightModel_4J(int pname, FloatBuffer* params) { + if (pname == 0x0B53) { + const float* p = params->_getDataPointer(); + PlatformRenderer.StateSetLightAmbientColour(p[0], p[1], p[2]); + } +} + +void glFog_4J(int pname, FloatBuffer* params) { + const float* p = params->_getDataPointer(); + if (pname == 0x0B66) PlatformRenderer.StateSetFogColour(p[0], p[1], p[2]); +} + +void glGetFloat_4J(int pname, FloatBuffer* params) { + const float* m = PlatformRenderer.MatrixGet(pname); + if (m) memcpy(params->_getDataPointer(), m, 16 * sizeof(float)); +} + +void glCallLists_4J(IntBuffer* lists) { + if (!lists) return; + int count = lists->limit() - lists->position(); + int* ids = getIntPtr(lists); + for (int i = 0; i < count; i++) PlatformRenderer.CBuffCall(ids[i], false); +} + +void glReadPixels_4J(int x, int y, int w, int h, int f, int t, ByteBuffer* p) { + (void)f; + (void)t; + PlatformRenderer.ReadPixels(x, y, w, h, getBytePtr(p)); +} + +// dead stubs +void glTexCoordPointer_4J(int, int, FloatBuffer*) {} +void glNormalPointer_4J(int, ByteBuffer*) {} +void glColorPointer_4J(int, bool, int, ByteBuffer*) {} +void glVertexPointer_4J(int, int, FloatBuffer*) {} +void glEndList_4J(int) {} +void glTexGen_4J(int, int, FloatBuffer*) {} + +#include +#include +#include + +static PFNGLGENQUERIESARBPROC _glGenQueriesARB = nullptr; +static PFNGLBEGINQUERYARBPROC _glBeginQueryARB = nullptr; +static PFNGLENDQUERYARBPROC _glEndQueryARB = nullptr; +static PFNGLGETQUERYOBJECTUIVARBPROC _glGetQueryObjectuivARB = nullptr; +static bool _queriesInitialized = false; + +static void initQueryFuncs() { + if (_queriesInitialized) return; + _queriesInitialized = true; + _glGenQueriesARB = + (PFNGLGENQUERIESARBPROC)dlsym(RTLD_DEFAULT, "glGenQueriesARB"); + _glBeginQueryARB = + (PFNGLBEGINQUERYARBPROC)dlsym(RTLD_DEFAULT, "glBeginQueryARB"); + _glEndQueryARB = (PFNGLENDQUERYARBPROC)dlsym(RTLD_DEFAULT, "glEndQueryARB"); + _glGetQueryObjectuivARB = (PFNGLGETQUERYOBJECTUIVARBPROC)dlsym( + RTLD_DEFAULT, "glGetQueryObjectuivARB"); +} + +void glGenQueriesARB_4J(IntBuffer* buf) { + initQueryFuncs(); + if (_glGenQueriesARB && buf) { + int n = buf->limit() - buf->position(); + if (n > 0) _glGenQueriesARB(n, (GLuint*)getIntPtr(buf)); + } +} + +void glBeginQueryARB_4J(int target, int id) { + initQueryFuncs(); + if (_glBeginQueryARB) _glBeginQueryARB((GLenum)target, (GLuint)id); +} + +void glEndQueryARB_4J(int target) { + initQueryFuncs(); + if (_glEndQueryARB) _glEndQueryARB((GLenum)target); +} + +void glGetQueryObjectuARB_4J(int id, int pname, IntBuffer* params) { + initQueryFuncs(); + if (_glGetQueryObjectuivARB && params) + // LWJGL does not change limits/positions during these calls, it + // reads/writes exactly at pointer!! + _glGetQueryObjectuivARB((GLuint)id, (GLenum)pname, + (GLuint*)getIntPtr(params)); +} +void glGetFloat(int pname, FloatBuffer* params) { + glGetFloat_4J(pname, params); +} +void LinuxGLLogLightmapState(const char* stage, int textureId, + bool scaleLight) { + static int logCount = 0; + if (logCount >= 16) return; + ++logCount; + fprintf(stderr, "[linux-lightmap] %s tex=%d scale=%d\n", stage, textureId, + scaleLight ? 1 : 0); +} \ No newline at end of file diff --git a/targets/platform/sdl2/Render.h b/targets/platform/renderer/gl/GLRenderer.h similarity index 86% rename from targets/platform/sdl2/Render.h rename to targets/platform/renderer/gl/GLRenderer.h index aeb67c263..d1ac862a4 100644 --- a/targets/platform/sdl2/Render.h +++ b/targets/platform/renderer/gl/GLRenderer.h @@ -8,9 +8,11 @@ #include #include -#include "../IPlatformRenderer.h" +#include "renderer/IPlatformRenderer.h" -class C4JRender : public IPlatformRenderer { +extern IPlatformRenderer& PlatformRenderer; + +class GLRenderer : public IPlatformRenderer { public: void Tick(); void UpdateGamma(unsigned short usGamma); @@ -151,8 +153,6 @@ public: void Shutdown(); }; -extern C4JRender RenderManager; - // OpenGL Interception Macros #ifndef GL_MODELVIEW_MATRIX #define GL_MODELVIEW_MATRIX 0x0BA6 @@ -388,17 +388,17 @@ extern C4JRender RenderManager; // glCallList / display list macros #undef glNewList -#define glNewList(_list, _mode) RenderManager.CBuffStart(_list) +#define glNewList(_list, _mode) PlatformRenderer.CBuffStart(_list) #undef glEndList -#define glEndList() RenderManager.CBuffEnd() +#define glEndList() PlatformRenderer.CBuffEnd() #undef glCallList -#define glCallList(_list) RenderManager.CBuffCall(_list) +#define glCallList(_list) PlatformRenderer.CBuffCall(_list) // glGenLists / glDeleteLists, lists are not supported in core!!!!! #undef glGenLists -#define glGenLists(range) RenderManager.CBuffCreate(range) +#define glGenLists(range) PlatformRenderer.CBuffCreate(range) #undef glDeleteLists -#define glDeleteLists(list, range) RenderManager.CBuffDelete(list, range) +#define glDeleteLists(list, range) PlatformRenderer.CBuffDelete(list, range) #ifndef GL_SHADEMODEL_IS_FUNCTION #undef glShadeModel @@ -410,97 +410,97 @@ extern C4JRender RenderManager; #undef glTranslatef #define glTranslatef(x, y, z) \ do { \ - RenderManager.MatrixTranslate(x, y, z); \ + PlatformRenderer.MatrixTranslate(x, y, z); \ } while (0) #undef glRotatef #define glRotatef(a, x, y, z) \ do { \ - RenderManager.MatrixRotate((a) * (3.14159265358979f / 180.f), x, y, \ + PlatformRenderer.MatrixRotate((a) * (3.14159265358979f / 180.f), x, y, \ z); \ } while (0) #undef glScalef #define glScalef(x, y, z) \ do { \ - RenderManager.MatrixScale(x, y, z); \ + PlatformRenderer.MatrixScale(x, y, z); \ } while (0) #undef glScaled #define glScaled(x, y, z) \ do { \ - RenderManager.MatrixScale((float)(x), (float)(y), (float)(z)); \ + PlatformRenderer.MatrixScale((float)(x), (float)(y), (float)(z)); \ } while (0) #undef glPushMatrix #define glPushMatrix() \ do { \ - RenderManager.MatrixPush(); \ + PlatformRenderer.MatrixPush(); \ } while (0) #undef glPopMatrix #define glPopMatrix() \ do { \ - RenderManager.MatrixPop(); \ + PlatformRenderer.MatrixPop(); \ } while (0) #undef glLoadIdentity #define glLoadIdentity() \ do { \ - RenderManager.MatrixSetIdentity(); \ + PlatformRenderer.MatrixSetIdentity(); \ } while (0) #undef glMatrixMode #define glMatrixMode(mode) \ do { \ - RenderManager.MatrixMode(mode); \ + PlatformRenderer.MatrixMode(mode); \ } while (0) #undef glMultMatrixf #define glMultMatrixf(m) \ do { \ - RenderManager.MatrixMult(m); \ + PlatformRenderer.MatrixMult(m); \ } while (0) #undef glColor4f #define glColor4f(r, g, b, a) \ do { \ - RenderManager.StateSetColour(r, g, b, a); \ + PlatformRenderer.StateSetColour(r, g, b, a); \ } while (0) #undef glColor3f #define glColor3f(r, g, b) \ do { \ - RenderManager.StateSetColour(r, g, b, 1.0f); \ + PlatformRenderer.StateSetColour(r, g, b, 1.0f); \ } while (0) #undef glAlphaFunc #define glAlphaFunc(func, ref) \ do { \ - RenderManager.StateSetAlphaFunc(func, ref); \ + PlatformRenderer.StateSetAlphaFunc(func, ref); \ } while (0) #undef glEnable #define glEnable(cap) \ do { \ if ((cap) == 0x0B60 /*GL_FOG*/) \ - RenderManager.StateSetFogEnable(true); \ + PlatformRenderer.StateSetFogEnable(true); \ else if ((cap) == 0x0B50 /*GL_LIGHTING*/) \ - RenderManager.StateSetLightingEnable(true); \ + PlatformRenderer.StateSetLightingEnable(true); \ else if ((cap) == 0x0BC0 /*GL_ALPHA_TEST*/) \ - RenderManager.StateSetAlphaTestEnable(true); \ + PlatformRenderer.StateSetAlphaTestEnable(true); \ else if ((cap) == 0x0DE1 /*GL_TEXTURE_2D*/) \ - RenderManager.StateSetTextureEnable(true); \ + PlatformRenderer.StateSetTextureEnable(true); \ else if ((cap) == 0x0BE2 /*GL_BLEND*/) \ - RenderManager.StateSetBlendEnable(true); \ + PlatformRenderer.StateSetBlendEnable(true); \ else if ((cap) == 0x0B44 /*GL_CULL_FACE*/) \ - RenderManager.StateSetFaceCull(true); \ + PlatformRenderer.StateSetFaceCull(true); \ else if ((cap) == 0x0B71 /*GL_DEPTH_TEST*/) \ - RenderManager.StateSetDepthTestEnable(true); \ + PlatformRenderer.StateSetDepthTestEnable(true); \ else if ((cap) == 0x4000 /*GL_LIGHT0*/) \ - RenderManager.StateSetLightEnable(0, true); \ + PlatformRenderer.StateSetLightEnable(0, true); \ else if ((cap) == 0x4001 /*GL_LIGHT1*/) \ - RenderManager.StateSetLightEnable(1, true); \ + PlatformRenderer.StateSetLightEnable(1, true); \ else if ((cap) == 0x0B57 /*GL_COLOR_MATERIAL*/ \ || (cap) == 0x0BA1 /*GL_NORMALIZE*/ \ || (cap) == 0x803A /*GL_RESCALE_NORMAL*/ \ @@ -516,23 +516,23 @@ extern C4JRender RenderManager; #define glDisable(cap) \ do { \ if ((cap) == 0x0B60 /*GL_FOG*/) \ - RenderManager.StateSetFogEnable(false); \ + PlatformRenderer.StateSetFogEnable(false); \ else if ((cap) == 0x0B50 /*GL_LIGHTING*/) \ - RenderManager.StateSetLightingEnable(false); \ + PlatformRenderer.StateSetLightingEnable(false); \ else if ((cap) == 0x0BC0 /*GL_ALPHA_TEST*/) \ - RenderManager.StateSetAlphaTestEnable(false); \ + PlatformRenderer.StateSetAlphaTestEnable(false); \ else if ((cap) == 0x0DE1 /*GL_TEXTURE_2D*/) \ - RenderManager.StateSetTextureEnable(false); \ + PlatformRenderer.StateSetTextureEnable(false); \ else if ((cap) == 0x0BE2 /*GL_BLEND*/) \ - RenderManager.StateSetBlendEnable(false); \ + PlatformRenderer.StateSetBlendEnable(false); \ else if ((cap) == 0x0B44 /*GL_CULL_FACE*/) \ - RenderManager.StateSetFaceCull(false); \ + PlatformRenderer.StateSetFaceCull(false); \ else if ((cap) == 0x0B71 /*GL_DEPTH_TEST*/) \ - RenderManager.StateSetDepthTestEnable(false); \ + PlatformRenderer.StateSetDepthTestEnable(false); \ else if ((cap) == 0x4000 /*GL_LIGHT0*/) \ - RenderManager.StateSetLightEnable(0, false); \ + PlatformRenderer.StateSetLightEnable(0, false); \ else if ((cap) == 0x4001 /*GL_LIGHT1*/) \ - RenderManager.StateSetLightEnable(1, false); \ + PlatformRenderer.StateSetLightEnable(1, false); \ else if ((cap) == 0x0B57 /*GL_COLOR_MATERIAL*/ \ || (cap) == 0x0BA1 /*GL_NORMALIZE*/ \ || (cap) == 0x803A /*GL_RESCALE_NORMAL*/ \ @@ -548,50 +548,44 @@ extern C4JRender RenderManager; #define glFogi(pname, param) \ do { \ if ((pname) == 0x0B65 /*GL_FOG_MODE*/) \ - RenderManager.StateSetFogMode(param); \ + PlatformRenderer.StateSetFogMode(param); \ } while (0) #undef glFogf #define glFogf(pname, param) \ do { \ if ((pname) == 0x0B63 /*GL_FOG_START*/) \ - RenderManager.StateSetFogNearDistance(param); \ + PlatformRenderer.StateSetFogNearDistance(param); \ else if ((pname) == 0x0B64 /*GL_FOG_END*/) \ - RenderManager.StateSetFogFarDistance(param); \ + PlatformRenderer.StateSetFogFarDistance(param); \ else if ((pname) == 0x0B62 /*GL_FOG_DENSITY*/) \ - RenderManager.StateSetFogDensity(param); \ + PlatformRenderer.StateSetFogDensity(param); \ } while (0) #undef glOrtho #define glOrtho(left, right, bottom, top, zNear, zFar) \ do { \ - RenderManager.MatrixOrthogonal(left, right, bottom, top, zNear, zFar); \ - } while (0) - -#undef gluPerspective -#define gluPerspective(fovy, aspect, zNear, zFar) \ - do { \ - RenderManager.MatrixPerspective(fovy, aspect, zNear, zFar); \ + PlatformRenderer.MatrixOrthogonal(left, right, bottom, top, zNear, zFar); \ } while (0) #undef glMultiTexCoord2f #define glMultiTexCoord2f(tex, u, v) \ do { \ if ((tex) == 0x84C1 /*GL_TEXTURE1*/) \ - RenderManager.StateSetVertexTextureUV(u, v); \ + PlatformRenderer.StateSetVertexTextureUV(u, v); \ } while (0) #undef glActiveTexture #define glActiveTexture(tex) \ do { \ - RenderManager.StateSetActiveTexture(tex); \ + PlatformRenderer.StateSetActiveTexture(tex); \ ::glActiveTexture(tex); \ } while (0) #undef glClientActiveTexture #define glClientActiveTexture(tex) \ do { \ - RenderManager.StateSetActiveTexture(tex); \ + PlatformRenderer.StateSetActiveTexture(tex); \ } while (0) // declarations @@ -644,7 +638,7 @@ inline void glCallLists_4J(T* lists) { int base = lists->position(); int count = lists->limit() - base; for (int i = 0; i < count; i++) { - RenderManager.CBuffCall(lists->get(base + i)); + PlatformRenderer.CBuffCall(lists->get(base + i)); } } template @@ -665,25 +659,25 @@ template inline void glFog_4J(int pname, T* params) { float* p = params->_getDataPointer(); if (pname == 0x0B66 /* GL_FOG_COLOR */) - RenderManager.StateSetFogColour(p[0], p[1], p[2]); + PlatformRenderer.StateSetFogColour(p[0], p[1], p[2]); } template inline void glLight_4J(int light, int pname, T* params) { float* p = params->_getDataPointer(); if (pname == 0x1203 /* GL_POSITION */) - RenderManager.StateSetLightDirection(light == 0x4000 ? 0 : 1, p[0], + PlatformRenderer.StateSetLightDirection(light == 0x4000 ? 0 : 1, p[0], p[1], p[2]); else if (pname == 0x1200 /* GL_AMBIENT */) - RenderManager.StateSetLightAmbientColour(p[0], p[1], p[2]); + PlatformRenderer.StateSetLightAmbientColour(p[0], p[1], p[2]); else if (pname == 0x1201 /* GL_DIFFUSE */) - RenderManager.StateSetLightColour(light == 0x4000 ? 0 : 1, p[0], p[1], + PlatformRenderer.StateSetLightColour(light == 0x4000 ? 0 : 1, p[0], p[1], p[2]); } template inline void glLightModel_4J(int pname, T* params) { float* p = params->_getDataPointer(); if (pname == 0x0B53 /* GL_LIGHT_MODEL_AMBIENT */) - RenderManager.StateSetLightAmbientColour(p[0], p[1], p[2]); + PlatformRenderer.StateSetLightAmbientColour(p[0], p[1], p[2]); } template inline void glTexGen_4J(int coord, int pname, T* params) {} @@ -709,6 +703,7 @@ void glEndQuery_4J_Helper(unsigned int target); void glGenQueries_4J_Helper(unsigned int* id); void glGetQueryObjectu_4J_Helper(unsigned int id, unsigned int pname, unsigned int* val); + // redirect the functions to my own implementation, no more 2.1 funcs #define glGenTextures(...) glGenTextures_4J(__VA_ARGS__) #define glDeleteTextures(...) glDeleteTextures_4J(__VA_ARGS__) diff --git a/targets/platform/sdl2/gl3_loader.h b/targets/platform/renderer/gl/gl3_loader.h similarity index 100% rename from targets/platform/sdl2/gl3_loader.h rename to targets/platform/renderer/gl/gl3_loader.h diff --git a/targets/platform/renderer/gl/render_stubs.cpp b/targets/platform/renderer/gl/render_stubs.cpp new file mode 100644 index 000000000..29d8c3d4f --- /dev/null +++ b/targets/platform/renderer/gl/render_stubs.cpp @@ -0,0 +1,44 @@ +#include "GLRenderer.h" + +// Command Buffers +void GLRenderer::CBuffLockStaticCreations() {} +int GLRenderer::CBuffSize(int) { return 0; } +void GLRenderer::CBuffTick() {} +void GLRenderer::CBuffDeferredModeStart() {} +void GLRenderer::CBuffDeferredModeEnd() {} + +// Render States +void GLRenderer::StateSetLightEnable(int, bool) {} +void GLRenderer::StateSetEnableViewportClipPlanes(bool) {} +void GLRenderer::StateSetForceLOD(int) {} +void GLRenderer::StateSetTexGenCol(int, float, float, float, float, bool) {} + +// Textures +void GLRenderer::TextureDynamicUpdateStart() {} +void GLRenderer::TextureDynamicUpdateEnd() {} +void GLRenderer::TextureGetStats() {} +void* GLRenderer::TextureGetTexture(int) { return nullptr; } + +int GLRenderer::SaveTextureData(const char*, D3DXIMAGE_INFO*, int*) { return 0; } +int GLRenderer::SaveTextureDataToMemory(void*, int, int*, int, int, int*) { + return 0; +} + +// Screen/Image Capturing +void GLRenderer::DoScreenGrabOnNextPresent() {} +void GLRenderer::CaptureThumbnail(ImageFileBuffer*) {} +void GLRenderer::CaptureScreen(ImageFileBuffer*, XSOCIAL_PREVIEWIMAGE*) {} + +// Conditional Rendering & Events +void GLRenderer::BeginConditionalSurvey(int) {} +void GLRenderer::EndConditionalSurvey() {} +void GLRenderer::BeginConditionalRendering(int) {} +void GLRenderer::EndConditionalRendering() {} +void GLRenderer::BeginEvent(const wchar_t*) {} +void GLRenderer::EndEvent() {} +void GLRenderer::Tick() {} + +// Lifecycle +void GLRenderer::Suspend() {} +bool GLRenderer::Suspended() { return false; } +void GLRenderer::Resume() {} \ No newline at end of file diff --git a/targets/platform/sdl2/shaders/fragment.frag b/targets/platform/renderer/gl/shaders/fragment.frag similarity index 100% rename from targets/platform/sdl2/shaders/fragment.frag rename to targets/platform/renderer/gl/shaders/fragment.frag diff --git a/targets/platform/sdl2/shaders/fragment_es.frag b/targets/platform/renderer/gl/shaders/fragment_es.frag similarity index 100% rename from targets/platform/sdl2/shaders/fragment_es.frag rename to targets/platform/renderer/gl/shaders/fragment_es.frag diff --git a/targets/platform/sdl2/shaders/vertex.vert b/targets/platform/renderer/gl/shaders/vertex.vert similarity index 100% rename from targets/platform/sdl2/shaders/vertex.vert rename to targets/platform/renderer/gl/shaders/vertex.vert diff --git a/targets/platform/sdl2/shaders/vertex_es.vert b/targets/platform/renderer/gl/shaders/vertex_es.vert similarity index 100% rename from targets/platform/sdl2/shaders/vertex_es.vert rename to targets/platform/renderer/gl/shaders/vertex_es.vert diff --git a/targets/platform/renderer/renderer.h b/targets/platform/renderer/renderer.h new file mode 100644 index 000000000..881bd56bd --- /dev/null +++ b/targets/platform/renderer/renderer.h @@ -0,0 +1,4 @@ +#include "IPlatformRenderer.h" +#include "./gl/GLRenderer.h" + +extern IPlatformRenderer& PlatformRenderer; diff --git a/targets/platform/sdl2/render_stubs.cpp b/targets/platform/sdl2/render_stubs.cpp deleted file mode 100644 index 4f5619017..000000000 --- a/targets/platform/sdl2/render_stubs.cpp +++ /dev/null @@ -1,44 +0,0 @@ -#include "Render.h" - -// Command Buffers -void C4JRender::CBuffLockStaticCreations() {} -int C4JRender::CBuffSize(int) { return 0; } -void C4JRender::CBuffTick() {} -void C4JRender::CBuffDeferredModeStart() {} -void C4JRender::CBuffDeferredModeEnd() {} - -// Render States -void C4JRender::StateSetLightEnable(int, bool) {} -void C4JRender::StateSetEnableViewportClipPlanes(bool) {} -void C4JRender::StateSetForceLOD(int) {} -void C4JRender::StateSetTexGenCol(int, float, float, float, float, bool) {} - -// Textures -void C4JRender::TextureDynamicUpdateStart() {} -void C4JRender::TextureDynamicUpdateEnd() {} -void C4JRender::TextureGetStats() {} -void* C4JRender::TextureGetTexture(int) { return nullptr; } - -int C4JRender::SaveTextureData(const char*, D3DXIMAGE_INFO*, int*) { return 0; } -int C4JRender::SaveTextureDataToMemory(void*, int, int*, int, int, int*) { - return 0; -} - -// Screen/Image Capturing -void C4JRender::DoScreenGrabOnNextPresent() {} -void C4JRender::CaptureThumbnail(ImageFileBuffer*) {} -void C4JRender::CaptureScreen(ImageFileBuffer*, XSOCIAL_PREVIEWIMAGE*) {} - -// Conditional Rendering & Events -void C4JRender::BeginConditionalSurvey(int) {} -void C4JRender::EndConditionalSurvey() {} -void C4JRender::BeginConditionalRendering(int) {} -void C4JRender::EndConditionalRendering() {} -void C4JRender::BeginEvent(const wchar_t*) {} -void C4JRender::EndEvent() {} -void C4JRender::Tick() {} - -// Lifecycle -void C4JRender::Suspend() {} -bool C4JRender::Suspended() { return false; } -void C4JRender::Resume() {} \ No newline at end of file diff --git a/targets/platform/storage/stub/StubStorage.h b/targets/platform/storage/stub/StubStorage.h index e654c377c..f2c3c2797 100644 --- a/targets/platform/storage/stub/StubStorage.h +++ b/targets/platform/storage/stub/StubStorage.h @@ -7,7 +7,7 @@ #include // #include -#include "../PlatformTypes.h" +#include "PlatformTypes.h" #include "../IPlatformStorage.h" class C4JStringTable;