Update dew, fix no lighting mode
This commit is contained in:
parent
875c0fb9fd
commit
30c1646f02
|
@ -5,10 +5,11 @@ set(MACOSX_DEPLOYMENT_TARGET 10.10)
|
||||||
if(NOT CMAKE_BUILD_TYPE)
|
if(NOT CMAKE_BUILD_TYPE)
|
||||||
set(CMAKE_BUILD_TYPE Release)
|
set(CMAKE_BUILD_TYPE Release)
|
||||||
endif()
|
endif()
|
||||||
|
set(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE})
|
||||||
|
|
||||||
project(PrimeWorldEditor CXX)
|
project(PrimeWorldEditor CXX)
|
||||||
|
|
||||||
option(PWE_PUBLIC_RELEASE "Enable end-user deployment configuration for PWE" OFF)
|
option(PWE_PUBLIC_RELEASE "Enable end-user deployment configuration for PWE" ON)
|
||||||
if (PWE_PUBLIC_RELEASE)
|
if (PWE_PUBLIC_RELEASE)
|
||||||
add_compile_definitions(PUBLIC_RELEASE=1)
|
add_compile_definitions(PUBLIC_RELEASE=1)
|
||||||
message(STATUS "Enabled public release mode")
|
message(STATUS "Enabled public release mode")
|
||||||
|
|
|
@ -17,6 +17,13 @@ function(integrate_dew)
|
||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
#
|
||||||
|
# Advise the user that setting the build type is necessary for debug dependencies.
|
||||||
|
#
|
||||||
|
if (NOT CMAKE_BUILD_TYPE)
|
||||||
|
message(WARNING "CMAKE_BUILD_TYPE is not set. Dew will build release dependencies by default.")
|
||||||
|
endif()
|
||||||
|
|
||||||
#
|
#
|
||||||
# Acquaint CMake with dew prefix
|
# Acquaint CMake with dew prefix
|
||||||
#
|
#
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
"url": "https://github.com/AxioDL/nod",
|
"url": "https://github.com/AxioDL/nod",
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"head": "master",
|
"head": "master",
|
||||||
"ref": "a1284ae06586b958f36b8ecaba29390835ed2820"
|
"ref": "f147e1235646b849f78a8574a6d554214b70792d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "lzokay",
|
"name": "lzokay",
|
||||||
|
|
|
@ -3,8 +3,8 @@ cmake_minimum_required(VERSION 3.12)
|
||||||
project(pwe_core CXX C)
|
project(pwe_core CXX C)
|
||||||
|
|
||||||
find_package(tinyxml2 CONFIG REQUIRED)
|
find_package(tinyxml2 CONFIG REQUIRED)
|
||||||
find_package(nod CONFIG REQUIRED)
|
|
||||||
find_package(logvisor CONFIG REQUIRED)
|
find_package(logvisor CONFIG REQUIRED)
|
||||||
|
find_package(nod CONFIG REQUIRED)
|
||||||
find_package(lzokay CONFIG REQUIRED)
|
find_package(lzokay CONFIG REQUIRED)
|
||||||
find_package(OpenGL REQUIRED)
|
find_package(OpenGL REQUIRED)
|
||||||
find_package(assimp CONFIG REQUIRED)
|
find_package(assimp CONFIG REQUIRED)
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#include <Common/Serialization/CXMLWriter.h>
|
#include <Common/Serialization/CXMLWriter.h>
|
||||||
|
|
||||||
#include <nod/nod.hpp>
|
#include <nod/nod.hpp>
|
||||||
|
#include <nod/DiscBase.hpp>
|
||||||
#include <tinyxml2.h>
|
#include <tinyxml2.h>
|
||||||
|
|
||||||
#define LOAD_PAKS 1
|
#define LOAD_PAKS 1
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <Common/Flags.h>
|
#include <Common/Flags.h>
|
||||||
#include <Common/TString.h>
|
#include <Common/TString.h>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <nod/nod.hpp>
|
#include <nod/DiscBase.hpp>
|
||||||
|
|
||||||
enum class EDiscType
|
enum class EDiscType
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
#include "IUIRelay.h"
|
#include "IUIRelay.h"
|
||||||
#include "Core/Resource/Script/CGameTemplate.h"
|
#include "Core/Resource/Script/CGameTemplate.h"
|
||||||
#include <Common/Serialization/XML.h>
|
#include <Common/Serialization/XML.h>
|
||||||
#include <nod/nod.hpp>
|
#include <nod/DiscGCN.hpp>
|
||||||
|
#include <nod/DiscWii.hpp>
|
||||||
|
|
||||||
#if NOD_UCS2
|
#if NOD_UCS2
|
||||||
#define TStringToNodString(string) ToWChar(string)
|
#define TStringToNodString(string) ToWChar(string)
|
||||||
|
|
|
@ -109,12 +109,12 @@ void CStaticModel::Draw(FRenderOptions Options)
|
||||||
{
|
{
|
||||||
if (!mBuffered) BufferGL();
|
if (!mBuffered) BufferGL();
|
||||||
|
|
||||||
if ((Options & ERenderOption::NoMaterialSetup) == 0) mpMaterial->SetCurrent(Options);
|
|
||||||
|
|
||||||
// Draw IBOs
|
|
||||||
mVBO.Bind();
|
mVBO.Bind();
|
||||||
glLineWidth(1.f);
|
glLineWidth(1.f);
|
||||||
|
|
||||||
|
auto DoDraw = [this]()
|
||||||
|
{
|
||||||
|
// Draw IBOs
|
||||||
for (uint32 iIBO = 0; iIBO < mIBOs.size(); iIBO++)
|
for (uint32 iIBO = 0; iIBO < mIBOs.size(); iIBO++)
|
||||||
{
|
{
|
||||||
CIndexBuffer *pIBO = &mIBOs[iIBO];
|
CIndexBuffer *pIBO = &mIBOs[iIBO];
|
||||||
|
@ -123,6 +123,21 @@ void CStaticModel::Draw(FRenderOptions Options)
|
||||||
pIBO->Unbind();
|
pIBO->Unbind();
|
||||||
gDrawCount++;
|
gDrawCount++;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Bind material
|
||||||
|
if ((Options & ERenderOption::NoMaterialSetup) == 0)
|
||||||
|
{
|
||||||
|
for (CMaterial* passMat = mpMaterial; passMat; passMat = passMat->GetNextDrawPass())
|
||||||
|
{
|
||||||
|
passMat->SetCurrent(Options);
|
||||||
|
DoDraw();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DoDraw();
|
||||||
|
}
|
||||||
|
|
||||||
mVBO.Unbind();
|
mVBO.Unbind();
|
||||||
}
|
}
|
||||||
|
@ -133,8 +148,9 @@ void CStaticModel::DrawSurface(FRenderOptions Options, uint32 Surface)
|
||||||
|
|
||||||
mVBO.Bind();
|
mVBO.Bind();
|
||||||
glLineWidth(1.f);
|
glLineWidth(1.f);
|
||||||
if ((Options & ERenderOption::NoMaterialSetup) == 0) mpMaterial->SetCurrent(Options);
|
|
||||||
|
|
||||||
|
auto DoDraw = [this, Surface]()
|
||||||
|
{
|
||||||
for (uint32 iIBO = 0; iIBO < mIBOs.size(); iIBO++)
|
for (uint32 iIBO = 0; iIBO < mIBOs.size(); iIBO++)
|
||||||
{
|
{
|
||||||
// Since there is a shared IBO for every mesh, we need two things to draw a single one: an offset and a size
|
// Since there is a shared IBO for every mesh, we need two things to draw a single one: an offset and a size
|
||||||
|
@ -148,6 +164,21 @@ void CStaticModel::DrawSurface(FRenderOptions Options, uint32 Surface)
|
||||||
mIBOs[iIBO].DrawElements(Offset, Size);
|
mIBOs[iIBO].DrawElements(Offset, Size);
|
||||||
gDrawCount++;
|
gDrawCount++;
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Bind material
|
||||||
|
if ((Options & ERenderOption::NoMaterialSetup) == 0)
|
||||||
|
{
|
||||||
|
for (CMaterial* passMat = mpMaterial; passMat; passMat = passMat->GetNextDrawPass())
|
||||||
|
{
|
||||||
|
passMat->SetCurrent(Options);
|
||||||
|
DoDraw();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DoDraw();
|
||||||
|
}
|
||||||
|
|
||||||
mVBO.Unbind();
|
mVBO.Unbind();
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,6 +63,7 @@ void CStaticNode::Draw(FRenderOptions Options, int ComponentIndex, ERenderComman
|
||||||
{
|
{
|
||||||
CGraphics::sNumLights = 0;
|
CGraphics::sNumLights = 0;
|
||||||
CGraphics::sVertexBlock.COLOR0_Amb = UseWhiteAmbient ? CColor::skTransparentWhite : CColor::skTransparentBlack;
|
CGraphics::sVertexBlock.COLOR0_Amb = UseWhiteAmbient ? CColor::skTransparentWhite : CColor::skTransparentBlack;
|
||||||
|
CGraphics::sVertexBlock.COLOR0_Mat = CColor::skBlack;
|
||||||
CGraphics::sPixelBlock.LightmapMultiplier = 1.0f;
|
CGraphics::sPixelBlock.LightmapMultiplier = 1.0f;
|
||||||
CGraphics::UpdateLightBlock();
|
CGraphics::UpdateLightBlock();
|
||||||
}
|
}
|
||||||
|
@ -72,10 +73,9 @@ void CStaticNode::Draw(FRenderOptions Options, int ComponentIndex, ERenderComman
|
||||||
LoadLights(rkViewInfo);
|
LoadLights(rkViewInfo);
|
||||||
if (CGraphics::sLightMode == CGraphics::ELightingMode::None || UseWhiteAmbient)
|
if (CGraphics::sLightMode == CGraphics::ELightingMode::None || UseWhiteAmbient)
|
||||||
CGraphics::sVertexBlock.COLOR0_Amb = CColor::skTransparentWhite;
|
CGraphics::sVertexBlock.COLOR0_Amb = CColor::skTransparentWhite;
|
||||||
|
CGraphics::sVertexBlock.COLOR0_Mat = CColor::skWhite;
|
||||||
}
|
}
|
||||||
|
|
||||||
CGraphics::sVertexBlock.COLOR0_Mat = CColor::skBlack;
|
|
||||||
|
|
||||||
float Mul = CGraphics::sWorldLightMultiplier;
|
float Mul = CGraphics::sWorldLightMultiplier;
|
||||||
CGraphics::sPixelBlock.SetAllTevColors(CColor(Mul,Mul,Mul));
|
CGraphics::sPixelBlock.SetAllTevColors(CColor(Mul,Mul,Mul));
|
||||||
CGraphics::sPixelBlock.TintColor = TintColor(rkViewInfo);
|
CGraphics::sPixelBlock.TintColor = TintColor(rkViewInfo);
|
||||||
|
|
|
@ -37,5 +37,6 @@ void CCollisionEditorViewport::Paint()
|
||||||
|
|
||||||
void CCollisionEditorViewport::OnResize()
|
void CCollisionEditorViewport::OnResize()
|
||||||
{
|
{
|
||||||
mpRenderer->SetViewportSize(width(), height());
|
qreal pixelRatio = devicePixelRatioF();
|
||||||
|
mpRenderer->SetViewportSize(width() * pixelRatio, height() * pixelRatio);
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,10 +81,13 @@ void CModelEditorViewport::Paint()
|
||||||
CGraphics::UpdateMVPBlock();
|
CGraphics::UpdateMVPBlock();
|
||||||
CGraphics::SetDefaultLighting();
|
CGraphics::SetDefaultLighting();
|
||||||
CGraphics::UpdateLightBlock(); // Note: vertex block is updated by the material
|
CGraphics::UpdateLightBlock(); // Note: vertex block is updated by the material
|
||||||
mpActiveMaterial->SetCurrent(ERenderOption::EnableUVScroll | ERenderOption::EnableBackfaceCull | ERenderOption::EnableOccluders);
|
|
||||||
|
|
||||||
|
for (CMaterial* passMat = mpActiveMaterial; passMat; passMat = passMat->GetNextDrawPass())
|
||||||
|
{
|
||||||
|
passMat->SetCurrent(ERenderOption::EnableUVScroll | ERenderOption::EnableBackfaceCull | ERenderOption::EnableOccluders);
|
||||||
CDrawUtil::DrawSphere(true);
|
CDrawUtil::DrawSphere(true);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
else if (mMode == EDrawMode::DrawSquare)
|
else if (mMode == EDrawMode::DrawSquare)
|
||||||
{
|
{
|
||||||
|
@ -100,10 +103,13 @@ void CModelEditorViewport::Paint()
|
||||||
CGraphics::sMVPBlock.ProjectionMatrix = CMatrix4f::skIdentity;
|
CGraphics::sMVPBlock.ProjectionMatrix = CMatrix4f::skIdentity;
|
||||||
CGraphics::UpdateMVPBlock();
|
CGraphics::UpdateMVPBlock();
|
||||||
|
|
||||||
mpActiveMaterial->SetCurrent(ERenderOption::EnableUVScroll | ERenderOption::EnableOccluders);
|
for (CMaterial* passMat = mpActiveMaterial; passMat; passMat = passMat->GetNextDrawPass())
|
||||||
|
{
|
||||||
|
passMat->SetCurrent(ERenderOption::EnableUVScroll | ERenderOption::EnableOccluders);
|
||||||
float Aspect = (float) width() / (float) height();
|
float Aspect = (float) width() / (float) height();
|
||||||
CDrawUtil::DrawSquare(CVector2f(0,1), CVector2f(1 * Aspect, 1), CVector2f(1 * Aspect, 0), CVector2f(0,0));
|
CDrawUtil::DrawSquare(CVector2f(0,1), CVector2f(1 * Aspect, 1), CVector2f(1 * Aspect, 0), CVector2f(0,0));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mpRenderer->EndFrame();
|
mpRenderer->EndFrame();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue