o
odinpkg.dev
packages / app / srot

srot

Demoapp

Inventory system demo made in Odin.

No license · updated 7 months ago

Srot

Inventory system demo made in Odin.

My goal was to create an inventory system based on the POE2 stash tabs, but with additional functionality I would like to see in the game. I mostly built this to learn and improve, but also because I really enjoy POE and wanted to build features I personally wish the game had.

The program runs on a stripped out version of my friend's engine, which I also contributed to. To add to the challange I also created a basic immidiate mode ui library. Input capturing and rendering is done trough raylib.

How to run

Download the release and run run.bat or the build/srot.exe executable from the assets/ folder.

Build

Download Odin and run the odin build command or the misc/build.bat file.

Controls

Ctrl + Left Click on an item quick transfer from personal tab to stash and vice versa
Shift + Left Click on an item split item
Right Click in a tab sorting menu
Right Click on tab bookmark set tab affinity

Features

The layout of the application is very similar to POE. On the right side, you have your personal character inventory, and the stash tabs are on the left. Items can be created in the item editor. There are three basic item types: Armour, Weapon, and Currency. Each base type has its own subtypes and stats that can be added to it. There are only a few stats for each type, mostly to demonstrate the viability of item sorting.

Srot

Sorting

Items in a tab can be sorted either by default (best fit), their type (armour, weapon, currency, ...), or by their stats.

Multiple item selection

Multiple items can be grouped and moved around. You can destroy multiple items together or move them to a different tab.

Multiple item sorting

Selected items can also be sorted as a group.

Splitting stackable items

Items that are stackable can be split into two.

Affinities

You can set an item type as an affinity of a tab. Then, on quick transfer, the item will move to a tab with associated affinity rather than to the opened one.

Add items

You can add a custom item with desired stats, or generate a random one.