2017-12-20 19:53:09 +01:00
|
|
|
/*
|
2019-08-03 19:43:48 +02:00
|
|
|
* This software is licensed under the terms of the MIT License.
|
2017-12-20 19:53:09 +01:00
|
|
|
* See COPYING for further information.
|
|
|
|
* ---
|
2019-01-23 21:10:43 +01:00
|
|
|
* Copyright (c) 2011-2019, Lukas Weber <laochailan@web.de>.
|
2019-07-03 20:00:56 +02:00
|
|
|
* Copyright (c) 2012-2019, Andrei Alexeyev <akari@taisei-project.org>.
|
2017-12-20 19:53:09 +01:00
|
|
|
*/
|
2017-12-13 20:05:12 +01:00
|
|
|
|
2019-01-23 21:10:43 +01:00
|
|
|
#ifndef IGUARD_stageobjects_h
|
|
|
|
#define IGUARD_stageobjects_h
|
|
|
|
|
2017-12-20 19:57:29 +01:00
|
|
|
#include "taisei.h"
|
2017-12-13 20:05:12 +01:00
|
|
|
|
|
|
|
#include "objectpool.h"
|
|
|
|
|
|
|
|
typedef struct StageObjectPools {
|
2018-01-12 19:26:07 +01:00
|
|
|
union {
|
|
|
|
struct {
|
|
|
|
ObjectPool *projectiles; // includes particles as well
|
|
|
|
ObjectPool *items;
|
|
|
|
ObjectPool *enemies;
|
|
|
|
ObjectPool *lasers;
|
2019-04-07 00:55:13 +02:00
|
|
|
ObjectPool *stagetext;
|
2021-03-22 16:40:23 +01:00
|
|
|
ObjectPool *bosses;
|
2018-01-12 19:26:07 +01:00
|
|
|
};
|
2017-12-13 20:05:12 +01:00
|
|
|
|
2018-01-12 19:26:07 +01:00
|
|
|
ObjectPool *first;
|
|
|
|
};
|
2017-12-13 20:05:12 +01:00
|
|
|
} StageObjectPools;
|
|
|
|
|
|
|
|
extern StageObjectPools stage_object_pools;
|
|
|
|
|
|
|
|
void stage_objpools_alloc(void);
|
|
|
|
void stage_objpools_free(void);
|
2019-01-23 21:10:43 +01:00
|
|
|
|
|
|
|
#endif // IGUARD_stageobjects_h
|