1778 Commits

Author SHA1 Message Date
Vadim Grigoruk d378ccbad2 Merge remote-tracking branch 'origin/main' into website 2025-09-08 19:02:22 +02:00
Softkandi a4c75d3092 Fix saving options to JSON (#2790)
Remove the JSON macro, which doesn't work as intended because it literally pastes preprocessor code into the options file, corrupting it.
2025-09-08 18:54:19 +02:00
imsys d531774efb Libretro cursorfix (#2822)
* [libretro] draw cursor directly to screen

This fixes some bugs where the cursor were not drawn in some games, and
also causing a cursor trail in other games.

* [libretro] Makes the cursor to start hidden

As many games don't use mouse, we keep it hidden while it was not moved.
Those wanting to take screenshots of the titlescreen don't risk taking a
screenshot of the cursor.
2025-09-08 18:51:44 +02:00
imsys cd2be4f659 Informative screenshot filenames (#2826)
* Informative screenshot filenames

screenshots and recordings now contain the rom name + datetime

* Informative screenshot filenames - multiplataform fix

In my last commit, the code to get the milliseconds would not work on
Windows. This new code should be able to compile on Windows too.

* Informative screenshot filenames - multiplataform fix2
2025-09-08 18:50:04 +02:00
nesbox 7f41c76dcb fixed python build 2025-09-05 18:27:49 +02:00
nesbox 61fcb7c826 Merge branch 'main' into sokol 2025-09-05 18:05:17 +02:00
BLUELOVETH 4c1b009bc5 Refactor python.c and fix bugs (#2801)
* upgrade to latest

* up

* Update pocketpy

* Update pocketpy

* Update build.yml

* Revert "Update build.yml"

This reverts commit e2c1522762.

* refactor `python.c` and fix lots of bugs

* Update python.c

* Update python.c

* Update python.c

* Update pocketpy

* Update pocketpy

* Revert "Update pocketpy"

This reverts commit 52b965ccb1.
2025-08-25 19:44:41 +02:00
Vadim Grigoruk 2ff1ccc4a1 update to the latest sokol 2025-08-19 17:11:35 +02:00
Vadim Grigoruk 3aa3254ecc added touch support 2025-06-13 14:18:16 +02:00
Vadim Grigoruk 7effb96740 fixed net init 2025-06-06 21:28:25 +02:00
Vadim Grigoruk 62980caecb removed bin2txt tool, not zip demo carts, added cmake BIN2HEX macro 2025-06-05 13:55:01 +02:00
Vadim Grigoruk c8c2633e1d keyboard layout menu option 2025-06-03 16:21:18 +02:00
Vadim Grigoruk 253e601359 autohide mouse cursor option 2025-06-03 14:11:03 +02:00
Vadim Grigoruk 8ef2f20787 removed crt startup option 2025-06-03 12:06:06 +02:00
Vadim Grigoruk fb4d6eb2b4 #2785: fixed key() api in python 2025-05-24 16:20:34 +02:00
Vadim Grigoruk 7b3185ab21 #2785: fixed key() api in python 2025-05-24 16:20:23 +02:00
Vadim Grigoruk d707fe9a6b added OTHER menu item 2025-05-24 16:00:32 +02:00
Vadim Grigoruk 7a5d91813c startup options refactoring 2025-05-24 15:38:43 +02:00
Vadim Grigoruk 52cea7ad5b Merge branch 'main' into sokol 2025-05-24 10:27:06 +02:00
Vadim Grigoruk 1149e7cdd3 #2768: fixed keyboard mapping 2025-05-24 09:27:05 +02:00
Vadim Grigoruk d6bc5691f7 studio exit fix 2025-05-09 18:19:06 +02:00
Vadim Grigoruk ba3d6534dd enabled interprocess optimization 2025-05-09 18:06:23 +02:00
Vadim Grigoruk f533041680 crt.h moved to src 2025-05-03 18:53:02 +02:00
nesbox 233d1d5cc8 sokol renderer 2025-05-03 18:36:06 +02:00
josei 91800e0035 Baremetal Pi fix (#2763)
* Remove fopen/fclose reference from bytebattle part to fix baremetal pi boot (avoid 4-colour screen)

* Add support for isdir, deldir and delfile in baremetal pi

* Skip tic80.com folder in baremetal pi as there is no network

* Hide .local folder in baremetal pi

* Hide pixel cursor in baremetal pi, as a cursor is already rendered by tic80

* Fix potential buffer overflow in baremetal pi

* Remove unused code

* Add support for USB storage, using SD card as fallback, in baremetal pi

* Add baremetal pi support for ES locale while keeping US as default

* Use mouse raw mode instead of cooked mode to fix missing button-up events in baremetal pi
2025-03-22 21:03:08 +01:00
Nia ce24179d53 Fix OPT_END() missing without BUILD_EDITORS flag (#2748) 2025-03-01 08:59:57 +01:00
YoshiRulz da8e5b9915 Lua API: Explicitly zero local array (#2740)
per TASEmulators/BizHawk@87a740d09
2025-01-25 10:45:06 +01:00
PrimedErwin 2027e28e23 updated pkpy to v2.0.4 (#2730)
* updated pkpy to v2.0.4

* lz4 fix

* fixed some return val

* fix cmake issue
2025-01-04 18:31:16 +01:00
Bulby e3c3bc68fc fix bpp2 (#2715) 2024-11-11 14:31:09 +01:00
PrimedErwin e98d37ac0d update pocketpy from v1.x to v2.0.1 (#2714)
* unchange python.c

* add pkpy2 submodule

* pyfunc not updated

* added debug feature

* [dev]boot returns emptyp

* [dev]basic func finished

* [dev]hello world enabled

* [dev]..

* [dev]all bind

* [dev]add valueError

* [dev]fix some bug

* [dev]fix some bugs

* [dev]all api test pass

* [release]..

* [release]pkpy update to v2

squashed commits of [dev]

* [dev]core unchange

* [dev].

* [dev]castfloat+core saved+exception raise

* [dev]fixed mouse()

* [dev]fixed mouse() alloc

* [dev]delete tmp in mouse()

* [dev]add assert, update pkpy.cmake

* [dev]update pkpy submodule

* some fix

* fix IPO issue

* fix time.c

* fix time.c

* fix time.c

* fix time.c

* [dev]assign none to retval() as default

---------

Co-authored-by: BLUELOVETH <blueloveTH@foxmail.com>
2024-11-11 14:29:52 +01:00
Miguel ce24e76341 Update 3ds docker toolchain (#2701)
* update 3ds docker

* try to fix 3ds lua error

* revert and try to fix wren error

* disable lua and scheme for 3ds

* try to fix lua

* try to fix lua

* try to fix lua

* test

* revert

* try to fix lua

* test

* test

* continue

* possible last lua fix

* disable javascript in 3ds

* disable js correctly

* disable python for 3ds

* try to fix script.c

* try to fix another error

* test

* try to fix miniaudio

* test

* test

* test

* test

* test

* test

* try to fix gif errors

* test

* test

* test

* continue

* try with official devkitarm docker image

* test

* clean

* proper miniaudio fix

* mianiaudio version used before

* use cmake to build 3dsx

* use explicit name

* fix 3ds build instructions

* use NINTENDO_3DS from devkitPro cmakery

* fixup build commands

* output to build/bin

* update tested version

---------

Co-authored-by: Dave Murphy <davem@devkitpro.org>
2024-11-11 14:22:32 +01:00
Phil Hagelberg 8e19cb6347 Use debug.traceback for stack traces in Lua-based carts. (#2705)
Fennel carts have debug.traceback set to fennel.traceback during
initialization, which is a function that uses sourcemaps to convert
the traceback data which Lua knows about (with line numbers based on
the Lua output from the Fennel compiler) into traceback data based on
line numbers in the original source code.

Previously this had no effect because debug.traceback was never
actually run; luaapi.c contained a call to the underlying
luaL_traceback function instead, which did not know about
sourcemaps. Replacing it with a call to debug.traceback allows
us to see stack traces that use sourcemap data.

This change should have no effect on Lua carts; only Fennel carts and
perhaps Moonscript carts.

Also in this patch we set the filename field when compiling Fennel
carts; without this the custom fennel.traceback function can't use
sourcemaps as needed.
2024-10-17 01:56:03 +02:00
Miguel 3125d4a472 update to latest circle-stdlib (#2697) 2024-10-17 01:52:40 +02:00
Matt Zykan 9724aed396 Fix ruby mouse coordinates (#2698) 2024-10-17 01:51:39 +02:00
Matt Zykan e63ab8d292 flood fill paint function (#2683)
* flood fill paint function

* increase max paint stack to 4000

* optional paint argument bordercolor

* replace painter stack with queue

* fix janet and wren bindings for paint function
2024-09-30 20:17:02 +02:00
Matt Zykan 2d4415fefa add scrollx and scrolly to ruby mouse() (#2692) 2024-09-30 20:12:38 +02:00
Matt Zykan ac30827e7a add map() with no args to wren api class (#2687) 2024-09-30 20:11:18 +02:00
Matt Zykan 0e34eaaa50 break out fs_isdir and use it to test fs argument (#2680)
* break out fs_isdir and use it to test fs argument

* restore defined(BAREMETALPI) condition to isdir implementation
2024-09-14 18:20:14 +02:00
Matt Zykan 70ee0b6cce fix incorrect rounding on negative texture coordinates (#2679) 2024-09-09 21:01:12 +02:00
Matt Zykan 794ee52b8c fix tic_modulo (#2676)
* use modulus to loop map

* use tic_modulo in drawMap

* fix tic_modulo for large negative values
2024-09-09 20:59:34 +02:00
Miguel 7a6f51d939 Search from cursor position + go to the top if ended going down with … (#2671)
* search from cursor position + go to the top if ended going down with arrow keys and viceversa

* remove extra whitespaces that I included
2024-09-09 20:54:04 +02:00
Alice 1b35935179 Fix issue with alt+1 on certain layouts (#2665) 2024-09-09 20:52:54 +02:00
Alice 81de993d66 Cleanup: remove all trailing spaces from the source code (#2664)
* `cmake`: Remove trailing spaces

* `build`, `src`: Remove trailing spaces

* `templates`: Remove trailing spaces

* `demos`: Remove trailing spaces

* `include`: Remove trailing spaces
2024-08-26 21:01:59 +02:00
Alice e60a708b3c Fix TIC-80 when using a French AZERTY layout (#2663)
* Initial naive implementation

* Reorganize code

* Generalize & future-proof

Detects more keyboard layouts etc.

* Unbreak other platforms

* Refactor keyboard layouts into an enum
2024-08-26 20:58:07 +02:00
Alice 3af8080ac2 Remove support for sokol. (#2662) 2024-08-26 13:04:02 +02:00
Alice 70b01118a1 Fix buffer overflow in tic_fs_changedir (#2658) 2024-08-26 12:49:19 +02:00
Gaiko-sw 2ab4fe0e99 font() chromakey argument order in python fixed (#2634) (#2653) 2024-08-25 10:04:53 +02:00
Miguel 77902de1d2 fix some strncat vulnerabilities (#2648)
* fix some strncat vulnerabilities

* fix mingw build

* fix

* fix

* fix windows builds

* fix mingw

* fix

* use snprintf and avoid truncation

* forgot FsString

* fix mingw

* try to fix mingw

* fix windows

* fix mingw

* fix

* fix bug

* ready
2024-08-11 15:04:44 +02:00
Miguel 048df32657 Fix f1 hotkey conflict (#2646)
* fix f1 hotkey conflict

* use f7 as it doesn't conflict

* fix f1 hotkey conflict
2024-08-04 11:39:46 +02:00
Miguel 3c52c46c98 fix cart.png palette inconsistency with custom config (#2643) 2024-08-04 11:38:08 +02:00