2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 14:24:56 +00:00

Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde

This commit is contained in:
Jack Andersen
2019-01-29 10:14:49 -10:00
180 changed files with 305 additions and 300 deletions

View File

@@ -687,7 +687,7 @@ void CBooRenderer::EnablePVS(const CPVSVisSet& set, u32 areaIdx) {
xe0_pvsAreaIdx = areaIdx;
}
void CBooRenderer::DisablePVS() { xc8_pvs = std::experimental::nullopt; }
void CBooRenderer::DisablePVS() { xc8_pvs = rstl::nullopt; }
void CBooRenderer::UpdateAreaUniforms(int areaIdx, bool shadowRender, bool activateLights) {
SetupRendererStates();

View File

@@ -100,7 +100,7 @@ class CBooRenderer final : public IRenderer {
zeus::CPlane xb0_viewPlane = {0.f, 1.f, 0.f, 0.f};
enum class EPVSMode { Mask, PVS, PVSAndMask } xc4_pvsMode = EPVSMode::Mask;
std::experimental::optional<CPVSVisSet> xc8_pvs;
rstl::optional<CPVSVisSet> xc8_pvs;
u32 xe0_pvsAreaIdx = 0;
// boo::ITextureS* xe4_blackTex = nullptr;
@@ -142,7 +142,7 @@ class CBooRenderer final : public IRenderer {
float x2f8_thermColdScale = 0.f;
zeus::CColor x2fc_tevReg1Color = {1.f, 0.f, 1.f, 1.f};
CThermalColdFilter m_thermColdFilter;
std::experimental::optional<CThermalHotFilter> m_thermHotFilter;
rstl::optional<CThermalHotFilter> m_thermHotFilter;
std::vector<CLight> x300_dynamicLights;

View File

@@ -97,7 +97,7 @@ struct SShader {
std::vector<TCachedToken<CTexture>> x0_textures;
std::unordered_map<int, CModelShaders::ShaderPipelines> m_shaders;
MaterialSet m_matSet;
std::experimental::optional<GeometryUniformLayout> m_geomLayout;
rstl::optional<GeometryUniformLayout> m_geomLayout;
int m_matSetIdx;
SShader(int idx) : m_matSetIdx(idx) {
x0_textures.clear();

View File

@@ -765,7 +765,7 @@ void CBooModel::UVAnimationBuffer::Update(u8*& bufOut, const MaterialSet* matSet
return;
}
std::experimental::optional<std::array<zeus::CMatrix4f, 2>> specialMtxOut;
rstl::optional<std::array<zeus::CMatrix4f, 2>> specialMtxOut;
if (flags.m_extendedShader == EExtendedShader::Thermal) {
/* Special Mode0 matrix for exclusive Thermal Visor use */
specialMtxOut.emplace();

View File

@@ -18,7 +18,7 @@ class CSimpleShadow {
bool x48_24_collision : 1;
bool x48_25_alwaysCalculateRadius : 1;
bool x48_26_radiusCalculated : 1;
mutable std::experimental::optional<CTexturedQuadFilter> m_filter;
mutable rstl::optional<CTexturedQuadFilter> m_filter;
public:
CSimpleShadow(float scale, float userAlpha, float maxObjHeight, float displacement);

View File

@@ -23,7 +23,7 @@ CSkinnedModel::CSkinnedModel(IObjectStore& store, CAssetId model, CAssetId skinR
store.GetObj(SObjectTag{FOURCC('CINF'), layoutInfo}), shaderIdx, drawInsts) {}
void CSkinnedModel::Calculate(const CPoseAsTransforms& pose, const CModelFlags& drawFlags,
const std::experimental::optional<CVertexMorphEffect>& morphEffect,
const rstl::optional<CVertexMorphEffect>& morphEffect,
const float* morphMagnitudes) {
if (morphEffect || g_PointGenFunc) {
if (boo::ObjToken<boo::IGraphicsBufferD> vertBuf = m_modelInst->UpdateUniformData(drawFlags, nullptr, nullptr)) {

View File

@@ -35,7 +35,7 @@ public:
const TLockedToken<CCharLayoutInfo>& GetLayoutInfo() const { return x1c_layoutInfo; }
void Calculate(const CPoseAsTransforms& pose, const CModelFlags& drawFlags,
const std::experimental::optional<CVertexMorphEffect>& morphEffect, const float* morphMagnitudes);
const rstl::optional<CVertexMorphEffect>& morphEffect, const float* morphMagnitudes);
void Draw(const CModelFlags& drawFlags) const;
typedef void (*FPointGenerator)(void* item, const std::vector<std::pair<zeus::CVector3f, zeus::CVector3f>>& vn);

View File

@@ -204,11 +204,11 @@ static std::string_view DisintegratePostHLSL = FOG_STRUCT_HLSL
" float4 addColor;\n"
" Fog fog;\n"
"};\n"
"float4 DisintegratePostFunc(float4 colorIn)\n"
"static float4 DisintegratePostFunc(in VertToFrag vtf, float4 colorIn)\n"
"{\n"
" float4 texel0 = extTex7.Sample(samp, vtf.extTcgs[0]);\n"
" float4 texel1 = extTex7.Sample(samp, vtf.extTcgs[1]);\n"
" colorIn = mix(float4(0.0), texel1, texel0);\n"
" colorIn = lerp(float4(0.0,0.0,0.0,0.0), texel1, texel0);\n"
" colorIn.rgb += addColor.rgb;\n" FOG_ALGORITHM_HLSL
"}\n"
"\n"sv;

View File

@@ -7,7 +7,7 @@ namespace urde {
class CWorldShadowShader {
boo::ObjToken<boo::ITextureR> m_tex;
std::experimental::optional<CTexturedQuadFilter> m_prevQuad;
rstl::optional<CTexturedQuadFilter> m_prevQuad;
u32 m_w, m_h;
struct Uniform {