You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.0 KiB
63 lines
2.0 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: Network data for screen shake and screen fade. |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#ifndef SHAKE_H |
|
#define SHAKE_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
|
|
// |
|
// Commands for the screen shake effect. |
|
// |
|
|
|
struct ScreenShake_t |
|
{ |
|
int command; |
|
float amplitude; |
|
float frequency; |
|
float duration; |
|
}; |
|
|
|
enum ShakeCommand_t |
|
{ |
|
SHAKE_START = 0, // Starts the screen shake for all players within the radius. |
|
SHAKE_STOP, // Stops the screen shake for all players within the radius. |
|
SHAKE_AMPLITUDE, // Modifies the amplitude of an active screen shake for all players within the radius. |
|
SHAKE_FREQUENCY, // Modifies the frequency of an active screen shake for all players within the radius. |
|
SHAKE_START_RUMBLEONLY, // Starts a shake effect that only rumbles the controller, no screen effect. |
|
SHAKE_START_NORUMBLE, // Starts a shake that does NOT rumble the controller. |
|
}; |
|
|
|
|
|
// |
|
// Screen shake message. |
|
// |
|
extern int gmsgShake; |
|
|
|
// Fade in/out |
|
extern int gmsgFade; |
|
|
|
#define FFADE_IN 0x0001 // Just here so we don't pass 0 into the function |
|
#define FFADE_OUT 0x0002 // Fade out (not in) |
|
#define FFADE_MODULATE 0x0004 // Modulate (don't blend) |
|
#define FFADE_STAYOUT 0x0008 // ignores the duration, stays faded out until new ScreenFade message received |
|
#define FFADE_PURGE 0x0010 // Purges all other fades, replacing them with this one |
|
|
|
#define SCREENFADE_FRACBITS 9 // which leaves 16-this for the integer part |
|
// This structure is sent over the net to describe a screen fade event |
|
struct ScreenFade_t |
|
{ |
|
unsigned short duration; // FIXED 16 bit, with SCREENFADE_FRACBITS fractional, seconds duration |
|
unsigned short holdTime; // FIXED 16 bit, with SCREENFADE_FRACBITS fractional, seconds duration until reset (fade & hold) |
|
short fadeFlags; // flags |
|
byte r, g, b, a; // fade to color ( max alpha ) |
|
}; |
|
|
|
|
|
#endif // SHAKE_H
|
|
|