mirror of
https://github.com/FWGS/xash3d-fwgs
synced 2024-11-24 18:59:50 +01:00
5e0a0765ce
The `.editorconfig` file in this repo is configured to trim all trailing whitespace regardless of whether the line is modified. Trims all trailing whitespace in the repository to make the codebase easier to work with in editors that respect `.editorconfig`. `git blame` becomes less useful on these lines but it already isn't very useful. Commands: ``` find . -type f -name '*.h' -exec sed --in-place 's/[[:space:]]\+$//' {} \+ find . -type f -name '*.c' -exec sed --in-place 's/[[:space:]]\+$//' {} \+ ```
84 lines
2.6 KiB
C
84 lines
2.6 KiB
C
/*
|
|
world.h - shared world routines
|
|
Copyright (C) 2009 Uncle Mike
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
*/
|
|
|
|
#ifndef WORLD_H
|
|
#define WORLD_H
|
|
|
|
#define MOVE_NORMAL 0 // normal trace
|
|
#define MOVE_NOMONSTERS 1 // ignore monsters (edicts with flags (FL_MONSTER|FL_FAKECLIENT|FL_CLIENT) set)
|
|
#define MOVE_MISSILE 2 // extra size for monsters
|
|
|
|
#define CONTENTS_NONE 0 // no custom contents specified
|
|
|
|
/*
|
|
===============================================================================
|
|
|
|
ENTITY AREA CHECKING
|
|
|
|
===============================================================================
|
|
*/
|
|
#define MAX_TOTAL_ENT_LEAFS 128
|
|
#define AREA_NODES 32
|
|
#define AREA_DEPTH 4
|
|
|
|
#include "lightstyle.h"
|
|
|
|
extern const char *et_name[];
|
|
|
|
// linked list
|
|
void InsertLinkBefore( link_t *l, link_t *before );
|
|
void RemoveLink( link_t *l );
|
|
void ClearLink( link_t *l );
|
|
|
|
// trace common
|
|
void World_MoveBounds( const vec3_t start, vec3_t mins, vec3_t maxs, const vec3_t end, vec3_t boxmins, vec3_t boxmaxs );
|
|
void World_TransformAABB( matrix4x4 transform, const vec3_t mins, const vec3_t maxs, vec3_t outmins, vec3_t outmaxs );
|
|
trace_t World_CombineTraces( trace_t *cliptrace, trace_t *trace, edict_t *touch );
|
|
int RankForContents( int contents );
|
|
|
|
#define check_angles( x ) ( (int)x == 90 || (int)x == 180 || (int)x == 270 || (int)x == -90 || (int)x == -180 || (int)x == -270 )
|
|
|
|
/*
|
|
===============================================================================
|
|
|
|
EVENTS QUEUE (hl1 events code)
|
|
|
|
===============================================================================
|
|
*/
|
|
#include "event_api.h"
|
|
#include "event_args.h"
|
|
|
|
#define MAX_EVENT_QUEUE 64 // 16 simultaneous events, max
|
|
|
|
typedef struct event_info_s
|
|
{
|
|
word index; // 0 implies not in use
|
|
short packet_index; // Use data from state info for entity in delta_packet .
|
|
// -1 implies separate info based on event
|
|
// parameter signature
|
|
short entity_index; // The edict this event is associated with
|
|
float fire_time; // if non-zero, the time when the event should be fired
|
|
// ( fixed up on the client )
|
|
event_args_t args;
|
|
int flags; // reliable or not, etc. ( CLIENT ONLY )
|
|
} event_info_t;
|
|
|
|
typedef struct event_state_s
|
|
{
|
|
event_info_t ei[MAX_EVENT_QUEUE];
|
|
} event_state_t;
|
|
|
|
#endif//WORLD_H
|