Commit Graph

425 Commits

Author SHA1 Message Date
Adam
d534ef9ff9 repo: use static miniz for cmake 2024-06-25 00:55:04 +01:00
Adam
c8ae806402 library: add all missing win32 files and functions 2024-06-24 22:18:46 +01:00
Adam
9df8df559c main: don't send ipc msg on windows (for now) 2024-06-24 22:17:51 +01:00
Adam
1494d2ae08 client: missing windows function 2024-06-24 22:16:00 +01:00
Adam
20eb410137 client: don't needlessly align messages 2024-06-24 21:54:49 +01:00
Adam
28fdd97965 library: implement api_time for windows 2024-06-24 21:33:56 +01:00
Adam
eb7b939b58 library: use correct rwlock type on windows 2024-06-24 20:25:13 +01:00
Adam
117ac2bab5 library: various changes to work with MSVC 2024-06-23 20:26:21 +01:00
Adam
e5b9a7dbd6 window_launcher: add missing functions for windows 2024-06-23 14:17:54 +01:00
Adam
2c3051bc8c file_manager: let directory.cxx compile on windows 2024-06-23 14:09:32 +01:00
Adam
95fda2c3e4 mime: let mime.cxx compile on windows 2024-06-23 14:01:30 +01:00
Adam
e21284b5c9 library: fill all values of mouse events from xcb 2024-06-22 18:18:35 +01:00
Adam
d4093ec1d5 library: use correct event details for scroll-down 2024-06-22 18:02:52 +01:00
Adam
6e125124b3 library: remove unused windowlightmeta 2024-06-22 17:54:44 +01:00
Adam
157b089fa8 library: use full userdata instead of light
Due to a Lua ""feature"", light userdatas all share the same metatable,
so setting individual ones for each event wasn't working very well. The
solution instead is to replace the light userdata pointer with a full
userdata with the event struct copied into it. This also means we can't
have window objects being presented in callbacks, but that's okay, I
think plugins should be using upvalues for that anyway.
2024-06-22 17:43:07 +01:00
Adam
0f331d241b library: better and fuller mouse event system 2024-06-22 17:16:22 +01:00
Adam
e1bb14f7e7 library: correct type of scroll direction 2024-06-22 00:23:56 +01:00
Adam
68a0c43e1f library: move static functions from gl.h to gl.c 2024-06-21 23:01:54 +01:00
Adam
a6839aa126 library: generalise plugin_process_windows 2024-06-21 22:54:43 +01:00
Adam
66e98508f3 library: remove glGetError call
why did I put this here?? no idea
2024-06-21 22:48:19 +01:00
Adam
7a60c61170 library: mouse motion and button events
also started adding window's metatable to it in the event callbacks
2024-06-21 20:37:43 +01:00
Adam
b953c29568 library: rough window-event system 2024-06-16 18:44:16 +01:00
Adam
26d7bfe402 library: basic concept for embedded windows
No focusing system (do we actually need one?), no event system at all,
and no support for inputs via wayland
2024-06-01 15:53:25 +01:00
Adam
463c2817b8 library: fix game crash on plugin crash 2024-05-26 17:10:25 +01:00
Adam
a23324e462 library: fix copy-paste error 2024-05-19 19:53:56 +01:00
Adam
1910af62b9 library: clarify createsurfacefromrgba doc 2024-05-12 17:17:43 +01:00
Adam
24fd67aeb8 library: typo 2024-05-11 02:03:47 +01:00
Adam
86ed7ea1aa library: new time API functions
Added the following functions:
- datetime
- weekday
2024-05-11 01:40:43 +01:00
Adam
527ae38c2e library: use static as appropriate 2024-05-11 00:56:53 +01:00
Adam
fb1b464027 library: complete surfaces API
Added the following functions:
- createsurfacefromrgba
- createsurfacefrompng
- surface_drawtosurface
2024-05-11 00:44:01 +01:00
Adam
955eda88ea browser: set launcher's window title 2024-05-04 15:25:58 +01:00
Adam
e039174e04 library: allow require() for secondary files 2024-05-04 00:30:04 +01:00
Adam
599ff83b51 library: funny hack to avoid using strlen
Calculating strlen of a hard-coded stringat runtime, by iterating
through it until finding a 0 byte, is nothing but a waste of CPU cycles.
We already know the length, so let's just use it directly.
2024-05-03 22:37:20 +01:00
Adam
62908af138 library: one lua stack per plugin
It's more resource-intensive, but all the plugins sharing one stack was
causing so many problems that I'm not sure it was even possible to do
correctly; Lua stacks are aggressively global, and all the plugins
sharing one set of global state was causing so many bugs, not to mention
safety issues of plugins potentially having access to each other, that
it's simply not worth the trouble.
2024-05-03 20:52:45 +01:00
Adam
18f438d604 window_launcher: add plugin_loader param 2024-05-01 20:40:58 +01:00
Adam
a6a533f3c5 Merge branch 'master' into plugin-integration 2024-05-01 19:21:37 +01:00
Adam
d0bc696642 window_launcher_posix: big rework
Removes a lot of the mess and macro soup left over from when this file
was based on posix_spawn instead of fork exec. Notable changes:
- pass app.user.home to HDOS: makes fake_java.c a lot simpler
- no longer need to manipulate XDG_RUNTIME_DIR: fixes issues such as #19
- FindJava function: no longer relying on JAVA_HOME to be correct or on
  /usr/bin/env to find java, fixes issues such as #24, #34
2024-04-29 19:49:11 +01:00
Adam
2435920596 fake_java: don't set home
This is already possible using getdown's passthrough properties
(-Dapp.user.home=...)
2024-04-29 19:43:34 +01:00
Adam
b730a7197f window_launcher: /start-plugin api 2024-04-29 05:23:13 +01:00
Adam
3077a31216 client: StartPlugin() 2024-04-29 05:22:58 +01:00
Adam
5e1468883c library: define & handle IPC_MSG_STARTPLUGINS 2024-04-29 05:22:08 +01:00
Adam
43ff7fd251 client: fix crash on closing clients
Previously the correct client would me destroyed but it wasn't
necessarily the correct one that would get removed from the list. It
seems to be that it was always the last one that would get removed. I'm
not sure why this was using a multiple-result search in the first place.
2024-04-29 03:11:41 +01:00
Adam
8e85b160a6 repo: BoltIPCMessage->BoltIPCMessageToHost 2024-04-28 16:29:18 +01:00
Adam
9e1d468cbd window_launcher: /read-json-file 2024-04-24 03:44:18 +01:00
Adam
ec7bcfeecd window_launcher: plugin-related requests
/list-game-clients and /json-file-picker
2024-04-24 02:21:55 +01:00
Adam
ff02956206 window_launcher: debug print 2024-04-23 18:03:50 +01:00
Adam
68e39a43a1 browser: send plugins.json contents to launcher 2024-04-23 17:46:04 +01:00
Adam
eb48600cef library: remove unused IPC_MSG_NEWPLUGINS 2024-04-23 15:51:26 +01:00
Adam
279d5176a9 browser: send client-list-update messages 2024-04-23 04:47:11 +01:00
Adam
4809fa885d browser: handle /list-game-clients and IPC_MSG_IDENTIFY 2024-04-23 01:58:54 +01:00