Commit Graph
198 Commits
Author SHA1 Message Date
Unknown W. Brackets f198a7f587 Use checked pointers in all function replacements.
Some games are still hitting bugs and there's no way to disable this "fast
memory" without losing graphical effects.  Better to do it evenly than
weird hacks and extra logging/checks.
2014-08-03 13:04:00 -07:00
Henrik Rydgård 0e5679c833 Revert "Detect Peace Walker's anti-cheat hash func" 2014-07-20 23:39:11 +02:00
Unknown W. Brackets a59d8b5c1f Override the codehashing func used in Peace Walker.
This makes the demo work fine even with jit enabled.  May help the full
game when fighting a certain boss.
2014-07-18 00:23:26 -07:00
Unknown W. Brackets 81096f6bd0 Hook Dissidia's avi record func.
This makes it so replays can be recorded.  Though you could probably just
record separately anyway.
2014-07-13 08:36:34 -07:00
Unknown W. Brackets 2910f7e7a2 Flush icache before memcpys.
Maybe there's a way to optimize this better...
2014-07-05 13:23:47 -07:00
Unknown W. Brackets 0da972c548 Hook the FF1 battle effect func.
So that we can download the framebuffer.  At least, it seems like that's
what this function is doing.
2014-06-26 01:38:22 -07:00
Unknown W. Brackets 5e8716f9cc Adjust strlen() cycle approximation.
The hashed implementations take several cycles per character.
2014-06-22 23:18:06 -07:00
Unknown W. Brackets dd4b191003 Correct Gods Eater Burst tex download size.
Probably takes care of #6289, although it doesn't crash for me.
2014-06-10 22:59:08 -07:00
Unknown W. Brackets a926b19c03 Hook Tales of Phantasia X save pictures.
Maybe other games will use the same func even.  This makes save pictures
work correctly the first time.
2014-06-08 16:38:43 -07:00
sum2012 cfa0e752e1 Fix Replace_memcpy crash
Fix Replace_memcpy crash in #5496
2014-06-08 01:01:47 +08:00
Unknown W. Brackets f6d4be1d49 Hook Star Ocean's function to upload stencil data.
Hurray, it seems to work properly.
2014-05-31 21:48:11 -07:00
Unknown W. Brackets b603a71281 Fix Star Ocean movement problems due to memcpy.
It needs to handle overlap correctly, ugh.
2014-05-31 21:48:10 -07:00
Unknown W. Brackets a09b738879 Fix exit replacement hooks. 2014-05-31 21:48:10 -07:00
Unknown W. Brackets 1433b98c46 Clean up the framebuffer force downloads. 2014-05-31 10:03:03 -07:00
Unknown W. Brackets b2dc92b942 Add a hook for Hexyz Force's "monoclome" thread.
This fixes missing graphics in some areas in GLES, due to direct framebuf
access.
2014-05-31 10:03:02 -07:00
Unknown W. Brackets 5dd8ebe2b4 Add a hook for Gods Eater Burst's swizzled copy. 2014-05-31 10:03:01 -07:00
Unknown W. Brackets f489694515 Add the option to hook, rather than replace, funcs.
This can be useful for debugging or developing translations/game hacks,
and also gives us options when dealing with GLES incompatibilities.
2014-05-31 10:03:00 -07:00
Unknown W. Brackets 0de41cd028 Don't savestate replacement funcs.
This makes it so we can reorder them as we like, which is nicer, and also
makes sure there won't be weird compatibility problems or etc.
2014-05-27 08:02:41 -07:00
Unknown W. Brackets 8dcc09c9e1 Use a separate func for gpu memset(). 2014-05-27 07:50:01 -07:00
Unknown W. Brackets b73c575418 Support swizzled framebuffer downloads.
Used in God Eater 2 when showing the load save screen.
2014-05-27 01:17:09 -07:00
Unknown W. Brackets 64f6012dba Support memsets of framebuffers as uploads.
Technically should clear stencil too... maybe it'd be better to handle
separately.
2014-05-27 01:17:09 -07:00
Unknown W. Brackets 8275f613ce UpdateMemory() now returns whether to skip the cpy.
This way it can do it itself as necessary in the right order.
2014-05-25 21:48:41 -07:00
Unknown W. Brackets 27f8eb6d8a Call gpu->UpdateMemory() from memcpy() funcs. 2014-05-24 21:59:25 -07:00
Unknown W. Brackets 0248b0ba09 Add memchecks to replaced functions. 2014-05-24 21:53:42 -07:00
Unknown W. Brackets 4d665b5e7a Fix replacement funcs in the interpreter. 2014-04-28 08:01:13 -07:00
Henrik Rydgard f35168e0e0 Hardcode a bunch of function hashes so we can replace them.
Without needing an external file.
2014-04-18 19:00:08 +02:00
Unknown W. Brackets 8f26d5ceae Fix ridiculously bad typo. 2014-04-17 22:47:05 -07:00
Unknown W. Brackets 089fea7185 Ignore uncached/kernel bits in texture cache.
Although I suppose we could respect uncached and never cache...

