← index
JavaScript.Projects/source/apps/WebAssembly_Ports/Super.Stoner.420/wasm_port/level.h
Source: JavaScript.Projects/source/apps/WebAssembly_Ports/Super.Stoner.420/wasm_port/level.h
#ifndef LEVEL_H__

#define LEVEL_H__


#include"SDL_mxf.h"

#include<stdio.h>

#define MAX_TILE 8000


// game Level structure *fixed*

typedef struct _Level
	{
		
		char level_name[255];
		int grandma[50]; 
		int start_pos;
		//struct Tile tiles[MAX_TILE];

		struct Tile {
			int block;
			Uint8 solid;
		} tiles[MAX_TILE];
		struct Item {
			int vpos,type;
		} items[50];

} Level;

typedef struct _Hero {
	int hpos;
	int x,y,cur_ani,dir;
} Hero;

typedef struct _EvilGfx {
	SDL_Surface *gfx[10];
	int type;
} EvilGfx;

typedef struct _Evil {
	int vpos,x,y,cur_ani,dir,type,die;
	EvilGfx *egfx;
} Evil;

typedef struct _Particle {
	int x,y,type;
	int vpos,dir;
} Particle;

#define MAX_PARTICLE 10


typedef struct _Emiter {
	Particle p[MAX_PARTICLE];
} Emiter;

extern int offset;
extern Level *level;
extern Emiter emiter;
extern Hero  hero;
extern Evil evil[50];
extern EvilGfx evil_gfx[4];
extern int cur_level;
extern Level *load_level(const char *src);
extern void release_level(Level *);
extern void render_map(SDL_Surface *surf, Level *lvl);
extern void scroll_left();
extern void scroll_right();
extern Uint32 proccess_game(Uint32 interval, void *);
extern void reload_level();
extern void init_particles(Emiter *);
extern void proc_particles(Emiter *);
extern void rls_particle(Emiter *, int vpos, int type, int dir);
#endif