22#ifndef ULTIMA4_GAME_GAME_H
23#define ULTIMA4_GAME_GAME_H
25#include "ultima/ultima4/events/event_handler.h"
26#include "ultima/ultima4/controllers/game_controller.h"
27#include "ultima/ultima4/core/observer.h"
28#include "ultima/ultima4/core/types.h"
29#include "ultima/ultima4/map/map.h"
30#include "ultima/ultima4/views/tileview.h"
31#include "ultima/ultima4/sound/sound.h"
60void gameSetViewMode(ViewMode newMode);
61void gameUpdateScreen();
64void gameSpellEffect(
int spell,
int player, Sound sound);
70bool gamePeerCity(
int city,
void *data);
75void peer(
bool useGem =
true);
76bool fireAt(
const Coords &coords,
bool originAvatar);
77Direction gameGetDirection();
78uint32 gameTimeSinceLastCommand();
85void gameCheckHullIntegrity();
91bool creatureRangeAttack(
const Coords &coords, Creature *m);
92void gameCreatureCleanup();
98bool gameSpawnCreature(
const class Creature *m);
104void gameFixupObjects(Map *map);
109void gameDestroyAllCreatures();
114void gameCreatureAttack(Creature *obj);
118int gameGetPlayer(
bool canBeDisabled,
bool canBeActivePlayer);
119void gameGetPlayerForCommand(
bool (*commandFn)(
int player),
bool canBeDisabled,
bool canBeActivePlayer);
127void gameDamageParty(
int minDamage,
int maxDamage);
134void gameDamageShip(
int minDamage,
int maxDamage);
139void gameSetActivePlayer(
int player);
148Common::Array<Coords> gameGetDirectionalActionPath(
int dirmask,
int validDirections,
const Coords &origin,
int minDistance,
int maxDistance,
bool (*blockedPredicate)(
const Tile *tile),
bool includeBlocked);