|Anonymous | Login | Signup for a new account||2019-07-22 00:44 PDT|
|Main | My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001377||I6 Library||General||public||2014-07-29 02:15||2019-04-09 02:27|
|Target Version||6/13||Fixed in Version|
|Summary||0001377: Changing colors doesn't work as it's supposed to according to the DM4|
|Description||This comes from auraes at http://www.intfiction.org/forum/viewtopic.php?f=19&t=15730#p78651 [^]|
On page 311 in the DM4, one of the colors available is "current colour". This has been missing from the Library since at least 6/1. This causes the SetColour() function to not work similarly to the @set_colour opcode.
Even if the program supplies this constant, the SetColour() function thwarts the correct functionality by enclosing the entire body of the function in an if statement that causes the function to do nothing if foreground and background are not both supplied.
|Minimal Source Text To Reproduce|
Constant CLR_CURRENT 0; Constant COLOR; Include "parser"; Include "verblib"; Object room "Color Room" with description [; SetColour (CLR_YELLOW, CLR_BLUE); print "foreground: Yellow, background: Blue^"; SetColour (CLR_RED, CLR_CURRENT); print "foreground: Red, background: Blue^"; SetColour (CLR_CURRENT, CLR_BLACK); print "foreground: Red, background: Black^"; SetColour (CLR_DEFAULT, CLR_DEFAULT); print "foreground: Default, background: Default^"; ], has light; [ initialise i key; clr_on = 1; location = room; ]; Include "grammar";
|Tags||No tags attached.|
Here's the fix for Z-machine targets: https://github.com/DavidGriffith/inform6lib/commit/7d9a2c76dab0ba48256b0730ee5ab9e1798c5195. [^]
A quick poke around suggests that color mode for Glulx targets never compiled. Going to have to bug Zarf about that one.
edited on: 2014-08-04 00:15
Compiling with Glulx and color now works, but is still broken. In particular, SetColour() improperly clears the screen.
See https://github.com/DavidGriffith/inform6lib/commit/1edaa1ed0d63a173956bd71c92fe6d0027c35be4 [^]
edited on: 2014-08-04 01:31
I think I understand what's going on with Glulx and screen handling for color. It seems that Glulx MUST clear the screen before allowing any color changes to take effect. This would explain why I am unable to get color changes to happen immediately or have multiple colors onscreen at once.
reference: http://rec.arts.int-fiction.narkive.com/v7aVE1Qs/infglk-glulx-change-background-color-and-styles [^]
|New link for initial report: https://intfiction.org/t/inform-library-6-12-and-inform-6-33-1-for-unix-go-beta/7207/8 [^]|
|Issue filed at Gitlab: https://gitlab.com/DavidGriffith/inform6lib/issues/63 [^]|
|2014-07-29 02:15||DavidG||New Issue|
|2014-07-29 02:15||DavidG||Status||new => assigned|
|2014-07-29 02:15||DavidG||Assigned To||=> DavidG|
|2014-07-29 02:20||DavidG||Steps to Reproduce Updated||View Revisions|
|2014-07-29 02:28||DavidG||Note Added: 0003012|
|2014-08-04 00:09||DavidG||Note Added: 0003027|
|2014-08-04 00:15||DavidG||Note Edited: 0003027||View Revisions|
|2014-08-04 01:30||DavidG||Note Added: 0003028|
|2014-08-04 01:31||DavidG||Note Edited: 0003028||View Revisions|
|2015-11-22 20:23||DavidG||Target Version||6/12 => 6/13|
|2019-04-09 02:19||DavidG||Note Added: 0004850|
|2019-04-09 02:27||DavidG||Note Added: 0004851|
|Copyright © 2000 - 2010 MantisBT Group|