hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.07k stars 2.16k forks source link

Danganronpa bug #1686

Closed CPkmn closed 11 years ago

CPkmn commented 11 years ago

I tried a search in the issues here to see if anyone reported this yet, but it seems no one did.

While playing Danganronpa (both the demo and the full release) in PPSSPP I noticed objects are not interactable. This basically makes the game unplayable since the requires object interaction on many occasions. I notice the same issue on JPCSP, however the software rendering mode in JPCSP works with the objects (and has since at least revision 2450, the first software rendering public release; https://code.google.com/p/jpcsp/source/detail?r=2450). Unfortunately I can't check earlier releases' software rendering modes since I don't know how to compile JPCSP.

I'll attach a picture of what PPSSPP and JPCSP (in software rendering mode) get when hovering over a should-be-interactable object.

(JPCSP in software rendering mode) danganronpa_correct

(PPSSPP) danganronpa_wrong

JustaPeriod commented 11 years ago

Another confirmation, the FramebuffersCPUConvert and FramebufferstoMem on AMD cards seems to fix previous issues reported. I have an AMD 6850. Investigating working fine.

2013-07-02_20-29-26

solarmystic commented 11 years ago

@Tittiez

Thanks for the confirmation. So that's 2 confirmed success stories so far. One on my legacy 4670 card and one on a much more modern 6870 card.

Leacero commented 11 years ago

Can you post up a build of it that's already compiled? I'd like to test it, but I'm not sure how to clone/compile it on my own. I have a Radeon 5850.

JustaPeriod commented 11 years ago

@Leacero Sure, give me a few minutes to upload.

JustaPeriod commented 11 years ago

@Leacero I think this will do it: https://docs.google.com/file/d/0B1myg_QircHaVXNJbTU1bms1NHM/edit?usp=sharing

Not sure if it works on other computers yet.

lKomus commented 11 years ago

Tested with the build you uploaded and it works ! I can examine the drawers and finally continue. Thanks to arnastia and Tittiez !

Leacero commented 11 years ago

Thanks! So far it's working well, got past the initial roadblocks in Chapter 1. I'll keep playing and let you know if there are any other problems that come up. Again, I'm using a Radeon 5850.

dr

solarmystic commented 11 years ago

@arnastia

Judging from the replies, this does seem to be the magic fix we've been waiting for.

jcw005 commented 11 years ago

Radeon 7950 here. Works perfectly so far (in all the formerly problematic areas). Fantastic job debugging this.

arnastia commented 11 years ago

Well, good to know, but I didn't quite get if anyone got it working without CPUConvert/FramebuffersCPUConvert (meaning only FramebuffersToMem = True) on AMD/ATi.

As for Android, I'm still trying to find the sweet spot on that one (haven't made the pull request because of this). I think I have a pretty good idea about what I'm doing wrong, but it's hard to be sure when I don't have a single OpenGL ES device to test this on. Only test I did of the OpenGL ES version of the code was on my PC, and it worked, but if no objects were even detected then I have to try switching channels around some more.

NewDCD commented 11 years ago

@arnastia To my understanding, the Nexus 7 has OpenGL ES, being an Android device. If you can compile a build for me, I can test if it work, since I have superuser access on the 7 and thus can edit the .ini files. Come tomorrow I could have a report for you.

jcw005 commented 11 years ago

Edit: Sorry, turning off FramebuffersCPUConvert makes things stop working.*

solarmystic commented 11 years ago

@arnastia

I assume all the positive responses are with FramebuffersCPUConvert = True and FramebufferstoMem = True.

The CPU conversion is still necessary with your provided build.

alyosha-pushak commented 11 years ago

I switched to using the new build with FramebuffersCPUConvert, and something is broken that's wasn't broken before. However, I can confirm it's not the CPU convert fix that broke it, as it's also broken in the last PPSSPP build (8.1.220). In the 4th chapter, the game freezes when the corpse discovery announcement is about to be made, and it gets passed this on the old build I was using (8.1.74). I guess I can try isolate exactly when this broke. I've also run into problems like this I haven't seen anyone else reporting. For instance, at the start of the trial for chapter 1 and 3, after choosing "finish preperations" the game froze using 8.1.74. I've been using JPCSP to get passed these parts.

