2017-09-23 12:43:54 -07:00
|
|
|
// Copyright © 2017 Project Golan, all rights reserved.
|
|
|
|
#ifndef g_stage_h
|
|
|
|
#define g_stage_h
|
|
|
|
|
|
|
|
#include "m_darray.h"
|
|
|
|
#include "m_types.h"
|
|
|
|
|
|
|
|
// Types ---------------------------------------------------------------------|
|
|
|
|
|
|
|
|
typedef struct G_mfsec
|
|
|
|
{
|
|
|
|
fixed x, y;
|
|
|
|
fixed w, h;
|
2017-09-23 17:21:07 -07:00
|
|
|
fixed f, c;
|
2017-09-23 12:43:54 -07:00
|
|
|
} G_mfsec;
|
|
|
|
|
|
|
|
typedef struct G_mfent
|
|
|
|
{
|
2017-09-26 16:27:40 -07:00
|
|
|
fixed x, y, z;
|
2017-09-23 12:43:54 -07:00
|
|
|
char name[32];
|
|
|
|
} G_mfent;
|
|
|
|
|
|
|
|
typedef union G_mfdat
|
|
|
|
{
|
|
|
|
G_mfsec sec;
|
|
|
|
G_mfent ent;
|
|
|
|
} G_mfdat;
|
|
|
|
|
|
|
|
typedef struct G_mfptr
|
|
|
|
{
|
|
|
|
mword time;
|
|
|
|
G_mfdat data;
|
|
|
|
|
|
|
|
void (*proc)(G_mfdat *data);
|
|
|
|
} G_mfptr;
|
|
|
|
|
|
|
|
typedef struct G_stage
|
|
|
|
{
|
|
|
|
M_Vec_decl(G_mfptr, map);
|
|
|
|
} G_stage;
|
|
|
|
|
|
|
|
// Extern Objects ------------------------------------------------------------|
|
|
|
|
|
2017-09-29 18:50:07 -07:00
|
|
|
extern __str G_Place;
|
2017-09-28 10:51:14 -07:00
|
|
|
extern long unsigned G_Time;
|
2017-09-23 12:43:54 -07:00
|
|
|
|
|
|
|
// Extern Functions ----------------------------------------------------------|
|
|
|
|
|
|
|
|
G_stage G_Stage_LoadMap(char const *fname);
|
2017-09-28 10:51:14 -07:00
|
|
|
void G_Stage_LoadBase(void);
|
|
|
|
void G_Stage_Run(unsigned stagenum);
|
2017-09-23 12:43:54 -07:00
|
|
|
|
|
|
|
#endif
|