Mercurial > hg > index.fcgi > lj > lj046-2players
view src/scenario.h @ 0:c84446dfb3f5
initial add
author | paulo@localhost |
---|---|
date | Fri, 13 Mar 2009 00:39:12 -0700 |
parents | |
children |
line source
1 /* PC preset code for LOCKJAW, an implementation of the Soviet Mind Game
3 Copyright (C) 2008 Damian Yerrick <tepples+lj@spamcop.net>
5 This work is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 Original game concept and design by Alexey Pajitnov.
20 The Software is not sponsored or endorsed by Alexey Pajitnov, Elorg,
21 or The Tetris Company LLC.
23 */
25 #ifndef PCPRESET_H
26 #define PCPRESET_H
27 #include <sys/types.h>
28 #include "ljcontrol.h"
30 typedef struct PresetRule {
31 unsigned char line, value;
32 } PresetRule;
34 #define PRESET_NAME_LEN 32
35 #define PRESET_MAX_RULES 32
37 typedef struct Preset {
38 char name[PRESET_NAME_LEN];
39 PresetRule rules[PRESET_MAX_RULES];
40 } Preset;
42 /**
43 * Resets all options in the preset buffer to inherit.
44 */
45 void presetStart(void);
47 /**
48 * Adds a preset to the preset buffer.
49 */
50 void presetAdd(size_t which);
52 /**
53 * Unpacks the preset buffer onto a view.
54 */
55 void presetFinish(struct LJView *v);
57 extern const Preset *loadedPresets;
58 extern size_t nLoadedPresets;
60 #endif