has_color() performance fixes
Performance profiling showed that multiple strcmpi() calls were occurring each and every time a character was going to the map. This update: - honors the WC_COLOR capability - It allows a window-port to control individual color availability should the window-port wish to do so. - Makes checking on the individual colors for the active window-port is a straightforward table lookup at the CLR_ offset. iflags.use_color remains a master on/off switch for use of color, regardless of the capability compiled into the game (default TRUE). The has_color() routine, which is now a shared routine in src/windows.c, could likely be made into a simple macro to eliminate the function call, but this update does not go that far. This hits a lot of port files due to the window-port interface change, mostly cookie-cutter.
This commit is contained in:
@@ -790,6 +790,7 @@ init_ttycolor()
|
||||
}
|
||||
#endif /* TEXTCOLOR */
|
||||
|
||||
#if 0
|
||||
int
|
||||
has_color(int color)
|
||||
{
|
||||
@@ -803,6 +804,7 @@ has_color(int color)
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
term_attr_fixup(int attrmask)
|
||||
|
||||
@@ -114,12 +114,6 @@ backsp()
|
||||
return;
|
||||
}
|
||||
|
||||
int
|
||||
has_color(int color)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
#ifndef NO_MOUSE_ALLOWED
|
||||
void
|
||||
toggle_mouse_support()
|
||||
|
||||
Reference in New Issue
Block a user