mirror of
https://github.com/openmoh/openmohaa.git
synced 2025-04-30 14:47:57 +03:00
Reworked source tree so it compiles
This commit is contained in:
parent
19e33444e7
commit
8ef16a91f2
164 changed files with 3183 additions and 20134 deletions
|
@ -1,212 +0,0 @@
|
|||
/*
|
||||
===========================================================================
|
||||
Copyright (C) 2015 the OpenMoHAA team
|
||||
|
||||
This file is part of OpenMoHAA source code.
|
||||
|
||||
OpenMoHAA source code 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 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
OpenMoHAA source code 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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenMoHAA source code; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
===========================================================================
|
||||
*/
|
||||
|
||||
// hud.h: New HUD handler for MoHAA
|
||||
//
|
||||
|
||||
#ifndef __HUD_H__
|
||||
#define __HUD_H__
|
||||
|
||||
#include "listener.h"
|
||||
#include "container.h"
|
||||
|
||||
#define TIMER_ACTIVE (1<<0)
|
||||
#define TIMER_UP (1<<1)
|
||||
|
||||
typedef enum hudAlign_s
|
||||
{
|
||||
HUD_LEFT = 0,
|
||||
HUD_CENTER = 1,
|
||||
HUD_RIGHT = 2,
|
||||
HUD_TOP = 0,
|
||||
HUD_BOTTOM = 2,
|
||||
HUD_INVALID = 3
|
||||
} hudAlign_t;
|
||||
|
||||
class Hud : public Listener
|
||||
{
|
||||
private:
|
||||
unsigned int number; // auto-assigned number
|
||||
#ifdef GAME_DLL
|
||||
char clientnum; // assigned client number
|
||||
#else
|
||||
fontHeader_t *font;
|
||||
qhandle_t shaderHandle;
|
||||
#endif
|
||||
hudAlign_t alignX, alignY;
|
||||
float x, y;
|
||||
float width, height;
|
||||
Vector color;
|
||||
float alpha;
|
||||
str fontName;
|
||||
str shader;
|
||||
str text;
|
||||
bool virtualSize;
|
||||
bool isDimensional;
|
||||
|
||||
bool fade_alpha;
|
||||
bool fade_move;
|
||||
bool fade_scale;
|
||||
int fade_timer_flags;
|
||||
|
||||
bool fade_alpha_first;
|
||||
int fade_move_x_first;
|
||||
int fade_move_y_first;
|
||||
|
||||
float fade_alpha_current;
|
||||
float fade_move_current;
|
||||
float fade_scale_current;
|
||||
float fade_time_current;
|
||||
|
||||
float fade_alpha_time;
|
||||
float fade_move_time;
|
||||
float fade_scale_time;
|
||||
float fade_time;
|
||||
float fade_out_time;
|
||||
|
||||
float fade_alpha_start;
|
||||
float fade_move_x_start;
|
||||
float fade_move_y_start;
|
||||
float fade_scale_w_start;
|
||||
float fade_scale_h_start;
|
||||
float fade_time_alpha_start;
|
||||
|
||||
float fade_alpha_target;
|
||||
float fade_move_x_target;
|
||||
float fade_move_y_target;
|
||||
float fade_scale_w_target;
|
||||
float fade_scale_h_target;
|
||||
float fade_time_target;
|
||||
|
||||
Vector org;
|
||||
Vector lastOrg;
|
||||
qboolean always_show;
|
||||
qboolean depth;
|
||||
int enttarget;
|
||||
|
||||
#ifdef GAME_DLL
|
||||
void SetBroadcast( int clientNumber = -1 ); // Broadcast to someone or everyone
|
||||
#endif
|
||||
|
||||
private:
|
||||
#ifdef GAME_DLL
|
||||
void WriteNumber();
|
||||
#endif
|
||||
|
||||
public:
|
||||
CLASS_PROTOTYPE( Hud );
|
||||
|
||||
virtual void Archive( Archiver &arc );
|
||||
|
||||
static Hud *Find( int index );
|
||||
static Hud *FindOrCreate( int index );
|
||||
static int GetFreeNumber( void );
|
||||
static void ProcessThink( void );
|
||||
static int Sort( const void *elem1, const void *elem2 );
|
||||
|
||||
#ifdef CGAME_DLL
|
||||
static void ArchiveFunction( Archiver &arc );
|
||||
#endif
|
||||
|
||||
#ifdef GAME_DLL
|
||||
Hud( int client = -1 );
|
||||
#else
|
||||
Hud( int index = -1 );
|
||||
#endif
|
||||
~Hud( void );
|
||||
|
||||
#ifdef CGAME_DLL
|
||||
void Draw3D( void );
|
||||
#endif
|
||||
|
||||
void FadeThink( void );
|
||||
void MoveThink( void );
|
||||
void ScaleThink( void );
|
||||
void TimerThink( void );
|
||||
|
||||
void Think( void );
|
||||
|
||||
void FadeOverTime( float time );
|
||||
void MoveOverTime( float time );
|
||||
void ScaleOverTime( float time, short width, short height );
|
||||
|
||||
void Refresh( int clientNumber = -1 );
|
||||
|
||||
#ifdef GAME_DLL
|
||||
int GetClient( void );
|
||||
#endif
|
||||
|
||||
void Set3D( Vector vector_or_offset, qboolean always_show, qboolean depth, int entnum = -1 );
|
||||
void SetNon3D( void );
|
||||
void SetAlignX( hudAlign_t align );
|
||||
void SetAlignY( hudAlign_t align );
|
||||
void SetAlpha( float alpha );
|
||||
void SetClient( int clientnum, qboolean clears = false );
|
||||
void SetColor( Vector color );
|
||||
void SetFont( const char * font );
|
||||
void SetRectX( short x );
|
||||
void SetRectY( short y );
|
||||
void SetRectHeight( short height );
|
||||
void SetRectWidth( short height );
|
||||
void SetShader( const char * shader, float width, float height );
|
||||
void SetText( const char * text );
|
||||
void SetTimer( float time, float fade_at_time = -1.0f );
|
||||
void SetTimerUp( float time, float fade_at_time = -1.0f );
|
||||
void SetVirtualSize( qboolean virtualSize );
|
||||
|
||||
// Events
|
||||
void EventGetAlignX( Event * ev );
|
||||
void EventGetAlignY( Event * ev );
|
||||
void EventGetAlpha( Event * ev );
|
||||
void EventGetColor( Event * ev );
|
||||
void EventGetFont( Event * ev );
|
||||
void EventGetHeight( Event *ev );
|
||||
void EventGetRectX( Event * ev );
|
||||
void EventGetRectY( Event * ev );
|
||||
void EventGetTime( Event *ev );
|
||||
void EventGetWidth( Event *ev );
|
||||
void EventFadeDone( Event * ev );
|
||||
void EventFadeOverTime( Event * ev );
|
||||
void EventMoveDone( Event * ev );
|
||||
void EventMoveOverTime( Event * ev );
|
||||
void EventRefresh( Event * ev );
|
||||
void EventScaleOverTime( Event * ev );
|
||||
void EventSet3D( Event *ev );
|
||||
void EventSetNon3D( Event *ev );
|
||||
void EventSetAlignX( Event * ev );
|
||||
void EventSetAlignY( Event * ev );
|
||||
void EventSetAlpha( Event * ev );
|
||||
void EventSetColor( Event * ev );
|
||||
void EventSetFont( Event * ev );
|
||||
void EventSetPlayer( Event * ev );
|
||||
void EventSetRectX( Event * ev );
|
||||
void EventSetRectY( Event * ev );
|
||||
void EventSetShader( Event * ev );
|
||||
void EventSetText( Event * ev );
|
||||
void EventSetTimer( Event *ev );
|
||||
void EventSetTimerUp( Event *ev );
|
||||
void EventSetVirtualSize( Event * ev );
|
||||
};
|
||||
|
||||
extern Container< Hud * > hudElements;
|
||||
|
||||
#endif /* __HUD_H__ */
|
Loading…
Add table
Add a link
Reference in a new issue