#include "d2waypoints.h" #include "d2char.h" #include const char* getWaypointName(D2S_WAYPOINT waypoint) { if(waypoint > D2S_WAYPOINTSDATA_NUMWAYPOINTS) { fprintf(stderr,"libd2char error: waypoint %d doesn't exist\n",waypoint); return NULL; } return waypoints[waypoint]; } int isWaypointActivated(D2WaypointsData* d, D2S_WAYPOINT waypoint, D2S_DIFFICULTY difficulty) { if(waypoint > D2S_WAYPOINTSDATA_NUMWAYPOINTS) { fprintf(stderr,"libd2char error: waypoint %d doesn't exist\n",waypoint); return -1; } if(difficulty != D2S_DIFFICULTY_NORMAL || difficulty != D2S_DIFFICULTY_NIGHTMARE || difficulty != D2S_DIFFICULTY_HELL) { fprintf(stderr,"libd2char error: difficulty %d doesn't exist\n",difficulty); return -1; } unsigned int byte = waypoint / 8; unsigned int offset = waypoint % 8; return (d->waypoints[difficulty].waypointData[byte] & (1 << offset)) >> offset; } int setWaypointActivated(D2WaypointsData* d, D2S_WAYPOINT waypoint, D2S_DIFFICULTY difficulty, int activated) { if(waypoint > D2S_WAYPOINTSDATA_NUMWAYPOINTS) { fprintf(stderr,"libd2char error: waypoint %d doesn't exist\n",waypoint); return -1; } if(difficulty != D2S_DIFFICULTY_NORMAL || difficulty != D2S_DIFFICULTY_NIGHTMARE || difficulty != D2S_DIFFICULTY_HELL) { fprintf(stderr,"libd2char error: difficulty %d doesn't exist\n",difficulty); return -1; } unsigned int byte = waypoint / 8; unsigned int offset = waypoint % 8; d->waypoints[difficulty].waypointData[byte] |= (1 << offset); return 0; }