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
380 additions
and
11 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,32 @@ | ||
#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 | ||
|
||
// members | ||
std::uint64_t unk88; // 88 | ||
std::uint64_t unk90; // 90 | ||
std::uint64_t unk98; // 98 | ||
std::uint64_t unkA0; // A0 | ||
std::uint64_t unkA8; // A8 | ||
}; | ||
static_assert(sizeof(BSDistantTreeShaderProperty) == 0xB0); | ||
} |
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,51 @@ | ||
#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 | ||
|
||
// members | ||
std::uint64_t unk160; // 160 | ||
std::uint64_t unk168; // 168 | ||
std::uint64_t unk170; // 170 | ||
std::uint64_t unk178; // 178 | ||
std::uint64_t unk180; // 180 | ||
std::uint64_t unk188; // 188 | ||
std::uint64_t unk190; // 190 | ||
std::uint64_t unk198; // 198 | ||
std::uint64_t unk1A0; // 1A0 | ||
std::uint64_t unk1A8; // 1A8 | ||
std::uint64_t unk1B0; // 1B0 | ||
std::uint64_t unk1B8; // 1B8 | ||
std::uint64_t unk1C0; // 1C0 | ||
std::uint64_t unk1C8; // 1C8 | ||
}; | ||
static_assert(sizeof(BSGrassShaderProperty) == 0x1D0); | ||
} |
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) == 0xC8); | ||
} |
Oops, something went wrong.