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

286 commits

Author SHA1 Message Date
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
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
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
799468fb3b Move mem_lock logic into mem.h and mem.cpp 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
Samuel Gomes
b5e896384a Merge branch 'freeglut-upgrade' into core-refactor 2024-01-29 23:01:56 +05:30
Samuel Gomes
cd7b2b1a69 Changes to resolve merge conflicts 2024-01-29 22:22:21 +05:30
RainRat
f65a74c22a fix typos 2024-01-28 10:37:47 -08:00
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
e1001a0dd9 Remove dead code (time64.*) 2024-01-19 12:54:23 +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
d4437d1b32 Update func__loadfont() to use filepath_fix_directory() 2023-12-29 03:01:24 +05:30
Samuel Gomes
a11a66fb63 Rename startDir to g_startDir 2023-12-10 11:25:01 +05:30
Samuel Gomes
48539861f3 Repace fixdir() with filepath_fix_directory() 2023-12-10 11:15:41 +05:30
Samuel Gomes
0e251eb8e8 Consolidate all filesystem related functions to it's own translation unit 2023-12-10 01:16:29 +05:30
SteveMcNeill
01163fb9e9 Create math.h
Move the extended math functions out of libqb and qbx, and place them inside math.h.

Correct the formula for _ARCSEC and _ARCCSC.
2023-10-31 08:34:19 -04:00
SteveMcNeill
3cf12d4222 Patch _ARCSEC and _ARCCSC
As per the forum posts here: https://qb64phoenix.com/forum/showthread.php?tid=2125
2023-10-31 00:21:30 -04:00
SteveMcNeill
5a063f4ef8 check for which optional param is passed to CLS 2023-10-18 09:11:40 -04:00
SteveMcNeill
7345839b75 missing call to sub__dest?? 2023-10-18 08:49:42 -04:00
SteveMcNeill
9854955d99 Add Support for optional paramter for an image handle to CLS 2023-10-18 08:01:12 -04:00
Matthew Kilgore
d64221afda Use correct math functions from std::
With the removal of `using namespace std;` we inadvertently started
using some of the global math.h versions of these functions, which take
different types and resulting in computation errors.

The fix is to prefix all these functions with std:: so that we go back
to using the std:: versions.
2023-10-07 02:05:13 -04:00
Samuel Gomes
c82dd88ee2
Merge branch 'main' into game-controller-fixes-and-enhancements 2023-10-04 18:47:20 +05:30
Samuel Gomes
2b92380460 Simplify func__os() 2023-10-01 09:47:31 +05:30
Samuel Gomes
49aeccc486 Initial WoA64 and MingW-LLVM support 2023-10-01 08:08:58 +05:30
Samuel Gomes
79c531f2bb Reorg. game controller and update libstem_gamepad 2023-09-26 02:01:35 +05:30
Samuel Gomes
8822967d45 Replace string with std::string 2023-09-25 05:32:00 +05:30
Samuel Gomes
2bfbf5b67c Remove using namespace std from libqb 2023-09-25 05:20:21 +05:30
Samuel Gomes
efbd16b19c Remove legacy openal headers from libqb.cpp 2023-09-22 08:41:45 +05:30
Samuel Gomes
b40edfbd9b Avoid rendering filled background color boxes when _KEEPBACKGROUND is set 2023-09-21 07:52:07 +05:30
Samuel Gomes
586371dc77 Implement _SAVEIMAGE 2023-09-17 11:52:54 +05:30
RainRat
3914037c0f fix typos 2023-04-30 15:20:42 -07:00
Samuel Gomes
9870510b04
Merge branch 'QB64-Phoenix-Edition:main' into font-FreeTypeAmalgam 2023-04-28 20:57:28 +05:30
Samuel Gomes
7b6b0b0d42 Implement UPint functions 2023-04-26 13:09:25 +05:30
Matthew Kilgore
8e1e7bc540 Fix keyboard _Device on Windows
Currently the Keyboard _Devices entry on Windows does not report all the
key presses and releases. This is due to missing some messages in the
form of WM_SYSKEYDOWN and WM_SYSKEYUP. Additionally Windows is weird
about report the state of the individual shift keys, so we add some
logic using GetAsyncKeyState() to fix that up.

Fixes: #333
2023-04-25 19:12:01 -04:00
Samuel Gomes
e4b36ca8ad Add font load-from-memory support 2023-04-20 09:23:13 +05:30
Samuel Gomes
618e5117cd Add FontPrintWidthUTF32() and optimize chrwidth() 2023-04-19 09:30:38 +05:30
Samuel Gomes
492c8d0cf5 Remove unused out_x_pre_increment, out_x_post_increment 2023-04-19 08:39:56 +05:30
Samuel Gomes
ec723ed46b New FreeType cached font renderer 2023-04-19 07:49:02 +05:30
Samuel Gomes
d974c0b9a8 Tidy up font code 2023-04-04 17:51:17 +05:30
Samuel Gomes
6dd651f7cd Replace MinGW intrinsic zlib with miniz 2023-03-19 02:28:05 +05:30
Samuel Gomes
4dcefd103e Satisfy -Wc++11-narrowing 2023-03-04 07:50:46 +05:30
Matthew Kilgore
f995f38e38 Using Sleep with Console programs does not trigger timers
The command Sleep is supposed to allow timers to trigger while the
program is sleeping on the delay. This is achieved in QB64 by having
commands that do delays manually call evnt() to trigger events if they
come up (of which timers are one).

Sleep has a custom implementation for console programs on Windows which
doesn't do this, so I redid the logic so that it calls evnt() at regular
intervals while waiting for input. Additionally, due to now calling
evnt() we also need to check if we should exit sleep early due to an
evnt() firing.

Fixes: #294
2023-02-12 21:27:25 -05:00
Matthew Kilgore
f21ce09e2d Replace time() with std::chrono, fix startup delay
Currently main() includes logic that is intended to sync time() with
GetTicks() for the purpose of using GetTicks() to get millisecond
accuracy with time(), which only has second accuracy. Unfortunately, the
'syncing' up of these time sources results in an average of a half
second delay in starting a QB64-PE program.

This logic is easly replaced with std::chrono, which provides a real
time clock which is also millisecond accurate. That removes the need to
use time() and GetTicks() together to get millisecond accuracy, and
means the delay syncing them is no longer necessary.

I also separated most of the "delay" and "time" related functions into
datetime.cpp, and included the new std::chrono code into that file.

Since I needed to call some of the rounding functions in datetime.cpp I
also moved that stuff out into its own .cpp and header files to clean
things up a bit.

Fixes: #282
2023-01-08 20:24:25 -05:00