Skip to content

Commit

Permalink
assets.bat to generate binaries
Browse files Browse the repository at this point in the history
  • Loading branch information
nesbox committed May 5, 2024
1 parent e69c53f commit d31f437
Show file tree
Hide file tree
Showing 21 changed files with 113 additions and 151 deletions.
7 changes: 3 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ message("VERSION_HASH: ${VERSION_HASH}")

configure_file("${PROJECT_SOURCE_DIR}/version.h.in" "${CMAKE_CURRENT_BINARY_DIR}/version.h")

set(BUILD_DEMO_CARTS_DEFAULT OFF)

if(ANDROID OR EMSCRIPTEN OR N3DS OR RPI)
set(BUILD_LIBRETRO_DEFAULT OFF)
set(BUILD_PLAYER_DEFAULT OFF)
set(BUILD_TOOLS OFF)
else()
set(BUILD_LIBRETRO_DEFAULT ON)
set(BUILD_PLAYER_DEFAULT ON)
set(BUILD_TOOLS ON)
endif()

set(BUILD_TOUCH_INPUT_DEFAULT ${ANDROID})
Expand All @@ -31,7 +31,7 @@ option(BUILD_SDL "SDL Enabled" ON)
option(BUILD_SDLGPU "SDL GPU Enabled" OFF)
option(BUILD_SOKOL "Sokol Enabled" OFF)
option(BUILD_LIBRETRO "libretro Enabled" ${BUILD_LIBRETRO_DEFAULT})
option(BUILD_DEMO_CARTS "Demo Carts Enabled" ${BUILD_DEMO_CARTS_DEFAULT})
option(BUILD_TOOLS "bin2txt prj2cart" ${BUILD_TOOLS})
option(BUILD_PRO "Build PRO version" FALSE)
option(BUILD_PLAYER "Build standalone players" ${BUILD_PLAYER_DEFAULT})
option(BUILD_TOUCH_INPUT "Build with touch input support" ${BUILD_TOUCH_INPUT_DEFAULT})
Expand Down Expand Up @@ -142,7 +142,6 @@ include(cmake/pocketpy.cmake)
include(cmake/quickjs.cmake)
include(cmake/janet.cmake)

include(cmake/demos.cmake)
include(cmake/core.cmake)

include(cmake/wave.cmake)
Expand Down
73 changes: 73 additions & 0 deletions assets.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
build\bin\prj2cart config.lua build\config.tic
build\bin\prj2cart demos\luademo.lua build\luademo.tic
build\bin\prj2cart demos\benchmark.lua build\benchmark.tic
build\bin\prj2cart demos\bpp.lua build\bpp.tic
build\bin\prj2cart demos\car.lua build\car.tic
build\bin\prj2cart demos\fenneldemo.fnl build\fenneldemo.tic
build\bin\prj2cart demos\fire.lua build\fire.tic
build\bin\prj2cart demos\font.lua build\font.tic
build\bin\prj2cart demos\janetdemo.janet build\janetdemo.tic
build\bin\prj2cart demos\jsdemo.js build\jsdemo.tic
build\bin\prj2cart demos\luademo.lua build\luademo.tic
build\bin\prj2cart demos\moondemo.moon build\moondemo.tic
build\bin\prj2cart demos\music.lua build\music.tic
build\bin\prj2cart demos\p3d.lua build\p3d.tic
build\bin\prj2cart demos\palette.lua build\palette.tic
build\bin\prj2cart demos\pythondemo.py build\pythondemo.tic
build\bin\prj2cart demos\quest.lua build\quest.tic
build\bin\prj2cart demos\rubydemo.rb build\rubydemo.tic
build\bin\prj2cart demos\schemedemo.scm build\schemedemo.tic
build\bin\prj2cart demos\sfx.lua build\sfx.tic
build\bin\prj2cart demos\squirreldemo.nut build\squirreldemo.tic
build\bin\prj2cart demos\tetris.lua build\tetris.tic
build\bin\prj2cart demos\wrendemo.wren build\wrendemo.tic

build\bin\wasmp2cart demos\wasm\wasmdemo.wasmp build\wasmdemo.tic --binary demos\wasm\wasmdemo.wasm
build\bin\wasmp2cart demos\bunny\wasmmark\wasmmark.wasmp build\wasmmark.tic --binary demos\bunny\wasmmark\wasmmark.wasm

