Thread Rating:
  • 8 Vote(s) - 4.75 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Discussion] 60FPS patches for PSP games that run at 30FPS
Killing Spree damn the streak is still hot Cool

@LunaMoo about VCIII u don't have the Extra Edition one?
Chill and Go with the flow ~d[o_o]b~

@YT - youtube.com/user/SuperHack333/videos

Specs:
MDL: Dell G7 15 7590 (Laptop)
OPS: Windows 10 Pro 64-bit
CPU: Intel Core i7-9750h @ 2.60 Ghz ~ 4.50 Ghz
GPU: Nvidia GTX 1660 Ti 6GB GDDR6 @ 1455 Mhz ~ 1590 Mhz
RAM: Micron Tech. 8GB DDR4 @ 2666 Mhz (4x2)
Reply
Wink 
It's good to see this thread alive with so many new FPS codes everyday after I posted my first code last month, now with the tutorial made by LunaMoo I will do my best to find new codes for my personal game collection and fix my broken codes, at least for the "easy" ones, thanks a lot man Wink.

So guys, let's use that tutorial with as many games we have Tongue
goo.gl/kNOhTz : 60FPS master list, Mar. 2017 ; Reddit /u/Kabuto_Kun
forums.ppsspp.org/showthread.php?tid=4799&pid=105128#pid105128 : Unlock FPS in PSP games ("easy method")
forums.ppsspp.org/showthread.php?tid=4799&pid=123500#pid123500 : Permanently patch a PSP game with CW cheats.
Reply
Any chance this can happens with Metal Gear Portable Ops ?

I've been dying to play this game above 20 FPS. Sad

-Sergorn
Reply
(03-20-2015, 09:46 AM)Sergorn Wrote: Any chance this can happens with Metal Gear Portable Ops ?

I've been dying to play this game above 20 FPS. Sad

-Sergorn

There's already a code for Portable Ops, however it only works with the European version. It should be a few pages back; the OP hasn't been updated.
Reply
Well TS is not really active here.. tho I often see him roaming PCSX2 forums so this is not regularly updated Cool probably I suggest you make another thread or what?

But I think this thread is still alright we'll just wait for him to update it once he visits the forum again. Big Grin
Chill and Go with the flow ~d[o_o]b~

@YT - youtube.com/user/SuperHack333/videos

Specs:
MDL: Dell G7 15 7590 (Laptop)
OPS: Windows 10 Pro 64-bit
CPU: Intel Core i7-9750h @ 2.60 Ghz ~ 4.50 Ghz
GPU: Nvidia GTX 1660 Ti 6GB GDDR6 @ 1455 Mhz ~ 1590 Mhz
RAM: Micron Tech. 8GB DDR4 @ 2666 Mhz (4x2)
Reply
@Goshorai well patches can be long because asm code just ends up visually long as it's very basic and when you don't have room to place your code inside game functions you also have to jump to a code cave(basically a part of memory which is always empty ~ I usually use 0x08800000-0x08804000) and return keeping opcode replaced with jump as well which makes it even longer. It's not a problem for the game, because what seems visually long is actually still very short and executed instantly, it might be a problem for ppsspp cheat engine which can cause random freeezes refreshing long asm codes but 0xE type code is there to avoid it by making sure it's patched only once.

