Jump to content

Recommended Posts

Posted

Hello Tux and Raine users.
I see good improvements being done in Raine.

Raine has an good game list allowing correct scroll.
An Favorites Game List is an good feature.
I not understand if is simple to coding adding it.

Have an nice week.

Posted (edited)

Hello Augusto! I like this idea, especially because we generally have much more roms than time to play them, unfortunately. So we generally end up playing just a few games and, in my case, mostly the same ones.

But instead of a "favorites" game list, what do you think about a "Recent ROMs" or "Recent files" list being placed right below the "Options" in the Rom selection menu? Then as soon as we opened a new rom it would show in this "folder" and the folder would automatically place at the top the most recently played game.

Here are some examples of how some emulators have introduced this feature:
https://imgur.com/a/Y13qvNf

Let's see what Tux thinks about this! 👍

Edited by mer-curious
  • 3 weeks later...
Posted (edited)

I am not super convinced for now, you should at least know the names of the games you prefer, and then accessing them in the list is very fast by typing the 1st letters of their names.

Adding some code to count either the number of times a game was used or even worse for the gui a separate list for favorited stuff would be quite some work, and not sure it's worth it. It could be interesting to keep some info on how many times/how much time a game was played though, I just have to think of something to display it without overloading what is already displayed, plus then test how / where to save this info (every time a game is changed / the emulator window is closed, then in which config file).
So well, not so easy, maybe later, I'll think about that.

Edited by Tux
  • Like 1
Posted

On 2nd thought I can have these stats and merge them in the game selection dialog without too much trouble, I'll try that soon (the rain is back in the area, it helps a lot !).

  • Like 1
Posted (edited)

Ok done. The game selection dialog now displays the 5 most played games at the top (in the header, which is now separated more clearly from the main dialog), sorted by play time. The number of times a game is loaded and how much time it's played are tracked (watching the game intro behind the menu is not considered playing time !), and it's tracked even if you close the window without using the quit command.

All this is saved in a new file "stats" in the savedata directory, the contents is ascii but it's not supposed to be edited by the user. Games stats are stored by the short name of the game, which means that if a game is renamed for its short name the stats are lost (it happens almost never in raine anyway).