build\bin\prj2cart demos\bunny\janetmark.janet build\janetmark.tic
build\bin\prj2cart demos\bunny\jsmark.js build\jsmark.tic
build\bin\prj2cart demos\bunny\luamark.lua build\luamark.tic
build\bin\prj2cart demos\bunny\moonmark.moon build\moonmark.tic
build\bin\prj2cart demos\bunny\pythonmark.py build\pythonmark.tic
build\bin\prj2cart demos\bunny\rubymark.rb build\rubymark.tic
build\bin\prj2cart demos\bunny\schememark.scm build\schememark.tic
build\bin\prj2cart demos\bunny\squirrelmark.nut build\squirrelmark.tic
build\bin\prj2cart demos\bunny\wrenmark.wren build\wrenmark.tic

build\bin\bin2txt build\config.tic build\assets\config.tic.dat -z
build\bin\bin2txt build\luademo.tic build\assets\luademo.tic.dat -z
build\bin\bin2txt build\benchmark.tic build\assets\benchmark.tic.dat -z
build\bin\bin2txt build\bpp.tic build\assets\bpp.tic.dat -z
build\bin\bin2txt build\car.tic build\assets\car.tic.dat -z
build\bin\bin2txt build\fenneldemo.tic build\assets\fenneldemo.tic.dat -z
build\bin\bin2txt build\fire.tic build\assets\fire.tic.dat -z
build\bin\bin2txt build\font.tic build\assets\font.tic.dat -z
build\bin\bin2txt build\janetdemo.tic build\assets\janetdemo.tic.dat -z
build\bin\bin2txt build\jsdemo.tic build\assets\jsdemo.tic.dat -z
build\bin\bin2txt build\luademo.tic build\assets\luademo.tic.dat -z
build\bin\bin2txt build\moondemo.tic build\assets\moondemo.tic.dat -z
build\bin\bin2txt build\music.tic build\assets\music.tic.dat -z
build\bin\bin2txt build\p3d.tic build\assets\p3d.tic.dat -z
build\bin\bin2txt build\palette.tic build\assets\palette.tic.dat -z
build\bin\bin2txt build\pythondemo.tic build\assets\pythondemo.tic.dat -z
build\bin\bin2txt build\quest.tic build\assets\quest.tic.dat -z
build\bin\bin2txt build\rubydemo.tic build\assets\rubydemo.tic.dat -z
build\bin\bin2txt build\schemedemo.tic build\assets\schemedemo.tic.dat -z
build\bin\bin2txt build\sfx.tic build\assets\sfx.tic.dat -z
build\bin\bin2txt build\squirreldemo.tic build\assets\squirreldemo.tic.dat -z
build\bin\bin2txt build\tetris.tic build\assets\tetris.tic.dat -z
build\bin\bin2txt build\wrendemo.tic build\assets\wrendemo.tic.dat -z
build\bin\bin2txt build\janetmark.tic build\assets\janetmark.tic.dat -z
build\bin\bin2txt build\jsmark.tic build\assets\jsmark.tic.dat -z
build\bin\bin2txt build\luamark.tic build\assets\luamark.tic.dat -z
build\bin\bin2txt build\moonmark.tic build\assets\moonmark.tic.dat -z
build\bin\bin2txt build\pythonmark.tic build\assets\pythonmark.tic.dat -z
build\bin\bin2txt build\rubymark.tic build\assets\rubymark.tic.dat -z
build\bin\bin2txt build\schememark.tic build\assets\schememark.tic.dat -z
build\bin\bin2txt build\squirrelmark.tic build\assets\squirrelmark.tic.dat -z
build\bin\bin2txt build\wasmmark.tic build\assets\wasmmark.tic.dat -z
build\bin\bin2txt build\wrenmark.tic build\assets\wrenmark.tic.dat -z
build\bin\bin2txt build\wasmdemo.tic build\assets\wasmdemo.tic.dat -z

build\bin\bin2txt build\cart.png build\assets\cart.png.dat
2 changes: 1 addition & 1 deletion build/assets/config.tic.dat

Large diffs are not rendered by default.

19 changes: 0 additions & 19 deletions cmake/demos.cmake

This file was deleted.

4 changes: 0 additions & 4 deletions cmake/fennel.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,4 @@ if(BUILD_WITH_FENNEL)
)
target_compile_definitions(fennel INTERFACE TIC_BUILD_WITH_FENNEL)

if(BUILD_DEMO_CARTS)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/fenneldemo.fnl)
endif()

