Commit Graph

2176 Commits

Author SHA1 Message Date
Sigrid Solveig Haflínudóttir 51d43a6989 screen: don't leak memory and don't crash if failed to adjust for new screen size 2023-07-17 00:50:19 +02:00
Devine Lu Linvega a75f4a1496 (datetime.tal) Added numeric display of date 2023-07-16 11:59:30 -07:00
Devine Lu Linvega a0b739f8da (datetime) Improved example 2023-07-16 11:41:44 -07:00
Devine Lu Linvega 8508fd3dec Improved console device examples 2023-07-16 10:04:40 -07:00
Devine Lu Linvega 7f35e1863a Improved device examples 2023-07-16 09:41:40 -07:00
Devine Lu Linvega f0377ca2d9 (system.expansion.tal) Added expansion port test file 2023-07-15 21:58:41 -07:00
Devine Lu Linvega 1880b1cd2a (system.catch) Improved test file. 2023-07-15 21:46:04 -07:00
Sigrid Solveig Haflínudóttir dbcb8ed050 retry_realpath: check before possibly writing out of bounds 2023-07-10 17:21:36 +00:00
Sigrid Solveig Haflínudóttir 784467564c uxnemu: fix two warnings on 9front build 2023-07-10 15:37:42 +00:00
Sigrid Solveig Haflínudóttir 05356e23b1 capture_screen: check for errors 2023-07-10 15:35:35 +00:00
Devine Lu Linvega ff6d9e39ca (uxnemu) Fixes issue where non-zero console/type occurs even when empty, fixed by hikari_no_yume 2023-06-29 14:23:16 -07:00
Weeble f5c816d215 (screen.c) Fix sprite draw at screen edge
Problem - Sprites can be drawn at X/Y coordinates >= 0xfff9 to appear
partially over the left/upper screen boundary. But the dirty-rectangle
calculation doesn't account for this, so these updates will only appear
on the screen if something *else* dirties this area of the screen. This
can be observed in /projects/examples/devices/screen.tal where these
edges of the screen show stale content.

Solution - Detect wrapping and expand the dirty rectangle appropriately.
Change screen_change to take Uint16 to make sure values are truncated to
the intended range. Ignore changes that are fully off the screen.
2023-06-29 07:41:42 -07:00
Devine Lu Linvega 49d74b89d0 (subleq.tal) Ported to immediate modes 2023-06-27 11:27:27 -07:00
Devine Lu Linvega f3674b2562 (circle128) Added radius arg 2023-06-09 10:53:23 -07:00
Andrew Alderwick f6b7195578 Update binary builds to point to drive.100r.co. 2023-06-09 18:13:44 +01:00
Devine Lu Linvega e930804c4b Do not print message on quit 2023-06-09 09:29:25 -07:00
Devine Lu Linvega 6d93884d85 (circle128) Minor opt 2023-06-08 22:11:49 -07:00
Devine Lu Linvega f80279e1f2 (circle128) Fixed build instructions 2023-06-08 21:32:29 -07:00
Devine Lu Linvega ade58a229a (tables.c) Renamed to circle128.c 2023-06-08 21:21:22 -07:00
Devine Lu Linvega fe10cfecef Improved usage standard message 2023-06-08 09:47:18 -07:00
Devine Lu Linvega 650c38115d Removed the echo prints from the build file 2023-06-08 09:31:01 -07:00
Devine Lu Linvega b4a6a16da8 (wireworld.tal) Removed, moved to uxn-utils 2023-06-07 16:36:57 -07:00
neauoire 59035ab291 (wireworld.tal) Fixed mouse picking issue 2023-06-07 09:58:10 -07:00
neauoire 3f162f6258 (wireworld.tal) Match colors to standard wireworld specs 2023-06-07 09:51:27 -07:00
neauoire 5dd7fec729 Removed clear between redraws and moved to set_window_size 2023-06-07 08:23:42 -07:00
neauoire e147b46b55 Snake_cased some SDL variables 2023-06-07 08:03:28 -07:00
neauoire 2810592c1b (fib.tal) Fixed incorrect definition 2023-06-06 14:33:20 -07:00
neauoire 1666aebea2 Merge branch 'main' of git.sr.ht:~rabbits/uxn 2023-06-06 11:49:37 -07:00
neauoire 6fc314b5a0 (fib.tal) Added tail-recursive version 2023-06-06 11:49:28 -07:00
Andrew Alderwick c543827b76 (asma) Correct exit status from software/asma.tal runs. 2023-06-05 19:06:13 +01:00
Devine Lu Linvega 8d90298e57 (fib.tal) Improved example 2023-06-01 21:53:28 -07:00
Devine Lu Linvega 1d4ae74e41 Removed multiplication from SET macro in uxn core 2023-05-17 20:39:03 -07:00
Sevan Janiyan 305b8469b0 Use the correct definition to obtain snprintf(3)
At some point snprintf(3) prototype became guarded off in stdio.h.
Defining _C99_SOURCE makes it visible.
On legacy Darwin, such a guard was not present so the definition
has no impact on the build, but on "modern" macos it has the desired
effect.
Build tested on OS X 10.4 and macos 10.15.
2023-05-15 08:32:48 -07:00
Sevan Janiyan b5b3177c68 Switch to using SDL_CreateRGBSurface() SDL_CreateRGBSurfaceWithFormat() was introduced in SDL 2.0.5 whereas SDL_CreateRGBSurface() is available since SDL 2.0. This allows uxn to run on legacy systems where it's not possible to reach SDL 2.0.5 but prior versions are, such as Mac OS X Tiger. 2023-05-14 19:34:55 -07:00
Sevan Janiyan 822a7fea54 Use the audio format native to host AUDIO_S16 defaults to little endian format which causes issues when running on big endian systems. Use AUDIO_S16SYS instead which sets to whatever endian the system uxn is being built on is. 2023-05-14 19:34:55 -07:00
~d6 310ba97ef6 Improve screen vector timing somewhat.
This patch tries to improve the accuracy of our
screen refresh timing. Notably, it tries to ensure
we don't introduce extra delay in our timing based
on how long the screen vector takes to evaluate.

