RetroPlayer Test Builds (updated for Nexus) - Printable Version +- Kodi Community Forum (https://forum.kodi.tv) +-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33) +--- Forum: Game support (https://forum.kodi.tv/forumdisplay.php?fid=292) +--- Thread: RetroPlayer Test Builds (updated for Nexus) (/showthread.php?tid=173361) Pages:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
|
RE: RetroPlayer Test Builds (updated for Krypton) - MrTarantula - 2016-05-05 Like garbear said, creating API's are free, implementation can come later, or never if there's no interest. Better to have it and not need it than to need it and have to "hack it in" later. RE: RetroPlayer Test Builds (updated for Krypton) - Scourge - 2016-05-05 (2016-05-04, 10:25)zag Wrote: Shouldn't we try to get retro player merged before starting on things like save game managers? Save states are core functionality, AFAIC. Many retro gamers I know play games like secret of Mana, Metroid and Zelda. Those games are severely crippled by the lack of saves. Realization of save states will help adaptation. RE: RetroPlayer Test Builds (updated for Krypton) - Montellese - 2016-05-05 (2016-05-05, 10:34)Scourge Wrote:(2016-05-04, 10:25)zag Wrote: Shouldn't we try to get retro player merged before starting on things like save game managers? Yes but people are already asking to be able to sync them between instances and all kinds of other fancy stuff that is not really needed for the basic gaming experience. IMO in a first step the save games should just be stored in kodi's userdata like everything else in Kodi. Then when all kinds of other bugs in RetroPlayer have been fixed and it is ready to be merged we can start looking into more fancy stuff again. RE: RetroPlayer Test Builds (updated for Krypton) - Scourge - 2016-05-05 Agreed. Basics first. Fancy stuff comes later. RE: RetroPlayer Test Builds (updated for Krypton) - Montellese - 2016-05-05 Some feedback from testing with your retroplayer-17alpha1 branch: Starting a SNES game with Beetle bSNES fails with the following log message: Code: Debug Print: RetroPlayer: Opening: E:\Media\Games\ROMs\snes\Super Mario World.smc NES games work but sometimes the Mario sprite vanished for a few seconds and then re-appeared. Never had this before. Next problem is that after having played a game for platform A input only ever works for that platform (but independent of the actual emulator). So when first playing a NES game and then switching to an SNES game input isn't handled and the following error appears: Code: Debug Print: Button [ 0 ] on Xbox 360-compatible controller released Code: Debug Print: Button [ 7 ] on Xbox 360-compatible controller released In general it feels like there's a noticeable delay between me pressing the button on the controller and the action actually happening in the game emulator which often leads to jumping over blocks instead of onto them in Super Mario games. RE: RetroPlayer Test Builds (updated for Krypton) - OmniBlade - 2016-05-05 Input latency can be a major issue with emulators, over on the libretro forums a few people have obsessed over testing which settings give the lowest input latency. Getting a low latency experience I would say would be an important aspect of RetroPlayer to get the experience as close as possible to the original consoles. RE: RetroPlayer Test Builds (updated for Krypton) - Montellese - 2016-05-05 I created an issue in the beetle-bsnes-libretro repository at https://github.com/libretro/beetle-bsnes-libretro/issues/3 concerning the failure of MDFN_MakeFName(). It also seems to apply to beetle-gba-libretro but there seems to be a better implementation available in the general mednafen repository (see https://github.com/libretro/mednafen-git/blob/master/src/general.cpp#L285). RE: RetroPlayer Test Builds (updated for Krypton) - OmniBlade - 2016-05-05 Most of the beetle cores seem a bit unloved when there are alternate emulator cores that are as good or better in the libretro repos, I guess most people would just use bsnes-mercury instead or even the snes9x core, so issues like this would tend to go unreported even if they affected retroarch. RE: RetroPlayer Test Builds (updated for Krypton) - flipside101 - 2016-05-05 Ignore me Sent from my D5803 RE: RetroPlayer Test Builds (updated for Krypton) - garbear - 2016-05-09 The new Savestate manager is done. Builds are uploading now RE: RetroPlayer Test Builds (updated for Krypton) - Serg86 - 2016-05-10 I have a few issues not listed in the first post: - Current build (May 9th) doesn't bring the game to front when you start it. - (Only tested NES & SNES games) Aspect ratio is wrong. On a 1920x1080 display, the width is approximately 200 pixels less than it should be for 4:3. Not sure if these measurements are accurate as I don't know if the game displays black pixels on either side, but first coloured pixel to last, measuring a screenshot with Gimp resulted in 1234x1080. 1440x1080 is the correct resolution for 4:3 content. Playing around with the video settings of 4:3 content changes the game display as well. ~17% blackbar reduction acts as a workaround, it puts it very close to the correct aspect ratio. - I use an iBuffalo Classic USB SNES Gamepad. The DPad is recognized as 2 axis rather than individual buttons, which is fine, except currently, axis on NES cores are used for rewind and fast forward. I can play without issue if I disable rewind. It also has no Guide button. Which brings me to a suggestion. If it's not on your todo list yet, please consider mapable hotkey combinations. Recalbox has a, in my opinion, fairly elegant solution out of the box. They use the guide or PS button on controllers which have it. Using the DualShock3 as an example, PS Button + Start exits the game. PS Button + Cross opens the Retroarch menu and a few others. The SNES controller doesn't have a guide button, so the select button is used instead. This would solve another issue with controllers such as these. If you play an SNES game with an SNES controller, because all buttons are used for gameplay, you can't get out of the game unless you have a different input device hooked up. I know this issue is not really that big, since most people have something else to control Kodi with, but it's nice to move from game to game without putting down the pad. Hotkey combinations would solve that. In the settings, you could set one hotkey, then a separate button for every function you desire. RE: RetroPlayer Test Builds (updated for Krypton) - garbear - 2016-05-10 (2016-05-10, 02:36)Serg86 Wrote: - Current build (May 9th) doesn't bring the game to front when you start it.What game? What core? can you post a debug log? (2016-05-10, 02:36)Serg86 Wrote: - (Only tested NES & SNES games) Aspect ratio is wrong. On a 1920x1080 display, the width is approximately 200 pixels less than it should be for 4:3. Not sure if these measurements are accurate as I don't know if the game displays black pixels on either side, but first coloured pixel to last, measuring a screenshot with Gimp resulted in 1234x1080. 1440x1080 is the correct resolution for 4:3 content. Playing around with the video settings of 4:3 content changes the game display as well. ~17% blackbar reduction acts as a workaround, it puts it very close to the correct aspect ratio. Can you post a debug log? In it, you will see: Code: 2016-05-09 18:19:09.158 Kodi[9079:303] Debug Print: GAME: --------------------------------------- The core has a resolution of 256x239, which is an aspect ratio of 1.071129707112971. Does that solve the mystery of your missing pixels? Can you use the "zoom" action to resize the game to fullscreen? (2016-05-10, 02:36)Serg86 Wrote: - I use an iBuffalo Classic USB SNES Gamepad. The DPad is recognized as 2 axis rather than individual buttons, which is fine, except currently, axis on NES cores are used for rewind and fast forward. I can play without issue if I disable rewind. It also has no Guide button. How did you map the dpad to the main controller? The debug log contains all input, so this might show us what's wrong. (2016-05-10, 02:36)Serg86 Wrote: Which brings me to a suggestion. If it's not on your todo list yet, please consider mapable hotkey combinations. Recalbox has a, in my opinion, fairly elegant solution out of the box. They use the guide or PS button on controllers which have it. Using the DualShock3 as an example, PS Button + Start exits the game. PS Button + Cross opens the Retroarch menu and a few others. The SNES controller doesn't have a guide button, so the select button is used instead. The button mapping process is split into two parts: everything is mapped to a 360 controller, then the 360 controller is mapped to Kodi actions. Only the 360-controller mapping can be changed in the GUI (by configuring the "Kodi" controller). The 360-to-Kodi-action translation is controlled by joystick.xml. What this means is that we can have a "meta" button that allows input to escape the game and be passed to joystick.xml. We can use both the Select and Guide/PS buttons to cover all controllers. A setting in Game Settings can also allow combos to be mapped to "meta", so the user could escape actions by pushing both triggers. That way, the user can only configure which buttons are "meta", but they'll have to modify joystick.xml to change the Kodi action. RE: RetroPlayer Test Builds (updated for Krypton) - Serg86 - 2016-05-10 (2016-05-10, 03:37)garbear Wrote: The core has a resolution of 256x239, which is an aspect ratio of 1.071129707112971. Does that solve the mystery of your missing pixels? Can you use the "zoom" action to resize the game to fullscreen? Yes, the width is too low, it should be 320x240 for 4:3. None of the modes help, because they either zoom in way too much without changing the aspect ratio or stretch it to 16:9, which is horrible for 4:3 games - or anything for that matter, in my opinion. (2016-05-10, 03:37)garbear Wrote: How did you map the dpad to the main controller? The debug log contains all input, so this might show us what's wrong. I mapped the available buttons, didn't press anything during the ones my controller doesn't have and let it count down to abort. (2016-05-10, 03:37)garbear Wrote: The button mapping process is split into two parts: everything is mapped to a 360 controller, then the 360 controller is mapped to Kodi actions. Only the 360-controller mapping can be changed in the GUI (by configuring the "Kodi" controller). The 360-to-Kodi-action translation is controlled by joystick.xml. Is it possible to only activate a Kodi action via combination? What I mean is, pressing Select on it's own will be used for the game, pressing and holding Select + another button performs a Kodi action. During gameplay that is, obviously having to hold Select to navigate Kodi would be a bad user experience, to say the least. Defaults are great, but a GUI to configure them on top of good defaults would be ideal. What I would like is something like this: It would just list all the different controller types you connected and make them configurable. Behind the scenes, the "Use hotkey + key" toggle above would either create a hotkey+button combo for all the actions, or map the buttons directly. I still have an N64 controller lying around, I'll buy one of those USB converters at some point. It doesn't have a select button. The next logical choice would probably be L or Start, Z is often used in combination with other buttons, so it's a bad choice. PS: I watched Icculuses SDL talk as well, so I get what you mean by everything is an Xbox 360 controller . RE: RetroPlayer Test Builds (updated for Krypton) - garbear - 2016-05-10 (2016-05-10, 05:35)Serg86 Wrote: Yes, the width is too low, it should be 320x240 for 4:3. None of the modes help, because they either zoom in way too much without changing the aspect ratio or stretch it to 16:9, which is horrible for 4:3 games - or anything for that matter, in my opinion. So the emulator is wrong? Not surprising. If emulators lie about their aspect ratio, we'll need to correct it somehow. And we'll need to avoid asking the user. Can you start collecting data about which cores need aspect ratio adjustments? (2016-05-10, 05:35)Serg86 Wrote: Is it possible to only activate a Kodi action via combination? What I mean is, pressing Select on it's own will be used for the game, pressing and holding Select + another button performs a Kodi action. Yes, this is what I aim to do. (2016-05-10, 05:35)Serg86 Wrote: And I have a few ideas. If we make both Select and Guide/PS A configuration GUI would be nice. The key is to keep it simple. Do we need a page of possible actions for every controller? I am picturing a single GUI setting called "Hotkey". Then, in the controller window, we could add a new controller profile called "Remote" with mediacenter commands: play, pause, etc. When the hotkey is pressed, Kodi translates the button to a remote instead of a SNES controller and sends the command to Kodi instead of the game. (2016-05-10, 05:35)Serg86 Wrote: The next logical choice would probably be L or Start, Z is often used in combination with other buttons, so it's a bad choice. I used Left Trigger + Right Trigger in my screen shot, but this is just an example. If the user doesn't want to sacrifice a single button, they can use a combo (like both triggers) so that each trigger could still be used individually. RE: RetroPlayer Test Builds (updated for Krypton) - Serg86 - 2016-05-10 The reason I suggested individual hotkey configurations for each controller type, is because I alone have 3 different controllers with different buttons available. My DualShock 3 and 4 have "Guide" buttons, my SNES controllers don't, so they need another button, Select. My N64 controller doesn't have a Select button. It's difficult finding one or 2 buttons every controller shares to serve as the hotkey(combo). If it's too difficult or time consuming to implement, I can certainly live without, as long as I can still do it in the config file, it's a set and forget kind of thing anyway. As for the cores, I'll start compiling a list as soon as I have a little more time. Do you want me to open a new thread or just post here? |