forum

osu!preferences : save your config

posted
Total Posts
10
Topic Starter
shARPII
Hello guys!

I thought a lot about doing this small tool and I decided to create it. The idea came when we had to handle a live tournament @ Japan Expo with peppy.
We saw that we were loosing a LOT of time because people wanted their exact configuration for everything and spent ~15 min to setup everythiing before we were able to start something.
Some people knew something was missing for this so here we are, osu!preferences !

Take a look to every boxes before downloading and thank you for using it! This is still a "beta-tool" so please, if something is wrong, just feedback everything in this thread!
If you have an idea about this tool, feel free to post here too!

Features :
  1. Saving your osu! configuration, skin
  2. Saving your mouse speed which is set on windows
  3. Saving your wacom settings (if you're using a wacom tablet) : use the "easy mode" to save your settings => nothing to do!
  4. Restoring anything you want between the osu! configuration, skin, mouse speed, wacom settings (check options)
  5. Launch osu! after restoring stuff you wanted

Warning (please read!) :
  1. YOU HAVE TO RUN OSU!PREFERENCES.EXE AS ADMINISTRATOR
  2. The old config is still saved with ".BU" at the end, if you want to restore the old one, just replace this one with the actual config.
  3. Your password is saved inside the config file (if you've saved it) so I remove it before saving to avoid account stealing (if someone use this tool on your computer). I think it was the best choice, I prefer this and add again my password when I launch the game instead of anything else.
  4. I allow to do an "automatic search" when you launch osu!preferences. This is still a test and may not work everytime! I think I'll remove it soon but I still leave it, it's easier for me right now.
  5. I've added 2 ways to save your wacom settings. The first one is safer and safe at 100% : you have to save the .tabletprefs before (which means more clicks). The second one is a little bit tricky and still in beta, it's nice if you can test it but wacom plugin will mby have some troubles. I think it's enough if versions are the same but I want to be sure it's 100% working before putting this as first choice.
    If a problem happens, just check WTablet folder, the old configs are still here with ".BU" at the end. Just delete the two files and remove ".BU" to the 2 others. (You'll have to restart the wacom service or restart your computer)

To Do List :
  1. Doing some tests on wacom versions
  2. Adding Trust tablets?
  3. Creating a .ini file to save settings (osu! directories, wacom stuff...) => avoid to search it everytimes
New version pushed on github, new release soon.
Github : https://github.com/shARPIII/osu-preferences

Seal of approval :


Versions :
  1. 1.1
    1. Check compression for .opref file
    2. ChatChannels and HighlightWords options if I want to delete it or not?
    3. Save windows mouse config and restore it
    4. Add version to the .opref files for each versions of the software
    5. Checking bounds of the primary screen (= check if osu! resolution is bigger than the one you have right now)
  2. 1.0
    1. Release

Download link :
Osu!Preferences.zip

- Marco -
When i said "yes" on searching osu! folder automatically it said failed to acces the Chrome CrashReports Folder O_o

Le informazioni su come richiamare il debug JIT (Just-In-Time) anziché questa finestra
sono riportate in fondo al messaggio.

************** Testo dell'eccezione **************
System.UnauthorizedAccessException: Accesso al percorso 'C:\Program Files (x86)\Google\CrashReports' negato.
in System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
in System.IO.FileSystemEnumerableIterator`1.AddSearchableDirsToStack(SearchData localSearchData)
in System.IO.FileSystemEnumerableIterator`1.MoveNext()
in WindowsFormsApplication3.Form1.Form1_Load(Object sender, EventArgs e)
in System.Windows.Forms.Form.OnLoad(EventArgs e)
in System.Windows.Forms.Form.OnCreateControl()
in System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
in System.Windows.Forms.Control.CreateControl()
in System.Windows.Forms.Control.WmShowWindow(Message& m)
in System.Windows.Forms.Control.WndProc(Message& m)
in System.Windows.Forms.ScrollableControl.WndProc(Message& m)
in System.Windows.Forms.ContainerControl.WndProc(Message& m)
in System.Windows.Forms.Form.WmShowWindow(Message& m)
in System.Windows.Forms.Form.WndProc(Message& m)
in System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
in System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
in System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Assembly caricati **************
mscorlib
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.18444 built by: FX451RTMGDR
Base di codice: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
osu!Preferences
Versione assembly: 1.0.0.0
Versione Win32: 1.0.0.0
Base di codice: file:///E:/osu!Preferences/osu!Preferences.exe
----------------------------------------
System.Windows.Forms
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.18408 built by: FX451RTMGREL
Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.18408 built by: FX451RTMGREL
Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.18408 built by: FX451RTMGREL
Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
mscorlib.resources
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.18408 built by: FX451RTMGREL
Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_it_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Windows.Forms.resources
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.18408 built by: FX451RTMGREL
Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_it_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** Debug JIT **************
Per abilitare il debug JIT, è necessario impostare il valore
jitDebugging nella sezione system.windows.forms del file di configurazione
dell'applicazione o del computer (machine.config).
L'applicazione inoltre deve essere compilata con il debug
abilitato.

Ad esempio:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

Quando il debug JIT è abilitato, tutte le eccezioni non gestite
vengono inviate al debugger JIT registrato nel computer,
anziché essere gestite da questa finestra di dialogo.
Topic Starter
shARPII
Yolo.
Yeah I wasn't able to reproduce this shit, just select 'no' and select your osu!.exe file.
In fact, when you press yes, it'll check every folders in program files but it seems it crashes if I'm not allowed to read a folder...
(dunno if it does the same thing if you execute it in administrator mode)

I won't be able to edit my code before 2 days so just press 'no' meanwhile :/

(thx for trying my tool btw o/)
Neil Watts
Tested and approved 8-)

Will be really useful for the next IRL meetings.

Here are some advices:

  1. Add a bit more compression for the .opref file?
  2. You will probably not be able to import the .tabletprefs/Wacom config file though 2 different tablet models. You should let your program check the tablet versions before restoring the preferences. You can use <TabletName> inside Pen_Tablet.dat :
    <TabletName type="string">Bamboo (CTH-470)</TabletName>
  3. For the osu!config file, you should remove the data for "ChatChannels" and "HighlightWords" parameters because I think they should stay "private".
  4. You should add a function to retrieve the windows mouse config (the first box of this screenshot).
  5. Maybe add a version number?
Very good job anyway, after some improvements, I'm sure that everybody will use your program. :D
- Marco -
For the Trust preferences data i only round %appdata%/.mono which contains a Trust folder but it contains nothing. I don't know where it saves preferences :c
Totoro le Pacha
Eh ben écoute, ça marche nickel pour moi !

D'ailleurs, j'ai vu que ton "Search for osu! automatically" ne marche pas. Si t'as pas d'idée de comment procéder, voici une petite astuce :

http://lenewbie.com/2014/02/20/liste-lo ... s-windows/
http://www.pcastuces.com/pratique/astuces/3806.htm

Tu répertories tous les programmes installés ainsi que leur chemin. Normalement, c'est dans cmd, mais je sais pas comment tu t'y prends en C#.
Quelque chose qui marcherait, bien qu'un peu barbare, c'est que ton programme dise au shell de stocker l'output du cmd dans un fichier texte temporaire. Back to le programme, il va va chercher la ligne d'osu dans le fichier temporaire, et choper son emplacement.

Ce n'est qu'une idée. ~ Je n'utilise pas de tablette, donc je peux pas voir pour ça. Pour le skin, les touches, et la res', tout est restauré. Bien joué ! o/ Ca t'as pris combien de temps juste pour savoir ?
Avail_old_1

shARPII wrote:

Yolo.
Yeah I wasn't able to reproduce this shit, just select 'no' and select your osu!.exe file.
In fact, when you press yes, it'll check every folders in program files but it seems it crashes if I'm not allowed to read a folder...
(dunno if it does the same thing if you execute it in administrator mode)

I won't be able to edit my code before 2 days so just press 'no' meanwhile :/

(thx for trying my tool btw o/)
Read the registry for the osu! install directory. My game is outside program files so that wouldn't really work.
I'll tell you the registry path for osu! once I boot Windows.

Edit: Hmm, the osu! thing only shows the uninstall key ; - ;
Neil Watts
If you can't tell the registry, try to remove the spaces in the directories name, like this:

list_dir.Add(drive_name.Name + "ProgramFiles(x86)");
list_dir.Add(drive_name.Name + "ProgramFiles");
Topic Starter
shARPII
Hey I'm back o/
It's time to answer to everyone and fixing a lot of stuff tonight :3

Neil Watts wrote:

Here are some advices:

  1. Add a bit more compression for the .opref file
    Yeah why not, I think I'll put this on my to do list ^^?
  2. You will probably not be able to import the .tabletprefs/Wacom config file though 2 different tablet models. You should let your program check the tablet versions before restoring the preferences. You can use <TabletName> inside Pen_Tablet.dat :
    <TabletName type="string">Bamboo (CTH-470)</TabletName>
    I think that plugin versions aren't the same because you have different plugins for each tablets. If someone got a problem with it, just leave something on the thread and I'll look closer
  3. For the osu!config file, you should remove the data for "ChatChannels" and "HighlightWords" parameters because I think they should stay "private".
    Dunno, I think we should have a discussion about it. Or I'll put an option to check/uncheck if you want to save it.
  4. You should add a function to retrieve the windows mouse config (the first box of this screenshot).
    Oh really nice Idea, I'll check this asap!
  5. Maybe add a version number?
I guess it wasn't really useful for the first one but yeah, I'll need to do it imo.

marcostudios wrote:

For the Trust preferences data i only round %appdata%/.mono which contains a Trust folder but it contains nothing. I don't know where it saves preferences :c
Ok, for now I'll put this as a minor thing to add but I'll check how it's working meanwhile.

Totoro le Pacha wrote:

D'ailleurs, j'ai vu que ton "Search for osu! automatically" ne marche pas. Si t'as pas d'idée de comment procéder, voici une petite astuce
Pas con! Je vais essayer de voir vers là mais, ce dont j'ai peur, c'est que si j'ai 4 instal sur le PC, il va pas toutes les détecter (voir peut être aucune vu que le jeu marche un peu comme un truc portable, donc je sais pas s'il est référencé quelque part sur le PC)
Par contre ce truc là va peut être m'aider pour détecter Wacom ou Trust donc je garde ça sous le coude!

Edit : bon ben rien du tout, mais j'ai une autre idée pour chopper wacom qui à l'air bien mieux plutôt que l'utilisateur cherche lui même.

Totoro le Pacha wrote:

Ca t'as pris combien de temps juste pour savoir ?
Une dixaine d'heure environ le temps de faire quelques recherches. C'est pas super optimisé, je compte le faire prochainement ^^

Avail wrote:

Edit: Hmm, the osu! thing only shows the uninstall key ; - ;
Yeah I already tried ^^ as I said to Totoro, osu! is working like a portable version of a software so you won't find a lot of informations here.

Neil Watts wrote:

If you can't tell the registry, try to remove the spaces in the directories name, like this:

list_dir.Add(drive_name.Name + "ProgramFiles(x86)");
list_dir.Add(drive_name.Name + "ProgramFiles");
No it's ok, the only problem is that the software stops searching when he reaches a folder he's not allowed to read. With this, he'll just skip it because "ProgramFiles" doesn't exists ^^

-------------------------------------------------
Thank you all, I edited my To Do List and I'll work on it tonight o/
Topic Starter
shARPII
(Sorry for double post o/)
Version 1.1 is out, if you were using the 1.0 version, please delete all .opref files and download the new version!
Please sign in to reply.

New reply