X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=16%2Fv2%2Fsource%2FMAPED%2FMAPED.H;fp=16%2Fv2%2Fsource%2FMAPED%2FMAPED.H;h=431bcd27105e6aad7ee398c51923dc973392bc09;hb=47cdc66151d973d975d0e31fb8a786eb639bebdb;hp=0000000000000000000000000000000000000000;hpb=4b23f27092a9470a741e3a18261ad389fd1929db;p=16.git diff --git a/16/v2/source/MAPED/MAPED.H b/16/v2/source/MAPED/MAPED.H new file mode 100755 index 00000000..431bcd27 --- /dev/null +++ b/16/v2/source/MAPED/MAPED.H @@ -0,0 +1,180 @@ +/* +Copyright (C) 1998 BJ Eirich (aka vecna) +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 Lic +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 MAPED_INC +#define MAPED_INC + +extern const char *const ME2_VERSION; + +#include + +#define byte unsigned char +#define word unsigned short + +typedef struct +{ + unsigned short start; // strand start + unsigned short finish; // strand end + unsigned short delay; // tile-switch delay + unsigned short mode; // tile-animation mode +} vspanim_r; + +typedef struct +{ + char pmultx,pdivx; // parallax multiplier/divisor for X + char pmulty,pdivy; // parallax multiplier/divisor for Y + unsigned short sizex, sizey; // layer dimensions. + unsigned char trans, hline; // transparency flag | hline (raster fx) +} layer_r; + +typedef struct +{ + char name[40]; // zone name/desc + unsigned short script; // script to call thingy + unsigned short percent; // chance of executing + unsigned short delay; // step-delay + unsigned short aaa; // Accept Adjacent Activation + unsigned short entityscript; // script to call for entities +} zoneinfo; + +typedef struct +{ + int x, y; // xwc, ywx position + word tx, ty; // xtc, ytc position + byte facing; // direction entity is facing + byte moving, movecnt; // direction entity is moving + byte frame; // bottom-line frame to display + byte specframe; // special-frame set thingo + byte chrindex, reset; // CHR index | Reset animation + byte obsmode1, obsmode2; // can be obstructed | Is an obstruction + byte speed, speedct; // entity speed, speedcount :) + byte delayct; // animation frame-delay + char *animofs, *moveofs; // anim script | move script + byte face, actm; // auto-face | activation mode + byte movecode, movescript; // movement type | movement script + byte ctr, mode; // sub-tile move ctr, mode flag (internal) + word step, delay; // step, delay + word stepctr, delayctr; // internal use counters + word data1, data2, data3; // + word data4, data5, data6; // + int actscript; // activation script + int expand1, expand2; // + int expand3, expand4; // + char desc[20]; // Entity description. +} entity_r; + +typedef struct +{ + char t[60]; +} chrlist_r; + +typedef struct { + char t[200]; +} movescript; + +extern layer_r layer[4]; +extern vspanim_r vspanim[100]; +extern zoneinfo zones[256]; +extern unsigned short vadelay[100]; +extern entity_r entity[256]; // Entity records. +extern byte entities; // number of allocated entities. +extern chrlist_r chrlist[100]; +extern byte nmchr; +extern movescript ms[100]; // move scripts arrays +extern byte nms; // number of movement scripts + +extern char *obstruct, *zone, curzone; +extern char numlayers, wrap; +extern unsigned short *layers[6]; +extern char rstring[20]; +extern char mapname[60], vspname[60]; +extern char musname[60]; +extern short xstart, ystart; + +// -- vsp related data -- + +extern unsigned short numtiles; +extern unsigned char *vsp; + +// -- editing related data -- + +extern int xwin, ywin, bmode; +extern char mouse_scroll; +extern short lt, rt; +extern char layertoggle[10], el, modified; + +extern word *copybuf; +extern int copybuf_wide,copybuf_deep; +extern int selx1, sely1, selx2, sely2; +extern int shifted, pasting; + +extern int numzones; // Number of active zones. + +extern int moving_up,moving_down,moving_left,moving_right; + +extern void LoadTransTable(); +extern int Exist(char *fname); +extern void err(char *str, ...); +extern void errf(char *str, char *str1); +extern void errn(char *str, int n); +extern int random(int min, int max); +extern void PlayMusic(char *fname); +extern void StopMusic(); +extern void LoadVSP(char *fname); +extern void SaveVSP(char *fname); +extern void EmitC (char c); +extern void EmitW (short int w); +extern void WriteCompressedLayer1(unsigned char *p, int len); +extern void ReadCompressedLayer1(unsigned char *dest, int len, FILE *f); +extern void WriteCompressedLayer2(unsigned short *p,int len); +extern void ReadCompressedLayer2(unsigned short *dest, int len, FILE *f); +extern void CountUsedZones(); +extern void CountMoveScripts(); +extern void CountCHRs(); +extern void SaveMAP(char *fname); +extern void LoadOldMAP(FILE *f); +extern void LoadMAP(char *fname); +extern void InitTileIDX(); +extern void CheckTimerStuff(); +extern void SaveNewCFG(); +extern void ShellToDOS(); +extern void ShellVERGE(); +extern void ShellMAP(); +extern void ShellEditMAP(); +extern void ShellEditSystem(); +extern void CompileAll(); +extern void CompileMAP(); +extern void tickhandler(void); +extern void RenderHighlight(); +extern int EntityThere(int xw, int yw); +extern void AllocateEntity(int xw, int yw); +extern void ProcessEntity(int xw, int yw); +extern void DeleteEntity(int xw, int yw); +extern void Browse(char n, char *m1, char *m2, char *m3, char *m4, char *dest); + +// Includes for a_memory.c + +void *valloc(int amount, char *desc, int owner); +void *qvalloc(int amount); +int vfree(void *pointer); +void qvfree(void *pointer); +void FreeByOwner(int owner); +void MemReport(void); +void CheckCorruption(void); + +#define free ERROR_YEAH_REPLACE_THIS_WITH_VFREE + +#endif // MAPED_INC