Commit Graph

45 Commits

Author SHA1 Message Date
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