GSoC 2020 - Saved game manager for RetroPlayer - Printable Version +- Kodi Community Forum (https://forum.kodi.tv) +-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32) +--- Forum: Kodi Application (https://forum.kodi.tv/forumdisplay.php?fid=93) +---- Forum: GSoC (https://forum.kodi.tv/forumdisplay.php?fid=299) +----- Forum: GSOC 2020 (https://forum.kodi.tv/forumdisplay.php?fid=301) +----- Thread: GSoC 2020 - Saved game manager for RetroPlayer (/showthread.php?tid=352202) |
GSoC 2020 - Saved game manager for RetroPlayer - NikosSiak - 2020-03-01 @garbear Hi, we were talking with velocity in the irc channel about this https://github.com/xbmc/xbmc/blob/master/xbmc/cores/RetroPlayer/savestates/SavestateDatabase.cpp#L105 method. I wanted to implement this to do some PR for my submission and I have a question about the purpose of the method, should this method just change the label of the save state or it should also rename the stored file. I understand that the way the file is stored will change but for now should I implement this method (and/or the delete method) RE: GSoC 2020 - Saved game manager for RetroPlayer - velocity - 2020-03-02 As mentioned on PM, it depends on how the save file and its meta data is going to be stored. @garbear regarding the project description - do we even need to create/interact with a db for this? Can't we use the filesystem? So like, have a specific dir structure with games as dirs and saves / thumbnails would be placed in there. Or do we need to store more information we can't easily store on the filesystem? RE: GSoC 2020 - Saved game manager for RetroPlayer - garbear - 2020-03-05 (2020-03-01, 23:31)NikosSiak Wrote: @garbear Hi, we were talking with velocity in the irc channel about this https://github.com/xbmc/xbmc/blob/master/xbmc/cores/RetroPlayer/savestates/SavestateDatabase.cpp#L105 method. I wanted to implement this to do some PR for my submission and I have a question about the purpose of the method, should this method just change the label of the save state or it should also rename the stored file. I understand that the way the file is stored will change but for now should I implement this method (and/or the delete method) @NikosSiak you're uncovering the history behind the current code. Back in 2012 I applied for google summer of code, got rejected, and built the project anyway 6 months later: https://github.com/xbmc/xbmc/pull/1562 The database ended up being too slow and I threw away the code. Then, in 2016, realized I could reuse the slow database for savestates, which are simple don't require much scale: https://github.com/xbmc/xbmc/pull/11034 You'll notice that https://github.com/xbmc/xbmc/pull/11034 was opened the minute after RetroPlayer was merged in https://github.com/xbmc/xbmc/pull/11022 I purposefully left a stubbed savestate database in the RetroPlayer PR. As a result, the diff of the savestate PR is a clean example of implementing the function you linked: https://github.com/xbmc/xbmc/pull/11034/files#diff-81cbcf1dcefad7e8b8f21bee08b196adR97 Hope that helps. RE: GSoC 2020 - Saved game manager for RetroPlayer - garbear - 2020-03-05 (2020-03-02, 01:22)velocity Wrote: @garbear regarding the project description - do we even need to create/interact with a db for this? Can't we use the filesystem? So like, have a specific dir structure with games as dirs and saves / thumbnails would be placed in there. Or do we need to store more information we can't easily store on the filesystem? I currently avoid a database and use the filesystem as described in https://github.com/xbmc/xbmc/pull/12434 . I consider this the MVP of filesystem usage. A year later I merged the .sav and .xml file using flatbuffers in https://github.com/xbmc/xbmc/pull/14209 I believe we can define a filesystem structure for all savable data, and then later introduce a thin database layer that indexes the saves. A further step could be to centralize saves in a single location, and allow exporting saves alongside the file, similar to how the video and music dbs can be exported. RE: GSoC 2020 - Saved game manager for RetroPlayer - NikosSiak - 2020-03-05 (2020-03-05, 08:05)garbear Wrote:I implemented the delete method for some PR but now I see you have already done that in the past so there goes my PR(2020-03-01, 23:31)NikosSiak Wrote: @garbear Hi, we were talking with velocity in the irc channel about this https://github.com/xbmc/xbmc/blob/master/xbmc/cores/RetroPlayer/savestates/SavestateDatabase.cpp#L105 method. I wanted to implement this to do some PR for my submission and I have a question about the purpose of the method, should this method just change the label of the save state or it should also rename the stored file. I understand that the way the file is stored will change but for now should I implement this method (and/or the delete method) RE: GSoC 2020 - Saved game manager for RetroPlayer - garbear - 2020-03-05 (2020-03-05, 20:00)NikosSiak Wrote: I implemented the delete method for some PR but now I see you have already done that in the past so there goes my PR The implementation I wrote uses a database wrapper I don't think we should use. And keep in mind, adding the delete method means it needs to be accessible from the GUI, so some UI/UX work is going to be needed. RE: GSoC 2020 - Saved game manager for RetroPlayer - NikosSiak - 2020-03-06 (2020-03-05, 23:23)garbear Wrote:(2020-03-05, 20:00)NikosSiak Wrote: I implemented the delete method for some PR but now I see you have already done that in the past so there goes my PR Yeah I know but I started from the function, do you suggest to start the UI/UX work now and if so can you direct me to the file/class that the menu of retroplayer is rendered. RE: GSoC 2020 - Saved game manager for RetroPlayer - garbear - 2020-03-11 (2020-03-06, 18:41)NikosSiak Wrote: Yeah I know but I started from the function, do you suggest to start the UI/UX work now and if so can you direct me to the file/class that the menu of retroplayer is rendered. From my experience, UI/UX work is incredibly difficult (but rewarding!) in Kodi, because the GUI and skinning engine is so massive. If you need a button, menu, dialog, or anything else in the GUI, ask me and I'll create a branch for you with the GUI element present and its implementation stubbed out. RE: GSoC 2020 - Saved game manager for RetroPlayer - NikosSiak - 2020-03-11 (2020-03-11, 01:23)garbear Wrote:great!! now another question... looking around the project to find the UI/UX for the in-game menu I came across this file and I saw the $LOCALIZE string so I searched for a strings file and found this files, but when I searched for the codes that the UI was using (e.g. 35224) they weren't there. So my question is are those truly the UI/UX or I was wrong and if so were are the strings?(2020-03-06, 18:41)NikosSiak Wrote: Yeah I know but I started from the function, do you suggest to start the UI/UX work now and if so can you direct me to the file/class that the menu of retroplayer is rendered. RE: GSoC 2020 - Saved game manager for RetroPlayer - black_eagle - 2020-03-11 @NikosSiak I believe the strings you are looking for are here. RE: GSoC 2020 - Saved game manager for RetroPlayer - NikosSiak - 2020-03-11 (2020-03-11, 11:47)black_eagle Wrote: @NikosSiak I believe the strings you are looking for are here.Thank you! RE: GSoC 2020 - Saved game manager for RetroPlayer - garbear - 2020-08-11 Test builds are now available! See the links in the development thread: https://forum.kodi.tv/showthread.php?tid=356366 RE: GSoC 2020 - Saved game manager for RetroPlayer - ShawnaCastro - 2022-07-22 Thank you for sharing useful information with me |