#include "ga_marker.hpp" #include #include "ga_trig.hpp" #include "ga_arena.hpp" #include "ga_player.hpp" #include "ga_vector3D.hpp" #ifdef _AS_VERSION_PC #include "pc_matrix.hpp" #else #include extern void ResetMatrix(short m[3][3]); #endif AsMarkerManager::AsMarkerManager() { for (int i = 0; i < AS_MAX_MARKERS; i++) markers[i] = new AsMarker(); Reset(); } AsMarkerManager::~AsMarkerManager() { for (int i = 0; i < AS_MAX_MARKERS; i++) delete markers[i]; } void AsMarkerManager::Reset() { numberOfMarkers = 0; for (int i = 0; i < AS_MAX_MARKERS; i++) markers[i]->Reset(); } AsMarker *AsMarkerManager::GetMarker(int i) { return(markers[i]); } void AsMarkerManager::SetFeatures(AsArenaBuilder *_map,AsPlayer *_player) { map = _map; player = _player; } AsMarker *AsMarkerManager::FindInactiveMarker() { int m = numberOfMarkers; if (numberOfMarkers < AS_MAX_MARKERS) { numberOfMarkers++; return(markers[m]); } return(0); } AsMarker::AsMarker() { } void AsMarker::Reset() { /* X = 1000; Y = 1000; Z = 1000; xRoom = 4; yRoom = 4; zRoom = 1; aroundX = 0;//AS_DEGREES_45; aroundY = 0;//AS_DEGREES_45; aroundZ = 0;//AS_DEGREES_45; */ aroundZ = 0;//AS_DEGREES_45; active = 0; } void AsMarker::Set(int playerX, int playerY, int playerZ,int turnAngle,int lookAngle ,int xBlock,int yBlock,int zBlock) { active = 1; aroundY = turnAngle; aroundX = lookAngle; X = playerX; Y = playerY; Z = playerZ; xRoom = xBlock; yRoom = yBlock; zRoom = zBlock; }