Commit Graph

46 Commits

Author SHA1 Message Date
Simon Anciaux 7ce0a7d698 code/platform_win32/4ed_directx_render.cpp: Reuse freed textures. Rename variables so that texture handle are always named texid. 2025-07-07 13:03:19 -07:00
Simon Anciaux b651847ba3 4ed_directx_render.cpp: Initialize textures to zero to avoid having random pixel values that changes the result of linear sampling on the edge of characters. 2025-07-07 13:03:10 -07:00
Simon Anciaux e4b4e5c943 code/platform_win32/4ed_directx_render.cpp: Fixed the way texture array are updated. Note that the font provider rectangle packer contains a bug, and it will never produce several texture slice, it will only grow the texture on y to accommodate for more characters.
code/platform_win32/win32_opengl.cpp: Enabled double buffering to fix graphical glitches on AMD cards.
2025-07-07 13:02:52 -07:00
Simon Anciaux 911df4ce05 code/bin/4ed_build.cpp: Removed OpenGL.lib. It's added with #pragma comment in win32_opengl.cpp so that we don't need to do special things to keep OpenGL and DirectX both working.
code/platform_win32/win32_4ed.cpp:
- Modification to be able to choose between OpenGL and DirectX. You choose between the two by defining WIN32_DIRECTX macro. If you don't define it it uses OpenGL.
- Note that win32_gl_create_window and other part of the file that depend on OpenGL or DirectX have been moved to win32_opengl.cpp and win32_directx.cpp.
- Fixed os_popup_error using the title as the message and the message as the title.

code/platform_win32/win32_opengl.cpp: Contains previous code that was in win32_4ed.cpp.

code/platform_win32/win32_directx.cpp: Code for creating a DirectX window and context.

code/platform_win32/4ed_directx_render.cpp: Imlementation of the 4coder renderer using DirectX.
2025-07-07 13:02:42 -07:00
Simon Anciaux f2abe27704 4ed_font_provider_freetype.cpp: Rewrote the ft__bad_rect_pack_next function. There were several issues with the previous function that didn't manifest because the default size for the font atlas is 1024 * 1024 and the default 4coder only use about 1/8 of it.
To see the issues, you can set the font atlas size to 128 * 128 by changing line 325 "ft__bad_rect_pack_init(&pack, V2i32(1024, 1024));" to "ft__bad_rect_pack_init(&pack, V2i32(128, 128));".

The first issue was that the max_dim.y parameter was not respected. The dimension produced would always grow on Y to accommodate for more characters. And so the whole texture array thing was never use.

A second issue was that when a character didn't fit on the x axis, we created a new line, but never check that the new line fitted in the current texture slice.

