omi-eikyo/src/g_stage.h

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