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

783 commits

Author SHA1 Message Date
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
Samuel Gomes
d4437d1b32 Update func__loadfont() to use filepath_fix_directory() 2023-12-29 03:01:24 +05:30
Samuel Gomes
035a12e76e Update func__loadimage() & sub__saveimage() to use filepath_fix_directory() 2023-12-29 02:55:52 +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
Samuel Gomes
35e44a620d Update func__files() to handle fileSpec directory name without trailing slash 2023-12-29 01:17:05 +05:30
Samuel Gomes
85afb4b84a Make FS_GetFQN() return trailing slash for directories 2023-12-29 00:58:15 +05:30
Samuel Gomes
fcabef61ce Implement cross-platform sub_files() 2023-12-28 23:35:20 +05:30
Samuel Gomes
a29d2b5955 Prefix function names with FS_ to avoid possible collisions 2023-12-28 02:28:53 +05:30
Samuel Gomes
c558d2a2d2 Update func__files() to return directory names with trailing slash 2023-12-28 01:50:24 +05:30
Samuel Gomes
8c61cac457 Merge branch 'filesystem-refactor-and-update' of https://github.com/a740g/QB64pe into filesystem-refactor-and-update 2023-12-28 00:10:52 +05:30
Samuel Gomes
4fc7fa3fd4
Merge branch 'QB64-Phoenix-Edition:main' into miniaudio-upgrade 2023-12-27 23:59:26 +05:30
Samuel Gomes
5d037775af Add support for _FILES$() 2023-12-15 20:54:11 +05:30
a740g
9760895f92 Fix func__files() to return empty qbs on error 2023-12-15 13:48:04 +05:30
a740g
5c078a1ec1 Implement func__files() 2023-12-15 13:43:49 +05:30
a740g
260adbfe6b Update more macOS known directories 2023-12-15 12:02:44 +05:30
a740g
3dd2495cee Add more Linux known directories 2023-12-14 23:56:14 +05:30
Samuel Gomes
ef142ecd52 Update comments 2023-12-14 20:00:19 +05:30
Roland Heyder
2d9018ca85 Add missing changes
ideally these should have been part of the 1st commit
2023-12-14 00:30:03 +01:00
a740g
4d4b99ddd9 Fix some known directories 2023-12-14 02:47:29 +05:30
Samuel Gomes
901bdb4cd3 Add filesys test 2023-12-13 12:26:09 +05:30
Samuel Gomes
941f3583a4 Update comments 2023-12-13 10:59:04 +05:30
Samuel Gomes
ede0d38165
Merge branch 'QB64-Phoenix-Edition:main' into filesystem-refactor-and-update 2023-12-13 09:38:19 +05:30
Samuel Gomes
57eaa8d119
Merge branch 'QB64-Phoenix-Edition:main' into miniaudio-upgrade 2023-12-13 09:37:25 +05:30
Samuel Gomes
a52c3ba977 Simplify sub_kill() 2023-12-12 15:40:35 +05:30
a740g
ed30f7c211 Add some known directory support for macOS & Linux 2023-12-11 20:10:40 +05:30
a740g
3353364cf8 Make PATHNAME_LENGTH_MAX > 4k or FILENAME_MAX 2023-12-11 19:04:18 +05:30
Samuel Gomes
3604a7a7f7 Update sub_kill() to handle file spec without wildcard correctly 2023-12-11 16:17:53 +05:30
Samuel Gomes
07c8554f89 Cross-platform full sub_kill() implementation 2023-12-11 15:31:06 +05:30
Samuel Gomes
4ca0cf3a7b Add initial support for FILES$() 2023-12-11 04:46:28 +05:30
Samuel Gomes
1b3a5a72f4 Simplify and remove magic numbers 2023-12-11 04:06:38 +05:30
Samuel Gomes
20e5789ffd Simplify func__direxists() and func__fileexists() 2023-12-11 02:43:26 +05:30
Samuel Gomes
ffcd045da1 Make func__dir() cross-platform ready 2023-12-11 01:26:43 +05:30
Samuel Gomes
96a2ffcb1e Simplify func__cwd() 2023-12-10 12:25:38 +05:30
Samuel Gomes
7a1f5100f2 Use Win32 ANSI API names 2023-12-10 11:40:34 +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
Samuel Gomes
2835d2dde2 Update miniaudio to v0.11.21 2023-12-08 14:40:58 +05:30
Samuel Gomes
bbfd228597 Check for SVG start tag and add tests 2023-12-05 09:20:25 +05:30
Samuel Gomes
753ecb9609 Use uint8_t instead of auto / char 2023-12-05 06:44:23 +05:30
Samuel Gomes
4f7d2899c4 Add comments 2023-12-04 07:04:59 +05:30
Samuel Gomes
bb4a94a53e Check for bogus data in image_svg_load_from_file() 2023-12-04 06:46:04 +05:30
Samuel Gomes
5f7cfa3747 Avoid segfault on bogus SVG data 2023-12-04 05:48:32 +05:30
SteveMcNeill
1be3e366ac Final fixes to math stuff (I hope)
Fix to CONST with the math evaluator to toss a message and error with values out of acceptable range for ARCSEC and ARCCSC.

Tweak to _PI to add constexpr for speedier execution.

Fix to the math tests for the new (and unbuggy) values for ARCSEC and ARCCSC.
2023-10-31 11:32:22 -04:00
SteveMcNeill
64ba64f0bd rename math.h to extended_math.h 2023-10-31 08:45:10 -04:00
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
a740g
3666f0763a Avoid miniaudio runtime linking on macOS 2023-10-09 13:49:05 +05:30
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
bd79d2db95 Make debugging code compile conditionally 2023-09-26 04:11:58 +05:30
Samuel Gomes
b514da5b39 Add include guard to game_controller.h 2023-09-26 03:41:16 +05:30
Samuel Gomes
563005c0e6 Update licenses/README.md 2023-09-26 02:31:54 +05:30
Samuel Gomes
79c531f2bb Reorg. game controller and update libstem_gamepad 2023-09-26 02:01:35 +05:30
Samuel Gomes
d4c26d67bd
Merge branch 'main' into cleanup 2023-09-25 22:08:25 +05:30
Samuel Gomes
6287b4364f Replace cout with std::cout 2023-09-25 06:06:13 +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
9981e09df5 RAD player: fix wrong KSL (key scale shift) values 2023-09-25 04:53:55 +05:30
Samuel Gomes
87a99c3970 Make _MEMSOUND channel parameter optional 2023-09-22 19:14:30 +05:30
Samuel Gomes
28d1bf1aac Remove legacy audio code from the compiler 2023-09-22 10:10:04 +05:30
Samuel Gomes
efbd16b19c Remove legacy openal headers from libqb.cpp 2023-09-22 08:41:45 +05:30
Samuel Gomes
7c17161d00 Remove legacy audio code 2023-09-21 19:52:10 +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
4f004c117b
Merge branch 'main' into audio-enhancements 2023-09-21 01:13:54 +05:30
Samuel Gomes
66c3a7734b Minor cleanup 2023-09-20 20:39:56 +05:30
Samuel Gomes
45e5a24f88 Add HDR format support to _SAVEIMAGE 2023-09-20 20:32:29 +05:30
Samuel Gomes
fcb7afceeb Fix cannot initialize a parameter of type 'size_t *' with an rvalue of type 'ma_uint64 *' 2023-09-19 09:12:00 +05:30
Samuel Gomes
052d184ee7 Implement QOI datasource 2023-09-19 07:44:46 +05:30
Samuel Gomes
37c17c78f6 Remove GPL xbr.hpp and update all license info 2023-09-19 02:07:57 +05:30
Samuel Gomes
7d620c777b Use better png compression level 2023-09-19 00:06:13 +05:30
Samuel Gomes
d27faf5ad7 Update extra libraries to latest 2023-09-17 22:40:43 +05:30
Samuel Gomes
a9a229f526 Replace most qbs stuff with std::string and cleanup 2023-09-17 17:20:38 +05:30
Samuel Gomes
fd088ec21b Disable stderr debugging output 2023-09-17 14:13:17 +05:30
Samuel Gomes
fbc01dba85 Use VGA palette instead of EGA 2023-09-17 13:46:36 +05:30
Samuel Gomes
586371dc77 Implement _SAVEIMAGE 2023-09-17 11:52:54 +05:30
Samuel Gomes
8110307e2c Add XBR & MMPX pixel scalers 2023-09-16 03:50:24 +05:30
Samuel Gomes
412b783efa Add QOI support 2023-09-15 21:05:41 +05:30
Samuel Gomes
de128d8186 Add SVG loading support 2023-09-15 16:15:16 +05:30
Samuel Gomes
61fba93eb1 Remove dds_image: no load-from-memory support yet 2023-09-15 14:29:24 +05:30
Samuel Gomes
620d053577 Implement pixel scaler support 2023-09-15 14:10:27 +05:30
Samuel Gomes
b8ddbc30ee Add jebp, QOI, dds_image, nanosvg & pixelscalers libraries 2023-09-15 11:24:41 +05:30
Samuel Gomes
6e80013339 Add QOA lib 2023-09-15 10:43:38 +05:30
Samuel Gomes
8548d090fc Fix macOS seg-fault reported by @grymmjack 2023-09-14 07:19:22 +05:30
Samuel Gomes
1e251e4ea2 Add support for PCF & BDF fonts 2023-08-16 09:07:53 +05:30
Samuel Gomes
bf59b9da67 Fix incorrect client rect offset when compiled with LLVM-MingW 2023-07-29 10:38:23 +05:30
Samuel Gomes
89a0aa9f89
Merge branch 'main' into font-improvements 2023-06-21 07:21:30 +05:30
Samuel Gomes
3b1ca3a386 Fix fonts getting vertically misaligned 2023-06-19 07:06:49 +05:30
Samuel Gomes
7c96db91be Update to Libxmp-lite v4.6.0 2023-06-17 14:07:50 +05:30
Samuel Gomes
6096ab90b6 Limit MML player to octave 6 like QB64 & QB45 2023-06-10 17:19:34 +05:30
Samuel Gomes
3f16e3c9d1 Add volume, panning & waveform support for SOUND 2023-06-10 02:24:05 +05:30
Samuel Gomes
947ebdca20 Replace Sleep with sub__delay() 2023-06-09 15:59:14 +05:30
Samuel Gomes
b26dfff73f Implement "X" + VARPTR$(s$) support 2023-06-09 15:43:15 +05:30
Samuel Gomes
ef5d29e5fb Implement PSG class 2023-06-09 13:02:14 +05:30