From c29d871fc9ed397b7219d4e249d72bd4703d661f Mon Sep 17 00:00:00 2001 From: MatthewBeshay <92357869+MatthewBeshay@users.noreply.github.com> Date: Wed, 8 Apr 2026 20:16:28 +1000 Subject: [PATCH] refactor: split GLRenderer so the class is not tangled with GL macros --- targets/minecraft/client/Lighting.cpp | 1 + targets/minecraft/client/MemoryTracker.cpp | 1 + targets/minecraft/client/Minecraft.cpp | 1 + targets/minecraft/client/gui/Button.cpp | 1 + targets/minecraft/client/gui/DeathScreen.cpp | 1 + targets/minecraft/client/gui/Font.cpp | 1 + targets/minecraft/client/gui/Gui.cpp | 1 + targets/minecraft/client/gui/GuiComponent.cpp | 1 + targets/minecraft/client/gui/Minimap.cpp | 1 + targets/minecraft/client/gui/SlideButton.cpp | 1 + .../client/gui/TradeSwitchButton.cpp | 1 + .../gui/achievement/AchievementPopup.cpp | 1 + .../gui/inventory/AbstractBeaconButton.cpp | 1 + .../client/gui/inventory/BeaconScreen.cpp | 1 + .../gui/inventory/BrewingStandScreen.cpp | 1 + .../client/gui/inventory/ContainerScreen.cpp | 1 + .../client/gui/inventory/CraftingScreen.cpp | 1 + .../gui/inventory/EnchantmentScreen.cpp | 1 + .../client/gui/inventory/FurnaceScreen.cpp | 1 + .../client/gui/inventory/HopperScreen.cpp | 1 + .../gui/inventory/HorseInventoryScreen.cpp | 1 + .../client/gui/inventory/InventoryScreen.cpp | 1 + .../client/gui/inventory/MerchantScreen.cpp | 1 + .../client/gui/inventory/RepairScreen.cpp | 1 + targets/minecraft/client/model/ChestModel.cpp | 1 + .../minecraft/client/model/ChickenModel.cpp | 1 + targets/minecraft/client/model/GhastModel.cpp | 1 + .../minecraft/client/model/HumanoidModel.cpp | 1 + targets/minecraft/client/model/ModelHorse.cpp | 1 + .../minecraft/client/model/OcelotModel.cpp | 1 + .../minecraft/client/model/QuadrupedModel.cpp | 1 + targets/minecraft/client/model/WolfModel.cpp | 1 + .../client/model/dragon/DragonModel.cpp | 1 + .../client/model/dragon/EnderCrystalModel.cpp | 1 + .../minecraft/client/model/geom/ModelPart.cpp | 1 + .../client/particle/FootstepParticle.cpp | 1 + .../client/particle/HugeExplosionParticle.cpp | 1 + .../client/particle/ParticleEngine.cpp | 1 + .../client/particle/TakeAnimationParticle.cpp | 1 + targets/minecraft/client/renderer/Chunk.cpp | 1 + .../client/renderer/ItemInHandRenderer.cpp | 1 + .../client/renderer/LevelRenderer.cpp | 1 + .../client/renderer/OffsettedRenderList.cpp | 1 + .../minecraft/client/renderer/Textures.cpp | 1 + .../client/renderer/TileRenderer.cpp | 1 + .../client/renderer/culling/Frustum.cpp | 1 + .../client/renderer/entity/ArrowRenderer.cpp | 1 + .../client/renderer/entity/BatRenderer.cpp | 1 + .../client/renderer/entity/BoatRenderer.cpp | 1 + .../renderer/entity/CaveSpiderRenderer.cpp | 1 + .../renderer/entity/CreeperRenderer.cpp | 1 + .../renderer/entity/DefaultRenderer.cpp | 1 + .../renderer/entity/EnderCrystalRenderer.cpp | 1 + .../renderer/entity/EnderDragonRenderer.cpp | 1 + .../renderer/entity/EndermanRenderer.cpp | 1 + .../entity/EntityRenderDispatcher.cpp | 1 + .../client/renderer/entity/EntityRenderer.cpp | 1 + .../renderer/entity/ExperienceOrbRenderer.cpp | 1 + .../renderer/entity/FallingTileRenderer.cpp | 1 + .../renderer/entity/FireballRenderer.cpp | 1 + .../renderer/entity/FishingHookRenderer.cpp | 1 + .../client/renderer/entity/GhastRenderer.cpp | 1 + .../renderer/entity/GiantMobRenderer.cpp | 1 + .../client/renderer/entity/HorseRenderer.cpp | 1 + .../renderer/entity/HumanoidMobRenderer.cpp | 1 + .../renderer/entity/ItemFrameRenderer.cpp | 1 + .../client/renderer/entity/ItemRenderer.cpp | 1 + .../renderer/entity/ItemSpriteRenderer.cpp | 1 + .../renderer/entity/LavaSlimeRenderer.cpp | 1 + .../renderer/entity/LeashKnotRenderer.cpp | 1 + .../renderer/entity/LightningBoltRenderer.cpp | 1 + .../renderer/entity/LivingEntityRenderer.cpp | 1 + .../renderer/entity/MinecartRenderer.cpp | 1 + .../client/renderer/entity/MobRenderer.cpp | 1 + .../renderer/entity/MushroomCowRenderer.cpp | 1 + .../client/renderer/entity/OcelotRenderer.cpp | 1 + .../renderer/entity/PaintingRenderer.cpp | 1 + .../client/renderer/entity/PlayerRenderer.cpp | 1 + .../client/renderer/entity/SheepRenderer.cpp | 1 + .../renderer/entity/SkeletonRenderer.cpp | 1 + .../client/renderer/entity/SlimeRenderer.cpp | 1 + .../renderer/entity/SnowManRenderer.cpp | 1 + .../client/renderer/entity/SpiderRenderer.cpp | 1 + .../client/renderer/entity/SquidRenderer.cpp | 1 + .../renderer/entity/TntMinecartRenderer.cpp | 1 + .../client/renderer/entity/TntRenderer.cpp | 1 + .../renderer/entity/VillagerGolemRenderer.cpp | 1 + .../renderer/entity/VillagerRenderer.cpp | 1 + .../client/renderer/entity/WitchRenderer.cpp | 1 + .../renderer/entity/WitherBossRenderer.cpp | 1 + .../renderer/entity/WitherSkullRenderer.cpp | 1 + .../client/renderer/entity/WolfRenderer.cpp | 1 + .../client/renderer/texture/Texture.cpp | 1 + .../client/renderer/texture/Texture.h | 1 + .../renderer/tileentity/BeaconRenderer.cpp | 1 + .../renderer/tileentity/ChestRenderer.cpp | 1 + .../tileentity/EnchantTableRenderer.cpp | 1 + .../tileentity/EnderChestRenderer.cpp | 1 + .../tileentity/MobSpawnerRenderer.cpp | 1 + .../tileentity/PistonPieceRenderer.cpp | 1 + .../renderer/tileentity/SignRenderer.cpp | 1 + .../renderer/tileentity/SkullTileRenderer.cpp | 1 + .../tileentity/TheEndPortalRenderer.cpp | 1 + .../tileentity/TileEntityRenderDispatcher.cpp | 1 + .../client/skins/AbstractTexturePack.cpp | 1 + .../minecraft/client/title/TitleScreen.cpp | 1 + targets/platform/renderer/gl/GLRenderer.h | 568 ----------------- targets/platform/renderer/gl/gl_compat.h | 595 ++++++++++++++++++ targets/platform/renderer/renderer.h | 10 +- targets/platform/stubs.h | 1 + 110 files changed, 710 insertions(+), 570 deletions(-) create mode 100644 targets/platform/renderer/gl/gl_compat.h diff --git a/targets/minecraft/client/Lighting.cpp b/targets/minecraft/client/Lighting.cpp index e2a03d56f..ef9e1087a 100644 --- a/targets/minecraft/client/Lighting.cpp +++ b/targets/minecraft/client/Lighting.cpp @@ -1,4 +1,5 @@ #include "Lighting.h" +#include "platform/stubs.h" diff --git a/targets/minecraft/client/MemoryTracker.cpp b/targets/minecraft/client/MemoryTracker.cpp index f8830d3c3..7e60bbbe9 100644 --- a/targets/minecraft/client/MemoryTracker.cpp +++ b/targets/minecraft/client/MemoryTracker.cpp @@ -1,4 +1,5 @@ #include "MemoryTracker.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/Minecraft.cpp b/targets/minecraft/client/Minecraft.cpp index 519234943..309bcf5f3 100644 --- a/targets/minecraft/client/Minecraft.cpp +++ b/targets/minecraft/client/Minecraft.cpp @@ -1,4 +1,5 @@ #include "Minecraft.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/gui/Button.cpp b/targets/minecraft/client/gui/Button.cpp index f2ea78386..1d0cc9458 100644 --- a/targets/minecraft/client/gui/Button.cpp +++ b/targets/minecraft/client/gui/Button.cpp @@ -1,4 +1,5 @@ #include "Button.h" +#include "platform/stubs.h" #include "platform/renderer/renderer.h" #include "minecraft/client/Minecraft.h" diff --git a/targets/minecraft/client/gui/DeathScreen.cpp b/targets/minecraft/client/gui/DeathScreen.cpp index 723d88fd9..04df42ce8 100644 --- a/targets/minecraft/client/gui/DeathScreen.cpp +++ b/targets/minecraft/client/gui/DeathScreen.cpp @@ -1,4 +1,5 @@ #include "DeathScreen.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/gui/Font.cpp b/targets/minecraft/client/gui/Font.cpp index bc2b164ba..c8fef7dc9 100644 --- a/targets/minecraft/client/gui/Font.cpp +++ b/targets/minecraft/client/gui/Font.cpp @@ -1,4 +1,5 @@ #include "Font.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/gui/Gui.cpp b/targets/minecraft/client/gui/Gui.cpp index b650252ba..2ae6d830e 100644 --- a/targets/minecraft/client/gui/Gui.cpp +++ b/targets/minecraft/client/gui/Gui.cpp @@ -1,4 +1,5 @@ #include "minecraft/IGameServices.h" +#include "platform/stubs.h" #include "Gui.h" #include diff --git a/targets/minecraft/client/gui/GuiComponent.cpp b/targets/minecraft/client/gui/GuiComponent.cpp index 11b209f2c..839fbb660 100644 --- a/targets/minecraft/client/gui/GuiComponent.cpp +++ b/targets/minecraft/client/gui/GuiComponent.cpp @@ -1,4 +1,5 @@ #include "GuiComponent.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/gui/Minimap.cpp b/targets/minecraft/client/gui/Minimap.cpp index b245410e7..d649343f8 100644 --- a/targets/minecraft/client/gui/Minimap.cpp +++ b/targets/minecraft/client/gui/Minimap.cpp @@ -1,4 +1,5 @@ #include "Minimap.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/gui/SlideButton.cpp b/targets/minecraft/client/gui/SlideButton.cpp index d617e1bef..4b908415c 100644 --- a/targets/minecraft/client/gui/SlideButton.cpp +++ b/targets/minecraft/client/gui/SlideButton.cpp @@ -1,4 +1,5 @@ #include "SlideButton.h" +#include "platform/stubs.h" #include "platform/renderer/renderer.h" #include "minecraft/client/Minecraft.h" diff --git a/targets/minecraft/client/gui/TradeSwitchButton.cpp b/targets/minecraft/client/gui/TradeSwitchButton.cpp index ee0063317..dc0ecd691 100644 --- a/targets/minecraft/client/gui/TradeSwitchButton.cpp +++ b/targets/minecraft/client/gui/TradeSwitchButton.cpp @@ -1,4 +1,5 @@ #include "TradeSwitchButton.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/gui/achievement/AchievementPopup.cpp b/targets/minecraft/client/gui/achievement/AchievementPopup.cpp index 1830e3a22..cb77e9436 100644 --- a/targets/minecraft/client/gui/achievement/AchievementPopup.cpp +++ b/targets/minecraft/client/gui/achievement/AchievementPopup.cpp @@ -1,4 +1,5 @@ #include "AchievementPopup.h" +#include "platform/stubs.h" diff --git a/targets/minecraft/client/gui/inventory/AbstractBeaconButton.cpp b/targets/minecraft/client/gui/inventory/AbstractBeaconButton.cpp index b862f511c..74e622032 100644 --- a/targets/minecraft/client/gui/inventory/AbstractBeaconButton.cpp +++ b/targets/minecraft/client/gui/inventory/AbstractBeaconButton.cpp @@ -1,4 +1,5 @@ #include "AbstractBeaconButton.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/gui/inventory/BeaconScreen.cpp b/targets/minecraft/client/gui/inventory/BeaconScreen.cpp index 07bfa39aa..1b487a04b 100644 --- a/targets/minecraft/client/gui/inventory/BeaconScreen.cpp +++ b/targets/minecraft/client/gui/inventory/BeaconScreen.cpp @@ -1,4 +1,5 @@ #include "BeaconScreen.h" +#include "platform/stubs.h" diff --git a/targets/minecraft/client/gui/inventory/BrewingStandScreen.cpp b/targets/minecraft/client/gui/inventory/BrewingStandScreen.cpp index 49f4b940b..0c7cf7a0a 100644 --- a/targets/minecraft/client/gui/inventory/BrewingStandScreen.cpp +++ b/targets/minecraft/client/gui/inventory/BrewingStandScreen.cpp @@ -1,4 +1,5 @@ #include "BrewingStandScreen.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/gui/inventory/ContainerScreen.cpp b/targets/minecraft/client/gui/inventory/ContainerScreen.cpp index 87d7d5cbf..ae91c2dcd 100644 --- a/targets/minecraft/client/gui/inventory/ContainerScreen.cpp +++ b/targets/minecraft/client/gui/inventory/ContainerScreen.cpp @@ -1,4 +1,5 @@ #include "ContainerScreen.h" +#include "platform/stubs.h" #include "minecraft/client/gui/inventory/AbstractContainerScreen.h" #include "minecraft/client/Minecraft.h" diff --git a/targets/minecraft/client/gui/inventory/CraftingScreen.cpp b/targets/minecraft/client/gui/inventory/CraftingScreen.cpp index 49e40f26e..a6bcbf21e 100644 --- a/targets/minecraft/client/gui/inventory/CraftingScreen.cpp +++ b/targets/minecraft/client/gui/inventory/CraftingScreen.cpp @@ -1,4 +1,5 @@ #include "CraftingScreen.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/gui/inventory/EnchantmentScreen.cpp b/targets/minecraft/client/gui/inventory/EnchantmentScreen.cpp index 13b01596e..24b817438 100644 --- a/targets/minecraft/client/gui/inventory/EnchantmentScreen.cpp +++ b/targets/minecraft/client/gui/inventory/EnchantmentScreen.cpp @@ -1,4 +1,5 @@ #include "EnchantmentScreen.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/gui/inventory/FurnaceScreen.cpp b/targets/minecraft/client/gui/inventory/FurnaceScreen.cpp index a1823b4c5..06cbfe66f 100644 --- a/targets/minecraft/client/gui/inventory/FurnaceScreen.cpp +++ b/targets/minecraft/client/gui/inventory/FurnaceScreen.cpp @@ -1,4 +1,5 @@ #include "FurnaceScreen.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/gui/inventory/HopperScreen.cpp b/targets/minecraft/client/gui/inventory/HopperScreen.cpp index fb3f5611e..cb5708a3a 100644 --- a/targets/minecraft/client/gui/inventory/HopperScreen.cpp +++ b/targets/minecraft/client/gui/inventory/HopperScreen.cpp @@ -1,4 +1,5 @@ #include "HopperScreen.h" +#include "platform/stubs.h" #include "minecraft/client/gui/Font.h" #include "minecraft/client/gui/inventory/AbstractContainerScreen.h" diff --git a/targets/minecraft/client/gui/inventory/HorseInventoryScreen.cpp b/targets/minecraft/client/gui/inventory/HorseInventoryScreen.cpp index 0ff98dac2..7ebd3f8d9 100644 --- a/targets/minecraft/client/gui/inventory/HorseInventoryScreen.cpp +++ b/targets/minecraft/client/gui/inventory/HorseInventoryScreen.cpp @@ -1,4 +1,5 @@ #include "HorseInventoryScreen.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/gui/inventory/InventoryScreen.cpp b/targets/minecraft/client/gui/inventory/InventoryScreen.cpp index f31715916..db178dc35 100644 --- a/targets/minecraft/client/gui/inventory/InventoryScreen.cpp +++ b/targets/minecraft/client/gui/inventory/InventoryScreen.cpp @@ -1,4 +1,5 @@ #include "InventoryScreen.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/gui/inventory/MerchantScreen.cpp b/targets/minecraft/client/gui/inventory/MerchantScreen.cpp index d7e7a540d..7a832e609 100644 --- a/targets/minecraft/client/gui/inventory/MerchantScreen.cpp +++ b/targets/minecraft/client/gui/inventory/MerchantScreen.cpp @@ -1,4 +1,5 @@ #include "MerchantScreen.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/gui/inventory/RepairScreen.cpp b/targets/minecraft/client/gui/inventory/RepairScreen.cpp index 67e1cb606..ae6122887 100644 --- a/targets/minecraft/client/gui/inventory/RepairScreen.cpp +++ b/targets/minecraft/client/gui/inventory/RepairScreen.cpp @@ -1,4 +1,5 @@ #include "RepairScreen.h" +#include "platform/stubs.h" diff --git a/targets/minecraft/client/model/ChestModel.cpp b/targets/minecraft/client/model/ChestModel.cpp index 80f849e8e..baf79cd93 100644 --- a/targets/minecraft/client/model/ChestModel.cpp +++ b/targets/minecraft/client/model/ChestModel.cpp @@ -1,4 +1,5 @@ #include "ChestModel.h" +#include "platform/stubs.h" #include "platform/renderer/renderer.h" #include "minecraft/client/model/geom/ModelPart.h" diff --git a/targets/minecraft/client/model/ChickenModel.cpp b/targets/minecraft/client/model/ChickenModel.cpp index 6604567ef..9f55a298c 100644 --- a/targets/minecraft/client/model/ChickenModel.cpp +++ b/targets/minecraft/client/model/ChickenModel.cpp @@ -1,4 +1,5 @@ #include "ChickenModel.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/model/GhastModel.cpp b/targets/minecraft/client/model/GhastModel.cpp index 676797e77..49c79f342 100644 --- a/targets/minecraft/client/model/GhastModel.cpp +++ b/targets/minecraft/client/model/GhastModel.cpp @@ -1,4 +1,5 @@ #include "GhastModel.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/model/HumanoidModel.cpp b/targets/minecraft/client/model/HumanoidModel.cpp index cf451287d..aa232c760 100644 --- a/targets/minecraft/client/model/HumanoidModel.cpp +++ b/targets/minecraft/client/model/HumanoidModel.cpp @@ -1,4 +1,5 @@ #include "minecraft/util/Log.h" +#include "platform/stubs.h" #include "HumanoidModel.h" #include diff --git a/targets/minecraft/client/model/ModelHorse.cpp b/targets/minecraft/client/model/ModelHorse.cpp index 43c598547..0f1ade837 100644 --- a/targets/minecraft/client/model/ModelHorse.cpp +++ b/targets/minecraft/client/model/ModelHorse.cpp @@ -1,4 +1,5 @@ #include "ModelHorse.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/model/OcelotModel.cpp b/targets/minecraft/client/model/OcelotModel.cpp index 088d8d1a1..1b0d29a06 100644 --- a/targets/minecraft/client/model/OcelotModel.cpp +++ b/targets/minecraft/client/model/OcelotModel.cpp @@ -1,4 +1,5 @@ #include "OcelotModel.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/model/QuadrupedModel.cpp b/targets/minecraft/client/model/QuadrupedModel.cpp index 5fc29c030..1c98b7f2e 100644 --- a/targets/minecraft/client/model/QuadrupedModel.cpp +++ b/targets/minecraft/client/model/QuadrupedModel.cpp @@ -1,4 +1,5 @@ #include "QuadrupedModel.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/model/WolfModel.cpp b/targets/minecraft/client/model/WolfModel.cpp index f9b86fee1..b1f345c0b 100644 --- a/targets/minecraft/client/model/WolfModel.cpp +++ b/targets/minecraft/client/model/WolfModel.cpp @@ -1,4 +1,5 @@ #include "WolfModel.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/model/dragon/DragonModel.cpp b/targets/minecraft/client/model/dragon/DragonModel.cpp index 69aeb7c5c..9f64413fd 100644 --- a/targets/minecraft/client/model/dragon/DragonModel.cpp +++ b/targets/minecraft/client/model/dragon/DragonModel.cpp @@ -1,4 +1,5 @@ #include "DragonModel.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/model/dragon/EnderCrystalModel.cpp b/targets/minecraft/client/model/dragon/EnderCrystalModel.cpp index f84bac143..590cd0f8a 100644 --- a/targets/minecraft/client/model/dragon/EnderCrystalModel.cpp +++ b/targets/minecraft/client/model/dragon/EnderCrystalModel.cpp @@ -1,4 +1,5 @@ #include "EnderCrystalModel.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/model/geom/ModelPart.cpp b/targets/minecraft/client/model/geom/ModelPart.cpp index 2f003f8f0..f49fa93cc 100644 --- a/targets/minecraft/client/model/geom/ModelPart.cpp +++ b/targets/minecraft/client/model/geom/ModelPart.cpp @@ -1,4 +1,5 @@ #include "ModelPart.h" +#include "platform/stubs.h" diff --git a/targets/minecraft/client/particle/FootstepParticle.cpp b/targets/minecraft/client/particle/FootstepParticle.cpp index fb35d73a9..96dbee555 100644 --- a/targets/minecraft/client/particle/FootstepParticle.cpp +++ b/targets/minecraft/client/particle/FootstepParticle.cpp @@ -1,4 +1,5 @@ #include "FootstepParticle.h" +#include "platform/stubs.h" diff --git a/targets/minecraft/client/particle/HugeExplosionParticle.cpp b/targets/minecraft/client/particle/HugeExplosionParticle.cpp index 81eab7ac6..6cf2e188f 100644 --- a/targets/minecraft/client/particle/HugeExplosionParticle.cpp +++ b/targets/minecraft/client/particle/HugeExplosionParticle.cpp @@ -1,4 +1,5 @@ #include "HugeExplosionParticle.h" +#include "platform/stubs.h" diff --git a/targets/minecraft/client/particle/ParticleEngine.cpp b/targets/minecraft/client/particle/ParticleEngine.cpp index 7267e750f..9e38bdf6c 100644 --- a/targets/minecraft/client/particle/ParticleEngine.cpp +++ b/targets/minecraft/client/particle/ParticleEngine.cpp @@ -1,4 +1,5 @@ #include "ParticleEngine.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/particle/TakeAnimationParticle.cpp b/targets/minecraft/client/particle/TakeAnimationParticle.cpp index c71e150e4..5994d3da7 100644 --- a/targets/minecraft/client/particle/TakeAnimationParticle.cpp +++ b/targets/minecraft/client/particle/TakeAnimationParticle.cpp @@ -1,4 +1,5 @@ #include "TakeAnimationParticle.h" +#include "platform/stubs.h" diff --git a/targets/minecraft/client/renderer/Chunk.cpp b/targets/minecraft/client/renderer/Chunk.cpp index b3c305f62..0c42015ce 100644 --- a/targets/minecraft/client/renderer/Chunk.cpp +++ b/targets/minecraft/client/renderer/Chunk.cpp @@ -1,4 +1,5 @@ #include "Chunk.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/ItemInHandRenderer.cpp b/targets/minecraft/client/renderer/ItemInHandRenderer.cpp index fe85738aa..6ed11dc66 100644 --- a/targets/minecraft/client/renderer/ItemInHandRenderer.cpp +++ b/targets/minecraft/client/renderer/ItemInHandRenderer.cpp @@ -1,4 +1,5 @@ #include "minecraft/IGameServices.h" +#include "platform/stubs.h" #include "minecraft/util/Log.h" #include "ItemInHandRenderer.h" diff --git a/targets/minecraft/client/renderer/LevelRenderer.cpp b/targets/minecraft/client/renderer/LevelRenderer.cpp index c855edc15..018a07052 100644 --- a/targets/minecraft/client/renderer/LevelRenderer.cpp +++ b/targets/minecraft/client/renderer/LevelRenderer.cpp @@ -1,4 +1,5 @@ #include "minecraft/IGameServices.h" +#include "platform/stubs.h" #include "minecraft/util/Log.h" #include "LevelRenderer.h" diff --git a/targets/minecraft/client/renderer/OffsettedRenderList.cpp b/targets/minecraft/client/renderer/OffsettedRenderList.cpp index 58e57e81f..34d1d1123 100644 --- a/targets/minecraft/client/renderer/OffsettedRenderList.cpp +++ b/targets/minecraft/client/renderer/OffsettedRenderList.cpp @@ -1,4 +1,5 @@ #include "OffsettedRenderList.h" +#include "platform/stubs.h" #include "platform/renderer/renderer.h" #include "java/IntBuffer.h" diff --git a/targets/minecraft/client/renderer/Textures.cpp b/targets/minecraft/client/renderer/Textures.cpp index 6ae27ca29..eae1272b5 100644 --- a/targets/minecraft/client/renderer/Textures.cpp +++ b/targets/minecraft/client/renderer/Textures.cpp @@ -1,4 +1,5 @@ #include "minecraft/IGameServices.h" +#include "platform/stubs.h" #include "Textures.h" #include diff --git a/targets/minecraft/client/renderer/TileRenderer.cpp b/targets/minecraft/client/renderer/TileRenderer.cpp index 273e79d90..79beb927d 100644 --- a/targets/minecraft/client/renderer/TileRenderer.cpp +++ b/targets/minecraft/client/renderer/TileRenderer.cpp @@ -1,4 +1,5 @@ #include "TileRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/culling/Frustum.cpp b/targets/minecraft/client/renderer/culling/Frustum.cpp index 203d20404..a11bee30e 100644 --- a/targets/minecraft/client/renderer/culling/Frustum.cpp +++ b/targets/minecraft/client/renderer/culling/Frustum.cpp @@ -7,6 +7,7 @@ #include #include "platform/renderer/renderer.h" +#include "platform/stubs.h" #include "java/FloatBuffer.h" #include "minecraft/client/MemoryTracker.h" diff --git a/targets/minecraft/client/renderer/entity/ArrowRenderer.cpp b/targets/minecraft/client/renderer/entity/ArrowRenderer.cpp index 123b26bc5..077a08160 100644 --- a/targets/minecraft/client/renderer/entity/ArrowRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/ArrowRenderer.cpp @@ -1,4 +1,5 @@ #include "ArrowRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/BatRenderer.cpp b/targets/minecraft/client/renderer/entity/BatRenderer.cpp index 9e24748ae..dc8239f17 100644 --- a/targets/minecraft/client/renderer/entity/BatRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/BatRenderer.cpp @@ -1,4 +1,5 @@ #include "BatRenderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/entity/BoatRenderer.cpp b/targets/minecraft/client/renderer/entity/BoatRenderer.cpp index a49cfdc8f..9b349bbbc 100644 --- a/targets/minecraft/client/renderer/entity/BoatRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/BoatRenderer.cpp @@ -1,4 +1,5 @@ #include "BoatRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/CaveSpiderRenderer.cpp b/targets/minecraft/client/renderer/entity/CaveSpiderRenderer.cpp index 7f1849475..ed36551be 100644 --- a/targets/minecraft/client/renderer/entity/CaveSpiderRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/CaveSpiderRenderer.cpp @@ -1,4 +1,5 @@ #include "CaveSpiderRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/CreeperRenderer.cpp b/targets/minecraft/client/renderer/entity/CreeperRenderer.cpp index bc98542cc..e400f5ed5 100644 --- a/targets/minecraft/client/renderer/entity/CreeperRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/CreeperRenderer.cpp @@ -1,4 +1,5 @@ #include "CreeperRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/DefaultRenderer.cpp b/targets/minecraft/client/renderer/entity/DefaultRenderer.cpp index 2c7555fa1..b3288523e 100644 --- a/targets/minecraft/client/renderer/entity/DefaultRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/DefaultRenderer.cpp @@ -1,4 +1,5 @@ #include "DefaultRenderer.h" +#include "platform/stubs.h" #include "platform/renderer/renderer.h" diff --git a/targets/minecraft/client/renderer/entity/EnderCrystalRenderer.cpp b/targets/minecraft/client/renderer/entity/EnderCrystalRenderer.cpp index 9cf89cbdc..505f567fe 100644 --- a/targets/minecraft/client/renderer/entity/EnderCrystalRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/EnderCrystalRenderer.cpp @@ -1,4 +1,5 @@ #include "EnderCrystalRenderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/entity/EnderDragonRenderer.cpp b/targets/minecraft/client/renderer/entity/EnderDragonRenderer.cpp index 24a68f593..f6e9fac21 100644 --- a/targets/minecraft/client/renderer/entity/EnderDragonRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/EnderDragonRenderer.cpp @@ -1,4 +1,5 @@ #include "EnderDragonRenderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/entity/EndermanRenderer.cpp b/targets/minecraft/client/renderer/entity/EndermanRenderer.cpp index d62cc154a..2edc80ee5 100644 --- a/targets/minecraft/client/renderer/entity/EndermanRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/EndermanRenderer.cpp @@ -1,4 +1,5 @@ #include "EndermanRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/EntityRenderDispatcher.cpp b/targets/minecraft/client/renderer/entity/EntityRenderDispatcher.cpp index 762582729..bcd40fb6c 100644 --- a/targets/minecraft/client/renderer/entity/EntityRenderDispatcher.cpp +++ b/targets/minecraft/client/renderer/entity/EntityRenderDispatcher.cpp @@ -1,4 +1,5 @@ #include "minecraft/util/Log.h" +#include "platform/stubs.h" #include "EntityRenderDispatcher.h" #include diff --git a/targets/minecraft/client/renderer/entity/EntityRenderer.cpp b/targets/minecraft/client/renderer/entity/EntityRenderer.cpp index 02b24d18f..33ea6f2e3 100644 --- a/targets/minecraft/client/renderer/entity/EntityRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/EntityRenderer.cpp @@ -1,4 +1,5 @@ #include "EntityRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/ExperienceOrbRenderer.cpp b/targets/minecraft/client/renderer/entity/ExperienceOrbRenderer.cpp index b08b3cdeb..541c10325 100644 --- a/targets/minecraft/client/renderer/entity/ExperienceOrbRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/ExperienceOrbRenderer.cpp @@ -1,4 +1,5 @@ #include "ExperienceOrbRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/FallingTileRenderer.cpp b/targets/minecraft/client/renderer/entity/FallingTileRenderer.cpp index 8648cf187..e80338b5a 100644 --- a/targets/minecraft/client/renderer/entity/FallingTileRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/FallingTileRenderer.cpp @@ -1,4 +1,5 @@ #include "FallingTileRenderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/entity/FireballRenderer.cpp b/targets/minecraft/client/renderer/entity/FireballRenderer.cpp index dba049c9d..93276d3aa 100644 --- a/targets/minecraft/client/renderer/entity/FireballRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/FireballRenderer.cpp @@ -1,4 +1,5 @@ #include "FireballRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/FishingHookRenderer.cpp b/targets/minecraft/client/renderer/entity/FishingHookRenderer.cpp index a9e292a14..0ca326512 100644 --- a/targets/minecraft/client/renderer/entity/FishingHookRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/FishingHookRenderer.cpp @@ -1,4 +1,5 @@ #include "FishingHookRenderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/entity/GhastRenderer.cpp b/targets/minecraft/client/renderer/entity/GhastRenderer.cpp index 019d904b3..862f3e409 100644 --- a/targets/minecraft/client/renderer/entity/GhastRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/GhastRenderer.cpp @@ -1,4 +1,5 @@ #include "GhastRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/GiantMobRenderer.cpp b/targets/minecraft/client/renderer/entity/GiantMobRenderer.cpp index b92d2079d..e03bd8256 100644 --- a/targets/minecraft/client/renderer/entity/GiantMobRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/GiantMobRenderer.cpp @@ -1,4 +1,5 @@ #include "GiantMobRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/HorseRenderer.cpp b/targets/minecraft/client/renderer/entity/HorseRenderer.cpp index fb692c550..bc7f42901 100644 --- a/targets/minecraft/client/renderer/entity/HorseRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/HorseRenderer.cpp @@ -1,4 +1,5 @@ #include "HorseRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/HumanoidMobRenderer.cpp b/targets/minecraft/client/renderer/entity/HumanoidMobRenderer.cpp index 8e3e496d4..abfebd434 100644 --- a/targets/minecraft/client/renderer/entity/HumanoidMobRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/HumanoidMobRenderer.cpp @@ -1,4 +1,5 @@ #include "HumanoidMobRenderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/entity/ItemFrameRenderer.cpp b/targets/minecraft/client/renderer/entity/ItemFrameRenderer.cpp index aed9f0e74..314b90bff 100644 --- a/targets/minecraft/client/renderer/entity/ItemFrameRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/ItemFrameRenderer.cpp @@ -1,6 +1,7 @@ #include +#include "platform/stubs.h" #include "EntityRenderDispatcher.h" #include "minecraft/client/renderer/TileRenderer.h" diff --git a/targets/minecraft/client/renderer/entity/ItemRenderer.cpp b/targets/minecraft/client/renderer/entity/ItemRenderer.cpp index d93de63ea..d8023e62f 100644 --- a/targets/minecraft/client/renderer/entity/ItemRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/ItemRenderer.cpp @@ -1,4 +1,5 @@ #include "ItemRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/ItemSpriteRenderer.cpp b/targets/minecraft/client/renderer/entity/ItemSpriteRenderer.cpp index aac8da2b3..6266e3d42 100644 --- a/targets/minecraft/client/renderer/entity/ItemSpriteRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/ItemSpriteRenderer.cpp @@ -1,4 +1,5 @@ #include "ItemSpriteRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/LavaSlimeRenderer.cpp b/targets/minecraft/client/renderer/entity/LavaSlimeRenderer.cpp index 5ddfd6a5e..2aeee8c4c 100644 --- a/targets/minecraft/client/renderer/entity/LavaSlimeRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/LavaSlimeRenderer.cpp @@ -1,4 +1,5 @@ #include "LavaSlimeRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/LeashKnotRenderer.cpp b/targets/minecraft/client/renderer/entity/LeashKnotRenderer.cpp index 9f0c38482..553b365b7 100644 --- a/targets/minecraft/client/renderer/entity/LeashKnotRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/LeashKnotRenderer.cpp @@ -1,4 +1,5 @@ #include "LeashKnotRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/LightningBoltRenderer.cpp b/targets/minecraft/client/renderer/entity/LightningBoltRenderer.cpp index 24c801a08..25ceecfab 100644 --- a/targets/minecraft/client/renderer/entity/LightningBoltRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/LightningBoltRenderer.cpp @@ -1,4 +1,5 @@ #include "LightningBoltRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/LivingEntityRenderer.cpp b/targets/minecraft/client/renderer/entity/LivingEntityRenderer.cpp index 736fb0e45..e1eb72b02 100644 --- a/targets/minecraft/client/renderer/entity/LivingEntityRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/LivingEntityRenderer.cpp @@ -1,4 +1,5 @@ #include "minecraft/IGameServices.h" +#include "platform/stubs.h" #include "LivingEntityRenderer.h" #include diff --git a/targets/minecraft/client/renderer/entity/MinecartRenderer.cpp b/targets/minecraft/client/renderer/entity/MinecartRenderer.cpp index b91901b44..9951566b7 100644 --- a/targets/minecraft/client/renderer/entity/MinecartRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/MinecartRenderer.cpp @@ -1,4 +1,5 @@ #include "MinecartRenderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/entity/MobRenderer.cpp b/targets/minecraft/client/renderer/entity/MobRenderer.cpp index b74d3236e..55fddd7c9 100644 --- a/targets/minecraft/client/renderer/entity/MobRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/MobRenderer.cpp @@ -1,4 +1,5 @@ #include "MobRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/MushroomCowRenderer.cpp b/targets/minecraft/client/renderer/entity/MushroomCowRenderer.cpp index cfcf9f9ff..ea6674b29 100644 --- a/targets/minecraft/client/renderer/entity/MushroomCowRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/MushroomCowRenderer.cpp @@ -1,4 +1,5 @@ #include "MushroomCowRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/OcelotRenderer.cpp b/targets/minecraft/client/renderer/entity/OcelotRenderer.cpp index 28787c7a1..01f52f756 100644 --- a/targets/minecraft/client/renderer/entity/OcelotRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/OcelotRenderer.cpp @@ -1,4 +1,5 @@ #include "OcelotRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/PaintingRenderer.cpp b/targets/minecraft/client/renderer/entity/PaintingRenderer.cpp index 31b9aef47..97f3da859 100644 --- a/targets/minecraft/client/renderer/entity/PaintingRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/PaintingRenderer.cpp @@ -1,4 +1,5 @@ #include "PaintingRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/PlayerRenderer.cpp b/targets/minecraft/client/renderer/entity/PlayerRenderer.cpp index e2042ba0d..c2511c1f6 100644 --- a/targets/minecraft/client/renderer/entity/PlayerRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/PlayerRenderer.cpp @@ -1,4 +1,5 @@ #include "minecraft/IGameServices.h" +#include "platform/stubs.h" #include "PlayerRenderer.h" #include diff --git a/targets/minecraft/client/renderer/entity/SheepRenderer.cpp b/targets/minecraft/client/renderer/entity/SheepRenderer.cpp index 38907890b..e9fdfff43 100644 --- a/targets/minecraft/client/renderer/entity/SheepRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/SheepRenderer.cpp @@ -1,4 +1,5 @@ #include "SheepRenderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/entity/SkeletonRenderer.cpp b/targets/minecraft/client/renderer/entity/SkeletonRenderer.cpp index 1553b9ea1..baf896c8a 100644 --- a/targets/minecraft/client/renderer/entity/SkeletonRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/SkeletonRenderer.cpp @@ -1,4 +1,5 @@ #include "SkeletonRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/SlimeRenderer.cpp b/targets/minecraft/client/renderer/entity/SlimeRenderer.cpp index 84a0a7fda..c4200ee7c 100644 --- a/targets/minecraft/client/renderer/entity/SlimeRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/SlimeRenderer.cpp @@ -1,4 +1,5 @@ #include "SlimeRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/SnowManRenderer.cpp b/targets/minecraft/client/renderer/entity/SnowManRenderer.cpp index b5b1dbbc3..c0b6f7b8b 100644 --- a/targets/minecraft/client/renderer/entity/SnowManRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/SnowManRenderer.cpp @@ -1,4 +1,5 @@ #include "SnowManRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/SpiderRenderer.cpp b/targets/minecraft/client/renderer/entity/SpiderRenderer.cpp index 9e4c57b12..711eb9541 100644 --- a/targets/minecraft/client/renderer/entity/SpiderRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/SpiderRenderer.cpp @@ -1,4 +1,5 @@ #include "SpiderRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/SquidRenderer.cpp b/targets/minecraft/client/renderer/entity/SquidRenderer.cpp index 6a53e1937..538b29fd7 100644 --- a/targets/minecraft/client/renderer/entity/SquidRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/SquidRenderer.cpp @@ -1,4 +1,5 @@ #include "SquidRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/TntMinecartRenderer.cpp b/targets/minecraft/client/renderer/entity/TntMinecartRenderer.cpp index 50d4613e0..9f8a00b10 100644 --- a/targets/minecraft/client/renderer/entity/TntMinecartRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/TntMinecartRenderer.cpp @@ -1,4 +1,5 @@ #include "TntMinecartRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/TntRenderer.cpp b/targets/minecraft/client/renderer/entity/TntRenderer.cpp index 472c079ed..eb2670b64 100644 --- a/targets/minecraft/client/renderer/entity/TntRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/TntRenderer.cpp @@ -1,4 +1,5 @@ #include "TntRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/VillagerGolemRenderer.cpp b/targets/minecraft/client/renderer/entity/VillagerGolemRenderer.cpp index 0accf95db..586edb485 100644 --- a/targets/minecraft/client/renderer/entity/VillagerGolemRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/VillagerGolemRenderer.cpp @@ -1,4 +1,5 @@ #include "VillagerGolemRenderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/entity/VillagerRenderer.cpp b/targets/minecraft/client/renderer/entity/VillagerRenderer.cpp index 816846356..ac3d61965 100644 --- a/targets/minecraft/client/renderer/entity/VillagerRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/VillagerRenderer.cpp @@ -1,4 +1,5 @@ #include "VillagerRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/WitchRenderer.cpp b/targets/minecraft/client/renderer/entity/WitchRenderer.cpp index 207d129e2..7ad9705b7 100644 --- a/targets/minecraft/client/renderer/entity/WitchRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/WitchRenderer.cpp @@ -1,4 +1,5 @@ #include "WitchRenderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/entity/WitherBossRenderer.cpp b/targets/minecraft/client/renderer/entity/WitherBossRenderer.cpp index 847441fe8..eb5e3f172 100644 --- a/targets/minecraft/client/renderer/entity/WitherBossRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/WitherBossRenderer.cpp @@ -1,4 +1,5 @@ #include "WitherBossRenderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/entity/WitherSkullRenderer.cpp b/targets/minecraft/client/renderer/entity/WitherSkullRenderer.cpp index 14fcce976..ba4c19fd0 100644 --- a/targets/minecraft/client/renderer/entity/WitherSkullRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/WitherSkullRenderer.cpp @@ -1,4 +1,5 @@ #include "WitherSkullRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/entity/WolfRenderer.cpp b/targets/minecraft/client/renderer/entity/WolfRenderer.cpp index 5150f3449..7674d8a77 100644 --- a/targets/minecraft/client/renderer/entity/WolfRenderer.cpp +++ b/targets/minecraft/client/renderer/entity/WolfRenderer.cpp @@ -1,4 +1,5 @@ #include "WolfRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/texture/Texture.cpp b/targets/minecraft/client/renderer/texture/Texture.cpp index d4b2694df..a737fc71d 100644 --- a/targets/minecraft/client/renderer/texture/Texture.cpp +++ b/targets/minecraft/client/renderer/texture/Texture.cpp @@ -1,4 +1,5 @@ #include "minecraft/util/Log.h" +#include "platform/stubs.h" #include "Texture.h" #include diff --git a/targets/minecraft/client/renderer/texture/Texture.h b/targets/minecraft/client/renderer/texture/Texture.h index 718e0ade1..805b8213e 100644 --- a/targets/minecraft/client/renderer/texture/Texture.h +++ b/targets/minecraft/client/renderer/texture/Texture.h @@ -1,6 +1,7 @@ #pragma once #include "platform/renderer/renderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/tileentity/BeaconRenderer.cpp b/targets/minecraft/client/renderer/tileentity/BeaconRenderer.cpp index 2ac5a27ba..ea4768447 100644 --- a/targets/minecraft/client/renderer/tileentity/BeaconRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/BeaconRenderer.cpp @@ -1,4 +1,5 @@ #include "BeaconRenderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/tileentity/ChestRenderer.cpp b/targets/minecraft/client/renderer/tileentity/ChestRenderer.cpp index 7f4e18013..6c41fdb7f 100644 --- a/targets/minecraft/client/renderer/tileentity/ChestRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/ChestRenderer.cpp @@ -1,4 +1,5 @@ #include "ChestRenderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/tileentity/EnchantTableRenderer.cpp b/targets/minecraft/client/renderer/tileentity/EnchantTableRenderer.cpp index 80777935b..a71f327f2 100644 --- a/targets/minecraft/client/renderer/tileentity/EnchantTableRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/EnchantTableRenderer.cpp @@ -1,4 +1,5 @@ #include "EnchantTableRenderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/tileentity/EnderChestRenderer.cpp b/targets/minecraft/client/renderer/tileentity/EnderChestRenderer.cpp index 6ecc05db4..50d181e73 100644 --- a/targets/minecraft/client/renderer/tileentity/EnderChestRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/EnderChestRenderer.cpp @@ -1,4 +1,5 @@ #include "EnderChestRenderer.h" +#include "platform/stubs.h" #include #include diff --git a/targets/minecraft/client/renderer/tileentity/MobSpawnerRenderer.cpp b/targets/minecraft/client/renderer/tileentity/MobSpawnerRenderer.cpp index 1c68944ea..012395f3c 100644 --- a/targets/minecraft/client/renderer/tileentity/MobSpawnerRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/MobSpawnerRenderer.cpp @@ -1,4 +1,5 @@ #include "MobSpawnerRenderer.h" +#include "platform/stubs.h" #include "platform/renderer/renderer.h" #include "minecraft/client/renderer/entity/EntityRenderDispatcher.h" diff --git a/targets/minecraft/client/renderer/tileentity/PistonPieceRenderer.cpp b/targets/minecraft/client/renderer/tileentity/PistonPieceRenderer.cpp index 59bb167bb..e71ba0cc5 100644 --- a/targets/minecraft/client/renderer/tileentity/PistonPieceRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/PistonPieceRenderer.cpp @@ -1,4 +1,5 @@ #include "PistonPieceRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/tileentity/SignRenderer.cpp b/targets/minecraft/client/renderer/tileentity/SignRenderer.cpp index 16b433fa3..8ca473de2 100644 --- a/targets/minecraft/client/renderer/tileentity/SignRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/SignRenderer.cpp @@ -1,4 +1,5 @@ #include "minecraft/IGameServices.h" +#include "platform/stubs.h" #include "SignRenderer.h" #include diff --git a/targets/minecraft/client/renderer/tileentity/SkullTileRenderer.cpp b/targets/minecraft/client/renderer/tileentity/SkullTileRenderer.cpp index 3c21309ee..a392ce06b 100644 --- a/targets/minecraft/client/renderer/tileentity/SkullTileRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/SkullTileRenderer.cpp @@ -1,4 +1,5 @@ #include "SkullTileRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/tileentity/TheEndPortalRenderer.cpp b/targets/minecraft/client/renderer/tileentity/TheEndPortalRenderer.cpp index 3fc26a24d..d921be722 100644 --- a/targets/minecraft/client/renderer/tileentity/TheEndPortalRenderer.cpp +++ b/targets/minecraft/client/renderer/tileentity/TheEndPortalRenderer.cpp @@ -1,4 +1,5 @@ #include "TheEndPortalRenderer.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/renderer/tileentity/TileEntityRenderDispatcher.cpp b/targets/minecraft/client/renderer/tileentity/TileEntityRenderDispatcher.cpp index bf8eda75b..76d00ae63 100644 --- a/targets/minecraft/client/renderer/tileentity/TileEntityRenderDispatcher.cpp +++ b/targets/minecraft/client/renderer/tileentity/TileEntityRenderDispatcher.cpp @@ -1,4 +1,5 @@ #include "TileEntityRenderDispatcher.h" +#include "platform/stubs.h" #include diff --git a/targets/minecraft/client/skins/AbstractTexturePack.cpp b/targets/minecraft/client/skins/AbstractTexturePack.cpp index 13b02e3ad..ce0799dc0 100644 --- a/targets/minecraft/client/skins/AbstractTexturePack.cpp +++ b/targets/minecraft/client/skins/AbstractTexturePack.cpp @@ -1,4 +1,5 @@ #include "minecraft/util/Log.h" +#include "platform/stubs.h" #include "AbstractTexturePack.h" diff --git a/targets/minecraft/client/title/TitleScreen.cpp b/targets/minecraft/client/title/TitleScreen.cpp index 1cfb80097..f8b659b4c 100644 --- a/targets/minecraft/client/title/TitleScreen.cpp +++ b/targets/minecraft/client/title/TitleScreen.cpp @@ -1,4 +1,5 @@ #include "minecraft/IGameServices.h" +#include "platform/stubs.h" #include "minecraft/util/Log.h" #include "TitleScreen.h" diff --git a/targets/platform/renderer/gl/GLRenderer.h b/targets/platform/renderer/gl/GLRenderer.h index 7ca98ad15..e4d3f7b86 100644 --- a/targets/platform/renderer/gl/GLRenderer.h +++ b/targets/platform/renderer/gl/GLRenderer.h @@ -153,571 +153,3 @@ public: void Shutdown(); }; -// OpenGL Interception Macros -#ifndef GL_MODELVIEW_MATRIX -#define GL_MODELVIEW_MATRIX 0x0BA6 -#endif -#ifndef GL_PROJECTION_MATRIX -#define GL_PROJECTION_MATRIX 0x0BA7 -#endif -#ifndef GL_MODELVIEW -#define GL_MODELVIEW 0x1700 -#endif -#ifndef GL_PROJECTION -#define GL_PROJECTION 0x1701 -#endif -#ifndef GL_TEXTURE -#define GL_TEXTURE 0x1702 -#endif - -#ifndef GL_S -#define GL_S 0x2000 -#endif -#ifndef GL_T -#define GL_T 0x2001 -#endif -#ifndef GL_R -#define GL_R 0x2002 -#endif -#ifndef GL_Q -#define GL_Q 0x2003 -#endif - -#ifndef GL_TEXTURE_GEN_S -#define GL_TEXTURE_GEN_S 0x0C60 -#endif -#ifndef GL_TEXTURE_GEN_T -#define GL_TEXTURE_GEN_T 0x0C61 -#endif -#ifndef GL_TEXTURE_GEN_Q -#define GL_TEXTURE_GEN_Q 0x0C63 -#endif -#ifndef GL_TEXTURE_GEN_R -#define GL_TEXTURE_GEN_R 0x0C62 -#endif - -#ifndef GL_TEXTURE_GEN_MODE -#define GL_TEXTURE_GEN_MODE 0x2500 -#endif -#ifndef GL_OBJECT_LINEAR -#define GL_OBJECT_LINEAR 0x2401 -#endif -#ifndef GL_EYE_LINEAR -#define GL_EYE_LINEAR 0x2400 -#endif -#ifndef GL_OBJECT_PLANE -#define GL_OBJECT_PLANE 0x2501 -#endif -#ifndef GL_EYE_PLANE -#define GL_EYE_PLANE 0x2502 -#endif - -#ifndef GL_TEXTURE_2D -#define GL_TEXTURE_2D 0x0DE1 -#endif -#ifndef GL_BLEND -#define GL_BLEND 0x0BE2 -#endif -#ifndef GL_CULL_FACE -#define GL_CULL_FACE 0x0B44 -#endif -#ifndef GL_ALPHA_TEST -#define GL_ALPHA_TEST 0x0BC0 -#endif -#ifndef GL_DEPTH_TEST -#define GL_DEPTH_TEST 0x0B71 -#endif -#ifndef GL_FOG -#define GL_FOG 0x0B60 -#endif -#ifndef GL_LIGHTING -#define GL_LIGHTING 0x0B50 -#endif -#ifndef GL_LIGHT0 -#define GL_LIGHT0 0x4000 -#endif -#ifndef GL_LIGHT1 -#define GL_LIGHT1 0x4001 -#endif - -#ifndef CLEAR_DEPTH_FLAG -#define CLEAR_DEPTH_FLAG 0x00000100 -#endif -#ifndef CLEAR_COLOUR_FLAG -#define CLEAR_COLOUR_FLAG 0x00004000 -#endif - -#ifndef GL_DEPTH_BUFFER_BIT -#define GL_DEPTH_BUFFER_BIT 0x00000100 -#endif -#ifndef GL_COLOR_BUFFER_BIT -#define GL_COLOR_BUFFER_BIT 0x00004000 -#endif - -#ifndef GL_SRC_ALPHA -#define GL_SRC_ALPHA 0x0302 -#endif -#ifndef GL_ONE_MINUS_SRC_ALPHA -#define GL_ONE_MINUS_SRC_ALPHA 0x0303 -#endif -#ifndef GL_ONE -#define GL_ONE 1 -#endif -#ifndef GL_ZERO -#define GL_ZERO 0 -#endif -#ifndef GL_DST_ALPHA -#define GL_DST_ALPHA 0x0304 -#endif -#ifndef GL_SRC_COLOR -#define GL_SRC_COLOR 0x0300 -#endif -#ifndef GL_DST_COLOR -#define GL_DST_COLOR 0x0306 -#endif -#ifndef GL_ONE_MINUS_DST_COLOR -#define GL_ONE_MINUS_DST_COLOR 0x0307 -#endif -#ifndef GL_ONE_MINUS_SRC_COLOR -#define GL_ONE_MINUS_SRC_COLOR 0x0301 -#endif -#ifndef GL_CONSTANT_ALPHA -#define GL_CONSTANT_ALPHA 0x8003 -#endif -#ifndef GL_ONE_MINUS_CONSTANT_ALPHA -#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 -#endif - -#ifndef GL_GREATER -#define GL_GREATER 0x0204 -#endif -#ifndef GL_EQUAL -#define GL_EQUAL 0x0202 -#endif -#ifndef GL_LEQUAL -#define GL_LEQUAL 0x0203 -#endif -#ifndef GL_GEQUAL -#define GL_GEQUAL 0x0206 -#endif -#ifndef GL_ALWAYS -#define GL_ALWAYS 0x0207 -#endif - -#ifndef GL_TEXTURE_MIN_FILTER -#define GL_TEXTURE_MIN_FILTER 0x2801 -#endif -#ifndef GL_TEXTURE_MAG_FILTER -#define GL_TEXTURE_MAG_FILTER 0x2800 -#endif -#ifndef GL_TEXTURE_WRAP_S -#define GL_TEXTURE_WRAP_S 0x2802 -#endif -#ifndef GL_TEXTURE_WRAP_T -#define GL_TEXTURE_WRAP_T 0x2803 -#endif - -#ifndef GL_NEAREST -#define GL_NEAREST 0x2600 -#endif -#ifndef GL_LINEAR -#define GL_LINEAR 0x2601 -#endif -#ifndef GL_EXP -#define GL_EXP 0x0800 -#endif -#ifndef GL_NEAREST_MIPMAP_LINEAR -#define GL_NEAREST_MIPMAP_LINEAR 0x2702 -#endif - -#ifndef GL_CLAMP -#define GL_CLAMP 0x2900 -#endif -#ifndef GL_REPEAT -#define GL_REPEAT 0x2901 -#endif - -#ifndef GL_FOG_START -#define GL_FOG_START 0x0B63 -#endif -#ifndef GL_FOG_END -#define GL_FOG_END 0x0B64 -#endif -#ifndef GL_FOG_MODE -#define GL_FOG_MODE 0x0B65 -#endif -#ifndef GL_FOG_DENSITY -#define GL_FOG_DENSITY 0x0B62 -#endif -#ifndef GL_FOG_COLOR -#define GL_FOG_COLOR 0x0B66 -#endif - -#ifndef GL_POSITION -#define GL_POSITION 0x1203 -#endif -#ifndef GL_AMBIENT -#define GL_AMBIENT 0x1200 -#endif -#ifndef GL_DIFFUSE -#define GL_DIFFUSE 0x1201 -#endif -#ifndef GL_SPECULAR -#define GL_SPECULAR 0x1202 -#endif - -#ifndef GL_LIGHT_MODEL_AMBIENT -#define GL_LIGHT_MODEL_AMBIENT 0x0B53 -#endif - -#ifndef GL_LINES -#define GL_LINES 0x0001 -#endif -#ifndef GL_LINE_STRIP -#define GL_LINE_STRIP 0x0003 -#endif -#ifndef GL_QUADS -#define GL_QUADS 0x0007 -#endif -#ifndef GL_TRIANGLE_FAN -#define GL_TRIANGLE_FAN 0x0006 -#endif -#ifndef GL_TRIANGLE_STRIP -#define GL_TRIANGLE_STRIP 0x0005 -#endif - -// glCallList / display list macros -#undef glNewList -#define glNewList(_list, _mode) PlatformRenderer.CBuffStart(_list) -#undef glEndList -#define glEndList() PlatformRenderer.CBuffEnd() -#undef glCallList -#define glCallList(_list) PlatformRenderer.CBuffCall(_list) - -// glGenLists / glDeleteLists, lists are not supported in core!!!!! -#undef glGenLists -#define glGenLists(range) PlatformRenderer.CBuffCreate(range) -#undef glDeleteLists -#define glDeleteLists(list, range) PlatformRenderer.CBuffDelete(list, range) - -#ifndef GL_SHADEMODEL_IS_FUNCTION -#undef glShadeModel -#define glShadeModel(mode) \ - do { \ - } while (0) -#endif - -#undef glTranslatef -#define glTranslatef(x, y, z) \ - do { \ - PlatformRenderer.MatrixTranslate(x, y, z); \ - } while (0) - -#undef glRotatef -#define glRotatef(a, x, y, z) \ - do { \ - PlatformRenderer.MatrixRotate((a) * (3.14159265358979f / 180.f), x, y, \ - z); \ - } while (0) - -#undef glScalef -#define glScalef(x, y, z) \ - do { \ - PlatformRenderer.MatrixScale(x, y, z); \ - } while (0) - -#undef glScaled -#define glScaled(x, y, z) \ - do { \ - PlatformRenderer.MatrixScale((float)(x), (float)(y), (float)(z)); \ - } while (0) - -#undef glPushMatrix -#define glPushMatrix() \ - do { \ - PlatformRenderer.MatrixPush(); \ - } while (0) - -#undef glPopMatrix -#define glPopMatrix() \ - do { \ - PlatformRenderer.MatrixPop(); \ - } while (0) - -#undef glLoadIdentity -#define glLoadIdentity() \ - do { \ - PlatformRenderer.MatrixSetIdentity(); \ - } while (0) - -#undef glMatrixMode -#define glMatrixMode(mode) \ - do { \ - PlatformRenderer.MatrixMode(mode); \ - } while (0) - -#undef glMultMatrixf -#define glMultMatrixf(m) \ - do { \ - PlatformRenderer.MatrixMult(m); \ - } while (0) - -#undef glColor4f -#define glColor4f(r, g, b, a) \ - do { \ - PlatformRenderer.StateSetColour(r, g, b, a); \ - } while (0) - -#undef glColor3f -#define glColor3f(r, g, b) \ - do { \ - PlatformRenderer.StateSetColour(r, g, b, 1.0f); \ - } while (0) - -#undef glAlphaFunc -#define glAlphaFunc(func, ref) \ - do { \ - PlatformRenderer.StateSetAlphaFunc(func, ref); \ - } while (0) - -#undef glEnable -#define glEnable(cap) \ - do { \ - if ((cap) == 0x0B60 /*GL_FOG*/) \ - PlatformRenderer.StateSetFogEnable(true); \ - else if ((cap) == 0x0B50 /*GL_LIGHTING*/) \ - PlatformRenderer.StateSetLightingEnable(true); \ - else if ((cap) == 0x0BC0 /*GL_ALPHA_TEST*/) \ - PlatformRenderer.StateSetAlphaTestEnable(true); \ - else if ((cap) == 0x0DE1 /*GL_TEXTURE_2D*/) \ - PlatformRenderer.StateSetTextureEnable(true); \ - else if ((cap) == 0x0BE2 /*GL_BLEND*/) \ - PlatformRenderer.StateSetBlendEnable(true); \ - else if ((cap) == 0x0B44 /*GL_CULL_FACE*/) \ - PlatformRenderer.StateSetFaceCull(true); \ - else if ((cap) == 0x0B71 /*GL_DEPTH_TEST*/) \ - PlatformRenderer.StateSetDepthTestEnable(true); \ - else if ((cap) == 0x4000 /*GL_LIGHT0*/) \ - PlatformRenderer.StateSetLightEnable(0, true); \ - else if ((cap) == 0x4001 /*GL_LIGHT1*/) \ - PlatformRenderer.StateSetLightEnable(1, true); \ - else if ((cap) == 0x0B57 /*GL_COLOR_MATERIAL*/ \ - || (cap) == 0x0BA1 /*GL_NORMALIZE*/ \ - || (cap) == 0x803A /*GL_RESCALE_NORMAL*/ \ - || (cap) == 0x0C60 /*GL_TEXTURE_GEN_S*/ \ - || (cap) == 0x0C61 /*GL_TEXTURE_GEN_T*/ \ - || (cap) == 0x0C62 /*GL_TEXTURE_GEN_R*/ \ - || (cap) == 0x0C63 /*GL_TEXTURE_GEN_Q*/) { /* empty */ \ - } else \ - ::glEnable(cap); \ - } while (0) - -#undef glDisable -#define glDisable(cap) \ - do { \ - if ((cap) == 0x0B60 /*GL_FOG*/) \ - PlatformRenderer.StateSetFogEnable(false); \ - else if ((cap) == 0x0B50 /*GL_LIGHTING*/) \ - PlatformRenderer.StateSetLightingEnable(false); \ - else if ((cap) == 0x0BC0 /*GL_ALPHA_TEST*/) \ - PlatformRenderer.StateSetAlphaTestEnable(false); \ - else if ((cap) == 0x0DE1 /*GL_TEXTURE_2D*/) \ - PlatformRenderer.StateSetTextureEnable(false); \ - else if ((cap) == 0x0BE2 /*GL_BLEND*/) \ - PlatformRenderer.StateSetBlendEnable(false); \ - else if ((cap) == 0x0B44 /*GL_CULL_FACE*/) \ - PlatformRenderer.StateSetFaceCull(false); \ - else if ((cap) == 0x0B71 /*GL_DEPTH_TEST*/) \ - PlatformRenderer.StateSetDepthTestEnable(false); \ - else if ((cap) == 0x4000 /*GL_LIGHT0*/) \ - PlatformRenderer.StateSetLightEnable(0, false); \ - else if ((cap) == 0x4001 /*GL_LIGHT1*/) \ - PlatformRenderer.StateSetLightEnable(1, false); \ - else if ((cap) == 0x0B57 /*GL_COLOR_MATERIAL*/ \ - || (cap) == 0x0BA1 /*GL_NORMALIZE*/ \ - || (cap) == 0x803A /*GL_RESCALE_NORMAL*/ \ - || (cap) == 0x0C60 /*GL_TEXTURE_GEN_S*/ \ - || (cap) == 0x0C61 /*GL_TEXTURE_GEN_T*/ \ - || (cap) == 0x0C62 /*GL_TEXTURE_GEN_R*/ \ - || (cap) == 0x0C63 /*GL_TEXTURE_GEN_Q*/) { /* empty */ \ - } else \ - ::glDisable(cap); \ - } while (0) - -#undef glFogi -#define glFogi(pname, param) \ - do { \ - if ((pname) == 0x0B65 /*GL_FOG_MODE*/) \ - PlatformRenderer.StateSetFogMode(param); \ - } while (0) - -#undef glFogf -#define glFogf(pname, param) \ - do { \ - if ((pname) == 0x0B63 /*GL_FOG_START*/) \ - PlatformRenderer.StateSetFogNearDistance(param); \ - else if ((pname) == 0x0B64 /*GL_FOG_END*/) \ - PlatformRenderer.StateSetFogFarDistance(param); \ - else if ((pname) == 0x0B62 /*GL_FOG_DENSITY*/) \ - PlatformRenderer.StateSetFogDensity(param); \ - } while (0) - -#undef glOrtho -#define glOrtho(left, right, bottom, top, zNear, zFar) \ - do { \ - PlatformRenderer.MatrixOrthogonal(left, right, bottom, top, zNear, zFar); \ - } while (0) - -#undef glMultiTexCoord2f -#define glMultiTexCoord2f(tex, u, v) \ - do { \ - if ((tex) == 0x84C1 /*GL_TEXTURE1*/) \ - PlatformRenderer.StateSetVertexTextureUV(u, v); \ - } while (0) - -#undef glActiveTexture -#define glActiveTexture(tex) \ - do { \ - PlatformRenderer.StateSetActiveTexture(tex); \ - ::glActiveTexture(tex); \ - } while (0) - -#undef glClientActiveTexture -#define glClientActiveTexture(tex) \ - do { \ - PlatformRenderer.StateSetActiveTexture(tex); \ - } while (0) - -// declarations -int glGenTextures_4J(); -void glGenTextures_4J(int n, unsigned int* textures); -void glDeleteTextures_4J(int id); -void glDeleteTextures_4J(int n, const unsigned int* textures); -void glTexImage2D_4J(int target, int level, int internalformat, int width, - int height, int border, int format, int type, - void* pixels); - -// helprs -void glGenQueries_4J_Helper(unsigned int* id); -void glGetQueryObjectu_4J_Helper(unsigned int id, unsigned int pname, - unsigned int* val); - -template -inline void glGenTextures_4J(T* buf) { - unsigned int id = 0; - ::glGenTextures(1, &id); - buf->put((int)id); - buf->flip(); -} -template -inline void glDeleteTextures_4J(T* buf) { - if (buf->limit() > 0) { - unsigned int id = (unsigned int)buf->get(0); - ::glDeleteTextures(1, &id); - } -} -template -inline void glTexCoordPointer_4J(int size, int type, T* pointer) {} -template -inline void glNormalPointer_4J(int type, T* pointer) {} -template -inline void glColorPointer_4J(int size, bool normalized, int stride, - T* pointer) {} -template -inline void glVertexPointer_4J(int size, int type, T* pointer) {} -template -inline void glTexImage2D_4J(int target, int level, int internalformat, - int width, int height, int border, int format, - int type, T* pixels) { - void* data = pixels ? pixels->getBuffer() : nullptr; - ::glTexImage2D((unsigned int)target, level, internalformat, width, height, - border, (unsigned int)format, (unsigned int)type, data); -} -template -inline void glCallLists_4J(T* lists) { - int base = lists->position(); - int count = lists->limit() - base; - for (int i = 0; i < count; i++) { - PlatformRenderer.CBuffCall(lists->get(base + i)); - } -} -template -inline void glGenQueries_4J(T* buf) { - unsigned int id = 0; - glGenQueries_4J_Helper(&id); - buf->put((int)id); - buf->flip(); -} -template -inline void glGetQueryObjectu_4J(int id, int pname, T* params) { - unsigned int val = 0; - glGetQueryObjectu_4J_Helper((unsigned int)id, (unsigned int)pname, &val); - params->put((int)val); - params->flip(); -} -template -inline void glFog_4J(int pname, T* params) { - float* p = params->_getDataPointer(); - if (pname == 0x0B66 /* GL_FOG_COLOR */) - 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 */) - PlatformRenderer.StateSetLightDirection(light == 0x4000 ? 0 : 1, p[0], - p[1], p[2]); - else if (pname == 0x1200 /* GL_AMBIENT */) - PlatformRenderer.StateSetLightAmbientColour(p[0], p[1], p[2]); - else if (pname == 0x1201 /* GL_DIFFUSE */) - 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 */) - PlatformRenderer.StateSetLightAmbientColour(p[0], p[1], p[2]); -} -template -inline void glTexGen_4J(int coord, int pname, T* params) {} -inline void glReadPixels_4J(int x, int y, int width, int height, int format, - int type, void* pixels) { - ::glReadPixels(x, y, width, height, (unsigned int)format, - (unsigned int)type, pixels); -} -inline void glReadPixels_4J(int x, int y, int width, int height, int format, - int type, unsigned char* pixels) { - ::glReadPixels(x, y, width, height, (unsigned int)format, - (unsigned int)type, (void*)pixels); -} -// T -> .getBuffer() -template -inline void glReadPixels_4J(int x, int y, int width, int height, int format, - int type, T* pixels) { - ::glReadPixels(x, y, width, height, (unsigned int)format, - (unsigned int)type, pixels->getBuffer()); -} -void glBeginQuery_4J_Helper(unsigned int target, unsigned int id); -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__) -#define glTexCoordPointer(a, b, c) glTexCoordPointer_4J(a, b, c) -#define glNormalPointer(a, b) glNormalPointer_4J(a, b) -#define glColorPointer(a, b, c, d) glColorPointer_4J(a, b, c, d) -#define glVertexPointer(a, b, c) glVertexPointer_4J(a, b, c) -#define glTexImage2D(a, b, c, d, e, f, g, h, i) \ - glTexImage2D_4J(a, b, c, d, e, f, g, h, i) -#define glCallLists(x) glCallLists_4J(x) -#define glGenQueriesARB(x) glGenQueries_4J(x) -#define glGetQueryObjectuARB(a, b, c) glGetQueryObjectu_4J(a, b, c) -#define glReadPixels(a, b, c, d, e, f, g) glReadPixels_4J(a, b, c, d, e, f, g) -#define glFog(a, b) glFog_4J(a, b) -#define glLight(a, b, c) glLight_4J(a, b, c) -#define glLightModel(a, b) glLightModel_4J(a, b) -#define glTexGen(a, b, c) glTexGen_4J(a, b, c) diff --git a/targets/platform/renderer/gl/gl_compat.h b/targets/platform/renderer/gl/gl_compat.h new file mode 100644 index 000000000..0e00d55a1 --- /dev/null +++ b/targets/platform/renderer/gl/gl_compat.h @@ -0,0 +1,595 @@ +#pragma once + +// Legacy gl* compatibility shim for code that still issues fixed-function +// OpenGL calls. Provides: +// - GL_* constant defines for use with legacy gl* call sites +// - Macros that route legacy glPushMatrix / glColor4f / etc. through +// PlatformRenderer +// - Template implementations of glLight_4J / glFog_4J / glTexGen_4J +// etc., used by the legacy producers +// - #define glLight glLight_4J style consumer-facing macros +// +// New rendering code should call IPlatformRenderer methods directly via +// the PlatformRenderer extern. This shim exists to keep the legacy +// rendering files compiling without dragging the concrete GLRenderer +// class into every minecraft TU. + +#include "gl3_loader.h" +// NOTE: gl3_loader.h must be included before these two +#include +#include + +#include +#include + +#include "renderer/IPlatformRenderer.h" +#include "renderer/renderer.h" + +// OpenGL Interception Macros +#ifndef GL_MODELVIEW_MATRIX +#define GL_MODELVIEW_MATRIX 0x0BA6 +#endif +#ifndef GL_PROJECTION_MATRIX +#define GL_PROJECTION_MATRIX 0x0BA7 +#endif +#ifndef GL_MODELVIEW +#define GL_MODELVIEW 0x1700 +#endif +#ifndef GL_PROJECTION +#define GL_PROJECTION 0x1701 +#endif +#ifndef GL_TEXTURE +#define GL_TEXTURE 0x1702 +#endif + +#ifndef GL_S +#define GL_S 0x2000 +#endif +#ifndef GL_T +#define GL_T 0x2001 +#endif +#ifndef GL_R +#define GL_R 0x2002 +#endif +#ifndef GL_Q +#define GL_Q 0x2003 +#endif + +#ifndef GL_TEXTURE_GEN_S +#define GL_TEXTURE_GEN_S 0x0C60 +#endif +#ifndef GL_TEXTURE_GEN_T +#define GL_TEXTURE_GEN_T 0x0C61 +#endif +#ifndef GL_TEXTURE_GEN_Q +#define GL_TEXTURE_GEN_Q 0x0C63 +#endif +#ifndef GL_TEXTURE_GEN_R +#define GL_TEXTURE_GEN_R 0x0C62 +#endif + +#ifndef GL_TEXTURE_GEN_MODE +#define GL_TEXTURE_GEN_MODE 0x2500 +#endif +#ifndef GL_OBJECT_LINEAR +#define GL_OBJECT_LINEAR 0x2401 +#endif +#ifndef GL_EYE_LINEAR +#define GL_EYE_LINEAR 0x2400 +#endif +#ifndef GL_OBJECT_PLANE +#define GL_OBJECT_PLANE 0x2501 +#endif +#ifndef GL_EYE_PLANE +#define GL_EYE_PLANE 0x2502 +#endif + +#ifndef GL_TEXTURE_2D +#define GL_TEXTURE_2D 0x0DE1 +#endif +#ifndef GL_BLEND +#define GL_BLEND 0x0BE2 +#endif +#ifndef GL_CULL_FACE +#define GL_CULL_FACE 0x0B44 +#endif +#ifndef GL_ALPHA_TEST +#define GL_ALPHA_TEST 0x0BC0 +#endif +#ifndef GL_DEPTH_TEST +#define GL_DEPTH_TEST 0x0B71 +#endif +#ifndef GL_FOG +#define GL_FOG 0x0B60 +#endif +#ifndef GL_LIGHTING +#define GL_LIGHTING 0x0B50 +#endif +#ifndef GL_LIGHT0 +#define GL_LIGHT0 0x4000 +#endif +#ifndef GL_LIGHT1 +#define GL_LIGHT1 0x4001 +#endif + +#ifndef CLEAR_DEPTH_FLAG +#define CLEAR_DEPTH_FLAG 0x00000100 +#endif +#ifndef CLEAR_COLOUR_FLAG +#define CLEAR_COLOUR_FLAG 0x00004000 +#endif + +#ifndef GL_DEPTH_BUFFER_BIT +#define GL_DEPTH_BUFFER_BIT 0x00000100 +#endif +#ifndef GL_COLOR_BUFFER_BIT +#define GL_COLOR_BUFFER_BIT 0x00004000 +#endif + +#ifndef GL_SRC_ALPHA +#define GL_SRC_ALPHA 0x0302 +#endif +#ifndef GL_ONE_MINUS_SRC_ALPHA +#define GL_ONE_MINUS_SRC_ALPHA 0x0303 +#endif +#ifndef GL_ONE +#define GL_ONE 1 +#endif +#ifndef GL_ZERO +#define GL_ZERO 0 +#endif +#ifndef GL_DST_ALPHA +#define GL_DST_ALPHA 0x0304 +#endif +#ifndef GL_SRC_COLOR +#define GL_SRC_COLOR 0x0300 +#endif +#ifndef GL_DST_COLOR +#define GL_DST_COLOR 0x0306 +#endif +#ifndef GL_ONE_MINUS_DST_COLOR +#define GL_ONE_MINUS_DST_COLOR 0x0307 +#endif +#ifndef GL_ONE_MINUS_SRC_COLOR +#define GL_ONE_MINUS_SRC_COLOR 0x0301 +#endif +#ifndef GL_CONSTANT_ALPHA +#define GL_CONSTANT_ALPHA 0x8003 +#endif +#ifndef GL_ONE_MINUS_CONSTANT_ALPHA +#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 +#endif + +#ifndef GL_GREATER +#define GL_GREATER 0x0204 +#endif +#ifndef GL_EQUAL +#define GL_EQUAL 0x0202 +#endif +#ifndef GL_LEQUAL +#define GL_LEQUAL 0x0203 +#endif +#ifndef GL_GEQUAL +#define GL_GEQUAL 0x0206 +#endif +#ifndef GL_ALWAYS +#define GL_ALWAYS 0x0207 +#endif + +#ifndef GL_TEXTURE_MIN_FILTER +#define GL_TEXTURE_MIN_FILTER 0x2801 +#endif +#ifndef GL_TEXTURE_MAG_FILTER +#define GL_TEXTURE_MAG_FILTER 0x2800 +#endif +#ifndef GL_TEXTURE_WRAP_S +#define GL_TEXTURE_WRAP_S 0x2802 +#endif +#ifndef GL_TEXTURE_WRAP_T +#define GL_TEXTURE_WRAP_T 0x2803 +#endif + +#ifndef GL_NEAREST +#define GL_NEAREST 0x2600 +#endif +#ifndef GL_LINEAR +#define GL_LINEAR 0x2601 +#endif +#ifndef GL_EXP +#define GL_EXP 0x0800 +#endif +#ifndef GL_NEAREST_MIPMAP_LINEAR +#define GL_NEAREST_MIPMAP_LINEAR 0x2702 +#endif + +#ifndef GL_CLAMP +#define GL_CLAMP 0x2900 +#endif +#ifndef GL_REPEAT +#define GL_REPEAT 0x2901 +#endif + +#ifndef GL_FOG_START +#define GL_FOG_START 0x0B63 +#endif +#ifndef GL_FOG_END +#define GL_FOG_END 0x0B64 +#endif +#ifndef GL_FOG_MODE +#define GL_FOG_MODE 0x0B65 +#endif +#ifndef GL_FOG_DENSITY +#define GL_FOG_DENSITY 0x0B62 +#endif +#ifndef GL_FOG_COLOR +#define GL_FOG_COLOR 0x0B66 +#endif + +#ifndef GL_POSITION +#define GL_POSITION 0x1203 +#endif +#ifndef GL_AMBIENT +#define GL_AMBIENT 0x1200 +#endif +#ifndef GL_DIFFUSE +#define GL_DIFFUSE 0x1201 +#endif +#ifndef GL_SPECULAR +#define GL_SPECULAR 0x1202 +#endif + +#ifndef GL_LIGHT_MODEL_AMBIENT +#define GL_LIGHT_MODEL_AMBIENT 0x0B53 +#endif + +#ifndef GL_LINES +#define GL_LINES 0x0001 +#endif +#ifndef GL_LINE_STRIP +#define GL_LINE_STRIP 0x0003 +#endif +#ifndef GL_QUADS +#define GL_QUADS 0x0007 +#endif +#ifndef GL_TRIANGLE_FAN +#define GL_TRIANGLE_FAN 0x0006 +#endif +#ifndef GL_TRIANGLE_STRIP +#define GL_TRIANGLE_STRIP 0x0005 +#endif + +// glCallList / display list macros +#undef glNewList +#define glNewList(_list, _mode) PlatformRenderer.CBuffStart(_list) +#undef glEndList +#define glEndList() PlatformRenderer.CBuffEnd() +#undef glCallList +#define glCallList(_list) PlatformRenderer.CBuffCall(_list) + +// glGenLists / glDeleteLists, lists are not supported in core!!!!! +#undef glGenLists +#define glGenLists(range) PlatformRenderer.CBuffCreate(range) +#undef glDeleteLists +#define glDeleteLists(list, range) PlatformRenderer.CBuffDelete(list, range) + +#ifndef GL_SHADEMODEL_IS_FUNCTION +#undef glShadeModel +#define glShadeModel(mode) \ + do { \ + } while (0) +#endif + +#undef glTranslatef +#define glTranslatef(x, y, z) \ + do { \ + PlatformRenderer.MatrixTranslate(x, y, z); \ + } while (0) + +#undef glRotatef +#define glRotatef(a, x, y, z) \ + do { \ + PlatformRenderer.MatrixRotate((a) * (3.14159265358979f / 180.f), x, y, \ + z); \ + } while (0) + +#undef glScalef +#define glScalef(x, y, z) \ + do { \ + PlatformRenderer.MatrixScale(x, y, z); \ + } while (0) + +#undef glScaled +#define glScaled(x, y, z) \ + do { \ + PlatformRenderer.MatrixScale((float)(x), (float)(y), (float)(z)); \ + } while (0) + +#undef glPushMatrix +#define glPushMatrix() \ + do { \ + PlatformRenderer.MatrixPush(); \ + } while (0) + +#undef glPopMatrix +#define glPopMatrix() \ + do { \ + PlatformRenderer.MatrixPop(); \ + } while (0) + +#undef glLoadIdentity +#define glLoadIdentity() \ + do { \ + PlatformRenderer.MatrixSetIdentity(); \ + } while (0) + +#undef glMatrixMode +#define glMatrixMode(mode) \ + do { \ + PlatformRenderer.MatrixMode(mode); \ + } while (0) + +#undef glMultMatrixf +#define glMultMatrixf(m) \ + do { \ + PlatformRenderer.MatrixMult(m); \ + } while (0) + +#undef glColor4f +#define glColor4f(r, g, b, a) \ + do { \ + PlatformRenderer.StateSetColour(r, g, b, a); \ + } while (0) + +#undef glColor3f +#define glColor3f(r, g, b) \ + do { \ + PlatformRenderer.StateSetColour(r, g, b, 1.0f); \ + } while (0) + +#undef glAlphaFunc +#define glAlphaFunc(func, ref) \ + do { \ + PlatformRenderer.StateSetAlphaFunc(func, ref); \ + } while (0) + +#undef glEnable +#define glEnable(cap) \ + do { \ + if ((cap) == 0x0B60 /*GL_FOG*/) \ + PlatformRenderer.StateSetFogEnable(true); \ + else if ((cap) == 0x0B50 /*GL_LIGHTING*/) \ + PlatformRenderer.StateSetLightingEnable(true); \ + else if ((cap) == 0x0BC0 /*GL_ALPHA_TEST*/) \ + PlatformRenderer.StateSetAlphaTestEnable(true); \ + else if ((cap) == 0x0DE1 /*GL_TEXTURE_2D*/) \ + PlatformRenderer.StateSetTextureEnable(true); \ + else if ((cap) == 0x0BE2 /*GL_BLEND*/) \ + PlatformRenderer.StateSetBlendEnable(true); \ + else if ((cap) == 0x0B44 /*GL_CULL_FACE*/) \ + PlatformRenderer.StateSetFaceCull(true); \ + else if ((cap) == 0x0B71 /*GL_DEPTH_TEST*/) \ + PlatformRenderer.StateSetDepthTestEnable(true); \ + else if ((cap) == 0x4000 /*GL_LIGHT0*/) \ + PlatformRenderer.StateSetLightEnable(0, true); \ + else if ((cap) == 0x4001 /*GL_LIGHT1*/) \ + PlatformRenderer.StateSetLightEnable(1, true); \ + else if ((cap) == 0x0B57 /*GL_COLOR_MATERIAL*/ \ + || (cap) == 0x0BA1 /*GL_NORMALIZE*/ \ + || (cap) == 0x803A /*GL_RESCALE_NORMAL*/ \ + || (cap) == 0x0C60 /*GL_TEXTURE_GEN_S*/ \ + || (cap) == 0x0C61 /*GL_TEXTURE_GEN_T*/ \ + || (cap) == 0x0C62 /*GL_TEXTURE_GEN_R*/ \ + || (cap) == 0x0C63 /*GL_TEXTURE_GEN_Q*/) { /* empty */ \ + } else \ + ::glEnable(cap); \ + } while (0) + +#undef glDisable +#define glDisable(cap) \ + do { \ + if ((cap) == 0x0B60 /*GL_FOG*/) \ + PlatformRenderer.StateSetFogEnable(false); \ + else if ((cap) == 0x0B50 /*GL_LIGHTING*/) \ + PlatformRenderer.StateSetLightingEnable(false); \ + else if ((cap) == 0x0BC0 /*GL_ALPHA_TEST*/) \ + PlatformRenderer.StateSetAlphaTestEnable(false); \ + else if ((cap) == 0x0DE1 /*GL_TEXTURE_2D*/) \ + PlatformRenderer.StateSetTextureEnable(false); \ + else if ((cap) == 0x0BE2 /*GL_BLEND*/) \ + PlatformRenderer.StateSetBlendEnable(false); \ + else if ((cap) == 0x0B44 /*GL_CULL_FACE*/) \ + PlatformRenderer.StateSetFaceCull(false); \ + else if ((cap) == 0x0B71 /*GL_DEPTH_TEST*/) \ + PlatformRenderer.StateSetDepthTestEnable(false); \ + else if ((cap) == 0x4000 /*GL_LIGHT0*/) \ + PlatformRenderer.StateSetLightEnable(0, false); \ + else if ((cap) == 0x4001 /*GL_LIGHT1*/) \ + PlatformRenderer.StateSetLightEnable(1, false); \ + else if ((cap) == 0x0B57 /*GL_COLOR_MATERIAL*/ \ + || (cap) == 0x0BA1 /*GL_NORMALIZE*/ \ + || (cap) == 0x803A /*GL_RESCALE_NORMAL*/ \ + || (cap) == 0x0C60 /*GL_TEXTURE_GEN_S*/ \ + || (cap) == 0x0C61 /*GL_TEXTURE_GEN_T*/ \ + || (cap) == 0x0C62 /*GL_TEXTURE_GEN_R*/ \ + || (cap) == 0x0C63 /*GL_TEXTURE_GEN_Q*/) { /* empty */ \ + } else \ + ::glDisable(cap); \ + } while (0) + +#undef glFogi +#define glFogi(pname, param) \ + do { \ + if ((pname) == 0x0B65 /*GL_FOG_MODE*/) \ + PlatformRenderer.StateSetFogMode(param); \ + } while (0) + +#undef glFogf +#define glFogf(pname, param) \ + do { \ + if ((pname) == 0x0B63 /*GL_FOG_START*/) \ + PlatformRenderer.StateSetFogNearDistance(param); \ + else if ((pname) == 0x0B64 /*GL_FOG_END*/) \ + PlatformRenderer.StateSetFogFarDistance(param); \ + else if ((pname) == 0x0B62 /*GL_FOG_DENSITY*/) \ + PlatformRenderer.StateSetFogDensity(param); \ + } while (0) + +#undef glOrtho +#define glOrtho(left, right, bottom, top, zNear, zFar) \ + do { \ + PlatformRenderer.MatrixOrthogonal(left, right, bottom, top, zNear, zFar); \ + } while (0) + +#undef glMultiTexCoord2f +#define glMultiTexCoord2f(tex, u, v) \ + do { \ + if ((tex) == 0x84C1 /*GL_TEXTURE1*/) \ + PlatformRenderer.StateSetVertexTextureUV(u, v); \ + } while (0) + +#undef glActiveTexture +#define glActiveTexture(tex) \ + do { \ + PlatformRenderer.StateSetActiveTexture(tex); \ + ::glActiveTexture(tex); \ + } while (0) + +#undef glClientActiveTexture +#define glClientActiveTexture(tex) \ + do { \ + PlatformRenderer.StateSetActiveTexture(tex); \ + } while (0) + +// declarations +int glGenTextures_4J(); +void glGenTextures_4J(int n, unsigned int* textures); +void glDeleteTextures_4J(int id); +void glDeleteTextures_4J(int n, const unsigned int* textures); +void glTexImage2D_4J(int target, int level, int internalformat, int width, + int height, int border, int format, int type, + void* pixels); + +// helprs +void glGenQueries_4J_Helper(unsigned int* id); +void glGetQueryObjectu_4J_Helper(unsigned int id, unsigned int pname, + unsigned int* val); + +template +inline void glGenTextures_4J(T* buf) { + unsigned int id = 0; + ::glGenTextures(1, &id); + buf->put((int)id); + buf->flip(); +} +template +inline void glDeleteTextures_4J(T* buf) { + if (buf->limit() > 0) { + unsigned int id = (unsigned int)buf->get(0); + ::glDeleteTextures(1, &id); + } +} +template +inline void glTexCoordPointer_4J(int size, int type, T* pointer) {} +template +inline void glNormalPointer_4J(int type, T* pointer) {} +template +inline void glColorPointer_4J(int size, bool normalized, int stride, + T* pointer) {} +template +inline void glVertexPointer_4J(int size, int type, T* pointer) {} +template +inline void glTexImage2D_4J(int target, int level, int internalformat, + int width, int height, int border, int format, + int type, T* pixels) { + void* data = pixels ? pixels->getBuffer() : nullptr; + ::glTexImage2D((unsigned int)target, level, internalformat, width, height, + border, (unsigned int)format, (unsigned int)type, data); +} +template +inline void glCallLists_4J(T* lists) { + int base = lists->position(); + int count = lists->limit() - base; + for (int i = 0; i < count; i++) { + PlatformRenderer.CBuffCall(lists->get(base + i)); + } +} +template +inline void glGenQueries_4J(T* buf) { + unsigned int id = 0; + glGenQueries_4J_Helper(&id); + buf->put((int)id); + buf->flip(); +} +template +inline void glGetQueryObjectu_4J(int id, int pname, T* params) { + unsigned int val = 0; + glGetQueryObjectu_4J_Helper((unsigned int)id, (unsigned int)pname, &val); + params->put((int)val); + params->flip(); +} +template +inline void glFog_4J(int pname, T* params) { + float* p = params->_getDataPointer(); + if (pname == 0x0B66 /* GL_FOG_COLOR */) + 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 */) + PlatformRenderer.StateSetLightDirection(light == 0x4000 ? 0 : 1, p[0], + p[1], p[2]); + else if (pname == 0x1200 /* GL_AMBIENT */) + PlatformRenderer.StateSetLightAmbientColour(p[0], p[1], p[2]); + else if (pname == 0x1201 /* GL_DIFFUSE */) + 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 */) + PlatformRenderer.StateSetLightAmbientColour(p[0], p[1], p[2]); +} +template +inline void glTexGen_4J(int coord, int pname, T* params) {} +inline void glReadPixels_4J(int x, int y, int width, int height, int format, + int type, void* pixels) { + ::glReadPixels(x, y, width, height, (unsigned int)format, + (unsigned int)type, pixels); +} +inline void glReadPixels_4J(int x, int y, int width, int height, int format, + int type, unsigned char* pixels) { + ::glReadPixels(x, y, width, height, (unsigned int)format, + (unsigned int)type, (void*)pixels); +} +// T -> .getBuffer() +template +inline void glReadPixels_4J(int x, int y, int width, int height, int format, + int type, T* pixels) { + ::glReadPixels(x, y, width, height, (unsigned int)format, + (unsigned int)type, pixels->getBuffer()); +} +void glBeginQuery_4J_Helper(unsigned int target, unsigned int id); +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__) +#define glTexCoordPointer(a, b, c) glTexCoordPointer_4J(a, b, c) +#define glNormalPointer(a, b) glNormalPointer_4J(a, b) +#define glColorPointer(a, b, c, d) glColorPointer_4J(a, b, c, d) +#define glVertexPointer(a, b, c) glVertexPointer_4J(a, b, c) +#define glTexImage2D(a, b, c, d, e, f, g, h, i) \ + glTexImage2D_4J(a, b, c, d, e, f, g, h, i) +#define glCallLists(x) glCallLists_4J(x) +#define glGenQueriesARB(x) glGenQueries_4J(x) +#define glGetQueryObjectuARB(a, b, c) glGetQueryObjectu_4J(a, b, c) +#define glReadPixels(a, b, c, d, e, f, g) glReadPixels_4J(a, b, c, d, e, f, g) +#define glFog(a, b) glFog_4J(a, b) +#define glLight(a, b, c) glLight_4J(a, b, c) +#define glLightModel(a, b) glLightModel_4J(a, b) +#define glTexGen(a, b, c) glTexGen_4J(a, b, c) diff --git a/targets/platform/renderer/renderer.h b/targets/platform/renderer/renderer.h index 873b2a352..70f70b6a2 100644 --- a/targets/platform/renderer/renderer.h +++ b/targets/platform/renderer/renderer.h @@ -1,4 +1,10 @@ -#include "IPlatformRenderer.h" -#include "./gl/GLRenderer.h" // 4jcraft TODO: find a way to handle OpenGL stubs through a facade +#pragma once +#include "IPlatformRenderer.h" + +// Defined in the linked renderer backend (currently +// platform/renderer/gl/GLRenderer.cpp). The legacy gl* macro shim used +// by older rendering call sites lives in +// platform/renderer/gl/gl_compat.h, which is brought in via +// platform/stubs.h on linux. extern IPlatformRenderer& PlatformRenderer; diff --git a/targets/platform/stubs.h b/targets/platform/stubs.h index 5c2f47b4a..bcd243d02 100644 --- a/targets/platform/stubs.h +++ b/targets/platform/stubs.h @@ -3,6 +3,7 @@ #include #ifdef __linux__ +#include "renderer/gl/gl_compat.h" #include #include