2006-04-13 20:47:06 +00:00
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
/*
|
|
|
|
Copyright (C) 1996, 2003 - 3D Realms Entertainment
|
2007-02-08 04:19:39 +00:00
|
|
|
Copyright (C) 2000, 2003 - Matt Saettler (EDuke Enhancements)
|
|
|
|
Copyright (C) 2004, 2007 - EDuke32 developers
|
2006-04-13 20:47:06 +00:00
|
|
|
|
2007-02-08 04:19:39 +00:00
|
|
|
This file is part of EDuke32
|
2006-04-13 20:47:06 +00:00
|
|
|
|
2007-02-08 04:19:39 +00:00
|
|
|
EDuke32 is free software; you can redistribute it and/or
|
|
|
|
modify it under the terms of the GNU General Public License version 2
|
|
|
|
as published by the Free Software Foundation.
|
2006-04-13 20:47:06 +00:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to the Free Software
|
|
|
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
*/
|
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
|
|
|
|
#ifndef __funct_h__
|
|
|
|
#define __funct_h__
|
|
|
|
|
|
|
|
struct player_struct; // JBF: duke3d.h defines this later
|
|
|
|
|
2006-12-23 02:38:47 +00:00
|
|
|
extern void sendscore(const char *s);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern void SoundStartup(void);
|
|
|
|
extern void SoundShutdown(void);
|
|
|
|
extern void MusicStartup(void);
|
|
|
|
extern void MusicShutdown(void);
|
|
|
|
extern void intomenusounds(void);
|
2006-12-23 02:38:47 +00:00
|
|
|
extern void playmusic(const char *fn);
|
|
|
|
extern int loadsound(unsigned short num);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern int xyzsound(short num,short i,long x,long y,long z);
|
|
|
|
extern void sound(short num);
|
|
|
|
extern int spritesound(unsigned short num,short i);
|
|
|
|
extern void stopsound(short num);
|
|
|
|
extern void stopenvsound(short num,short i);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern void pan3dsound(void);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void testcallback(unsigned long num);
|
|
|
|
extern void clearsoundlocks(void);
|
2006-12-20 03:27:25 +00:00
|
|
|
extern int callsound(int sn,int whatsprite);
|
|
|
|
extern int check_activator_motion(int lotag);
|
|
|
|
extern int isadoorwall(int dapic);
|
|
|
|
extern int isanunderoperator(int lotag);
|
|
|
|
extern int isanearoperator(int lotag);
|
|
|
|
extern int checkcursectnums(int sect);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern long ldist(spritetype *s1,spritetype *s2);
|
|
|
|
extern long dist(spritetype *s1,spritetype *s2);
|
2006-12-20 03:27:25 +00:00
|
|
|
extern int findplayer(spritetype *s,long *d);
|
|
|
|
extern int findotherplayer(int p,long *d);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern void doanimations(void);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern int getanimationgoal(long *animptr);
|
|
|
|
extern int setanimation(short animsect,long *animptr,long thegoal,long thevel);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern void animatecamsprite(void);
|
|
|
|
extern void animatewalls(void);
|
2006-12-23 02:38:47 +00:00
|
|
|
extern int activatewarpelevators(short s,short d);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void operatesectors(short sn,short ii);
|
2006-12-20 03:27:25 +00:00
|
|
|
extern void operaterespawns(int low);
|
|
|
|
extern void operateactivators(int low,int snum);
|
|
|
|
extern void operatemasterswitches(int low);
|
|
|
|
extern void operateforcefields(short s,int low);
|
2006-12-23 02:38:47 +00:00
|
|
|
extern int checkhitswitch(int snum,long w,int switchtype);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void activatebysector(short sect,short j);
|
|
|
|
extern void checkhitwall(short spr,short dawallnum,long x,long y,long z,short atwith);
|
|
|
|
extern void checkplayerhurt(struct player_struct *p,short j);
|
2006-12-23 02:38:47 +00:00
|
|
|
extern int checkhitceiling(short sn);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void checkhitsprite(short i,short sn);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern void allignwarpelevators(void);
|
2006-12-20 03:27:25 +00:00
|
|
|
extern void sharedkeys(int snum);
|
|
|
|
extern void checksectors(int snum);
|
2006-12-23 02:38:47 +00:00
|
|
|
extern int32 RTS_AddFile(const char *filename);
|
|
|
|
extern void RTS_Init(const char *filename);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern int32 RTS_NumSounds(void);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern int32 RTS_SoundLength(int32 lump);
|
2006-12-23 02:38:47 +00:00
|
|
|
extern const char *RTS_GetSoundName(int32 i);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void RTS_ReadLump(int32 lump,void *dest);
|
|
|
|
extern void *RTS_GetSound(int32 lump);
|
|
|
|
extern void docacheit(void);
|
|
|
|
extern void xyzmirror(short i,short wn);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern void vscrn(void);
|
2006-12-20 03:27:25 +00:00
|
|
|
extern void pickrandomspot(int snum);
|
|
|
|
extern void resetweapons(int snum);
|
|
|
|
extern void resetinventory(int snum);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void newgame(char vn,char ln,char sk);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern void resettimevars(void);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void waitforeverybody(void);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern void cacheit(void);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void clearfifo(void);
|
|
|
|
extern void resetmys(void);
|
|
|
|
extern int enterlevel(char g);
|
|
|
|
extern void backtomenu(void);
|
|
|
|
extern void setpal(struct player_struct *p);
|
|
|
|
extern void quickkill(struct player_struct *p);
|
|
|
|
extern long hits(short i);
|
|
|
|
extern long hitasprite(short i,short *hitsp);
|
2006-12-20 03:27:25 +00:00
|
|
|
extern int shoot(int i,int atwith);
|
|
|
|
extern void displaymasks(int snum);
|
|
|
|
extern void displayweapon(int snum);
|
|
|
|
extern void getinput(int snum);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void checkweapons(struct player_struct *p);
|
2006-12-20 03:27:25 +00:00
|
|
|
extern void processinput(int snum);
|
|
|
|
extern void cmenu(int cm);
|
2006-12-23 02:38:47 +00:00
|
|
|
extern void savetemp(const char *fn,long daptr,long dasiz);
|
2006-04-13 20:47:06 +00:00
|
|
|
// extern int loadpheader(char spot,int32 *vn,int32 *ln,int32 *psk,int32 *numplr);
|
|
|
|
extern int loadplayer(signed char spot);
|
|
|
|
extern int saveplayer(signed char spot);
|
2006-12-23 02:38:47 +00:00
|
|
|
extern inline int menutext(int x,int y,short s,short p,const char *t);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern void menus(void);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void palto(char r,char g,char b,long e);
|
2006-12-23 02:38:47 +00:00
|
|
|
extern void playanm(const char *fn,char);
|
2006-12-20 03:27:25 +00:00
|
|
|
extern int getincangle(int a,int na);
|
|
|
|
extern void getglobalz(int iActor);
|
|
|
|
extern void makeitfall(int iActor);
|
2006-12-23 02:38:47 +00:00
|
|
|
extern void loadefs(const char *fn);
|
2006-12-20 03:27:25 +00:00
|
|
|
extern int furthestangle(int iActor,int angs);
|
2006-12-18 08:37:12 +00:00
|
|
|
extern void execute(int iActor,int iPlayer,long lDist);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void overwritesprite(long thex,long they,short tilenum,signed char shade,char stat,char dapalnum);
|
2006-12-23 02:38:47 +00:00
|
|
|
extern inline int gametext(int x,int y,const char *t,char s,short dabits);
|
|
|
|
extern inline int gametextpal(int x,int y,const char *t,char s,char p);
|
|
|
|
extern inline int minitext(int x,int y,const char *t,char p,short sb);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void gamenumber(long x,long y,long n,char s);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern void Shutdown(void);
|
|
|
|
extern void getpackets(void);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void check_fta_sounds(short i);
|
|
|
|
extern inline short inventory(spritetype *s);
|
2006-12-18 04:16:41 +00:00
|
|
|
extern inline int badguy(spritetype *s);
|
2006-12-21 09:33:26 +00:00
|
|
|
extern int badguypic(int pn);
|
|
|
|
extern void myos(long x,long y,int tilenum,int shade,int orientation);
|
|
|
|
extern void myospal(long x,long y,int tilenum,int shade,int orientation,int p);
|
2006-12-10 03:15:56 +00:00
|
|
|
extern void displayfragbar(void);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void FTA(short q,struct player_struct *p);
|
2006-12-23 02:38:47 +00:00
|
|
|
extern void gameexit(const char *t);
|
2006-12-17 21:20:35 +00:00
|
|
|
extern inline int strget(short x,short y,char *t,short dalen,short c);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void displayrest(long smoothratio);
|
|
|
|
extern void updatesectorz(long x,long y,long z,short *sectnum);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern void drawbackground(void);
|
2006-12-20 03:27:25 +00:00
|
|
|
extern void displayrooms(int snum,long smoothratio);
|
|
|
|
extern int EGS(int whatsect,long s_x,long s_y,long s_z,int s_pn,int s_s,int s_xr,int s_yr,int s_a,int s_ve,long s_zv,int s_ow,int s_ss);
|
2006-12-23 02:38:47 +00:00
|
|
|
extern int wallswitchcheck(short i);
|
2006-12-20 03:27:25 +00:00
|
|
|
extern int spawn(int j,int pn);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void animatesprites(long x,long y,short a,long smoothratio);
|
|
|
|
extern int main(int argc,char **argv);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern void opendemowrite(void);
|
|
|
|
extern void closedemowrite(void);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void dobonus(char bonusonly);
|
|
|
|
extern void lotsofglass(short i,short wallnum,short n);
|
|
|
|
extern void spriteglass(short i,short n);
|
|
|
|
extern void ceilingglass(short i,short sectnum,short n);
|
|
|
|
extern void lotsofcolourglass(short i,short wallnum,short n);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern long GetTime(void);
|
|
|
|
extern void CONFIG_GetSetupFilename(void);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern int32 CONFIG_FunctionNameToNum(char *func);
|
|
|
|
extern char *CONFIG_FunctionNumToName(int32 func);
|
|
|
|
extern int32 CONFIG_AnalogNameToNum(char *func);
|
|
|
|
extern char *CONFIG_AnalogNumToName(int32 func);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern void CONFIG_SetDefaults(void);
|
|
|
|
extern void CONFIG_ReadKeys(void);
|
|
|
|
extern void readsavenames(void);
|
|
|
|
extern int32 CONFIG_ReadSetup(void);
|
|
|
|
extern void CONFIG_WriteSetup(void);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void updateinterpolations(void);
|
|
|
|
extern void setinterpolation(long *posptr);
|
|
|
|
extern void stopinterpolation(long *posptr);
|
|
|
|
extern void dointerpolations(long smoothratio);
|
|
|
|
extern void restoreinterpolations(void);
|
|
|
|
extern long ceilingspace(short sectnum);
|
|
|
|
extern long floorspace(short sectnum);
|
|
|
|
extern void addammo(short weapon,struct player_struct *p,short amount);
|
|
|
|
extern void addweaponnoswitch(struct player_struct *p,short weapon);
|
|
|
|
extern void addweapon(struct player_struct *p,short weapon);
|
|
|
|
extern void checkavailinven(struct player_struct *p);
|
|
|
|
extern void checkavailweapon(struct player_struct *p);
|
|
|
|
extern void hitradius(short i,long r,long hp1,long hp2,long hp3,long hp4);
|
|
|
|
extern int movesprite(short spritenum,long xchange,long ychange,long zchange,unsigned long cliptype);
|
2006-12-20 03:27:25 +00:00
|
|
|
extern int ssp(int i,unsigned long cliptype);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void insertspriteq(short i);
|
|
|
|
extern void lotsofmoney(spritetype *s,short n);
|
|
|
|
extern void lotsofmail(spritetype *s, short n);
|
|
|
|
extern void lotsofpaper(spritetype *s, short n);
|
|
|
|
extern void guts(spritetype *s,short gtype,short n,short p);
|
|
|
|
extern void setsectinterpolate(short i);
|
|
|
|
extern void clearsectinterpolate(short i);
|
2006-12-20 03:27:25 +00:00
|
|
|
extern int ifhitsectors(int sectnum);
|
|
|
|
extern int ifhitbyweapon(int sn);
|
2006-12-10 03:15:56 +00:00
|
|
|
extern void moveobjects(void);
|
2006-11-19 03:02:36 +00:00
|
|
|
extern void movecyclers(void);
|
|
|
|
extern void movedummyplayers(void);
|
2006-04-13 20:47:06 +00:00
|
|
|
|
|
|
|
// game.c
|
2006-12-17 21:20:35 +00:00
|
|
|
extern inline void setstatusbarscale(long sc);
|
2006-04-13 20:47:06 +00:00
|
|
|
|
|
|
|
extern void setgamepalette(struct player_struct *player, char *pal, int set);
|
|
|
|
extern void fadepal(int r, int g, int b, int start, int end, int step);
|
|
|
|
|
2006-12-23 02:38:47 +00:00
|
|
|
extern inline int minitextshade(int x,int y,const char *t,char s,char p,short sb);
|
|
|
|
extern inline int gametext_(int small, int starttile, int x,int y,const char *t,char s,char p,short orientation,long x1, long y1, long x2, long y2);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void txdigitalnumber(short starttile, long x,long y,long n,char s,char pal,char cs,long x1, long y1, long x2, long y2);
|
2006-12-21 09:33:26 +00:00
|
|
|
extern void myosx(long x,long y,int tilenum,int shade,int orientation);
|
|
|
|
extern void myospalx(long x,long y,int tilenum,int shade,int orientation,int p);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void ResetGameVars(void);
|
2006-12-20 03:27:25 +00:00
|
|
|
extern void ResetActorGameVars(int iActor);
|
2006-04-13 20:47:06 +00:00
|
|
|
|
|
|
|
extern void setupdynamictostatic();
|
2006-12-23 02:38:47 +00:00
|
|
|
extern void processnames(const char *szLabel, long lValue);
|
2006-04-13 20:47:06 +00:00
|
|
|
|
2006-12-10 01:52:35 +00:00
|
|
|
extern void LoadActor(long sActor);
|
2006-04-13 20:47:06 +00:00
|
|
|
|
2006-12-23 02:38:47 +00:00
|
|
|
extern long GetGameVar(const char *szGameLabel, long lDefault, int iActor, int iPlayer);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void DumpGameVars(FILE *fp);
|
2007-02-08 04:19:39 +00:00
|
|
|
// extern void AddLog(const char *psz, ...);
|
2006-04-13 20:47:06 +00:00
|
|
|
|
|
|
|
extern void ResetSystemDefaults(void);
|
|
|
|
extern void InitGameVarPointers(void);
|
|
|
|
extern void InitGameVars(void);
|
|
|
|
extern void SaveGameVars(FILE *fil);
|
2006-04-28 00:46:09 +00:00
|
|
|
extern int ReadGameVars(long fil);
|
2006-04-13 20:47:06 +00:00
|
|
|
|
2006-12-20 03:27:25 +00:00
|
|
|
extern long GetGameVarID(int id, int iActor, int iPlayer);
|
|
|
|
extern void SetGameVarID(int id, long lValue, int iActor, int iPlayer);
|
2006-12-23 02:38:47 +00:00
|
|
|
extern int AddGameVar(const char *pszLabel, long lValue, unsigned long dwFlags);
|
2006-12-10 06:49:01 +00:00
|
|
|
extern void ReportError(int iError);
|
2006-04-13 20:47:06 +00:00
|
|
|
|
|
|
|
extern void onvideomodechange(int newmode);
|
|
|
|
|
2006-12-20 03:27:25 +00:00
|
|
|
extern void OnEvent(int iEventID, int sActor, int sPlayer, long lDist);
|
2006-04-13 20:47:06 +00:00
|
|
|
|
|
|
|
extern int isspritemakingsound(short i, int num);
|
2006-05-22 01:05:56 +00:00
|
|
|
extern int issoundplaying(short i, int num);
|
2006-04-13 20:47:06 +00:00
|
|
|
extern void stopspritesound(short num, short i);
|
2006-11-30 23:37:47 +00:00
|
|
|
extern void updateplayer(void);
|
2006-04-20 19:21:40 +00:00
|
|
|
extern void sendboardname(void);
|
2006-04-20 22:18:56 +00:00
|
|
|
extern void sendquit(void);
|
2006-04-20 19:21:40 +00:00
|
|
|
|
2006-12-23 02:38:47 +00:00
|
|
|
extern void adduserquote(const char *daquote);
|
|
|
|
extern const char *stripcolorcodes(const char *t);
|
2006-12-12 08:46:32 +00:00
|
|
|
extern void mpchangemap(char volume, char level);
|
2006-05-03 04:49:54 +00:00
|
|
|
|
2006-12-21 09:33:26 +00:00
|
|
|
extern inline int checkspriteflags(int iActor, int iType);
|
|
|
|
extern inline int checkspriteflagsp(int iPicnum, int iType);
|
|
|
|
|
2007-01-26 00:28:44 +00:00
|
|
|
extern int getteampal(int team);
|
|
|
|
|
2006-04-13 20:47:06 +00:00
|
|
|
#endif // __funct_h__
|