Rinnegatamante / YoYo-Loader-Vita-Compatibility

Compatibility List for YoYo Loader Vita (https://github.com/Rinnegatamante/yoyoloader_vita)
22 stars 1 forks source link

Sonic Time Twisted [SonicTimeTwisted] #20

Open nad45 opened 2 years ago

nad45 commented 2 years ago

NOTE: IF YOU'RE SUBMITTING A REPORT FOR A GAMING HAVING ISSUES, PLEASE PERFORM A RUN WITH DEBUG MODE ON AND POST THE RELATED LOG FILE HERE!

Game summary

YoYo Loader summary

Issues

It runs well, few little slowdowns and 1 second visual glitches when changing the time period (like Sonic CD, the game uses time travel) The controls don't work, you have to use touchscreen and bonus stages can't be played cause it uses gyroscope but the game is open source, it maybe could be modified # Screenshots ![image](https://user-images.githubusercontent.com/42468542/162597356-b91e6a7b-aea1-47b4-9180-dfe5c9546d83.png) # Recommended labels

Playable

Rinnegatamante commented 2 years ago

Does the game originally have controls support? If so, try to run it with Fake Windows.

nad45 commented 2 years ago

Yes, you can normally use gamepad, you can choose in the option menu. I tried to run the game with fake windows but controls still don't work.

MDashK commented 2 years ago

Try to change the value input to method="2.000000" in the settings.ini (that is gamepad support in the game). If it works, with that, special stages should use buttons as well, not gyroscope.

nad45 commented 2 years ago

I didn't find the "settings.ini" file in the apk. Where is it?

MDashK commented 2 years ago

It's created when you run the game for the first time. It should be created in the save folder of the game.

nad45 commented 2 years ago

Thanks So i tried but it doesn't work. In fake windows mode and android mode

AndreDK7 commented 2 years ago

I found in the settings.ini file of the pc version this line:

[gamepad_controls] up="32781" down="32782" left="32783" right="32784" a="32772" b="32769" c="32770" start="32778"

It's related to gamepad mapping. I'm trying to see if i can find the codes for each Vita button to put in the settings.ini of YoyoLoader for this game.

MDashK commented 2 years ago

I don't think the newer versions of the game use that anymore. There used to be a 30 FPS mode as well. But it won't hurt to try. IF it works, this should work:

[gamepad_controls] c="32771" a="32769" left="32783" up="32781" down="32782" right="32784" b="32770" start="32778"

In the source code of the game, the above, means this (ignore the "save_control_map_gamepad"):

save_control_map_gamepad("up",gp_padu);
save_control_map_gamepad("down",gp_padd);
save_control_map_gamepad("left",gp_padl);
save_control_map_gamepad("right",gp_padr);
save_control_map_gamepad("a",gp_face1);
save_control_map_gamepad("b",gp_face2);
save_control_map_gamepad("c",gp_face3);
save_control_map_gamepad("start",gp_start);
AndreDK7 commented 2 years ago

I don't think the newer versions of the game use that anymore. There used to be a 30 FPS mode as well. But it won't hurt to try. IF it works, this should work:

[gamepad_controls] c="32771" a="32769" left="32783" up="32781" down="32782" right="32784" b="32770" start="32778"

In the source code of the game, the above, means this (ignore the "save_control_map_gamepad"):

save_control_map_gamepad("up",gp_padu);
save_control_map_gamepad("down",gp_padd);
save_control_map_gamepad("left",gp_padl);
save_control_map_gamepad("right",gp_padr);
save_control_map_gamepad("a",gp_face1);
save_control_map_gamepad("b",gp_face2);
save_control_map_gamepad("c",gp_face3);
save_control_map_gamepad("start",gp_start);

Tried here but didn't worked, with and without fake windows mode. I'll install this game on my phone and map a controller to see what happens if i put the settings.ini from my phone into Vita.

Edit: my phone can't run this game cause of his architecture.

nad45 commented 2 years ago

Since the new versions of the loader, the virtual stick is too low on the screen so the game can't be played with Revita cause the static virtual stick can't be used anymore. I tried to replace the stick on the menu but settings can't be saved cause the apply button seems offscreen. 1650039098841

Rinnegatamante commented 2 years ago

Did it use to render like this before or is something now?

nad45 commented 2 years ago

It renders normally only with the 0.1 version. Every updates I tried after that gave this render error

nkrapivin commented 2 years ago

Hello, one of the Sonic Time Twisted developer(s) here.

Due to various issues with GameMaker's controller support on Android (especially Studio 1), this game is using a custom extension written in Java that gives us more control over input methods, it was not written by me (see commit history) so I can't help with that.

Makes sense why input doesn't work, YYL can't emulate Java.

However, the game has support for the native PSVita runner, with native async stuff as per Sony's own guidelines. I highly suggest you use the Sony SDK + YYC + the "PlayStation" configuration in the project to run it. Last time I tested it was playing at a reasonable framerare, not 60 fps locked of course, but around 50 with drops to 30.

I'll probably upload a native PSVita vpk port somewhere, unofficially, later...

Cheers.

MDashK commented 2 years ago

Hello, one of the Sonic Time Twisted developer(s) here.

Due to various issues with GameMaker's controller support on Android (especially Studio 1), this game is using a custom extension written in Java that gives us more control over input methods, it was not written by me (see commit history) so I can't help with that.

Makes sense why input doesn't work, YYL can't emulate Java.

However, the game has support for the native PSVita runner, with native async stuff as per Sony's own guidelines. I highly suggest you use the Sony SDK + YYC + the "PlayStation" configuration in the project to run it. Last time I tested it was playing at a reasonable framerare, not 60 fps locked of course, but around 50 with drops to 30.

I'll probably upload a native PSVita vpk port somewhere, unofficially, later...

Cheers.

That would be awesome, thanks. :) I tried to compile the code myself, from the newest version to some older and oldest version, but the game always crashes, specially in the time transitions.

