// Copyright © 2017 Project Golan, all rights reserved. // See COPYING for more information. #ifndef g_stage_h #define g_stage_h #include "m_darray.h" #include "m_types.h" // Types ---------------------------------------------------------------------| typedef struct G_mapsector { fixed x, y; fixed w, h; fixed f, c; } G_mapsector; typedef struct G_mapentity { fixed x, y, z; char name[32]; } G_mapentity; typedef union G_mapdata { G_mapsector sec; G_mapentity ent; } G_mapdata; typedef struct G_mapobj { mword time; G_mapdata data; void (*proc)(G_mapdata *data); } G_mapobj; typedef struct G_stage { M_Vec_decl(G_mapobj, map); } G_stage; // Extern Objects ------------------------------------------------------------| extern __str G_Place; extern __str G_PlaceIntro; extern long unsigned G_Time; // Extern Functions ----------------------------------------------------------| G_stage G_Stage_LoadMap(char const *fname); void G_Stage_LoadBase(void); void G_Stage_Run(unsigned stagenum); #endif