You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
926 B

/**
* @file portal.h
*
* Interface of functionality for handling town portals.
*/
#pragma once
#include "engine/point.hpp"
#include "levels/gendung.h"
namespace devilution {
#define MAXPORTAL 4
struct Portal {
bool open;
Point position;
int level;
dungeon_type ltype;
bool setlvl;
};
extern Portal Portals[MAXPORTAL];
void InitPortals();
void SetPortalStats(int i, bool o, Point position, int lvl, dungeon_type lvltype, bool isSetLevel);
void AddPortalMissile(int i, Point position, bool sync);
void SyncPortals();
void AddPortalInTown(int i);
void ActivatePortal(int i, Point position, int lvl, dungeon_type lvltype, bool sp);
void DeactivatePortal(int i);
bool PortalOnLevel(size_t i);
void RemovePortalMissile(int id);
void SetCurrentPortal(size_t p);
void GetPortalLevel();
void GetPortalLvlPos();
bool PosOkPortal(int lvl, Point position);
} // namespace devilution