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.25k stars 2.17k forks source link

Metal Gear Solid Peace Walker: Peace Walker 2 boss battle isn't able to be completed #2845

Closed Ilodr closed 10 years ago

Ilodr commented 11 years ago

Peace Walker battle 2 is impossible for some reason. That stupid final Nuke sequence, you can't make her flinch. I spend about 5 hours trying to beat this boss. I thought i got low dps so i upped all my rpg to 4th rang and 3 level usage level (about 30 replays missions Head to the Control Tower and 20 Pupa) And again this ballheaded cow don't abort the Nuke. I launched 3 gustav rockets, 4 law, 1 air strike and contless bullets for this short minute and not a single life bar was removed.

hrydgard commented 11 years ago

Ugh, sounds like a really tricky CPU bug to me.. or a life bar display error, but then she should have at least died after a while.

Ilodr commented 11 years ago

If download new version of PPSSPP my old saves will work? I just copy and paste memstick folder and can play? May it be from version of ppsspp i have? I mean 32bit/64bit difference.

solarmystic commented 11 years ago

@Ilodr

Yes, the saves in the memstick folder are compatible with any version of PPSSPP.

Ilodr commented 11 years ago

@solarmystic Thank you! I thik i got wrong version. I hope changing version will works.

Ilodr commented 11 years ago

Ok. Version change dosen't change anything. Still 2 bars of life can't be destroyed and now i got sound problems =\

Ilodr commented 11 years ago

I created log of last battle how can i post it here?

solarmystic commented 11 years ago

@Ilodr

Use pastebin.com (Cut and paste the contents of your log into that website) and share the link here.

Ilodr commented 11 years ago

http://pastebin.com/wcDX5DHY

Sync53 commented 11 years ago

played and finished all mgs games except peace walker and rising i hope this gets fixed T.T

Freetos commented 11 years ago

I think I may know the solution. sceOpenPSIDGetOpenPSID is supposed to return an apparatus specific id.

hrydgard commented 11 years ago

Does it matter if it's "apparatus-specific" if you're only playing single player though?

thedax commented 11 years ago

Why would sceOpenPSIDGetOpenPSID have something to do with a boss battle, though? Doesn't that seem sort of..odd? I mean, granted..Kojima is an oddball, but eh.

Ilodr commented 11 years ago

Well this sound like some kind of moonspeak to me =) Is there any way to fix it?

thedax commented 11 years ago

On your end? Not currently, no, unless you can maybe get a 1 hit kill code to work or something, though that's more of a workaround, than a solution.

Ilodr commented 11 years ago

@thedax Cheats, huh? I guess this is only way. I read how to do it but where i can find the code? google hasn't found any http://gamehacking.org doesn't have too.

ErakkoP commented 11 years ago

Yep this is bugged. I got in 2 air strikes all gustav rockets all FIM rockets and PKM shots and still nothing. On PPSSPP part where Peace Walker walks on two legs comes before final Nuke sequence. It should come right after that. Maybe this problem has something to do with that.

Antonio1994 commented 11 years ago

Hm....i dont remember correctly, but I've fought Peace(Piss) Walker couple of times on different builds. The first time was a 1.5 month ago and it definetly worked normaly,I've defeated him. But last few build(after 0.8 release) I've managed to hit him few times and he(or it) cancels the lauch. I'll try chech later if it's working for me till the end 'couse I've finished him only the first time(didnt have the will after).

hrydgard commented 11 years ago

If you can find exactly in which version it stopped working, it will be much easier to find and fix the issue.

Antonio1994 commented 11 years ago

Yap...bugged...tested it with couple builds...when I get the time I'll try to test some older ones.....

Dave61 commented 11 years ago

Any progress on this problem?

Antonio1994 commented 11 years ago

I dont think so...I've tested few never builds in case they got it fixed and no luck so far. I'm working 10 hours every day and dont get the time to test the builds before. But if some1 tryes,try arround last few builds from 0.7 version....

