Skip to content
Snippets Groups Projects
Commit 1e8faf77 authored by Skyfox69's avatar Skyfox69
Browse files

added enums for BSEffectShaderProperty*Controller and BSLightingShaderProperty*Controller

parent b06477e0
No related branches found
No related tags found
No related merge requests found
......@@ -1170,6 +1170,54 @@ enum MoppDataBuildType {
ostream & operator<<( ostream & out, MoppDataBuildType const & val );
/*! An unsigned 32-bit integer, describing which float variable in BSEffectShaderProperty to animate. */
enum EffectShaderControlledVariable {
ESCV_EMISSIVEMULTIPLE = 0, /*!< EmissiveMultiple */
ESCV_FALLOFF_START_ANGLE = 1, /*!< Falloff Start Angle (degrees) */
ESCV_FALLOFF_STOP_ANGLE = 2, /*!< Falloff Stop Angle (degrees) */
ESCV_FALLOFF_START_OPACITY = 3, /*!< Falloff Start Opacity */
ESCV_FALLOFF_STOP_OPACITY = 4, /*!< Falloff Stop Opacity */
ESCV_ALPHA_TRANSPARENCY = 5, /*!< Alpha Transparency (Emissive alpha?) */
ESCV_U_OFFSET = 6, /*!< U Offset */
ESCV_U_SCALE = 7, /*!< U Scale */
ESCV_V_OFFSET = 8, /*!< V Offset */
ESCV_V_SCALE = 9 /*!< V Scale */
};
ostream & operator<<( ostream & out, EffectShaderControlledVariable const & val );
/*! An unsigned 32-bit integer, describing which color in BSEffectShaderProperty to animate. */
enum EffectShaderControlledColor {
ESCC_EMISSIVE_COLOR = 0, /*!< Emissive Color */
};
ostream & operator<<( ostream & out, EffectShaderControlledColor const & val );
/*! An unsigned 32-bit integer, describing which float variable in BSLightingShaderProperty to animate. */
enum LightingShaderControlledVariable {
LSCV_UNKNOWN_FLOAT_2 = 0, /*!< Unknown Float 2 */
LSCV_ENVIRONMENT_MAP_SCALE = 8, /*!< Environment Map Scale */
LSCV_GLOSSINESS = 9, /*!< Glossiness */
LSCV_SPECULAR_STRENGTH = 10, /*!< Specular Strength */
LSCV_EMISSIVE_MULTIPLE = 11, /*!< Emissive Multiple */
LSCV_ALPHA = 12, /*!< Alpha */
LSCV_U_OFFSET = 20, /*!< U Offset */
LSCV_U_SCALE = 21, /*!< U Scale */
LSCV_V_OFFSET = 22, /*!< V Offset */
LSCV_V_SCALE = 23 /*!< V Scale */
};
ostream & operator<<( ostream & out, LightingShaderControlledVariable const & val );
/*! An unsigned 32-bit integer, describing which color in BSLightingShaderProperty to animate. */
enum LightingShaderControlledColor {
LSCC_SPECULAR_COLOR = 0, /*!< Specular Color */
LSCC_EMISSIVE_COLOR = 1 /*!< Emissive Color */
};
ostream & operator<<( ostream & out, LightingShaderControlledColor const & val );
}
#endif
......@@ -371,5 +371,19 @@ void NifStream( BSSegmentFlags const & val, ostream& out, const NifInfo & info =
void NifStream( MoppDataBuildType & val, istream& in, const NifInfo & info = NifInfo() );
void NifStream( MoppDataBuildType const & val, ostream& out, const NifInfo & info = NifInfo() );
//---ShaderControlled---//
void NifStream( EffectShaderControlledVariable & val, istream& in, const NifInfo & info = NifInfo() );
void NifStream( EffectShaderControlledVariable const & val, ostream& out, const NifInfo & info = NifInfo() );
void NifStream( EffectShaderControlledColor & val, istream& in, const NifInfo & info = NifInfo() );
void NifStream( EffectShaderControlledColor const & val, ostream& out, const NifInfo & info = NifInfo() );
void NifStream( LightingShaderControlledVariable & val, istream& in, const NifInfo & info = NifInfo() );
void NifStream( LightingShaderControlledVariable const & val, ostream& out, const NifInfo & info = NifInfo() );
void NifStream( LightingShaderControlledColor & val, istream& in, const NifInfo & info = NifInfo() );
void NifStream( LightingShaderControlledColor const & val, ostream& out, const NifInfo & info = NifInfo() );
}
#endif
......@@ -54,11 +54,20 @@ public:
NIFLIB_API virtual const Type & GetType() const;
//--BEGIN MISC CUSTOM CODE--//
/*!
* Get which color in BSEffectShaderProperty to animate
*/
NIFLIB_API EffectShaderControlledColor GetTargetColor() const;
/*!
* Set which color in BSEffectShaderProperty to animate
*/
NIFLIB_API void SetTargetColor(EffectShaderControlledColor value);
//--END CUSTOM CODE--//
protected:
/*! Unknown */
unsigned int unknownInt1;
/*! Which color in BSEffectShaderProperty to animate */
EffectShaderControlledColor targetColor;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
......
......@@ -21,18 +21,7 @@ class BSEffectShaderPropertyFloatController;
typedef Ref<BSEffectShaderPropertyFloatController> BSEffectShaderPropertyFloatControllerRef;
/*!
* This controller is used to animate variables in
* BSEffectShaderPropertyFloatController, target is a number in order they appear:
* 0: Visibility?
* 1:
* 2:
* 3:
* 4: Emissive or Saturation?
* 5: Alpha Transparency
* 6: U Offset
* 7: U Scale
* 8: V Offset
* 9: V Scale
* This controller is used to animate float variables in BSEffectShaderProperty.
*/
class BSEffectShaderPropertyFloatController : public NiFloatInterpController {
public:
......@@ -67,11 +56,20 @@ public:
NIFLIB_API virtual const Type & GetType() const;
//--BEGIN MISC CUSTOM CODE--//
/*!
* Get which float variable in BSEffectShaderProperty to animate
*/
NIFLIB_API EffectShaderControlledVariable GetTargetVariable() const;
/*!
* Set which float variable in BSEffectShaderProperty to animate
*/
NIFLIB_API void SetTargetVariable(EffectShaderControlledVariable value);
//--END CUSTOM CODE--//
protected:
/*! Unknown */
unsigned int targetVariable;
/*! Which float variable in BSEffectShaderProperty to animate */
EffectShaderControlledVariable targetVariable;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
......
......@@ -54,11 +54,20 @@ public:
NIFLIB_API virtual const Type & GetType() const;
//--BEGIN MISC CUSTOM CODE--//
/*!
* Get which color in BSLightingShaderProperty to animate
*/
NIFLIB_API LightingShaderControlledColor GetTargetColor() const;
/*!
* Set which color in BSLightingShaderProperty to animate
*/
NIFLIB_API void SetTargetColor(LightingShaderControlledColor value);
//--END CUSTOM CODE--//
protected:
/*! Which variable in the shader to animate. */
unsigned int targetVariable;
LightingShaderControlledColor targetColor;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
......
......@@ -21,13 +21,7 @@ class BSLightingShaderPropertyFloatController;
typedef Ref<BSLightingShaderPropertyFloatController> BSLightingShaderPropertyFloatControllerRef;
/*!
* This controller is used to animate variables in
* BSLightingShaderPropertyFloatController, target is a number in order they
* appear:
* 5: U Offset
* 6: V Offset
* 7: U Scale
* 8: V Scale
* This controller is used to animate float variables in BSLightingShaderProperty
*/
class BSLightingShaderPropertyFloatController : public NiFloatInterpController {
public:
......@@ -62,11 +56,20 @@ public:
NIFLIB_API virtual const Type & GetType() const;
//--BEGIN MISC CUSTOM CODE--//
/*!
* Get which float variable in BSLightingShaderProperty to animate
*/
NIFLIB_API LightingShaderControlledVariable GetTargetVariable() const;
/*!
* Set which float variable in BSLightingShaderProperty to animate
*/
NIFLIB_API void SetTargetVariable(LightingShaderControlledVariable value);
//--END CUSTOM CODE--//
protected:
/*! Which variable in the shader to animate. */
unsigned int targetVariable;
LightingShaderControlledVariable targetVariable;
public:
/*! NIFLIB_HIDDEN function. For internal use only. */
NIFLIB_HIDDEN virtual void Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
......
......@@ -1974,10 +1974,104 @@ ostream & operator<<( ostream & out, MoppDataBuildType const & val ) {
case BUILT_WITH_CHUNK_SUBDIVISION: return out << "BUILT_WITH_CHUNK_SUBDIVISION";
case BUILT_WITHOUT_CHUNK_SUBDIVISION: return out << "BUILT_WITHOUT_CHUNK_SUBDIVISION";
case BUILD_NOT_SET: return out << "BUILD_NOT_SET";
default: return out << "Invalid Value! - " << (byte)(val);
}
}
//---ShaderControlled---//
void NifStream( EffectShaderControlledVariable & val, istream& in, const NifInfo & info ) {
unsigned int temp;
NifStream( temp, in, info );
val = EffectShaderControlledVariable(temp);
}
void NifStream( EffectShaderControlledVariable const & val, ostream& out, const NifInfo & info ) {
NifStream( (unsigned int)(val), out, info );
}
ostream & operator<<( ostream & out, EffectShaderControlledVariable const & val ) {
switch ( val ) {
case ESCV_EMISSIVEMULTIPLE: return out << "ESCV_EMISSIVEMULTIPLE";
case ESCV_FALLOFF_START_ANGLE: return out << "ESCV_FALLOFF_START_ANGLE";
case ESCV_FALLOFF_STOP_ANGLE: return out << "ESCV_FALLOFF_STOP_ANGLE";
case ESCV_FALLOFF_START_OPACITY: return out << "ESCV_FALLOFF_START_OPACITY";
case ESCV_FALLOFF_STOP_OPACITY: return out << "ESCV_FALLOFF_STOP_OPACITY";
case ESCV_ALPHA_TRANSPARENCY: return out << "ESCV_ALPHA_TRANSPARENCY";
case ESCV_U_OFFSET: return out << "ESCV_U_OFFSET";
case ESCV_U_SCALE: return out << "ESCV_U_SCALE";
case ESCV_V_OFFSET: return out << "ESCV_V_OFFSET";
case ESCV_V_SCALE: return out << "ESCV_V_SCALE";
default: return out << "Invalid Value! - " << (unsigned int)(val);
}
}
void NifStream( EffectShaderControlledColor & val, istream& in, const NifInfo & info ) {
unsigned int temp;
NifStream( temp, in, info );
val = EffectShaderControlledColor(temp);
}
void NifStream( EffectShaderControlledColor const & val, ostream& out, const NifInfo & info ) {
NifStream( (unsigned int)(val), out, info );
}
ostream & operator<<( ostream & out, EffectShaderControlledColor const & val ) {
switch ( val ) {
case ESCC_EMISSIVE_COLOR: return out << "ESCC_EMISSIVE_COLOR";
default: return out << "Invalid Value! - " << (unsigned int)(val);
}
}
void NifStream( LightingShaderControlledVariable & val, istream& in, const NifInfo & info ) {
unsigned int temp;
NifStream( temp, in, info );
val = LightingShaderControlledVariable(temp);
}
void NifStream( LightingShaderControlledVariable const & val, ostream& out, const NifInfo & info ) {
NifStream( (unsigned int)(val), out, info );
}
ostream & operator<<( ostream & out, LightingShaderControlledVariable const & val ) {
switch ( val ) {
case LSCV_UNKNOWN_FLOAT_2: return out << "LSCV_UNKNOWN_FLOAT_2";
case LSCV_ENVIRONMENT_MAP_SCALE: return out << "LSCV_ENVIRONMENT_MAP_SCALE";
case LSCV_GLOSSINESS: return out << "LSCV_GLOSSINESS";
case LSCV_SPECULAR_STRENGTH: return out << "LSCV_SPECULAR_STRENGTH";
case LSCV_EMISSIVE_MULTIPLE: return out << "LSCV_EMISSIVE_MULTIPLE";
case LSCV_ALPHA: return out << "LSCV_ALPHA";
case LSCV_U_OFFSET: return out << "LSCV_U_OFFSET";
case LSCV_U_SCALE: return out << "LSCV_U_SCALE";
case LSCV_V_OFFSET: return out << "LSCV_V_OFFSET";
case LSCV_V_SCALE: return out << "LSCV_V_SCALE";
default: return out << "Invalid Value! - " << (unsigned int)(val);
}
}
void NifStream( LightingShaderControlledColor & val, istream& in, const NifInfo & info ) {
unsigned int temp;
NifStream( temp, in, info );
val = LightingShaderControlledColor(temp);
}
void NifStream( LightingShaderControlledColor const & val, ostream& out, const NifInfo & info ) {
NifStream( (unsigned int)(val), out, info );
}
ostream & operator<<( ostream & out, LightingShaderControlledColor const & val ) {
switch ( val ) {
case LSCC_SPECULAR_COLOR: return out << "LSCC_SPECULAR_COLOR";
case LSCC_EMISSIVE_COLOR: return out << "LSCC_EMISSIVE_COLOR";
default: return out << "Invalid Value! - " << (unsigned int)(val);
}
}
}
......@@ -20,7 +20,7 @@ using namespace Niflib;
//Definition of TYPE constant
const Type BSEffectShaderPropertyColorController::TYPE("BSEffectShaderPropertyColorController", &NiFloatInterpController::TYPE );
BSEffectShaderPropertyColorController::BSEffectShaderPropertyColorController() : unknownInt1((unsigned int)0) {
BSEffectShaderPropertyColorController::BSEffectShaderPropertyColorController() : targetColor(ESCC_EMISSIVE_COLOR) {
//--BEGIN CONSTRUCTOR CUSTOM CODE--//
//--END CUSTOM CODE--//
......@@ -46,7 +46,7 @@ void BSEffectShaderPropertyColorController::Read( istream& in, list<unsigned int
//--END CUSTOM CODE--//
NiFloatInterpController::Read( in, link_stack, info );
NifStream( unknownInt1, in, info );
NifStream( targetColor, in, info );
//--BEGIN POST-READ CUSTOM CODE--//
......@@ -59,7 +59,7 @@ void BSEffectShaderPropertyColorController::Write( ostream& out, const map<NiObj
//--END CUSTOM CODE--//
NiFloatInterpController::Write( out, link_map, missing_link_stack, info );
NifStream( unknownInt1, out, info );
NifStream( targetColor, out, info );
//--BEGIN POST-WRITE CUSTOM CODE--//
......@@ -73,7 +73,7 @@ std::string BSEffectShaderPropertyColorController::asString( bool verbose ) cons
stringstream out;
out << NiFloatInterpController::asString();
out << " Unknown Int 1: " << unknownInt1 << endl;
out << " targetColor: " << targetColor << endl;
return out.str();
//--BEGIN POST-STRING CUSTOM CODE--//
......@@ -106,5 +106,12 @@ std::list<NiObject *> BSEffectShaderPropertyColorController::GetPtrs() const {
}
//--BEGIN MISC CUSTOM CODE--//
EffectShaderControlledColor BSEffectShaderPropertyColorController::GetTargetColor() const {
return targetColor;
}
void BSEffectShaderPropertyColorController::SetTargetColor(EffectShaderControlledColor value) {
targetColor = value;
}
//--END CUSTOM CODE--//
......@@ -20,7 +20,7 @@ using namespace Niflib;
//Definition of TYPE constant
const Type BSEffectShaderPropertyFloatController::TYPE("BSEffectShaderPropertyFloatController", &NiFloatInterpController::TYPE );
BSEffectShaderPropertyFloatController::BSEffectShaderPropertyFloatController() : targetVariable((unsigned int)0) {
BSEffectShaderPropertyFloatController::BSEffectShaderPropertyFloatController() : targetVariable(ESCV_EMISSIVEMULTIPLE) {
//--BEGIN CONSTRUCTOR CUSTOM CODE--//
//--END CUSTOM CODE--//
......@@ -106,5 +106,12 @@ std::list<NiObject *> BSEffectShaderPropertyFloatController::GetPtrs() const {
}
//--BEGIN MISC CUSTOM CODE--//
EffectShaderControlledVariable BSEffectShaderPropertyFloatController::GetTargetVariable() const {
return targetVariable;
}
void BSEffectShaderPropertyFloatController::SetTargetVariable(EffectShaderControlledVariable value) {
targetVariable = value;
}
//--END CUSTOM CODE--//
......@@ -20,7 +20,7 @@ using namespace Niflib;
//Definition of TYPE constant
const Type BSLightingShaderPropertyColorController::TYPE("BSLightingShaderPropertyColorController", &NiFloatInterpController::TYPE );
BSLightingShaderPropertyColorController::BSLightingShaderPropertyColorController() : targetVariable((unsigned int)0) {
BSLightingShaderPropertyColorController::BSLightingShaderPropertyColorController() : targetColor(LSCC_SPECULAR_COLOR) {
//--BEGIN CONSTRUCTOR CUSTOM CODE--//
//--END CUSTOM CODE--//
......@@ -46,7 +46,7 @@ void BSLightingShaderPropertyColorController::Read( istream& in, list<unsigned i
//--END CUSTOM CODE--//
NiFloatInterpController::Read( in, link_stack, info );
NifStream( targetVariable, in, info );
NifStream( targetColor, in, info );
//--BEGIN POST-READ CUSTOM CODE--//
......@@ -59,7 +59,7 @@ void BSLightingShaderPropertyColorController::Write( ostream& out, const map<NiO
//--END CUSTOM CODE--//
NiFloatInterpController::Write( out, link_map, missing_link_stack, info );
NifStream( targetVariable, out, info );
NifStream( targetColor, out, info );
//--BEGIN POST-WRITE CUSTOM CODE--//
......@@ -73,7 +73,7 @@ std::string BSLightingShaderPropertyColorController::asString( bool verbose ) co
stringstream out;
out << NiFloatInterpController::asString();
out << " Target Variable: " << targetVariable << endl;
out << " targetColor: " << targetColor << endl;
return out.str();
//--BEGIN POST-STRING CUSTOM CODE--//
......@@ -106,5 +106,11 @@ std::list<NiObject *> BSLightingShaderPropertyColorController::GetPtrs() const {
}
//--BEGIN MISC CUSTOM CODE--//
LightingShaderControlledColor BSLightingShaderPropertyColorController::GetTargetColor() const {
return targetColor;
}
void BSLightingShaderPropertyColorController::SetTargetColor(LightingShaderControlledColor value) {
targetColor = value;
}
//--END CUSTOM CODE--//
......@@ -20,7 +20,7 @@ using namespace Niflib;
//Definition of TYPE constant
const Type BSLightingShaderPropertyFloatController::TYPE("BSLightingShaderPropertyFloatController", &NiFloatInterpController::TYPE );
BSLightingShaderPropertyFloatController::BSLightingShaderPropertyFloatController() : targetVariable((unsigned int)0) {
BSLightingShaderPropertyFloatController::BSLightingShaderPropertyFloatController() : targetVariable(LSCV_UNKNOWN_FLOAT_2) {
//--BEGIN CONSTRUCTOR CUSTOM CODE--//
//--END CUSTOM CODE--//
......@@ -106,5 +106,11 @@ std::list<NiObject *> BSLightingShaderPropertyFloatController::GetPtrs() const {
}
//--BEGIN MISC CUSTOM CODE--//
LightingShaderControlledVariable BSLightingShaderPropertyFloatController::GetTargetVariable() const {
return targetVariable;
}
void BSLightingShaderPropertyFloatController::SetTargetVariable(LightingShaderControlledVariable value) {
targetVariable = value;
}
//--END CUSTOM CODE--//
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment