Commit graph

50 commits

Author SHA1 Message Date
Roza
3106df636a Detect DLL architecture at runtime 2021-01-01 00:08:28 -05:00
Roza
1ae167427f Fix Windows build errors 2020-12-31 19:59:53 -05:00
Roza
559ed0bd4e Attept 64-bit MiniFFI on Windows 2020-12-31 16:58:47 -05:00
Roza
49138530db Prefix mkxp-z preprocessor definitions with MKXPZ_ 2020-12-31 14:50:07 -05:00
zzoro
672844ee47 Support building with Ruby 1.9 2020-11-15 18:47:21 -05:00
Roza
294857edd9 Raise max FFI args to 32 (for Windows) 2020-04-23 06:10:09 -04:00
Roza
2775a5a8e2 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
Roza
8bd4e3f540 Use native SetWindowLong+RegisterHotKey on Windows 2020-04-16 06:40:09 -04:00
Roza
57e36ac05e rewrite Windows FFI asm 2020-04-14 06:48:33 -04:00
Roza
cd4845ec06 movnz should be cmovnz 2020-04-13 04:12:14 -04:00
Roza
1f8f2f9619 actually require cxx compiler to be clang 2020-04-13 04:07:32 -04:00
Roza
d74b49aec6 woops fix 2020-04-13 04:03:43 -04:00
Roza
955b01f3e4 Restore stack pointer after FFI calls (and pray) 2020-04-13 03:59:07 -04:00
Roza
767a988166 Implement SteamUserStatsLite 2020-02-28 03:23:16 -05:00
Roza
901b2b6143 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
Roza
1434e9e313 OLD_RUBY -> RAPI_MAJOR/RAPI_MINOR/RAPI_TEENY/RAPI_FULL 2020-02-26 12:44:37 -05:00
Roza
39f47caef7 Fix Win32API on Windows (screw Windows) 2020-02-23 02:09:55 -05:00
Inori
f4da232a8b always alias MiniFFI class as Win32API 2019-12-21 04:53:14 -05:00
Inori
5255d56cbc Use pkg-config with Ruby 1.8 2019-12-17 06:22:01 -05:00
Inori
a2791fb8a0 Always use same typedef for MINIFFI_FUNC 2019-12-17 02:27:55 -05:00
Inori
78f9a7855b rb_get_args is annoying 2019-09-21 20:19:34 -04:00
Inori
aa2c243183 Replace MiniFFI allocation function with correct one 2019-09-15 07:56:30 -04:00
Inori
079e878e12 use MiniFFI in Ruby >1.8 2019-09-14 03:03:41 -04:00
Inori
481f23eeef Add fake-api GetUserName 2019-09-06 16:51:02 -04:00
Inori
db0bb632ed Use MKXP_SetWindowLong for Windows 2019-08-27 10:35:56 -04:00
Inori
037da0e17f more fakeapi stuff + Disable frameskipping by default 2019-08-25 17:58:12 -04:00
Inori
ba5c6392dc Add fake-api GetPrivateProfileString 2019-08-25 12:27:41 -04:00
Inori
ffa5784ec0 Support Boolean in MiniFFI 2019-08-24 22:53:53 -04:00
Inori
b844c3dea2 misc fake-api functions for Unix 2019-08-24 22:14:44 -04:00
Inori
80e9291978 Add GetAsyncKeyState 2019-08-23 12:21:52 -04:00
Inori
2605ae3063 Use eventthread keystates instead of SDL_GetKeyboardState 2019-08-22 21:33:33 -04:00
Inori
d1250c0fe0 Start macOS/Linux fake-api 2019-08-22 13:56:18 -04:00
Inori
339d32da74 Remove 'fix_essentials', add 'use_fakeapi' 2019-08-20 05:21:30 -04:00
Inori
48ce1515c9 Add Graphics.screenshot 2019-08-19 08:59:35 -04:00
Inori
f037df0378 Fix GetKeyboardState not recognizing Shift presses 2019-08-17 18:43:20 -04:00
Inori
0651d57476 Correctly pass arguments for fastcalls 2019-08-10 12:39:23 -04:00
Inori
3b36b56c4b Use SDL for Win32API.SetWindowText 2019-08-09 08:14:02 -04:00
Inori
334ab2944e Use own GetWindowRect instead of WinAPI's 2019-08-08 09:40:50 -04:00
Inori
8b7c882b7c Resurrect mouse detection 2019-08-06 22:43:19 -04:00
Inori
61d648b620 whoops 2019-08-06 15:54:01 -04:00
Inori
4a428cd3b4 Move fake Win32API functions out of if/else chain 2019-08-06 15:33:54 -04:00
Inori
7faafc975d Let MiniFFI instances yield themselves in blocks 2019-08-04 19:51:38 -04:00
Inori
e64f6dcd1f
Undo eyesore notepad++ formatting 2019-08-04 16:52:35 -04:00
Inori
9d5beba56d Make 3rd+4th args of MiniFFI.initialize optional 2019-08-04 16:04:56 -04:00
Inori
52a55ebd09 Don't crash if MiniFFI.initialize gets nil imports 2019-08-04 15:24:42 -04:00
Inori
4b48aa071c Remove redundant error text in MiniFFI, SDL's got this 2019-08-04 08:53:17 -04:00
Inori
ff2adfffe7 Don't let SpriteResizer disable native fullscreen 2019-08-04 08:26:10 -04:00
Inori
80259c3063 Account for Win32API.restoreScreen metrics 2019-08-03 12:56:00 -04:00
Inori
9be3ed9e61 Start working on ScreenResizer 2019-08-03 12:33:35 -04:00
Inori
93fee7bfb3 Rename MiniDL to MiniFFI 2019-08-03 08:31:04 -04:00
Renamed from binding/minidl-binding.cpp (Browse further)