Author Topic: Lab Space and Large Lists  (Read 1351 times)

0 Members and 1 Guest are viewing this topic.

Offline Trivial Psychic

  • 212
  • Snoop Junkie
Lab Space and Large Lists
I was doing some examining of the BP2 shiplist in the Lab recently, and noticed how when some of the species lists are expanded, they list extends beyond the bottom of the screen.  Is it possible for there to be an automatic snap-to-next-column option, or perhaps a scrollbar or something?  As campaigns like BP add onto their creations with more expansion releases, the amount of available space will no longer be sufficient.
The Trivial Psychic Strikes Again!

 

Offline fightermedic

  • 29
  • quite a nice guy, no really, i am
Re: Lab Space and Large Lists
i'm having the same problem with my own mod
fixing this would be welcome
>>Fully functional cockpits for Freespace<<
>>Ships created by me<<
Campaigns revised/voice-acted by me:
Lightning Marshal 1-4, The Regulus Campaign, Operation: Savior, Operation: Crucible, Titan Rebellion, Fall of Epsilon Pegasi 1.1Aftermath 2.1,
Pandora's Box 2.2, Deep Blood

Other Campaigns I have participated in:
The Antagonist, Warzone, Phantoms & Echo-Gate

All the stuff I release is free to use or change in any way for everybody who likes to do so; take whatever you need

 

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Re: Lab Space and Large Lists
Would anyone be willing to submit a Mantis ticket?  ;)
I'm on Facebook! sort of. Zeesixtyfour Fivefiftyfive

-=wxFRED2=-
R.I.P. Oliver
------------
EveningTea: Time to go Freeman on this cultist..
* EveningTea pulls crowbar off his shoulderstrap and charges screaming incoherently across the marsh *
------------
z64555: bro. do you even salad
------------
z64555: suprise double quaternion!

 

Online DahBlount

  • 29
  • Alpine ☆ Cancer Tribulation
    • Minecraft
    • Skype
    • Steam
<Axem> yet still more insightful than #hard-light

<Axem> jad2.23 will just be cat videos

<DahBlount> So
<DahBlount> JAD2.2 is like that
<Axem> maybe
<Axem> it can be whatever you like!
<DahBlount> A Chocolate Sundae?
<Axem> sure

My models: GTF Gilgamesh - GTD Nuadha [Redesigning] - Ningirama [WIP] - GTG Zephyrus

 

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Re: Lab Space and Large Lists
Ok, so, the issue is that there is no Scroll Bar that is available to the user. Creating the control itself is somewhat trivial.

However, the content inside the windows was not set up for scrolling, so the mechanism will have to be put in. There's a couple of scrolling methods that we can go with:

Sharp Scrolling:
Scrolling is achieved by sharply moving line by line, or character by character. Easy to implement with existing gr functions.

Smooth Scrolling:
Scrolling is achieved by smoothly moving the text pixel by pixel. Text and other content is clipped to be shown only within the borders. This may be tricky for me to do, because I haven't found any gr function that'll do something like this. The_E and m|m have suggested using Render-to-Texture of the text/content, painting it to a quad, and then scroll the texture.

Marque Scrolling:
Smooth scrolling, but the text "rolls" around the corners like you'd see on a marque, or belt. This can be achieved by manipulating quads the text is painted on so that they will tilt when they get to some predefined position away from the border.
I'm on Facebook! sort of. Zeesixtyfour Fivefiftyfive

-=wxFRED2=-
R.I.P. Oliver
------------
EveningTea: Time to go Freeman on this cultist..
* EveningTea pulls crowbar off his shoulderstrap and charges screaming incoherently across the marsh *
------------
z64555: bro. do you even salad
------------
z64555: suprise double quaternion!

 

Offline Dragon

  • Citation needed
  • 212
  • The sky is the limit.
Re: Lab Space and Large Lists
Sharp scrolling. Easy to implement and functional. Since the Lab is a modding tool, not an end user one, I think that it would be enough. No need for fancy changes that would probably end up taking longer and possibly eating up performance.

 

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Re: Lab Space and Large Lists
As a matter of fact, I've found out that the credits screen in the Tech Room has smooth scrolling! It uses a clipping plane (that I couldn't find earlier) that will ignore all graphics calls outside of its bounding box. This in conjunction with some smart iteration through the text container will allow smooth scrolling to be implemented.

The reason I'm so focused on smooth scrolling is because it seems more professional to me, and if need be the same draw functions can be set up to do sharp scrolling with minimal changes.

There's still some other issues, though, such as the hot-spot regions that are used to hover/select over text will need to be taken into acount, and of course the scroll bars need to be implemented. I'll map things out and see what I can do.

I'm on Facebook! sort of. Zeesixtyfour Fivefiftyfive

-=wxFRED2=-
R.I.P. Oliver
------------
EveningTea: Time to go Freeman on this cultist..
* EveningTea pulls crowbar off his shoulderstrap and charges screaming incoherently across the marsh *
------------
z64555: bro. do you even salad
------------
z64555: suprise double quaternion!

 
Re: Lab Space and Large Lists
I'd go with sharp scrolling too - for what Dragon said, and also because the Tech Room does it too.

 

Offline Dragon

  • Citation needed
  • 212
  • The sky is the limit.
Re: Lab Space and Large Lists
The reason I'm so focused on smooth scrolling is because it seems more professional to me, and if need be the same draw functions can be set up to do sharp scrolling with minimal changes.
Again, this is for modders, not for the end user. As such, the least complicated method would be preferable. You could even forgo the scroll bar, just use up/down arrows like in start menu on old Windows. If the program list would go off the screen, a little arrow would appear as the uppermost and lowermost position. They would scroll the menu, IIRC in sharp scrolling manner. Uncomplicated, can be done with minimal interface changes and has all the required functionality. The code is enough of a mess as it is, and such a minor, cosmetic feature as smooth scrolling is simply unnecessary. Scrolling itself is needed, but let's not forget about KISS.