by Graf Zahl » Wed May 11, 2016 1:36 pm
I don't think that your submission is really usable, it's missing both 3D floor and portal handling. And that's also the reason why no GetHighestCeiling function exists.
The functions that should be used are:
double HighestCeilingAt(const DVector2 &a, sector_t **resultsec = NULL);
double LowestFloorAt(const DVector2 &a, sector_t **resultsec = NULL);
double NextHighestCeilingAt(double x, double y, double bottomz, double topz, int flags = 0, sector_t **resultsec = NULL, F3DFloor **resultffloor = NULL);
double NextLowestFloorAt(double x, double y, double z, int flags = 0, double steph = 0, sector_t **resultsec = NULL, F3DFloor **resultffloor = NULL);
which are all portal-aware, and the 'Next...' variants also 3D floor aware.
I don't think that your submission is really usable, it's missing both 3D floor and portal handling. And that's also the reason why no GetHighestCeiling function exists.
The functions that should be used are:
double HighestCeilingAt(const DVector2 &a, sector_t **resultsec = NULL);
double LowestFloorAt(const DVector2 &a, sector_t **resultsec = NULL);
double NextHighestCeilingAt(double x, double y, double bottomz, double topz, int flags = 0, sector_t **resultsec = NULL, F3DFloor **resultffloor = NULL);
double NextLowestFloorAt(double x, double y, double z, int flags = 0, double steph = 0, sector_t **resultsec = NULL, F3DFloor **resultffloor = NULL);
which are all portal-aware, and the 'Next...' variants also 3D floor aware.