diff options
| author | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
|---|---|---|
| committer | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
| commit | 39ed87570bdb2f86969d4be821c94b722dc71179 (patch) | |
| tree | abc53757f75f40c80278e87650ea92808274aa59 /sp/src/game/shared/sdk/sdk_shareddefs.h | |
| download | source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip | |
First version of the SOurce SDK 2013
Diffstat (limited to 'sp/src/game/shared/sdk/sdk_shareddefs.h')
| -rw-r--r-- | sp/src/game/shared/sdk/sdk_shareddefs.h | 208 |
1 files changed, 208 insertions, 0 deletions
diff --git a/sp/src/game/shared/sdk/sdk_shareddefs.h b/sp/src/game/shared/sdk/sdk_shareddefs.h new file mode 100644 index 00000000..f9806516 --- /dev/null +++ b/sp/src/game/shared/sdk/sdk_shareddefs.h @@ -0,0 +1,208 @@ +//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================//
+
+#ifndef SDK_SHAREDDEFS_H
+#define SDK_SHAREDDEFS_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+//=========================
+// GAMEPLAY RELATED OPTIONS
+//=========================
+// NOTES: The Wizard automatically replaces these strings! If you extract the source as is, you will have to add the defines manually!
+//
+// Will your mod be team based?
+// define SDK_USE_TEAMS
+#define SDK_USE_TEAMS
+
+//
+// Do you use player classes?
+// define SDK_USE_PLAYERCLASSES
+#define SDK_USE_PLAYERCLASSES
+
+//================================
+// PLAYER MOVEMENT RELATED OPTIONS
+//================================
+
+//
+// Do your players have stamina? - this is a pre-requisite for sprinting, if you define sprinting, and don't uncomment this, it will be included anyway.
+// define SDK_USE_STAMINA
+#define SDK_USE_STAMINA
+
+//
+// Are your players able to sprint?
+// define SDK_USE_SPRINTING
+#define SDK_USE_SPRINTING
+
+//Tony; stamina is a pre-requisite to sprinting, if you don't declare stamina but you do declare sprinting
+//stamina needs to be included.
+#if defined ( SDK_USE_SPRINTING ) && !defined( SDK_USE_STAMINA )
+#define SDK_USE_STAMINA
+#endif
+//
+// Can your players go prone?
+// define SDK_USE_PRONE
+#define SDK_USE_PRONE
+
+//=====================
+// EXTRA WEAPON OPTIONS
+//=====================
+
+//
+// If you're allowing sprinting, do you want to be able to shoot while sprinting?
+// define SDK_SHOOT_WHILE_SPRINTING
+#define SDK_SHOOT_WHILE_SPRINTING
+
+//
+// Do you want your players to be able to shoot while climing ladders?
+// define SDK_SHOOT_ON_LADDERS
+#define SDK_SHOOT_ON_LADDERS
+
+//
+// Do you want your players to be able to shoot while jumping?
+// define SDK_SHOOT_WHILE_JUMPING
+#define SDK_SHOOT_WHILE_JUMPING
+
+
+
+#define SDK_GAME_DESCRIPTION "SDK Template mod v1"
+
+//================================================================================
+// Most elements below here are specific to the options above.
+//================================================================================
+
+#if defined ( SDK_USE_TEAMS )
+
+enum sdkteams_e
+ {
+ SDK_TEAM_BLUE = LAST_SHARED_TEAM+1,
+ SDK_TEAM_RED,
+ };
+
+#endif // SDK_USE_TEAMS
+
+#if defined ( SDK_USE_PRONE )
+
+ #define TIME_TO_PRONE 1.2f
+ #define VEC_PRONE_HULL_MIN SDKGameRules()->GetSDKViewVectors()->m_vProneHullMin
+ #define VEC_PRONE_HULL_MAX SDKGameRules()->GetSDKViewVectors()->m_vProneHullMax
+ #define VEC_PRONE_VIEW SDKGameRules()->GetSDKViewVectors()->m_vProneView
+
+#endif // SDK_USE_PRONE
+
+#if defined ( SDK_USE_SPRINTING )
+
+ #define INITIAL_SPRINT_STAMINA_PENALTY 15
+ #define LOW_STAMINA_THRESHOLD 35
+
+#endif // SDK_USE_SPRINTING
+
+#if defined ( SDK_USE_PLAYERCLASSES )
+ #define SDK_NUM_PLAYERCLASSES 3 //Tony; our template sample has 3 player classes.
+ #define SDK_PLAYERCLASS_IMAGE_LENGTH 64
+
+ #define PLAYERCLASS_RANDOM -2
+ #define PLAYERCLASS_UNDEFINED -1
+
+ #if defined ( SDK_USE_TEAMS )
+ //Tony; using teams with classes, so make sure the team class panel names are defined.
+ #define PANEL_CLASS_BLUE "class_blue"
+ #define PANEL_CLASS_RED "class_red"
+
+ extern const char *pszTeamBlueClasses[];
+ extern const char *pszTeamRedClasses[];
+ #else
+ #define PANEL_CLASS_NOTEAMS "class_noteams"
+ extern const char *pszPlayerClasses[];
+ #endif // SDK_USE_TEAMS
+
+#endif // SDK_USE_PLAYERCLASSES
+
+#define SDK_PLAYER_MODEL "models/player/american_rifleman.mdl"
+
+//Tony; We need to precache all possible player models that we're going to use
+extern const char *pszPossiblePlayerModels[];
+
+extern const char *pszTeamNames[];
+
+//Tony; these defines handle the default speeds for all of these - all are listed regardless of which option is enabled.
+#define SDK_DEFAULT_PLAYER_RUNSPEED 220
+#define SDK_DEFAULT_PLAYER_SPRINTSPEED 330
+#define SDK_DEFAULT_PLAYER_PRONESPEED 50
+
+//--------------------------------------------------------------------------------------------------------
+//
+// Weapon IDs for all SDK Game weapons
+//
+typedef enum
+{
+ WEAPON_NONE = 0,
+
+ SDK_WEAPON_NONE = WEAPON_NONE,
+ SDK_WEAPON_MP5,
+ SDK_WEAPON_SHOTGUN,
+ SDK_WEAPON_GRENADE,
+ SDK_WEAPON_PISTOL,
+ SDK_WEAPON_CROWBAR,
+
+
+ WEAPON_MAX, // number of weapons weapon index
+} SDKWeaponID;
+
+typedef enum
+{
+ FM_AUTOMATIC = 0,
+ FM_SEMIAUTOMATIC,
+ FM_BURST,
+
+} SDK_Weapon_Firemodes;
+
+const char *WeaponIDToAlias( int id );
+int AliasToWeaponID( const char *alias );
+
+
+// The various states the player can be in during the join game process.
+enum SDKPlayerState
+{
+ // Happily running around in the game.
+ // You can't move though if CSGameRules()->IsFreezePeriod() returns true.
+ // This state can jump to a bunch of other states like STATE_PICKINGCLASS or STATE_DEATH_ANIM.
+ STATE_ACTIVE=0,
+
+ // This is the state you're in when you first enter the server.
+ // It's switching between intro cameras every few seconds, and there's a level info
+ // screen up.
+ STATE_WELCOME, // Show the level intro screen.
+
+ // During these states, you can either be a new player waiting to join, or
+ // you can be a live player in the game who wants to change teams.
+ // Either way, you can't move while choosing team or class (or while any menu is up).
+#if defined ( SDK_USE_TEAMS )
+ STATE_PICKINGTEAM, // Choosing team.
+#endif
+#if defined ( SDK_USE_PLAYERCLASSES )
+ STATE_PICKINGCLASS, // Choosing class.
+#endif
+
+ STATE_DEATH_ANIM, // Playing death anim, waiting for that to finish.
+ STATE_OBSERVER_MODE, // Noclipping around, watching players, etc.
+
+ NUM_PLAYER_STATES
+};
+#define SDK_PLAYER_DEATH_TIME 5.0f //Minimum Time before respawning
+
+// Special Damage types
+enum
+{
+ SDK_DMG_CUSTOM_NONE = 0,
+ SDK_DMG_CUSTOM_SUICIDE,
+};
+
+// Player avoidance
+#define PUSHAWAY_THINK_INTERVAL (1.0f / 20.0f)
+
+#endif // SDK_SHAREDDEFS_H
|