1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-09-20 05:34:47 +00:00
Commit graph

784 commits

Author SHA1 Message Date
Samuel Gomes
b3a247c97e Remove extra log line 2024-04-30 12:55:31 +05:30
Samuel Gomes
dbe028e799 Fix font width calculation when loading fonts monospaced 2024-04-30 12:35:11 +05:30
RainRat
f6c1da97fe fix typos 2024-04-25 21:21:39 -07:00
Samuel Gomes
d25abf60b4
Merge branch 'main' into alt-font-rendering 2024-04-19 08:49:17 +05:30
Samuel Gomes
0195500087 Further simplify monospace width calculation 2024-04-19 05:37:05 +05:30
Samuel Gomes
e2fdae332b Fix mono-mode font rendering issues + some quality of life changes 2024-04-17 21:48:32 +05:30
Matthew Kilgore
cdbfb94c61 Fix GLUT redraw timing
Currently the GLUT thread draws the screen too slowly, Ex. The default
is supposed to be 60 FPS, but it will always draw a bit slower than 60
FPS. This is because the current logic simply inserts delays for the
entire length of a frame, not taking into account how long it took us to
render the last frame.

The new code uses GetTicks() to measure how much time has passed since
the last render, which then lets us calculate the exact amount of delay
until the next frame. We additionally then measure how long the delay
lasted vs. what we asked for (since any delay we do only has a minimum
guarentee, it will ocassionally last a bit longer) and adjust based on
that as well. The result is a perfect 60 FPS as long as rendering is
quick enough.

If the rendering falls behind (Ex. a slow _GL SUB is in the program)
then we'll start skipping frames to get back on track.

