diff options
Diffstat (limited to 'utils/hlmv/viewersettings.h')
| -rw-r--r-- | utils/hlmv/viewersettings.h | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/utils/hlmv/viewersettings.h b/utils/hlmv/viewersettings.h new file mode 100644 index 0000000..9fd8a34 --- /dev/null +++ b/utils/hlmv/viewersettings.h @@ -0,0 +1,157 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// +// +// Half-Life Model Viewer (c) 1999 by Mete Ciragan +// +// file: ViewerSettings.h +// last modified: May 29 1999, Mete Ciragan +// copyright: The programs and associated files contained in this +// distribution were developed by Mete Ciragan. The programs +// are not in the public domain, but they are freely +// distributable without licensing fees. These programs are +// provided without guarantee or warrantee expressed or +// implied. +// +// version: 1.2 +// +// email: [email protected] +// web: http://www.swissquake.ch/chumbalum-soft/ +// +#ifndef INCLUDED_VIEWERSETTINGS +#define INCLUDED_VIEWERSETTINGS + +#include "mathlib/vector.h" + +enum // render modes +{ + RM_WIREFRAME = 0, +// RM_FLATSHADED, + RM_SMOOTHSHADED, + RM_TEXTURED, + RM_BONEWEIGHTS, + RM_SHOWBADVERTEXDATA, + RM_TEXCOORDS, +}; + +#define HLMV_MAX_MERGED_MODELS 12 + +struct ViewerSettings +{ + char registrysubkey[ 64 ]; + int application_mode; // 0 expression, 1 choreo + + bool showHitBoxes; + bool showBones; + bool showAttachments; + bool showPhysicsModel; + bool showPhysicsPreview; + bool showSequenceBoxes; + bool enableIK; + bool enableTargetIK; + bool showNormals; + bool showTangentFrame; + bool overlayWireframe; + bool enableNormalMapping; + bool enableParallaxMapping; + bool enableSpecular; + bool showIllumPosition; + bool playSounds; + + // Current attachment we're editing. -1 if none. + int m_iEditAttachment; + bool showLightingCenter; + int highlightPhysicsBone; + int highlightHitbox; + int highlightBone; + QAngle lightrot; // light rotation + float lColor[4]; // directional color + float aColor[4]; // ambient color + + // external + + // model + float fov; // horizontal field of view + + // render + int renderMode; + bool showBackground; + bool showGround; + bool showTexture; + bool showMovement; + bool showShadow; + int texture; + int skin; + int materialIndex; + bool showOriginAxis; + float originAxisLength; + + // animation + float speedScale; + bool blendSequenceChanges; + bool animateWeapons; + + // bodyparts and bonecontrollers + //int submodels[32]; + //float controllers[8]; + + // fullscreen + int xpos, ypos; + int width, height; + bool cds; + + // colors + float bgColor[4]; // background color + float gColor[4]; + + // misc + bool pause; + bool rotating; + bool mousedown; + + // only used for fullscreen mode + // char modelFile[256]; + //char backgroundTexFile[256]; + //char groundTexFile[256]; + + int lod; + bool autoLOD; + bool softwareSkin; + bool overbright; + + int thumbnailsize; + int thumbnailsizeanim; + + int speechapiindex; + int cclanguageid; // Close captioning language id (see sentence.h enum) + + bool showHidden; + bool showActivities; + + bool faceposerToolsDriveMouth; + + char mergeModelFile[HLMV_MAX_MERGED_MODELS][256]; + + ViewerSettings(); + +}; + +extern ViewerSettings g_viewerSettings; +class StudioModel; + +void InitViewerSettings ( const char *subkey ); +bool LoadViewerSettings (const char *filename, StudioModel *pModel ); +bool SaveViewerSettings (const char *filename, StudioModel *pModel ); +bool LoadViewerRootSettings( void ); +bool SaveViewerRootSettings( void ); + +// For saving/loading "global" settings +bool LoadViewerSettingsInt( char const *keyname, int *value ); +bool SaveViewerSettingsInt ( const char *keyname, int value ); + + +#endif // INCLUDED_VIEWERSETTINGS
\ No newline at end of file |