mirror of https://github.com/AxioDL/metaforce.git
HLSL shader sync, Windows build fixes
This commit is contained in:
parent
e401a497ef
commit
9ca7f9c9e4
|
@ -208,15 +208,13 @@ void AROTBuilder::Node::writeColNodes(uint8_t*& ptr, const zeus::CAABox& curAABB
|
|||
{
|
||||
if (childNodes.empty())
|
||||
{
|
||||
zeus::CAABox swapAABB = curAABB;
|
||||
swapAABB.min[0] = hecl::SBig(swapAABB.min[0]);
|
||||
swapAABB.min[1] = hecl::SBig(swapAABB.min[1]);
|
||||
swapAABB.min[2] = hecl::SBig(swapAABB.min[2]);
|
||||
swapAABB.max[0] = hecl::SBig(swapAABB.max[0]);
|
||||
swapAABB.max[1] = hecl::SBig(swapAABB.max[1]);
|
||||
swapAABB.max[2] = hecl::SBig(swapAABB.max[2]);
|
||||
*reinterpret_cast<zeus::CVector3f*>(ptr) = swapAABB.min;
|
||||
*reinterpret_cast<zeus::CVector3f*>(ptr + 12) = swapAABB.max;
|
||||
float* aabbOut = reinterpret_cast<float*>(ptr);
|
||||
aabbOut[0] = hecl::SBig(curAABB.min[0]);
|
||||
aabbOut[1] = hecl::SBig(curAABB.min[1]);
|
||||
aabbOut[2] = hecl::SBig(curAABB.min[2]);
|
||||
aabbOut[3] = hecl::SBig(curAABB.max[0]);
|
||||
aabbOut[4] = hecl::SBig(curAABB.max[1]);
|
||||
aabbOut[5] = hecl::SBig(curAABB.max[2]);
|
||||
athena::io::MemoryWriter w(ptr + 24, INT32_MAX);
|
||||
w.writeUint16Big(childIndices.size());
|
||||
for (int idx : childIndices)
|
||||
|
@ -227,7 +225,7 @@ void AROTBuilder::Node::writeColNodes(uint8_t*& ptr, const zeus::CAABox& curAABB
|
|||
{
|
||||
uint16_t* pflags = reinterpret_cast<uint16_t*>(ptr);
|
||||
uint32_t* offsets = reinterpret_cast<uint32_t*>(ptr + 4);
|
||||
*pflags = 0;
|
||||
memset(pflags, 0, sizeof(uint32_t) * 9);
|
||||
for (int i=0 ; i < 1 + ((flags & 0x1) != 0) ; ++i)
|
||||
{
|
||||
for (int j=0 ; j < 1 + ((flags & 0x2) != 0) ; ++j)
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include "World/CMorphBall.hpp"
|
||||
#include "World/CScriptSpawnPoint.hpp"
|
||||
#include "AutoMapper/CMapWorldInfo.hpp"
|
||||
#include "Particle/CGenDescription.hpp"
|
||||
|
||||
#include <cmath>
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#include "Graphics/CGraphics.hpp"
|
||||
#include "CCameraFilter.hpp"
|
||||
#include "GameGlobalObjects.hpp"
|
||||
#include "Graphics/CBooRenderer.hpp"
|
||||
|
|
|
@ -71,6 +71,7 @@ public:
|
|||
return x0_curCameraId;
|
||||
}
|
||||
|
||||
CFirstPersonCamera* GetFirstPersonCamera() { return x7c_fpCamera; }
|
||||
CBallCamera* GetBallCamera() { return x80_ballCamera; }
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
#if _WIN32
|
||||
#include <D3Dcommon.h>
|
||||
#endif
|
||||
#include "boo/System.hpp"
|
||||
#include "GameGlobalObjects.hpp"
|
||||
#include "CBooRenderer.hpp"
|
||||
#include "CTexture.hpp"
|
||||
|
@ -660,7 +658,7 @@ void CBooRenderer::SetThermalColdScale(float scale)
|
|||
}
|
||||
|
||||
void CBooRenderer::DoThermalBlendCold()
|
||||
{
|
||||
{
|
||||
zeus::CColor a = zeus::CColor::lerp(x2f4_thermColor, zeus::CColor::skWhite, x2f8_thermColdScale);
|
||||
m_thermColdFilter.setColorA(a);
|
||||
float bFac = 0.f;
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#ifndef __URDE_CGRAPHICS_HPP__
|
||||
#define __URDE_CGRAPHICS_HPP__
|
||||
|
||||
#include "boo/graphicsdev/IGraphicsDataFactory.hpp"
|
||||
#include "boo/graphicsdev/IGraphicsCommandQueue.hpp"
|
||||
|
||||
#include "RetroTypes.hpp"
|
||||
#include "zeus/CTransform.hpp"
|
||||
#include "zeus/CVector2i.hpp"
|
||||
#include "zeus/CColor.hpp"
|
||||
|
||||
#include "boo/graphicsdev/IGraphicsDataFactory.hpp"
|
||||
#include "boo/graphicsdev/IGraphicsCommandQueue.hpp"
|
||||
|
||||
#include "hecl/Runtime.hpp"
|
||||
|
||||
namespace urde
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
if(WIN32)
|
||||
set(PLAT_SRCS
|
||||
Shaders/CLineRendererShaderHLSL.cpp
|
||||
Shaders/CLineRendererShadersHLSL.cpp
|
||||
Shaders/CTexturedQuadFilterHLSL.cpp
|
||||
Shaders/CColoredQuadFilterHLSL.cpp
|
||||
Shaders/CModelShadersHLSL.cpp
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
#if _WIN32
|
||||
#include <D3Dcommon.h>
|
||||
#endif
|
||||
#include "Graphics/CModel.hpp"
|
||||
#include "Graphics/CTexture.hpp"
|
||||
#include "Graphics/CGraphics.hpp"
|
||||
|
|
|
@ -19,7 +19,7 @@ class CParticleGen;
|
|||
class CModel;
|
||||
class CSkinnedModel;
|
||||
class CPVSVisSet;
|
||||
class CAreaRenderOctTree;
|
||||
struct CAreaRenderOctTree;
|
||||
|
||||
class IRenderer
|
||||
{
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
#include "CColoredQuadFilter.hpp"
|
||||
#include "TMultiBlendShader.hpp"
|
||||
#include "Graphics/CTexture.hpp"
|
||||
|
||||
namespace urde
|
||||
{
|
||||
|
||||
static const char* VS =
|
||||
"struct VertData\n"
|
||||
"{\n"
|
||||
" float4 posIn : POSITION;\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"cbuffer ColoredQuadUniform : register(b0)\n"
|
||||
"{\n"
|
||||
" float4 color;\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"struct VertToFrag\n"
|
||||
"{\n"
|
||||
" float4 position : SV_Position;\n"
|
||||
" float4 color : COLOR;\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"VertToFrag main(in VertData v)\n"
|
||||
"{\n"
|
||||
" VertToFrag vtf;\n"
|
||||
" vtf.color = color;\n"
|
||||
" vtf.position = float4(v.posIn.xyz, 1.0);\n"
|
||||
" return vtf;\n"
|
||||
"}\n";
|
||||
|
||||
static const char* FS =
|
||||
"struct VertToFrag\n"
|
||||
"{\n"
|
||||
" float4 position : SV_Position;\n"
|
||||
" float4 color : COLOR;\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"float4 main(in VertToFrag vtf) : SV_Target0\n"
|
||||
"{\n"
|
||||
" return vtf.color;\n"
|
||||
"}\n";
|
||||
|
||||
URDE_DECL_SPECIALIZE_MULTI_BLEND_SHADER(CColoredQuadFilter)
|
||||
|
||||
struct CColoredQuadFilterD3DDataBindingFactory : TMultiBlendShader<CColoredQuadFilter>::IDataBindingFactory
|
||||
{
|
||||
boo::IShaderDataBinding* BuildShaderDataBinding(boo::IGraphicsDataFactory::Context& ctx,
|
||||
boo::IShaderPipeline* pipeline,
|
||||
boo::IVertexFormat* vtxFmt,
|
||||
CColoredQuadFilter& filter)
|
||||
{
|
||||
boo::ID3DDataFactory::Context& cctx = static_cast<boo::ID3DDataFactory::Context&>(ctx);
|
||||
|
||||
boo::IGraphicsBuffer* bufs[] = {filter.m_uniBuf};
|
||||
return cctx.newShaderDataBinding(pipeline, vtxFmt,
|
||||
filter.m_vbo, nullptr, nullptr, 1, bufs,
|
||||
nullptr, nullptr, nullptr, 0, nullptr);
|
||||
}
|
||||
};
|
||||
|
||||
TMultiBlendShader<CColoredQuadFilter>::IDataBindingFactory*
|
||||
CColoredQuadFilter::Initialize(boo::ID3DDataFactory::Context& ctx,
|
||||
boo::IShaderPipeline*& alphaPipeOut,
|
||||
boo::IShaderPipeline*& additivePipeOut,
|
||||
boo::IShaderPipeline*& colorMultiplyPipeOut,
|
||||
boo::IVertexFormat*& vtxFmtOut)
|
||||
{
|
||||
const boo::VertexElementDescriptor VtxVmt[] =
|
||||
{
|
||||
{nullptr, nullptr, boo::VertexSemantic::Position4}
|
||||
};
|
||||
vtxFmtOut = ctx.newVertexFormat(1, VtxVmt);
|
||||
alphaPipeOut = ctx.newShaderPipeline(VS, FS, ComPtr<ID3DBlob>(), ComPtr<ID3DBlob>(), ComPtr<ID3DBlob>(),
|
||||
vtxFmtOut, boo::BlendFactor::SrcAlpha,
|
||||
boo::BlendFactor::InvSrcAlpha, boo::Primitive::TriStrips, false, false, false);
|
||||
additivePipeOut = ctx.newShaderPipeline(VS, FS, ComPtr<ID3DBlob>(), ComPtr<ID3DBlob>(), ComPtr<ID3DBlob>(),
|
||||
vtxFmtOut, boo::BlendFactor::SrcAlpha,
|
||||
boo::BlendFactor::One, boo::Primitive::TriStrips, false, false, false);
|
||||
colorMultiplyPipeOut = ctx.newShaderPipeline(VS, FS, ComPtr<ID3DBlob>(), ComPtr<ID3DBlob>(), ComPtr<ID3DBlob>(),
|
||||
vtxFmtOut, boo::BlendFactor::SrcColor,
|
||||
boo::BlendFactor::DstColor, boo::Primitive::TriStrips, false, false, false);
|
||||
return new CColoredQuadFilterD3DDataBindingFactory;
|
||||
}
|
||||
|
||||
}
|
|
@ -57,14 +57,16 @@ URDE_DECL_SPECIALIZE_SHADER(CSpaceWarpFilter)
|
|||
|
||||
struct CSpaceWarpFilterD3DDataBindingFactory : TShader<CSpaceWarpFilter>::IDataBindingFactory
|
||||
{
|
||||
boo::IShaderDataBinding* BuildShaderDataBinding(boo::IGraphicsDataFactory::Context& ctx, CSpaceWarpFilter& filter)
|
||||
boo::IShaderDataBinding* BuildShaderDataBinding(boo::IGraphicsDataFactory::Context& ctx,
|
||||
boo::IShaderPipeline* pipeline,
|
||||
boo::IVertexFormat* vtxFmt,
|
||||
CSpaceWarpFilter& filter)
|
||||
{
|
||||
boo::ID3DDataFactory::Context& cctx = static_cast<boo::ID3DDataFactory::Context&>(ctx);
|
||||
|
||||
boo::IGraphicsBuffer* bufs[] = {filter.m_uniBuf};
|
||||
boo::ITexture* texs[] = {CGraphics::g_SpareTexture, filter.m_warpTex};
|
||||
return cctx.newShaderDataBinding(TShader<CSpaceWarpFilter>::m_pipeline,
|
||||
TShader<CSpaceWarpFilter>::m_vtxFmt,
|
||||
return cctx.newShaderDataBinding(pipeline, vtxFmt,
|
||||
filter.m_vbo, nullptr, nullptr, 1, bufs,
|
||||
nullptr, nullptr, nullptr, 2, texs);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,96 @@
|
|||
#include "CTexturedQuadFilter.hpp"
|
||||
#include "TMultiBlendShader.hpp"
|
||||
#include "Graphics/CTexture.hpp"
|
||||
|
||||
namespace urde
|
||||
{
|
||||
|
||||
static const char* VS =
|
||||
"struct VertData\n"
|
||||
"{\n"
|
||||
" float4 posIn : POSITION;\n"
|
||||
" float4 uvIn : UV;\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"cbuffer TexuredQuadUniform : register(b0)\n"
|
||||
"{\n"
|
||||
" float4 color;\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"struct VertToFrag\n"
|
||||
"{\n"
|
||||
" float4 position : SV_Position;\n"
|
||||
" float4 color : COLOR;\n"
|
||||
" float2 uv : UV;\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"VertToFrag main(in VertData v)\n"
|
||||
"{\n"
|
||||
" VertToFrag vtf;\n"
|
||||
" vtf.color = color;\n"
|
||||
" vtf.uv = v.uvIn.xy;\n"
|
||||
" vtf.position = float4(v.posIn.xyz, 1.0);\n"
|
||||
" return vtf;\n"
|
||||
"}\n";
|
||||
|
||||
static const char* FS =
|
||||
"struct VertToFrag\n"
|
||||
"{\n"
|
||||
" float4 position : SV_Position;\n"
|
||||
" float4 color : COLOR;\n"
|
||||
" float2 uv : UV;\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"Texture2D tex : register(t0);\n"
|
||||
"SamplerState samp : register(s0);\n"
|
||||
"\n"
|
||||
"float4 main(in VertToFrag vtf) : SV_Target0\n"
|
||||
"{\n"
|
||||
" return vtf.color * tex.Sample(samp, vtf.uv);\n"
|
||||
"}\n";
|
||||
|
||||
URDE_DECL_SPECIALIZE_MULTI_BLEND_SHADER(CTexturedQuadFilter)
|
||||
|
||||
struct CTexturedQuadFilterD3DDataBindingFactory : TMultiBlendShader<CTexturedQuadFilter>::IDataBindingFactory
|
||||
{
|
||||
boo::IShaderDataBinding* BuildShaderDataBinding(boo::IGraphicsDataFactory::Context& ctx,
|
||||
boo::IShaderPipeline* pipeline,
|
||||
boo::IVertexFormat* vtxFmt,
|
||||
CTexturedQuadFilter& filter)
|
||||
{
|
||||
boo::ID3DDataFactory::Context& cctx = static_cast<boo::ID3DDataFactory::Context&>(ctx);
|
||||
|
||||
boo::IGraphicsBuffer* bufs[] = {filter.m_uniBuf};
|
||||
boo::ITexture* texs[] = {filter.m_tex->GetBooTexture()};
|
||||
return cctx.newShaderDataBinding(pipeline, vtxFmt,
|
||||
filter.m_vbo, nullptr, nullptr, 1, bufs,
|
||||
nullptr, nullptr, nullptr, 1, texs);
|
||||
}
|
||||
};
|
||||
|
||||
TMultiBlendShader<CTexturedQuadFilter>::IDataBindingFactory*
|
||||
CTexturedQuadFilter::Initialize(boo::ID3DDataFactory::Context& ctx,
|
||||
boo::IShaderPipeline*& alphaPipeOut,
|
||||
boo::IShaderPipeline*& additivePipeOut,
|
||||
boo::IShaderPipeline*& colorMultiplyPipeOut,
|
||||
boo::IVertexFormat*& vtxFmtOut)
|
||||
{
|
||||
const boo::VertexElementDescriptor VtxVmt[] =
|
||||
{
|
||||
{nullptr, nullptr, boo::VertexSemantic::Position4},
|
||||
{nullptr, nullptr, boo::VertexSemantic::UV4}
|
||||
};
|
||||
vtxFmtOut = ctx.newVertexFormat(2, VtxVmt);
|
||||
alphaPipeOut = ctx.newShaderPipeline(VS, FS, ComPtr<ID3DBlob>(), ComPtr<ID3DBlob>(), ComPtr<ID3DBlob>(),
|
||||
vtxFmtOut, boo::BlendFactor::SrcAlpha,
|
||||
boo::BlendFactor::InvSrcAlpha, boo::Primitive::TriStrips, false, false, false);
|
||||
additivePipeOut = ctx.newShaderPipeline(VS, FS, ComPtr<ID3DBlob>(), ComPtr<ID3DBlob>(), ComPtr<ID3DBlob>(),
|
||||
vtxFmtOut, boo::BlendFactor::SrcAlpha,
|
||||
boo::BlendFactor::One, boo::Primitive::TriStrips, false, false, false);
|
||||
colorMultiplyPipeOut = ctx.newShaderPipeline(VS, FS, ComPtr<ID3DBlob>(), ComPtr<ID3DBlob>(), ComPtr<ID3DBlob>(),
|
||||
vtxFmtOut, boo::BlendFactor::SrcColor,
|
||||
boo::BlendFactor::DstColor, boo::Primitive::TriStrips, false, false, false);
|
||||
return new CTexturedQuadFilterD3DDataBindingFactory;
|
||||
}
|
||||
|
||||
}
|
|
@ -79,14 +79,16 @@ URDE_DECL_SPECIALIZE_SHADER(CThermalColdFilter)
|
|||
|
||||
struct CThermalColdFilterD3DDataBindingFactory : TShader<CThermalColdFilter>::IDataBindingFactory
|
||||
{
|
||||
boo::IShaderDataBinding* BuildShaderDataBinding(boo::IGraphicsDataFactory::Context& ctx, CThermalColdFilter& filter)
|
||||
boo::IShaderDataBinding* BuildShaderDataBinding(boo::IGraphicsDataFactory::Context& ctx,
|
||||
boo::IShaderPipeline* pipeline,
|
||||
boo::IVertexFormat* vtxFmt,
|
||||
CThermalColdFilter& filter)
|
||||
{
|
||||
boo::ID3DDataFactory::Context& cctx = static_cast<boo::ID3DDataFactory::Context&>(ctx);
|
||||
|
||||
boo::IGraphicsBuffer* bufs[] = {filter.m_uniBuf};
|
||||
boo::ITexture* texs[] = {CGraphics::g_SpareTexture, filter.m_shiftTex};
|
||||
return cctx.newShaderDataBinding(TShader<CThermalColdFilter>::m_pipeline,
|
||||
TShader<CThermalColdFilter>::m_vtxFmt,
|
||||
return cctx.newShaderDataBinding(pipeline, vtxFmt,
|
||||
filter.m_vbo, nullptr, nullptr, 1, bufs,
|
||||
nullptr, nullptr, nullptr, 2, texs);
|
||||
}
|
||||
|
|
|
@ -56,14 +56,16 @@ URDE_DECL_SPECIALIZE_SHADER(CThermalHotFilter)
|
|||
|
||||
struct CThermalHotFilterD3DDataBindingFactory : TShader<CThermalHotFilter>::IDataBindingFactory
|
||||
{
|
||||
boo::IShaderDataBinding* BuildShaderDataBinding(boo::IGraphicsDataFactory::Context& ctx, CThermalHotFilter& filter)
|
||||
boo::IShaderDataBinding* BuildShaderDataBinding(boo::IGraphicsDataFactory::Context& ctx,
|
||||
boo::IShaderPipeline* pipeline,
|
||||
boo::IVertexFormat* vtxFmt,
|
||||
CThermalHotFilter& filter)
|
||||
{
|
||||
boo::ID3DDataFactory::Context& cctx = static_cast<boo::ID3DDataFactory::Context&>(ctx);
|
||||
|
||||
boo::IGraphicsBuffer* bufs[] = {filter.m_uniBuf};
|
||||
boo::ITexture* texs[] = {CGraphics::g_SpareTexture, g_Renderer->GetThermoPalette()};
|
||||
return cctx.newShaderDataBinding(TShader<CThermalHotFilter>::m_pipeline,
|
||||
TShader<CThermalHotFilter>::m_vtxFmt,
|
||||
return cctx.newShaderDataBinding(pipeline, vtxFmt,
|
||||
filter.m_vbo, nullptr, nullptr, 1, bufs,
|
||||
nullptr, nullptr, nullptr, 2, texs);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
#if _WIN32
|
||||
#include <D3Dcommon.h>
|
||||
#endif
|
||||
#include "CGameArea.hpp"
|
||||
#include "GameGlobalObjects.hpp"
|
||||
#include "Graphics/CBooRenderer.hpp"
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
#include "CActorParameters.hpp"
|
||||
#include "CMorphBall.hpp"
|
||||
#include "CPlayerGun.hpp"
|
||||
#include "CStateManager.hpp"
|
||||
#include "Particle/CGenDescription.hpp"
|
||||
|
||||
namespace urde
|
||||
{
|
||||
|
@ -21,6 +23,7 @@ CPlayer::CPlayer(TUniqueId uid, const zeus::CTransform& xf, const zeus::CAABox&
|
|||
|
||||
bool CPlayer::IsTransparent() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void CPlayer::Update(float, CStateManager& mgr)
|
||||
|
@ -29,6 +32,7 @@ void CPlayer::Update(float, CStateManager& mgr)
|
|||
|
||||
bool CPlayer::IsPlayerDeadEnough() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void CPlayer::AsyncLoadSuit(CStateManager& mgr)
|
||||
|
@ -42,24 +46,29 @@ void CPlayer::LoadAnimationTokens()
|
|||
|
||||
bool CPlayer::CanRenderUnsorted(CStateManager& mgr) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
const CDamageVulnerability& CPlayer::GetDamageVulnerability(const zeus::CVector3f& v1,
|
||||
const CDamageVulnerability* CPlayer::GetDamageVulnerability(const zeus::CVector3f& v1,
|
||||
const zeus::CVector3f& v2,
|
||||
const CDamageInfo& info) const
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const CDamageVulnerability& CPlayer::GetDamageVulnerability() const
|
||||
const CDamageVulnerability* CPlayer::GetDamageVulnerability() const
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
zeus::CVector3f CPlayer::GetHomingPosition(CStateManager& mgr, float) const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
zeus::CVector3f CPlayer::GetAimPosition(CStateManager& mgr, float) const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
void CPlayer::FluidFXThink(CActor::EFluidState, CScriptWater& water, CStateManager& mgr)
|
||||
|
@ -68,18 +77,22 @@ void CPlayer::FluidFXThink(CActor::EFluidState, CScriptWater& water, CStateManag
|
|||
|
||||
zeus::CVector3f CPlayer::GetDamageLocationWR() const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
float CPlayer::GetPrevDamageAmount() const
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
float CPlayer::GetDamageAmount() const
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
bool CPlayer::WasDamaged() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void CPlayer::TakeDamage(bool, const zeus::CVector3f&, float, EWeaponType, CStateManager& mgr)
|
||||
|
@ -90,16 +103,19 @@ void CPlayer::Accept(IVisitor& visitor)
|
|||
{
|
||||
}
|
||||
|
||||
CHealthInfo& CPlayer::HealthInfo(CStateManager& mgr)
|
||||
CHealthInfo* CPlayer::HealthInfo(CStateManager& mgr)
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool CPlayer::IsUnderBetaMetroidAttack(CStateManager& mgr) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
rstl::optional_object<zeus::CAABox> CPlayer::GetTouchBounds() const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
void CPlayer::Touch(CActor&, CStateManager& mgr)
|
||||
|
@ -120,10 +136,12 @@ void CPlayer::SetScanningState(EPlayerScanState, CStateManager& mgr)
|
|||
|
||||
bool CPlayer::GetExplorationMode() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CPlayer::GetCombatMode() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void CPlayer::RenderGun(CStateManager& mgr, const zeus::CVector3f&) const
|
||||
|
@ -160,6 +178,7 @@ void CPlayer::UpdateFreeLook(float dt)
|
|||
|
||||
float CPlayer::GetMaximumPlayerPositiveVerticalVelocity(CStateManager&) const
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
void CPlayer::ProcessInput(const CFinalInput&, CStateManager&)
|
||||
|
@ -168,6 +187,7 @@ void CPlayer::ProcessInput(const CFinalInput&, CStateManager&)
|
|||
|
||||
bool CPlayer::GetFrozenState() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void CPlayer::Think(float, CStateManager&)
|
||||
|
@ -192,10 +212,12 @@ void CPlayer::UpdateFootstepBounds(const CFinalInput& input, CStateManager&, flo
|
|||
|
||||
u16 CPlayer::GetMaterialSoundUnderPlayer(CStateManager& mgr, const u16*, int, u16)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
u16 CPlayer::SfxIdFromMaterial(const CMaterialList&, const u16*, u16)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void CPlayer::UpdateCrosshairsState(const CFinalInput&)
|
||||
|
@ -220,6 +242,7 @@ void CPlayer::UpdateDebugCamera(CStateManager& mgr)
|
|||
|
||||
CFirstPersonCamera& CPlayer::GetFirstPersonCamera(CStateManager& mgr)
|
||||
{
|
||||
return *mgr.GetCameraManager()->GetFirstPersonCamera();
|
||||
}
|
||||
|
||||
void CPlayer::UpdateGunTransform(const zeus::CVector3f&, float, CStateManager& mgr, bool)
|
||||
|
@ -236,6 +259,7 @@ void CPlayer::HolsterGun(CStateManager& mgr)
|
|||
|
||||
bool CPlayer::GetMorphballTransitionState() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void CPlayer::UpdateGrappleArmTransform(const zeus::CVector3f&, CStateManager& mgr, float)
|
||||
|
@ -248,6 +272,7 @@ void CPlayer::ApplyGrappleForces(const CFinalInput& input, CStateManager& mgr, f
|
|||
|
||||
bool CPlayer::ValidateFPPosition(const zeus::CVector3f& pos, CStateManager& mgr)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void CPlayer::UpdateGrappleState(const CFinalInput& input, CStateManager& mgr)
|
||||
|
@ -280,6 +305,7 @@ void CPlayer::OrbitPoint(EPlayerOrbitType, CStateManager& mgr)
|
|||
|
||||
zeus::CVector3f CPlayer::GetHUDOrbitTargetPosition() const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
void CPlayer::SetOrbitState(EPlayerOrbitState, CStateManager& mgr)
|
||||
|
@ -316,23 +342,28 @@ void CPlayer::UpdateAimTargetTimer(float)
|
|||
|
||||
bool CPlayer::ValidateAimTargetId(TUniqueId, CStateManager& mgr)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CPlayer::ValidateObjectForMode(TUniqueId, CStateManager& mgr) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
TUniqueId CPlayer::FindAimTargetId(CStateManager& mgr)
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
TUniqueId CPlayer::CheckEnemiesAgainstOrbitZone(const std::vector<TUniqueId>&, EPlayerZoneInfo,
|
||||
EPlayerZoneType, CStateManager& mgr) const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
TUniqueId CPlayer::FindOrbitTargetId(CStateManager& mgr)
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
void CPlayer::UpdateOrbitableObjects(CStateManager& mgr)
|
||||
|
@ -341,6 +372,7 @@ void CPlayer::UpdateOrbitableObjects(CStateManager& mgr)
|
|||
|
||||
TUniqueId CPlayer::FindBestOrbitableObject(const std::vector<TUniqueId>&, EPlayerZoneInfo, CStateManager& mgr) const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
void CPlayer::FindOrbitableObjects(const std::vector<TUniqueId>&, std::vector<TUniqueId>&, EPlayerZoneInfo,
|
||||
|
@ -350,10 +382,12 @@ void CPlayer::FindOrbitableObjects(const std::vector<TUniqueId>&, std::vector<TU
|
|||
|
||||
bool CPlayer::WithinOrbitScreenBox(const zeus::CVector3f&, EPlayerZoneInfo, EPlayerZoneType) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CPlayer::WithinOrbitScreenEllipse(const zeus::CVector3f&, EPlayerZoneInfo) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void CPlayer::CheckOrbitDisableSourceList(CStateManager& mgr)
|
||||
|
@ -402,42 +436,52 @@ void CPlayer::UpdateOrbitTarget(CStateManager& mgr)
|
|||
|
||||
float CPlayer::GetOrbitMaxLockDistance(CStateManager& mgr) const
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
float CPlayer::GetOrbitMaxTargetDistance(CStateManager& mgr) const
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
bool CPlayer::ValidateOrbitTargetId(TUniqueId, CStateManager& mgr) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CPlayer::ValidateCurrentOrbitTargetId(CStateManager& mgr)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CPlayer::ValidateOrbitTargetIdAndPointer(TUniqueId, CStateManager& mgr) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
zeus::CVector3f CPlayer::GetBallPosition() const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
zeus::CVector3f CPlayer::GetEyePosition() const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
float CPlayer::GetEyeHeight() const
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
float CPlayer::GetStepUpHeight() const
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
float CPlayer::GetStepDownHeight() const
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
void CPlayer::Teleport(const zeus::CTransform& xf, CStateManager& mgr, bool)
|
||||
|
@ -446,22 +490,27 @@ void CPlayer::Teleport(const zeus::CTransform& xf, CStateManager& mgr, bool)
|
|||
|
||||
zeus::CTransform CPlayer::CreateTransformFromMovementDirection() const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
const CCollisionPrimitive& CPlayer::GetCollisionPrimitive() const
|
||||
{
|
||||
return *CPhysicsActor::GetCollisionPrimitive();
|
||||
}
|
||||
|
||||
zeus::CTransform CPlayer::GetPrimitiveTransform() const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
bool CPlayer::CollidedWith(TUniqueId, const CCollisionInfoList&, CStateManager& mgr)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
float CPlayer::GetActualFirstPersonMaxVelocity() const
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
void CPlayer::SetMoveState(EPlayerMovementState, CStateManager& mgr)
|
||||
|
@ -470,18 +519,22 @@ void CPlayer::SetMoveState(EPlayerMovementState, CStateManager& mgr)
|
|||
|
||||
float CPlayer::JumpInput(const CFinalInput& input, CStateManager& mgr)
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
float CPlayer::TurnInput(const CFinalInput& input) const
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
float CPlayer::StrafeInput(const CFinalInput& input) const
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
float CPlayer::ForwardInput(const CFinalInput& input, float) const
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
void CPlayer::ComputeMovement(const CFinalInput& input, CStateManager& mgr, float)
|
||||
|
@ -490,10 +543,12 @@ void CPlayer::ComputeMovement(const CFinalInput& input, CStateManager& mgr, floa
|
|||
|
||||
float CPlayer::GetWeight() const
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
float CPlayer::GetDampedClampedVelocityWR() const
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -85,10 +85,10 @@ public:
|
|||
void AsyncLoadSuit(CStateManager& mgr);
|
||||
void LoadAnimationTokens();
|
||||
bool CanRenderUnsorted(CStateManager& mgr) const;
|
||||
const CDamageVulnerability& GetDamageVulnerability(const zeus::CVector3f& v1,
|
||||
const CDamageVulnerability* GetDamageVulnerability(const zeus::CVector3f& v1,
|
||||
const zeus::CVector3f& v2,
|
||||
const CDamageInfo& info) const;
|
||||
const CDamageVulnerability& GetDamageVulnerability() const;
|
||||
const CDamageVulnerability* GetDamageVulnerability() const;
|
||||
zeus::CVector3f GetHomingPosition(CStateManager& mgr, float) const;
|
||||
zeus::CVector3f GetAimPosition(CStateManager& mgr, float) const;
|
||||
void FluidFXThink(CActor::EFluidState, CScriptWater& water, CStateManager& mgr);
|
||||
|
@ -98,7 +98,7 @@ public:
|
|||
bool WasDamaged() const;
|
||||
void TakeDamage(bool, const zeus::CVector3f&, float, EWeaponType, CStateManager& mgr);
|
||||
void Accept(IVisitor& visitor);
|
||||
CHealthInfo& HealthInfo(CStateManager& mgr);
|
||||
CHealthInfo* HealthInfo(CStateManager& mgr);
|
||||
bool IsUnderBetaMetroidAttack(CStateManager& mgr) const;
|
||||
rstl::optional_object<zeus::CAABox> GetTouchBounds() const;
|
||||
void Touch(CActor&, CStateManager& mgr);
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "CPlayerGun.hpp"
|
||||
#include "Particle/CGenDescription.hpp"
|
||||
#include "GameGlobalObjects.hpp"
|
||||
|
||||
namespace urde
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
#include "Character/CAssetFactory.hpp"
|
||||
#include "Character/CCharacterFactory.hpp"
|
||||
#include "Character/IAnimReader.hpp"
|
||||
#include "Character/CSkinRules.hpp"
|
||||
#include "Graphics/CModel.hpp"
|
||||
|
||||
namespace urde
|
||||
{
|
||||
|
@ -150,7 +152,7 @@ void CWorldTransManager::DrawEnabled()
|
|||
|
||||
void CWorldTransManager::DrawDisabled()
|
||||
{
|
||||
m_fadeToBlack.draw(zeus::CColor{0.f, 0.f, 0.f, 0.01});
|
||||
m_fadeToBlack.draw(zeus::CColor{0.f, 0.f, 0.f, 0.01f});
|
||||
}
|
||||
|
||||
void CWorldTransManager::DrawText()
|
||||
|
|
2
hecl
2
hecl
|
@ -1 +1 @@
|
|||
Subproject commit effad6f44787daa620a7a3b4655c872dac7c1d4d
|
||||
Subproject commit 53ae402b2b130e6d0e1742d0a9d864223149c8ac
|
Loading…
Reference in New Issue