A third issue was that when we ended a line because a character didn't fit vertically, we grew the line with a line height equal to the height of the character that didn't fit.
2025-07-07 12:59:37 -07:00
Peter Slattery 7359649465 Restructure default_render_buffer to only color visible tokens, and only look up tokens that are identifiers 2025-07-07 12:33:29 -07:00
Peter Slattery 2ab0c0a2de Increase Code_Index name_hash size 2025-07-07 12:32:45 -07:00
Peter Slattery 75e72875ff Implement new build system 2025-07-06 12:44:54 -07:00
Peter Slattery 69556235d5 Squashing macro-redefined error in clang 2025-07-06 12:37:41 -07:00
Peter Slattery 0d6a5e4e06 Bindings for replace identifier and replace selection 2025-04-30 12:38:07 -07:00
Peter Slattery 91cc66a52a Fixing no keyup events while command is pressed on mac 2025-04-24 16:45:45 -07:00
Peter Slattery b280722b1c set NSApp activateIgnoringOtherApps to YES 2025-04-24 16:18:01 -07:00
PS be632574e6 Added yeet sheet implementation 2024-05-13 19:29:16 -07:00
PS 46a0466ff4 Removed File_Edit_Positions.last_set_type since it was always set but never read 2024-05-13 17:42:38 -07:00
PS 24f7f66a24 Added scope highlight colors 2024-05-13 17:24:33 -07:00
PS 001cf5fa57 Buffer name resolution simply appends a project relative path for files inside the project and a global path for files outside. 2024-05-13 17:10:09 -07:00
Peter Slattery 2142ef2ce9 Cleaning up line endings on save 2024-04-27 13:43:54 -07:00
PS 120c6ceaad gs_parse_jump_location handles jai paths better 2024-03-27 13:49:52 -07:00
PS 5842d13294 string_find_first_of_set impl 2024-03-27 13:49:29 -07:00
Peter Slattery 3f1c591196 Reverting prior change to map_loose_match 2024-03-26 16:00:50 -07:00
Peter Slattery f1d6ac0e53 adding execute permissions to build-mac-dev.sh 2024-03-22 18:16:17 -06:00
Peter Slattery e33bdffc7d Fixing issue where keyUp events aren't sent for keys that become modified by the command key 2024-03-22 17:55:59 -06:00
Peter Slattery cba2574e8a 4coder_command_map now gets the best match for a given input rather than the first match when Loose Matching 2024-03-22 16:17:44 -06:00
Peter Slattery 58a4314177 ship-files/config sets user to PS 2024-03-22 16:17:03 -06:00
Peter Slattery 8675d371a4 dedicated build-mac-release and build-mac-dev files in bin 2024-03-22 16:16:48 -06:00
Peter Slattery 7f2a414182 package-mac.sh grants execute permissions to the output executable 2024-03-22 16:15:38 -06:00
Peter Slattery ad189e911a Adding mm files to treat-as-code 2024-02-14 18:11:12 -08:00
PS 24c8370f75 Indent next line only on hitting enter 2024-02-10 20:12:36 -08:00
PS 5aebe18778 Disabling undo fade out 2024-02-10 20:12:20 -08:00
PS 18e608a152 Parsing jai style compiler errors 2024-02-10 19:34:25 -08:00
PS ca075e7392 default_font_hinting is true by default 2024-02-10 18:52:45 -08:00
PS 22fa2794e7 Project generation uses treat_as_code extensions to create project include patterns 2024-02-10 18:45:05 -08:00
PS e3ba01570a Backspace in file search deletes whole word 2024-02-10 15:55:05 -08:00
PS 8552305ecc Modal cursor recoloring 2024-02-10 15:43:16 -08:00
PS 7aa033783c Implemented custom modal bindings 2024-02-10 15:38:37 -08:00
PS 0a03ea05f1 Adding dirty file reloading 2024-02-10 14:25:22 -08:00
PS 80b780278a Removed custom/audio 2024-02-10 14:25:13 -08:00
PS 0d840d128e command_metadata.h updated and 4coder project created 2024-02-10 13:02:25 -08:00
PS 832a7b4b80 build.bat works from anywhere 2024-02-10 13:02:06 -08:00
PS 5bfb737720 package.bat works from any directory 2024-02-10 12:55:03 -08:00
Jack Punter 6617beb487 Provide both build and run by default 2024-01-29 19:37:32 +00:00
Jack Punter 51797fd546 Fix v2 project generation 2024-01-29 19:30:09 +00:00
Jack Punter e3cbab907b Remove win32 clipboard flag which ocasionally results in mis-paste from the system clipboard 2023-11-01 21:24:36 +00:00
Jack Punter b96f1e9dfb Remove scripts to update Itch.io page
- update readme with build instructions
- remove 32-bit and demo builds from package scripts
2023-02-04 15:21:00 +00:00
Jack Punter e2b3bd9f3e Correct build for new structure 2022-11-18 16:43:00 +00:00
Jack Punter 0e47ccd2ce Add 'code/' from commit '1459ef7cbce753b056ea148b29c9dc3f8a721261'
git-subtree-dir: code
git-subtree-mainline: cf6a50363e
git-subtree-split: 1459ef7cbc
2022-11-18 13:37:07 +00:00