https://github.com/crayder/model-sizes-plus
Updated, advanced, more precise version of the old modelsizes include.
https://github.com/crayder/model-sizes-plus
include sa-mp
Last synced: 2 months ago
JSON representation
Updated, advanced, more precise version of the old modelsizes include.
- Host: GitHub
- URL: https://github.com/crayder/model-sizes-plus
- Owner: Crayder
- Created: 2015-08-18T16:15:00.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2020-10-02T23:17:00.000Z (over 4 years ago)
- Last Synced: 2025-01-25T04:49:32.183Z (4 months ago)
- Topics: include, sa-mp
- Language: Pawn
- Size: 1.14 MB
- Stars: 10
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Model Sizes Plus
Updated, advanced, more precise version of the old modelsizes include.## Details
Basically said, this is just the better version of the old one. When you know what makes this one better you'll drop the old one immediatly!* Contains SA-MP objects.
* Extreme percision (see picture below for comparison). *
* Exact offsets.
* Easy to update with new versions of SA-MP (new objects).
* Adds exact bounding boxes.
* Adds exact dimensions.## Generator
```pawn
//Model Sphere Export
fremove("sizes.txt"); fremove("offsets.txt");
new Line[2][1536], Float:oX, Float:oY, Float:oZ, Float:R, File:Sizes = fopen("sizes.txt", io_append), File:Offsets = fopen("offsets.txt", io_append);
for(new row; row < 2000; row++)
{
Line[0][0] = EOS; Line[1][0] = EOS;
strcat(Line[0], "\t\t"); strcat(Line[1], "\t\t");
for(new col; col < 10; col++)
{
CA_GetModelBoundingSphere((row * 10) + col, oX, oY, oZ, R);
strcat(Line[0], sprintf("%0.6f, ", R));
strcat(Line[1], sprintf("{%0.6f, %0.6f, %0.6f}, ", oX, oY, oZ));
}
strcat(Line[0], "\r\n"); strcat(Line[1], "\r\n");
fwrite(Sizes, Line[0]); fwrite(Offsets, Line[1]);
}
fclose(Sizes);
fclose(Offsets);
//Model Dimension Export
fremove("dims.txt");
new Line[1536], Float:Min[3], Float:Max[3], File:Dimensions = fopen("dims.txt", io_append);
for(new row; row < 4000; row++)
{
Line[0] = EOS;
strcat(Line, "\t\t");
for(new col; col < 5; col++)
{
CA_GetModelBoundingBox((row * 5) + col, Min[0], Min[1], Min[2], Max[0], Max[1], Max[2]);
strcat(Line, sprintf("{{%0.6f, %0.6f, %0.6f}, {%0.6f, %0.6f, %0.6f}}, ", Min[0], Min[1], Min[2], Max[0], Max[1], Max[2]));
}
strcat(Line, "\r\n");
fwrite(Dimensions, Line);
}
fclose(Dimensions);
```## Extra

_* Green = New, Red = Old_
_* Many (most) other objects are affected also. Many even have differences over 100, A couple have differences over 200! Kalcor can't be blamed for these faults though, he extracted the data directly form the game files._
Thanks Y-Less for releasing the old one.
Thanks Pottus, Chris420, and Slice for ColAndreas (making this possible).
To see major range differences (above 1.0), see the differences.csv table.