Adventure Game Studio

AGS Development => Editor Development => Topic started by: eri0o on Thu 14/08/2025 19:40:38

Title: [Feature Idea] Overview of Things
Post by: eri0o on Thu 14/08/2025 19:40:38
Recently I had to quickly find specific things by ID in AGS and implemented a Go To thing where you can type the number and it will navigate to it in the Project Explorer and open any respective pane if it exists. (you can see some of discussion on it in its PR here (https://github.com/adventuregamestudio/ags/pull/2806))

Anyway, now still an issue I have is sometimes I remember something graphically, and just want to quickly navigate a view of all the icons of things to find it... So my idea was to add an Overview command and an Overview dialog, focused on quickly looking for something graphically.

>> video of the thing << (https://streamable.com/yadcam)

Now is this need something others have? Would this be useful?

Implementation wise, this uses a virtual list, an image thumbnail cache and it will get the sprites as needed as you browse, make the thumbnail and cache the thumbnail, which uses 96x96 px fixed size images which are not large enough that requires (I think) a cache size limit (at least for now???).

For Inventory Items the thumbnail image maybe is the obvious image of the item, for Characters and Views I pick the sprite in frame 0 of loop 0 of the corresponding view. I guess for GUIs and Rooms, it would require having a method that would assembly the thumbnail as needed when browsing somehow??? Not sure how to do that.

To explain, both rooms and GUIs would require to render more than the background image to be able to make sense of it, the GUI usually have buttons with images and the rooms may have large objects (like in a game with lots of parallax effects) that make up most of the room. Additionally for GUIs, Text GUIs require some special rendering too.

Anyway, I am curious for thoughts on this idea and if someone else needs to look for things graphically.

I use folders and organize things there by "game areas" in each of the nodes, but sometimes I want a quicker access (by memory?), this is why of this idea.