TIC-80 is a fantasy computer for making, playing and sharing tiny games.
v1.2.x
by @blueloveTH in https://github.com/nesbox/TIC-80/pull/2315
trace
can log object-type argument in ruby to be consistent with lua by @zacx-z in https://github.com/nesbox/TIC-80/pull/2332
Full Changelog: https://github.com/nesbox/TIC-80/compare/v1.1.2736...v1.1.2837
Full Changelog: https://github.com/nesbox/TIC-80/compare/v1.1.2729...v1.1.2736
time()
API call - revert the clock()
changes by @joshgoebel in https://github.com/nesbox/TIC-80/pull/2047
baremetalrpi
instructions by @TylerMS887 in https://github.com/nesbox/TIC-80/pull/2052
vendor/pocketpy
into a git submodule by @blueloveTH in https://github.com/nesbox/TIC-80/pull/2200
Full Changelog: https://github.com/nesbox/TIC-80/compare/v1.0.2164...v1.1.2729
cd
with no args returns home by @joshgoebel in https://github.com/nesbox/TIC-80/pull/1789
Full Changelog: https://github.com/nesbox/TIC-80/compare/0.90.1723...v1.0.2164
THANKS to all the people who helped release this version, especially the contributors
@cogk @Voklen @brickviking @schraf @Karethoth @jminor @cgrs @RobLoach @txgruppi @tstopak @phlubby @joshgoebel @technomancy @nalquas @msx80 @asiekierka @drako0812
Added text selection/copy/paste to the console
A cart can be saved and distributes as a PNG image, use save game.png
command.
TIC-80 can work like a compiler without UI with --cli
command line parameter, for example here we load game.tic
cart from current dir (use --fs .
) and export it as game.exe
executable for Windows:
$ ./tic80 --cli --fs . --cmd "load game.tic & export win game.exe & exit"
cart game.tic loaded!
use RUN command to run it
GET /export/0.90/win [100%]
game.exe exported :)
Also, games can be exported without access to the editors with alone=1
flag (PRO feature)
export linux game.exe alone=1
The help
command was redesigned and you can get info about spec/ram/api/command/...
>help
usage: help [<text>|version|welcome|
spec|ram|vram|commands|api|startup|
terms|license]
>help api
API functions:
OVR SCN TIC btn btnp circ circb clip
cls elli ellib exit fget font fset key
keyp line map memcpy memset mget mouse
mset music peek peek4 pix pmem poke
poke4 print rect rectb reset sfx spr
sync textri time trace tri trib tstamp
>help sync
---=== API ===---
sync(mask=0 bank=0 tocart=false)
The pro version of TIC-80 contains 8
memory banks.
To switch between these banks, sync can
be used to either load contents from a
memory bank to runtime, or save
contents from the active runtime to a
bank.
The function can only be called once
per frame.If you have manipulated the
runtime memory (e.g. by using mset),
you can reset the active state by
calling sync(0,0,false).
This resets the whole runtime memory to
the contents of bank 0.Note that sync
is not used to load code from banks;
this is done automatically.
Another useful thing you can export whole help info in Markdown format, use command export help cheatsheet.md
Added mouse capture functionality to receive relative values instead of the current cursor position (useful in first-person 3D games), the cursor is hidden and this mode. To enable this mode pls use poke(0x7FC3F,1,1)
command.
Small example with enabling the relative mode:
function flip(val)return val>0 and 0 or 1 end
function TIC()
if btnp(4)then
poke(0x7FC3F,flip(peek(0x7FC3F,1)),1)
end
cls()
local x,y=mouse()
print(x..":"..y)
end
Added baremetal/rpi/3ds builds to Github Actions and all the Nightly Builds can be downloaded here https://nightly.link/nesbox/TIC-80/workflows/build/master
Now you can change bit mode in the map editor
On Android, you can switch between the system keyboard and TIC-80 internal keyboard Hardware keyboard now detects automatically.
First of all, I want to say THANKS to all the people who helped release this version, especially the contributors
@asiekierka @robloach @ddelemeny @technomancy @anatolse @stefandevai @gouchi @phcoder @michaeldel @wadetb @farvardin @buckle2000 @kawa-yoiko @cuu @grahamclemo @rudenkoarts @librorumque @kostik1337
The new version has a new UI made with the Sweetie16
palette designed by GrafxKid.
toggle [CTRL+F1], next [F1], prev [SHIFT+F1], remove all [CTRL+SHIFT+F1]
dofile()
function, but you can save cart in text format and edit in any editor you want, use save game.lua
and folder
to locate it
4bpp
, 2bpp
, 1bpp
modes you can store more sprites by lowering the color bit (added by @ddelemeny). Please, read Advanced Drawing Techniques article and look at bpp.tic
demo
export sfx/music [index]
command to export .wav
export html
creates .zip
ready for production on itch.io with Web Assembly insideduk_is_null_or_undefined
in jsapi.ceval
command (thank you @technomancy)VSYNC
support, using delay
instead, so TIC should work on monitors > 60Hz without sound desyncCTRL+PGUP/PGDN
to switch modes (thank you @technomancy)Quit TIC-80
to the game menu-uiscale
command line argument (UI_SCALE
in the config)build.sh
script (thank you @matimati433)textri
api (thank you MonstersGoBoom)you can review full changelog here https://github.com/nesbox/TIC-80/milestone/23?closed=1
Thanks all for the support and Pull Requests.
PS. I hope next update will be released earlier than a half year :)
4 gamepads + mouse XY and buttons + keyboard
KEYMAP
command, you can configure gamepad mapping in the GAME MENUSYNC
label (synchronization error) if your game doesn't fit 60 FPS (only native, doesn't work in web version)-- input: gamepad
or -- input: keyboard
)spr
, circ
and tri
, now they > 2x faster (by @jahodfra)-skip
command line option to run TIC without startup animation-fullscreen
command line option to run in Fullscreenshadow
variable to the Config to hide shadow in the Code Editorreset()
API, to restore your game to initial statesync()
API, you can do it only one time per frame for tiles, sprites, map, sfx, music, info here https://github.com/nesbox/TIC-80/wiki/sync#parameters
Thanks for contributions: @jahodfra @frenetic
and others, for the bug reports!
added:
tic80 .
will use current directory as storage, tic80 ../path/to/cart.tic
will use ../path/to/
as storage and load cart.tic
make linux-pro
for examplespr()
function performance (got 20000 points in benchmark, 13000 was before)tic
renamed to tic80
sync()
api has new direction parameter, true -> sync from RAM to cart, false -> sync from cart to RAM (useful to restore cart data in the RAM)tic80 -surf
to start in SURF modetic80 -nosound
to start in silent modetic80 -fullscreen
to start in fullscreen modeedit
command to show editorsversion
commandfixed:
pix()
api color boundstextri()
, also fixed crash