Neocd games are not supported, only arcade games (well neocd games are not even loaded from this dialog so it would be quite a problem, and they don't have a real short name), the picture behind the game selection dialog is not updated when selecting one of this favorite games in the header because it's not worth the effort and it would make some duplicate code, and I don't like that. 5 only for now, because the header doesn't handle any scrolling bar and can't scroll its content, it should be enough for a start anyway.

I'll test this a little more, but it seems good now (fixed some bugs related to the header display at the same time).

Edited by Tux
  • Like 2
  • 3 weeks later...
  • 2 weeks later...
Posted

Hello Augusto and Tux!

I have finally used this feature for some time now and I guess I can share some feedback on that:

- It looks to me that the recently opened games list inside the game selection list works better when we use Raine in full-screen mode, as in here:

2NMd87m.png

- If we use it in windowed mode, especially in the default window size, the menu gets a little visually confusing:

zyBCFn1.png

- I don't pay much attention to the amount and number of times that I've played a game. What is important to me is keeping track of the games that I've opened, from the most recent to the oldest one. Also, sometimes I am just testing some stuff in a game or checking it to see if I'm in the mood of playing it and it looks like this time is also marked as "playing time", no? So this information becomes a little misleading in the end. For me, it could be discarded or marked as optional to be shown in the menu.

- I know that we haven't been able to play as many games as we wanted, but we can eventually end up playing more than five games occasionally, so this feature would not allow to keep track of all those games as of now.

For all the issues I have reported above I think it would be better to have a "Recent games" list inside the game selection list if possible. This would probably resolve the menu visual organization in any resolutions and also allow for more games (perhaps an infinite number?) to be recorded as opened.

These are my impressions for now.

Thank you so much in advance for your attention.


PS: While capturing the above screenshots I have noticed that the GUI background effect is not maximized with the window when we click on "Maximize" already in the game selection dialog. You can check the result above. Is this a glitch?

Posted

 - the confusing look at reduced size : well it's mainly because there are games which are way too long, the solution would be to cut some part of ti, but anyway since the most important part is at the beginning it's still usable.

 - the times you don't like : no luck, I quite like them. Yeah what is counted is more the game usage than the actual play time because it's impossible to know when the player is actually playing, but I find the info quite fun to have sometimes. For me my current record is 1 hour 29 on battle bakraid, it's because of the time when I searched for its hiscore, it took more time than what I thought !!! Also if you reach 24 hours, it starts to count the days, let's see if someone reaches such an insane time... ! (well when you see the insane records some people have for the official hiscore records, yes they spent some insane amount of time on these games for sure !).

But yes I agree, an option to choose between recent games and most played could be handy, I'll try to add that for next time (but of course since currently the time a game was last played is not tracked this will start from scratch next time).

The effect misaligned because you changed the size of the window while the dialog was already opened : yeah super minor glitch, might take a look or not, it's super minor at this level, most people will never see that.

  • Like 1
Posted
7 hours ago, Tux said:

But yes I agree, an option to choose between recent games and most played could be handy, I'll try to add that for next time (but of course since currently the time a game was last played is not tracked this will start from scratch next time).

The effect misaligned because you changed the size of the window while the dialog was already opened : yeah super minor glitch, might take a look or not, it's super minor at this level, most people will never see that.

Hello Tux! Thanks for considering those changes.

Just to be clear, when I mentioned it would be better to have a "Recent games" list, my idea was to put a list inside the game selection list. So we would click on "Change/Load ROM" and below "Options" there would be this new option called "Recent games" and there the recently opened games in the order they were lastly opened (from the most recent on the top to the oldest on the bottom). I think this way we could be unlimited in terms of how many games to show because it would be a separate list from the "Available games" list. The way it currently is (two different lists piled up) do not allow that due to visual organization.

I'm OK in keeping the playing stats if you like it. I'm more concerned about the ease of navigation and the possibility of showing over five played games, which are currently the issues of this feature, I guess.

Thanks again for your continuing work. 👍

Posted (edited)

Ok, it's done, the list directly in the header of the game selection dialog is gone, instead you have now "Recent games" and "Most played games".

It displays the list in 2 columns with the times / number of times played on column 2, which means you won't see any of this 2nd column if using a vga window because these game names are way too long !!! But since the list is sorted, and you'll probably want the 1st entries anyway, it's ok even without seeing the times. Switch to fullscreen if you want to see them.

Also added an option to initialize the "recent games" from the access time of the files in savedata. It's the access time which is tested (last time the file was read), in a file selector it's usually the modification time you see, which is older.

And if the time becomes > 1 year, it counts in years and does not display days or times in this case because they don't have much meaning anymore.

This should finish this option for good this time, but it's right it needed some improvements !

It's pushed to git.

edit : on 2nd thought, limited the names of the games in these 2 dialogs to 40 characters max, much better readability.
Also the desktop is also resized now on windows resize events (the reason why the drawing was not updated behind the dialog after your window resize).

Edited by Tux
  • Like 1
Posted (edited)

Hello Tux! Thank you so much for implementing these changes.

I was thinking about some cosmetic changes in the GUI and would like to know if you agree with them.

- Change the term "ROM" to "game" in "Change/Load ROM", since the term "game" is used in "Game selection", "Load NeoCD game", "Available games", "Play game", "game inputs", "Save per game screen settings" and will also be used in "Recent games", so the reference will be more consistent.

- Capitalize "ROM" in "Rom directories" and "Rom dir".

- Change "Load game" and "Save game" to "Load state" and "Save state" to not create confusion with the real "load game" function of the emulator and to also use the term which is more widely adopted by emulators out there. Perhaps this would also require renaming the folder to "savestates"?

- Fix the alignment of the "Year" and/or "Category" info in the game selection list, as you see in the screenshot below:

zBSylhr.png

It seems that either "Year" is placed in the limit of the window or "Category" is a little too far from it. I don't know which one should be better aligned in comparison with the other information in the left.

- Rename "Always stop CD music while loading" to "Always stop NeoCD music while loading" to contextualize the usability of the option in Sound options.

- Do the same for "Mute SFX" (so, "Mute NeoCD SFX") and "Mute CD" (therefore, "Mute NeoCD music tracks").

- Capitalize "SFX" in "Sfx volume".

That's it! Maybe there are more, but for now this is what I found could be slightly changed in terms of the interface. Not a real difference, but perhaps it could help a little new Raine users using the emu, no?

Anyway, I'll wait your thoughts on those suggestions.

Thank you so much again for your work.

PS: I'm sorry Augusto to deviate a little the thread. It's just that Tux started to make some changes in the GUI here, so I thought I could also make these suggestions.

Edited by mer-curious
Posted (edited)

I'd say it's too bad you can't make a pull request on git, because all these changes are minor and wouldn't require any coding skill, they just require time and determination. For me all of this is minor, I might take a look, but it's quite boring, so motivation is very low. Plus changing a string here might break the translations, even if it's probably minor.

I was right to sleep on my changes for the "most recent" and most "played" games, I have some new idea on how to initialize the "recent games" the 1st time. I didn't do it first for the very rare cases where there might be a bad disk cache and initialization takes too much time. But it can be safety be done when raine is launched, and these settings updated only if there is not any info on "recent games" already saved, so even if there is a slow down it will happen only once, and here it's not even a slow down, I guess it will go unnoticed everywhere... So this option will disappear from the gui, and it will become automatic, much better !

edit : just did that, and fixed the category alignment issue you found. I had thought about that when creating the dialog first, and never looked at it twice actually, I just reserved the max width for it based on the longest game category we had, it doesn't show that much because it's a variable width font. Anyway now it just uses the actual width of the current category to display instead of that. Notice that for the info on the left there uses a margin, but I forgot the margin for the right aligned info ! I guess I'd better leave it like that for those with small screens anyway, eventually remove the margin on the left.

Edited by Tux
  • Like 1
Posted
3 hours ago, Tux said:

I'd say it's too bad you can't make a pull request on git, because all these changes are minor and wouldn't require any coding skill, they just require time and determination. For me all of this is minor, I might take a look, but it's quite boring, so motivation is very low. Plus changing a string here might break the translations, even if it's probably minor.

Hello Tux! Thank you for the fast reply.

I would be glad to help you in reviewing these little suggestions for the GUI. I've looked at the Raine code in GitHub and it looks like most of this information is on raine/source/sdl, right? So I just need to edit the text, create a pull request and then wait for your approval? Or is there something else to do?

 

3 hours ago, Tux said:

I was right to sleep on my changes for the "most recent" and most "played" games, I have some new idea on how to initialize the "recent games" the 1st time. I didn't do it first for the very rare cases where there might be a bad disk cache and initialization takes too much time. But it can be safety be done when raine is launched, and these settings updated only if there is not any info on "recent games" already saved, so even if there is a slow down it will happen only once, and here it's not even a slow down, I guess it will go unnoticed everywhere... So this option will disappear from the gui, and it will become automatic, much better !

I can't tell much about the new "Recent games" changes you made because I haven't tested it yet, but I think it's great that you found a better way to implement it. I'll let you know my impressions on it when I test it.

 

3 hours ago, Tux said:

I guess I'd better leave it like that for those with small screens anyway, eventually remove the margin on the left.

Yes, I also noticed this little margin in the left side of the window and I agree that it would be indeed better to remove it to match the other side. Anyway, just little changes that I've recently noticed and decided to report when looking for text to update in the GUI.

Thank you very much again for you continuing work.

Posted

Wow, it's rather bold to want to try to make a pull request without compiling... you are sure you don't want to compile, even without understanding the c code it should be possible and would make things easier for you. Anyway if you want to try, from memory steps are :

1) take a github account, I think you said you already have one to post comments
2) go to the raine page, and click the "fork" button on the top right, it will propose a name for the copy of the repository on your account, you can accept it, you have a copy in your account now.
3) go to the freshly made copy, and clone it to your disk, I don't think you can edit files directly from the interface of github at least, that's the point where it's much easier if you have the tools for that, usually it means installing git, which is installed by default if you install mingw32. After that you open a terminal, type git clone address where address is the address you get when you click on the big green button "clone" from github on your fork page. Visual studio probably also installs its version of git, but I find there are too many options everywhere in visual studio and it tends to be messy.

4) do your changes. Here again, it's easier if you have some dev tools, I use vim usually in linux but there are other tools in windows for that, I think visual c++ has a good interface to git, but I don't like to use it so I can't tell. These tools make things easy to locate something specific in the sources to change it. Without them, well the main menu is in source/sdl/gui.cpp, and all the other dialogs are in source/sdl/dialogs (the file names tell what is inside !). Your changes are only about changing some strings so it's possible to do it without compiling, but it's bold for sure.
5) commit your changes, it's about using the git commit command, it will ask you a description, validate the description, and it's good. Then git push to push your changes to github, they increased security on github recently so they require ssh keys or other strong methods of authentication for that, they have a dedicated page to explain that.
6) if you reached this point, it's done, you can use "pull request", I don't remember if it's on your fork or raine page, it must be on your fork, it looks at the recent commits and proposes some defaults to you, add eventually some description and it's done.

It would be quite a feat if you succeed to do that, so I'll be forced to accept it of course ! ;-) There are ways to view files from the interface but I don't think you can edit them from the github interface, but maybe I missed something. Good luck, if you fail I might look into this later... but if you succeed, you should really follow the tutorial on how to compile to be able to compile your version... !

  • Like 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...