138 lines
2.8 KiB
C
138 lines
2.8 KiB
C
//
|
|
// 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: mete@swissquake.ch
|
|
// web: http://www.swissquake.ch/chumbalum-soft/
|
|
//
|
|
#ifndef INCLUDED_VIEWERSETTINGS
|
|
#define INCLUDED_VIEWERSETTINGS
|
|
|
|
#include "vector.h"
|
|
|
|
enum // render modes
|
|
{
|
|
RM_WIREFRAME,
|
|
RM_FLATSHADED,
|
|
RM_SMOOTHSHADED,
|
|
RM_TEXTURED,
|
|
RM_BONEWEIGHTS
|
|
};
|
|
|
|
enum
|
|
{
|
|
EDIT_SOURCE = 0,
|
|
EDIT_MODEL,
|
|
};
|
|
|
|
typedef struct
|
|
{
|
|
// model
|
|
Vector rot;
|
|
Vector trans;
|
|
float movementScale;
|
|
float editStep;
|
|
int editMode;
|
|
bool editSize;
|
|
|
|
// render
|
|
int renderMode;
|
|
float transparency;
|
|
bool showBackground;
|
|
int showGround;
|
|
bool showHitBoxes;
|
|
bool showBones;
|
|
bool showTexture;
|
|
bool showAttachments;
|
|
bool showNormals;
|
|
bool showWireframeOverlay;
|
|
int enableIK;
|
|
int texture;
|
|
float textureScale;
|
|
int skin;
|
|
bool mirror;
|
|
bool useStencil; // if 3dfx fullscreen set false
|
|
bool pending_export_uvmap;
|
|
|
|
// animation
|
|
int sequence;
|
|
float speedScale;
|
|
|
|
// bodyparts and bonecontrollers
|
|
int submodels[32];
|
|
|
|
// fullscreen
|
|
int width, height;
|
|
bool cds;
|
|
int showMaximized;
|
|
|
|
// colors
|
|
float bgColor[4];
|
|
float lColor[4];
|
|
float gColor[4];
|
|
float gLightVec[3];
|
|
|
|
int sequence_autoplay;
|
|
int studio_blendweights;
|
|
int topcolor;
|
|
int bottomcolor;
|
|
|
|
bool show_uv_map;
|
|
bool overlay_uv_map;
|
|
bool anti_alias_lines;
|
|
|
|
// misc
|
|
int textureLimit;
|
|
bool pause;
|
|
int drawn_polys;
|
|
int numModelChanges; // if user touch settings that directly stored into the model
|
|
int numSourceChanges; // editor counter
|
|
|
|
// only used for fullscreen mode
|
|
char modelFile[256];
|
|
char modelPath[256];
|
|
char oldModelPath[256];
|
|
char backgroundTexFile[256];
|
|
char groundTexFile[256];
|
|
char uvmapPath[256];
|
|
|
|
char modelPathList[2048][256];
|
|
int numModelPathes;
|
|
} ViewerSettings;
|
|
|
|
|
|
|
|
extern ViewerSettings g_viewerSettings;
|
|
|
|
bool InitRegistry( void );
|
|
bool SaveString( const char *pKey, char *pValue );
|
|
bool LoadString( const char *pKey, char *pValue );
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
void InitViewerSettings (void);
|
|
int LoadViewerSettings (void);
|
|
int SaveViewerSettings (void);
|
|
void ListDirectory( void );
|
|
const char *LoadNextModel( void );
|
|
const char *LoadPrevModel( void );
|
|
bool IsAliasModel( const char *path );
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
|
|
|
|
#endif // INCLUDED_VIEWERSETTINGS
|