Fixes some file handling in IPC_HLE
* change File::GetSize to fetch the size directly from the open file instead
of stat’ing it when challed with a FILE*
* use changed File::GetSize(FILE *f) instead of calling with file name in two
* remove «seek_pos % file_size» hack for ZTP, so one can seek to the end of
file again. Please check Zelda: Twilight Princess for regressions
* return error codes when reading or writing from/to a file
A lot of those changes are from j4ck.fr0st, so kudos to him.
I did not change the file open mode for ISFS_OPEN_WRITE to «wb». While that
would probably be more correct, it says in the comment that it might affect
Mario Kart Wii. I would prefer somebody with that game try that change
Please check your games for regressions (or even improvement). Some games that
may be affected are Zelda — Twilight Princess and Metroid Prime 3.
Fixes issue 1749
* Added 21 Arithmetic instructions to the JIT
* Used the DSPAnalyser to identify arithmetic/multiplier instructions that precede a conditional branch. This allows the JIT to skip updating the SR when nothing would read from it. Marked all arithmetic/multiplier instructions in the DSPTable for this purpose.
* Converted CheckExternalInterrupt into ASM
* Fixed a couple instructions in DSP Load/Store