We also try to ensure we only call SDL_Delay when
we have at least 1ms to wait.
2023-05-09 13:12:23 -07:00
Devine Lu Linvega 09d9990a62 (screen) Fixes warnings 2023-05-04 20:45:52 -07:00
Devine Lu Linvega 77edd1dbbf (screen) Renamed pixels attr to layer 2023-05-04 20:32:44 -07:00
Devine Lu Linvega d80885ee22 (screen) Housekeeping 2023-05-04 20:17:38 -07:00
Devine Lu Linvega 98bd2a7849 (screen) Use uxn_screen global 2023-05-04 17:43:44 -07:00
Devine Lu Linvega 1fdb91ecb8 (amiga.tal) Tiny refactoring 2023-05-04 17:15:27 -07:00
Devine Lu Linvega 204805b586 (amiga.tal) Do not flip rotation direction on floor collision 2023-05-04 16:25:41 -07:00
Nojus Raskevicius 64f2692734 Remove fps limit on bounce for amiga.tal 2023-05-04 15:58:34 -07:00
~d6 11a893d10d Reverse ball rotation after bouncing. 2023-05-04 15:57:00 -07:00
Devine Lu Linvega 9416a0e813 Removed layer struct 2023-05-04 11:33:31 -07:00
Devine Lu Linvega 8f98281d89 (screen) Only repaint changed pixels 2023-05-04 11:15:16 -07:00
Sigrid Solveig Haflínudóttir a740105b76 enable "install" target on Plan 9, install as games/uxn* 2023-05-02 23:01:29 +00:00
Sigrid Solveig Haflínudóttir c7f3014fe9 zoom: ignore if 0, ie if the screen is somehow TOO small to do any scaling 2023-05-02 22:53:07 +00:00
Devine Lu Linvega 83ba7e05ea Added mock behavior for the friend port 2023-05-02 10:31:33 -07:00
Matus Laslofi d2e054346f Declare snprintf to fix builds on macOS
For some reason on macOS, the functions `snprintf` and `vsnprintf` are
not in the X/Open 5 (ANSI C89) standard but rather in the X/Open
6 (ISO C99). A simplest solution seems to be to declaring the missing
functions before using them, which is what I did here. Another option
is to use the C99 standard with `#define _XOPEN_SOURCE 600`, which
seems to be an overkill for such a niche issue.

Quoting from the STANDARDS section in `man 3 snprintf` on macOS:

> ...the snprintf() and vsnprintf() functions conform to ISO/IEC
> 9899:1999 (“ISO C99”)...
2023-05-01 09:27:49 -07:00