Memory Device Selection Fail

Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.

A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.

Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!

Clickteam.
  • Hi my game Nessie is currently 50 percent through peer review. One of the members who reviewed it said this

    Sorry, had to fail it due to a Code 4 and requirement to use the first controller.

    - When starting with a hard drive and USB stick plugged in, I was forced to switch from the second controller to the first controller to handle memory device selection.
    - At the conclusion of the gameplay itself, I was presented with a high score screen. I was forced to, once again, switch from second to first player to handle the input. I chose to not enter a name and just hit "B" to exit out of this screen. This caused a Code 4. After reentering the game, the score was still listed in the high scores and was assigned to the profile signed into the second controller.

    Now correct me if I'm wrong but the memory device selector stuff is handled by the exporters code not mine. If this is the case we will need a fix please.

    -Thanks

  • No, this is a fault at your end.

    You must monitor and track which controller is in use for the game and use that when corresponding to Opening Marketplace and Device Selector. I am assuming if you've got this far you must be used to XNA now, however I can confirm that you need to show device selector per player not just once for controller 1.

    If the device selector or your controller input is not corresponding on the selected pad then you are not tracking the joypad in the correct manner. I would recommend checking out ColeJ's device handling example.

    I can only confirm this because my game uses input from a possible 4 controllers and each one works individually as it should.

    Game Launcher Creator V3 - Please login to see this link.
    Bespoke Software Development - Please login to see this link.
    Learn Clickteam Fusion 2.5 - Please login to see this link.

    Danny // Clickteam

  • I did use ColeJ's method of handling controllers. However I did not make the code that brings up the device selector if there is multiple memory units. The only thing MMF2 has is the action to bring up memory device selector. Which appears to be useless since we can't check if how many memory units they have or if it gets pulled etc. MMF2 automatically brings up the device selector if there is multiple memory units. Unless I have missed out on some option or check box somewhere to turn this off or something.

  • Just to be clear part 2 of that members fail about the high-scores. That was on my end and I fixed that. (forgot to un check the "check on start" on my second leader-board). I am only asking about the device selector.

  • Those30Ninja's - That is strange. The device storage selector is all automated. What I do is; check for profile login (user presses Start) to detect pad in use and in same action as setting joypad in use I call the 'Player Sign In' and 'Show Device Storage Selector'. The device storage selector is global whilst the game is in use.

    If the user pulls an MU mid-game it will revert to HDD as to not cause any crashes. You will need to update to the latest BETA 34 to achieve this. See the XNA Owners Lounge.

    Game Launcher Creator V3 - Please login to see this link.
    Bespoke Software Development - Please login to see this link.
    Learn Clickteam Fusion 2.5 - Please login to see this link.

    Danny // Clickteam

  • I updated to beta 34. The device selector still is automated and appears when there is more than one device. It still cannot be controlled by anything other than the first controller. Are you able to control the device selector with other controllers in your game?

  • Yes, you need to call the sign-in screen for 4 players, this allows you to then set joypad in use and profile(index) in use. THEN call the storage selector this will reflect the chosen player index.

    Game Launcher Creator V3 - Please login to see this link.
    Bespoke Software Development - Please login to see this link.
    Learn Clickteam Fusion 2.5 - Please login to see this link.

    Danny // Clickteam

  • Please login to see this attachment.

    So here is my code on my first screen here. Before this code even starts the device selector is automatically brought up if there is more than one device. From my understanding the "open storage device selector" wont do anything if it has already been brought up.

    Thank you for all your help by the way.

    Man that image is small...

  • You need to 'set system player' (XNA object) to the correct player. This tells the game which profile the ini is going to use, and hence which profile's storage selector to bring up. That code should be in my tutorial.

    Creator of Please login to see this link. & Please login to see this link.. Always working on some exciting game development projects! Check out the latest at : Please login to see this link.

    Follow me on twitter Please login to see this link.

  • Ok maybe I'm not being clear here. BEFORE any of my code executes BEFORE I can even set the system player based on a button press exactly how it is in colej_uk's example. The Device selector is AUTOMATICALLY brought up when there is more than one memory device. I see no option to prevent it from doing this before I get a chance to set the player index to the correct player with my code based on the button press. It seems like I must be missing something really obvious here that I'm doing wrong. My Code looks identical to your example Cole. Have I missed some check box somewhere?

  • Those30Ninjas - then something is definitely not right somewhere. Mine only displays once I have told it to display and that is AFTER the Press Start to define which joypad is in use. It shouldn't show until you specify it with the 'Show Storage Selector' option which should be after you have defined what system index is being used.

    Are you reading/writing any kind of file BEFORE which could potentially trigger it to automatically show?

    Game Launcher Creator V3 - Please login to see this link.
    Bespoke Software Development - Please login to see this link.
    Learn Clickteam Fusion 2.5 - Please login to see this link.

    Danny // Clickteam

  • Ah yes- using an ini object will bring up the device selector automatically as it will need somewhere to write to. You actually don't *need* to do it with an event. So set up the controller stuff before the frame with an ini.

    If I recall in my code I don't use the 'open storage selector' command for said reason.

    So what's happening is that your frame includes an ini so it opens the storage selector right away, before your game gets a chance to sort out all the controller stuff. Hope that makes sense :)

    Creator of Please login to see this link. & Please login to see this link.. Always working on some exciting game development projects! Check out the latest at : Please login to see this link.

    Follow me on twitter Please login to see this link.

    Edited once, last by colej_uk (September 10, 2012 at 10:03 PM).

  • Excellent. Glad you got it sorted dude.

    I'll review your game when it's back up.

    I have InterGalaXia in Peer Review at the moment and would appreciate a push for a pass :)
    Please login to see this link.
    Please login to see this link.

    Game Launcher Creator V3 - Please login to see this link.
    Bespoke Software Development - Please login to see this link.
    Learn Clickteam Fusion 2.5 - Please login to see this link.

    Danny // Clickteam

  • This happens as you use an INI object in the very first frame of your application.

    When the objects are created (when the frame is initialized), they call the device selector to know on what they should be saving data.

    The only solution for you is :
    - Make a menu frame without a INI object. In this frame you should discover which gamepad is connected (by detecting which player presses OK / PLAY, or moves the menu)
    - Once you have this information, use the XNA object "Set system player" action, transmitting the number of the player that has the game pad.
    - Then you should call the "Open storage container device" action

    Il will create a documentation about this. I wanted to do that for month, and never went to it. I see that it gets more and more urgent...

    Francois
    PM: Please login to see this link.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!