Commit Graph

176 Commits (4a697c988040c3f3e8a1490f497bb517f6c60693)

Author SHA1 Message Date
Allen Webster d12c4aa2e6 Hacky fix for the signal step breaking on the non-main thread 2020-01-30 21:02:18 -08:00
Allen Webster b2bdfbd05d Slightly better mac fullscreen fix 2020-01-21 12:57:42 -08:00
Allen Webster d6b0387f0d Decent fix for fullscreen problem 2020-01-21 12:01:47 -08:00
Yuval Dolev de7eca0c88 Fixed the package script to work on macOS. 2020-01-21 04:17:21 +02:00
Allen Webster 33aa987589 Fixed the mutex problem 2020-01-19 12:16:54 -08:00
Allen Webster 7817f8412d Trying to debug weird allocator crash bug; switching to windows 2020-01-19 12:00:58 -08:00
Yuval Dolev eea989aa73 Removed the todo comment regrading fixing the mutex issue. 2020-01-19 05:48:28 +02:00
Yuval Dolev 354b4fe6dc All mutexes are now refrence counted. This solves a lot of the crashes caused by deadlocks in situations where the same thread locks its own mutex multiple times before unlocking it. 2020-01-19 05:47:01 +02:00
Yuval Dolev b255da9d00 Fixed path length sent to proc_pidpath because it seems to expect a maximum path length which was previously exceeded. Opening 4coder now works from anywhere. 2020-01-19 05:30:04 +02:00
Yuval Dolev 63b964f1c5 Fixed wrong trackpad scrolling. 2020-01-19 04:44:52 +02:00
Yuval Dolev 00d8206ad2 Fixed live resizing bug with the layer based view. 2020-01-19 03:05:56 +02:00
Yuval Dolev 0335a1a718 Implemented a texture slot batch allocating system for the Metal renderer. 2020-01-19 02:47:43 +02:00
Yuval Dolev b6f6663727 Added a key mapping for the equal key. 2020-01-17 00:49:08 +02:00
Yuval Dolev 2375a40b29 Ifdefed some debug prints to work only on internal builds. 2020-01-16 01:07:49 +02:00
Yuval Dolev ab486eb229 Removed some debug prints. 2020-01-15 02:21:02 +02:00
Yuval Dolev 93494bd398 Cleanup to the macOS platform layer. 2020-01-14 17:25:13 +02:00
Yuval Dolev 1ab40ff5b9 Lowered view sample count to improve the rendering speed on high dpi displays. 2020-01-14 17:21:03 +02:00
Yuval Dolev de9fc34c3e Added a hack to fix DeadLock problem regrading the system_memory_annotation function. Also started working on fixing the performance issues that I discovered in the graphics renderer on retina displays (for now I changed to FCoder_View to be layer backed which is faster for rendering animations, this seems to improve performance by a little margin but rendering on high dpi displays is not closed to being smooth yet...). 2020-01-14 03:22:29 +02:00
Yuval Dolev a737a5409a Implemented all system cli handling functions. 2020-01-13 16:15:25 +02:00
Yuval Dolev 585978982e Updates to the step scheduling to improve animations. 2020-01-13 04:20:10 +02:00
Yuval Dolev fd1c41bab4 Finished implementing the run loop. 2020-01-13 04:06:10 +02:00
Yuval Dolev f7b0b05426 Posting to clipboard now works. 2020-01-13 03:20:58 +02:00
Yuval Dolev 7d2a91805b The clipboard is now read is frame and on changes and sent to the core. We're using polling to get the clipboard contents on macOS using a timer because there is no way to get a clipboard change notification on macOS (sigh...) 2020-01-13 03:05:44 +02:00
Yuval Dolev dbcb05d2d1 Fixed a performance issue regarding timers. Now we can start a single timer per step request. 2020-01-12 23:16:03 +02:00
Yuval Dolev 020e2789d7 Fixed input bug where the input was not zeroed at the end of each frame. 2020-01-12 03:08:07 +02:00
Yuval Dolev 7f00ead99c Added support for control keys. 2020-01-11 23:12:41 +02:00
Yuval Dolev 8e4ec5215f Added KeyStoke and KeyRelease events and fixed TextInput events. 2020-01-11 22:19:43 +02:00
Yuval Dolev 13970744b4 Fixed blending bug in the Metal renderer where the destination alpha was not updated which caused problems while rendering the program in full screen mode. 2020-01-10 18:57:08 +02:00
Yuval Dolev 520ab3dd27 Fixed animations. 2020-01-10 01:04:55 +02:00
Yuval Dolev 533819c7d4 Added mouse input. 2020-01-09 20:52:39 +02:00
Yuval Dolev 88c933acd2 Implemented the renderer abstraction for both OpenGL and Metal. 2020-01-09 02:36:37 +02:00
Yuval Dolev 912bcae8a7 Started working on an abstraction for the macOS renderer implementations. 2020-01-09 02:15:25 +02:00
Yuval Dolev 521fb82113 The Metal renderer is now fully functioning. 2020-01-08 21:44:47 +02:00
Yuval Dolev a18ef3197a Implemented my own vertex buffers management, also started working on textures. 2020-01-08 01:45:36 +02:00
Yuval Dolev a34d95b848 Metal renderer is now working (no textures yet). 2020-01-07 02:55:28 +02:00
Yuval Dolev efad772401 Work on metal renderer. Only semi-working for now. 2020-01-06 02:55:07 +02:00
Yuval Dolev b52f1cee24 Metal projection matrix test. 2020-01-05 03:13:47 +02:00
Yuval Dolev 0fceec19a9 Basic metal renderer (only rendering a triangle as of right now). 2020-01-04 03:24:52 +02:00
Yuval Dolev 4e0549f270 OpenGL renderer abstraction. The OpenGL renderer is now in its own view that's separate from the main 4coder view which handles all input and updates. Also added a Window Delegate which handled window events. 2020-01-03 00:09:22 +02:00
Yuval Dolev d1b9977a63 Started working on high-dpi support. 2020-01-02 04:37:23 +02:00
Yuval Dolev 0420a9a852 Implemented resizing (seems to be really slow for some reason...) and basic input (actually we're not receiving user input yet, but the we're sending the app an empty input struct with only a few parameters being updated like if it's the first step.). 2020-01-02 02:21:33 +02:00
Yuval Dolev 6f827801e5 macOS platform layer initialization and very basic update functions. The 4coder beta has been rendered successfully for the first time on macOS! 2020-01-02 01:13:32 +02:00
Yuval Dolev debdda8184 Started working on getting the opengl renderer to work but encountered a few errors on the way... 2020-01-01 18:38:48 +02:00
Yuval Dolev 0cfb8b319c Work on setting up the opengl view. 2020-01-01 04:16:39 +02:00
Yuval Dolev 26fd4cd230 Finished most of the system api functions (a few will be implemented later). 2020-01-01 00:07:21 +02:00
Yuval Dolev 8c7600ba09 Implemented all system memory handling functions. 2019-12-31 23:36:12 +02:00
Yuval Dolev 9263a4a59f Implemented all system mutex and cv handling functions. 2019-12-31 13:14:05 +02:00
Yuval Dolev cbdc6a14e0 Implemented all system thread handling functions. 2019-12-31 03:22:50 +02:00
Yuval Dolev aff4a783e0 Implemented system_get_screen_scale_factor. 2019-12-31 01:56:12 +02:00
Yuval Dolev 912174e725 Experimentations with redrawing the opengl view. 2019-12-31 00:04:33 +02:00