nad45 commented 2 years ago

Did it use to render like this before or is something now?

The issue is still here. Did you have time to look into the problem?

Nintorch commented 2 years ago

I found an issue with this some time ago Third (or so) zone crashes the game image image

Rinnegatamante commented 2 years ago

logs?

Nintorch commented 2 years ago

Did you mean the psp2core ... .psp2dmp file? (deleted) if not, where i can find the log files? EDIT: Here's the yyl.log file: https://drive.google.com/file/d/12HA0OFm0bUmNL1s-WQ1vLnxc1hSf0h--/view?usp=drivesdk

TheSmallBlue commented 2 years ago

Quick dirty hacky fixes for some of the issues listed here:

To fix the virtual stick and button being too low, go to data/gms/SonicTimeTwisted/assets/settings.ini and look for and change the following: Look for dpady and change its value to 150 Look for bay and change its value to 150 And also, to fix the pause button being smack dab in the middle of the screen, change bby's value to 164.

All this does is set the x and y position of each of the buttons. As you might've guessed, dpadx/y is for the dpad, bax/bay is for the button, bbx/y is for the pause button, and bsx/y for the super transformation button (which is fine as is). You can edit them to your liking, but what I put above makes em accesible.

I saw some people complain that special stages aren't playable, which makes no sense cus it detects the vita gyroscope just fine, but if it doesnt work for you simply go inside the actual game, options, touchscreen configuration, Special stage controls, and change "Input method" to "D-Pad". (To exit out of the menu simply drag your screen from left to right, an actual built-in back button hotkey of sorts should be added to the loader someday I hope.)

Finally, to use your controller instead of your touchscreen, you can use reVita. If you can't be bothered to set it up, below I've pasted the profile I use. For it to work correctly you have to have set the location of your d-pad and button to the ones I listed above.

To use this profile, create a file named YYOLOADER.INI on data/reVita/Profile, then copy paste the contents of this pastebin inside it: https://pastebin.com/SHhBQRp4

If the visual touch buttons bother you, you can change the opacity of them in the settings no problem. Do know that the stick that appears when you use the d-pad will always be fully visible though.

That should do it! Enjoy.

nad45 commented 2 years ago

Hello, one of the Sonic Time Twisted developer(s) here.

Due to various issues with GameMaker's controller support on Android (especially Studio 1), this game is using a custom extension written in Java that gives us more control over input methods, it was not written by me (see commit history) so I can't help with that.

Makes sense why input doesn't work, YYL can't emulate Java.

However, the game has support for the native PSVita runner, with native async stuff as per Sony's own guidelines. I highly suggest you use the Sony SDK + YYC + the "PlayStation" configuration in the project to run it. Last time I tested it was playing at a reasonable framerare, not 60 fps locked of course, but around 50 with drops to 30.

I'll probably upload a native PSVita vpk port somewhere, unofficially, later...

Cheers.

Hello I tried an asset swap with the PC version, and controller works perfectly. But the framerate is really slow. Has the android been optimised compared to the PC version? Would it be possible to add PC control settings to the android version?

nkrapivin commented 2 years ago

Hello, one of the Sonic Time Twisted developer(s) here. Due to various issues with GameMaker's controller support on Android (especially Studio 1), this game is using a custom extension written in Java that gives us more control over input methods, it was not written by me (see commit history) so I can't help with that. Makes sense why input doesn't work, YYL can't emulate Java. However, the game has support for the native PSVita runner, with native async stuff as per Sony's own guidelines. I highly suggest you use the Sony SDK + YYC + the "PlayStation" configuration in the project to run it. Last time I tested it was playing at a reasonable framerare, not 60 fps locked of course, but around 50 with drops to 30. I'll probably upload a native PSVita vpk port somewhere, unofficially, later... Cheers.

Hello I tried an asset swap with the PC version, and controller works perfectly. But the framerate is really slow. Has the android been optimised compared to the PC version? Would it be possible to add PC control settings to the android version?

Vita is slow overall so I wouldn't bother. The Switch is way faster and runs the VM build just fine.

MDashK commented 2 years ago

Vita is slow overall so I wouldn't bother. The Switch is way faster and runs the VM build just fine.

I see you've given up on releasing the VPK. (´-ω-`) There's a NSW version? (・・ ) ?

nkrapivin commented 2 years ago

Vita is slow overall so I wouldn't bother. The Switch is way faster and runs the VM build just fine.

I see you've given up on releasing the VPK. (´-ω-`) There's a NSW version? (・・ ) ?

I have some video footage of a test build, it's totally playable on a Switch, just nobody did a public NSP yet.

MDashK commented 2 years ago

For those interested, here's a VPK native port of the game: < link deleted > Better version here: https://vitadb.rinnegatamante.it/#/info/836

The information below is NOT related to the released version above. Is related to an older version that was posted here previously, deleted since then. Compiled using YYC and using the specific PlayStation profile features. It saves and works at 60 FPS with some drops to 50s or 40s FPSs. 30FPS in worst cases. However, TIME TRAVEL DOES NOT WORK and crashes the Vita. Badly. Crashes to the point that you press the PS button, and the screen stays freezed with the in-game image. Sometimes it crashes with the generic "An Error has occured" and the Vita shuts down. So if you play it: avoid the time travel posts.

Update For those interested, the crashes that happened to the previous now deleted posted version were due to an incompatibility in the Vita runner between the shader used for time travel and the transitions. That lead to the GPU crashing badly. The Vita runner is the only version I've seen so far to have this incompatibility.