diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /mp/src/game/shared/weapon_parse.h | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/game/shared/weapon_parse.h')
| -rw-r--r-- | mp/src/game/shared/weapon_parse.h | 322 |
1 files changed, 161 insertions, 161 deletions
diff --git a/mp/src/game/shared/weapon_parse.h b/mp/src/game/shared/weapon_parse.h index 0cbf60e5..f1d4c924 100644 --- a/mp/src/game/shared/weapon_parse.h +++ b/mp/src/game/shared/weapon_parse.h @@ -1,161 +1,161 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose: Weapon data file parsing, shared by game & client dlls.
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#ifndef WEAPON_PARSE_H
-#define WEAPON_PARSE_H
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "shareddefs.h"
-
-class IFileSystem;
-
-typedef unsigned short WEAPON_FILE_INFO_HANDLE;
-
-// -----------------------------------------------------------
-// Weapon sound types
-// Used to play sounds defined in the weapon's classname.txt file
-// This needs to match pWeaponSoundCategories in weapon_parse.cpp
-// ------------------------------------------------------------
-typedef enum {
- EMPTY,
- SINGLE,
- SINGLE_NPC,
- WPN_DOUBLE, // Can't be "DOUBLE" because windows.h uses it.
- DOUBLE_NPC,
- BURST,
- RELOAD,
- RELOAD_NPC,
- MELEE_MISS,
- MELEE_HIT,
- MELEE_HIT_WORLD,
- SPECIAL1,
- SPECIAL2,
- SPECIAL3,
- TAUNT,
- DEPLOY,
-
- // Add new shoot sound types here
-
- NUM_SHOOT_SOUND_TYPES,
-} WeaponSound_t;
-
-int GetWeaponSoundFromString( const char *pszString );
-
-#define MAX_SHOOT_SOUNDS 16 // Maximum number of shoot sounds per shoot type
-
-#define MAX_WEAPON_STRING 80
-#define MAX_WEAPON_PREFIX 16
-#define MAX_WEAPON_AMMO_NAME 32
-
-#define WEAPON_PRINTNAME_MISSING "!!! Missing printname on weapon"
-
-class CHudTexture;
-class KeyValues;
-
-//-----------------------------------------------------------------------------
-// Purpose: Contains the data read from the weapon's script file.
-// It's cached so we only read each weapon's script file once.
-// Each game provides a CreateWeaponInfo function so it can have game-specific
-// data (like CS move speeds) in the weapon script.
-//-----------------------------------------------------------------------------
-class FileWeaponInfo_t
-{
-public:
-
- FileWeaponInfo_t();
-
- // Each game can override this to get whatever values it wants from the script.
- virtual void Parse( KeyValues *pKeyValuesData, const char *szWeaponName );
-
-
-public:
- bool bParsedScript;
- bool bLoadedHudElements;
-
-// SHARED
- char szClassName[MAX_WEAPON_STRING];
- char szPrintName[MAX_WEAPON_STRING]; // Name for showing in HUD, etc.
-
- char szViewModel[MAX_WEAPON_STRING]; // View model of this weapon
- char szWorldModel[MAX_WEAPON_STRING]; // Model of this weapon seen carried by the player
- char szAnimationPrefix[MAX_WEAPON_PREFIX]; // Prefix of the animations that should be used by the player carrying this weapon
- int iSlot; // inventory slot.
- int iPosition; // position in the inventory slot.
- int iMaxClip1; // max primary clip size (-1 if no clip)
- int iMaxClip2; // max secondary clip size (-1 if no clip)
- int iDefaultClip1; // amount of primary ammo in the gun when it's created
- int iDefaultClip2; // amount of secondary ammo in the gun when it's created
- int iWeight; // this value used to determine this weapon's importance in autoselection.
- int iRumbleEffect; // Which rumble effect to use when fired? (xbox)
- bool bAutoSwitchTo; // whether this weapon should be considered for autoswitching to
- bool bAutoSwitchFrom; // whether this weapon can be autoswitched away from when picking up another weapon or ammo
- int iFlags; // miscellaneous weapon flags
- char szAmmo1[MAX_WEAPON_AMMO_NAME]; // "primary" ammo type
- char szAmmo2[MAX_WEAPON_AMMO_NAME]; // "secondary" ammo type
-
- // Sound blocks
- char aShootSounds[NUM_SHOOT_SOUND_TYPES][MAX_WEAPON_STRING];
-
- int iAmmoType;
- int iAmmo2Type;
- bool m_bMeleeWeapon; // Melee weapons can always "fire" regardless of ammo.
-
- // This tells if the weapon was built right-handed (defaults to true).
- // This helps cl_righthand make the decision about whether to flip the model or not.
- bool m_bBuiltRightHanded;
- bool m_bAllowFlipping; // False to disallow flipping the model, regardless of whether
- // it is built left or right handed.
-
-// CLIENT DLL
- // Sprite data, read from the data file
- int iSpriteCount;
- CHudTexture *iconActive;
- CHudTexture *iconInactive;
- CHudTexture *iconAmmo;
- CHudTexture *iconAmmo2;
- CHudTexture *iconCrosshair;
- CHudTexture *iconAutoaim;
- CHudTexture *iconZoomedCrosshair;
- CHudTexture *iconZoomedAutoaim;
- CHudTexture *iconSmall;
-
-// TF2 specific
- bool bShowUsageHint; // if true, then when you receive the weapon, show a hint about it
-
-// SERVER DLL
-
-};
-
-// The weapon parse function
-bool ReadWeaponDataFromFileForSlot( IFileSystem* filesystem, const char *szWeaponName,
- WEAPON_FILE_INFO_HANDLE *phandle, const unsigned char *pICEKey = NULL );
-
-// If weapon info has been loaded for the specified class name, this returns it.
-WEAPON_FILE_INFO_HANDLE LookupWeaponInfoSlot( const char *name );
-
-FileWeaponInfo_t *GetFileWeaponInfoFromHandle( WEAPON_FILE_INFO_HANDLE handle );
-WEAPON_FILE_INFO_HANDLE GetInvalidWeaponInfoHandle( void );
-void PrecacheFileWeaponInfoDatabase( IFileSystem *filesystem, const unsigned char *pICEKey );
-
-
-//
-// Read a possibly-encrypted KeyValues file in.
-// If pICEKey is NULL, then it appends .txt to the filename and loads it as an unencrypted file.
-// If pICEKey is non-NULL, then it appends .ctx to the filename and loads it as an encrypted file.
-//
-// (This should be moved into a more appropriate place).
-//
-KeyValues* ReadEncryptedKVFile( IFileSystem *filesystem, const char *szFilenameWithoutExtension, const unsigned char *pICEKey, bool bForceReadEncryptedFile = false );
-
-
-// Each game implements this. It can return a derived class and override Parse() if it wants.
-extern FileWeaponInfo_t* CreateWeaponInfo();
-
-
-#endif // WEAPON_PARSE_H
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Weapon data file parsing, shared by game & client dlls. +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef WEAPON_PARSE_H +#define WEAPON_PARSE_H +#ifdef _WIN32 +#pragma once +#endif + +#include "shareddefs.h" + +class IFileSystem; + +typedef unsigned short WEAPON_FILE_INFO_HANDLE; + +// ----------------------------------------------------------- +// Weapon sound types +// Used to play sounds defined in the weapon's classname.txt file +// This needs to match pWeaponSoundCategories in weapon_parse.cpp +// ------------------------------------------------------------ +typedef enum { + EMPTY, + SINGLE, + SINGLE_NPC, + WPN_DOUBLE, // Can't be "DOUBLE" because windows.h uses it. + DOUBLE_NPC, + BURST, + RELOAD, + RELOAD_NPC, + MELEE_MISS, + MELEE_HIT, + MELEE_HIT_WORLD, + SPECIAL1, + SPECIAL2, + SPECIAL3, + TAUNT, + DEPLOY, + + // Add new shoot sound types here + + NUM_SHOOT_SOUND_TYPES, +} WeaponSound_t; + +int GetWeaponSoundFromString( const char *pszString ); + +#define MAX_SHOOT_SOUNDS 16 // Maximum number of shoot sounds per shoot type + +#define MAX_WEAPON_STRING 80 +#define MAX_WEAPON_PREFIX 16 +#define MAX_WEAPON_AMMO_NAME 32 + +#define WEAPON_PRINTNAME_MISSING "!!! Missing printname on weapon" + +class CHudTexture; +class KeyValues; + +//----------------------------------------------------------------------------- +// Purpose: Contains the data read from the weapon's script file. +// It's cached so we only read each weapon's script file once. +// Each game provides a CreateWeaponInfo function so it can have game-specific +// data (like CS move speeds) in the weapon script. +//----------------------------------------------------------------------------- +class FileWeaponInfo_t +{ +public: + + FileWeaponInfo_t(); + + // Each game can override this to get whatever values it wants from the script. + virtual void Parse( KeyValues *pKeyValuesData, const char *szWeaponName ); + + +public: + bool bParsedScript; + bool bLoadedHudElements; + +// SHARED + char szClassName[MAX_WEAPON_STRING]; + char szPrintName[MAX_WEAPON_STRING]; // Name for showing in HUD, etc. + + char szViewModel[MAX_WEAPON_STRING]; // View model of this weapon + char szWorldModel[MAX_WEAPON_STRING]; // Model of this weapon seen carried by the player + char szAnimationPrefix[MAX_WEAPON_PREFIX]; // Prefix of the animations that should be used by the player carrying this weapon + int iSlot; // inventory slot. + int iPosition; // position in the inventory slot. + int iMaxClip1; // max primary clip size (-1 if no clip) + int iMaxClip2; // max secondary clip size (-1 if no clip) + int iDefaultClip1; // amount of primary ammo in the gun when it's created + int iDefaultClip2; // amount of secondary ammo in the gun when it's created + int iWeight; // this value used to determine this weapon's importance in autoselection. + int iRumbleEffect; // Which rumble effect to use when fired? (xbox) + bool bAutoSwitchTo; // whether this weapon should be considered for autoswitching to + bool bAutoSwitchFrom; // whether this weapon can be autoswitched away from when picking up another weapon or ammo + int iFlags; // miscellaneous weapon flags + char szAmmo1[MAX_WEAPON_AMMO_NAME]; // "primary" ammo type + char szAmmo2[MAX_WEAPON_AMMO_NAME]; // "secondary" ammo type + + // Sound blocks + char aShootSounds[NUM_SHOOT_SOUND_TYPES][MAX_WEAPON_STRING]; + + int iAmmoType; + int iAmmo2Type; + bool m_bMeleeWeapon; // Melee weapons can always "fire" regardless of ammo. + + // This tells if the weapon was built right-handed (defaults to true). + // This helps cl_righthand make the decision about whether to flip the model or not. + bool m_bBuiltRightHanded; + bool m_bAllowFlipping; // False to disallow flipping the model, regardless of whether + // it is built left or right handed. + +// CLIENT DLL + // Sprite data, read from the data file + int iSpriteCount; + CHudTexture *iconActive; + CHudTexture *iconInactive; + CHudTexture *iconAmmo; + CHudTexture *iconAmmo2; + CHudTexture *iconCrosshair; + CHudTexture *iconAutoaim; + CHudTexture *iconZoomedCrosshair; + CHudTexture *iconZoomedAutoaim; + CHudTexture *iconSmall; + +// TF2 specific + bool bShowUsageHint; // if true, then when you receive the weapon, show a hint about it + +// SERVER DLL + +}; + +// The weapon parse function +bool ReadWeaponDataFromFileForSlot( IFileSystem* filesystem, const char *szWeaponName, + WEAPON_FILE_INFO_HANDLE *phandle, const unsigned char *pICEKey = NULL ); + +// If weapon info has been loaded for the specified class name, this returns it. +WEAPON_FILE_INFO_HANDLE LookupWeaponInfoSlot( const char *name ); + +FileWeaponInfo_t *GetFileWeaponInfoFromHandle( WEAPON_FILE_INFO_HANDLE handle ); +WEAPON_FILE_INFO_HANDLE GetInvalidWeaponInfoHandle( void ); +void PrecacheFileWeaponInfoDatabase( IFileSystem *filesystem, const unsigned char *pICEKey ); + + +// +// Read a possibly-encrypted KeyValues file in. +// If pICEKey is NULL, then it appends .txt to the filename and loads it as an unencrypted file. +// If pICEKey is non-NULL, then it appends .ctx to the filename and loads it as an encrypted file. +// +// (This should be moved into a more appropriate place). +// +KeyValues* ReadEncryptedKVFile( IFileSystem *filesystem, const char *szFilenameWithoutExtension, const unsigned char *pICEKey, bool bForceReadEncryptedFile = false ); + + +// Each game implements this. It can return a derived class and override Parse() if it wants. +extern FileWeaponInfo_t* CreateWeaponInfo(); + + +#endif // WEAPON_PARSE_H |