PromptForDevice deosn't prompt

Jan 7, 2011 at 1:37 AM

I have been trying for two days to get the prompt to select a storage device. I finally gave up and loaded the sample project, and it doesn't prompt me either.

I have a xbox360-S with 250GB drive and an external 500GB. When I play comercial games I do get the prompt to select the storage device and I can play media from the external drive so I know my device is working properly.

Oct 21, 2011 at 6:23 PM

I have this same issue using a PlayerSaveDevice.

In SaveDevice.Update, when the device is disconnected, the state is always set to none, so it bypasses the switch block to prompt for another device.

This is the code I'm using to select the responses to disconnects..

 

EasyStorageSettings.SetSupportedLanguages(Language.English);

            PlayerSaveDevice playerSaveDevice = new PlayerSaveDevice(e.PlayerIndex);
            ScreenManager.Game.Components.Add(playerSaveDevice);

            saveDevice = playerSaveDevice;

            playerSaveDevice.DeviceSelectorCanceled += (s, te) => te.Response = SaveDeviceEventResponse.Prompt;
            playerSaveDevice.DeviceDisconnected += (s, te) => te.Response = SaveDeviceEventResponse.Prompt;
            playerSaveDevice.PromptForDevice();
            playerSaveDevice.DeviceSelected += (s, te) =>
                {
                    GlobalSaveData.SaveDevice = (SaveDevice)s;
                    StartNewGame(s, e);
                };

 

I think it might be an issue with the playerSaveDevice, so I'm going to rip it all out and try using the standard save device (saves are shared across all profiles). I'll have to add in a way to have more than 1 save file so different profiles don't overwrite each other. Never had this problem with my previous game.

Nov 28, 2011 at 9:53 AM

"In SaveDevice.Update, when the device is disconnected, the state is always set to none, so it bypasses the switch block to prompt for another device."

I was having this issue, but I realized what was actually happening is that the Xbox will automatically pick a device if there is only 1 device remaining. So if you have a HDD and a Memory card plugged in, set the card as the device, and then unplug the card; EasyStorage will warn the user about having to select a new device and then quietly disappear, as it's now chosen the HDD without informing the user because it was the only storage device remaining. It's actually working as intended, although the prompts could make this more clear.

Another similar issue that was giving me strokes is that--while the Xbox will save your game to the HDD regardless of where your XNA Creators Club app is located--if you put the Creators Club app on a memory card and then remove that card at any time while running a deployed game, the game will exit without any errors thrown. To fix this, don't ever use the Creators Club app from the memory card.

I realize this discussion is probably long-dead, but I hope this info will save other people who find it in the future.

Nov 28, 2011 at 10:09 AM
joyeux wrote:

"... the Xbox will automatically pick a device if there is only 1 device remaining. So if you have a HDD and a Memory card plugged in, set the card as the device, and then unplug the card; EasyStorage will warn the user about having to select a new device and then quietly disappear, as it's now chosen the HDD without informing the user because it was the only storage device remaining"

That makes sense, I remember it still prompted the user but you've made me think it could be because of the settings I've chosen, I think in my previous project I forced the user to select a device, rather than just prompt when disconnected. I'll change them and see what happens, hopefully will solve the issue.

Thanks very much, it was actually really helpful as I hadn't got around to sorting that problem out yet!