Posts for zhupengfei


zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
Thanks! I'll start working on the newly found desyncs tomorrow. Meanwhile, could you please test more of the previously desyncing games? Thank you in advance.
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
phoenix1291 wrote:
I was able to do it today, but most of the games ("app") are not recognized and Citra tells me they are encrypted and indicate an "invalid region", while on my laptop I have no problem with games dumped from my 3DS with ThreeSD. (I copied and pasted the folder from my laptop into the folder on my desktop PC in sdmc -> Nintendo 3DS)
Try copying the entire Citra User directory including nand, sysdata, etc. Those folders allow Citra to decrypt the games, among other things. Also the canary build I was referring to is already out.
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
phoenix1291 wrote:
Mario Open Tennis asks to tilt the 3DS in front of you, is this possible with Citra?
Yes it's possible (with mouse right click & drag or UDP input servers), but I don't think there's a way to input motion data accurate enough for TAS yet. This might be implemented in the future (with a TAS Input dialog or something)
phoenix1291 wrote:
The fact that the game is recording or not (I still have a lot of trouble understanding how Citra works to continue a movie, often I reload a game and save with read-only mode disabled but it doesn't continue recording,)
Citra should roughly follow the Laws of TAS on savestates. Please report any unexpected behavior you found.
phoenix1291 wrote:
Would it also be possible to display in this bar, without OSD, the keys pressed
I think that would clutter the status bar too much; I'm thinking of implementing an actual overlay with imgui.
phoenix1291 wrote:
and I still have the problem of keys not being taken into account (in some games) because the save char takes time on Citra, again, would it be possible to load saves while the emulator is paused, with an indication that this has happened?
Hmm, saving while paused won't be easy, since pause works simply by suspending the emuthread (and therefore things can be in an undefined state while paused) For a bit more control, you can try using Frame Advance. Your save/load state request will be handled on the next Frame Advance, and Citra also waits for Frame Advance immediately after saving/loading is completed. ----------------------------------------------------------------------- As for those desyncs, the next Citra Canary release should incldue a fix. Would appreciate some more testing, thanks a lot!
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
Just to let you know, I'm still waiting to hear about what games desync now (with the updates I pushed a while ago)
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
I pushed a new update to implement two of the requested features (see a comment in the PR), which will be present in the next canary. Some other requested features will probably come in future PRs.
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
Sorry for having kinda abandoned this. I didn't have much time to work on Citra in September. I've pushed a new fix to the PR which should be available in the next Canary build. It seemed to at least fix Hyrule Warriors for me. Hopefully it would work better on some other games too. PS. Starting emulation as paused can actually already be achived by enabling frame advance before booting the game.
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
phoneix1291 wrote:
Since the list of implementation requests is getting long (mostly my fault, but we only want what's best for Citra), would it be more useful to make a list on github or google docs instead of requests here and there on this thread? That it would be easier for Citra devs?
I'd appreciate it if you can post a list of requests as a comment in my PR: https://github.com/citra-emu/citra/pull/5448
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
Sorry that I haven't looked at this thread for a rather long time. I'm currently a bit occupied with other things, but hopefully I'll be back at working on Citra rerecording soon.
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
phoneix1291 wrote:
About what? The inputs that not being take in count? For now I haven't notice any difference with latests (Canary) releases.
That's strange. It is supposed to be at least partially fixed. I'll look into that.
phoneix1291 wrote:
I don't know if I was dreaming, but I thought I saw a message about being able to start a game on pause when it's launched? I couldn't figure out how to do it.
It should be available in the next canary build, but not the current one. Just enable frame advance before you start the game.
phoneix1291 wrote:
What about being able to pause the game at the end of a movie?
It turns out to be harder than it seems. I'm still working on this.
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
Nope, flatpak builds keep timing out recently so it hasn't been updated for a while. If you want, you can try using standalone linux builds distributed here, but I'm not exactly sure what libraries you'll need.
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
Unfortunately that's indeed the only legal way to do it. Please also check the latest Canary build. The issue with keyboards & savestates should be partially fixed now.
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
Nope. LLE (Low Level Emulation) applets mean that you are using the original 3DS OS software for emulation. HLE (High Level Emulation) means that a high level replacement is used. For instance, when using LLE applets, you get the same keyboard screen as on a 3DS when games request the software keyboard. When using HLE applets, you get a popup dialog instead.
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
phoneix1291 wrote:
I have another question, when you load a savestate, the current button pressed are not take in count, you have to repress the button/joystick etc
Please check the next canary build, there should be a partial fix implemented.
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
Currently it should already allow you to use any ffmpeg encoder and muxer, but I'm not sure what is nut piping. I likely did it the hard way and directly used the av libraries instead. --- Regarding the desyncs, I see applets are involved (i.e. software keyboard and mii selector). Can you two please try again with LLE applets? HLE applet inputs aren't really recorded at the moment. To use LLE applets, you can use my tool threeSD to import your system titles from your 3DS. ---
phoneix1291 wrote:
And the framerate recorded in the video dump is at 600fps:
Ah, that's really strange. We are using ffmpeg's fps filter to resample the video (~59.82Hz which not all encoders support) to 60fps. It shouldn't really be 600fps. Can you tell me what configuration are you using in Citra's Dump Video?
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
Death Marios and phoenix1291, I would very much appreciate it if you can post an example of a desynced movie so that I can look at it. If possible, please also post a log of the desync. This Citra forum topic tells you how to get the log file: https://community.citra-emu.org/t/how-to-upload-the-log-file/296 Also, phoenix1291, I've noted down your feature requests and I think I'll likely implement them soon.
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
Darth Marios wrote:
It works much better now. But not for Resident Evil The Mercenaries 3D xD I ve tried a stage and it desync like pcsx2, but the strange fact is that it desync differently when i try to dump video.
Hello and thank you for your interest! Can you please post this information, the related movie and Citra's log file as a comment in the PR? Thanks a lot.
zhupengfei
He/Him
Experienced Forum User
Joined: 10/2/2018
Posts: 17
Location: China
Hello there, I'm a developer from Citra (zhaowenlan1779). Just want to say that some rerecording features will be fixed / added in the next Citra Canary build. You can look at the PR here: https://github.com/citra-emu/citra/pull/5448 I don't really think all the desyncs will be fixed, though...
It's a translation error... If the interface is in english, it says "Dump video", but if the interface is in french, it says "Supprimer la vidéo" which means to delete the video, so I thought it was just to delete the ctm files...
Thank you, but we didn't make the translations. (and also not like I have the perms to update them.) I've forwarded this to one of the French reviewers in the community, hopefully they'll see my message. Also unfortunately, few devs look at the Citra community forums nowadays, and topics can go unnoticed. It might be better to communicate with us on Discord.
Is it possible to edit a CTM file i.e. https://www.filehosting.org/file/details/866871/MK7_test1.ctm?
Yeah, it's definitely possible (like you can edit any file, can't you?) It's just a binary format similar to DTM. Each controller state is 7 bytes though (not a good practice, but this format was actually made a long time ago). You can also look at Citra's code for more information, it should be in src/core/movie.cpp