View Issue Details

IDProjectCategoryView StatusLast Update
0002059FSSCPgameplaypublic2010-01-01 08:51
ReporterZacam Assigned ToZacam  
PriorityhighSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.6.10 
Target Version3.6.12 RC1Fixed in Version3.6.12 RC1 
Summary0002059: Int3() from MissionBriefCommon.cpp at line 1926
DescriptionAs listed here:
http://www.hard-light.net/forums/index.php?topic=66797.msg1319560#msg1319560

Any unrecognized '$c' used in a briefing will cause this. And as the system is case-sensitive, using $W instead of $w will trigger it.
Steps To ReproduceCurrently by MediaVPs, which is an error in them that will be corrected, but it is not solely restricted to being a MediaVP issue.

Load SM1-07.fs2, or insert any case into a mission briefing that is not (currently) $f, $h, $n, $r, $g, $b, $w, $y.
Additional InformationWhile expanding the colors and cases available to Mission Briefings, not all cases can be accounted for or random typos. Proposal for attached patch will change the Int3() to a Warning that will indicate what case was found in the mission, but still allow for the mission to be loaded with the unknown case stripped and the text set to BRIEF_TEXT_WHITE.

For a proposed expansion on the current list of case characters available, see this post: http://www.hard-light.net/forums/index.php?topic=66496.msg1319169#msg1319169
TagsNo tags attached.

Activities

Zacam

2009-12-07 02:01

administrator   ~0011384

Last edited: 2010-01-01 07:16

**Edit: Separated into two patches. One is the actual fix, the other is the implementation of additional colours that requires the fix to be in place before implementing.

2010-01-01 07:13

 

M2059-Brief_Text_Fix.patch (665 bytes)   
Index: code/mission/missionbriefcommon.cpp
===================================================================
--- code/mission/missionbriefcommon.cpp	(revision 5755)
+++ code/mission/missionbriefcommon.cpp	(working copy)
@@ -1560,9 +1560,8 @@
  		case 'y':
  			return BRIEF_TEXT_YELLOW;
  
-		default:	
-			Int3();	// unsupported meta-code
-			break;
+		default:	//Zacam: Changed fron an Int3() in order to provide better feedback while still allowing play.
+			Warning(LOCATION, "Unrecognized or undefined case character: '$%c' used in Briefing in mission: '%s'. Tell Zacam.", c, Mission_filename);
 	} // end switch
 
 	return BRIEF_TEXT_WHITE;
M2059-Brief_Text_Fix.patch (665 bytes)   

2010-01-01 07:13

 

Brief_Text_More-Colors.patch (7,154 bytes)   
Index: code/globalincs/alphacolors.cpp
===================================================================
--- code/globalincs/alphacolors.cpp	(revision 5721)
+++ code/globalincs/alphacolors.cpp	(working copy)
@@ -16,26 +16,36 @@
 // ALPHA DEFINES/VARS
 //
 
-color Color_black, Color_grey, Color_blue, Color_bright_blue, Color_violet_gray;
-color Color_green, Color_bright_green, Color_bright_white, Color_white;
-color Color_red, Color_bright_red, Color_yellow, Color_bright_yellow, Color_dim_red;
+color Color_blue, Color_bright_blue, Color_green, Color_bright_green;
+color Color_black, Color_grey, Color_silver, Color_white, Color_bright_white;
+color Color_violet_gray, Color_violet, Color_pink, Color_light_pink;
+color Color_dim_red, Color_red, Color_bright_red, Color_yellow, Color_bright_yellow;
 color Color_ui_light_green, Color_ui_green;
 color Color_ui_light_pink, Color_ui_pink;
 
 // netplayer colors
