Textui reform (warning: long and full of C)
Collapse
X
-
What a hack:
solid_walls slow xterm down quite a lot, though... well, that's xterm's problem, isn't it?Comment
-
actually, speed is ok. More interestingly, none of the terminals that I tried uses vsync!What a hack:
solid_walls slow xterm down quite a lot, though... well, that's xterm's problem, isn't it?Comment
-
Comment
-
Or people using screenreaders, or people who just prefer running things in terminals. I think there's a surprising number of the latter...takkaria whispers something about options. -more-Comment
-
Yes, I forgot that screenreaders are an important use case! It's just such an easy thing to forget when one is sighted. I wish we could have some sort of "reminder" type functionality for our assumptions. (EDIT: Actually, I wonder... could we serve blind players better with a special-case UI rather than forcing them to use screen readers on top of curses? Surely playing with a screen reader is ridiculously sub-optimal since the screen reader doesn't actually know anything about Angband. Obviously there probably isn't actually enough developer-power to make anything else happen, but one can hope...)
Given that, the rest is just more for argument's sake, so feel free to ignore: I disagree that "preferring running things in terminals" should be a big consideration. In fact, I wonder why anyone would even want that given that the other front ends are basically superior in every way. Can you elaborate?Last edited by AnonymousHero; November 7, 2016, 01:16.Comment
-
Yeah, that would definitely be a better option. Brogue has BrougeSpeak which is pretty much exactly that: https://www.reddit.com/r/roguelikes/...8/broguespeak/ It's pretty cool.Yes, I forgot that screenreaders are an important use case! It just such an easy thing to forget when one is sighted. I wish we could have some sort of "reminder" type functionality for our assumptions. (EDIT: Actually, I wonder... could we serve blind players better with a special-case UI rather than forcing them to use screen readers on top of curses? Surely playing with a screen reader is ridiculously sub-optimal since the screen reader doesn't actually know anything about Angband. Obviously there probably isn't actually enough developer-power to make anything else happen, but one can hope...)
The only reason I have screenreaders in mind is because there is at least one visually impaired user who has made requests for changes in Angband's UI to make it more accessible. I think the current Windows frontend is also usable with a screenreader because it draws characters using the system calls for text plotting, but if we switch to using the SDL port on Windows (which I hope we will, since the Windows one is ancient and no-one knows how to maintain it anymore) that will go.
Sadly, I can't. I don't understand it either.Given that, the rest is just more for argument's sake, so feel free to ignore: I disagree that "preferring running things in terminals" should be a big consideration. In fact, I wonder why anyone would even want that given that the other front ends are basically superior in every way. Can you elaborate?
takkaria whispers something about options. -more-Comment
-
I really feel like I'm pushing ncurses way beyound its modest limits. Just spent several hours debugging problems with cursor in lxterminal... at least now I know why textui1 erases grids with white space (that is, literally char ' ' and COLOUR_WHITE)
Anyway, I think it looks pretty nice:
Now, the problem is that borders of subwindows render as ugly blue (instead of grey) in linux console. Presumably because linux console doesn't have greyscale colors. If someone knows why linux console is important enough to do something about it, let me know
Otherwise, I'll leave it as it is... (since grey borders look nice in graphical terminal emulators).
I suspect many of these people do so because they think it is "lightweight" or something like that. But, as far as I can tell, there is absolutely nothing lightweight about terminal emulators, terminal protocol, pseudo tty subsystem or ncursesIn fact, I wonder why anyone would even want that given that the
other front ends are basically superior in every way.
Comment
-
Much easier to record, play back, and stream terminal sessions to others. This is the main reason. More generally you can interact with the terminal programmatically with tools such as expect.
My terminal is already configured with the font, font size, and colors I want. Easier to do so once than figure out how to configure every different game to my liking. Basically, the terminal is already really good at displaying rectangular grids of characters; why would I want to use any other tool to do it?
The last time I tried the X11 angband frontend, it constantly consumed 100% cpu. And some people can't use X11 at all.Comment
-
Uhm, really? Even moderately computer-illitterate people can record a screencast and share it on Youtube. And I bet most of them wouldn't even know where to start if they had to record a terminal session.
I think you are confusing "much easier" with "I've been doing it for years and I'm more used to it".Last edited by fph; November 7, 2016, 20:42.--
Dive fast, die young, leave a high-CHA corpse.Comment
-
Yes, I'm pretty sure typing 'ttyrec -e angband' is easier than setting up video recording software. Is angband only for computer-illiterates?Uhm, really? Even moderately computer-illitterate people can record a screencast and share it on Youtube. And I bet most of them wouldn't even know where to start if they had to record a terminal session.
I think you are confusing "much easier" with "I've been doing it for years and I'm more used to it".Comment
-
But my plan to use a bunch of environment variables for configuring the game didn't raise any objections?
Currently, main-gcu.c has the option "-n" and tries to do something "smart" about it, and I don't like what it does; on my laptop, it makes the map term too small and other terms too large. The person who wrote the term size calculation code obviously had a big monitor...
If you have a better idea, let me know!Comment
Comment