project_files/frontlib/model/gamesetup.h
author Wuzzy <Wuzzy2@mail.ru>
Wed, 25 Oct 2017 23:09:41 +0200
changeset 12768 ad67a3804981
parent 10017 de822cd3df3a
permissions -rw-r--r--
Fix sometimes ammo schemes not being saved after changing before an ammo scheme got deleted in session This was because the bool isDeleting is not initialized, so its initial value is unpredictable. Which means there's chance it starts with true, confusing the frontend.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
     1
/*
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
     2
 * Hedgewars, a free turn based strategy game
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
     3
 * Copyright (C) 2012 Simeon Maxein <smaxein@googlemail.com>
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
     4
 *
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
     5
 * This program is free software; you can redistribute it and/or
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
     6
 * modify it under the terms of the GNU General Public License
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
     7
 * as published by the Free Software Foundation; either version 2
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
     8
 * of the License, or (at your option) any later version.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
     9
 *
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    10
 * This program is distributed in the hope that it will be useful,
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    13
 * GNU General Public License for more details.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    14
 *
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    15
 * You should have received a copy of the GNU General Public License
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    16
 * along with this program; if not, write to the Free Software
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    18
 */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    19
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    20
/**
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    21
 * A complete game configuration that contains all settings the engine needs to start a
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    22
 * local or networked game.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    23
 */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    24
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    25
#ifndef MODEL_GAMESETUP_H_
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    26
#define MODEL_GAMESETUP_H_
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    27
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    28
#include "scheme.h"
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    29
#include "weapon.h"
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    30
#include "map.h"
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    31
#include "teamlist.h"
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    32
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    33
typedef struct {
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    34
    char *style;                //!< e.g. "Capture the Flag"
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    35
    flib_scheme *gamescheme;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    36
    flib_map *map;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    37
    flib_teamlist *teamlist;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    38
} flib_gamesetup;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    39
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    40
void flib_gamesetup_destroy(flib_gamesetup *gamesetup);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    41
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    42
/**
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    43
 * Deep-copy of the flib_gamesetup.
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    44
 */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    45
flib_gamesetup *flib_gamesetup_copy(const flib_gamesetup *gamesetup);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    46
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 10015
diff changeset
    47
#endif