Fixes: #408
2024-04-17 00:58:30 -04:00
Matthew Kilgore
786f40193b Make Linux GetTicks() start from zero
Since the GetTicks() is visible in the logging, it's useful
to have it start from zero rather than an arbitrary number.
2024-04-17 00:58:30 -04:00
Samuel Gomes
1bb83a3134
Merge branch 'main' into clipboard-fixes 2024-03-30 23:31:32 +05:30
Samuel Gomes
edbc772843 Made change per suggestion in #476 2024-03-30 22:09:59 +05:30
Samuel Gomes
abc6148253 Avoid monitoring special keys when the window is not in focus 2024-03-30 17:31:41 +05:30
Samuel Gomes
38b21669c5 Remove constexpr from image_calculate_rgb_distance 2024-03-28 07:01:37 +05:30
Samuel Gomes
f2276e79eb Add custom clipboard text handling code for Windows 2024-03-28 06:26:19 +05:30
a740g
332ecd3336 Add libpng-dev as dependency on Linux 2024-03-28 02:57:56 +05:30
a740g
b5de183921 Add macOS custom clipboard text handling code and convert BGRA to RGBA before setting clipboard image 2024-03-27 23:51:02 +05:30
a740g
c43b67c987 Simplify text clipboard implementation 2024-03-27 10:30:14 +05:30
a740g
f5a32ef466 Implement internal clipboard support 2024-03-27 10:00:49 +05:30
a740g
6bcb68b74c Fix macOS make rule 2024-03-27 09:08:34 +05:30
Samuel Gomes
47e3ec40f7 Add cross-platform clipboard support 2024-03-26 23:34:54 +05:30
a740g
02a663d3c9 Use std::atomic_store 2024-03-24 21:36:18 +05:30
Samuel Gomes
b78790a2a1 Include mac-mouse-support.h in libqb.cpp 2024-03-10 13:33:41 +05:30
a740g
6689208790 Make changes per suggestion in #468 2024-03-10 13:19:26 +05:30
a740g
787c9579b6 Add support for _MOUSEWHEEL and _MOUSEMOVEMENTx on macOS 2024-03-09 21:55:34 +05:30
RainRat
8cecb665a2 fix typos 2024-02-28 19:20:10 -08:00
Matthew Kilgore
bc71b52755 Fix missing return statements 2024-02-18 16:08:38 -05:00
Matthew Kilgore
416c81bb8a move hex/oct/bin functions to separate file 2024-02-18 16:08:38 -05:00
Matthew Kilgore
42df34f4a5 Remove libqb.h usage from libqb/src 2024-02-18 02:35:47 -05:00
Matthew Kilgore
770d400eb3 Remove libqb.h usage from gui.cpp 2024-02-18 02:21:56 -05:00
Matthew Kilgore
66488c9ee5 Remove libqb.h usage from compression.cpp 2024-02-18 02:21:56 -05:00
Matthew Kilgore
cc607112d3 remove unnecessary string func definitions 2024-02-18 02:21:13 -05:00
Matthew Kilgore
514b228e95 Move file fields to separate file 2024-02-18 02:20:45 -05:00
Matthew Kilgore
657d0b4140 Move shell functions to separate file 2024-02-18 02:20:45 -05:00
Matthew Kilgore
b309a576e6 Suppress warnings when building freetype 2024-02-17 01:36:10 -05:00
Matthew Kilgore
a22b56d750 Suppress warnings when building freeglut 2024-02-17 01:36:10 -05:00
Matthew Kilgore
784ccf2067 Silence warning if already defined 2024-02-17 01:36:10 -05:00
Matthew Kilgore
0a0e6d472f fix math include 2024-02-17 01:36:10 -05:00
Matthew Kilgore
eafbfd0d6f move sqr and pow2 to math 2024-02-17 01:36:10 -05:00
Matthew Kilgore
533934fb16 Move environ functions to separate file 2024-02-17 01:36:10 -05:00
Matthew Kilgore
def3ada041 Moves bitops to separate file 2024-02-17 01:36:10 -05:00
Matthew Kilgore
cd8a388d62 Separate out math-related functions 2024-02-17 01:36:10 -05:00
Matthew Kilgore
fb16492ac8 Move more date/time functions 2024-02-17 01:36:10 -05:00
Matthew Kilgore
b9a4bec188 Move _MK and _CV implementation functions to separate cpp 2024-02-17 01:36:10 -05:00
Matthew Kilgore
a891a6b255 Move list API to separate cpp file
Fixes: #147
2024-02-16 20:04:35 -05:00
Matthew Kilgore
9a76f4f81d Fix warnings about redefinition of macros 2024-02-16 20:04:35 -05:00
Matthew Kilgore
01b52e77a0 Fix compile error with gfs.cpp and fstream 2024-02-16 20:04:35 -05:00
Matthew Kilgore
2f0588ac80 Fix warnings in gfs.cpp 2024-02-16 20:04:35 -05:00
Matthew Kilgore
a15d812f12 Remove gfs_file_win_struct
The HANDLE is simply folded into the gfs_file_struct
2024-02-16 20:04:34 -05:00
Matthew Kilgore
f9c97161ab Move gfs API to separate .cpp file
Fixes: #424
2024-02-16 20:04:34 -05:00
Matthew Kilgore
2423351bb2 Fix warnings in error_handle.cpp 2024-02-16 20:04:34 -05:00
Matthew Kilgore
d4b008e3e4 Remove libqb.h from audio.cpp 2024-02-16 20:04:34 -05:00
Roland Heyder
fdfd6a2af3 More error checking 2024-02-17 01:01:08 +01:00
Roland Heyder
59196ca893 Make _WRITEFILE a statement
- rather than a function as suggested by @a740g
2024-02-16 20:26:55 +01:00
Roland Heyder
f51da87249
Merge branch 'main' into read-write-file 2024-02-16 19:01:01 +01:00
Roland Heyder
7d7a7fe22c New functions
- _READFILE$
- _WRITEFILE
2024-02-16 01:37:39 +01:00
Matthew Kilgore
839c5c0c9f Add cmem.h with dblock and cmem[] 2024-02-14 17:21:15 -05:00
Matthew Kilgore
1daea10f53 Move QB_TRUE and QB_FALSE 2024-02-14 17:21:14 -05:00
Matthew Kilgore
799468fb3b Move mem_lock logic into mem.h and mem.cpp 2024-02-14 17:21:14 -05:00
Matthew Kilgore
1495acd569 Apply -Wextra to libqb/src folder 2024-02-14 17:21:14 -05:00
Matthew Kilgore
4f4181fbf2 Separate out qbs, command, and error handling
Moves the qbs, command, and error handling APIs into separate .cpp files
in libqb/src/. This makes only minor changes to the actual code beyond
moving the logic, many global variables are left in place to be dealt
with in further changes.

