Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001377I6 LibraryGeneralpublic2014-07-29 02:152019-04-09 02:27
ReporterDavidG 
Assigned ToDavidG 
PriorityhighSeverityseriousReproducibilityalways
StatusassignedResolutionopen 
PlatformOSOS Version
Product Version6/11 
Target Version6/13Fixed in Version 
Summary0001377: Changing colors doesn't work as it's supposed to according to the DM4
DescriptionThis 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";
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0003012)
DavidG (developer)
2014-07-29 02:28

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.
(0003027)
DavidG (developer)
2014-08-04 00:09
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 [^]

(0003028)
DavidG (developer)
2014-08-04 01:30
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 [^]

(0004850)
DavidG (developer)
2019-04-09 02:19

New link for initial report: https://intfiction.org/t/inform-library-6-12-and-inform-6-33-1-for-unix-go-beta/7207/8 [^]
(0004851)
DavidG (developer)
2019-04-09 02:27

Issue filed at Gitlab: https://gitlab.com/DavidGriffith/inform6lib/issues/63 [^]

- Issue History
Date Modified Username Field Change
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
Powered by Mantis Bugtracker