Black screen, freezes, crashes, when you're experimenting with things instead of properly checking everything is pretty normal and experimenting is probably the only way until you learn a bit of mips assembly and learn what syscalls you're patching do and what parameters they might take(I don't think I mentioned that earlier other than linking to some pdf, but parameters are stored in "a" while return values in "v" registers), nopping stuff is not exactly safest way around;3.
Disassembly itself is not exactly an isle of stability, but your problem is not related to that, you either broke the way game displays graphics or pushed the code into an endless loop. You'll just have to find a different way.

Probably best way to understand what's happening is setting a breakpoint on the start of the function, or at least before the place we're interested and click "step into" while observing how instructions are executed and what happens with registers they're messing with. For simpler opcodes it might be easier way to learn what they do by observing that way than reading some documents which are usually written in very complex/scientific language. With time you start seeing things more naturally.

I didn't really thought about patching all my collection, don't really plan anything, if I see any more game which I can patch I will. And I don't want anyone to think game x is too hard because I or someone else was not able to do it, humans are just humans, what one misses can be obvious for another, just have to try.
Changing speed which is required in most games, might be sometimes a challange, maybe even like trying to find a needle in a haystack and I guess noone is interested in sitting there and manually tracing the code trying to find out everything he needs to patch it. But that's not the only way, we can always think about other ways, I didn't really gave up completely on any game, I just for the time being don't have any more ideas how to burn that hay or magnet out that needle in games like MH.:|



@cybercjt Sorry only E2, but if you tried and the patch doesn't work in E1, it's same game definitely differs less from E2 than VCIII from VCIITongue, so at worst it's probably just a slight difference in address, you could check those three addresses in disassembly: 0x08BA99B0, 0x08847CC0 and 0x08847FC0 and look up and down a few pages until you see same things as:
   
(decreased color pallete to keep size low as it's not important, you'll see different ones anyway)
Then just copy addresses of those lines you find in your and replace them in the cheat, values should be same except for disable code which if you want you'll have to right click on jal zz_sceDisplayWaitVblankStartCB and "copy instruction (hex)" then paste it instead of "0E32665A" in the disable code. Also after doing all of that you can remove "_L 0xE.." line completely, it shouldn't be needed for short cheats anyway, I just got used to it and add it automatically to all my cheats from some time;p.

Edit:
Code:
_S NPJH-50721 _G Frontier Gate Boost+ (v1.01) _C0 60 fps _L 0xE0010000 0x101202F0 _L 0x201202F0 0x00000000 //Will probably not work in non-updated game;3. _C0 60 fps [Disable] _L 0x201202F0 0x5660FFF6
Another Edit:
Code:
_S UCES-01327 _G Mod Nation Racers _C0 60 fps _L 0xE001001E 0x001B5F48 _L 0x201B5F48 0x00000000 _C0 60 fps [Disable] _L 0x201B5F48 0x14C0001E


Next day edit:
Made it as a proof of concept, just to show that it is possible to patch any game to 60 fps and how much stuff has to be patched to make it for those mh games;c. Cannot be easily ported to other MH games except for the fps unlock itself because life happens it's also likely imperfect althrough playable and very smooth, for now I'm taking a break. Those games are really bothersome to patch, not sure if I repeat that, so I picked 2nd G as it has most content and was easier than 3rd HD from which I started and gaved up a few times earlier;p. Now nobody can say "it's impossible" so good luck patching other games:3.
Code:
_S ULJM-05500 _G Monster Hunter Portable 2nd G _C0 60 fps _L 0xE018DD18 0x000590C0 _L 0x200590C0 0x0A20080B _L 0x200590C4 0x3C0808B5 _L 0x2000202C 0x8D095654 _L 0x20002030 0xAC64DD18 _L 0x20002034 0x51200002 _L 0x20002038 0x34030000 _L 0x2000203C 0x28830002 _L 0x20002040 0x0A216432 _L 0x2006DFC4 0x0A200800 _L 0x2006DFC8 0x00651823 _L 0x20002000 0x3C170880 _L 0x20002004 0x8EFB1FFC _L 0x20002008 0x13600003 _L 0x2000200C 0x277B0001 _L 0x20002010 0x00651821 _L 0x20002014 0x277BFFFE _L 0x20002018 0x04610002 _L 0x2000201C 0xAC830010 _L 0x20002020 0xAC800010 _L 0x20002024 0x0A21B7F5 _L 0x20002028 0xAEFB1FFC _L 0x200D8740 0x3C023F80 _L 0x200871A0 0x2403FDC1 _L 0x200871A4 0x2403023F _L 0xE0054000 0x012A9D68 _L 0x212A9D68 0x3C023F80 _L 0x212A5FC8 0x3C033FA0 _L 0x212A5FDC 0x3C033FA0 _L 0x212A9FC8 0x3C033F80 _L 0x212B7460 0x3C023F80 _L 0xE00E4000 0x0129E4C0 _L 0x2129E4C0 0x3C033F80 _L 0x2129E49C 0x3C033F80 _L 0x2129FD9C 0x3C033F80 _L 0x2129E4C4 0x3C033FD9 _L 0x2129FDA0 0x3C033FD9 _L 0x212612B0 0x3C023F80 _L 0x2126297C 0x3C033F80 _L 0x21299508 0x3C023FA0 _L 0x21299534 0x3C023FA0 _L 0x21299560 0x3C023FA0 _L 0x2126397C 0x3C033F80 _L 0x21270CD4 0x3C023F80 _L 0x21270CB4 0x3C023F80 _L 0x21270C9C 0x3C023F80 _L 0xE0054000 0x012C1968 _L 0x212C1968 0x3C033F80 _L 0x212C1C34 0x3C023F80 _L 0x212C1DC4 0x3C023F80 _L 0x212C6810 0x3C023F00 _L 0x212C6838 0x3C023F80 _L 0xE0101821 0x0126552C _L 0x2126552C 0x0A200813 _L 0x21265530 0x00701821 _L 0x2000204C 0x3C1F0880 _L 0x20002050 0x8FFB2048 _L 0x20002054 0x2E1E0004 _L 0x20002058 0x17C00005 _L 0x2000205C 0x2E1EFFFC _L 0x20002060 0x13C00003 _L 0x20002064 0xA623055A _L 0x20002068 0x0A69954D _L 0x2000206C 0xAFFB2048 _L 0x20002070 0x1360FFFC _L 0x20002074 0x277B0001 _L 0x20002078 0x00701823 _L 0x2000207C 0x277BFFFE _L 0x20002080 0x1000FFF8 _L 0xE00A0362 0x0129D8CC _L 0x2129D8CC 0x0A200823 _L 0x2000208C 0x3C020880 _L 0x20002090 0x8C5B2088 _L 0x20002094 0x13600003 _L 0x20002098 0x277B0001 _L 0x2000209C 0x2463FFFF _L 0x200020A0 0x277BFFFE _L 0x200020A4 0xAC5B2088 _L 0x200020A8 0x0A6A7635 _L 0x200020AC 0x34020362 _L 0xE005400C 0x012AD2F4 _L 0x212AD2F4 0x3C033F8C _L 0x212AD474 0x3C033F8C _L 0x212AD548 0x3C023F80 _L 0x212AE180 0x3C023F80 _L 0x212AE474 0x3C043F80 _L 0xE0034000 0x013029CA _L 0x213029C8 0x3F800000 _L 0x213029CC 0x3FC00000 _L 0x213029D0 0x40000000 _L 0xE0023FCC 0x01299FFC _L 0x21299FFC 0x3C023F4C _L 0x2129A010 0x3C023FA0 _L 0xE00D082C 0x100D8764 _L 0x200D8764 0x0A20082C _L 0x200D8768 0x3C023F80 _L 0x200020B0 0x3C1B090B _L 0x200020B4 0x8F63F21C _L 0x200020B8 0x3C1B43FA _L 0x200020BC 0x147B0002 _L 0x200020C4 0x3C024000 _L 0x200020C8 0x0A2361DB _L 0x200020CC 0x44820800 _L 0x200D4584 0x2841003C _L 0x200D458C 0x28410078 _L 0x200D459C 0x284100A0 _L 0x2006B3AC 0x240204B0 _L 0xE001005A 0x0139D274 _L 0x2139D274 0x240200B4 _L 0xE00C0005 0x012D8BF8 _L 0x212D8BF8 0x0A200835 _L 0x212D8BFC 0x3C1B0880 _L 0x200020D4 0x8F6420D0 _L 0x200020D8 0x10800003 _L 0x200020DC 0x24840001 _L 0x200020E0 0x24420001 _L 0x200020E4 0x2484FFFE _L 0x200020E8 0xAF6420D0 _L 0x200020EC 0x18400003 _L 0x200020F0 0xAE220414 _L 0x200020F4 0x0A6B6300 _L 0x200020FC 0x0A6B6304 _C0 60 fps [Disable] _L 0x200590C0 0xAC64DD18 _L 0x200590C4 0x28830002 _L 0x200D8764 0x3C024000 _L 0x2006DFC4 0x00651823 _L 0x2006DFC8 0x04610002 _L 0x200D8740 0x3C024000 _L 0x200871A0 0x2403FB82 _L 0x200871A4 0x2403047E _L 0xE0053F80 0x012A9D68 _L 0x212A9D68 0x3C024000 _L 0x212A5FC8 0x3C034020 _L 0x212A5FDC 0x3C034020 _L 0x212A9FC8 0x3C034000 _L 0x212B7460 0x3C024000 _L 0xE00E3F80 0x0129E4C0 _L 0x2126297C 0x3C034000 _L 0x21299508 0x3C024020 _L 0x21299534 0x3C024020 _L 0x21299560 0x3C024020 _L 0x2126397C 0x3C034000 _L 0x21270CD4 0x3C024000 _L 0x21270CB4 0x3C024000 _L 0x21270C9C 0x3C024000 _L 0x2129E4C0 0x3C034000 _L 0x2129E49C 0x3C034000 _L 0x2129FD9C 0x3C034000 _L 0x2129E4C4 0x3C034059 _L 0x2129FDA0 0x3C034059 _L 0x212612B0 0x3C024000 _L 0xE0053F80 0x012C1968 _L 0x212C1968 0x3C034000 _L 0x212C1C34 0x3C024000 _L 0x212C1DC4 0x3C024000 _L 0x212C6810 0x3C023F80 _L 0x212C6838 0x3C024000 _L 0xE0020813 0x0126552C _L 0x2126552C 0x00701821 _L 0x21265530 0xA623055A _L 0xE0010823 0x0129D8CC _L 0x2129D8CC 0x24020362 _L 0xE0053F8C 0x012AD2F4 _L 0x212AD2F4 0x3C03400C _L 0x212AD474 0x3C03400C _L 0x212AD548 0x3C024000 _L 0x212AE180 0x3C024000 _L 0x212AE474 0x3C044000 _L 0xE0033F80 0x013029CA _L 0x213029C8 0x40000000 _L 0x213029CC 0x40400000 _L 0x213029D0 0x40800000 _L 0xE0023F4C 0x01299FFC _L 0x21299FFC 0x3C023FCC _L 0x2129A010 0x3C024020 _L 0xE0063F80 0x100D8764 _L 0x200D8764 0x3C023F80 _L 0x200D8768 0x44820800 _L 0x200D4584 0x2841001E _L 0x200D458C 0x2841003C _L 0x200D459C 0x28410050 _L 0x2006B3AC 0x24020258 _L 0xE00100B4 0x0139D274 _L 0x2139D274 0x2402005A _L 0xE0020835 0x012D8BF8 _L 0x212D8BF8 0x18400005 _L 0x212D8BFC 0xAE220414
Tested only in few quests which I didn't even finish, just wanted to see monsters/bosses speed, felynes and npc's which all are hopefully ok. Also I used english patch for that one, doubt it changes anything that was patched, mentioning just in case since if it does affect it;3.
Edit: changelog - fixed lots of small activities which had double speed, stamina consumption/regen and camera control
Update: - fixed climbing speed, GS charge speed, also decided to force 2x speed in old cave during mining animation since for now it's the only way I could sync it, body disappearing timer and 20s to quest finish timer, I don't think I'll bother with correcting 2 minutes after quest ends since 1 minute is more than enough time.
Things left? Probably, because this game loves to piss me off with how it's doing everything, to the point I want to give up on 3rd completely, every time I patch something I notice something else while testingTongue. Most of the time it's not even hard, just bothersome and boring.
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
Just tested that 60fps patch for monster hunter 2nd G
Oh man. So amazing. *_* Feels so smooth.
Reply
I actually logged to fix it just now, since I didn't notice when posting it earlier that it was causing crashes in some menus, so better get it again.:c Edit: and quick fix to the fix;p, on a positive note, it seems to work fine in multiplayer at least when all players use it.
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
That's awesome! ... sucks that i'm a MonHun3rd player.... T__T
Reply
(03-21-2015, 11:20 PM)LunaMoo Wrote: I actually logged to fix it just now, since I didn't notice when posting it earlier that it was causing crashes in some menus, so better get it again.:c Edit: and quick fix to the fix;p, on a positive note, it seems to work fine in multiplayer at least when all players use it.
Just tried the update. I didnt have any crashing in the older on. Thanks again. Wish it was for the US one but hey i can't complain. Finally got what i've been waiting for a 60fps monster hunter patch ^^ Tys Big Grin
Reply
Another one

Sonic Rivals 2 [EUR], ULES00940.ini
Code:
_S ULES-00940 _G Sonic Rivals 2 [EUR] _C0 60 FPS _L 0x201A4BFC 0x00000001 _C0 30 FPS [Default] _L 0x201A4BFC 0x00000002 _C0 20 FPS _L 0x201A4BFC 0x00000003

After "some" testing for the code, this one runs perfect too at any speed, remember to only enable the ONE you want to use (20, 30 or 60 FPS).
goo.gl/kNOhTz : 60FPS master list, Mar. 2017 ; Reddit /u/Kabuto_Kun
forums.ppsspp.org/showthread.php?tid=4799&pid=105128#pid105128 : Unlock FPS in PSP games ("easy method")
forums.ppsspp.org/showthread.php?tid=4799&pid=123500#pid123500 : Permanently patch a PSP game with CW cheats.
Reply
(03-22-2015, 08:38 AM)Kabuto_Kun Wrote: Another one

Sonic Rivals 2 EUR, ULES00940.ini
Code:
_S ULES-00940 _G Sonic Rivals 2 EUR _C0 Force 60 FPS _L 0x201A4BFC 0x00000001 _C0 Force 30 FPS _L 0x201A4BFC 0x00000002 _C0 Force 20 FPS _L 0x201A4BFC 0x00000003

After "some" testing for the code, this one runs perfect too at any speed, remember to only enable the ONE you want to use (20, 30 or 60).

Nice, you followed LunaMoo's tutorial for that?
Reply
Since I started all of this from that game and also got some nice quest editor recently, with info I got from 2nd G I decided to give 3rd another try. Had to patch lots of values instead of just code since it loads speed constants from files instead of setting them in the code, but whatever since all of those mh games are bothersome anyway.
Code:
_S NPJB-40001 _G Monster Hunter Portable 3rd HD _C0 Unlock 60 fps _L 0xE0090A00 0x100766B8 _L 0x200766B8 0x0A200A00 _L 0x200766BC 0x3C0808B7 _L 0x20002800 0x8D097B14 _L 0x20002804 0x51200002 _L 0x20002808 0x24030000 _L 0x2000280C 0x28A30002 _L 0x20002810 0x0A21D9B0 _L 0x20002814 0xACC53660 _L 0x200A6AA0 0x00000000 _L 0xE00A0A06 0x100F7128 _L 0x200F7128 0x0A200A06 _L 0x20002818 0x3C020880 _L 0x2000281C 0x8C5B27FC _L 0x20002820 0x13600003 _L 0x20002824 0x277B0001 _L 0x20002828 0x24630001 _L 0x2000282C 0x277BFFFE _L 0x20002830 0xAC5B27FC _L 0x20002834 0x0A23DC4C _L 0x20002838 0x9202000C _L 0xE0055FA8 0x0185E610 _L 0x218B1D78 0x00000000 _L 0x21902D58 0x00000000 _L 0x218D30C0 0x00000000 _L 0x219AEBD0 0x3F800000 _L 0x219AEF40 0x42700000 _L 0xE0054E1C 0x0185E610 _L 0x219CAF10 0x3F800000 _L 0x21917098 0x00000000 _L 0x219CAE48 0x3F800000 _L 0x219CAE7C 0x3FA00000 _L 0x219CAFD4 0x3F8CCCCD _C0 Restore 30fps _L 0x200766B8 0x28A30002 _L 0x200766BC 0xACC53660 _L 0x200A6AA0 0x46000000 _L 0x200F7128 0x9202000C _L 0xE0055FA8 0x0185E610 _L 0x218B1D78 0x4614A500 _L 0x21902D58 0x46000000 _L 0x218D30C0 0x46000000 _L 0x219AEF40 0x41F00000 _L 0x219AEBD0 0x40000000 _L 0xE0054E1C 0x0185E610 _L 0x219CAE48 0x40000000 _L 0x219CAE7C 0x40200000 _L 0x219CAF10 0x40000000 _L 0x21917098 0x46000000 _L 0x219CAFD4 0x400CCCCD
Tested even less than 2nd G, so I might modify it in the future. Minor stuff likely will always be a bit faster, but gameplay related stuff should be fine.
Edit:
- to specify: player/felyne/npc's/normal monsters/quest timer speed in village/during quest was patched in this patch initially as well as 60fps and a fmv fix. If none of that works for you, then for whatever reason the patch did not activated, probably because you loaded a savestate and lots of things in this game actually have to load properly.

I know there are some things still to patch which I missed like big monsters, likely some activities, stamina etc which runs at x2 speed. I'm currently trying to make 2nd G patch as close to perfection as I can and will not work on two of those games at the same time since they're *put random swear here* bothersome to patch with the 3rd being worse offender and I'm doing it alone in my free time.
Thanks everyone who understand and for listing few things I missed before I even tested it, I will certainly post an update when I have time to do anything more with it:3, hope there aren't any that don't understand but if - well you know where you can go and do what. :x
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
(03-22-2015, 03:46 PM)LunaMoo Wrote: Since I started all of this from that game and also got some nice quest editor recently, with info I got from 2nd G I decided to give 3rd another try. Had to patch lots of values instead of just code since it loads speed constants from files instead of setting them in the code, but whatever since all of those mh games are bothersome anyway.
Code:
_S NPJB-40001 _G Monster Hunter Portable 3rd HD _C0 Unlock 60 fps _L 0xE0090A00 0x100766B8 _L 0x200766B8 0x0A200A00 _L 0x200766BC 0x3C0808B7 _L 0x20002800 0x8D097B14 _L 0x20002804 0x51200002 _L 0x20002808 0x24030000 _L 0x2000280C 0x28A30002 _L 0x20002810 0x0A21D9B0 _L 0x20002814 0xACC53660 _L 0x200A6AA0 0x00000000 _L 0xE00A0A06 0x100F7128 _L 0x200F7128 0x0A200A06 _L 0x20002818 0x3C020880 _L 0x2000281C 0x8C5B27FC _L 0x20002820 0x13600003 _L 0x20002824 0x277B0001 _L 0x20002828 0x24630001 _L 0x2000282C 0x277BFFFE _L 0x20002830 0xAC5B27FC _L 0x20002834 0x0A23DC4C _L 0x20002838 0x9202000C _L 0xE0055FA8 0x0185E610 _L 0x218B1D78 0x00000000 _L 0x21902D58 0x00000000 _L 0x218D30C0 0x00000000 _L 0x219AEBD0 0x3F800000 _L 0x219AEF40 0x42700000 _L 0xE0054E1C 0x0185E610 _L 0x219CAF10 0x3F800000 _L 0x21917098 0x00000000 _L 0x219CAE48 0x3F800000 _L 0x219CAE7C 0x3FA00000 _L 0x219CAFD4 0x3F8CCCCD _C0 Restore 30fps _L 0x200766B8 0x28A30002 _L 0x200766BC 0xACC53660 _L 0x200A6AA0 0x46000000 _L 0x200F7128 0x9202000C _L 0xE0055FA8 0x0185E610 _L 0x218B1D78 0x4614A500 _L 0x21902D58 0x46000000 _L 0x218D30C0 0x46000000 _L 0x219AEF40 0x41F00000 _L 0x219AEBD0 0x40000000 _L 0xE0054E1C 0x0185E610 _L 0x219CAE48 0x40000000 _L 0x219CAE7C 0x40200000 _L 0x219CAF10 0x40000000 _L 0x21917098 0x46000000 _L 0x219CAFD4 0x400CCCCD
Tested even less than 2nd G, so I might modify it in the future. Minor stuff likely will always be a bit faster, but gameplay related stuff should be fine.

Ur doing a Great Job Luna Keep it up :3
http://img4.fotos-hochladen.net/uploads/dhsignaturehcv9txkqdu.png
Reply
Woop woop! Thanks for that Big Grin
Reply


Forum Jump: