View Issue Details

IDProjectCategoryView StatusLast Update
0002432FSSCPsoundpublic2012-12-26 19:15
ReporterSDM Assigned ToEli2  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product VersionAntipodes 8 
Target Version3.7.0 
Summary0002432: Changing Sound in as a MULTI pilot does NOT save
DescriptionIf you're using an Antipodes 8 build and you select multiplayer, press F2 and try to change the volume for effects, voices, and music. Exit the game to desktop. Then re-launch. It'll be back to the way it was originally.
TagsNo tags attached.

Activities

MjnMixael

2012-11-25 12:30

manager   ~0014184

Last edited: 2012-11-25 18:21

I'm fairly certain this is not limited to multi and/or antipodes. I'll test it today.

MjnMixael

2012-11-25 18:24

manager   ~0014185

I lied.. the issue I remembered (and just verified) is different, but probably related. Changing the volumes via F3 -> Options won't save ever. You must use the F2 menu directly.

Eli2

2012-12-19 01:54

developer  

2432.svn.patch (2,741 bytes)   
diff --git a/code/freespace2/freespace.cpp b/code/freespace2/freespace.cpp
index 683ade1..2ce1c69 100644
Index: code/freespace2/freespace.cpp
===================================================================
--- code/freespace2/freespace.cpp
+++ code/freespace2/freespace.cpp
@@ -5933,6 +5933,15 @@ void game_enter_state( int old_state, int new_state )
 
 			// remove any multiplayer flags from the game mode
 			Game_mode &= ~(GM_MULTIPLAYER);
+
+			// set the game_mode based on the type of player
+			Assert( Player != NULL );
+
+			if ( Player->flags & PLAYER_FLAGS_IS_MULTI ){
+				Game_mode = GM_MULTIPLAYER;
+			} else {
+				Game_mode = GM_NORMAL;
+			}
 	
 			// determine which ship this guy is currently based on
 			mission_load_up_campaign(Player);
@@ -5945,15 +5954,6 @@ void game_enter_state( int old_state, int new_state )
 				main_hall_init(Campaign.missions[Campaign.next_mission].main_hall);
 			}
 
-			// set the game_mode based on the type of player
-			Assert( Player != NULL );
-
-			if ( Player->flags & PLAYER_FLAGS_IS_MULTI ){
-				Game_mode = GM_MULTIPLAYER;
-			} else {
-				Game_mode = GM_NORMAL;
-			}
-
 			//if ( (Cmdline_start_netgame || (Cmdline_connect_addr != NULL)) && !Main_hall_netgame_started ) {
 			//	Main_hall_netgame_started = 1;
 			//	main_hall_do_multi_ready();
diff --git a/code/menuui/playermenu.cpp b/code/menuui/playermenu.cpp
index 5f2fe94..bf2a159 100644
Index: code/menuui/playermenu.cpp
===================================================================
--- code/menuui/playermenu.cpp
+++ code/menuui/playermenu.cpp
@@ -459,6 +459,18 @@ void player_select_close()
 	Player = &Players[0];
 	Player->flags |= PLAYER_FLAGS_STRUCTURE_IN_USE;
 
+	//New pilot file makes no distinction between multi pilots and regular ones, so let's do this here.
+	if (Player_select_mode == PLAYER_SELECT_MODE_MULTI) {
+		Player->flags |= PLAYER_FLAGS_IS_MULTI;
+	}
+
+	//WMC - Set appropriate game mode
+	if ( Player->flags & PLAYER_FLAGS_IS_MULTI ) {
+		Game_mode = GM_MULTIPLAYER;
+	} else {
+		Game_mode = GM_NORMAL;
+	}
+
 	// now read in a the pilot data
 	if ( !Pilot.load_player(Pilots[Player_select_pilot], Player) ) {
 		Error(LOCATION,"Couldn't load pilot file, bailing");
@@ -477,18 +489,6 @@ void player_select_close()
 	stop_parse();
 
 	Player_select_screen_active = 0;
-
-	//New pilot file makes no distinction between multi pilots and regular ones, so let's do this here.
-	if (Player_select_mode == PLAYER_SELECT_MODE_MULTI) {
-		Player->flags |= PLAYER_FLAGS_IS_MULTI;
-	}
-
-	//WMC - Set appropriate game mode
-	if ( Player->flags & PLAYER_FLAGS_IS_MULTI ) {
-		Game_mode = GM_MULTIPLAYER;
-	} else {
-		Game_mode = GM_NORMAL;
-	}
 }
 
 void player_select_set_input_mode(int n)

2432.svn.patch (2,741 bytes)   

Eli2

2012-12-19 01:56

developer   ~0014534

My patch sets the game state earlier so that the campaign settings are not loaded.

Strange behavior remains:

The Antipodes code currently stores the volumes in the campaign settings and in the pilot settings.
If a pilot is used for multi and the volumes are changed, they will be overwritten by the campaign settings the next time the the pilot is used for single player.

Zacam

2012-12-26 19:15

administrator   ~0014578

Fix committed to antipodes@9465.

Related Changesets

fs2open: antipodes r9465

2012-12-26 14:49

Zacam


Ported: N/A

Details Diff
Trunk Sync: r9464
Fixes Mantis 2432: Changing Sound in as a MULTI pilot does NOT save; from Eli2
Affected Issues
0002432
mod - /branches/antipodes/code/cmdline/cmdline.cpp Diff File
mod - /branches/antipodes/code/fred2/fred.rc Diff File
mod - /branches/antipodes/code/fred2/fredview.cpp Diff File
mod - /branches/antipodes/code/fred2/reinforcementeditordlg.cpp Diff File
mod - /branches/antipodes/code/fred2/shipflagsdlg.cpp Diff File
mod - /branches/antipodes/code/freespace2/freespace.cpp Diff File
mod - /branches/antipodes/code/freespace2/freespace.rc Diff File
mod - /branches/antipodes/code/globalincs/version.h Diff File
mod - /branches/antipodes/code/menuui/playermenu.cpp Diff File
mod - /branches/antipodes/code/mission/missionparse.cpp Diff File
mod - /branches/antipodes/code/model/modelread.cpp Diff File
mod - /branches/antipodes/code/network/multiteamselect.cpp Diff File
mod - /branches/antipodes/code/network/multiteamselect.h Diff File
mod - /branches/antipodes/code/object/object.cpp Diff File

Issue History

Date Modified Username Field Change
2011-05-07 05:23 SDM New Issue
2012-11-25 08:45 niffiwan Target Version => 3.7.0
2012-11-25 12:30 MjnMixael Note Added: 0014184
2012-11-25 18:21 MjnMixael Note Edited: 0014184
2012-11-25 18:24 MjnMixael Note Added: 0014185
2012-12-18 21:48 Eli2 Assigned To => Eli2
2012-12-18 21:48 Eli2 Status new => assigned
2012-12-19 01:54 Eli2 File Added: 2432.svn.patch
2012-12-19 01:56 Eli2 Note Added: 0014534
2012-12-19 01:56 Eli2 Status assigned => code review
2012-12-26 19:15 Zacam Changeset attached => fs2open antipodes r9465
2012-12-26 19:15 Zacam Note Added: 0014578
2012-12-26 19:15 Zacam Status code review => resolved
2012-12-26 19:15 Zacam Resolution open => fixed