56 lines
1.0 KiB
C
56 lines
1.0 KiB
C
// 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
|