Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Dissidia 012 Duodecim Final Fantasy - ULUS10566
#31
Does anyone have a Unlimited Summon code for this game? There was a code for this in the original Dissidia and it was great to use.
Reply
#32
Information 
Hi, is there any codes for leveling up all i found isn't working at all. Btw I'm using the US version. PLS somebody. Big Grin
Reply
#33
Is there an "Ignore Terrain" code like there is for the first Dissidia?
Reply
#34
Well i have been trying to disable this mechanic in the game for a while by fiddling with cheat engine with basically no luck so i decided to come here for help.

Firstly, From my fiddling i concluded that creating a cheat that directly affects assist charges would be very difficult and that the easiest method to achieve this is to reduce the critical health threshold instead (since a full assist charge occurs when you counter an opponents attack while at critical health, making it so that you can't go into critical health essentially disables assist charges).

The easiest way to reduce the critical health threshold would probably be modifying the passive ability "Achy". The ability normally increases the health percentage that you are considered critical (equipping it puts you in a critical state when you fall below 26% health instead of the base value of 21%), but i want to create a CWCheat where equipping the ability sets this "critical health threshold" to 0% instead.

I think it would be a pretty easy CWCheat to create for someone who knows what they are doing and i am hoping someone could either create it for me or guide me in creating it.
Reply
#35
This has nothing to do with PPSSPP developement and should be merged with Dissidia 012 cwc thread.

Either way, there's nothing hard in just writing zero to those bars without messing with hp or any skills.
Code:
_S ULUS-10566 _G Dissidia 012 Final Fantasy _C0 Zero Assist _L 0xE0072200 0x0001D4CC _L 0x2001D4CC 0x0E200480 _L 0x20001200 0x12000003 _L 0x20001204 0x00000000 _L 0x20001208 0xAE00F1BC _L 0x2000120C 0xAE00FFDC _L 0x20001210 0x03E00008 _L 0x20001214 0x00062200 _C0 Zero Assist [Disable] _L 0x2001D4CC 0x00062200
Removing the bars themselves visually would be much harder through, since there's nothing unique about it to even detect it aside from coords on the screen and game doesn't seem to have such functionality on it's own. To make things worse game reuses texture for hp bars gradients and dark background of those assist bars, so can't just be removed via texture replacement either, however you can still replace it with something that looks nicer, ie by just filling it up like this:    
http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Reply
#36
Firstly, i apologise for posting in the wrong section.

I really appreciate you taking the time to help me out, but i believe you misunderstood what i was hoping to do. I don't want to disable assists completely, what i wanted to disable is only one in-game mechanic, known as a "full assist charge".

What it does is it fills your assist gauge to the max if you counter an opponents "HP attack" while you are at critical health. I only wanted to disable this, while leaving the rest of the assist system untouched.

I also was saying that i believed the easiest way to achieve this would be to reduce the critical health threshold (which could be done by modifying the "Achy" ability) so that it becomes impossible to enter a "critical state" and as a result, makes getting "full assist charges" impossible as well. Although if you believe that directly disabling the ability is an easier task, then that's perfectly fine too.
Reply
#37
The proper way of disabling it completely would be also be disabling all the triggers where the game changes the value instead of placing zero to value, but since I'm not playing the game I only used a simple pointer.
Patching just one trigger would be potentially as quick and easy as making a pointer, however I have no confidence in even being able to reproduce it easily which means I'm not going to test it much;].

Anyway here it is:
-here-
And yeah again, no need to mess with hp or skills, this just patches the code that decides whenever the game wants to write 5k or 10k when you block to always skip the whole thing:].
The code this patches loads in separate module, honestly no idea if it loads differently for multiplayer(where depending how it works either both players would have to use it or the player that hosts the game), but should work for all single player modes.
http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Reply
#38
Hmm, the code didn't seem to do anything. (I tried it in single player)

If i understand the code correctly, it changes the value of the address 08AEEAB4 (002EEAB4+08800000) to 22 00 00 10 if its value is 22 00 B2 15.
When i use the memory viewer in PPSSPP i can see that it does indeed change the value of 08AEEAB4 successfully when you enter a battle, but it does not actually affect full assist charges.