Possibly #5879.
2014-04-14 07:58:00 -07:00
Unknown W. Brackets 76e61e10a9 Fix hashmap crashes with games that load modules.
This should properly unload and reload the functions as necessary.
2014-04-12 01:16:32 -07:00
Unknown W. Brackets 05ab192c9c Reduce includes in Core/HLE/.
Especially templates.
2014-03-15 11:22:19 -07:00
Unknown W. Brackets c7437bbe8e Fix some minor warnings. 2014-03-03 00:08:32 -08:00
Henrik Rydgard eea5b07e1a Prevent function replacer from replacing asinf and acosf, they seem to have colliding hashes in some games 2014-01-07 12:03:59 +01:00
Unknown W. Brackets ed759d32ff Correctly identify a blockwise memcpy.
Oops, I didn't realize this one went in blocks of 16.
2013-12-27 21:39:05 -08:00
Henrik Rydgard acce50aaa5 A few more math functions replaced 2013-12-22 12:51:16 +01:00
Henrik Rydgard 7189adf33a non-windows x86 buildfix 2013-12-21 19:47:59 +01:00
Henrik Rydgard 6a051a9eed Oops 2013-12-21 13:05:30 +01:00
Henrik Rydgard 215a269b34 Optimize dl_write_matrix just because. not expecting a big speedup... 2013-12-21 12:39:34 +01:00
Henrik Rydgard 455a73bba7 Bugfix replace function inlining (compilerPC needs to be increased). Misc. 2013-12-20 15:37:37 +01:00
Henrik Rydgard a53a032120 Prevent hashes from coming out differently after replacement. 2013-12-20 13:53:03 +01:00
Henrik Rydgård 3957b5fb42 Call ProxyBlock in ArmJit too. Plus various cleanup and one more string function. 2013-12-19 11:45:39 +01:00
Henrik Rydgård 5585b85ccc Use GetPointerUnchecked in replaced functions. No point in checking these addresses really. 2013-12-19 11:34:55 +01:00
Unknown W. Brackets b48c625adc Replacements: use memmove, avoid invalid addr.
If size = 0, don't care about addresses.  Some games use 0, 0, 0 and
expect it to work just fine, which it should.
2013-12-19 00:15:03 -08:00
Henrik Rydgard 1e300447e1 Fix some replace-related bugs. Add "jal" replace inlining, not activated. 2013-12-18 16:27:23 +01:00
Henrik Rydgard 2d4c28826a Show replaced instructions correctly in disassembly 2013-12-18 11:42:19 +01:00
Henrik Rydgard 041ed9a4b8 More replace function work 2013-12-18 11:22:53 +01:00
Henrik Rydgard 6937719c3b Minor fixes around function replacement, a couple of math funcs 2013-12-18 10:35:50 +01:00
Henrik Rydgard 2eab4aa1bf Play around with function replacement. Turned off by default of course. 2013-12-17 23:40:27 +01:00
Henrik Rydgard 2140892074 Initial preparations for ability to replace game functions with custom implementations.
Also auto-saves hashmap additions and reapplies the hashmap on function
rename so that if you rename a function that exists in several copies
they will all be labelled.

Note that actual function replacement is not activated yet.
2013-12-17 12:27:20 +01:00