forked from alandtse/CommonLibVR
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add RE for some shader properties, utility shader and shader em…
…itters
- Loading branch information
Showing
20 changed files
with
362 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BSShaderProperty.h" | ||
|
||
namespace RE | ||
{ | ||
class BSDistantTreeShaderProperty : public BSShaderProperty | ||
{ | ||
public: | ||
inline static constexpr auto RTTI = RTTI_BSDistantTreeShaderProperty; | ||
inline static constexpr auto Ni_RTTI = NiRTTI_BSDistantTreeShaderProperty; | ||
inline static constexpr auto VTABLE = VTABLE_BSDistantTreeShaderProperty; | ||
|
||
~BSDistantTreeShaderProperty() override; // 00 | ||
|
||
// override (BSShaderProperty) | ||
const NiRTTI* GetRTTI() const override; // 02 | ||
RenderPassArray* GetRenderPasses(BSGeometry* a_geometry, std::uint32_t a_arg2, BSShaderAccumulator* a_accumulator) override; // 2A | ||
void Unk_2B(void) override; // 2B | ||
void Unk_2F(void) override; // 2F | ||
std::int32_t ForEachTexture(ForEachVisitor& a_visitor) override; // 33 | ||
[[nodiscard]] NiSourceTexture* GetBaseTexture() override; // 37 | ||
}; | ||
static_assert(sizeof(BSDistantTreeShaderProperty) == 0x98); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BSLightingShaderProperty.h" | ||
|
||
namespace RE | ||
{ | ||
class BSGrassShaderProperty : public BSLightingShaderProperty | ||
{ | ||
public: | ||
inline static constexpr auto RTTI = RTTI_BSGrassShaderProperty; | ||
inline static constexpr auto Ni_RTTI = NiRTTI_BSGrassShaderProperty; | ||
inline static constexpr auto VTABLE = VTABLE_BSGrassShaderProperty; | ||
|
||
virtual ~BSGrassShaderProperty(); // 00 | ||
|
||
// override (BSLightingShaderProperty) | ||
const NiRTTI* GetRTTI() const override; // 02 | ||
NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17 | ||
void LoadBinary(NiStream& a_stream) override; // 18 | ||
void LinkObject(NiStream& a_stream) override; // 19 | ||
bool RegisterStreamables(NiStream& a_stream) override; // 1A | ||
void SaveBinary(NiStream& a_stream) override; // 1B | ||
bool IsEqual(NiObject* a_object) override; // 1C | ||
bool SetupGeometry(BSGeometry* a_geometry) override; // 27 | ||
RenderPassArray* GetRenderPasses(BSGeometry* a_geometry, std::uint32_t a_arg2, BSShaderAccumulator* a_accumulator) override; // 2A | ||
void Unk_2B(void) override; // 2B | ||
void Unk_2F(void) override; // 2F | ||
std::int32_t QShader() override; // 35 | ||
|
||
// add | ||
void Unk_3F(void); // 3F | ||
void Unk_40(void); // 40 | ||
}; | ||
static_assert(sizeof(BSGrassShaderProperty) == 0x170); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BSParticleShaderCubeEmitter.h" | ||
|
||
namespace RE | ||
{ | ||
class BSParticleShaderRainEmitter : public BSParticleShaderCubeEmitter | ||
{ | ||
public: | ||
inline static constexpr auto RTTI = RTTI_BSParticleShaderRainEmitter; | ||
inline static constexpr auto VTABLE = VTABLE_BSParticleShaderRainEmitter; | ||
|
||
~BSParticleShaderRainEmitter() override; // 00 | ||
}; | ||
static_assert(sizeof(BSParticleShaderRainEmitter) == 0xFE0); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BSParticleShaderCubeEmitter.h" | ||
|
||
namespace RE | ||
{ | ||
class BSParticleShaderSnowEmitter : public BSParticleShaderCubeEmitter | ||
{ | ||
public: | ||
inline static constexpr auto RTTI = RTTI_BSParticleShaderSnowEmitter; | ||
inline static constexpr auto VTABLE = VTABLE_BSParticleShaderSnowEmitter; | ||
|
||
~BSParticleShaderSnowEmitter() override; // 00 | ||
}; | ||
static_assert(sizeof(BSParticleShaderSnowEmitter) == 0xFE0); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
#pragma once | ||
|
||
#include "RE/B/BSShaderProperty.h" | ||
|
||
namespace RE | ||
{ | ||
class BSSkyShaderProperty : public BSShaderProperty | ||
{ | ||
public: | ||
inline static constexpr auto RTTI = RTTI_BSSkyShaderProperty; | ||
inline static auto Ni_RTTI = NiRTTI_BSSkyShaderProperty; | ||
inline static auto VTABLE = VTABLE_BSSkyShaderProperty; | ||
|
||
~BSSkyShaderProperty() override; // 00 | ||
|
||
// override (BSShaderProperty) | ||
const NiRTTI* GetRTTI() const override; // 02 | ||
NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17 | ||
void LoadBinary(NiStream& a_stream) override; // 18 | ||
void LinkObject(NiStream& a_stream) override; // 19 | ||
bool RegisterStreamables(NiStream& a_stream) override; // 1A | ||
void SaveBinary(NiStream& a_stream) override; // 1B | ||
bool IsEqual(NiObject* a_object) override; // 1C | ||
void PostLinkObject(NiStream& a_stream) override; // 1E | ||
RenderPassArray* GetRenderPasses(BSGeometry* a_geometry, std::uint32_t a_arg2, BSShaderAccumulator* a_accumulator) override; // 2A | ||
std::int32_t ForEachTexture(ForEachVisitor& a_visitor) override; // 33 | ||
virtual std::int32_t QShader() override; // 35 | ||
[[nodiscard]] virtual NiSourceTexture* GetBaseTexture() override; // 37 | ||
|
||
enum SkyObject | ||
{ | ||
SO_SUN = 0x0, | ||
SO_SUN_GLARE = 0x1, | ||
SO_ATMOSPHERE = 0x2, | ||
SO_CLOUDS = 0x3, | ||
SO_SKYQUAD = 0x4, | ||
SO_STARS = 0x5, | ||
SO_MOON = 0x6, | ||
SO_MOON_SHADOW = 0x7, | ||
}; | ||
|
||
// members | ||
RE::NiColorA kBlendColor; // 088 | ||
RE::NiSourceTexture* pBaseTexture; // 098 | ||
RE::NiSourceTexture* pBlendTexture; // 0A0 | ||
std::uint8_t unk0A8[0x10]; // 0A8 | ||
float fBlendValue; // 0B8 | ||
std::uint16_t usCloudLayer; // 0BC | ||
bool bFadeSecondTexture; // 0BE | ||
stl::enumeration<SkyObject, std::uint32_t> uiSkyObjectType; // 0BF | ||
}; | ||
static_assert(sizeof(BSSkyShaderProperty) == 0xD8); | ||
} |
Oops, something went wrong.