View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002882 | FSSCP | SEXPs | public | 2013-06-02 18:19 | 2014-07-12 17:27 |
Reporter | Axem | Assigned To | MageKing17 | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Summary | 0002882: change-team-color with None color results in error | ||||
Description | If someone's got a team color and you change it to the default (None in the menu) through the sexp you get... --------------------------- Error --------------------------- Error in mission event "mission!": Unhandled sexp error code! ... (Error appears to be: None) --------------------------- OK Cancel --------------------------- Work around seems to be if you have a ship with a 0,0,0 team color on everything, but since None is there, seems like it should be used. | ||||
Tags | No tags attached. | ||||
|
Fix committed to trunk@9692. |
|
Fix was reverted, reopening. |
|
2882.patch (5,644 bytes)
Index: code/fred2/initialstatus.cpp =================================================================== --- code/fred2/initialstatus.cpp (revision 10911) +++ code/fred2/initialstatus.cpp (working copy) @@ -540,7 +540,7 @@ if (m_team_color_setting.IsWindowEnabled() && m_team_color_setting.GetCurSel() > 0) Ships[m_ship].team_name = Team_Names[m_team_color_setting.GetCurSel() - 1]; else - Ships[m_ship].team_name = "None"; + Ships[m_ship].team_name = "none"; update_docking_info(); Index: code/graphics/gropengltnl.cpp =================================================================== --- code/graphics/gropengltnl.cpp (revision 10911) +++ code/graphics/gropengltnl.cpp (working copy) @@ -484,7 +484,7 @@ } void gr_opengl_set_team_color(const SCP_string &team, const SCP_string &secondaryteam, fix timestamp, int fadetime) { - if (secondaryteam == "<none>") { + if (!stricmp(secondaryteam.c_str(), "none")) { if (Team_Colors.find(team) != Team_Colors.end()) { Current_team_color = &Team_Colors[team]; Using_Team_Color = true; Index: code/graphics/gropengltnl.h =================================================================== --- code/graphics/gropengltnl.h (revision 10911) +++ code/graphics/gropengltnl.h (working copy) @@ -56,7 +56,7 @@ int gr_opengl_end_state_block(); void gr_opengl_set_state_block(int); -void gr_opengl_set_team_color(const SCP_string &team, const SCP_string &secondaryteam = "<none>", fix timestamp = 0, int fadetime = 0); +void gr_opengl_set_team_color(const SCP_string &team, const SCP_string &secondaryteam = "none", fix timestamp = 0, int fadetime = 0); void gr_opengl_disable_team_color(); void opengl_tnl_shutdown(); Index: code/lab/lab.cpp =================================================================== --- code/lab/lab.cpp (revision 10911) +++ code/lab/lab.cpp (working copy) @@ -728,7 +728,7 @@ } if (sip->uses_team_colors && !Teamcolor_override) { - gr_set_team_color(Lab_team_color, "<none>", 0, 0); + gr_set_team_color(Lab_team_color, "none", 0, 0); } } Index: code/menuui/techmenu.cpp =================================================================== --- code/menuui/techmenu.cpp (revision 10911) +++ code/menuui/techmenu.cpp (working copy) @@ -468,7 +468,7 @@ ship_info *sip = &Ship_info[Cur_entry_index]; if (sip->uses_team_colors) { - gr_set_team_color(sip->default_team_name, "<none>", 0, 0); + gr_set_team_color(sip->default_team_name, "none", 0, 0); } // get correct revolution rate Index: code/missionui/missionshipchoice.cpp =================================================================== --- code/missionui/missionshipchoice.cpp (revision 10911) +++ code/missionui/missionshipchoice.cpp (working copy) @@ -1538,7 +1538,7 @@ } if (sip->uses_team_colors) { - gr_set_team_color(sip->default_team_name, "<none>", 0, 0); + gr_set_team_color(sip->default_team_name, "none", 0, 0); } draw_model_rotating(ShipSelectModelNum, Index: code/object/object.cpp =================================================================== --- code/object/object.cpp (revision 10911) +++ code/object/object.cpp (working copy) @@ -1244,12 +1244,12 @@ //Check for changing team colors ship* shipp = &Ships[objp->instance]; - if (Ship_info[shipp->ship_info_index].uses_team_colors && shipp->secondary_team_name != "<none>") { + if (Ship_info[shipp->ship_info_index].uses_team_colors && stricmp(shipp->secondary_team_name.c_str(), "none")) { if (f2fl(Missiontime) * 1000 > f2fl(shipp->team_change_timestamp) * 1000 + shipp->team_change_time) { shipp->team_name = shipp->secondary_team_name; shipp->team_change_timestamp = 0; shipp->team_change_time = 0; - shipp->secondary_team_name = "<none>"; + shipp->secondary_team_name = "none"; } } Index: code/parse/lua.cpp =================================================================== --- code/parse/lua.cpp (revision 10911) +++ code/parse/lua.cpp (working copy) @@ -6041,7 +6041,7 @@ ship_info *sip = &Ship_info[idx]; if (sip->uses_team_colors) { - gr_set_team_color(sip->default_team_name, "<none>", 0, 0); + gr_set_team_color(sip->default_team_name, "none", 0, 0); } //Make sure model is loaded @@ -6119,7 +6119,7 @@ ship_info *sip = &Ship_info[idx]; if (sip->uses_team_colors) { - gr_set_team_color(sip->default_team_name, "<none>", 0, 0); + gr_set_team_color(sip->default_team_name, "none", 0, 0); } //Make sure model is loaded Index: code/parse/sexp.cpp =================================================================== --- code/parse/sexp.cpp (revision 10911) +++ code/parse/sexp.cpp (working copy) @@ -2768,6 +2768,9 @@ return SEXP_CHECK_TYPE_MISMATCH; } + if (!stricmp(CTEXT(node), "none")) + break; + if (Team_Colors.find(CTEXT(node)) == Team_Colors.end()) return SEXP_CHECK_INVALID_TEAM_COLOR; @@ -27889,6 +27892,9 @@ case SEXP_CHECK_INVALID_SHIP_FLAG: return "Invalid ship flag"; + case SEXP_CHECK_INVALID_TEAM_COLOR: + return "Not a valid Team Color setting"; + default: Warning(LOCATION, "Unhandled sexp error code %d!", num); return "Unhandled sexp error code!"; Index: code/ship/ship.cpp =================================================================== --- code/ship/ship.cpp (revision 10911) +++ code/ship/ship.cpp (working copy) @@ -5313,7 +5313,7 @@ // Team colors shipp->team_name.assign( sip->default_team_name); - shipp->secondary_team_name = "<none>"; + shipp->secondary_team_name = "none"; shipp->autoaim_fov = sip->autoaim_fov; } |
|
I've gone through and made a more complete version of the r9692 changes and given them some preliminary testing. |
|
Fix committed to trunk@10914. |
fs2open: trunk r9692 2013-06-03 14:52 Ported: N/A Details Diff |
Fix for Mantis 2882: "None" team color setting causes errors. Also fixes a few other oversights. |
Affected Issues 0002882 |
|
mod - /trunk/fs2_open/code/fred2/initialstatus.cpp | Diff File | ||
mod - /trunk/fs2_open/code/graphics/gropengltnl.cpp | Diff File | ||
mod - /trunk/fs2_open/code/object/object.cpp | Diff File | ||
mod - /trunk/fs2_open/code/parse/sexp.cpp | Diff File | ||
mod - /trunk/fs2_open/code/ship/ship.cpp | Diff File | ||
fs2open: trunk r10914 2014-07-12 13:50 Ported: N/A Details Diff |
Fix for Mantis 2882 by Mageking17 (change-team-color with None color results in error) |
Affected Issues 0002882 |
|
mod - /trunk/fs2_open/code/parse/sexp.cpp | Diff File | ||
mod - /trunk/fs2_open/code/menuui/techmenu.cpp | Diff File | ||
mod - /trunk/fs2_open/code/graphics/gropengltnl.cpp | Diff File | ||
mod - /trunk/fs2_open/code/parse/lua.cpp | Diff File | ||
mod - /trunk/fs2_open/code/lab/lab.cpp | Diff File | ||
mod - /trunk/fs2_open/code/object/object.cpp | Diff File | ||
mod - /trunk/fs2_open/code/fred2/initialstatus.cpp | Diff File | ||
mod - /trunk/fs2_open/code/missionui/missionshipchoice.cpp | Diff File | ||
mod - /trunk/fs2_open/code/graphics/gropengltnl.h | Diff File | ||
mod - /trunk/fs2_open/code/ship/ship.cpp | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-06-02 18:19 | Axem | New Issue | |
2013-06-03 17:53 | The_E | Changeset attached | => fs2open trunk r9692 |
2013-06-03 17:53 | The_E | Note Added: 0015117 | |
2013-06-03 17:53 | The_E | Status | new => resolved |
2013-06-03 17:53 | The_E | Resolution | open => fixed |
2013-06-03 19:18 | chief1983 | Assigned To | => chief1983 |
2013-06-03 19:18 | chief1983 | Note Added: 0015118 | |
2013-06-03 19:18 | chief1983 | Status | resolved => feedback |
2013-06-03 19:18 | chief1983 | Resolution | fixed => reopened |
2014-07-12 16:59 | MageKing17 | File Added: 2882.patch | |
2014-07-12 17:00 | MageKing17 | Assigned To | chief1983 => MageKing17 |
2014-07-12 17:00 | MageKing17 | Status | feedback => code review |
2014-07-12 17:00 | MageKing17 | Resolution | reopened => open |
2014-07-12 17:01 | MageKing17 | Note Added: 0016069 | |
2014-07-12 17:27 | The_E | Changeset attached | => fs2open trunk r10914 |
2014-07-12 17:27 | The_E | Note Added: 0016070 | |
2014-07-12 17:27 | The_E | Status | code review => resolved |
2014-07-12 17:27 | The_E | Resolution | open => fixed |