Wayward Heart
a73f9ccc1f
Prevent memory leaks from rb_raise
...
rb_raise calls longjmp, which bypasses C++ destructors, and also keeps the error for catch blocks from being unallocated if passed by reference, which we do for exceptions.
Some of the calls I left can still jump out of try blocks, which you're not supposed to do, but there shouldn't be any objects with destructors initialized at those points so it's probably fine.
2024-08-02 09:26:51 -05:00
Struma
950e62dff1
make reloads after using System.un/mount optional
...
Also, use rb_bool_arg more often.
2022-01-20 19:50:46 -05:00
Struma
95e17244fd
Remove Windows API emulation
2021-06-08 19:02:15 -04:00
Struma
fdb86f2ede
Do not use GVL on possibly time-consuming functions
2021-06-02 08:42:32 -04:00
Struma
84c4f97c6c
Add more detailed platform detection
2021-05-23 21:40:48 -04:00
Struma
f583683609
Satisfy hardened runtime dyld path reqs in Win32API
2021-04-15 23:59:27 -04:00
Struma
db919e9f29
Make sure all Ruby strings are created as UTF-8
2021-03-02 03:26:51 -05:00
Struma
92f92dc480
lParam size should be architecture dependent
2021-01-05 01:31:27 -05:00
Struma
19f04599b7
Revert "Detect DLL architecture at runtime"
...
This reverts commit 3106df636a
.
2021-01-01 00:26:37 -05:00
Struma
1785d7c2dd
Detect DLL architecture at runtime
2021-01-01 00:08:28 -05:00
Struma
8f78a4cf17
Fix Windows build errors
2020-12-31 19:59:53 -05:00
Struma
69514de7c6
Attept 64-bit MiniFFI on Windows
2020-12-31 16:58:47 -05:00
Struma
7db1c1219e
Prefix mkxp-z preprocessor definitions with MKXPZ_
2020-12-31 14:50:07 -05:00
Struma
bd549a65ad
Support building with Ruby 1.9
2020-11-15 18:47:21 -05:00
Struma
c08cd8359e
Raise max FFI args to 32 (for Windows)
2020-04-23 06:10:09 -04:00
Struma
5e001c79c5
rename fake_api
easypoke
...
Really the only reason it even exists at this point is
Pokemon Essentials, so I might as well stick all the dumb Essentials
fixes together
2020-04-23 02:19:24 -04:00
Struma
21f75f84aa
Use native SetWindowLong+RegisterHotKey on Windows
2020-04-16 06:40:09 -04:00
Struma
6b0ffa069f
rewrite Windows FFI asm
2020-04-14 06:48:33 -04:00
Struma
5cccbc22df
movnz should be cmovnz
2020-04-13 04:12:14 -04:00
Struma
5afa2ee527
actually require cxx compiler to be clang
2020-04-13 04:07:32 -04:00
Struma
13bd24a003
woops fix
2020-04-13 04:03:43 -04:00
Struma
d3a16e88a7
Restore stack pointer after FFI calls (and pray)
2020-04-13 03:59:07 -04:00
Struma
bc7709fb53
Implement SteamUserStatsLite
2020-02-28 03:23:16 -05:00
Struma
fdaa00fb71
Restrict integer arguments to 32 bits
...
When built as 64-bit, use the 'i' and 'I' arguments for MiniFFI/Win32API
to specifically refer to a 32-bit integer.
'l', 'L', 'n' and 'N' continue to refer to the `long` sizes.
2020-02-26 18:47:46 -05:00
Struma
94e063c6c0
OLD_RUBY -> RAPI_MAJOR/RAPI_MINOR/RAPI_TEENY/RAPI_FULL
2020-02-26 12:44:37 -05:00
Struma
80f2fb3677
Fix Win32API on Windows (screw Windows)
2020-02-23 02:09:55 -05:00
Inori
faef84e1ae
always alias MiniFFI class as Win32API
2019-12-21 04:53:14 -05:00
Inori
c07a24821d
Use pkg-config with Ruby 1.8
2019-12-17 06:22:01 -05:00
Inori
fa8f9915dd
Always use same typedef for MINIFFI_FUNC
2019-12-17 02:27:55 -05:00
Inori
392fe91fb5
rb_get_args is annoying
2019-09-21 20:19:34 -04:00
Inori
3b71c1f501
Replace MiniFFI allocation function with correct one
2019-09-15 07:56:30 -04:00
Inori
a102b875b4
use MiniFFI in Ruby >1.8
2019-09-14 03:03:41 -04:00
Inori
4a98056f19
Add fake-api GetUserName
2019-09-06 16:51:02 -04:00
Inori
8876d58275
Use MKXP_SetWindowLong for Windows
2019-08-27 10:35:56 -04:00
Inori
8b384ba759
more fakeapi stuff + Disable frameskipping by default
2019-08-25 17:58:12 -04:00
Inori
f15f767d73
Add fake-api GetPrivateProfileString
2019-08-25 12:27:41 -04:00
Inori
6a563ba31c
Support Boolean in MiniFFI
2019-08-24 22:53:53 -04:00
Inori
dc8a1b100b
misc fake-api functions for Unix
2019-08-24 22:14:44 -04:00
Inori
15a64924a3
Add GetAsyncKeyState
2019-08-23 12:21:52 -04:00
Inori
d0b377e41f
Use eventthread keystates instead of SDL_GetKeyboardState
2019-08-22 21:33:33 -04:00
Inori
606975b505
Start macOS/Linux fake-api
2019-08-22 13:56:18 -04:00
Inori
9c08249992
Remove 'fix_essentials', add 'use_fakeapi'
2019-08-20 05:21:30 -04:00
Inori
28b60eb9fb
Add Graphics.screenshot
2019-08-19 08:59:35 -04:00
Inori
8243802921
Fix GetKeyboardState not recognizing Shift presses
2019-08-17 18:43:20 -04:00
Inori
c7fafb2316
Correctly pass arguments for fastcalls
2019-08-10 12:39:23 -04:00
Inori
9ee77a8f2d
Use SDL for Win32API.SetWindowText
2019-08-09 08:14:02 -04:00
Inori
d08c07b42a
Use own GetWindowRect instead of WinAPI's
2019-08-08 09:40:50 -04:00
Inori
ad0cf67cb9
Resurrect mouse detection
2019-08-06 22:43:19 -04:00
Inori
5ce926b2d7
whoops
2019-08-06 15:54:01 -04:00
Inori
cd6c659387
Move fake Win32API functions out of if/else chain
2019-08-06 15:33:54 -04:00