65 lines
1.6 KiB
C
65 lines
1.6 KiB
C
/***
|
|
*
|
|
* Copyright (c) 1996-2004, Shambler Team. All rights reserved.
|
|
*
|
|
* This product contains software technology licensed from Id
|
|
* Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc.
|
|
* All Rights Reserved.
|
|
*
|
|
* Use, distribution, and modification of this source code and/or resulting
|
|
* object code is restricted to non-commercial enhancements to products from
|
|
* Shambler Team. All other use, distribution, or modification is prohibited
|
|
* without written permission from Shambler Team.
|
|
*
|
|
****/
|
|
/*
|
|
====== rain.h ========================================================
|
|
*/
|
|
#ifndef __RAIN_H__
|
|
#define __RAIN_H__
|
|
|
|
#define DRIPSPEED 900 // speed of raindrips (pixel per secs)
|
|
#define SNOWSPEED 200 // speed of snowflakes
|
|
#define SNOWFADEDIST 80
|
|
|
|
#define MAXDRIPS 3000 // max raindrops
|
|
#define MAXFX 3000 // max effects
|
|
|
|
#define DRIP_SPRITE_HALFHEIGHT 46
|
|
#define DRIP_SPRITE_HALFWIDTH 8
|
|
#define SNOW_SPRITE_HALFSIZE 3
|
|
|
|
// radius water rings
|
|
#define MAXRINGHALFSIZE 25
|
|
|
|
typedef struct cl_drip
|
|
{
|
|
float birthTime;
|
|
float minHeight; // minimal height to kill raindrop
|
|
vec3_t origin;
|
|
float alpha;
|
|
|
|
float xDelta; // side speed
|
|
float yDelta;
|
|
int landInWater;
|
|
|
|
cl_drip* p_Next; // next drip in chain
|
|
cl_drip* p_Prev; // previous drip in chain
|
|
} cl_drip_t;
|
|
|
|
typedef struct cl_rainfx
|
|
{
|
|
float birthTime;
|
|
float life;
|
|
vec3_t origin;
|
|
float alpha;
|
|
|
|
cl_rainfx* p_Next; // next fx in chain
|
|
cl_rainfx* p_Prev; // previous fx in chain
|
|
} cl_rainfx_t;
|
|
|
|
void R_DrawWeather( void );
|
|
void ResetRain( void );
|
|
void InitRain( void );
|
|
|
|
#endif |