endif()
5 changes: 0 additions & 5 deletions cmake/janet.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,4 @@ if(BUILD_WITH_JANET)

target_compile_definitions(janet INTERFACE TIC_BUILD_WITH_JANET=1)

if(BUILD_DEMO_CARTS)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/janetdemo.janet)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/bunny/janetmark.janet)
endif()

endif()
18 changes: 0 additions & 18 deletions cmake/lua.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -83,22 +83,4 @@ if(BUILD_WITH_LUA)

target_compile_definitions(lua INTERFACE TIC_BUILD_WITH_LUA)

if(BUILD_DEMO_CARTS)
list(APPEND DEMO_CARTS ${CMAKE_SOURCE_DIR}/config.lua)

list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/quest.lua)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/car.lua)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/music.lua)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/sfx.lua)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/palette.lua)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/bpp.lua)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/tetris.lua)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/font.lua)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/fire.lua)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/benchmark.lua)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/p3d.lua)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/luademo.lua)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/bunny/luamark.lua)

endif()
endif()
4 changes: 0 additions & 4 deletions cmake/moon.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,4 @@ if(BUILD_WITH_MOON)

target_compile_definitions(moon INTERFACE TIC_BUILD_WITH_MOON)

if(BUILD_DEMO_CARTS)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/moondemo.moon)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/bunny/moonmark.moon)
endif()
endif()
5 changes: 0 additions & 5 deletions cmake/mruby.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,4 @@ if(BUILD_WITH_MRUBY)

target_compile_definitions(ruby INTERFACE TIC_BUILD_WITH_MRUBY=1)

if(BUILD_DEMO_CARTS)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/rubydemo.rb)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/bunny/rubymark.rb)
endif()

endif()
5 changes: 0 additions & 5 deletions cmake/pocketpy.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,4 @@ if(BUILD_WITH_PYTHON)

target_compile_definitions(python INTERFACE TIC_BUILD_WITH_PYTHON=1)

if(BUILD_DEMO_CARTS)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/pythondemo.py)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/bunny/pythonmark.py)
endif()

endif()
5 changes: 0 additions & 5 deletions cmake/quickjs.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,4 @@ if(BUILD_WITH_JS)

target_compile_definitions(js INTERFACE TIC_BUILD_WITH_JS=1)

if(BUILD_DEMO_CARTS)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/jsdemo.js)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/bunny/jsmark.js)
endif()

endif()
5 changes: 0 additions & 5 deletions cmake/scheme.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,4 @@ if(BUILD_WITH_SCHEME)

target_compile_definitions(scheme INTERFACE TIC_BUILD_WITH_SCHEME=1)

if(BUILD_DEMO_CARTS)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/schemedemo.scm)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/bunny/schememark.scm)
endif()

endif()
5 changes: 0 additions & 5 deletions cmake/squirrel.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,4 @@ if(BUILD_WITH_SQUIRREL)

target_compile_definitions(squirrel INTERFACE TIC_BUILD_WITH_SQUIRREL=1)

if(BUILD_DEMO_CARTS)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/squirreldemo.nut)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/bunny/squirrelmark.nut)
endif()

endif()
6 changes: 1 addition & 5 deletions cmake/tools.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# bin2txt cart2prj prj2cart xplode wasmp2cart
################################

if(BUILD_DEMO_CARTS)
if(BUILD_TOOLS)

set(TOOLS_DIR ${CMAKE_SOURCE_DIR}/build/tools)

Expand Down Expand Up @@ -32,9 +32,5 @@ if(BUILD_DEMO_CARTS)
if(LINUX)
target_link_libraries(xplode m)
endif()

add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/build/assets/cart.png.dat
COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/bin2txt ${CMAKE_SOURCE_DIR}/build/cart.png ${CMAKE_SOURCE_DIR}/build/assets/cart.png.dat
DEPENDS bin2txt ${CMAKE_SOURCE_DIR}/build/cart.png)

endif()
28 changes: 0 additions & 28 deletions cmake/wasm.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -43,32 +43,4 @@ if(BUILD_WITH_WASM)

target_compile_definitions(wasm INTERFACE TIC_BUILD_WITH_WASM=1)

# we need to build these separately combining both the project
# and the external WASM binary chunk since projects do not
# include BINARY chunks

# if(BUILD_DEMO_CARTS)

