Commit graph

57 commits

Author SHA1 Message Date
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
Inori
8971f679d4 Let MiniFFI instances yield themselves in blocks 2019-08-04 19:51:38 -04:00
Inori
4a37282c10 Undo eyesore notepad++ formatting 2019-08-04 16:52:35 -04:00