Commit graph

97 commits

Author SHA1 Message Date
da225e85d0 ctrl: also listen on tcp 2023-04-11 01:22:00 +02:00
1f7b7de3f3 dp_doom: add '-dp-host' param to be able to use tcp as a transport 2023-04-11 01:19:41 +02:00
54fed45717 remove TODO, it's done! :) 2023-04-11 01:14:21 +02:00
6e8837733a add sdl_nyan (https://github.com/oxmox42/sdl_nyan) 2023-03-12 12:00:25 +01:00
a715b3c973 Squashed 'external/sdl_nyan/' content from commit 2307b735e
git-subtree-dir: external/sdl_nyan
git-subtree-split: 2307b735e7aab49024356c6b94bbafe0c35e7027
2023-03-12 12:00:25 +01:00
77592c0181 broken SDL input handling (WIP) 2023-03-11 12:44:36 +01:00
10114ad3c8 build fixes for FreeBSD-13.1 2023-03-11 12:44:27 +01:00
da61536cc0 cmake: do not require clang-tidy 2023-03-11 12:11:27 +01:00
66802f0584 dp_doom: silence warning about empty translation unit on little endian 2023-03-03 05:55:04 +01:00
d2469d2b49 dp_doom: disable screen size up/down and save/load keybindings 2023-03-03 05:54:47 +01:00
91ee984041 dp_doom: fix turn left/right default keybindings 2023-03-03 05:53:39 +01:00
8025233eb2 implement input publishing and receiving
Input publishing is currently toggled via Ctrl-A. This needs to be changed
because pressing Ctrl makes doomguy attack. So every time input publishing
is disabled the guy continues attacking. Use one of the unused F keys if
there is one.
2023-02-23 22:00:24 +01:00
697a73eeff be lazy, always transmit dooms MaxEvents (64) input events 2023-02-23 21:58:08 +01:00
bf469b1fe6 add doomlib which includes doomdef.h to fill out dp_doom_event_t structures
Those dp_doom_event_t structs are doom even_t structs...
2023-02-23 21:57:17 +01:00
97fc0cc13f ctrl: fix bogus elapsed time calculation. doh! 2023-02-23 21:55:19 +01:00
a72253131c prep for input publishing to dooms 2023-02-23 07:12:18 +01:00
942db69d8c dp_doom: force C11 for _Static_assert() 2023-02-23 06:17:38 +01:00
2d125f52d1 dp_doom: fix two warnings in old linuxdoom code 2023-02-23 06:16:43 +01:00
4b6c359332 add cmake option to force using the included version of SDL2 2023-02-23 06:16:09 +01:00
ccba88e3b7 ctrl: add menu entries to show dear imgui userguide and about window 2023-02-22 22:35:51 +01:00
b8fbfd718b cleanup and revive the debug drawing code 2023-02-22 21:23:31 +01:00
5a355773f8 add comment about DoomFrames from unregistered dooms 2023-02-22 21:15:22 +01:00
383d2ad324 set ui log level from trace to debug 2023-02-22 21:15:03 +01:00
6cba4b3ff4 yes, it's buggy 2023-02-22 21:13:18 +01:00
b68e59c80d copy wildmidi.cfg to the build directory so that music works by default 2023-02-22 20:31:00 +01:00
ae924b3996 look for doom1.wad and create a link in the build directory if found 2023-02-22 20:30:12 +01:00
38ba303ba8 use the included SDL if not appropriate system-wide SDL was found 2023-02-22 20:29:41 +01:00
94a1e3f8c2 add SDL-2.26.3 2023-02-22 19:20:36 +01:00
6384fb4210 Squashed 'external/SDL/' content from commit adf31f6ec
git-subtree-dir: external/SDL
git-subtree-split: adf31f6ec0be0f9ba562889398f71172c7941023
2023-02-22 19:20:36 +01:00
65e8f5eec1 preparations for also using nng_tcp as a transport 2023-02-22 19:17:06 +01:00
4f05f5e2ff ctrl: reenable the waitpid() code to catch crashing/killed dooms
TODO: implement DoomState::tLastActive timeout logic
2023-02-21 23:05:53 +01:00
d86f701fd0 finally fix dooms not being able to output sound
It was just the empty environment after posix_spawn() that caused
SDL_INIT_AUDIO to fail. __environ fixes that.
2023-02-21 23:03:39 +01:00
da4620aee6 cleanup ib_sound_nng.c There never was an issue there... 2023-02-21 23:01:31 +01:00
e2094cd1ce toggle fullscreen, toggle ui, invert mouse panning 2023-02-20 22:50:17 +01:00
888e9459c5 fix crash due to logging during shutdown from class based DoomState
Crash was double free in ImGui::AppendLog() during shutdown. Will have to
disable the logging callback if logging should happen at that point.
2023-02-20 00:06:28 +01:00
1a0c22ae09 disable texture info debug 2023-02-20 00:01:29 +01:00
957e367c89 ctrl: fix rendering, erase Endooms, implement zooming and panning 2023-02-19 23:52:54 +01:00
e1979a2321 dp_doom: use 4 bytes per pixel and fix the colors 2023-02-19 23:48:02 +01:00
25bea999e2 it's alive! not pretty but alive! also remove the fork() spawner 2023-02-19 16:33:23 +01:00
6f683676be intermittent ctrl commit: fork() based spawn code which makes nng panic 2023-02-19 16:23:29 +01:00
83952d27ff dp_doom: hacky way to run without audio
This needs fixing in the controller. Try something similar to xdg-open
where a doomgrandchild would execvp() the doom.
2023-02-19 16:22:51 +01:00
5072cee454 ctrl: register externally started dooms that introduce themselves
TODO: Check on those via kill(pid, 0) or store the last activity time in
DoomState and let dooms time out if they don't send more updates.
2023-02-19 12:46:17 +01:00
ab6eef1d94 dp_doom: fix silly bug causing only the first frame to be published 2023-02-19 12:40:26 +01:00
c45a799dc5 dp_doom: make errors from IB_StartupSound() non-fatal
Not sure if it actually runs without sound or die horribly. Needs testing.
2023-02-19 12:39:43 +01:00
f612c9190f dp_doom: switch to own sdl sound impl because issues
Wasn't a bug in the sound code at all. This version is just cleaned up
and is not compatible with SDL1 anymore.
2023-02-19 12:38:25 +01:00
e17ad73f74 unique filenames for ib_{sound, system, video}/ implementation files 2023-02-19 10:54:31 +01:00
78cc2c30b6 silence doomsim logging even more 2023-02-19 10:46:26 +01:00
ad19f5a8aa make dp_doom send out framebuffers via nng 2023-02-19 10:46:12 +01:00
af517ab00b ctrl: better networking, can render received frames, still a broken mess 2023-02-19 10:44:57 +01:00
ffbe1177ee fill out some of the doom implementation 2023-02-19 03:08:56 +01:00