# file(GLOB WASM_DEMOS
# ${DEMO_CARTS_IN}/wasm/*.wasmp
# ${DEMO_CARTS_IN}/bunny/wasmmark/*.wasmp
# )

# foreach(CART_FILE ${WASM_DEMOS})

# get_filename_component(CART_NAME ${CART_FILE} NAME_WE)
# get_filename_component(DIR ${CART_FILE} DIRECTORY)

# set(OUTNAME ${CMAKE_SOURCE_DIR}/build/assets/${CART_NAME}.tic.dat)
# set(WASM_BINARY ${DIR}/${CART_NAME}.wasm)
# set(OUTPRJ ${CMAKE_SOURCE_DIR}/build/${CART_NAME}.tic)
# list(APPEND DEMO_CARTS_OUT ${OUTNAME})
# add_custom_command(OUTPUT ${OUTNAME}
# COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/wasmp2cart ${CART_FILE} ${OUTPRJ} --binary ${WASM_BINARY} && ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/bin2txt ${OUTPRJ} ${OUTNAME} -z
# DEPENDS bin2txt wasmp2cart ${CART_FILE} ${WASM_BINARY}
# )

# endforeach(CART_FILE)
# endif()

endif()
5 changes: 0 additions & 5 deletions cmake/wren.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,4 @@ if(BUILD_WITH_WREN)
target_include_directories(wren PRIVATE ${THIRDPARTY_DIR}/wren/src/vm)
target_compile_definitions(wren INTERFACE TIC_BUILD_WITH_WREN=1)

if(BUILD_DEMO_CARTS)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/wrendemo.wren)
list(APPEND DEMO_CARTS ${DEMO_CARTS_IN}/bunny/wrenmark.wren)
endif()

endif()
58 changes: 29 additions & 29 deletions config.lua
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
THEME=
{
CODE =
{
BG =15,
FG =12,
STRING =4,
NUMBER =11,
KEYWORD=3,
API =5,
COMMENT=14,
SIGN =13,
SELECT =14,
CURSOR =2,
SHADOW =true,
ALT_FONT=false,
ALT_CARET=false,
MATCH_DELIMITERS=true,
AUTO_DELIMITERS=false,
},
CODE =
{
BG =15,
FG =12,
STRING =4,
NUMBER =11,
KEYWORD=3,
API =5,
COMMENT=14,
SIGN =13,
SELECT =14,
CURSOR =2,
SHADOW =true,
ALT_FONT=false,
ALT_CARET=false,
MATCH_DELIMITERS=true,
AUTO_DELIMITERS=false,
},

GAMEPAD=
{
TOUCH=
{
ALPHA=180,
},
},
GAMEPAD=
{
TOUCH=
{
ALPHA=180,
},
},
}

CHECK_NEW_VERSION=true
Expand All @@ -35,10 +35,10 @@ TRIM_ON_SAVE=false

---------------------------
function TIC()
cls()
local label="This is system configuration cartridge"
local size=print(label,0,-6)
print(label,(240-size)//2,(136-6)//2)
cls()
local label="This is system configuration cartridge"
local size=print(label,0,-6)
print(label,(240-size)//2,(136-6)//2)
end

-- <TILES>
Expand Down
4 changes: 3 additions & 1 deletion src/ext/json.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ bool json_parse(const char *json, s32 size)

static s32 jsoneq(const char *json, const jsmntok_t *tok, const char *s)
{
if (tok->type == JSMN_STRING
if (tok->type & JSMN_STRING
&& strlen(s) == tok->end - tok->start
&& strncmp(json + tok->start, s, tok->end - tok->start) == 0)
return 0;
Expand Down Expand Up @@ -102,6 +102,8 @@ s32 json_array_item(s32 array, s32 index)
for(s32 i = state.t[array].parent, count = 0; i < state.count; i++)
if(state.t[i].parent == array && index == count++)
return i;

return 0;
}

s32 json_object(const char *var, s32 parent)
Expand Down
2 changes: 1 addition & 1 deletion src/studio/fs.c
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ static void onDirResponse(const net_get_data* netData)
for(s32 i = 0, size = json_array_size(folders); i < size; i++)
{
if(json_string("name", json_array_item(folders, i), name, sizeof name))
netDirData->item(name, NULL, NULL, 0, netDirData->data, true);
netDirData->item(name, NULL, NULL, 0, netDirData->data, true);
}

s32 files = json_array("files", 0);
Expand Down

0 comments on commit d31f437

Please sign in to comment.