solarmystic commented 11 years ago

@alyosha-pushak

It'd be very helpful if you provided a savefile made right before the freeze so that @arnastia and the rest of us can figure out what went wrong.

alyosha-pushak commented 11 years ago

I've determined that it's not an issue with a particular build. The following behaviour appears to be consistent in any build passed 8.1.74: Load game -> Load save -> get to corpse discovery announcement -> game freezes Load game -> Load savestate -> get to corpse discovery announcement -> works ok Load game -> Load savestate -> Load save -> get to corpse discovery announcement -> works ok

Because the 3rd path works ok and that's how I first tested it on 8.1.74, I thought it had something to do with the builds, but it does not. If anyone wants to test it, you can get the save file and save state here:

https://docs.google.com/file/d/0B_OtR-yWg6u_R1FaSEVHaVJLTEE/edit?usp=sharing

This will spoil who the victim is in chapter 4 is, if anyone is concerned about that.

SonnyChilds commented 11 years ago

Trying to get this going, just installed what Tittiez compiled, trying to mash O back to his room.

It'd be great if anyone could post a savefile from just before that for those playtesting this OpenGL bug.

EDIT: I recovered the save files that I previously stupidly deleted. Will upload if anyone needs the post-Prologue save.

EDIT #2: So far so good, I'm on day 4, no problems yet.

EDIT #3: For what it's worth, I've got an AMD HD7750. Everything seems to be running borderline perfect now, with the exception of some of the cut-scenes slowing down, as arnastia described above. I'm beginning Chapter 2 right now, and by the way...thank you to everyone here for fixing this stuff. The game is fantastic.

arnastia commented 11 years ago

Yeah, sorry, but issues with anything past free time chapter 2 and you'll have to wait for me to get there (assuming it's something I've been messing with). Needless to say, I really don't want to be spoiled on a game like this.

I'm however pretty sure you can finish the game on an Nvidia, at least with the old version of my fix, since I know people who actually have.

JustaPeriod commented 11 years ago

Thought people might like to know, I experienced a crash at the the ballot. Luckily. I had a save state and only lost 2 minutes worth of work. The 2nd time I tried it didn't crash. I'd advise to make a savestate shortly before you know the ballot will be cast.

lKomus commented 11 years ago

I finished Chapter 2 yesterday and had no crashes so far. Is this on chapter 4 ?

bneundh commented 11 years ago

So I downloaded the one tittiez uploaded and I can't get past the first room .then I enabled buffered rendering but it lags very much .using windows 7. what gives ?

HermitCrap commented 11 years ago

@bneundh, disable all other video options or simply get a better GPU.

arnastia commented 11 years ago

Ok, so I pushed another try to my repository. Would appreciate it if anyone could test it on AMDs (with and without FramebuffersCPUConvert = True) and Android (FramebuffersCPUConvert changes nothing on this one).

If nothing's wrong with the AMD version I'll make a pull request later today. If the Android version still doesn't work, well, I'll probably only fix it when I can get my hands on a rooted Android device. I'll also look into doing things in SSE/NEON later.

Repository: https://github.com/arnastia/ppsspp And a x86 build for those with AMD cards: https://dl.dropboxusercontent.com/u/3475202/PPSSPPWindows.zip I'd post an Android build, but don't have the tools to compile it right now.

EDIT: PS, you still need FramebuffersToMem = True on both of them, and the slow video bug isn't fixed in these builds. Just use turbo/start to get past it.

JustaPeriod commented 11 years ago

@arnastia I can't comment on the entire game, but I'm in my room right now just at the start of the 3rd Chapter with FramebuffersCPUConvert = False and I can still investigate things fine.

AMD 6850

I haven't tried it with my older build, but at least the newer build doesn't seem to need it for AMD GPUs. Good job!

bneundh commented 11 years ago

now when I enabled buffered rendering it just freeze . I must have done something wrong ..

JustaPeriod commented 11 years ago

Actually yeah, I found a few problems I haven't noticed before. I'll post them, hold on.

JustaPeriod commented 11 years ago

ppsspp_v0 8 1-201-g7747fc9_-_npjh50515__danganronpa_hope s_academy_and_despair s_students_2013-07-04 I'm aiming at my door from a far away distance, yes? If I press X, it takes me into the BATH.

And another one:

ppsspp_v0 8 1-201-g7747fc9_-_npjh50515__danganronpa_hope s_academy_and_despair s_students_2013-07-04 If I press X right now on Kirigiri's room, it'll take me into MY room.

I should be too far away from the rooms I'm aiming at for that to even show up.

This is with FramebuffersCPUConvert = False would you like to to test True as well?

arnastia commented 11 years ago

Just to be clear, that's with FramebuffersCPUConvert = False, right? With FramebuffersCPUConvert enabled everything should still work.

If so then Nvidia and AMD probably interpret the type parameter in glReadPixels differently, and there isn't much I can do other than add an option to assume either AMD or Nvidia card (or is there some way to detect which card the user has?). Otherwise just keep FramebuffersCPUConvert enabled.

unknownbrackets commented 11 years ago

@arnastia in the worst case, we can get the vendor and do something differently based on it. Should be no reason to ask the user if they are using AMD/ATI, since their video card can answer that question for us.

I wonder if anything is being returned in glGetError()?

-[Unknown]

JustaPeriod commented 11 years ago

@arnastia Yes, that is with FramebuffersCPUConvert set to False. Setting it to True seems to fix the issue.

Abalieno commented 11 years ago

Is it a known problem that texture filtering isn't working properly? It seems to get randomly deactivated, and sometimes you can reactivate by switching it off and back on.

I guess it's a side-effect of the fix.

SkipXX commented 11 years ago

ok, i know this is the wrong place to ask, and if you can tell me where to ask stuff like that pls do, but anyway: I would like to know how to build this projekt. I have basicly no real knowledge of C++ or programming, but i do know what building is for and so on... i've installed GitHub, Visual Studio and everything i need to have installed (i think, at least)... now i only have the problem that the native library does not load... and i am not totally sure that i understood:

"First of all, after having checked out the source, don't forget to run:

git submodule update --init

in order to get the "native" library."

because it does not work as far as i understand, i have to open a shell in the repositorie and then enter "git submodule update --init" i did that and it looked like it worked but it didn't solve the problem, i still couldn't load "native" in Visual Studio (everything else works i think)

edit: Well, the thing is, i do not get an response from the command and nothing changes, but thanks, i hope i'll figure it out on my own anyway :P

unknownbrackets commented 11 years ago

Better to ask stuff like this on the forum. Remember to run the command inside the directory you cloned ppsspp into. Post in Development (ideally with whatever error message or response from that command you're getting, etc.) and I'll look a bit later.

-[Unknown]

khoin commented 11 years ago

I'm running PPSSPP on my Android 4.0.4. Is there any solutions to this? If there already is, can anyone link the comment? Thanks, (also, please @mention me)

HermitCrap commented 11 years ago

You must root it if I'm not wrong. Use a computer instead, it's going to lag a lot anyway.

khoin commented 11 years ago

@HermitCrap I doesn't lag much on my phone (not after I go change a lot of configurations to find out how to fix this issue (of course didn't work)). But it's always more enjoyable playing on consoles because using a PC to play games or watch movies always makes me feel unproductive and irritating :)

NewDCD commented 11 years ago

If you have an Android PPSSPP Build with the fix integrated to the code, you need to root and then use an app like "Root Browser" to access the hidden app files within Android/Data/Data/PPSSPP. From there all you have to do is switch the pertaining values from "False" to "True" within ppsspp.ini with an Android text editor.

If you do have a compiled PPSSPP build with the CPUConvert fix, hook me up, will ya? My Comp has been pretty weird lately. RAM problems, maybe the connectors. Want to avoid using it much if I can help it.

--- Original Message ---

From: "potasmic" notifications@github.com Sent: July 7, 2013 10:12 PM To: "hrydgard/ppsspp" ppsspp@noreply.github.com Cc: "NewDCD" diegoj10@hotmail.com Subject: Re: [ppsspp] Danganronpa bug (#1686)

@HermitCrap I doesn't lag much on my phone (not after I go change a lot of configurations to find out how to fix this issue (of course didn't work)). But it's always more enjoyable playing on consoles because using a PC to play games or watch movies always makes me feel unproductive and irritating :)


Reply to this email directly or view it on GitHub: https://github.com/hrydgard/ppsspp/issues/1686#issuecomment-20583731

SonnyChilds commented 11 years ago

Alright, I've made it to Chapter 5 and cannot continue. I'd like to go into detail on where the crash is, but I don't want to give away spoilers. Basically, at a certain point of dialog, the screen fades to white and PPSSPP simply stops working.

Is there an error log that I can copy/paste here?

MegaPear commented 11 years ago

Hey I'm experiencing a problem extremely similar to Kwazzi's. The only difference is that mine happens in chapter 6. (Not to be rude but are you sure it is chapter 5 kwazzi?)

So like kwazzi I am wondering if there is something I can post like a save file or error log.

SonnyChilds commented 11 years ago

@MegaPear Is it after Kirigiri says a line in the bath changing room? I might be mistaken on the chapter, it's happening during an exchange with Aoi.

MegaPear commented 11 years ago

Yeah, that's when it happens.

JustaPeriod commented 11 years ago

With me as well, after the flashback to Kirigiri's dialog in the bath, the screen fades to white and then the emulator crashes.

peleides commented 11 years ago

If you're crashing in chapter 6 during a conversation with Aoi in the data processing room (specifically at the Kirigiri flashback) try turning off Hardware transform in the options menu.

Turning off hardware transform let me continue past that section.

SonnyChilds commented 11 years ago

@peleides

Good call, thanks for the tip. Works perfectly.

solarmystic commented 11 years ago

@peleides

Excellent advice. Will add that to my thread in the forums.

HermitCrap commented 11 years ago

Just tried playing PPSSPP on my AMD Build, the performance hit is really big with FrameCPUConvert on. Since PPSSPP starts to stutter a lot when loading or when you open the ElectroID. Other than that, it works fine. System Specs: I5 - 4670K with HD 7870 PCS+ Must Edition. I suspect the stuttering have something to do with my slow hard drive but yeah.

JustaPeriod commented 11 years ago

@HermitCrab it doubt its your cpu or gpu, because it runs full speed for me and I have a Phenom ii x4 955 and a 6850.

Are you sure you are using a dev build?

dbz400 commented 11 years ago

humm that's mean only SW T&L works only in chapter 6 , just wonder any log during crash ? we may be able to debug it.

hrydgard commented 11 years ago

Yeah that is weird, I don't know any other cases of HW T&L causing crashes...

MB48 commented 11 years ago

I am using a version of PPSSPP posted earlier here. (Version by @Tittiez http://puu.sh/3B7qB.png) I am at chapter 5, everything works perfectly fine thanks to that version. (Normal PPSSPP made it impossible to select objects with the crosshair) HOWEVER, the game's screen fades to black, and then nothing happens anymore, making it impossible for me to continue playing this game.

When this happens (may contain spoilers, but I don't think so): Monokuma act XVI, monokuma shows a video of another game. After the video ends, he says "This is the era of ninja! Samurai are a thing of the past!" "By the way, why didn't I get an offer?" "I'll buy it anyway, though!" "I'll buy -two- copies! grin" (Screen fades to black) "Diiiing doooong... Diiiing doooong..." (I press X, Screen fades from black to your room) (after a second it fades from your room back to black) (It stays like this forever, the buttons are completely unresponsive and nothing ever happens)

I use a radeon hd 6970. (ati)

I attached a .gif of the issue: a

I hope someone knows how to fix this, I really don't want to stop playing here.

Oh and, good work you guys, thanks for all the effort.

EDIT: @solarmystic right below me This fixed the issue, thanks! The game looks much better too!

Github won't let me write a new reply though so I have to edit this one