omi-eikyo/src/g_stage.h

54 lines
952 B
C

// 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;
fixed f, c;
} G_mfsec;
typedef struct G_mfent
{
fixed x, y, z;
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 ------------------------------------------------------------|
extern char const *G_Place;
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