Dave61 commented 11 years ago

Well.. i am in no position to test it either. As i am far away from my pc which is capable of running emulator. But i am gonna look it up as soon as i can.

Antonio1994 commented 11 years ago

Well....the weather in Croatia is not making in my favour....the power is off....so no luck here!

Dave61 commented 11 years ago

@Antonio1994 Well best luck to you. I really hope this problem will get fixed soon.

Stryve commented 11 years ago

found cwcheat _C1 One Hit Kill [Mechs] _L 0x2001B764 0xAE200064

I know it says one hit but i didn't even shoot

Antonio1994 commented 11 years ago

I dont intend to use cheats, even if it means not being able to kill it. I've passed him once(need to find which build) and I dont know if its the same problen in the custom battle(didnt unlock it yet) but I wont cheat.

thedax commented 11 years ago

Not that this is a solution or anything, but apparently JPCSP has the exact same bug(at least, it did as of December 2012; I haven't seen anyone mentioning it being fixed on their forum). Just thought it was interesting to note.

Antonio1994 commented 11 years ago

Hm...but I'm 200% sure that it worked b4...'cause I remeber beating that sucker after a long fight....it was b4 the mission ending bug was fixed (the first mission ending bug,where you dont even get to mother base)because i had to quit the emulator.

Dave61 commented 11 years ago

About testing and searching of a build which doesn;t have this issue... You could try using cheats which give you infinitive ammo and something as rapid fire. Some guys claimed that they've done this when tried to beat peace walker so i am sure its possible but of course failed because of this bug. I know how long fights can take in Peace Walker this would help to test builds quicker and thus helping us to find the build which is free of this bug faster and finally solving this issue. But it depends if a build has cheat feature i've no idea when this feature was implemented so probobly not all builds support it. I would try it myself but I won't be able to test builds until next weekend but i will try as soon as i can.

Antonio1994 commented 11 years ago

Thanks for help...but as I said b4 I dont cheat....I've got myself a good arsenal and I can take him down very easy with all the launchers I got...but the 2 last bars are still making no progress

Dave61 commented 11 years ago

well that's just a suggestion on how to make testing easier incase peace walker gives you a hard time. One other thing if you could remember an approximate date when was the last time you had beaten peace walker it would be easier to track down the build as every build has an upload date.

strengelove commented 11 years ago

I found information in the Chinese site. It is information to guide One hit kill cheat, It is July on the date when the information was written in...However, it is written that an ver0.7.6-1576 is necessary. 0.7.6-1576 is pad non-correspondence,Therefore I think that One hit kill is necessary. I am sorry that I cannot inspect it, http://tieba.baidu.com/p/2489730213 I am waiting for this bag to be revised!!! ...I hope that my bad English is understood.

MBigode commented 11 years ago

This also affects the Peace Walker Type II boss fight, and most likely Peace Walker Custom too. Once you take her down to her last 2 life bars it's impossible to deal any more damage.

I don't see anything that could be related to the issue in the dev console, besides audio/atrac stuff I only get these lines when Peace Walker enters her last nuclear launch sequence ss 2013-10-11 at 08 45 59

...though I doubt they're related to the issue in any way. Using v0.9.1-1693-g1375b72 Windows 64bit

Antonio1994 commented 11 years ago

I have the EU version and it doesnt work....cant get him under the last 2 bars of health...does any1 have JAP version so he can check does it work?

unknownbrackets commented 10 years ago

I wonder if this is some sound effect issue.

Does anything special happen on a PSP when getting the enemy down to that low health? Examples:

-[Unknown]

i30817 commented 10 years ago

Blurting out the obvious; is it possible it is a anti-piracy measure?

hrydgard commented 10 years ago

Oh, yeah could very well be. It's not entirely uncommon for games to break gameplay when they detect that they're a copy. Wonder how it's doing the detection in that case though.

http://www.gamasutra.com/view/feature/3030/keeping_the_pirates_at_bay.php

unknownbrackets commented 10 years ago

We already know that the demo (#3365) detects jit and dies... very possibly looking for modifications.

Does it work properly with jit disabled?

-[Unknown]

thedax commented 10 years ago

It doesn't seem to be killable, even with JIT off. I used an infinite ammo code and fired rockets at it which do max damage (e.g. all upgrades researched, not a 1 hit kill code), and it still didn't die.

Here's a youtube video of the fight: http://www.youtube.com/watch?v=DUlJccdhDGQ

Skip to about 4:30 or so, when the player gets the boss down to about 2 or 3 bars of health. It'll enter nuclear launch mode, and then you have to hit the glowing red spot (or other areas to do enough damage, but the glowing red spot does a ton more damage) to stop her from launching.

thedax commented 10 years ago

I'm starting to wonder if it really is sceOpenPSIDGetOpenPSID related, somehow. Apparently this function takes two arguments, not one ( http://www.emunewz.net/forum/printthread.php?tid=8134 , just search for this func's name), and Peace Walker puts in values of 4, 7, and 8 at different times (mostly when loading, as it doesn't call it during a mission).

I think this warrants closer investigation.

Edit: I wrote a homebrew which calls sceOpenPSIDGetOpenPSID with values of 4, 7, and 8, and didn't seem to get any differing behaviour (the array I supplied is always filled with the same values, e.g. the PSID), so I guess those are just junk values passed in by the game? Darn..

lp200 commented 10 years ago

http://www.gamefaqs.com/psp/960566-metal-gear-solid-peace-walker/answers?qid=191733

This problem is reported four years ago Before working with an emulator. Probably is it custom firmware measures?

thedax commented 10 years ago

I found (with @unknownbrackets' help, of course) the exact location in memory that control's the boss's HP in the US version: 0x0BC91396. But that's not all: the boss's "phase" seems to be controlled by 0x0BC91394 and 0x0BC91395.

When the boss has 3 bars of HP left, these three bytes are BF 17 02 (this 02 is 0x0BC91396). When you get it down to 2 (by changing the value in the memory editor), it switches to B8 82 01 (signalling 2 HP bars left), and then it begins the phase where it stands on its hind legs like in the video. PPSSPP also gets it down to this value (e.g. by gunfire and rockets), however, there must be another trigger which tells the boss to get up on its legs.

Here's the other thing: if you manually change it to B8 82 01, the boss will not begin its walking sequence. Only by changing the HP address (0x0BC91396) to 01 while the other two are still BF 17, does it stand up and begin fighting you on its hind legs. The boss is then killable at this point.

Edit: This might be tricker than I thought. It seems to choose a random address to contain the boss's HP every time you restart the game or the mission.

unknownbrackets commented 10 years ago

It might be that it's a timing thing. Maybe some code is supposed to run after the HP is updated, but before the other values are updated, and this code is running too late.

-[Unknown]

rizki29 commented 10 years ago

how about EU version i want to end this game

thedax commented 10 years ago

There's no fix for any version of the game currently.

rizki29 commented 10 years ago

then maybe i send save game to my friend psp

lp200 commented 10 years ago

I killed with external cheat tool PeaceWalker life is 550000 (hex 08 64 70) The damage of FIM-43 LV1 which hit a AI pod is 12850 550000 - 12850 = 08 32 3E I searched this value and changed it to 0

Edit: It was possible with ppsspp v0.9.5 memory viewer In search value 3E3208

lp200 commented 10 years ago

If PeaceWalker HP becomes less than 137500, it becomes a final nuclear mode. return to a normal mode if it becomes less than 99000. In an emulator, it does not become less than 99000.

unknownbrackets commented 10 years ago

What is the lowest value it gets to in PPSSPP? if you manually lower it a small bit, does it help?

-[Unknown]

thedax commented 10 years ago

Well, he said it doesn't drop below 99000 decimal, which seems to be the case. If I adjust it to 98999 (so one hitpoint lower), that's enough to get it out of nuclear launch mode.