What maps and characters did you test it with? Or am i forgetting/missing something else, like having an incorrect cheat refresh rate?

Additionally, i'm curious as to what the code actually does, i.e. what do the values 22 00 00 10 and 22 00 B2 15 actually mean at that address?
Reply
#39
Refresh rate doesn't matter, it's required only by cheats that race against game, which usually means one or the other - cheats that patch code that runs on boot, or cheats that patch temporary variables which change every frame - really awful thing to mess with, unfortunately some people can't do any better.

As for what the cheat does it basically changes the branch here:
   
To compare zero with zero ~ which is always true and skips all the code under.
If you look closely there are more branches inside, a bunch of them leads to 0x08AEEB1C which is writing value of f14 register to memory - where assist is stored. That register in this place will be 5k(one bar) or 10k(two bars ~ which is passed from f15 if correct branch is taken earlier).

I found it by cpu vs cpu battle(that is "tactics" mode to just give commands) and checking what writes where assist is stored, and nopping all other code that wrote values to assist without filling the bar to full. I was more looking in the code than what actually happens, but pretty sure it triggered when attack was defended with very low hp.
If it patches the memory correctly, but doesn't work, there must be more situations that reward with full bar, as said I'm not confident of triggering this myself, if you can make a savestate right before triggering what you call full charge ~ by CPU so no player input is required, that would make things easier.
http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Reply
#40
Yea sure, i can do that. Ill make a save state just before me or the AI opponent gets an "assist charge" and i'll PM them to you.