Fixes: #146
2024-02-14 17:21:14 -05:00
Roland Heyder
40fe9f3059 Merge branch 'adler-crc-hash' of https://github.com/QB64-Phoenix-Edition/QB64pe into adler-crc-hash 2024-02-03 12:24:45 +01:00
Roland Heyder
6b3842673f Fix return types and results
- return type is uint32_t in C/C++ and ULONGTYPE in QB64
- adler32 must return one (1) on an empty input
2024-02-03 11:25:48 +01:00
Roland Heyder
ef9c7edeee
Merge branch 'main' into adler-crc-hash 2024-02-02 22:25:43 +01:00
Samuel Gomes
748d320bfe Avoid compiling psaux.c 2024-02-03 01:16:14 +05:30
Roland Heyder
a84e174b63 Add new _MD5$ fucntion
- exposing the implementations in freetype for public use
2024-02-02 10:37:32 +01:00
Roland Heyder
131009006e Add new _ADLER32 and _CRC32 function
- exposing the implementations in miniz for public use
2024-02-02 10:32:16 +01:00
Roland Heyder
2aadbc63ce Finetuning miniz make
- disabling some unneeded features saves ~52KiB object size (55%)
2024-02-02 10:18:03 +01:00
Samuel Gomes
3a260f1002 Update FreeGLUT to v2.8.1 2024-01-30 03:01:26 +05:30
Samuel Gomes
b5e896384a Merge branch 'freeglut-upgrade' into core-refactor 2024-01-29 23:01:56 +05:30
Samuel Gomes
60b60fb462 Remove dead files 2024-01-29 22:36:20 +05:30
Samuel Gomes
cd7b2b1a69 Changes to resolve merge conflicts 2024-01-29 22:22:21 +05:30
Samuel Gomes
68af1fe5f7 Fix case-insensitive pattern matching on Windows and _FILES behavior 2024-01-29 18:38:05 +05:30
RainRat
f65a74c22a fix typos 2024-01-28 10:37:47 -08:00
Samuel Gomes
8fa66795b8 Make FILES work for cases where fileSpec does not contain a directory 2024-01-24 19:01:36 +05:30
Samuel Gomes
a5f62e1cf6 Minimize and remove custom / dead FreeGLUT changes 2024-01-24 01:16:55 +05:30
a740g
68413c0fc3 Avoid unusual long compile time for glew.c using -O3 on macOS 2024-01-22 11:10:23 +05:30
Samuel Gomes
cb25713c99 Clean-up makefile 2024-01-22 07:41:02 +05:30
Samuel Gomes
88adf0b29f Cleanup FreeGLUT 2024-01-22 03:49:46 +05:30
Samuel Gomes
7d88082ed1 Remove dead code (gl_headers/) 2024-01-22 01:12:15 +05:30
Samuel Gomes
043d75657c Update GLEW to v2.2.0 and avoid including glew.c from libqb.cpp 2024-01-22 00:48:12 +05:30
Samuel Gomes
8fdc486e73
Merge branch 'QB64-Phoenix-Edition:main' into freeglut-upgrade 2024-01-21 21:29:41 +05:30
Samuel Gomes
e1001a0dd9 Remove dead code (time64.*) 2024-01-19 12:54:23 +05:30
Samuel Gomes
3983879a44 Remove dead glues directory 2024-01-19 01:53:17 +05:30
Samuel Gomes
4aba002be5 Fix comment typos 2024-01-13 14:53:02 +05:30
a740g
1abe761789 Fixes to compiler under macOS Ventura 2024-01-08 20:48:48 +05:30
Samuel Gomes
5f91458ef9 Use FreeType flat-directory compilation 2024-01-08 09:56:41 +05:30
Samuel Gomes
c030a73370 Remove FREETYPE_EXTRA_CLEAN_LIST 2024-01-08 03:17:50 +05:30
a740g
ee4d07991d Update GitHub workflow to install FreeType dependencies for Linux and macOS 2024-01-08 01:32:38 +05:30
Samuel Gomes
56b7ac61d3 Update font/build.mk to use pkg-config to get CXXFLAGS and CXXLIBS in Linux 2024-01-07 06:59:34 +05:30
Samuel Gomes
91129c60ed Replace FreeTypeAmalgam with FreeType v2.13.2 2024-01-07 06:02:16 +05:30
Samuel Gomes
d85398de66 Update stb_image to v2.29 2024-01-06 18:14:46 +05:30
Samuel Gomes
3caa2924f0 Changes per suggestions in #428 2024-01-05 01:40:11 +05:30
Samuel Gomes
7d1cc89780 Fix OPEN COM from locking up inside gfs_open_com_syntax() 2024-01-05 00:31:19 +05:30
Samuel Gomes
2bf7b7919c Make _FILES$() throw an error if it called with an argument the first time 2024-01-04 04:46:14 +05:30
Samuel Gomes
ba29d47f17
Merge branch 'QB64-Phoenix-Edition:main' into miniaudio-upgrade 2024-01-03 15:28:21 +05:30
Samuel Gomes
103e0f0873 Cleanup FS_GetKnownDirectory() and make libqb/ compile using -O2 2024-01-02 23:49:43 +05:30
Samuel Gomes
b32dedf3f0 Change _FQN$ to _FULLPATH$ 2023-12-30 23:35:06 +05:30
Samuel Gomes
ced74fb82e Add QB64 error constants 2023-12-29 17:57:35 +05:30
Samuel Gomes
c2bdb61c4a Fix comment typos 2023-12-29 15:27:27 +05:30
a740g
d8cb77e2d1 Change FS_GetKnownDirectory() to return "/Applications" on macOS 2023-12-29 04:42:32 +05:30
a740g
77122d475a Update func__dir() to support "PROGRAMFILES(X86)" 2023-12-29 04:04:02 +05:30