rott/rott/states.h

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