|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002815||FSSCP||Pilot data||public||2013-03-20 03:07||2013-04-05 23:23|
|Target Version||Fixed in Version|
|Summary||0002815: Bug with changing squadrons in barracks|
|Description||In single player if you try to change squadrons you get the message that you can't change squads while in single player which is fine. Since the new pilot code doesn't distinguish between single an multi pilots you can get around this by simply clicking the multi tab and then changing the squad. Switching back to single and even exiting and relaunching the game still show the changed squad. |
If this actually will cause and game breaking issues I have no clue but it seems there needs to be a separation of single and multi pilot squad data to prevent this sort of thing.
|Steps To Reproduce||Create new pilot (probably not necessary but why not)|
Launch game in single player mode
Go to barracks
Attempt to change squad you should get a message about not being allowed to change in single player
Click on the multi option
Click back on single
Note the squad remains as the changed one.
Exit game, go back in, still changed.
|Tags||No tags attached.|
|I've going to try solving this by storing the multi squad & image in the .plr, and the single player squad & image in the .csg, and then adjusting all the relevant calls that deal with these to use one of these two locations as appropriate.|
|Please test this patch. In the barracks, pilots should have independent squad images for single & multi player. The single player image relies on missions to set it. It'll be unique per campaign (i.e. csg savefile). If a campaign file is missing, the image should be blank. Pilot conversion will make the image from the old pilot the multiplayer image and leave the single player image blank.|
|Haven't had a chance to test it yet but I have a feeling that a blank image is going to cause issues. Those logos get applied to the ships in retail. What happens if it's blank and you play a single player non-campaign mission?|
Last edited: 2013-04-04 19:10
No logo, mostly likely. Ship insignia are not required in every single mission ever. But how's about we test it first instead of asking someone to go code a bunch of stuff on a hunch?
EDIT: Tested. The single vs multi data seems to work as expected. I can change the multi logo, but not the single. The single started out blank (which, btw, didn't crash any missions or anything.. just played them without insignia on my ship.. or the mission applied the insignia designated by the FREDer.), but was accurately changed by the campaign I chose each time. The proper insignia were showing up on the ships in-mission correctly as well.
Also, the blanking of the squad image only occurs for the display in the barracks. Once you exit the barracks, FSO will whinge at you for not having a valid campaign, so I don't think that such a pilot will be able to play a mission.
I believe all other cases will act the same as current behaviour, i.e. if no campaign missions have been played to set a single player squad image, then it'll work as MjnMixael described. If it causes issues, then I think it's a separate bug :)
(I didn't actually test/look for squad images on ships in missions, I didn't know/remember they were there :D)
Alright did some comparison between 3.6.18 and latest with this patch with retail FS2.
3.6.18 ships have a squad at retail FS2 campaign start. This patch no squad on ships.
3.6.18 ships in single player have a squad if no campaign has been played. This patch no squad on single player missions even after playing the training missions and first mission of retail campaign.
Also campaigns (.fc2 files) are not a requirement for playing FS2. TC's can release with only single missions and no campaign. This is also actually quite common to not have a .fc2 file during development as it is a pain to use the cheat every-time you want to test a mission. Diaspora had no fc2 file for most of it's development. Default core only install of TBP has no campaigns or missions at all they are contained in separate vp files (although EMWdemo and Raider wars VPs are included in the installer).
So in summary this is a change from retail behavior and there should be a default non-blank squad in for both campaigns and single player missions. I believe retail just picked one at random since in testing I received the hammerheads logo one time and the V logo another.
Last edited: 2013-04-04 22:56
After some more testing I don't think this is working at all. Even in SM1-01 which has the squad reassign in the mission there is no squad showing on the ship. Going to test without this patch and see if it was broke before it.
It doesn't work without this patch either so looks like a separate bug.
|I think you've found a retail bug with the hammerheads logo (I hit this too and it wasted at least an hour of my testing!) In retail, SM1-01 sets the squad logo to hammer.pcx. However, the real filename is hammer1.pcx! Try testing with the mediavps instead.|
per discussions on IRC, I'm going to update the patch to:
1) assign a single logo in the same function that assigns the random multi logo
2) do the same in pilot conversions (except that logo won't be random)
3) if no CSG can be loaded, assign the multi logo to the single one
That should cover all the cases that can currently result in a blank single player logo.
Last edited: 2013-04-05 21:43
Try this one. Should have fixed everything in my previous comment except the conversion process, which is currently borked due to 2832 (unless you hexedit the csg/plr files yourself to set the correct version)
edit: and updated again, with a minor tweak and a fix to have pilots created at the initial selection screen get a valid single squad image
(why is there a separate pilot selection screen anyway? Why not just punt players straight to the barracks?)
|Looks like it works. Tested everything except for the no .fc2 file scenario and I don't have anything set up to easily test that one.|
OK. I've tested the no fc2 situation with TBP, renaming the EMW and RW VPs to something else to disable them. New pilots created at the initial screen and in the barracks get single player squad logos assigned. No logo on the Badger, but I don't know if TBP ships support squad logos on them or not, and I believe if the logo appears in the barracks it'll appear on the ship.
So, I'll be committing this patch shortly. If any other problems with the no fc2 scenario pop up in future, we can submit a new bug.
|Fix committed to trunk@9622.|
fs2open: trunk r9622
Timestamp: 2013-04-06 00:11:39
|Fix mantis 2815: store single/multi squad names and images separately (in csg/plr respectively)|
|mod - /trunk/fs2_open/code/menuui/barracks.cpp|
|mod - /trunk/fs2_open/code/mission/missionparse.cpp|
|mod - /trunk/fs2_open/code/network/multi_data.cpp|
|mod - /trunk/fs2_open/code/network/multi_pinfo.cpp|
|mod - /trunk/fs2_open/code/network/multimsgs.cpp|
|mod - /trunk/fs2_open/code/network/multiui.cpp|
|mod - /trunk/fs2_open/code/network/multiutil.cpp|
|mod - /trunk/fs2_open/code/parse/lua.cpp|
|mod - /trunk/fs2_open/code/pilotfile/csg.cpp|
|mod - /trunk/fs2_open/code/pilotfile/csg_convert.cpp|
|mod - /trunk/fs2_open/code/pilotfile/pilotfile.h|
|mod - /trunk/fs2_open/code/pilotfile/plr.cpp|
|mod - /trunk/fs2_open/code/playerman/managepilot.cpp|
|mod - /trunk/fs2_open/code/playerman/player.h|
|2013-03-20 03:07||FUBAR-BDHR||New Issue|
|2013-04-01 03:40||niffiwan||Assigned To||=> niffiwan|
|2013-04-01 03:40||niffiwan||Status||new => assigned|
|2013-04-01 03:41||niffiwan||Note Added: 0014866|
|2013-04-04 05:41||niffiwan||File Added: mantis2815-svn.patch|
|2013-04-04 05:45||niffiwan||Note Added: 0014886|
|2013-04-04 05:45||niffiwan||Status||assigned => feedback|
|2013-04-04 16:18||FUBAR-BDHR||Note Added: 0014889|
|2013-04-04 16:18||FUBAR-BDHR||Status||feedback => assigned|
|2013-04-04 18:49||MjnMixael||Note Added: 0014890|
|2013-04-04 18:50||MjnMixael||Note Edited: 0014890||View Revisions|
|2013-04-04 19:10||MjnMixael||Note Edited: 0014890||View Revisions|
|2013-04-04 19:11||niffiwan||Note Added: 0014891|
|2013-04-04 22:33||FUBAR-BDHR||Note Added: 0014893|
|2013-04-04 22:49||FUBAR-BDHR||Note Added: 0014894|
|2013-04-04 22:56||FUBAR-BDHR||Note Edited: 0014894||View Revisions|
|2013-04-04 23:38||FUBAR-BDHR||Relationship added||related to 0002838|
|2013-04-05 00:02||niffiwan||Note Added: 0014895|
|2013-04-05 01:32||niffiwan||Note Added: 0014897|
|2013-04-05 05:46||niffiwan||File Deleted: mantis2815-svn.patch|
|2013-04-05 05:46||niffiwan||File Added: mantis2815-svn.patch|
|2013-04-05 05:47||niffiwan||Note Added: 0014898|
|2013-04-05 05:47||niffiwan||Status||assigned => feedback|
|2013-04-05 05:48||niffiwan||Relationship added||related to 0002832|
|2013-04-05 05:49||niffiwan||Note Edited: 0014898||View Revisions|
|2013-04-05 05:49||niffiwan||Note Edited: 0014898||View Revisions|
|2013-04-05 20:20||niffiwan||File Deleted: mantis2815-svn.patch|
|2013-04-05 21:42||niffiwan||File Added: mantis2815-svn.patch|
|2013-04-05 21:43||niffiwan||Note Edited: 0014898||View Revisions|
|2013-04-05 22:28||FUBAR-BDHR||Note Added: 0014902|
|2013-04-05 22:28||FUBAR-BDHR||Status||feedback => assigned|
|2013-04-05 23:21||niffiwan||Note Added: 0014905|
|2013-04-05 23:23||niffiwan||Changeset attached||=> fs2open trunk r9622|
|2013-04-05 23:23||niffiwan||Note Added: 0014906|
|2013-04-05 23:23||niffiwan||Status||assigned => resolved|
|2013-04-05 23:23||niffiwan||Resolution||open => fixed|