Commit Graph

42 Commits

Author SHA1 Message Date
Dania Rifki b3feccf770 Add YueScript as an additional scripting language (#2743)
* Publish Code

* Fixed YueScript build.

* Disabled macro feature which crashes runtime.

* Update YueScript submodule

* Try to fix the "function TIC()..." isn't found bug, no luck so far...

* Fix Demo and Mark

* Format yue.cpp

* Make it work in C99, let's hope this compiles in Win XP et cetera

* Fix Compilation Issues

* Try fixing rpi-baremetal(4) and nintendo-3ds builds

* Try fixing linking

* Reenable Exceptions

* Override YueParser

* Try forcing newer glibc?

* Debugging Build Step

* Update YueScript version

* Simplify build

* Add yue.cpp

* Whoops

* Update YueScript

* Update circle.patch to try to fix the build error

* Try removing -lstdc++fs

* Modify Patch

* Revert Update circle.patch

* ???

* Forgot to git Apply

* Accidentally put it in macOS instead of N3DS

* Remove platform specific configurations for now

* Remove thread_local for N3DS Build

* Use a more reliable way to disable thread_local on N3DS

* Forgot to pass in initial-exec

* Remove build/yuescript-makefile-remove-stdc++fs.patch

* Include libyuescript in the baremetal Makefile

---------

Co-authored-by: Li Jin <dragon-fly@qq.com>
2025-10-20 19:08:09 +02:00
imsys b98d07c734 Replace msf_gif submodule with single header (–711 MiB) + macOS build fix (#2833)
* Includes the msf_gif.h in the project instead of using the full repo (saves 711 MiB of disk space)

* fix macos build

CMake Error at vendor/zip/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 has been removed from CMake.
-- Configuring incomplete, errors occurred!

Update the VERSION argument <min> value.  Or, use the <min>...<max>
syntax
to tell CMake that the project requires at least <min> but has been
updated
  to work with policies introduced by <max> or earlier.

  Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
2025-09-12 18:44:16 +02:00
nesbox 21aa81a1ac update lpeg submodule 2025-09-05 18:13:19 +02:00
BLUELOVETH 14042cc6f2 Upgrade Python language bindings to v2.1.0 (#2795) 2025-07-05 17:37:04 +02:00
Vadim Grigoruk ef023fb539 QuickJS update (#2776) 2025-04-19 15:59:14 +02: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
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
Alice b663074287 switch to upstream sdlgpu (#2673) 2024-09-09 20:56:13 +02:00
Alice 3af8080ac2 Remove support for sokol. (#2662) 2024-08-26 13:04:02 +02:00
Vadim Grigoruk 68ff5c5e75 wasm build fix 2024-05-25 14:45:08 +02:00
Vadim Grigoruk 505e817280 merge shared api to main branch (#2568) 2024-05-05 17:02:25 +02:00
Alice 1e7a150c83 Update glew in sdl-gpu so AddressSanitizer doesn't error out on it; switch to my fork for it (#2537) 2024-04-27 09:01:33 +02:00
nesbox cff7ee5452 #2218: new GIF encoder 2023-08-16 17:17:25 +02:00
nesbox 3e32ae7098 #2252: Added NAETT (https://github.com/erkkah/naett) library as a main network library (but with https support) instead of libuv 2023-08-06 13:59:52 +02:00
nesbox 530d7f825a #1191: Duktape changed to QuickJS 2023-08-05 12:12:29 +02:00
nesbox e7fbd51f37 android build fix 2023-08-01 21:08:03 +02:00
blueloveTH 20b824d182 add submodule 2023-05-15 13:41:27 +08:00
nesbox 95011d61a7 disabled game controller with "Serial/Keyboard/Mouse/Joystick" name #2055, also removed gamecontrollerdb because SDL2 has own db inside 2023-02-22 14:13:25 +01:00
nesbox 8a1bd61686 added support of SDL_GameControllerDB #447 2023-02-21 15:55:40 +01:00
Charlotte Koch 41a96ec443 WIP Add Janet 'vendor' submodule, begin touching up CMake 2022-09-01 13:44:58 -07:00
nesbox aeabb55bef merged WASM runtime PR #1772 2022-02-23 16:39:44 +03:00
nesbox 8666c53a5a using UV instead CURL lib 2022-02-23 12:22:56 +03:00
Jeremiasz c656bdf4a7 Ruby scripting support (#1726)
* Register submodule for mruby

* Link binaries against static mruby

* Adapt old mrb_api.c code to current internal API-s

* Create Ruby demos

* Mention Ruby support in README.md

* Mention Ruby in features
* Attribution

* Fix broken demos

* Add mruby WASM target

* Fix compatibility with old CMake versions

* Fix support for languages with single-char comment

Current behavior assumes that comments comprise
exactly two characters, such as "--" or "//".

Many languages, such as Ruby and Python, use
a single character, such as the pound sign
or the ASCII quotation mark to signal
a single-line comment.

* Fix segfault when opening outline

* Actions: Install Ruby where not present

* Honor Windows MRuby static exts

* Build mruby with /MT on Windows

* Force mruby to use .a suffix for static libraries

Github Actions seems to also prefer the UNIX-native
prefix on Windows CMake

* Do not build redundant mrbgems

Created a gembox containing only
useful gems

* Infer mruby CFLAGS from CMake

* Pass CMake flags to MRuby cross target

* Revert "Pass CMake flags to MRuby cross target"

This reverts commit 1a8bf8330e.

It turns out that wrapping CMake's poor cross build support
was not a good idea after all.

* Refactor mruby build configuration sets

* mruby toolchain switching from CMake

* Guess CMAKE_COMMAND on Windows OS

* [mruby] Delegate ENV passing to rake invocation

CMake's env helper is broken on Windows OS :/

* Enforce certain mruby toolchains from CMake side

* Simplify mruby build system

* Genericize cross compilation
* Clean mruby build artifacts with make/ninja clean

* Force mruby bootstrap to use MSVC where applicable

* Fix naming in demos.c

* Fix incorrect mruby x-compilation logic

* Use TARGET_CC as the ultimate linker in mruby builds

Some toolchains seem to work better this way.

* Explicitly use mruby clang toolchain on macOS

* Set --sysroot in mruby for macOS Clang

* Do not depend on YACC

https://github.com/nesbox/TIC-80/pull/1726#issuecomment-989728667:
> mruby can be built without yacc(or GNU Bison) after mruby 2.1.2+( https://mruby.org/releases/2020/08/06/mruby-2.1.2-released.html).

* Set ImageOS in Actions runner Dockerfiles

This allows Ruby to be installed on those
non-standard images.

* Revert "Set ImageOS in Actions runner Dockerfiles"

This reverts commit 0ea4ecaf83.

* Manually install Ruby in cross Actions containers

* mruby Android toolchain

* Additional params for mruby android toolchain

* Don't build redundant mrbgems

* Whitelist mrbgem "stdlib-io" anyway

* Don't fortify sources on Android

* Disable source fortification project-wide on Android

* Also disable fortify at link time on Android

* Android build fixes

* Fix building on Raspberry Pi

* Fix missing variable prefix in Android CMake

* Rename: mrb.c -> mruby.c

* Adapt mruby.c code to master

* Fix silly misplacement of definition in CMakeLists

* Use CMake-native target version inference

ref.  https://cmake.org/cmake/help/latest/variable/CMAKE_ANDROID_API.html

* Do not link mruby against winsock on WinNT

* Add mruby target to stub export action

* Revert "Use CMake-native target version inference"

This reverts commit 6164e0b052.

* Explicitly set ANDROID_API from gradle

* Move: /mruby/ -> /build/mruby/

More consistent with the rest of the project tree

* baremetalpi: Link against libmruby

* Prepare standalone NDK toolchains in Actions

* Link sysroot in standalone NDK

* Patch mruby with modern NDK support

* Actions: Provision Git to allow "am" patching

* Revert "Actions: Provision Git to allow "am" patching"

This reverts commit 375ca376f2.

* Patch mruby during the configuration step

* Github Actions: Recreate standalone NDK toolchains

* Fix mruby build on Android

* Update build instructions
2021-12-11 20:22:32 +03:00
nesbox 328b453d5a update to SDL2 2.0.14 2021-06-30 16:34:33 +03:00
Nesbox 831b60a87d #755: added png lsb image stenography 2021-03-02 12:42:23 +03:00
Nesbox 4a8c6a50d4 #1323: added shallow for all the submodules 2021-02-08 13:15:29 +03:00
Rob Loach 23e5db4a1c Update to Duktape 2.6.0, and use a shallow clone
Fixes #1323
2021-01-30 21:01:08 -05:00
Nesbox be5055f0a4 added libuv support for the future use 2021-01-22 17:08:03 +03:00
Nesbox 41c4655c03 use original Curl submodule 2021-01-22 15:26:20 +03:00
nesbox a4df30649d #912: added build to the Github Actions 2020-12-01 15:05:37 +03:00
Nesbox 22686323de switch back to kuba-- zip, disabled sdlgpu support on macos by default 2020-11-26 17:05:37 +03:00
Nesbox fc282822cb fixed compilation with MINIZ_NO_TIME 2020-11-26 16:12:23 +03:00
nesbox 03c298c448 revert to github.com/kuba--/zip 2020-11-25 18:54:55 +03:00
Nesbox 460537b415 #799: added wide names support for zip lib on Windows 2020-11-25 11:59:22 +03:00
Nesbox 1597f7b623 #1247: removed file dialogs, added ArgParse lib to parse app arguments, temporary removed code/sprites/map injection 2020-11-16 17:44:39 +03:00
Nesbox 60bd4f2620 build fix 2020-10-28 16:04:24 +03:00
Nesbox 139fb99b31 Use moonscript as submodule 2020-10-28 15:31:52 +03:00
nesbox 0dd24096e8 recovered html export 2020-03-27 00:22:02 +03:00
Rob Loach 42ba3e4e56 Replace 3rd-party submodule tree with vendor directory
Restore wren

Restore zlib
2020-03-22 14:14:17 -04:00
Rob Loach e008b6d928 Add TIC-80 libretro renderer (#846)
* gitmodules: Ignore modifications in 3rd-party submodules

* libretro: Initial commit

* libretro: Add .info

* libretro: Update cmake

* libretro: Add inputs

* libretro: Add more integrations

* libretro: Update documentation

* libretro: Fix render priority

* libretro: Update CMake

* libretro: Add file_stream

* libretro: Add more files

* libretro: Add Makefile

* libretro: Add compat_strl

* libretro: Cmake updates

* libretro: Fix cmake

* libretro: Remove variables since they're not used

* cmake: Allow disabling building Sokol

* cmake: Fix BUILD_SOKOL

* cmake: Add BUILD_SDL

* libretro: Remove audio mixer

* libretro: Use the sample count instead of FPS

* libretro: Add BUILD_LIBRETRO

* libretro: Replace audio callback

* libretro: Fix the pixel format

* libretro: Add keyboard support

* libretro: Remove second call to unload_game()

Thanks to @fr500 for this recommendation.

* libretro: Fix use of unsigned ints

* libretro: Add update function docs

* libretro: Use Pointer?

* libretro: Remove performance timer

* libretro: Allow using the Mouse API instead of Pointer

* libretro: Update the pointer API logic

* libretro: Remove redefinition of TIC_FRAMERATE

* libretro: Remove the last entry

* libretro: Update Makefile

* libretro: Fix cmake

* libretro: Disable SDL and SOKOL when building

* libretro: Fix Makefile

* libretro: Update Makefile

* libretro: Add documentation

This adds some remaining API docs, along with inline comments.

* libretro: Add TIC_MAXPLAYERS

* cmake: Fix EXAMPLES_DIR

* libretro: Ignore all submodule changes

* libretro: Update documentation

* libretro: Move libretro to src/system/libretro

* libretro: Restore tic80_libretro.c

* libretro: Fix .gitignore

* libretro: Use TIC_STEREO_CHANNELS
2019-06-20 12:56:23 +03:00
Vadim Grigoruk a399385c24 Update .gitmodules 2018-01-22 11:36:28 +03:00
Guilherme Medeiros 7279da73d9 Add 3rd-party repository as a submodule
By adding the 3rd-party repository as a submodule, we ensure users have all the 3rd-party required to build TIC-80.
Also, if the 3rd party repository is updated, we will only need a single commit at TIC-80 repository to point to the newer head.
2018-01-19 18:25:54 -03:00