Item Icons
An icon for every item the resource touches — the crayfish it gives you and all eleven lures it takes — drawn as 19th century pen-and-ink engravings to match the icon packs the frameworks ship.
They live in install/items/png/.
| File | Item | Odds |
|---|---|---|
p_crawdad01x.png | Crayfish | the reward |
meat.png | Raw Meat | 100% |
biggame.png | Big Game Meat | 100% |
bison_meat.png | Bison Meat | 100% |
chicken_meat.png | Chicken Meat | 100% |
birdmeat.png | Bird Meat | 100% |
spoiled_biggame_meat.png | Spoiled Big Game Meat | 50% |
spoiled_bison_meat.png | Spoiled Bison Meat | 50% |
spoiled_meat.png | Spoiled Meat | 50% |
corn.png | Corn | 30% |
consumable_bread.png | Bread Piece | 30% |
potato.png | Potatoes | 30% |
96×96 PNG, transparent background, greyscale. The same files work on every framework; only where you copy them changes.
All twelve are included even though some frameworks already ship a few — VORP has meat, biggame and corn, and the others differ. Copying the lot is harmless: an inventory only loads the image named by an item that exists, so a file for an item you do not have is simply never read. If you would rather keep your own artwork for an item, just do not copy that one.
Where they go
VORP
vorp_inventory/html/img/items/RSG — the filename must match the image field in your rsg-core/shared/items.lua entry:
rsg-inventory/html/images/RedEM:RP — path depends on your inventory build. Find where its existing item images live and drop these beside them.
Standalone — no inventory, so nothing to do.
Restart your inventory resource afterwards
Most cache their image list at start-up the same way they cache the item table.
If an icon does not show
- The filename must equal the item name exactly, including case.
p_crawdad01xin the items table meansp_crawdad01x.pngon disk. - Using
bridge.itemAliases? Name the file after the item your items table uses, not the oneconfig/uses. The alias maps one to the other, and the inventory only knows its own name. - A missing icon is cosmetic. VORP falls back to
placeholder.png, the others show an empty slot. The item still works.
Rebuilding them
The finished PNGs are committed, so you never need this. It exists so the pack can be rebuilt after new art rather than being a result nobody can reproduce.
pip install Pillow numpy scipy
python install/items/make-icons.pyReads raw/, writes png/. Drop replacement art into raw/ at any size and run it again — the filename becomes the item name.
How the cutting works, and why
The art is generated on paper, and paper has to come off before it can sit in an inventory slot. Three things in make-icons.py are less obvious than they look:
It fills inward from the border rather than keying on brightness. The obvious approach — anything light becomes transparent — destroys engravings. Black ink over white paper means the white inside the subject is part of the drawing, and keying on brightness turns the crayfish into a wireframe. Filling in from the edges only removes paper connected to the outside.
It then throws away every blob that is not the subject. A vignette dark enough to stop the fill survives as a speckled rectangle floating around the drawing, and some sheets keep a hairline of page border. Both are separate islands, so labelling the mask and keeping the big central one removes them — where turning the fill tolerance up far enough to catch them starts eating the pale parts of the subject instead.
It uses the source's own alpha when there is one. The crayfish sheet came back with paper texture fused to the subject that no edge fill could separate, so it was cut out by segmentation instead and dropped into raw/ already transparent. Running the fill over that would find nothing to spread through and hand back a mask covering the whole square — the cutout undone.
Downscaling happens last, with LANCZOS, 1024 → 96. That order is what softens the hard alpha edge the fill leaves; cutting out at 96 would give a jagged silhouette.