Jump to content
The Dark Mod Forums

Feedback on Favourites Management


Recommended Posts

I've been working on this feature request about favourite management, and I'd like to get some early feedback about its usefulness and what might be missing.

Here's a test binary (2.11.0pre2): https://drive.google.com/file/d/1sxEosnECi7rrPKRPNypDCd7xodWXkK4a/view?usp=sharing

This is what it currently can do. It allows users to define favourites in Media Browser, Model Selector, Entity Chooser, Sound Chooser, Particles Chooser. All of these provide a context menu option to Add/Remove favourites, and a radio button switch on top to filter the tree:

2021-01-04 05_16_10-Create entity.png  fav_media_browser.png

There's a new tab for managing the favourites too:

favourites_mockup.gif

Filtering based on favourites is possible in the Texture Browser:

fav_texture_browser.png

Favourites are saved in the user.xml file, so they are active across maps.

@kingsal and everybody else who is interested, I'd appreciate if you could take a look at this build to see if this is going in the right direction.

Link to post
Share on other sites
55 minutes ago, greebo said:

@kingsal and everybody else who is interested, I'd appreciate if you could take a look at this build to see if this is going in the right direction.

Right on! Will have a look at this asap. This is exciting!

  • Like 1
Link to post
Share on other sites

This looks great, I think I would use this to hide all those deprecated entities and other leftover/irrelevant assets so I get more relevant search results. Well, maybe a "blacklist" option would be good for hiding undesired things, while still allowing to favourite actual "favourites".

Apart from that, it seems unlikely I'll get much in the way of mapping sessions for the foreseeable future so unfortunately I don't think I'll be much help for testing this time around.

Link to post
Share on other sites
10 hours ago, Dragofer said:

This looks great, I think I would use this to hide all those deprecated entities and other leftover/irrelevant assets so I get more relevant search results. Well, maybe a "blacklist" option would be good for hiding undesired things, while still allowing to favourite actual "favourites".

There already is a blacklist mechanism, but it requires changes to the mod asset tree, rather than being accessed through the GUI.

https://www.darkradiant.net/userguide/#_features_for_game_distributors

Link to post
Share on other sites

So far this is great! 

My first bit of feedback: Is it possible to have an option maybe to pull the favorited objects out of the folder structure? Basically just showing a list of what you've favorited?

 image.png.62173dc544a6e5b165f5518614ed05b6.png

My thinking here is the main use of a favorites menu is to avoid navigating the folders:

image.png.323b39a91b4095b64ba043a274c37ed5.png

Don't know if this is the best solution, but it would be very helpful to just get a list in addition to the folder structure.

Link to post
Share on other sites

Hm. I can see two issues in the list approach. First is the length of the list: I can see that this is working great for 20 items, but if people start adding more items, doesn't it become less useful? Second is the duplicates it introduces: if favourites get added to the same tree view, all the fav items appear twice. They will be targeted by the text search, for instance.

(I could bring up a third issue, but it is coding design related - the current favourites approach is based on filtering the tree, leaving the structure untouched. There are no duplicated elements in memory, the favourites just get flagged and this is the thing the filter is using. But let's leave the code problems aside for now, I want to hear about the usability).

Link to post
Share on other sites

I personally don't mind the long lists.  I don't love the idea of navigating through the folder structure again to find the favorites though. I don't know of a solution off the top of my head tbh.

Unreal has something called "Collections" which are basically folders you can drop anything in and quickly access them. https://docs.unrealengine.com/en-US/Basics/ContentBrowser/UserGuide/Collections/index.html

I almost want something like this where I can add a model, entity type, ect to a customizable menu that has everything in it. I know this is probably a design nightmare, but the benefit is a mapper doesn't have to constantly search through the folders to find stuff. For instance the favorites convention in the texture browser does this well- it doesn't say where specifically that texture is, it just shows a list of the ones I want to use. 

 

Link to post
Share on other sites

For example : something like this would act sort of like the unreal collections convention.

 image.png.613a622b5561aac2e7b6f877784fdac0.png 

Just a pop up list thats alphabetical and filters by type? Im just kind of spit balling ideas, no idea how feasible this would be.

Link to post
Share on other sites

Putting that in a separate tab next to the Media Browser is perfectly feasible. If that's useful, I can see into it and produce a prototype.

Link to post
Share on other sites

wxWidgets provides a ListCtrl that looks like this. It's not very customisable, but it can deal with a long list of favourites, wrapping the list around:

fav_mockup.png

It's lacking a toolbar to toggle the various favourite types, and I'd introduce a toggle to switch between "Show full Path" and "Show Name only".

Is this going in the right direction?

Link to post
Share on other sites

Looks like a great new feature. I'm curious though, how will things like models and sound shaders be created from this view? Will they be dragged and dropped into the 2D view, or will you double-click them and they appear at some default location (e.g. the center)?

And this in turn raises the question: could we use this same interface for all assets, not just Favourites? We could turn the Media tab into an Assets tab and allow the same creation mechanism (D&D or double-click), while listing not just textures but models, entities and everything in a single tree structure.

Link to post
Share on other sites

If this is turning out to be a useful approach, then I can see it being used for other things too, yes. Filtering or switching between assets by the toggle buttons on top might actually be efficient to move around between the assets trees. (I'd still use our regular tree view widgets for it though, since this wxListView control is rather limited in terms of what can be rendered, and dealing with selected objects is actually awful.)

I also thought about the double-click behaviour - I'm open for input here. Double-clicking a texture would just do "Apply material to selection", not sure about the sound shaders though. It could apply the shader to a selected entity, or it could create a new speaker. (Drag-and-drop might also be useful, though it'd be unusual or at least an unexpected way for doing things in DarkRadiant - not saying we should avoid it, just stating the obvious.)

Link to post
Share on other sites

@greebo Awesome, will give this a try soon. Not sure how the behavior should be but apply to selected / selected surface for materials sounds good. Maybe models and s_shaders for entities with the respective spawnargs. 
 

Drag and drop to create speakers and func_statics would be very cool. I wonder if we can use that convention for other elements in DR and gradually introduce it where it makes sense?

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...