-color *Color_netplayer[12] = {
+color *Color_netplayer[20] = {
+
+	&Color_blue,
+	&Color_bright_blue,
+	&Color_green,
+	&Color_bright_green,
+	&Color_black,
+	&Color_grey,
+	&Color_silver,
 	&Color_white,
 	&Color_bright_white,
-	&Color_bright_blue,
+	&Color_violet_gray,
+	&Color_violet,
+	&Color_dim_red,
 	&Color_red,
 	&Color_bright_red,
-	&Color_blue,
-	&Color_bright_green,
-	&Color_bright_blue,
 	&Color_yellow,
 	&Color_bright_yellow,
+	&Color_ui_light_green,
 	&Color_ui_green,
-	&Color_ui_pink
+	&Color_ui_light_pink,
+	&Color_ui_pink,
 };
 
 
@@ -54,20 +64,28 @@
 	gr_init_alphacolor( &Color_bright_green, 50, 190, 50, 255 );
 
 	gr_init_alphacolor( &Color_black, 0, 0, 0, 255 );
-	gr_init_alphacolor( &Color_grey, 50, 50, 50, 255 );
+	gr_init_alphacolor( &Color_grey, 65, 65, 65, 255 );
+	gr_init_alphacolor( &Color_silver, 160, 160, 160, 255 );
 	//gr_init_alphacolor( &Color_white, 185, 185, 185, 255 );
 	gr_init_alphacolor( &Color_white, 105, 105, 105, 255 );
 	gr_init_alphacolor( &Color_bright_white, 255, 255, 255, 255 );
 
 	gr_init_alphacolor( &Color_violet_gray, 160, 144, 160, 255 );
+	gr_init_alphacolor( &Color_violet, 192, 104, 192, 255 );
 
 	gr_init_alphacolor( &Color_dim_red, 80, 6, 6, 255 );
 	gr_init_alphacolor( &Color_red, 126, 6, 6, 255 );
 	gr_init_alphacolor( &Color_bright_red, 200, 0, 0, 255 );
 
-	gr_init_alphacolor( &Color_yellow, 113, 184, 124, 255 );
-	gr_init_alphacolor( &Color_bright_yellow, 162, 210, 162, 255 );
+	gr_init_alphacolor( &Color_pink, 185, 150, 150, 255 );
+	gr_init_alphacolor( &Color_light_pink, 230, 190, 190, 255 );
 
+//	gr_init_alphacolor( &Color_yellow, 113, 184, 124, 255 );
+//	gr_init_alphacolor( &Color_bright_yellow, 162, 210, 162, 255 );
+//  This didn't look very "yellow"
+	gr_init_alphacolor( &Color_yellow, 255, 255, 122, 255 );
+	gr_init_alphacolor( &Color_bright_yellow, 255, 255, 0, 255 );
+
 	gr_init_alphacolor( &Color_ui_light_green, 161, 184, 161, 255 );
 	gr_init_alphacolor( &Color_ui_green, 190, 228, 190, 255 );
 
Index: code/globalincs/alphacolors.h
===================================================================
--- code/globalincs/alphacolors.h	(revision 5721)
+++ code/globalincs/alphacolors.h	(working copy)
@@ -39,15 +39,16 @@
 
 #define Color_bright Color_bright_blue
 #define Color_normal Color_white
-extern color Color_black, Color_grey, Color_blue, Color_bright_blue, Color_violet_gray;
-extern color Color_green, Color_bright_green, Color_bright_white, Color_white;
-extern color Color_red, Color_bright_red, Color_yellow, Color_bright_yellow, Color_dim_red;
+extern color Color_blue, Color_bright_blue, Color_green, Color_bright_green;
+extern color Color_black, Color_grey, Color_silver, Color_white, Color_bright_white;
+extern color Color_violet_gray, Color_violet, Color_pink, Color_light_pink;
+extern color Color_dim_red, Color_red, Color_bright_red, Color_yellow, Color_bright_yellow;
 
 extern color Color_ui_light_green, Color_ui_green;
 extern color Color_ui_light_pink, Color_ui_pink;
 
 // netplayer colors
-extern color *Color_netplayer[12];
+extern color *Color_netplayer[20];
 
 // -----------------------------------------------------------------------------------
 // ALPHA FUNCTIONS
Index: code/mission/missionbriefcommon.cpp
===================================================================
--- code/mission/missionbriefcommon.cpp	(revision 5721)
+++ code/mission/missionbriefcommon.cpp	(working copy)
@@ -187,16 +187,27 @@
 typedef SCP_vector<briefing_line> briefing_stream; 
 static briefing_stream Colored_stream[MAX_TEXT_STREAMS];
 
-#define MAX_BRIEF_TEXT_COLORS			9
-#define BRIEF_TEXT_WHITE				0
+#define MAX_BRIEF_TEXT_COLORS		20
+#define BRIEF_TEXT_WHITE			0
 #define BRIEF_TEXT_BRIGHT_WHITE		1
-#define BRIEF_TEXT_RED					2
-#define BRIEF_TEXT_GREEN				3
-#define BRIEF_TEXT_YELLOW				4
-#define BRIEF_TEXT_BLUE					5
-#define BRIEF_TEXT_FRIENDLY				6
-#define BRIEF_TEXT_HOSTILE				7
-#define BRIEF_TEXT_NEUTRAL				8
+#define BRIEF_TEXT_RED				2
+#define BRIEF_TEXT_GREEN			3
+#define BRIEF_TEXT_YELLOW			4
+#define BRIEF_TEXT_BLUE				5
+#define BRIEF_TEXT_FRIENDLY			6
+#define BRIEF_TEXT_HOSTILE			7
+#define BRIEF_TEXT_NEUTRAL			8
+#define BRIEF_TEXT_BRIGHT_BLUE		9
+#define BRIEF_TEXT_BRIGHT_GREEN		10
+#define BRIEF_TEXT_BRIGHT_RED		11
+#define BRIEF_TEXT_BRIGHT_YELLOW	12
+#define BRIEF_TEXT_BLACK			13
+#define BRIEF_TEXT_GREY				14
+#define BRIEF_TEXT_SILVER			15
+#define BRIEF_TEXT_VIOLET_GRAY		16
+#define BRIEF_TEXT_VIOLET			17
+#define BRIEF_TEXT_PINK				18
+#define BRIEF_TEXT_LIGHT_PINK		19
 
 color Brief_color_red, Brief_color_green, Brief_color_legacy_neutral;
 
@@ -211,6 +222,17 @@
 	&Brief_color_green,
 	&Brief_color_red,
 	&Brief_color_legacy_neutral,
+	&Color_bright_blue,
+	&Color_bright_green,
+	&Color_bright_red,
+	&Color_bright_yellow,
+	&Color_black,
+	&Color_grey,
+	&Color_silver,
+	&Color_violet_gray,
+	&Color_violet,
+	&Color_pink,
+	&Color_light_pink,
 };
 
 #define BRIGHTEN_LEAD	2
