If you want to modify the stock files or make your own mod, this might be helpfull to see how its done in the stock game.
The number is the id in the spritebank. And a little green arrow shows the orientation.
The coordinates objects.spritebank in ingame units. One unit is 32px. To get your ingame coordinates you have to get the pixel coordinate of your maker in the image and divide it by 32.
If you want to know the Index of a slot, you can look it up in the spritebank using the id from the image.
Code: Select all
Technical details for those interested:
I copied the markers to a file markers.txt, arranged it in the format "x -y id" and multiplied the coordinates with 32.
Then i ploted it with gnuplot using this code:
set margins 0,0,0,0
unset tics
unset border
set xrange [0:2048]
set yrange [-2048:0]
set terminal png size 2048,2048 small
set output 'marker_objects.png'
plot 'marker.txt' using 1:2:(sprintf("%d",$3)) with labels point pt 1 offset char 1,-0.5 notitle
set output 'marker_people.png'
set yrange [-4096:-2048]
plot 'marker.txt' using 1:2:(sprintf("%d",$3)) with labels point pt 1 offset char 1,-0.5 notitle
unset output
markers.txt
Strangely there are no markers on bench, table, sofas and a few others. Yet they work ingame and it's possible to define you own in a custom material.txt.
EDIT:
Sprite names as defined in objects.spritebank with their bounding boxes:
Code: Select all
Technical details:
Sprite coordinates saved in sprite_names.txt, arranged it in the format "x*32 y*(-32) Name w h"
Then i ploted it with gnuplot using this code:
set margins 0,0,0,0
unset tics
unset border
set xrange [0:2048]
set yrange [-2048:0]
set terminal png size 2048,2048 small
set output 'objects_sprite_boxes.png'
plot 'sprite_names.txt' using ($1+$4/2):($2-$5/2):($4/2):($5/2) with boxxyerrorbars lw 2 notitle
set output 'people_sprite_boxes.png'
set yrange [-4096:-2048]
plot 'sprite_names.txt' using ($1+$4/2):($2-$5/2):($4/2):($5/2) with boxxyerrorbars lw 2 notitle
unset output
sprite_names.txt