SDK Skeleton: Difference between revisions
TomEdwards (talk | contribs) m (→Usage) |
TomEdwards (talk | contribs) mNo edit summary |
||
Line 13: | Line 13: | ||
Also included are <code>CBaseNetworkedPlayer</code>, <code>CBaseNetworkedRagdoll</code> and <code>CNetworkedPlayerMovement</code>. These apply Valve's most current multiplayer player techniques to <code>CBasePlayer</code> and <code>CRagdoll</code>, without any extra cruft. | Also included are <code>CBaseNetworkedPlayer</code>, <code>CBaseNetworkedRagdoll</code> and <code>CNetworkedPlayerMovement</code>. These apply Valve's most current multiplayer player techniques to <code>CBasePlayer</code> and <code>CRagdoll</code>, without any extra cruft. | ||
They are not included in the projects by default. If you choose to use them <code>CBaseNetworkedPlayer</code> will need to be implemented by linking it to the "player" classname. Remember to update bots too, if you're using them. | They are not included in the projects by default. If you choose to use them <code>CBaseNetworkedPlayer</code> (or a derived class) will need to be implemented by linking it to the "player" classname, and its member <code>m_PlayerAnimState</code> will need to be defined with your preferred settings in shared code. Remember to update bots too, if you're using them. | ||
Jumping will not work properly until you edit the <code>PLAYERANIMEVENT_JUMP</code> case in <code>CMultiplayerAnimState::DoAnimationEvent()</code>. Replace <code>RestartMainSequence()</code> with <code>RestartGesture( GESTURE_SLOT_JUMP, ACT_MP_JUMP )</code>. Depending on how you models are animated you may also want to edit <code>CMultiPlayerAnimState::HandleJumping()</code>, particularly where it sets the <code>idealActivity</code> to "jump". | Jumping will not work properly until you edit the <code>PLAYERANIMEVENT_JUMP</code> case in <code>CMultiplayerAnimState::DoAnimationEvent()</code>. Replace <code>RestartMainSequence()</code> with <code>RestartGesture( GESTURE_SLOT_JUMP, ACT_MP_JUMP )</code>. Depending on how you models are animated you may also want to edit <code>CMultiPlayerAnimState::HandleJumping()</code>, particularly where it sets the <code>idealActivity</code> to "jump". |
Revision as of 04:17, 19 June 2011
The SDK Skeleton implements Source, and nothing more. It is the ideal cruft-free base from which to build your own new game.
Download the latest version now!
Usage
Extract the archive to a folder already containing the SDK's Source 2007 code (it won't overwrite anything). Open one of the .sln files with Visual Studio 2005/2008/2010 to get started. The player entity is configured for multiplayer but will work fine in singleplayer.
The compiled DLLs will appear in in \game\sdk_skeleton. Edit the projects' Custom Build Steps to redirect them to your mod's \bin folder. You will also need to configure debugging.
Multiplayer
Also included are CBaseNetworkedPlayer
, CBaseNetworkedRagdoll
and CNetworkedPlayerMovement
. These apply Valve's most current multiplayer player techniques to CBasePlayer
and CRagdoll
, without any extra cruft.
They are not included in the projects by default. If you choose to use them CBaseNetworkedPlayer
(or a derived class) will need to be implemented by linking it to the "player" classname, and its member m_PlayerAnimState
will need to be defined with your preferred settings in shared code. Remember to update bots too, if you're using them.
Jumping will not work properly until you edit the PLAYERANIMEVENT_JUMP
case in CMultiplayerAnimState::DoAnimationEvent()
. Replace RestartMainSequence()
with RestartGesture( GESTURE_SLOT_JUMP, ACT_MP_JUMP )
. Depending on how you models are animated you may also want to edit CMultiPlayerAnimState::HandleJumping()
, particularly where it sets the idealActivity
to "jump".
For more help see m_PlayerAnimState and acttable_t.
Fixing compiles
There are at the time of writing errors in Valve's CPP files that you must fix manually:
- Compiling under VS2005 (the "LNK2019 errors" fix has already been applied)
- Compiling under VS2008#Fix_debug_compilation
- Client missing DT class CWaterBullet