645 lines
17 KiB
C
Executable File
645 lines
17 KiB
C
Executable File
/*
|
|
Copyright (C) 1994-1995 Apogee Software, Ltd.
|
|
|
|
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 2
|
|
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.
|
|
|
|
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 _states_public
|
|
#define _states_public
|
|
|
|
#include "develop.h"
|
|
|
|
#if (SHAREWARE == 0)
|
|
#define MAXSTATES 1300+17+8+32+32
|
|
#else
|
|
#define MAXSTATES 660+17+8+32+32
|
|
#endif
|
|
|
|
#define SF_CLOSE 0x01
|
|
#define SF_CRUSH 0x02
|
|
#define SF_UP 0x04
|
|
#define SF_DOWN 0x08
|
|
#define SF_SOUND 0x10
|
|
#define SF_BLOCK 0x20
|
|
#define SF_EYE1 0
|
|
#define SF_EYE2 1
|
|
#define SF_EYE3 2
|
|
#define SF_DOGSTATE 0x40
|
|
#define SF_BAT 0x80
|
|
#define SF_FAKING 0x80
|
|
#define SF_DEAD 0x80
|
|
|
|
typedef struct statestruct
|
|
{
|
|
byte rotate;
|
|
short shapenum; // a shapenum of -1 means get from ob->temp1
|
|
short tictime;
|
|
void (*think) ();
|
|
signed char condition;
|
|
struct statestruct *next;
|
|
} statetype;
|
|
|
|
extern statetype * statetable[MAXSTATES];
|
|
|
|
extern statetype s_lowgrdstand;
|
|
extern statetype s_lowgrdpath4;
|
|
extern statetype s_lowgrdpath3;
|
|
extern statetype s_lowgrdpath2;
|
|
extern statetype s_lowgrdpath1;
|
|
extern statetype s_lowgrdcollide;
|
|
extern statetype s_lowgrdcollide2;
|
|
//extern statetype s_lowgrduse1;
|
|
extern statetype s_lowgrdshoot1;
|
|
extern statetype s_lowgrdchase1;
|
|
extern statetype s_lowgrddie1;
|
|
extern statetype s_lowgrdcrushed1;
|
|
extern statetype s_lowgrdcrushed1;
|
|
extern statetype s_sneakydown;
|
|
extern statetype s_sneakyrise1;
|
|
|
|
|
|
extern statetype s_highgrdstand;
|
|
extern statetype s_highgrdpath1;
|
|
extern statetype s_highgrdcollide;
|
|
extern statetype s_highgrdcollide2;
|
|
//extern statetype s_highgrduse1;
|
|
extern statetype s_highgrdshoot1;
|
|
extern statetype s_highgrdshoot3;
|
|
extern statetype s_highgrdchase1;
|
|
extern statetype s_highgrddie1;
|
|
extern statetype s_highgrdcrushed1;
|
|
|
|
|
|
extern statetype s_strikestand;
|
|
extern statetype s_strikepath1;
|
|
extern statetype s_strikecollide;
|
|
extern statetype s_strikecollide2;
|
|
extern statetype s_strikeshoot1;
|
|
//extern statetype s_strikeuse1;
|
|
extern statetype s_strikerollright1;
|
|
extern statetype s_strikerollright3;
|
|
extern statetype s_strikerollleft1;
|
|
extern statetype s_strikerollleft3;
|
|
extern statetype s_strikechase1;
|
|
extern statetype s_strikedie1;
|
|
extern statetype s_strikewait;
|
|
extern statetype s_strikecrushed1;
|
|
|
|
|
|
extern statetype s_blitzstand;
|
|
extern statetype s_blitzpath1;
|
|
extern statetype s_blitzcollide;
|
|
extern statetype s_blitzcollide2;
|
|
extern statetype s_blitzshoot1;
|
|
extern statetype s_blitzuse;
|
|
extern statetype s_blitzsteal1;
|
|
extern statetype s_blitzchase1;
|
|
extern statetype s_blitzdie1;
|
|
extern statetype s_blitzdie3;
|
|
extern statetype s_blitzplead1;
|
|
extern statetype s_blitzplead3;
|
|
extern statetype s_blitzplead4;
|
|
extern statetype s_blitzplead7;
|
|
extern statetype s_blitzaplead5;
|
|
extern statetype s_blitzaplead4;
|
|
extern statetype s_blitzcrushed1;
|
|
extern statetype s_blitzfakedie1;
|
|
extern statetype s_blitzrise2;
|
|
extern statetype s_blitzstruggledie1;
|
|
extern statetype s_blitzstruggledead;
|
|
|
|
extern statetype s_enforcerstand;
|
|
extern statetype s_enforcerpath1;
|
|
extern statetype s_enforcercollide;
|
|
extern statetype s_enforcercollide2;
|
|
//extern statetype s_enforceruse1;
|
|
extern statetype s_enforcershoot1;
|
|
extern statetype s_enforcershoot3;
|
|
extern statetype s_enforcerthrow1;
|
|
extern statetype s_grenade1;
|
|
extern statetype s_grenadehit1;
|
|
extern statetype s_enforcerchase1;
|
|
extern statetype s_enforcerdie1;
|
|
extern statetype s_grenade_fall1;
|
|
extern statetype s_grenade_fall6;
|
|
extern statetype s_enforcercrushed1;
|
|
|
|
|
|
extern statetype s_robogrdstand;
|
|
extern statetype s_robogrdpath1;
|
|
extern statetype s_robogrdshoot1;
|
|
extern statetype s_robogrdshuriken1;
|
|
extern statetype s_shurikenhit1;
|
|
extern statetype s_robogrdchase1;
|
|
extern statetype s_robogrddie1;
|
|
extern statetype s_robogrdcollide;
|
|
extern statetype s_robogrdcollide2;
|
|
extern statetype s_robogrdcrushed1;
|
|
extern statetype s_roboalign;
|
|
extern statetype s_robowait;
|
|
extern statetype s_roborealign;
|
|
|
|
|
|
|
|
|
|
|
|
extern statetype s_altexplosion10;
|
|
extern statetype s_altexplosion9 ;
|
|
extern statetype s_altexplosion8 ;
|
|
extern statetype s_altexplosion7 ;
|
|
extern statetype s_altexplosion6 ;
|
|
extern statetype s_altexplosion5 ;
|
|
extern statetype s_altexplosion4 ;
|
|
extern statetype s_altexplosion3 ;
|
|
extern statetype s_altexplosion2 ;
|
|
extern statetype s_altexplosion1 ;
|
|
|
|
|
|
|
|
extern statetype s_explosion1;
|
|
extern statetype s_explosion2;
|
|
extern statetype s_explosion3;
|
|
extern statetype s_explosion4;
|
|
extern statetype s_explosion5;
|
|
extern statetype s_explosion6;
|
|
extern statetype s_explosion7;
|
|
extern statetype s_explosion8;
|
|
extern statetype s_explosion9;
|
|
extern statetype s_explosion10;
|
|
extern statetype s_explosion11;
|
|
extern statetype s_explosion12;
|
|
extern statetype s_explosion13;
|
|
extern statetype s_explosion14;
|
|
extern statetype s_explosion15;
|
|
extern statetype s_explosion16;
|
|
extern statetype s_explosion17;
|
|
extern statetype s_explosion18;
|
|
extern statetype s_explosion19;
|
|
extern statetype s_explosion20;
|
|
|
|
extern statetype s_grexplosion1;
|
|
extern statetype s_grexplosion2;
|
|
extern statetype s_grexplosion3;
|
|
extern statetype s_grexplosion4;
|
|
extern statetype s_grexplosion5;
|
|
extern statetype s_grexplosion6;
|
|
extern statetype s_grexplosion7;
|
|
extern statetype s_grexplosion8;
|
|
extern statetype s_grexplosion9;
|
|
extern statetype s_grexplosion10;
|
|
extern statetype s_grexplosion11;
|
|
extern statetype s_grexplosion12;
|
|
extern statetype s_grexplosion13;
|
|
extern statetype s_grexplosion14;
|
|
extern statetype s_grexplosion15;
|
|
extern statetype s_grexplosion16;
|
|
extern statetype s_grexplosion17;
|
|
extern statetype s_grexplosion18;
|
|
extern statetype s_grexplosion19;
|
|
extern statetype s_grexplosion20;
|
|
|
|
|
|
|
|
extern statetype s_staticexplosion1;
|
|
extern statetype s_staticexplosion2;
|
|
extern statetype s_staticexplosion3;
|
|
extern statetype s_staticexplosion4;
|
|
extern statetype s_staticexplosion5;
|
|
extern statetype s_staticexplosion6;
|
|
extern statetype s_staticexplosion7;
|
|
extern statetype s_staticexplosion8;
|
|
extern statetype s_staticexplosion9;
|
|
extern statetype s_staticexplosion10;
|
|
extern statetype s_staticexplosion11;
|
|
extern statetype s_staticexplosion12;
|
|
extern statetype s_staticexplosion13;
|
|
extern statetype s_staticexplosion14;
|
|
extern statetype s_staticexplosion15;
|
|
extern statetype s_staticexplosion16;
|
|
extern statetype s_staticexplosion17;
|
|
extern statetype s_staticexplosion18;
|
|
extern statetype s_staticexplosion19;
|
|
extern statetype s_staticexplosion20;
|
|
extern statetype s_staticexplosion21;
|
|
extern statetype s_staticexplosion22;
|
|
extern statetype s_staticexplosion23;
|
|
extern statetype s_staticexplosion24;
|
|
extern statetype s_staticexplosion25;
|
|
|
|
extern statetype s_upblade1;
|
|
|
|
extern statetype s_firejetup1;
|
|
|
|
|
|
extern statetype s_columndowndown1;
|
|
|
|
|
|
extern statetype s_spearup1;
|
|
extern statetype s_pushcolumn1;
|
|
extern statetype s_pushcolumn2;
|
|
extern statetype s_pushcolumn3;
|
|
|
|
extern statetype s_wallfireball;
|
|
extern statetype s_crossfire1;
|
|
extern statetype s_crossdone1;
|
|
|
|
|
|
|
|
|
|
extern statetype s_fireunit1;
|
|
extern statetype s_firespan1;
|
|
|
|
extern statetype s_p_bazooka1;
|
|
extern statetype s_p_bazooka2;
|
|
|
|
extern statetype s_p_grenade;
|
|
extern statetype s_p_gfall1;
|
|
extern statetype s_p_gfall2;
|
|
extern statetype s_p_gfall3;
|
|
extern statetype s_p_gfall4;
|
|
|
|
extern statetype s_gunsmoke1;
|
|
extern statetype s_bloodspurt1;
|
|
extern statetype s_hitmetalwall1;
|
|
extern statetype s_hitmetalactor1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern statetype s_dust;
|
|
|
|
|
|
|
|
extern statetype s_skeleton1;
|
|
|
|
|
|
extern statetype s_gas2;
|
|
extern statetype s_gas1;
|
|
|
|
|
|
extern statetype s_spring1;
|
|
extern statetype s_spring2;
|
|
|
|
|
|
|
|
|
|
extern statetype s_player;
|
|
extern statetype s_free;
|
|
|
|
extern statetype s_pgunattack1;
|
|
extern statetype s_pmissattack1;
|
|
extern statetype s_pgunattack2;
|
|
extern statetype s_pmissattack2;
|
|
extern statetype s_remoteinelev;
|
|
extern statetype s_remotemove1;
|
|
|
|
|
|
extern statetype s_godfire1;
|
|
|
|
|
|
|
|
extern statetype s_remotedie1;
|
|
|
|
|
|
extern statetype s_guts1;
|
|
extern statetype s_guts12;
|
|
|
|
|
|
extern statetype s_bossdeath;
|
|
extern statetype s_megaexplosions;
|
|
|
|
extern statetype s_superparticles;
|
|
extern statetype s_gibs1;
|
|
extern statetype s_gibsdone1;
|
|
extern statetype s_bigsoul;
|
|
extern statetype s_littlesoul;
|
|
extern statetype s_vaporized1;
|
|
extern statetype s_autospring1;
|
|
extern statetype s_pbatblast;
|
|
|
|
|
|
|
|
extern statetype s_collectorwander1;
|
|
extern statetype s_collectorfdoor1;
|
|
extern statetype s_tag;
|
|
extern statetype s_timekeeper;
|
|
extern statetype s_skeleton48;
|
|
extern statetype s_skeleton24;
|
|
|
|
extern statetype s_wind;
|
|
extern statetype s_remoteguts1;
|
|
extern statetype s_voidwait;
|
|
extern statetype s_ashwait;
|
|
extern statetype s_deadwait;
|
|
extern statetype s_gutwait;
|
|
extern statetype s_vaporized8;
|
|
extern statetype s_remoteguts12;
|
|
extern statetype s_eye1;
|
|
extern statetype s_itemspawn1;
|
|
extern statetype s_deadblood1;
|
|
|
|
|
|
extern statetype s_flash1;
|
|
|
|
extern statetype s_elevdisk;
|
|
extern statetype s_pathdisk;
|
|
extern statetype s_megaremove;
|
|
|
|
extern statetype s_respawn1;
|
|
extern statetype s_basemarker1;
|
|
|
|
extern statetype s_blooddrip1;
|
|
|
|
extern statetype s_diskmaster;
|
|
extern statetype s_bstar1;
|
|
|
|
|
|
#if (SHAREWARE == 0)
|
|
|
|
extern statetype s_scottwander1;
|
|
extern statetype s_scottwanderdoor1;
|
|
|
|
extern statetype s_opstand;
|
|
extern statetype s_oppath1;
|
|
extern statetype s_opcollide;
|
|
extern statetype s_opcollide2;
|
|
extern statetype s_opgiveup;
|
|
//extern statetype s_opuse1;
|
|
extern statetype s_opshoot1;
|
|
extern statetype s_opbolo1;
|
|
extern statetype s_bolocast1;
|
|
extern statetype s_opchase1;
|
|
extern statetype s_opdie1;
|
|
extern statetype s_opcrushed1;
|
|
|
|
|
|
extern statetype s_dmonkstand;
|
|
extern statetype s_dmonkpath1;
|
|
extern statetype s_dmonkshoot1;
|
|
extern statetype s_dmonkshoot2;
|
|
extern statetype s_dmonkchase1;
|
|
extern statetype s_dmonkdie1;
|
|
extern statetype s_dmonkcollide;
|
|
extern statetype s_dmonkcollide2;
|
|
extern statetype s_dmonkcrushed1;
|
|
extern statetype s_dmonkshoot5;
|
|
extern statetype s_dmonkshoot3;
|
|
extern statetype s_dmonkshoot4;
|
|
|
|
|
|
extern statetype s_firemonkstand;
|
|
extern statetype s_firemonkpath1;
|
|
extern statetype s_firemonkcast1;
|
|
extern statetype s_monkfire1;
|
|
extern statetype s_fireballhit1;
|
|
extern statetype s_firemonkchase1;
|
|
extern statetype s_firemonkdie1;
|
|
extern statetype s_firemonkcollide;
|
|
extern statetype s_firemonkcollide2;
|
|
extern statetype s_firemonkcrushed1;
|
|
|
|
|
|
extern statetype s_wallstand;
|
|
extern statetype s_wallpath;
|
|
extern statetype s_wallshoot;
|
|
extern statetype s_wallcollide;
|
|
extern statetype s_wallalign;
|
|
extern statetype s_wallwait;
|
|
extern statetype s_wallrestore;
|
|
|
|
|
|
extern statetype s_darianstand;
|
|
extern statetype s_darianchase1;
|
|
extern statetype s_darianuse;
|
|
extern statetype s_darianshoot1;
|
|
extern statetype s_dariancollide;
|
|
extern statetype s_dariancollide2;
|
|
extern statetype s_dariandie1;
|
|
extern statetype s_darianspears;
|
|
extern statetype s_darianuse1;
|
|
extern statetype s_dariansink1;
|
|
extern statetype s_dariansink9;
|
|
extern statetype s_darianrise1;
|
|
extern statetype s_darianwait;
|
|
extern statetype s_dariandefend1;
|
|
|
|
|
|
extern statetype s_heinrichstand;
|
|
extern statetype s_heinrichshoot1;
|
|
extern statetype s_heinrichshoot4;
|
|
extern statetype s_heinrichshoot9;
|
|
extern statetype s_heinrichooc;
|
|
extern statetype s_heinrichchase;
|
|
extern statetype s_heinexp1;
|
|
extern statetype s_kristleft;
|
|
extern statetype s_kristright;
|
|
|
|
|
|
extern statetype s_missile1;
|
|
extern statetype s_missilehit1;
|
|
extern statetype s_mine1;
|
|
extern statetype s_heinrichchase1;
|
|
extern statetype s_heinrichuse;
|
|
extern statetype s_heinrichmine;
|
|
extern statetype s_heinrichdie1;
|
|
extern statetype s_heinrichdead;
|
|
extern statetype s_heinrichdefend;
|
|
|
|
extern statetype s_dexplosion22;
|
|
extern statetype s_dexplosion21;
|
|
extern statetype s_dexplosion20;
|
|
extern statetype s_dexplosion19;
|
|
extern statetype s_dexplosion18;
|
|
extern statetype s_dexplosion17;
|
|
extern statetype s_dexplosion16;
|
|
extern statetype s_dexplosion15;
|
|
extern statetype s_dexplosion14;
|
|
extern statetype s_dexplosion13;
|
|
extern statetype s_dexplosion12;
|
|
extern statetype s_dexplosion11;
|
|
extern statetype s_dexplosion10;
|
|
extern statetype s_dexplosion9;
|
|
extern statetype s_dexplosion8;
|
|
extern statetype s_dexplosion7;
|
|
extern statetype s_dexplosion6;
|
|
extern statetype s_dexplosion5;
|
|
extern statetype s_dexplosion4;
|
|
extern statetype s_dexplosion3;
|
|
extern statetype s_dexplosion2;
|
|
extern statetype s_dexplosion1;
|
|
extern statetype s_dspear1;
|
|
|
|
|
|
|
|
extern statetype s_NMEchase;
|
|
extern statetype s_NMEdie;
|
|
extern statetype s_NMEhead1;
|
|
extern statetype s_NMEhead2;
|
|
extern statetype s_NMEwheels1;
|
|
extern statetype s_NMEwheels2;
|
|
extern statetype s_NMEwheels3;
|
|
extern statetype s_NMEwheels4;
|
|
extern statetype s_NMEwheels5;
|
|
extern statetype s_NMEwindup;
|
|
extern statetype s_NMEwheels120;
|
|
|
|
extern statetype s_NMEwrotleft3;
|
|
extern statetype s_NMEwrotleft2;
|
|
extern statetype s_NMEwrotleft1;
|
|
|
|
extern statetype s_NMEwrotright3;
|
|
extern statetype s_NMEwrotright2;
|
|
extern statetype s_NMEwrotright1;
|
|
extern statetype s_NMEminiball1;
|
|
extern statetype s_NMEattack;
|
|
extern statetype s_NMEsaucer1;
|
|
extern statetype s_NMEhead1rl;
|
|
extern statetype s_NMEhead2rl;
|
|
extern statetype s_NMEspinattack;
|
|
extern statetype s_NMEwheelspin;
|
|
extern statetype s_NMEcollide;
|
|
extern statetype s_NMEdeathbuildup;
|
|
extern statetype s_NMEheadexplosion;
|
|
extern statetype s_NMEstand;
|
|
extern statetype s_NMEspinfire;
|
|
extern statetype s_shootinghead;
|
|
extern statetype s_oshuriken1;
|
|
extern statetype s_oshurikenhit1;
|
|
|
|
|
|
|
|
|
|
extern statetype s_darkmonkstand;
|
|
extern statetype s_darkmonkcharge1;
|
|
extern statetype s_darkmonkreact;
|
|
extern statetype s_darkmonkland;
|
|
extern statetype s_darkmonkchase1;
|
|
extern statetype s_darkmonkcover1;
|
|
extern statetype s_darkmonkawaken1;
|
|
extern statetype s_darkmonklightning1;
|
|
extern statetype s_darkmonkfspark1;
|
|
extern statetype s_darkmonkbreathe1;
|
|
extern statetype s_darkmonksummon1;
|
|
extern statetype s_darkmonkhead;
|
|
extern statetype s_darkmonkhspawn;
|
|
extern statetype s_darkmonksneer1;
|
|
extern statetype s_darkmonkheadhappy;
|
|
extern statetype s_darkmonkheaddie1;
|
|
extern statetype s_darkmonkhball1;
|
|
extern statetype s_darkmonksphere1;
|
|
extern statetype s_darkmonksphere8;
|
|
extern statetype s_darkmonkbball1;
|
|
extern statetype s_darkmonkscare1;
|
|
extern statetype s_darkmonkdie1;
|
|
extern statetype s_darkmonkredhead;
|
|
extern statetype s_redheadhit;
|
|
extern statetype s_darkmonksnakelink;
|
|
extern statetype s_darkmonkredlink;
|
|
extern statetype s_redlinkhit;
|
|
extern statetype s_energysphere1;
|
|
extern statetype s_lightning;
|
|
extern statetype s_handball2;
|
|
extern statetype s_handball1;
|
|
extern statetype s_faceball2;
|
|
extern statetype s_faceball1;
|
|
extern statetype s_floorspark1;
|
|
extern statetype s_dmlandandfire;
|
|
|
|
extern statetype s_darkmonkhball7;
|
|
extern statetype s_darkmonkbball7;
|
|
extern statetype s_darkmonklightning9;
|
|
extern statetype s_darkmonkfspark5;
|
|
extern statetype s_darkmonkbreathe6;
|
|
extern statetype s_darkmonkabsorb1;
|
|
extern statetype s_dmgreenthing1;
|
|
extern statetype s_dmgreenthing8;
|
|
extern statetype s_darkmonkfastspawn;
|
|
extern statetype s_spit1;
|
|
extern statetype s_spithit1;
|
|
extern statetype s_snakefire1;
|
|
extern statetype s_snakepath;
|
|
extern statetype s_snakefindpath;
|
|
extern statetype s_snakefireworks1;
|
|
extern statetype s_snakefireworks2;
|
|
|
|
|
|
extern statetype s_speardown1;
|
|
|
|
|
|
extern statetype s_downblade1;
|
|
|
|
|
|
extern statetype s_firejetdown1;
|
|
|
|
extern statetype s_columnupup1;
|
|
extern statetype s_columnupup2;
|
|
extern statetype s_columnupup8;
|
|
extern statetype s_columnupup7;
|
|
extern statetype s_columnupdown1;
|
|
extern statetype s_columnupdown6;
|
|
|
|
extern statetype s_spinupblade1;
|
|
extern statetype s_spindownblade1;
|
|
|
|
extern statetype s_boulderdrop12;
|
|
extern statetype s_boulderdrop10;
|
|
extern statetype s_boulderdrop8;
|
|
|
|
|
|
extern statetype s_boulderdrop1;
|
|
extern statetype s_boulderspawn;
|
|
extern statetype s_bouldersink1;
|
|
extern statetype s_boulderroll1;
|
|
|
|
extern statetype s_gunfire1;
|
|
extern statetype s_gunfire2;
|
|
extern statetype s_gundie1;
|
|
extern statetype s_gunstand;
|
|
extern statetype s_gunraise1;
|
|
extern statetype s_gunlower1;
|
|
extern statetype s_4waygunfire1;
|
|
extern statetype s_4waygunfire2;
|
|
extern statetype s_4waygun;
|
|
|
|
|
|
extern statetype s_kessphere1;
|
|
extern statetype s_batblast1;
|
|
extern statetype s_slop1;
|
|
|
|
|
|
|
|
extern statetype s_serialdog4;
|
|
extern statetype s_serialdog3;
|
|
extern statetype s_serialdog2;
|
|
extern statetype s_serialdog;
|
|
extern statetype s_serialdogattack;
|
|
extern statetype s_doguse;
|
|
extern statetype s_doglick;
|
|
extern statetype s_dogwait;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|