Skip to content

Add changes for community shaders#70

Open
alandtse wants to merge 1269 commits intoCharmedBaryon:mainfrom
alandtse:ng
Open

Add changes for community shaders#70
alandtse wants to merge 1269 commits intoCharmedBaryon:mainfrom
alandtse:ng

Conversation

@alandtse
Copy link

@alandtse alandtse commented May 28, 2023

EDIT: For those visiting Charmed repo, note he's no longer maintaining. I'm leaving this up here primarily so you know where to go to see the active fork.

Doodles did some graphics edits for community shaders. I also pulled in po3's latest to fix some wrong addresses. Lastly I have parapet's VR wand edits for button events. Can you please let me know if I'm doing something wrong for the VR specific class inheritance? 1d1981a.

@alandtse alandtse marked this pull request as draft May 29, 2023 03:40
@alandtse alandtse marked this pull request as ready for review June 4, 2023 00:58
@alandtse
Copy link
Author

alandtse commented Jun 4, 2023

Ok I think I figured out the NG format. This also includes all of po3s updates till today. My plan is to help keep you synced with po3 too and I'll probably stop doing commonlibvr separately.

zyf2008Neptune added a commit to zyf2008Neptune/CommonLibSSE-NG that referenced this pull request Jun 18, 2024
Copilot AI review requested due to automatic review settings August 1, 2025 07:00
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request integrates community shader improvements, graphics edits, and VR wand input support. The changes include updated VTABLE constants, improved enum handling, enhanced VR compatibility, and new VR touchpad input support.

Key changes:

  • Replace stl::enumeration with REX::EnumSet throughout the codebase
  • Add VTABLE constants and KEEP_FOR_RE macros to numerous classes
  • Implement VR-specific input event handling with touchpad support
  • Update version compatibility macros for better VR/non-VR differentiation

Reviewed Changes

Copilot reviewed 300 out of 1866 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
BSInputEventQueue.h Added VR touchpad input support with new event types and data structures
BSImagespaceShader.h Enhanced with compute shader support and better virtual function handling
BSLightingShaderProperty.h Added rendering methods and improved material handling
BSGeometry.h Added utility method for lighting shader property casting
BGSSaveLoadManager.h Improved save file management with better character tracking
Multiple shader files Replaced enum types and added missing VTABLE constants

@@ -5,6 +5,10 @@
#include "RE/B/BSTHashMap.h"
Copy link

Copilot AI Aug 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Consider moving the large input device state structures to a separate header file. Adding 160+ lines of new functionality to an existing header creates a very large file that may be difficult to maintain.

Copilot uses AI. Check for mistakes.
virtual ~BSModelProcessor();

// add
virtual void PostCreate(const DBTraits::ArgsType& a_args, const char* modelName, NiPointer<NiNode>& a_root, std::uint32_t& a_typeOut);
Copy link

Copilot AI Aug 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PostCreate method takes a non-const reference to a_typeOut but it's unclear what values are expected or what the method should set. Consider documenting the expected behavior or using an enum for the output type.

Suggested change
virtual void PostCreate(const DBTraits::ArgsType& a_args, const char* modelName, NiPointer<NiNode>& a_root, std::uint32_t& a_typeOut);
enum class ModelType : std::uint32_t
{
Unknown = 0,
Static = 1,
Dynamic = 2,
Skinned = 3
};
virtual void PostCreate(const DBTraits::ArgsType& a_args, const char* modelName, NiPointer<NiNode>& a_root, ModelType& a_typeOut);

Copilot uses AI. Check for mistakes.
inline static constexpr auto VTABLE = VTABLE_BSLightingShaderMaterialBase;

~BSLightingShaderMaterialBase() override; // 00
~BSLightingShaderMaterialBase() override = default; // 00
Copy link

Copilot AI Aug 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changing a virtual destructor from a custom implementation to = default could break binary compatibility if the original destructor had side effects or specific cleanup logic. This change should be carefully reviewed.

Suggested change
~BSLightingShaderMaterialBase() override = default; // 00
~BSLightingShaderMaterialBase() override // 00
{
// Explicitly reset smart pointers to release resources
diffuseTexture.reset();
normalTexture.reset();
rimSoftLightingTexture.reset();
specularBackLightingTexture.reset();
textureSet.reset();
}

Copilot uses AI. Check for mistakes.
DwemerEngineer and others added 30 commits February 11, 2026 03:26
Misc Rendering RE, some grass RE
Fix wrong member order for BSTScatterTable
Change ExtraCharge type from kCannotWear to kCharge
## [4.3.0](v4.2.0...v4.3.0) (2026-02-22)

### Features

* merge po3 ([d3e2a39](d3e2a39))
## [4.4.0](v4.3.0...v4.4.0) (2026-02-24)

### Features

* sync with max-su-2019 ([#124](#124)) ([31c5709](31c5709))
## [4.5.0](v4.4.0...v4.5.0) (2026-03-03)

### Features

* update BSStorage, IVMSaveLoadInterface, VM ([7275c85](7275c85))

### Bug Fixes

* accumulate signature ([c02cf2a](c02cf2a))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.