Also, this video does a decent job of summarizing what an assist charge is and how they are attained. (https://www.youtube.com/watch?v=gLSwX8t8Xcg)
Reply
#41
The second savestate doesn't trigger anything, attack launches in air, maybe you uploaded wrong one?

The first however did and the code was very close to what I previously found, in fact it was the very next larger branch;p, so try this new one:
-here-
will not work on the savestate you send me through, cwcheat seems too slow to react after loading savestate as the code there triggers right after loading(but that's fine, was quicker to findTongue). I tested it by setting breakpoint on that code and typing it in manually.:]

Maybe the other single bar assist charge was already working with previous code, or at least will with this new one, if not another savestate would help.

~And yeah, you're welcome:3.
http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Reply
#42
Haha, it worked thank you so much! Full assist charges don't happen anymore. Smile Smile

As for the second state, You're right... I sent you the wrong one, i'm so sorry... I just PMed the correct link to you.


**Edit**
I just did some testing, and it seems that the first code you gave me, that one actually disables single bar assist charges!
Reply
#43
(04-02-2017, 01:15 PM)FGF111 Wrote: (...)
it seems that the first code you gave me, that one actually disables single bar assist charges!
Yeah, just found that out as well:3, to clean this up for anyone else finding this in the future I'll just remove the older ones and leave one with both of them merged:
Code:
_S ULUS-10566 _G Dissidia 012 Final Fantasy _C0 Remove Full Assist Charge _L 0xE00215B2 0x002EEAB6 _L 0x202EEAB4 0x10000022 _L 0x202EEB74 0x10000019 _C0 Remove Full Assist Charge [Disable] _L 0xE0021000 0x002EEAB6 _L 0x202EEAB4 0x15B20022 _L 0x202EEB74 0x55200019
Hopefully there aren't any more cases instantly filling those assist bars:3.

Edit: New, kind of experimental modding cheat:
Code:
_C0 EX Revenge+Mode _L 0xE01A0034 0x00335BD0 _L 0x202CA75C 0x0E2004C0 _L 0x20001300 0x3C100880 _L 0x20001304 0x341B0002 _L 0x20001308 0xAE0412F8 _L 0x2000130C 0x03E00008 _L 0x20001310 0xAE1B12FC _L 0x20335BD0 0x0E2004D4 _L 0x20001350 0x3C040880 _L 0x20001354 0x341B0002 _L 0x20001358 0x8C8512F8 _L 0x2000135C 0x14A00003 _L 0x20001360 0x8C8512FC _L 0x20001364 0x50BB0003 _L 0x20001368 0xAC8012FC _L 0x2000136C 0x50400001 _L 0x20001370 0x27FF00CC _L 0x20001374 0x03E00008 _L 0x20001378 0x00000000 _L 0x203337F0 0x0A2004DF _L 0x203337F4 0x8C84052C _L 0x2000137C 0x3C070880 _L 0x20001380 0x8CE212F8 _L 0x20001384 0x50440001 _L 0x20001388 0xACE012F8 _L 0x2000138C 0x0A2CCDFE _L 0x20001390 0x0004382B _C0 EX Revenge+Mode [Disable] _L 0xE00404C0 0x002CA75C _L 0x202CA75C 0xE4940018 _L 0x20335BD0 0x10400034 _L 0x203337F0 0x8C84052C _L 0x203337F4 0x0004382B _C0 EX Revenge->Mode _L 0xE02E0018 0x002CA75C _L 0x202CA75C 0x0E2004C0 _L 0x20001300 0x3C100880 _L 0x20001304 0x341B0001 _L 0x20001308 0xAE0412F8 _L 0x2000130C 0x03E00008 _L 0x20001310 0xAE1B12FC _L 0x2033382C 0x0A2004C5 _L 0x20001314 0x3C020880 _L 0x20001318 0x8C4212FC _L 0x2000131C 0x50820001 _L 0x20001320 0x00002021 _L 0x20001324 0x10800003 _L 0x20001328 0x00000000 _L 0x2000132C 0x0A2CCE0D _L 0x20001330 0x00000000 _L 0x20001334 0x0A2CCE14 _L 0x20001338 0x00000000 _L 0x202C91E8 0x0E2004CF _L 0x2000133C 0x3C110880 _L 0x20001340 0x341B0002 _L 0x20001344 0xAE3B12FC _L 0x20001348 0x03E00008 _L 0x2000134C 0xE60C000C _L 0x20335BD0 0x0E2004D4 _L 0x20001350 0x3C040880 _L 0x20001354 0x341B0002 _L 0x20001358 0x8C8512F8 _L 0x2000135C 0x14A00003 _L 0x20001360 0x8C8512FC _L 0x20001364 0x50BB0003 _L 0x20001368 0xAC8012FC _L 0x2000136C 0x50400001 _L 0x20001370 0x27FF00CC _L 0x20001374 0x03E00008 _L 0x20001378 0x00000000 _L 0x203337F0 0x0A2004DF _L 0x203337F4 0x8C84052C _L 0x2000137C 0x3C070880 _L 0x20001380 0x8CE212FC _L 0x20001384 0x341B0002 _L 0x20001388 0x145B0003 _L 0x2000138C 0x8CE212F8 _L 0x20001390 0x50440001 _L 0x20001394 0xACE012F8 _L 0x20001398 0x0A2CCDFE _L 0x2000139C 0x0004382B _C0 EX Revenge->Mode [Disable] _L 0xE00604C0 0x002CA75C _L 0x202CA75C 0xE4940018 _L 0x2033382C 0x10800008 _L 0x202C91E8 0xE60C000C _L 0x20335BD0 0x10400034 _L 0x203337F0 0x8C84052C _L 0x203337F4 0x0004382B
It automatically turns on EX Mode after(->) or during(+) EX Revenge, might have a bug if both players have max EX, hard to test that and making sure it doesn't happen will be a bother;p edit: should be fixed now ~ need to be [Disabled] before updating.
http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Reply
#44
Yep, i don't think there are any more!

The code is also actually really simple and elegant, it's almost like a loophole. Smile

But how did you actually tell which are the lines of code you are looking for? Or is it simply using breakpoints and then some trial and error?
Reply
#45
Well, when making cheats or any kind of patches like that you always have to start from something you can easily affect in game like a variable that stores some value in this case assist bar. Then set a memory breakpoint on it then follow the code back trying to understand what you're looking at and how the game works.

As for deciding what to patch in this case the code deciding whenever to activate assist or not was pretty short and what can be seen on that screenshot above 08AEEAB4, 08AEEACC and 08AEEADC all skip the same code and there's nothing that saves anything between them or being used later, meaning code could be patched in any of those places with same result. Disassembly shows such things pretty clearly, maybe even obvious with some experience, so to have it easy creating such patches you only need to learn MIPS, experience with that is more important than knowledge, so it's not that hard to learn, just takes time and practice.
http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Reply


Forum Jump: