Samuel Gomes
d1ca9d75f3
Move common validations into macros
2023-04-30 01:50:35 +05:30
Samuel Gomes
f1bb16a6fe
Changes per discussion in #335
2023-04-30 00:27:34 +05:30
Samuel Gomes
9870510b04
Merge branch 'QB64-Phoenix-Edition:main' into font-FreeTypeAmalgam
2023-04-28 20:57:28 +05:30
Samuel Gomes
49fd18afab
Update GetStringPixelWidth() to return more accurate pixel length
2023-04-28 15:04:55 +05:30
Samuel Gomes
d74471b569
Fix RenderBitmap() bug
2023-04-28 00:53:45 +05:30
Samuel Gomes
97ad4d7134
Remove static variables
2023-04-28 00:35:47 +05:30
Samuel Gomes
e49eb79baa
Update comments
2023-04-27 23:13:54 +05:30
Samuel Gomes
4a6fb37a88
Implement all _PRINTMODEs for _UPRINTSTRING
2023-04-27 22:30:55 +05:30
Samuel Gomes
4fc1905809
Replace fast_boxfill() with qb32_boxfill() in sub__UPrintString()
2023-04-27 12:41:20 +05:30
Samuel Gomes
9ac4107d71
Implement _PRINTMODE 1 & 3
2023-04-27 08:45:25 +05:30
Samuel Gomes
3dd439e625
Change function names
2023-04-26 22:36:24 +05:30
Samuel Gomes
2d650cf1fe
Fix GetStringPixelWidth()
2023-04-26 21:37:36 +05:30
Samuel Gomes
c033c624ac
Add support for _UPrint*()
2023-04-26 17:36:09 +05:30
Samuel Gomes
bfacbec2b5
Fix RenderBitmapPSetAlpha()
2023-04-26 14:15:45 +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
ac136b7ef7
Simplify rendering code
2023-04-22 13:03:14 +05:30
Samuel Gomes
381b27c38a
Replace sprintf_s with snprintf
2023-04-21 11:02:40 +05:30
Samuel Gomes
bdd9cb1256
Merge branch 'QB64-Phoenix-Edition:main' into font-fixes
2023-04-20 20:57:29 +05:30
Samuel Gomes
4c82a241c1
Add stub for FontLoadFileToMemory()
2023-04-20 09:26:59 +05:30
Samuel Gomes
e4b36ca8ad
Add font load-from-memory support
2023-04-20 09:23:13 +05:30
Samuel Gomes
469d0a11e3
Baseline is now calculated correctly
2023-04-19 19:14:10 +05:30
Samuel Gomes
58fab19c8a
Fixes a potential segfault in func_play()
2023-04-19 18:15:07 +05:30
Samuel Gomes
c28310de38
Fix stub_font.cpp function signatures
2023-04-19 17:02:18 +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
75ff666213
Add function comments
2023-04-13 04:42:53 +05:30
Samuel Gomes
ac6f6574a1
Update comments
2023-04-11 23:21:47 +05:30
Samuel Gomes
1c505561d6
Implement pending changes in #330
2023-04-09 03:37:44 +05:30
Samuel Gomes
fe5ab05e6d
Merge branch 'main' into font-cleanup
2023-04-06 19:36:21 +05:30
Samuel Gomes
1d6154e95c
Supress GCC warnings (errors on Clang)
2023-04-05 13:45:15 +05:30
Samuel Gomes
d974c0b9a8
Tidy up font code
2023-04-04 17:51:17 +05:30
Samuel Gomes
d7a04f9164
Tidy up RAD sources
2023-04-02 16:37:18 +05:30
Samuel Gomes
5a14c90e31
Add RAD v1 support
2023-04-02 15:27:40 +05:30
Samuel Gomes
a7559fb352
Update miniaudio to v0.11.14
2023-04-02 15:03:08 +05:30
Samuel Gomes
ce41ec5eaa
Opal OPL emulator fixes & update 1
2023-04-02 14:56:59 +05:30
Samuel Gomes
8a9b8a2f25
Update TSF and add SF3 support. Fix $MIDISOUNDFONT behavior
2023-03-26 11:38:03 +05:30
Samuel Gomes
8e8d06fd20
miniaudio version number bump
2023-03-23 05:58:10 +05:30
Samuel Gomes
5dc77acec9
Fix compilation errors with the C++ build
2023-03-22 09:18:28 +05:30
Samuel Gomes
09a9728464
Update miniaudio to version 0.11.12
2023-03-20 05:44:38 +05:30
Samuel Gomes
13a6e209d5
Merge branch 'main' into main
2023-03-19 08:57:53 +05:30
Samuel Gomes
0581d8dabc
Update stb_image.h to v2.28
2023-03-19 07:21:20 +05:30
Samuel Gomes
6dd651f7cd
Replace MinGW intrinsic zlib with miniz
2023-03-19 02:28:05 +05:30
Samuel Gomes
9a48df5842
Remove dummy files from internal/c/parts/network
2023-03-04 09:39:09 +05:30
Samuel Gomes
4dcefd103e
Satisfy -Wc++11-narrowing
2023-03-04 07:50:46 +05:30
Samuel Gomes
e79537e624
Merge branch 'main' into image-load-from-memory-support
2023-02-13 16:24:36 +05:30
Samuel Gomes
009eb67ac7
Update comments
2023-02-13 16:24:11 +05:30
Matthew Kilgore
d4ed371681
Stopped timers don't trigger on TIMER ON
...
If a timer expires while stopped, it should trigger when TIMER ON is
run. Instead, on QB64 it triggers randomly after the TIMER ON happens.
The basic issue is that `qbevent` needs to be set to trigger the timer,
but TIMER ON doesn't do that. The regular timer logic that does that
already set it when the timer expired while sleeping, so it won't set it
again. The simplest solution is to just alway set qbevent = 1 when TIMER
ON is done. It's slightly less efficent but doesn't hurt to set it even
when there are no timers that expired.
Fixes: #293
2023-02-12 21:27:25 -05:00
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