@@ -1554,12 +1576,49 @@
 		case 'b':
 			return BRIEF_TEXT_BLUE;
 
+//The following added by Zacam for expanded BRIEF colors
  		case 'w':
  			return BRIEF_TEXT_WHITE;
- 
+
  		case 'y':
  			return BRIEF_TEXT_YELLOW;
+
+		case 'W':
+			return BRIEF_TEXT_BRIGHT_WHITE;
+
+		case 'B':
+			return BRIEF_TEXT_BRIGHT_BLUE;
+
+		case 'G':
+			return BRIEF_TEXT_BRIGHT_GREEN;
+
+		case 'R':
+			return BRIEF_TEXT_BRIGHT_RED;
+
+		case 'Y':
+			return BRIEF_TEXT_BRIGHT_YELLOW;
+
+		case 'k':
+			return BRIEF_TEXT_BLACK;
+
+		case 'e':
+			return BRIEF_TEXT_GREY;
+
+		case 'E':
+			return BRIEF_TEXT_SILVER;
+
+		case 'v':
+			return BRIEF_TEXT_VIOLET_GRAY;
+
+		case 'V':
+			return BRIEF_TEXT_VIOLET;
+
+		case 'p':
+			return BRIEF_TEXT_PINK;
+
+		case 'P':
+			return BRIEF_TEXT_LIGHT_PINK;
  
 		default:	//Zacam: Changed fron an Int3() in order to provide better feedback while still allowing play.
 			Warning(LOCATION, "Unrecognized or undefined case character: '$%c' used in Briefing in mission: '%s'. Tell Zacam.", c, Mission_filename);
 	} // end switch
Brief_Text_More-Colors.patch (7,154 bytes)   

Goober5000

2010-01-01 08:51

administrator   ~0011477

Patches committed.

Issue History

Date Modified Username Field Change
2009-12-06 22:43 Zacam New Issue
2009-12-06 22:43 Zacam Status new => assigned
2009-12-06 22:43 Zacam Assigned To => Zacam
2009-12-06 22:43 Zacam File Added: MBC_Int3_to_Warning.patch
2009-12-07 01:59 Zacam File Added: Brief_Text_Crayola.patch
2009-12-07 02:01 Zacam Note Added: 0011384
2009-12-18 04:36 Zacam File Deleted: MBC_Int3_to_Warning.patch
2009-12-18 04:36 Zacam Status assigned => feedback
2010-01-01 07:13 Zacam File Deleted: Brief_Text_Crayola.patch
2010-01-01 07:13 Zacam File Added: M2059-Brief_Text_Fix.patch
2010-01-01 07:13 Zacam File Added: Brief_Text_More-Colors.patch
2010-01-01 07:16 Zacam Note Edited: 0011384
2010-01-01 08:51 Goober5000 Note Added: 0011477
2010-01-01 08:51 Goober5000 Status feedback => resolved
2010-01-01 08:51 Goober5000 Resolution open => fixed
2010-01-01 08:51 Goober5000 Fixed in Version => 3.6.12 RC1