2012-01-24 14:19:19 -06:00
|
|
|
/*
|
|
|
|
* SimulationData.h
|
|
|
|
*
|
|
|
|
* Created on: Jan 24, 2012
|
|
|
|
* Author: Simon
|
|
|
|
*/
|
|
|
|
|
2012-05-07 11:59:50 -05:00
|
|
|
#include <vector>
|
|
|
|
|
2012-01-24 14:19:19 -06:00
|
|
|
#define SC_WALL 0
|
|
|
|
#define SC_ELEC 1
|
|
|
|
#define SC_POWERED 2
|
2012-04-17 12:42:36 -05:00
|
|
|
#define SC_FORCE 3
|
|
|
|
#define SC_EXPLOSIVE 4
|
|
|
|
#define SC_GAS 5
|
|
|
|
#define SC_LIQUID 6
|
|
|
|
#define SC_POWDERS 7
|
|
|
|
#define SC_SOLIDS 8
|
|
|
|
#define SC_NUCLEAR 9
|
|
|
|
#define SC_SPECIAL 10
|
|
|
|
#define SC_LIFE 11
|
|
|
|
#define SC_TOOL 12
|
|
|
|
#define SC_DECO 13
|
|
|
|
#define SC_CRACKER 14
|
|
|
|
#define SC_CRACKER2 15
|
|
|
|
#define SC_TOTAL 14
|
2012-01-24 14:19:19 -06:00
|
|
|
|
2012-01-24 15:19:29 -06:00
|
|
|
#define UI_WALLSTART 222
|
|
|
|
#define UI_ACTUALSTART 122
|
2012-05-12 07:21:04 -05:00
|
|
|
#define UI_WALLCOUNT 16
|
2012-01-24 15:19:29 -06:00
|
|
|
|
2012-05-12 07:21:04 -05:00
|
|
|
#define O_WL_WALLELEC 122
|
|
|
|
#define O_WL_EWALL 123
|
|
|
|
#define O_WL_DETECT 124
|
|
|
|
#define O_WL_STREAM 125
|
|
|
|
#define O_WL_SIGN 126
|
|
|
|
#define O_WL_FAN 127
|
|
|
|
#define O_WL_FANHELPER 255
|
|
|
|
#define O_WL_ALLOWLIQUID 128
|
|
|
|
#define O_WL_DESTROYALL 129
|
|
|
|
#define O_WL_ERASE 130
|
|
|
|
#define O_WL_WALL 131
|
|
|
|
#define O_WL_ALLOWAIR 132
|
|
|
|
#define O_WL_ALLOWSOLID 133
|
|
|
|
#define O_WL_ALLOWALLELEC 134
|
|
|
|
#define O_WL_EHOLE 135
|
|
|
|
#define O_WL_ALLOWGAS 140
|
|
|
|
#define O_WL_GRAV 142
|
|
|
|
#define O_WL_ALLOWENERGY 145
|
|
|
|
|
|
|
|
|
|
|
|
#define WL_ERASE 0
|
|
|
|
#define WL_WALLELEC 1
|
|
|
|
#define WL_EWALL 2
|
|
|
|
#define WL_DETECT 3
|
|
|
|
#define WL_STREAM 4
|
|
|
|
#define WL_FAN 5
|
|
|
|
#define WL_ALLOWLIQUID 6
|
|
|
|
#define WL_DESTROYALL 7
|
|
|
|
#define WL_WALL 8
|
|
|
|
#define WL_ALLOWAIR 9
|
|
|
|
#define WL_ALLOWSOLID 10
|
|
|
|
#define WL_ALLOWALLELEC 11
|
|
|
|
#define WL_EHOLE 12
|
|
|
|
#define WL_ALLOWGAS 13
|
|
|
|
#define WL_GRAV 14
|
|
|
|
#define WL_ALLOWENERGY 15
|
2012-08-05 10:14:33 -05:00
|
|
|
#define WL_FLOODHELPER 255
|
2012-01-24 15:19:29 -06:00
|
|
|
|
|
|
|
#define SPC_AIR 236
|
|
|
|
#define SPC_HEAT 237
|
|
|
|
#define SPC_COOL 238
|
|
|
|
#define SPC_VACUUM 239
|
|
|
|
#define SPC_WIND 241
|
|
|
|
#define SPC_PGRV 243
|
|
|
|
#define SPC_NGRV 244
|
|
|
|
#define SPC_PROP 246
|
|
|
|
|
2012-03-03 15:38:22 -06:00
|
|
|
#define DECO_DRAW 0
|
|
|
|
#define DECO_ADD 1
|
|
|
|
#define DECO_SUBTRACT 2
|
|
|
|
#define DECO_MULTIPLY 3
|
|
|
|
#define DECO_DIVIDE 4
|
2012-04-18 10:40:43 -05:00
|
|
|
#define DECO_SMUDGE 5
|
2012-07-24 07:03:28 -05:00
|
|
|
#define DECO_CLEAR 6
|
2012-03-03 15:38:22 -06:00
|
|
|
|
2012-04-09 05:46:42 -05:00
|
|
|
//Old IDs for GOL types
|
|
|
|
#define GT_GOL 78
|
|
|
|
#define GT_HLIF 79
|
|
|
|
#define GT_ASIM 80
|
|
|
|
#define GT_2x2 81
|
|
|
|
#define GT_DANI 82
|
|
|
|
#define GT_AMOE 83
|
|
|
|
#define GT_MOVE 84
|
|
|
|
#define GT_PGOL 85
|
|
|
|
#define GT_DMOE 86
|
|
|
|
#define GT_34 87
|
|
|
|
#define GT_LLIF 88
|
|
|
|
#define GT_STAN 89
|
|
|
|
#define GT_SEED 134
|
|
|
|
#define GT_MAZE 135
|
|
|
|
#define GT_COAG 136
|
|
|
|
#define GT_WALL 137
|
|
|
|
#define GT_GNAR 138
|
|
|
|
#define GT_REPL 139
|
|
|
|
#define GT_MYST 140
|
|
|
|
#define GT_LOTE 142
|
|
|
|
#define GT_FRG2 143
|
|
|
|
#define GT_STAR 144
|
|
|
|
#define GT_FROG 145
|
|
|
|
#define GT_BRAN 146
|
|
|
|
|
|
|
|
//New IDs for GOL types
|
|
|
|
#define NGT_GOL 0
|
|
|
|
#define NGT_HLIF 1
|
|
|
|
#define NGT_ASIM 2
|
|
|
|
#define NGT_2x2 3
|
|
|
|
#define NGT_DANI 4
|
|
|
|
#define NGT_AMOE 5
|
|
|
|
#define NGT_MOVE 6
|
|
|
|
#define NGT_PGOL 7
|
|
|
|
#define NGT_DMOE 8
|
|
|
|
#define NGT_34 9
|
|
|
|
#define NGT_LLIF 10
|
|
|
|
#define NGT_STAN 11
|
|
|
|
#define NGT_SEED 12
|
|
|
|
#define NGT_MAZE 13
|
|
|
|
#define NGT_COAG 14
|
|
|
|
#define NGT_WALL 15
|
|
|
|
#define NGT_GNAR 16
|
|
|
|
#define NGT_REPL 17
|
|
|
|
#define NGT_MYST 18
|
|
|
|
#define NGT_LOTE 19
|
|
|
|
#define NGT_FRG2 20
|
|
|
|
#define NGT_STAR 21
|
|
|
|
#define NGT_FROG 22
|
|
|
|
#define NGT_BRAN 23
|
|
|
|
|
2012-01-24 14:19:19 -06:00
|
|
|
#ifndef SIMULATIONDATA_H_
|
|
|
|
#define SIMULATIONDATA_H_
|
|
|
|
|
2012-05-07 11:59:50 -05:00
|
|
|
//#include "elements/NULLElement.h"
|
2012-01-24 14:19:19 -06:00
|
|
|
#include "Simulation.h"
|
|
|
|
|
|
|
|
/*class Simulation;
|
|
|
|
class Renderer;
|
|
|
|
struct Particle;*/
|
|
|
|
|
|
|
|
struct part_type;
|
|
|
|
|
|
|
|
struct part_transition;
|
|
|
|
|
|
|
|
struct wall_type;
|
|
|
|
|
|
|
|
struct gol_menu;
|
|
|
|
|
|
|
|
struct menu_section;
|
|
|
|
|
2012-01-24 15:19:29 -06:00
|
|
|
struct wall_type;
|
|
|
|
|
2012-05-12 12:11:20 -05:00
|
|
|
class SimTool;
|
|
|
|
|
2012-05-07 11:59:50 -05:00
|
|
|
class Element;
|
2012-05-12 12:11:20 -05:00
|
|
|
|
2012-02-01 18:33:10 -06:00
|
|
|
gol_menu * LoadGOLMenu(int & golMenuCount);
|
|
|
|
|
2012-04-09 05:46:42 -05:00
|
|
|
int * LoadGOLTypes(int & golTypeCount);
|
|
|
|
|
2012-02-01 18:33:10 -06:00
|
|
|
int * LoadGOLRules(int & golRuleCount);
|
|
|
|
|
2012-01-24 15:19:29 -06:00
|
|
|
wall_type * LoadWalls(int & wallCount);
|
|
|
|
|
2012-01-24 14:19:19 -06:00
|
|
|
menu_section * LoadMenus(int & menuCount);
|
|
|
|
|
2012-04-18 14:44:01 -05:00
|
|
|
unsigned int * LoadLatent(int & elementCount);
|
|
|
|
|
2012-01-24 14:19:19 -06:00
|
|
|
#endif /* SIMULATIONDATA_H_ */
|