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
38b21669c5
Remove constexpr from image_calculate_rgb_distance
2024-03-28 07:01:37 +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
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
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
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
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
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
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
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
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
Samuel Gomes
b5e896384a
Merge branch 'freeglut-upgrade' into core-refactor
2024-01-29 23:01:56 +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
88adf0b29f
Cleanup FreeGLUT
2024-01-22 03:49:46 +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
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
Samuel Gomes
84b58c0fde
Update func__sndopen() to use filepath_fix_directory()
2023-12-29 02:49:30 +05:30
Samuel Gomes
cd5a60546f
Remove new_error check in func__FQN()
2023-12-29 02:41:12 +05:30
Samuel Gomes
0d71d08a9c
Replace most qbs stuff with std::string
2023-12-29 02:34:09 +05:30
Samuel Gomes
fa395b7c58
Implement func__FQN()
2023-12-29 02:09:02 +05:30