Commit Graph

156 Commits

Author SHA1 Message Date
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
Yuval Dolev 1d6be32462 Setup window and basic opengl view. 2019-12-30 03:21:21 +02:00
Yuval Dolev 50b8a64614 The projects compiles. 2019-12-30 02:33:30 +02:00
Yuval Dolev dc213307a9 Implemented all system wake up timer functions. 2019-12-30 00:34:53 +02:00
Yuval Dolev 76069e9ac1 Created basic Mac_Object structure and mac object allocation function. 2019-12-29 03:09:28 +02:00
Yuval Dolev 8020dcf385 Implemented system_now_time. 2019-12-29 00:11:34 +02:00
Yuval Dolev a91158ebf0 Implemented all system library handling functions. 2019-12-28 01:54:33 +02:00
Yuval Dolev da150cd322 Merged mac_4ed.cpp into mac_4ed.mm so now we have only 1 main file for the macOS platform layer. 2019-12-27 23:59:59 +02:00
Yuval Dolev 7e710eb3a0 Merge branch 'yuval_macos_platform_layer_branch' of https://bitbucket.org/4coder/4coder into yuval_macos_platform_layer_branch 2019-12-27 23:34:06 +02:00
Yuval Dolev 874024f8fb Added section comments to mac_4ed_functions.cpp 2019-12-27 23:30:46 +02:00
Allen Webster 5c3dd4ebaf Get 4coder_types.h to work with a dumb hack for now 2019-12-26 19:47:12 -08:00
Yuval Dolev 074400495f Implemented all system file handling functions. 2019-12-27 00:16:15 +02:00
Yuval Dolev 9c3a2d9550 Finished implmenting system_get_file_list. 2019-12-26 21:30:13 +02:00
Yuval Dolev ea29a6e13e Work on system_get_file_list. File attribute retrieval now works. 2019-12-26 17:54:06 +02:00
Yuval Dolev 3131e45c12 Errors regarding File_List which is used in mac_get_file_list (not implemented yet). 2019-12-26 03:39:40 +02:00
Yuval Dolev 1317692233 Work on system_get_file_list. 2019-12-26 03:16:34 +02:00
Yuval Dolev 2f9a4dbe3a Fixed compilation errors and tested system_get_canonical. 2019-12-26 00:19:50 +02:00
Yuval Dolev 9b0708a40c Implemented system_get_canonical. 2019-12-25 23:31:21 +02:00
Yuval Dolev 57c0707284 Implemented system_get_path. 2019-12-25 03:17:12 +02:00
Yuval Dolev e3e5f857ea Added empty implementations of all the system api functions to mac_4ed_functions.cpp 2019-12-24 22:31:24 +02:00
Yuval Dolev 54f5e72aa5 Added a c++ platform layer file. 2019-12-24 16:57:05 +02:00