@@ -90,6 +90,52 @@ class Convert
9090 MapUnitsToPixels (units.z )
9191 };
9292 }
93+
94+ // Convert pixels directly to meters
95+ static float PixelsToMeters (int pixels)
96+ {
97+ return ((1 .0f * pixels) / PIXELS_PER_MAP_UNIT) * METERS_PER_MAP_UNIT;
98+ }
99+
100+ // Convert meters directly to pixels
101+ static int MetersToPixels (float meters)
102+ {
103+ return (int ) ((meters / METERS_PER_MAP_UNIT) * PIXELS_PER_MAP_UNIT);
104+ }
105+
106+ // Convert pixels directly to meters
107+ static glm::vec2 PixelsToMeters (const glm::ivec2& pixels)
108+ {
109+ return {
110+ PixelsToMeters (pixels.x ),
111+ PixelsToMeters (pixels.y )
112+ };
113+ }
114+ static glm::vec3 PixelsToMeters (const glm::ivec3& pixels)
115+ {
116+ return {
117+ PixelsToMeters (pixels.x ),
118+ PixelsToMeters (pixels.y ),
119+ PixelsToMeters (pixels.z )
120+ };
121+ }
122+
123+ // Convert meters directly to pixels
124+ static glm::ivec2 MetersToPixels (const glm::vec2& meters)
125+ {
126+ return {
127+ MetersToPixels (meters.x ),
128+ MetersToPixels (meters.y )
129+ };
130+ }
131+ static glm::ivec3 MetersToPixels (const glm::vec3& meters)
132+ {
133+ return {
134+ MetersToPixels (meters.x ),
135+ MetersToPixels (meters.y ),
136+ MetersToPixels (meters.z )
137+ };
138+ }
93139};
94140
95141// in original gta1 map height levels is counting from top to bottom -
0 commit comments