This commit is contained in:
Graham Clemo 2018-10-14 13:10:28 +01:00
commit 6d22991d54
113 changed files with 2479 additions and 6276 deletions

9
.gitignore vendored
View File

@ -46,9 +46,6 @@ lib/windows/res.aps
lib/windows/tic.aps
.DS_Store
lib/macos/.DS_Store
build/macosx/tic80.icns
build/macosx/tic80.app/
build/macosx/tic80.dmg
tools/bundler/assets/
tools/bundler/bin/
tools/bin2txt/*.exe
@ -124,3 +121,9 @@ build/uwp/sdl-gpu-static/x64/
build/uwp/tic/packages/
build/windows/studio/x64/
build/windows/sdl-gpu/x64/
.vs/
CMakeFiles/
lib/
*.cmake
CMakeCache.txt
Makefile

View File

@ -1,43 +1,16 @@
language: c
script:
- make linux
- make linux-pro
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- build-essential
- mercurial
- make
- cmake
- autoconf
- automake
- libtool
- libasound2-dev
- libpulse-dev
- libaudio-dev
- libx11-dev
- libxext-dev
- libxrandr-dev
- libxcursor-dev
- libxi-dev
- libxinerama-dev
- libxxf86vm-dev
- libxss-dev
- libgl1-mesa-dev
- libesd0-dev
- libdbus-1-dev
- libudev-dev
- libgles1-mesa-dev
- libgles2-mesa-dev
- libegl1-mesa-dev
- libibus-1.0-dev
- fcitx-libs-dev
- libsamplerate0-dev
- libsndio-dev
- libgtk-3-dev
- zlib1g-dev
- libwayland-dev
- libxkbcommon-dev
script:
- cmake .
- make
matrix:
include:
- os: osx
osx_image: xcode9.3
- os: linux
addons:
apt:
packages:
- libgtk-3-dev

@ -1 +1 @@
Subproject commit 8daee1cc5be2b81bf2fae37796ea988d87ed4f32
Subproject commit 746dd7ec6a6f4d142db9e01aaca9459d0154e9e9

465
CMakeLists.txt Normal file
View File

@ -0,0 +1,465 @@
cmake_minimum_required(VERSION 3.9)
project(TIC-80 C)
message("Building for target : ${CMAKE_SYSTEM_NAME}")
if(UNIX AND NOT APPLE AND NOT EMSCRIPTEN AND NOT ANDROID)
set(LINUX TRUE)
endif()
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
if(MSVC)
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/lib )
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/lib )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/bin )
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /OPT:REF /INCREMENTAL:NO")
SET(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /OPT:REF /INCREMENTAL:NO")
SET(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL} /OPT:REF /INCREMENTAL:NO")
# use static runtime
foreach(flag_var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
if(${flag_var} MATCHES "/MD")
string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
endif(${flag_var} MATCHES "/MD")
endforeach(flag_var)
else()
set(CMAKE_C_STANDARD 99)
if(CMAKE_BUILD_TYPE MATCHES "Debug")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -ggdb3")
else()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3")
endif()
if(EMSCRIPTEN)
# TODO: add: -s \'EXTRA_EXPORTED_RUNTIME_METHODS=[\"writeArrayToMemory\"]\'
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s USE_SDL=2 -s TOTAL_MEMORY=67108864 --pre-js build/html/prejs.js --memory-init-file 0")
endif()
endif()
################################
# LUA
################################
set(LUA_DIR 3rd-party/lua-5.3.1/src)
set(LUA_SRC
${LUA_DIR}/lapi.c
${LUA_DIR}/lcode.c
${LUA_DIR}/lctype.c
${LUA_DIR}/ldebug.c
${LUA_DIR}/ldo.c
${LUA_DIR}/ldump.c
${LUA_DIR}/lfunc.c
${LUA_DIR}/lgc.c
${LUA_DIR}/llex.c
${LUA_DIR}/lmem.c
${LUA_DIR}/lobject.c
${LUA_DIR}/lopcodes.c
${LUA_DIR}/lparser.c
${LUA_DIR}/lstate.c
${LUA_DIR}/lstring.c
${LUA_DIR}/ltable.c
${LUA_DIR}/ltm.c
${LUA_DIR}/lundump.c
${LUA_DIR}/lvm.c
${LUA_DIR}/lzio.c
${LUA_DIR}/lauxlib.c
${LUA_DIR}/lbaselib.c
${LUA_DIR}/lbitlib.c
${LUA_DIR}/lcorolib.c
${LUA_DIR}/ldblib.c
${LUA_DIR}/liolib.c
${LUA_DIR}/lmathlib.c
${LUA_DIR}/loslib.c
${LUA_DIR}/lstrlib.c
${LUA_DIR}/ltablib.c
${LUA_DIR}/lutf8lib.c
${LUA_DIR}/loadlib.c
${LUA_DIR}/linit.c
)
add_library(lua STATIC ${LUA_SRC})
target_compile_definitions(lua PRIVATE LUA_COMPAT_5_2)
################################
# LPEG
################################
set(LPEG_DIR 3rd-party/lpeg-1.0.1)
set(LPEG_SRC
${LPEG_DIR}/lpcap.c
${LPEG_DIR}/lpcode.c
${LPEG_DIR}/lpprint.c
${LPEG_DIR}/lptree.c
${LPEG_DIR}/lpvm.c
)
add_library(lpeg STATIC ${LPEG_SRC})
target_include_directories(lpeg PRIVATE 3rd-party/lua-5.3.1/src)
################################
# WREN
################################
set(WREN_DIR 3rd-party/wren-0.1.0/src)
set(WREN_SRC
${WREN_DIR}/optional/wren_opt_meta.c
${WREN_DIR}/optional/wren_opt_random.c
${WREN_DIR}/vm/wren_compiler.c
${WREN_DIR}/vm/wren_core.c
${WREN_DIR}/vm/wren_debug.c
${WREN_DIR}/vm/wren_primitive.c
${WREN_DIR}/vm/wren_utils.c
${WREN_DIR}/vm/wren_value.c
${WREN_DIR}/vm/wren_vm.c
)
add_library(wren STATIC ${WREN_SRC})
target_include_directories(wren PRIVATE 3rd-party/wren-0.1.0/src/include)
target_include_directories(wren PRIVATE 3rd-party/wren-0.1.0/src/optional)
target_include_directories(wren PRIVATE 3rd-party/wren-0.1.0/src/vm)
################################
# GIFLIB
################################
set(GIFLIB_DIR 3rd-party/giflib-5.1.4/lib)
set(GIFLIB_SRC
${GIFLIB_DIR}/dgif_lib.c
${GIFLIB_DIR}/egif_lib.c
${GIFLIB_DIR}/gif_err.c
${GIFLIB_DIR}/gif_font.c
${GIFLIB_DIR}/gif_hash.c
${GIFLIB_DIR}/gifalloc.c
${GIFLIB_DIR}/openbsd-reallocarray.c
)
add_library(giflib STATIC ${GIFLIB_SRC})
target_include_directories(giflib PRIVATE ${GIFLIB_DIR})
################################
# TIC-80 core
################################
set(TIC80CORE_DIR src)
set(TIC80CORE_SRC
${TIC80CORE_DIR}/tic80.c
${TIC80CORE_DIR}/tic.c
${TIC80CORE_DIR}/tools.c
${TIC80CORE_DIR}/jsapi.c
${TIC80CORE_DIR}/luaapi.c
${TIC80CORE_DIR}/wrenapi.c
${TIC80CORE_DIR}/ext/gif.c
3rd-party/blip-buf/blip_buf.c # TODO: link it as lib?
3rd-party/duktape-2.2.0/src/duktape.c # TODO: link it as lib?
)
add_library(tic80core STATIC ${TIC80CORE_SRC})
target_include_directories(tic80core PRIVATE include)
target_include_directories(tic80core PRIVATE 3rd-party/blip-buf)
target_include_directories(tic80core PRIVATE 3rd-party/duktape-2.2.0/src)
target_include_directories(tic80core PRIVATE 3rd-party/lua-5.3.1/src)
target_include_directories(tic80core PRIVATE 3rd-party/giflib-5.1.4/lib)
target_include_directories(tic80core PRIVATE 3rd-party/wren-0.1.0/src/include)
target_include_directories(tic80core PRIVATE 3rd-party/moonscript)
target_include_directories(tic80core PRIVATE 3rd-party/fennel)
add_dependencies(tic80core lua lpeg wren giflib)
target_link_libraries(tic80core lua lpeg wren giflib)
################################
# SDL2
################################
if(NOT EMSCRIPTEN)
if(WIN32)
set(HAVE_LIBC TRUE)
endif()
set(SDL_SHARED_ENABLED_BY_DEFAULT OFF)
add_subdirectory(3rd-party/SDL2-2.0.8)
endif()
################################
# SDL2 renderer example
################################
if(NOT EMSCRIPTEN)
set(EXAMPLE_DIR examples)
set(EXAMPLE_SRC
${EXAMPLE_DIR}/sdl-renderer.c
)
if(WIN32)
add_executable(sdl-renderer WIN32 ${EXAMPLE_SRC})
else()
add_executable(sdl-renderer ${EXAMPLE_SRC})
endif()
target_include_directories(sdl-renderer PRIVATE 3rd-party/SDL2-2.0.8/include)
target_include_directories(sdl-renderer PRIVATE include)
target_include_directories(sdl-renderer PRIVATE src)
if(MINGW)
target_link_libraries(sdl-renderer mingw32)
endif()
add_dependencies(sdl-renderer tic80core SDL2-static SDL2main)
target_link_libraries(sdl-renderer tic80core SDL2-static SDL2main)
endif()
################################
# SDL GPU
################################
set(SDLGPU_DIR 3rd-party/sdl-gpu/src)
set(SDLGPU_SRC
${SDLGPU_DIR}/renderer_GLES_1.c
${SDLGPU_DIR}/renderer_GLES_2.c
${SDLGPU_DIR}/renderer_GLES_3.c
${SDLGPU_DIR}/renderer_OpenGL_1.c
${SDLGPU_DIR}/renderer_OpenGL_1_BASE.c
${SDLGPU_DIR}/renderer_OpenGL_2.c
${SDLGPU_DIR}/renderer_OpenGL_3.c
${SDLGPU_DIR}/renderer_OpenGL_4.c
${SDLGPU_DIR}/SDL_gpu.c
${SDLGPU_DIR}/SDL_gpu_matrix.c
${SDLGPU_DIR}/SDL_gpu_renderer.c
${SDLGPU_DIR}/SDL_gpu_shapes.c
${SDLGPU_DIR}/externals/glew/glew.c
${SDLGPU_DIR}/externals/stb_image/stb_image.c
${SDLGPU_DIR}/externals/stb_image_write/stb_image_write.c
)
add_library(sdlgpu STATIC ${SDLGPU_SRC})
if(EMSCRIPTEN)
target_compile_definitions(sdlgpu PRIVATE GLEW_STATIC DSDL_GPU_DISABLE_OPENGL SDL_GPU_DISABLE_GLES_1 SDL_GPU_DISABLE_GLES_3)
else()
target_compile_definitions(sdlgpu PRIVATE GLEW_STATIC SDL_GPU_DISABLE_GLES SDL_GPU_DISABLE_OPENGL_3 SDL_GPU_DISABLE_OPENGL_4)
endif()
target_include_directories(sdlgpu PRIVATE 3rd-party/sdl-gpu/include)
target_include_directories(sdlgpu PRIVATE 3rd-party/sdl-gpu/src/externals/glew)
target_include_directories(sdlgpu PRIVATE 3rd-party/sdl-gpu/src/externals/glew/GL)
target_include_directories(sdlgpu PRIVATE 3rd-party/sdl-gpu/src/externals/stb_image)
target_include_directories(sdlgpu PRIVATE 3rd-party/sdl-gpu/src/externals/stb_image_write)
target_include_directories(sdlgpu PRIVATE 3rd-party/SDL2-2.0.8/include)
if(WIN32)
target_link_libraries(sdlgpu opengl32)
endif()
if(LINUX)
target_link_libraries(sdlgpu GL)
endif()
if(APPLE)
FIND_LIBRARY(OPENGL_LIBRARY OpenGL)
target_link_libraries(sdlgpu ${OPENGL_LIBRARY})
endif()
################################
# SDL NET
################################
set(SDLNET_DIR 3rd-party/SDL2_net-2.0.1)
set(SDLNET_SRC
${SDLNET_DIR}/SDLnet.c
${SDLNET_DIR}/SDLnetTCP.c
${SDLNET_DIR}/SDLnetselect.c
)
add_library(sdlnet STATIC ${SDLNET_SRC})
target_include_directories(sdlnet PRIVATE 3rd-party/SDL2-2.0.8/include)
if(WIN32)
target_link_libraries(sdlnet ws2_32)
endif()
################################
# ZLIB
################################
set(ZLIB_DIR 3rd-party/zlib-1.2.11)
set(ZLIB_SRC
${ZLIB_DIR}/adler32.c
${ZLIB_DIR}/compress.c
${ZLIB_DIR}/crc32.c
${ZLIB_DIR}/deflate.c
${ZLIB_DIR}/inflate.c
${ZLIB_DIR}/infback.c
${ZLIB_DIR}/inftrees.c
${ZLIB_DIR}/inffast.c
${ZLIB_DIR}/trees.c
${ZLIB_DIR}/uncompr.c
${ZLIB_DIR}/zutil.c
)
add_library(zlib STATIC ${ZLIB_SRC})
################################
# bin2txt
################################
if(NOT EMSCRIPTEN)
set(BIN2TXT_DIR tools/bin2txt)
set(BIN2TXT_SRC
${BIN2TXT_DIR}/bin2txt.c
)
add_executable(bin2txt ${BIN2TXT_SRC})
target_include_directories(bin2txt PRIVATE 3rd-party/zlib-1.2.11)
add_dependencies(bin2txt zlib)
target_link_libraries(bin2txt zlib)
file(GLOB DEMO_CARTS ${CMAKE_SOURCE_DIR}/demos/*.tic )
list(APPEND DEMO_CARTS
${CMAKE_SOURCE_DIR}/config.tic
)
set(DEMO_CARTS_OUT)
foreach(CART_FILE ${DEMO_CARTS})
get_filename_component(cart_name ${CART_FILE} NAME)
set(OUTNAME ${CMAKE_SOURCE_DIR}/bin/assets/${cart_name}.dat)
list(APPEND DEMO_CARTS_OUT ${OUTNAME})
add_custom_command(OUTPUT ${OUTNAME}
COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/bin2txt ${CART_FILE} ${OUTNAME} -z
DEPENDS bin2txt ${CART_FILE}
)
endforeach(CART_FILE)
endif()
################################
# TIC-80 lib
################################
set(TIC80LIB_DIR src)
set(TIC80LIB_SRC
${TIC80LIB_DIR}/studio.c
${TIC80LIB_DIR}/console.c
${TIC80LIB_DIR}/run.c
${TIC80LIB_DIR}/ext/md5.c
${TIC80LIB_DIR}/ext/gif.c
${TIC80LIB_DIR}/fs.c
${TIC80LIB_DIR}/tools.c
${TIC80LIB_DIR}/start.c
${TIC80LIB_DIR}/sprite.c
${TIC80LIB_DIR}/map.c
${TIC80LIB_DIR}/sfx.c
${TIC80LIB_DIR}/music.c
${TIC80LIB_DIR}/history.c
${TIC80LIB_DIR}/world.c
${TIC80LIB_DIR}/config.c
${TIC80LIB_DIR}/code.c
${TIC80LIB_DIR}/dialog.c
${TIC80LIB_DIR}/menu.c
${TIC80LIB_DIR}/surf.c
)
set(TIC80_OUTPUTS tic80 tic80pro)
foreach(TIC80_OUTPUT ${TIC80_OUTPUTS})
add_library(${TIC80_OUTPUT}lib STATIC ${TIC80LIB_SRC} ${DEMO_CARTS_OUT})
if(WIN32)
target_include_directories(${TIC80_OUTPUT}lib PRIVATE 3rd-party/dirent)
endif()
target_include_directories(${TIC80_OUTPUT}lib PRIVATE include)
target_include_directories(${TIC80_OUTPUT}lib PRIVATE 3rd-party/giflib-5.1.4/lib)
target_include_directories(${TIC80_OUTPUT}lib PRIVATE 3rd-party/zlib-1.2.11)
target_include_directories(${TIC80_OUTPUT}lib PRIVATE 3rd-party/lua-5.3.1/src)
add_dependencies(${TIC80_OUTPUT}lib tic80core zlib)
target_link_libraries(${TIC80_OUTPUT}lib tic80core zlib)
endforeach()
target_compile_definitions(tic80prolib PRIVATE TIC80_PRO)
################################
# TIC-80 app
################################
set(TIC80_DIR src)
set(TIC80_SRC
${TIC80_DIR}/net.c
${TIC80_DIR}/system.c
${TIC80_DIR}/ext/file_dialog.c
)
if(APPLE)
set(TIC80_SRC ${TIC80_SRC} ${TIC80_DIR}/ext/file_dialog.m)
endif()
foreach(TIC80_OUTPUT ${TIC80_OUTPUTS})
if(WIN32)
set(TIC80_SRC ${TIC80_SRC} build/windows/tic80.rc)
add_executable(${TIC80_OUTPUT} WIN32 ${TIC80_SRC})
elseif(APPLE)
add_executable(${TIC80_OUTPUT} MACOSX_BUNDLE ${TIC80_SRC} build/macosx/tic80.icns)
set_source_files_properties(build/macosx/tic80.icns PROPERTIES MACOSX_PACKAGE_LOCATION RESOURCES)
set_target_properties(${TIC80_OUTPUT} PROPERTIES MACOSX_BUNDLE_INFO_PLIST build/macosx/${TIC80_OUTPUT}.plist)
else()
add_executable(${TIC80_OUTPUT} ${TIC80_SRC})
endif()
target_include_directories(${TIC80_OUTPUT} PRIVATE include)
target_include_directories(${TIC80_OUTPUT} PRIVATE 3rd-party/SDL2-2.0.8/include)
target_include_directories(${TIC80_OUTPUT} PRIVATE 3rd-party/sdl-gpu/include)
target_include_directories(${TIC80_OUTPUT} PRIVATE 3rd-party/SDL2_net-2.0.1)
if(MINGW)
target_link_libraries(${TIC80_OUTPUT} mingw32)
endif()
if(NOT EMSCRIPTEN)
add_dependencies(${TIC80_OUTPUT} SDL2main SDL2-static)
target_link_libraries(${TIC80_OUTPUT} SDL2-static SDL2main)
endif()
add_dependencies(${TIC80_OUTPUT} ${TIC80_OUTPUT}lib sdlnet sdlgpu)
target_link_libraries(${TIC80_OUTPUT} ${TIC80_OUTPUT}lib sdlnet sdlgpu)
if(LINUX)
include(FindPkgConfig)
if(NOT PKG_CONFIG_FOUND)
message(FATAL_ERROR "We need pkg-config to compile this project")
endif()
pkg_check_modules(GTK REQUIRED gtk+-3.0)
target_include_directories(${TIC80_OUTPUT} PRIVATE ${GTK_INCLUDE_DIRS})
target_link_libraries(${TIC80_OUTPUT} ${GTK_LIBRARIES})
endif()
endforeach()

472
Makefile
View File

@ -1,472 +0,0 @@
CC=gcc
OPT=-O3 -Wall -std=gnu99
OPT_PRO=-DTIC80_PRO
BIN_NAME= bin/tic80
3RD_PARTY = 3rd-party
DUKTAPE_LIB = $(3RD_PARTY)/duktape-2.2.0/src
BLIPBUF_LIB = $(3RD_PARTY)/blip-buf
SDL_NET_LIB = $(3RD_PARTY)/SDL2_net-2.0.1
PRE_BUILT = $(3RD_PARTY)/pre-built
RM= rm -f
INCLUDES= \
-I$(3RD_PARTY)/lua-5.3.1/src \
-I$(3RD_PARTY)/zlib-1.2.11 \
-I$(3RD_PARTY)/giflib-5.1.4/lib \
-I$(3RD_PARTY)/SDL2-2.0.7/include \
-I$(3RD_PARTY)/sdl-gpu/include \
-I$(3RD_PARTY)/wren-0.1.0/src/include \
-I$(3RD_PARTY)/moonscript \
-I$(3RD_PARTY)/fennel \
-I$(3RD_PARTY)/squirrel3.1/include \
-I$(BLIPBUF_LIB) \
-I$(DUKTAPE_LIB) \
-I$(SDL_NET_LIB) \
-Iinclude
MINGW_LINKER_FLAGS= \
-L$(PRE_BUILT)/mingw \
-lmingw32 \
-lcomdlg32 \
-lws2_32 \
-lsdlgpu \
-lSDL2main \
-lSDL2 \
-lopengl32 \
-mwindows
GTK_INCLUDES= `pkg-config --cflags gtk+-3.0`
GTK_LIBS= `pkg-config --libs gtk+-3.0`
LINUX_INCLUDES= \
$(GTK_INCLUDES)
LINUX_LIBS= \
$(GTK_LIBS) \
-L$(3RD_PARTY)/wren-0.1.0/lib \
-L$(3RD_PARTY)/sdl-gpu/build/linux \
-L$(3RD_PARTY)/lua-5.3.1/src \
-L$(3RD_PARTY)/squirrel3.1/lib \
-L$(3RD_PARTY)/SDL2-2.0.7/build/.libs
LINUX64_LIBS= \
$(GTK_LIBS) \
-L$(PRE_BUILT)/linux64
LINUX32_LIBS= \
$(GTK_LIBS) \
-L$(PRE_BUILT)/linux32
LINUX_ARM_LIBS= \
-L$(PRE_BUILT)/arm
LINUX_LINKER_LTO_FLAGS= \
-lSDL2 \
-lsdlgpu \
-llua \
-lwren \
-lsquirrel -lsqstdlib -lstdc++ \
-lgif \
-ldl \
-lm \
-lpthread \
-lrt \
-lz \
-lGL
LINUX_LINKER_FLAGS= \
-llua \
-lwren \
-lsquirrel -lsqstdlib -lstdc++ \
-ldl \
-lm \
-lpthread \
-lrt \
-lz \
-lsdlgpu \
-lGL \
-l:libSDL2.a
MINGW_OUTPUT=$(BIN_NAME).exe
EMS_CC=emcc
EMS_OPT= \
-Wno-typedef-redefinition \
-s USE_SDL=2 \
-s TOTAL_MEMORY=67108864 \
--llvm-lto 1 \
--memory-init-file 0 \
--pre-js build/html/prejs.js \
-s 'EXTRA_EXPORTED_RUNTIME_METHODS=["writeArrayToMemory"]'
EMS_LINKER_FLAGS= \
-L$(PRE_BUILT)/emscripten \
-llua \
-lwren \
-lsquirrel \
-lgif \
-lz \
-lsdlgpu
MACOSX_OPT= \
-mmacosx-version-min=10.6 \
-Wno-typedef-redefinition \
-D_THREAD_SAFE
MACOSX_LIBS= \
-L$(PRE_BUILT)/macos \
-L/usr/local/lib \
-lSDL2 -lm -liconv -lobjc -llua -lwren -lz -lgif \
-lsdlgpu \
-Wl,-framework,CoreAudio \
-Wl,-framework,AudioToolbox \
-Wl,-framework,ForceFeedback \
-Wl,-framework,CoreVideo \
-Wl,-framework,Cocoa \
-Wl,-framework,Carbon \
-Wl,-framework,IOKit \
-Wl,-framework,OpenGL
SOURCES=\
src/studio.c \
src/console.c \
src/run.c \
src/ext/file_dialog.c \
src/ext/md5.c \
src/ext/gif.c \
$(SDL_NET_LIB)/SDLnet.c \
$(SDL_NET_LIB)/SDLnetTCP.c \
$(SDL_NET_LIB)/SDLnetselect.c \
src/fs.c \
src/tools.c \
src/start.c \
src/sprite.c \
src/map.c \
src/sfx.c \
src/music.c \
src/history.c \
src/world.c \
src/config.c \
src/code.c \
src/dialog.c \
src/menu.c \
src/net.c \
src/surf.c
SYSTEM=\
src/system.c
SOURCES_EXT= \
src/html.c
LPEG_SRC= $(3RD_PARTY)/lpeg-1.0.1/*.c
GIF_SRC= $(3RD_PARTY)/giflib-5.1.4/lib/*.c
BLIP_SRC= $(BLIPBUF_LIB)/blip_buf.c
DEMO_ASSETS= \
bin/assets/fire.tic.dat \
bin/assets/p3d.tic.dat \
bin/assets/palette.tic.dat \
bin/assets/quest.tic.dat \
bin/assets/sfx.tic.dat \
bin/assets/music.tic.dat \
bin/assets/font.tic.dat \
bin/assets/tetris.tic.dat \
bin/assets/jsdemo.tic.dat \
bin/assets/luademo.tic.dat \
bin/assets/moondemo.tic.dat \
bin/assets/fenneldemo.tic.dat \
bin/assets/wrendemo.tic.dat \
bin/assets/squirreldemo.tic.dat \
bin/assets/benchmark.tic.dat \
bin/assets/config.tic.dat
all: run
TIC80_H = include/tic80_types.h include/tic80.h include/tic80_config.h src/tic.h src/ticapi.h src/machine.h
TIC_H= src/*.h \
src/ext/*.h
bin/studio.o: src/studio.c src/keycodes.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/console.o: src/console.c $(TIC80_H) $(TIC_H) $(DEMO_ASSETS)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/run.o: src/run.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/file_dialog.o: src/ext/file_dialog.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/md5.o: src/ext/md5.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/gif.o: src/ext/gif.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/SDLnet.o: $(SDL_NET_LIB)/SDLnet.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/SDLnetTCP.o: $(SDL_NET_LIB)/SDLnetTCP.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/SDLnetselect.o: $(SDL_NET_LIB)/SDLnetselect.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/fs.o: src/fs.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/tools.o: src/tools.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/start.o: src/start.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/sprite.o: src/sprite.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/map.o: src/map.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/sfx.o: src/sfx.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/music.o: src/music.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/history.o: src/history.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/world.o: src/world.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/config.o: src/config.c $(TIC80_H) $(TIC_H) $(DEMO_ASSETS)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/code.o: src/code.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/net.o: src/net.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/dialog.o: src/dialog.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/menu.o: src/menu.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/surf.o: src/surf.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/system.o: src/system.c src/keycodes.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/chip.o: src/system/chip.c src/keycodes.c $(TIC80_H) $(TIC_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
SDL_NET = \
bin/SDLnet.o \
bin/SDLnetTCP.o \
bin/SDLnetselect.o \
bin/net.o
FILE_DIALOG = \
bin/file_dialog.o
TIC_O=\
bin/studio.o \
bin/console.o \
bin/run.o \
bin/md5.o \
bin/gif.o \
bin/fs.o \
bin/tools.o \
bin/start.o \
bin/sprite.o \
bin/map.o \
bin/sfx.o \
bin/music.o \
bin/history.o \
bin/world.o \
bin/config.o \
bin/code.o \
bin/dialog.o \
bin/menu.o \
bin/surf.o
bin/tic80.o: src/tic80.c $(TIC80_H)
$(CC) $< $(OPT) $(INCLUDES) -DTIC80_SHARED -c -o $@
bin/tic.o: src/tic.c $(TIC80_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/blip_buf.o: $(BLIP_SRC)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/jsapi.o: src/jsapi.c $(TIC80_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/luaapi.o: src/luaapi.c $(TIC80_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/squirrelapi.o: src/squirrelapi.c $(TIC80_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/wrenapi.o: src/wrenapi.c $(TIC80_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
bin/duktape.o: $(DUKTAPE_LIB)/duktape.c $(TIC80_H)
$(CC) $< $(OPT) $(INCLUDES) -c -o $@
TIC80_SRC = src/tic80.c src/tic.c $(BLIP_SRC) src/jsapi.c src/luaapi.c src/wrenapi.c src/squirrelapi.c $(DUKTAPE_LIB)/duktape.c
TIC80_O = bin/squirrelapi.o bin/tic80.o bin/tic.o bin/tools.o bin/blip_buf.o bin/jsapi.o bin/luaapi.o bin/wrenapi.o bin/duktape.o bin/gif.o
TIC80_A = bin/libtic80.a
TIC80_DLL = bin/tic80.dll
STUDIO_A = bin/libstudio.a
STUDIO_DLL = bin/studio.dll
$(TIC80_DLL): $(TIC80_O)
$(CC) $(OPT) -shared $(TIC80_O) -L$(PRE_BUILT)/mingw -llua -lwren -lgif -Wl,--out-implib,$(TIC80_A) -o $@
$(STUDIO_DLL): $(DEMO_ASSETS) $(TIC80_DLL) $(TIC_O) bin/html.o
$(CC) $(TIC_O) bin/html.o $(TIC80_A) $(OPT) -shared $(INCLUDES) -L$(PRE_BUILT)/mingw -llua -lz -lgif -Wl,--out-implib,$(STUDIO_A) -o $@
emscripten:
$(EMS_CC) $(SOURCES) $(SYSTEM) $(TIC80_SRC) $(OPT) $(INCLUDES) $(EMS_OPT) -s WASM=0 $(EMS_LINKER_FLAGS) -o build/html/tic.js
wasm:
$(EMS_CC) $(SOURCES) $(SYSTEM) $(TIC80_SRC) $(OPT) $(INCLUDES) $(EMS_OPT) -s WASM=1 $(EMS_LINKER_FLAGS) -o build/html/tic.js
mingw: $(STUDIO_DLL) $(SDL_NET) $(FILE_DIALOG) bin/system.o bin/res.o
$(CC) bin/system.o bin/res.o $(STUDIO_A) $(SDL_NET) $(FILE_DIALOG) $(OPT) $(INCLUDES) $(MINGW_LINKER_FLAGS) -o $(MINGW_OUTPUT)
mingw-pro:
$(eval OPT += $(OPT_PRO))
make mingw OPT="$(OPT)"
run: mingw-pro
$(MINGW_OUTPUT)
linux64-lto:
$(CC) $(GTK_INCLUDES) $(SOURCES) $(SYSTEM) $(TIC80_SRC) $(SOURCES_EXT) $(OPT) $(INCLUDES) $(LINUX64_LIBS) $(LINUX_LINKER_LTO_FLAGS) -flto -o $(BIN_NAME)
linux64-lto-pro:
$(eval OPT += $(OPT_PRO))
make linux64-lto OPT="$(OPT)"
linux32-lto:
$(CC) $(GTK_INCLUDES) $(SOURCES) $(SYSTEM) $(TIC80_SRC) $(SOURCES_EXT) $(OPT) $(INCLUDES) $(LINUX32_LIBS) $(LINUX_LINKER_LTO_FLAGS) -flto -o $(BIN_NAME)
linux32-lto-pro:
$(eval OPT += $(OPT_PRO))
make linux32-lto OPT="$(OPT)"
chip-lto:
$(CC) $(LINUX_INCLUDES) $(GTK_INCLUDES) $(SOURCES) src/system/chip.c $(TIC80_SRC) $(SOURCES_EXT) $(OPT) -D__CHIP__ $(INCLUDES) $(LINUX_ARM_LIBS) $(GTK_LIBS) $(LINUX_LINKER_LTO_FLAGS) -flto -o $(BIN_NAME)
chip-lto-pro:
$(eval OPT += $(OPT_PRO))
make chip-lto OPT="$(OPT)"
WREN_A=$(3RD_PARTY)/wren-0.1.0/lib/libwren.a
SDLGPU_A=$(3RD_PARTY)/sdl-gpu/build/linux/libsdlgpu.a
LUA_A=$(3RD_PARTY)/lua-5.3.1/src/liblua.a
SDL2_A=$(3RD_PARTY)/SDL2-2.0.7/build/.libs/libSDL2.a
SQUIRREL_A=$(3RD_PARTY)/squirrel3.1/lib/libsquirrel.a
$(WREN_A):
make static -C $(3RD_PARTY)/wren-0.1.0/
$(SDLGPU_A):
make -C $(3RD_PARTY)/sdl-gpu/build/linux/
$(LUA_A):
make linux -C $(3RD_PARTY)/lua-5.3.1/
$(SDL2_A):
cd $(3RD_PARTY)/SDL2-2.0.7/ && ./configure --enable-sndio=no && make && cd ../..
$(SQUIRREL_A):
cd $(3RD_PARTY)/squirrel3.1/ && make && cd ../..
linux: $(WREN_A) $(SDLGPU_A) $(LUA_A) $(SDL2_A) $(SQUIRREL_A)
$(CC) $(LINUX_INCLUDES) $(SOURCES) $(SYSTEM) $(LPEG_SRC) $(GIF_SRC) $(SOURCES_EXT) $(TIC80_SRC) $(OPT) $(INCLUDES) $(LINUX_LIBS) $(LINUX_LINKER_FLAGS) -o $(BIN_NAME)
linux-pro:
$(eval OPT += $(OPT_PRO))
make linux OPT="$(OPT)"
macosx:
$(CC) $(SOURCES) $(SYSTEM) $(TIC80_SRC) $(SOURCES_EXT) src/ext/file_dialog.m $(OPT) $(MACOSX_OPT) $(INCLUDES) $(MACOSX_LIBS) -o $(BIN_NAME)
macosx-pro:
$(eval OPT += $(OPT_PRO))
make macosx OPT="$(OPT)"
bin/res.o: build/mingw/res.rc build/mingw/icon.ico
windres $< $@
BIN2TXT= tools/bin2txt/bin2txt
bin/html.o: src/html.c build/html/index.html build/html/tic.js
$(BIN2TXT) build/html/index.html bin/assets/index.html.dat -z
$(BIN2TXT) build/html/tic.js bin/assets/tic.js.dat -z
$(CC) -c src/html.c $(OPT) $(INCLUDES) -o $@
bin/assets/config.tic.dat: config.tic
$(BIN2TXT) $< $@ -z
bin/assets/fire.tic.dat: demos/fire.tic
$(BIN2TXT) $< $@ -z
bin/assets/p3d.tic.dat: demos/p3d.tic
$(BIN2TXT) $< $@ -z
bin/assets/palette.tic.dat: demos/palette.tic
$(BIN2TXT) $< $@ -z
bin/assets/quest.tic.dat: demos/quest.tic
$(BIN2TXT) $< $@ -z
bin/assets/sfx.tic.dat: demos/sfx.tic
$(BIN2TXT) $< $@ -z
bin/assets/font.tic.dat: demos/font.tic
$(BIN2TXT) $< $@ -z
bin/assets/music.tic.dat: demos/music.tic
$(BIN2TXT) $< $@ -z
bin/assets/tetris.tic.dat: demos/tetris.tic
$(BIN2TXT) $< $@ -z
bin/assets/jsdemo.tic.dat: demos/jsdemo.tic
$(BIN2TXT) $< $@ -z
bin/assets/luademo.tic.dat: demos/luademo.tic
$(BIN2TXT) $< $@ -z
bin/assets/wrendemo.tic.dat: demos/wrendemo.tic
$(BIN2TXT) $< $@ -z
bin/assets/moondemo.tic.dat: demos/moondemo.tic
$(BIN2TXT) $< $@ -z
bin/assets/fenneldemo.tic.dat: demos/fenneldemo.tic
$(BIN2TXT) $< $@ -z
bin/assets/squirreldemo.tic.dat: demos/squirreldemo.tic
$(BIN2TXT) $< $@ -z
bin/assets/benchmark.tic.dat: demos/benchmark.tic
$(BIN2TXT) $< $@ -z
clean: $(TIC_O) $(TIC80_O)
del bin\*.o

View File

@ -1,4 +1,5 @@
[![Build Status](https://travis-ci.org/nesbox/TIC-80.svg?branch=master)](https://travis-ci.org/nesbox/TIC-80)
[![Build status](https://ci.appveyor.com/api/projects/status/1pflw77cjd8mqggb/branch/master?svg=true)](https://ci.appveyor.com/project/nesbox/tic-80)
![TIC-80](https://tic.computer/img/logo64.png)
**TIC-80 TINY COMPUTER** - [https://tic.computer/](https://tic.computer/)
@ -10,7 +11,7 @@ With TIC-80 you get built-in tools for development: code, sprites, maps, sound e
Games are packeged into a cartridge file, which can be easily distributed. TIC-80 works on all popular platforms. This means your cartridge can be played in any device.
To make a retro styled game, the whole process of creation and execution takes place under some technical limitations: 240x136 pixels display, 16 color palette, 256 8x8 color sprites, 4 channel sound and etc.
To make a retro styled game, the whole process of creation and execution takes place under some technical limitations: 240x136 pixel display, 16 color palette, 256 8x8 color sprites, 4 channel sound, etc.
![TIC-80](https://user-images.githubusercontent.com/1101448/29687467-3ddc432e-8925-11e7-8156-5cec3700cc04.gif)
@ -20,16 +21,16 @@ To make a retro styled game, the whole process of creation and execution takes p
[Javascript](https://developer.mozilla.org/en-US/docs/Web/JavaScript),
[Wren](http://wren.io/), and [Fennel](https://fennel-lang.org).
- Games can have mouse and keyboard as input
- Games can have up to 4 controllers as input
- Builtin editors: for code, sprites, world maps, sound effects and music
- Games can have up to 4 controllers as input (with up to 8 buttons, each)
- Built-in editors: for code, sprites, world maps, sound effects and music
- An aditional memory bank: load different assets from your cartridge while your game is executing
# Binaries Downloads
# Binary Downloads
You can download compiled versions for the major operating systems directly from our [releases page](https://github.com/nesbox/TIC-80/releases).
# Pro Version
To help supporting the TIC-80 development, we have a [PRO Version](https://nesbox.itch.io/tic).
This version has a few aditional features and can only be download on [our Itch.io page](https://nesbox.itch.io/tic).
To help support TIC-80 development, we have a [PRO Version](https://nesbox.itch.io/tic).
This version has a few aditional features and binaries can only be downloaded on [our Itch.io page](https://nesbox.itch.io/tic).
For users who can't spend the money, we made it easy to build the pro version from the source code.
@ -37,12 +38,12 @@ For users who can't spend the money, we made it easy to build the pro version fr
- Save/load cartridges in text format, and create your game in any editor you want, also useful for version control systems.
- Even more memory banks: instead of having only 1 memory bank you have 8.
- Export your game only without editors, and then publish it to app stores (WIP).
- Export your game without editors, and then publish it to app stores (WIP).
# Community
You can play and share games, tools and music at [tic.computer](https://tic.computer/play).
The community also hangs and discuss on [Discord chat](https://discord.gg/DkD73dP).
The community also hangs out and discusses on [Discord chat](https://discord.gg/DkD73dP).
# Contributing
You are can contribute by issuing a bug or requesting a new feature on our [issues page](https://github.com/nesbox/tic.computer/issues).
@ -54,27 +55,52 @@ The [wiki](https://github.com/nesbox/tic.computer/wiki) holds TIC-80 documentati
# Build instructions
## Windows
### with Visual Studio 2015
- install Visual Studio 2015
- install GIT
### with Visual Studio 2017
- install `Visual Studio 2017`
- install `git`
- run following commands in `cmd`
```
git clone --recursive https://github.com/nesbox/TIC-80
cmake -G "Visual Studio 15 2017 Win64"
```
- open `TIC-80\build\windows\tic\tic.sln` and build
- open `TIC-80.sln` and build
- enjoy :)
### with MinGW32
follow the instructions in the tutorial https://matheuslessarodrigues.github.io/tic80-build-tutorial/
made by [@matheuslessarodrigues](https://github.com/matheuslessarodrigues)
## Linux
run the following commands in the Terminal
### with MinGW
- install `mingw-w64` (http://mingw-w64.org) and add `.../mingw/bin` path to the *System Variables Path*
- install `git`
- install `cmake` (https://cmake.org)
- run following commands in `terminal`
```
sudo apt-get install git
git clone --recursive https://github.com/nesbox/TIC-80
cd TIC-80
./build.sh
cmake -G "MinGW Makefiles"
mingw32-make -j4
```
## Linux (Ubuntu 14.04)
run the following commands in the Terminal
```
sudo apt-get install git cmake libgtk-3-dev libgles1-mesa-dev libglu-dev -y
git clone --recursive https://github.com/nesbox/TIC-80 && cd TIC-80
cmake . && make -j4
```
to install the latest CMake:
```
wget "https://cmake.org/files/v3.12/cmake-3.12.0-Linux-x86_64.sh"
sudo sh cmake-3.12.0-Linux-x86_64.sh --skip-license --prefix=/usr
```
## Mac
install `Command Line Tools for Xcode` and `brew` package manager
run the following commands in the Terminal
```
brew install git cmake
git clone --recursive https://github.com/nesbox/TIC-80
cd TIC-80
cmake . && make -j4
```
## iOS / tvOS

22
appveyor.yml Normal file
View File

@ -0,0 +1,22 @@
version: '{build}'
image: Visual Studio 2017
configuration:
- Release
platform:
- x64
environment:
matrix:
- arch: Win64
install: git submodule update --init --recursive
before_build:
cmd: cmake -G "Visual Studio 15 2017 Win64"
build:
project: c:\projects\tic-80\TIC-80.sln
verbosity: minimal
parallel: true

View File

@ -1,3 +1,3 @@
*
!.gitignore
!*.dat
*.tic.dat

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
0x78, 0xda, 0x63, 0x5c, 0xc0, 0xc4, 0x40, 0x08, 0xfc, 0xfb, 0x0f, 0x04, 0x4a, 0x4a, 0x4a, 0xfd, 0x1d, 0x1d, 0x1d, 0xfd, 0x20, 0x1a, 0xc8, 0xed, 0xff, 0xff, 0x01, 0x8e, 0xff, 0xff, 0x7f, 0xff, 0x4e, 0x49, 0xe9, 0xff, 0xbb, 0x8e, 0x8e, 0x0f, 0xef, 0x94, 0x9a, 0x3e, 0xbc, 0xfb, 0xdf, 0xff, 0xe1, 0xff, 0x87, 0xfe, 0x0f, 0x1f, 0x60, 0x18, 0xbb, 0xfe, 0xff, 0x78, 0xf5, 0xff, 0x47, 0xd2, 0xcf, 0x30, 0x0a, 0x06, 0x14, 0x80, 0xe3, 0x0a, 0x14, 0x77, 0x60, 0xf8, 0x03, 0xcc, 0xd6, 0x07, 0xc6, 0xe3, 0x7f, 0x86, 0x0f, 0xff, 0x81, 0x71, 0xfb, 0xef, 0x7f, 0x3f, 0xc3, 0x7f, 0x60, 0xdc, 0xbd, 0xef, 0x07, 0xc6, 0x5f, 0x07, 0x14, 0x83, 0xe2, 0x93, 0xe1, 0xc3, 0xfb, 0x77, 0xff, 0xff, 0xbf, 0x7b, 0x47, 0xa9, 0x7e, 0xd6, 0x59, 0x8c, 0x0c, 0xd6, 0xd6, 0x0a, 0x25, 0x99, 0x25, 0x39, 0xa9, 0x56, 0x0a, 0x0a, 0xe9, 0x89, 0xb9, 0xa9, 0x10, 0x0e, 0x17, 0x50, 0x34, 0xb1, 0xb4, 0x24, 0x23, 0xbf, 0xc8, 0x0a, 0x22, 0x9a, 0x92, 0x5a, 0x96, 0x9a, 0x93, 0x5f, 0x90, 0x5a, 0x04, 0x92, 0x49, 0x49, 0x2d, 0x4e, 0x06, 0x2a, 0x57, 0x28, 0x06, 0xca, 0x97, 0x80, 0x79, 0x45, 0x99, 0x05, 0x25, 0x99, 0xf9, 0x79, 0x20, 0x49, 0x08, 0xc7, 0x4a, 0x21, 0x2d, 0x35, 0x2f, 0x2f, 0x35, 0x87, 0x8b, 0x4b, 0xa3, 0x2c, 0xb1, 0x48, 0xa1, 0x44, 0xc1, 0x40, 0x13, 0xc2, 0xaa, 0x50, 0xb0, 0x34, 0x83, 0x32, 0x2b, 0x15, 0x8c, 0x4c, 0x34, 0x81, 0x0a, 0xd2, 0x73, 0xf2, 0x93, 0x12, 0x73, 0x14, 0x42, 0x3c, 0x9d, 0xb9, 0x14, 0x34, 0xd2, 0xf2, 0x80, 0x2e, 0x48, 0x56, 0x88, 0x8e, 0xe5, 0x52, 0x50, 0xd0, 0x28, 0xcf, 0x48, 0xcd, 0x53, 0xd0, 0x48, 0x2a, 0xc9, 0x03, 0x6a, 0x57, 0xd0, 0x28, 0x4e, 0x2d, 0x01, 0xea, 0xd1, 0xd0, 0x05, 0x12, 0x86, 0x9a, 0x9a, 0x9a, 0xa8, 0x0a, 0x0c, 0x11, 0x0a, 0xb4, 0xb1, 0x2a, 0x30, 0x82, 0x2a, 0xa8, 0x00, 0x99, 0x50, 0x81, 0x45, 0x81, 0x31, 0x42, 0x81, 0x36, 0x92, 0x82, 0xe4, 0x9c, 0x62, 0x90, 0xe3, 0x81, 0xac, 0xe2, 0x82, 0x22, 0x90, 0x94, 0xa1, 0x82, 0x86, 0x96, 0x82, 0x86, 0xbe, 0xbe, 0x82, 0x86, 0x2a, 0xd0, 0x5f, 0x66, 0x40, 0x97, 0x19, 0x03, 0xb1, 0x11, 0x58, 0x35, 0x18, 0x54, 0x80, 0xec, 0x37, 0x51, 0x30, 0x56, 0x30, 0x00, 0x42, 0x23, 0xa0, 0x0c, 0x48, 0x73, 0x41, 0x51, 0x66, 0x5e, 0x89, 0x82, 0x92, 0x87, 0xab, 0x8f, 0x8f, 0xbf, 0x42, 0xb8, 0x7f, 0x90, 0x8f, 0x8b, 0xa2, 0x92, 0x82, 0x85, 0x09, 0x10, 0x41, 0xcc, 0x06, 0x5a, 0x5c, 0x02, 0x32, 0xbd, 0x04, 0x6c, 0xb1, 0x26, 0x17, 0x65, 0x09, 0x8b, 0x99, 0x85, 0xcb, 0x00, 0xc2, 0x02, 0x95, 0x10, 0x30, 0x5a, 0xc0, 0x28, 0xa4, 0x6c, 0xc6, 0xae, 0x3b, 0xff, 0xde, 0x9f, 0x5d, 0xdd, 0x99, 0xee, 0xaa, 0xcc, 0x08, 0xe3, 0xc3, 0x68, 0x1e, 0xa0, 0x1e, 0x11, 0x1e, 0x19, 0x17, 0x15, 0x13, 0x03, 0x93, 0x5c, 0x3f, 0x2f, 0xbf, 0x56, 0x1f, 0x03, 0x93, 0x54, 0x95, 0x0b, 0x6e, 0x1e, 0xa5, 0x85, 0x89, 0x91, 0xb5, 0xe7, 0x2e, 0xd5, 0xea, 0xb4, 0x4e, 0x5d, 0x98, 0xbb, 0x4a, 0xe7, 0xd2, 0xaa, 0x99, 0xb9, 0x87, 0x4e, 0xdd, 0xba, 0x12, 0x77, 0xef, 0xdd, 0x35, 0x2e, 0x00, 0x2a, 0x6e, 0x4f, 0x7e,

View File

@ -1 +0,0 @@
0x78, 0xda, 0xed, 0x53, 0x4d, 0x6f, 0xd4, 0x30, 0x10, 0x5d, 0x10, 0x20, 0xc5, 0x17, 0xfe, 0xc2, 0xb4, 0x15, 0x28, 0xd1, 0x26, 0xd9, 0x7c, 0x6c, 0xb7, 0xb4, 0xd2, 0xc2, 0x01, 0xa8, 0xd4, 0x1b, 0x42, 0x70, 0x42, 0x48, 0xb8, 0x8e, 0xb7, 0x35, 0xcd, 0x26, 0x96, 0xed, 0x6d, 0x13, 0xa1, 0xfe, 0x15, 0xd4, 0x13, 0x87, 0x5e, 0xf8, 0x6b, 0x9c, 0x7b, 0x81, 0xb1, 0xb3, 0xd9, 0x65, 0x2b, 0x3e, 0xce, 0x48, 0x78, 0xb5, 0xf6, 0xcc, 0x7b, 0x33, 0x63, 0xfb, 0x79, 0x72, 0xe7, 0xd9, 0xdd, 0xc1, 0xdf, 0x06, 0x19, 0x0c, 0xae, 0xc8, 0xc3, 0x6f, 0x57, 0xd7, 0x76, 0x7c, 0xbd, 0xfe, 0x72, 0xf3, 0xdd, 0xae, 0x1f, 0x9d, 0x9b, 0xe3, 0x70, 0xfc, 0x83, 0x0f, 0xbf, 0xe5, 0x07, 0xff, 0xc7, 0x3f, 0x3d, 0x3e, 0x4f, 0x6e, 0xfe, 0xf4, 0xbf, 0xbf, 0x7f, 0x6f, 0x10, 0x45, 0x60, 0x84, 0x29, 0xf9, 0x01, 0xc0, 0x4c, 0x28, 0x4e, 0xd0, 0xa7, 0x0b, 0x73, 0x5a, 0xab, 0x03, 0x38, 0x6e, 0xe1, 0x50, 0x94, 0x42, 0xca, 0xda, 0xa2, 0x05, 0xd7, 0x0c, 0x83, 0x5c, 0x14, 0x3a, 0x73, 0x07, 0x6a, 0xa6, 0x84, 0x34, 0x07, 0x50, 0x2e, 0xa8, 0x75, 0x45, 0x25, 0x17, 0xe8, 0xc1, 0x09, 0x9d, 0x73, 0x49, 0x0b, 0x42, 0xcc, 0x34, 0x21, 0xcd, 0x34, 0xcd, 0x12, 0xd2, 0xba, 0x99, 0x48, 0xaa, 0x8c, 0x60, 0x25, 0x87, 0x29, 0x7c, 0xba, 0x44, 0xaf, 0xe4, 0xc6, 0xd9, 0xe9, 0x38, 0xdc, 0x0f, 0x27, 0x61, 0x1e, 0xa6, 0x49, 0x98, 0xee, 0x5e, 0x12, 0x32, 0x5b, 0x54, 0xcc, 0x88, 0xba, 0x02, 0x5a, 0x14, 0xaf, 0x96, 0x49, 0x7e, 0x13, 0xb6, 0x01, 0x81, 0xb2, 0x66, 0xb4, 0x04, 0xd9, 0x95, 0xf0, 0x64, 0xdc, 0xa0, 0xd5, 0x58, 0xa3, 0x45, 0xa3, 0xb5, 0x46, 0x61, 0xa1, 0x39, 0x35, 0xa7, 0xb1, 0xa2, 0x55, 0x51, 0xcf, 0xfd, 0x28, 0x4d, 0x62, 0x2c, 0x8c, 0x53, 0x30, 0x4a, 0x77, 0x71, 0x71, 0x51, 0xed, 0x2f, 0xa3, 0xa2, 0x2c, 0x18, 0xed, 0xba, 0x00, 0x83, 0x3c, 0x1a, 0x86, 0x1e, 0x97, 0x3c, 0x16, 0x95, 0xe6, 0xca, 0xf8, 0xfd, 0x05, 0x42, 0x19, 0x10, 0x5e, 0x15, 0x3f, 0x1d, 0x14, 0xe1, 0xd5, 0x41, 0x03, 0x8f, 0x78, 0x51, 0x24, 0x95, 0xa8, 0x8c, 0xbf, 0xbd, 0xb3, 0x1d, 0xc7, 0x3b, 0x7d, 0x5e, 0x40, 0xbc, 0xee, 0xfc, 0x1a, 0xa5, 0xe9, 0xcd, 0x6c, 0x6d, 0x33, 0x6b, 0xce, 0x6a, 0x05, 0x67, 0xa1, 0x44, 0x3d, 0x41, 0x52, 0xa1, 0xf4, 0x6a, 0xd7, 0x00, 0x8a, 0x9a, 0x78, 0xcb, 0xa3, 0xd9, 0x79, 0x08, 0x29, 0xfa, 0xba, 0xbf, 0x48, 0x59, 0x9f, 0xf8, 0x16, 0x1e, 0x41, 0x86, 0x57, 0xb5, 0x4c, 0x86, 0x94, 0x1e, 0x65, 0xf6, 0xc6, 0x1e, 0xb3, 0x49, 0x4e, 0xf2, 0x77, 0x2e, 0x9a, 0x71, 0x51, 0xda, 0xf0, 0xd1, 0x5e, 0x12, 0xbc, 0x27, 0x1e, 0x74, 0x52, 0xda, 0x79, 0x08, 0x56, 0x44, 0xb7, 0x53, 0xeb, 0xa0, 0xb6, 0x83, 0x5a, 0x82, 0x98, 0xe2, 0x0c, 0x75, 0x88, 0x9b, 0x48, 0x67, 0x21, 0x32, 0x76, 0xd1, 0xf8, 0x63, 0x81, 0x25, 0xa3, 0x48, 0x61, 0x6f, 0x9c, 0x73, 0xa8, 0xcb, 0x02, 0xea, 0x8a, 0x6b, 0xc4, 0xc4, 0xcc, 0x9d, 0xf5, 0x29, 0xe4, 0x49, 0x02, 0xe6, 0x94, 0x57, 0x88, 0x2d, 0x55, 0xed, 0x82, 0xd7, 0xaa, 0x9e, 0xd9, 0x43, 0xa3, 0xae, 0x1e, 0x0a, 0xd8, 0x2d, 0x9b, 0x22, 0xbf, 0x39, 0x7a, 0xee, 0x63, 0x08, 0xb1, 0x35, 0x8f, 0x4d, 0xe5, 0x27, 0x81, 0x2b, 0x08, 0xed, 0xb4, 0x8d, 0x52, 0xb0, 0xb1, 0x3d, 0x93, 0xae, 0x99, 0xe1, 0x26, 0x93, 0x2d, 0x99, 0x66, 0xda, 0xdc, 0xca, 0xc9, 0xd7, 0x4c, 0x97, 0xe3, 0x11, 0xf7, 0x90, 0x17, 0x54, 0x49, 0xd0, 0x92, 0x32, 0x4e, 0x3c, 0xd7, 0x6d, 0xf0, 0x08, 0xb2, 0x31, 0x4a, 0xea, 0x3a, 0x0e, 0x9d, 0x34, 0x9f, 0x74, 0x91, 0x8a, 0x6b, 0x6e, 0x56, 0xf5, 0xc6, 0xcb, 0x7a, 0xf6, 0xbe, 0x36, 0xcf, 0x7e, 0x02, 0x68, 0xb6, 0xbd, 0xe9, 0xf6, 0x26, 0xde, 0xed, 0x16, 0xf7, 0x6e, 0x61, 0x39, 0xb6, 0x6e, 0x9e, 0x58, 0x78, 0xe3, 0x6b, 0xc8, 0xd2, 0x15, 0x4e, 0x3c, 0x56, 0x6a, 0xff, 0x89, 0x7d, 0x81, 0x28, 0x7a, 0x2b, 0x0b, 0x8a, 0x5f, 0xd5, 0x63, 0x78, 0xa1, 0xe8, 0x05, 0xf4, 0xd2, 0x6a, 0x2c, 0xba, 0xd1, 0xa2, 0x2e, 0x96, 0x2d, 0x94, 0xae, 0x15, 0x52, 0x52, 0x34, 0x76, 0xef, 0x70, 0xcf, 0xa9, 0xbb, 0xec, 0xdc, 0x2d, 0x38, 0x3c, 0x7a, 0xfd, 0x12, 0xb6, 0xb6, 0xc3, 0xfd, 0x71, 0x38, 0x19, 0x23, 0x65, 0xa6, 0x66, 0x98, 0xba, 0x37, 0xf9, 0x01, 0xf1, 0x25, 0x58, 0xdb,

View File

@ -1 +0,0 @@
0x78, 0xda, 0xed, 0x56, 0x3b, 0x6f, 0x1b, 0x31, 0x0c, 0x4e, 0x0b, 0x74, 0xb9, 0xa9, 0x3f, 0x41, 0xcd, 0xe4, 0x00, 0xc9, 0xd0, 0x14, 0x01, 0x0a, 0x03, 0x9d, 0x3a, 0x75, 0xe9, 0x94, 0xdb, 0x0a, 0x08, 0x17, 0x5b, 0x76, 0xdc, 0x9e, 0xef, 0xdc, 0x7b, 0x34, 0x6e, 0xff, 0xf7, 0xcd, 0xac, 0xde, 0x22, 0x25, 0x9d, 0x1d, 0x74, 0x6d, 0x24, 0xeb, 0x64, 0x89, 0xa2, 0xf4, 0x91, 0x14, 0x49, 0xbd, 0xbe, 0x78, 0x7b, 0xf1, 0x52, 0x5e, 0xca, 0x4b, 0xf9, 0x7f, 0x4b, 0x79, 0xae, 0x4c, 0x3c, 0x6d, 0x6e, 0x5e, 0x77, 0xa0, 0xdb, 0x3c, 0xbb, 0xa1, 0x03, 0x00, 0xc7, 0xbd, 0xe7, 0x51, 0xfb, 0xe8, 0xb9, 0x52, 0xf5, 0x7a, 0x62, 0x52, 0xbd, 0x3b, 0xc7, 0xcc, 0x70, 0xae, 0x78, 0xf5, 0x5a, 0x3f, 0x32, 0x44, 0xe0, 0xf6, 0x0c, 0xd9, 0x4b, 0x1a, 0x4c, 0x8a, 0x22, 0xf7, 0x03, 0x7b, 0x80, 0xc3, 0x3c, 0x0b, 0x11, 0x02, 0xdd, 0x35, 0x03, 0xc6, 0x93, 0xc3, 0x18, 0xe8, 0x7a, 0x84, 0x4f, 0x61, 0x97, 0xb2, 0xa9, 0x8f, 0x19, 0x67, 0x74, 0x28, 0xe5, 0xe2, 0x44, 0x87, 0xe7, 0x74, 0x1e, 0x61, 0xd6, 0xfc, 0xcf, 0x29, 0xf4, 0x8c, 0x00, 0x98, 0x76, 0x96, 0x6a, 0xf0, 0x4a, 0xcd, 0x29, 0xbd, 0xf3, 0x09, 0xcc, 0xc8, 0xd8, 0xc2, 0xd9, 0x47, 0x61, 0x9f, 0xb9, 0x07, 0x5e, 0xde, 0xe8, 0x0c, 0x87, 0x15, 0xd3, 0x27, 0x6b, 0x5f, 0xb2, 0x3f, 0xd8, 0x35, 0xda, 0x6e, 0xfa, 0x7e, 0x04, 0x5d, 0x9b, 0x7d, 0x34, 0x37, 0x80, 0x17, 0x2c, 0xe5, 0xb7, 0x14, 0x2f, 0x4b, 0xa0, 0x1b, 0x1c, 0x11, 0xbe, 0x0c, 0x7e, 0xc7, 0x13, 0xf3, 0x47, 0x73, 0x61, 0x1f, 0x6c, 0x8a, 0xd8, 0xa6, 0xcf, 0x1d, 0x03, 0x9a, 0x30, 0xbf, 0x12, 0x7d, 0xb2, 0xb6, 0xcf, 0xdd, 0x01, 0xc2, 0xe7, 0xf6, 0x89, 0xec, 0x4b, 0xe4, 0x47, 0xfe, 0xeb, 0xe5, 0x93, 0x0e, 0x64, 0x1a, 0xf6, 0x45, 0x2a, 0xbf, 0xb1, 0x45, 0xa8, 0x16, 0x0f, 0xa6, 0x93, 0xff, 0x16, 0x38, 0x4f, 0xd4, 0x0e, 0x76, 0xde, 0x76, 0xc6, 0x7f, 0x71, 0x05, 0x47, 0x0e, 0xf6, 0xe7, 0x6e, 0xad, 0xb7, 0x35, 0x3f, 0x49, 0xe7, 0xf1, 0xfd, 0xd6, 0xb1, 0x88, 0x53, 0x5b, 0x96, 0xf4, 0xdc, 0x8c, 0x7c, 0x25, 0x40, 0x3e, 0x06, 0x3a, 0xf9, 0x32, 0x44, 0x7c, 0x7f, 0xfc, 0xcd, 0xb6, 0x53, 0xba, 0xd7, 0xd5, 0xea, 0x8f, 0xcf, 0x34, 0x8b, 0x4f, 0xf3, 0xab, 0x2a, 0xc7, 0x30, 0xb9, 0xc8, 0x69, 0x5a, 0xa0, 0xcb, 0x66, 0x62, 0x9f, 0x3a, 0x8b, 0xd0, 0x89, 0xfd, 0xb0, 0x6c, 0xc1, 0x3f, 0x22, 0xfb, 0x45, 0x61, 0x1e, 0x1c, 0x5e, 0x54, 0x27, 0xc0, 0xfa, 0x8f, 0xf8, 0x91, 0xbf, 0xe0, 0xf3, 0xc1, 0xdd, 0x29, 0x48, 0xfd, 0x73, 0x4e, 0x09, 0xb1, 0x7d, 0x72, 0xf8, 0x73, 0xf3, 0x28, 0x7f, 0x60, 0x7d, 0x69, 0xfd, 0x01, 0x18, 0x7d, 0x7a, 0xfd, 0x99, 0x8c, 0xe2, 0x79, 0x2c, 0x5e, 0xb0, 0xde, 0x99, 0xd0, 0x23, 0x7c, 0x3e, 0x5e, 0x45, 0xb1, 0x15, 0x50, 0xfc, 0x23, 0xb9, 0xc5, 0x37, 0x48, 0xd3, 0x4b, 0xfa, 0xc7, 0xe9, 0x2c, 0x6d, 0x24, 0x3e, 0x67, 0x72, 0xce, 0x99, 0x02, 0x98, 0x1f, 0xe7, 0xbb, 0x79, 0x06, 0xb3, 0x18, 0x20, 0xf2, 0x9f, 0x34, 0xf6, 0x12, 0xff, 0x27, 0x71, 0x08, 0x1f, 0x17, 0xf9, 0x4f, 0xec, 0x7b, 0x71, 0x9c, 0xf3, 0xf7, 0x28, 0x8a, 0x4f, 0x2e, 0xfe, 0xe7, 0xf4, 0x4c, 0xf9, 0x79, 0x12, 0xc7, 0x31, 0xa6, 0x8c, 0x9f, 0x90, 0x38, 0x99, 0xd8, 0x1e, 0x42, 0x7a, 0xf5, 0x3d, 0x6d, 0x34, 0x1e, 0x85, 0xb8, 0xe6, 0x7c, 0xa4, 0x3c, 0x15, 0x00, 0x22, 0x01, 0xc0, 0xbe, 0x9d, 0x70, 0x0c, 0x88, 0xf2, 0x43, 0x1e, 0x7f, 0x92, 0xe7, 0xa3, 0xfc, 0x96, 0xe3, 0x47, 0x7a, 0x39, 0xa9, 0x3f, 0xb4, 0x62, 0x22, 0x71, 0x36, 0x93, 0xc1, 0xec, 0x9e, 0xe4, 0x8d, 0x87, 0xd4, 0x96, 0xd8, 0x6f, 0x8a, 0xf0, 0xa5, 0x7e, 0xce, 0xe7, 0xe8, 0x65, 0xf4, 0x7e, 0x24, 0x71, 0xc0, 0xc6, 0x80, 0xf8, 0xcd, 0x1a, 0xbc, 0x9e, 0xdb, 0x88, 0x3d, 0x9d, 0xdf, 0x1f, 0xe2, 0xfc, 0x9c, 0x79, 0xff, 0xe0, 0xe4, 0x07, 0x19, 0x7f, 0x9b, 0x4d, 0x00, 0x9c, 0xbe, 0x3f, 0x1d, 0x4f, 0xe6, 0x6d, 0xe8, 0xde, 0xbd, 0xff, 0x52, 0xde, 0x2c, 0x5e, 0x5d, 0xdc, 0xdc, 0xb0, 0x61, 0x37, 0xd4, 0x62, 0xc9, 0xd8, 0xa6, 0x6d, 0x86, 0x42, 0x8e, 0xab, 0x71, 0x78, 0x6c, 0xbb, 0x25, 0xfb, 0x2a, 0xfa, 0x87, 0xf6, 0xa8, 0x66, 0xd6, 0xa2, 0x5f, 0xc9, 0x05, 0x4c, 0x1c, 0xab, 0xfd, 0xa1, 0x16, 0xec, 0xb1, 0x7d, 0x62, 0x43, 0xcb, 0x3a, 0xd1, 0xac, 0x45, 0xa7, 0xf9, 0xd8, 0xa6, 0x6b, 0xf7, 0x6c, 0x78, 0x14, 0x72, 0xd4, 0x89, 0x6d, 0xd7, 0x8e, 0xcd, 0x9a, 0xf5, 0x87, 0x6e, 0x37, 0x88, 0x5e, 0xed, 0xd0, 0xaf, 0xba, 0xdd, 0x61, 0x58, 0xb2, 0x7a, 0xac, 0xd4, 0x70, 0xd7, 0x1c, 0x46, 0x39, 0x62, 0xdb, 0x6a, 0x2f, 0x0e, 0xd5, 0xba, 0x28, 0x56, 0x75, 0xbf, 0x78, 0x7f, 0x7b, 0x55, 0xd4, 0xed, 0xaa, 0xaa, 0xd9, 0x20, 0x8e, 0xc3, 0xa7, 0xcb, 0x7b, 0xb9, 0xdb, 0xcf, 0x71, 0xb7, 0xfa, 0xc1, 0x1e, 0xba, 0xf6, 0xa9, 0x91, 0x3b, 0x1f, 0xbf, 0x35, 0xdf, 0xc7, 0xfd, 0xa1, 0x67, 0xed, 0x2f, 0x79, 0xae, 0x3a, 0xad, 0xae, 0xfe, 0xfc, 0x66, 0xeb, 0x76, 0xfb, 0xee, 0xb2, 0x28, 0x14, 0x8e, 0x85, 0x62, 0xbd, 0xfe, 0x28, 0xeb, 0xdd, 0x15, 0x99, 0xf8, 0x70, 0x7b, 0x7d, 0xa7, 0xe7, 0x87, 0x6e, 0x14, 0x94, 0x74, 0x27, 0x7f, 0x9a, 0xb8, 0xa9, 0xea, 0x5e, 0x5c, 0x4b, 0x14, 0xc5, 0x66, 0x6c, 0x56, 0xc3, 0xae, 0x6d, 0xd8, 0xfd, 0x97, 0xcf, 0x8b, 0x2b, 0x29, 0x66, 0xf1, 0x17, 0x87, 0x9b, 0xcb, 0xaa,

View File

@ -1 +0,0 @@
0x78, 0xda, 0x75, 0x55, 0xdf, 0x6f, 0xdb, 0x36, 0x10, 0x7e, 0xce, 0x80, 0xfd, 0x0f, 0x9c, 0x8a, 0xb5, 0x31, 0x10, 0xda, 0x72, 0x96, 0x6d, 0x9e, 0x64, 0x19, 0xdd, 0xd2, 0x3c, 0xe4, 0xa1, 0xd8, 0x80, 0x75, 0xc0, 0xf6, 0x48, 0x93, 0x27, 0x9b, 0x0d, 0x45, 0x72, 0x24, 0x25, 0xdb, 0x35, 0xfc, 0xbf, 0xef, 0x48, 0xca, 0xad, 0xbb, 0xa6, 0x10, 0x0c, 0x92, 0xf7, 0x8b, 0xdf, 0xdd, 0x7d, 0x47, 0x2f, 0xbf, 0x7b, 0xf3, 0xfb, 0xfd, 0xbb, 0x7f, 0xfe, 0x78, 0x20, 0xdb, 0xd0, 0xa9, 0xd5, 0xb7, 0xdf, 0x2c, 0xe3, 0x4a, 0x14, 0xd3, 0x9b, 0xa6, 0x00, 0x5d, 0x24, 0x09, 0x30, 0x81, 0xeb, 0xd5, 0xb2, 0x83, 0xc0, 0x08, 0xdf, 0x32, 0xe7, 0x21, 0x34, 0x45, 0x1f, 0x5a, 0xba, 0x28, 0x3e, 0x29, 0xb6, 0x21, 0x58, 0x0a, 0xff, 0xf6, 0x72, 0x68, 0x8a, 0xbf, 0xe9, 0x5f, 0xbf, 0xd2, 0x7b, 0xd3, 0x59, 0x16, 0xe4, 0x5a, 0x41, 0x41, 0xb8, 0xd1, 0x01, 0x34, 0x7a, 0x3d, 0x3e, 0x34, 0x20, 0x36, 0x70, 0xe1, 0xa7, 0x59, 0x07, 0x4d, 0x31, 0x48, 0xd8, 0x59, 0xe3, 0xc2, 0x85, 0xe9, 0x4e, 0x8a, 0xb0, 0x6d, 0x04, 0x0c, 0x92, 0x03, 0x4d, 0x87, 0x1b, 0x22, 0xb5, 0x0c, 0x92, 0x29, 0xea, 0x39, 0x53, 0xd0, 0xcc, 0x63, 0x98, 0x18, 0x28, 0xc8, 0xa0, 0x60, 0xf5, 0xee, 0xf1, 0x9e, 0x2e, 0x4a, 0x12, 0xa4, 0x3e, 0x60, 0x94, 0xce, 0xf6, 0x01, 0xdc, 0x72, 0x96, 0x75, 0xd9, 0xce, 0x87, 0x83, 0x02, 0x12, 0x0e, 0x16, 0x6f, 0x0c, 0xb0, 0x0f, 0x33, 0xee, 0x7d, 0x82, 0x72, 0x35, 0xed, 0x8c, 0x60, 0xea, 0x28, 0xa4, 0xb7, 0x8a, 0x1d, 0x2a, 0x6d, 0x34, 0xd4, 0xd6, 0x78, 0xbc, 0xcd, 0xe8, 0xaa, 0x95, 0x7b, 0x10, 0xf5, 0x07, 0x2a, 0xb5, 0x80, 0x7d, 0x35, 0xaf, 0x2d, 0x13, 0x42, 0xea, 0x0d, 0x0d, 0xc6, 0x56, 0xf3, 0xb2, 0xb4, 0xfb, 0x5a, 0x41, 0x1b, 0xaa, 0xb2, 0x8e, 0x82, 0xb2, 0x4e, 0x58, 0xa3, 0xe2, 0xfb, 0x7a, 0x0b, 0x72, 0xb3, 0x0d, 0x79, 0x6f, 0x06, 0x70, 0xad, 0x32, 0xbb, 0x8a, 0xf5, 0xc1, 0xd4, 0x6b, 0xc6, 0x9f, 0x36, 0xce, 0xf4, 0x5a, 0x50, 0x6e, 0x94, 0x71, 0xd5, 0x8b, 0xb2, 0x2c, 0xbf, 0x94, 0xba, 0xcd, 0x9a, 0x5d, 0x97, 0x37, 0xf1, 0x9b, 0xde, 0x4d, 0x4e, 0x19, 0x26, 0x1d, 0x6b, 0x74, 0xfc, 0x88, 0xd0, 0x81, 0xc2, 0x52, 0x0f, 0xf0, 0x4c, 0xd8, 0x16, 0xe2, 0x57, 0x77, 0xcc, 0x6d, 0xa4, 0xce, 0x77, 0x8f, 0xf8, 0xab, 0x5b, 0xbb, 0x27, 0xf3, 0x9f, 0x10, 0xfe, 0xda, 0x38, 0x01, 0xae, 0x9a, 0xe3, 0xd9, 0x1b, 0x25, 0x05, 0x79, 0xb1, 0x58, 0x2c, 0xc6, 0x3c, 0x7e, 0x4c, 0x09, 0xae, 0xcd, 0x9e, 0xfa, 0x2d, 0x13, 0x08, 0xbf, 0x24, 0x77, 0x68, 0xb7, 0xc0, 0x5f, 0x49, 0x2e, 0xe1, 0xdd, 0x4e, 0x6e, 0x4a, 0x82, 0xd1, 0xc8, 0x6d, 0xf9, 0x85, 0x6e, 0xfe, 0xcb, 0xa4, 0xa6, 0x3b, 0x58, 0x3f, 0xc9, 0x40, 0x99, 0x96, 0x1d, 0x8b, 0xa8, 0x69, 0x6c, 0x7d, 0x95, 0x8f, 0x80, 0xa5, 0x7b, 0xc6, 0x42, 0xf4, 0x2e, 0x6d, 0xaa, 0xe9, 0x9d, 0xaf, 0xbf, 0xee, 0xf8, 0xbc, 0xc3, 0xe9, 0xf5, 0x13, 0x1c, 0x5a, 0x87, 0xb6, 0x9e, 0x7c, 0x32, 0x3e, 0xb6, 0xce, 0x74, 0xc7, 0xd8, 0x29, 0xfa, 0x43, 0x4a, 0xcd, 0x58, 0xc6, 0x65, 0x38, 0x54, 0xe5, 0x29, 0x98, 0x63, 0xee, 0xe0, 0x59, 0x34, 0x3f, 0x9d, 0xa6, 0x5c, 0x19, 0x0f, 0xc7, 0x8b, 0x1e, 0x61, 0x0f, 0x59, 0xa8, 0x5c, 0x6c, 0x6c, 0xdd, 0x62, 0x23, 0xa8, 0x97, 0x1f, 0xa0, 0xba, 0xc5, 0x82, 0xe4, 0xe3, 0x2e, 0xf7, 0xfc, 0xe7, 0xb2, 0x1c, 0x9d, 0xab, 0xd6, 0xf0, 0xde, 0xdf, 0x8c, 0x87, 0x6d, 0xe4, 0xc1, 0x65, 0xbc, 0x48, 0x44, 0x2a, 0x80, 0x9b, 0x11, 0x79, 0xe2, 0x1e, 0xef, 0x9d, 0x47, 0x03, 0x6b, 0x24, 0x76, 0xda, 0x9d, 0x22, 0x79, 0x67, 0x89, 0xbd, 0x71, 0x22, 0x67, 0xe3, 0x48, 0x2e, 0xd7, 0x46, 0x1c, 0x48, 0x12, 0x37, 0xc5, 0xd8, 0xe0, 0xb2, 0x26, 0xe7, 0xf6, 0x96, 0xf5, 0x79, 0x3e, 0x84, 0x1c, 0x12, 0xcb, 0x97, 0x9c, 0xe9, 0x81, 0xf9, 0xff, 0xb9, 0x60, 0xaf, 0x12, 0x2d, 0xc8, 0x99, 0xfd, 0x64, 0xad, 0x0c, 0x7f, 0xaa, 0x0b, 0x22, 0x45, 0x53, 0x64, 0x97, 0x82, 0x18, 0x9d, 0x58, 0xb7, 0x0f, 0x1d, 0xe8, 0x1e, 0x1f, 0x87, 0x01, 0x09, 0x38, 0xb5, 0x2e, 0xad, 0x6f, 0xa0, 0x65, 0xbd, 0x0a, 0xd7, 0x93, 0x68, 0xd6, 0x99, 0xde, 0x03, 0x12, 0x45, 0xc7, 0x11, 0xd6, 0xb8, 0x99, 0xa6, 0xfc, 0x51, 0xb9, 0x5a, 0xce, 0x72, 0xb4, 0x34, 0xfd, 0xb3, 0x8c, 0x6a, 0xc4, 0x97, 0xee, 0x42, 0xe0, 0x34, 0x31, 0x1c, 0x9f, 0x01, 0xc5, 0xbc, 0x47, 0x88, 0xe9, 0x94, 0xc1, 0x47, 0xab, 0x4b, 0xf1, 0x79, 0x0c, 0xb2, 0x1a, 0xa7, 0xdb, 0x32, 0x7d, 0x36, 0x48, 0xb5, 0x2e, 0x56, 0x2f, 0x83, 0xc4, 0xee, 0x63, 0xe9, 0x50, 0x35, 0x5a, 0xd9, 0xd5, 0x9f, 0xa0, 0x80, 0x07, 0xc2, 0x48, 0x2b, 0xe3, 0x6b, 0x60, 0x08, 0x5e, 0x1b, 0x97, 0xb0, 0x85, 0x8b, 0x77, 0xc3, 0x7e, 0xb4, 0x5f, 0x4a, 0x8d, 0xb2, 0xf1, 0xd9, 0x88, 0x3e, 0xb9, 0x30, 0xbd, 0x45, 0x22, 0x08, 0x9a, 0x94, 0x31, 0xb5, 0xb4, 0x59, 0x9d, 0x1d, 0xcf, 0xe9, 0x7d, 0x96, 0xa7, 0xe7, 0x4e, 0xda, 0x70, 0xf9, 0x00, 0xbd, 0x67, 0x58, 0x8e, 0x24, 0xcd, 0x59, 0x0c, 0xcc, 0x91, 0xb7, 0x46, 0xf4, 0x08, 0xac, 0x21, 0xc7, 0x5c, 0xad, 0x8a, 0x08, 0x2c, 0x60, 0x17, 0xeb, 0xbd, 0x81, 0xf0, 0xa0, 0x20, 0x6e, 0x7f, 0x3b, 0x3c, 0x8a, 0xeb, 0x57, 0xd9, 0xe0, 0xd5, 0xe4, 0x54, 0x5f, 0x5d, 0x65, 0x8e, 0xa4, 0x58, 0x9f, 0x5f, 0xc7, 0xfc, 0x41, 0xf3, 0xaf, 0x5c, 0x4a, 0xbc, 0xe3, 0x28, 0x95, 0x7c, 0xfa, 0xde, 0xc7, 0x24, 0x2e, 0xfc, 0x97, 0xb3, 0x48, 0xaf, 0xcc, 0xb7, 0xfc, 0xe7, 0xf0, 0x1f, 0xca, 0x6f, 0x0e, 0x97,

View File

@ -1 +0,0 @@
0x78, 0xda, 0x63, 0x5c, 0xc0, 0xc4, 0x40, 0x08, 0xfc, 0xfb, 0x0f, 0x04, 0x4a, 0x4a, 0x4a, 0xfd, 0x1d, 0x1d, 0x1d, 0xfd, 0x20, 0x1a, 0xc8, 0xed, 0xff, 0xff, 0x01, 0x8e, 0xff, 0xff, 0x7f, 0xff, 0x4e, 0x49, 0xe9, 0xff, 0xbb, 0x8e, 0x8e, 0x0f, 0xef, 0x94, 0x9a, 0x3e, 0xbc, 0xfb, 0xdf, 0xff, 0xe1, 0xff, 0x87, 0xfe, 0x0f, 0x1f, 0x60, 0x18, 0xbb, 0xfe, 0xff, 0x78, 0xf5, 0xff, 0x47, 0xd2, 0xcf, 0x30, 0x0a, 0x06, 0x14, 0x80, 0xe3, 0x0a, 0x14, 0x77, 0x60, 0xf8, 0x03, 0xcc, 0xd6, 0x07, 0xc6, 0xe3, 0x7f, 0x86, 0x0f, 0xff, 0x81, 0x71, 0xfb, 0xef, 0x7f, 0x3f, 0xc3, 0x7f, 0x60, 0xdc, 0xbd, 0xef, 0x07, 0xc6, 0x5f, 0x07, 0x14, 0x83, 0xe2, 0x93, 0xe1, 0xc3, 0xfb, 0x77, 0xff, 0xff, 0xbf, 0x7b, 0x47, 0xa9, 0x7e, 0x56, 0x69, 0x46, 0x06, 0x7d, 0x7d, 0x85, 0x92, 0xcc, 0x92, 0x9c, 0x54, 0x2b, 0x05, 0x85, 0xf4, 0xc4, 0xdc, 0x54, 0x08, 0x87, 0x0b, 0x28, 0x9a, 0x58, 0x5a, 0x92, 0x91, 0x5f, 0x64, 0x05, 0x11, 0x4d, 0x49, 0x2d, 0x4b, 0xcd, 0xc9, 0x2f, 0x48, 0x2d, 0x02, 0xc9, 0xa4, 0xa4, 0x16, 0x27, 0x03, 0x95, 0x2b, 0x14, 0x03, 0xe5, 0x4b, 0xc0, 0xbc, 0xa2, 0xcc, 0x82, 0x92, 0xcc, 0xfc, 0x3c, 0x90, 0x24, 0x84, 0x63, 0xa5, 0x90, 0x55, 0xcc, 0xc5, 0x55, 0x96, 0x58, 0xa4, 0x50, 0x62, 0x6b, 0x00, 0xa6, 0x2b, 0x6c, 0x2d, 0xcd, 0xc0, 0x8c, 0x4a, 0x5b, 0x23, 0x13, 0x2e, 0xae, 0xb4, 0xd2, 0xbc, 0x64, 0x90, 0x16, 0x85, 0x10, 0x4f, 0x67, 0x0d, 0x4d, 0xae, 0x6a, 0x2e, 0xce, 0xcc, 0x34, 0x8d, 0xa4, 0x92, 0x3c, 0x0d, 0x03, 0x4d, 0xcd, 0x4a, 0x5d, 0x5d, 0x38, 0xd7, 0x10, 0xc8, 0xd5, 0xd6, 0x86, 0x73, 0x8d, 0x34, 0x35, 0x2b, 0x90, 0x64, 0x8d, 0x81, 0x5c, 0xa0, 0x2c, 0x17, 0x67, 0x72, 0x4e, 0xb1, 0x86, 0xa1, 0xb1, 0x26, 0x17, 0x67, 0x71, 0x41, 0x91, 0x86, 0xa1, 0xb6, 0x86, 0x46, 0x89, 0xaa, 0x99, 0x81, 0xa6, 0xbe, 0xb1, 0x41, 0x8d, 0x81, 0xa6, 0x96, 0x91, 0x4e, 0x85, 0x4e, 0xa5, 0x8e, 0xa1, 0x89, 0x8e, 0xb1, 0x8e, 0x01, 0x10, 0x1a, 0xe9, 0x18, 0x01, 0x15, 0x16, 0x14, 0x65, 0xe6, 0x95, 0x68, 0x28, 0x79, 0xb8, 0xfa, 0xf8, 0xf8, 0x2b, 0x84, 0xfb, 0x07, 0xf9, 0xb8, 0x28, 0x2a, 0xe9, 0x58, 0x98, 0x00, 0x11, 0x50, 0xb2, 0x04, 0x68, 0x68, 0x2d, 0x17, 0xa7, 0x1d, 0x65, 0xd1, 0xcb, 0xcc, 0xc2, 0x65, 0x00, 0x61, 0x81, 0xf2, 0x29, 0x8c, 0x16, 0x30, 0x0a, 0x29, 0x9b, 0xb1, 0xeb, 0xce, 0xbf, 0xf7, 0x67, 0x57, 0x77, 0xa6, 0xbb, 0x2a, 0x33, 0xc2, 0xf8, 0x30, 0x9a, 0x07, 0xa8, 0x47, 0x84, 0x47, 0xc6, 0x45, 0xc5, 0xc4, 0xc0, 0x24, 0xd7, 0xcf, 0xcb, 0xaf, 0xd5, 0xc7, 0xc0, 0x24, 0x55, 0xe5, 0x82, 0x9b, 0x47, 0x69, 0x61, 0x62, 0x64, 0xed, 0xb9, 0x4b, 0xb5, 0x3a, 0xad, 0x53, 0x17, 0xe6, 0xae, 0xd2, 0xb9, 0xb4, 0x6a, 0x66, 0xee, 0xa1, 0x53, 0xb7, 0xae, 0xc4, 0xdd, 0x7b, 0x77, 0x0d, 0x00, 0x4e, 0x2e, 0x34, 0x2c,

View File

@ -1 +0,0 @@
0x78, 0xda, 0x63, 0x5c, 0xc0, 0xc4, 0x40, 0x08, 0xfc, 0xfb, 0x0f, 0x04, 0x4a, 0x4a, 0x4a, 0xfd, 0x1d, 0x1d, 0x1d, 0xfd, 0x20, 0x1a, 0xc8, 0xed, 0xff, 0xff, 0x01, 0x8e, 0xff, 0xff, 0x7f, 0xff, 0x4e, 0x49, 0xe9, 0xff, 0xbb, 0x8e, 0x8e, 0x0f, 0xef, 0x94, 0x9a, 0x3e, 0xbc, 0xfb, 0xdf, 0xff, 0xe1, 0xff, 0x87, 0xfe, 0x0f, 0x1f, 0x60, 0x18, 0xbb, 0xfe, 0xff, 0x78, 0xf5, 0xff, 0x47, 0xd2, 0xcf, 0x30, 0x0a, 0x06, 0x14, 0x80, 0xe3, 0x0a, 0x14, 0x77, 0x60, 0xf8, 0x03, 0xcc, 0xd6, 0x07, 0xc6, 0xe3, 0x7f, 0x86, 0x0f, 0xff, 0x81, 0x71, 0xfb, 0xef, 0x7f, 0x3f, 0xc3, 0x7f, 0x60, 0xdc, 0xbd, 0xef, 0x07, 0xc6, 0x5f, 0x07, 0x14, 0x83, 0xe2, 0x93, 0xe1, 0xc3, 0xfb, 0x77, 0xff, 0xff, 0xbf, 0x7b, 0x47, 0xa9, 0x7e, 0x56, 0x2b, 0x46, 0x06, 0x5d, 0x5d, 0x85, 0x92, 0xcc, 0x92, 0x9c, 0x54, 0x2b, 0x05, 0x85, 0xf4, 0xc4, 0xdc, 0x54, 0x08, 0x87, 0x0b, 0x28, 0x9a, 0x58, 0x5a, 0x92, 0x91, 0x5f, 0x64, 0x05, 0x11, 0x4d, 0x49, 0x2d, 0x4b, 0xcd, 0xc9, 0x2f, 0x48, 0x2d, 0x02, 0xc9, 0xa4, 0xa4, 0x16, 0x27, 0x03, 0x95, 0x2b, 0x14, 0x03, 0xe5, 0x4b, 0xc0, 0xbc, 0xa2, 0xcc, 0x82, 0x92, 0xcc, 0xfc, 0x3c, 0x90, 0x24, 0x84, 0x63, 0xa5, 0x90, 0x53, 0x9a, 0xc8, 0xc5, 0x55, 0x62, 0x6b, 0xc0, 0x55, 0x61, 0x6b, 0x69, 0xc6, 0x55, 0x69, 0x6b, 0x64, 0xc2, 0xc5, 0x95, 0x56, 0x9a, 0x97, 0x0c, 0x52, 0xa7, 0x10, 0xe2, 0xe9, 0xac, 0xa1, 0xc9, 0xc5, 0xc5, 0x99, 0x99, 0xa6, 0x90, 0x54, 0x92, 0xa7, 0x61, 0xa0, 0xa9, 0x50, 0x92, 0x91, 0x9a, 0xa7, 0x50, 0x69, 0x5b, 0xa9, 0x6b, 0xa8, 0x90, 0x9a, 0x97, 0x02, 0x97, 0x31, 0x44, 0xc8, 0x68, 0xa3, 0xca, 0x18, 0x41, 0x65, 0x2a, 0x6c, 0x2b, 0xd0, 0xf4, 0x18, 0x23, 0x64, 0xa0, 0x7a, 0xb8, 0x38, 0x93, 0x73, 0x8a, 0x35, 0x0c, 0x8d, 0x35, 0xb9, 0x38, 0x8b, 0x0b, 0x8a, 0x34, 0x0c, 0xb5, 0x4b, 0x54, 0xcd, 0x0c, 0xf4, 0xf5, 0x8d, 0x0d, 0xb4, 0x8c, 0x74, 0x2a, 0x74, 0x2a, 0x75, 0x0c, 0x4d, 0x74, 0x8c, 0x75, 0x0c, 0x80, 0xd0, 0x48, 0xc7, 0x08, 0xa8, 0xa6, 0xa0, 0x28, 0x33, 0xaf, 0x44, 0x43, 0xc9, 0xc3, 0xd5, 0xc7, 0xc7, 0x5f, 0x21, 0xdc, 0x3f, 0xc8, 0xc7, 0x45, 0x51, 0x49, 0xc7, 0xc2, 0x04, 0x88, 0x80, 0x92, 0x25, 0xb6, 0x25, 0xda, 0x86, 0x5c, 0x60, 0xfb, 0xec, 0x28, 0x8b, 0x7d, 0x66, 0x16, 0x2e, 0x03, 0x08, 0x0b, 0x94, 0x8d, 0x61, 0xb4, 0x80, 0x51, 0x48, 0xd9, 0x8c, 0x5d, 0x77, 0xfe, 0xbd, 0x3f, 0xbb, 0xba, 0x33, 0xdd, 0x55, 0x99, 0x11, 0xc6, 0x87, 0xd1, 0x3c, 0x40, 0x3d, 0x22, 0x3c, 0x32, 0x2e, 0x2a, 0x26, 0x06, 0x26, 0xb9, 0x7e, 0x5e, 0x7e, 0xad, 0x3e, 0x06, 0x26, 0xa9, 0x2a, 0x17, 0xdc, 0x3c, 0x4a, 0x0b, 0x13, 0x23, 0x6b, 0xcf, 0x5d, 0xaa, 0xd5, 0x69, 0x9d, 0xba, 0x30, 0x77, 0x95, 0xce, 0xa5, 0x55, 0x33, 0x73, 0x0f, 0x9d, 0xba, 0x75, 0x25, 0xee, 0xde, 0xbb, 0x6b, 0x00, 0x7e, 0xff, 0x3f, 0x7a,

View File

@ -1 +0,0 @@
0x78, 0xda, 0x63, 0x5c, 0xc0, 0xc4, 0x40, 0x08, 0xfc, 0xfb, 0x0f, 0x04, 0x4a, 0x4a, 0x4a, 0xfd, 0x1d, 0x1d, 0x1d, 0xfd, 0x20, 0x1a, 0xc8, 0xed, 0xff, 0xff, 0x01, 0x8e, 0xff, 0xff, 0x7f, 0xff, 0x4e, 0x49, 0xe9, 0xff, 0xbb, 0x8e, 0x8e, 0x0f, 0xef, 0x94, 0x9a, 0x3e, 0xbc, 0xfb, 0xdf, 0xff, 0xe1, 0xff, 0x87, 0xfe, 0x0f, 0x1f, 0x60, 0x18, 0xbb, 0xfe, 0xff, 0x78, 0xf5, 0xff, 0x47, 0xd2, 0xcf, 0x30, 0x0a, 0x06, 0x14, 0x80, 0xe3, 0x0a, 0x14, 0x77, 0x60, 0xf8, 0x03, 0xcc, 0xd6, 0x07, 0xc6, 0xe3, 0x7f, 0x86, 0x0f, 0xff, 0x81, 0x71, 0xfb, 0xef, 0x7f, 0x3f, 0xc3, 0x7f, 0x60, 0xdc, 0xbd, 0xef, 0x07, 0xc6, 0x5f, 0x07, 0x14, 0x83, 0xe2, 0x93, 0xe1, 0xc3, 0xfb, 0x77, 0xff, 0xff, 0xbf, 0x7b, 0x47, 0xa9, 0x7e, 0x56, 0x7e, 0x46, 0x06, 0x5d, 0x5d, 0x85, 0x92, 0xcc, 0x92, 0x9c, 0x54, 0x2b, 0x05, 0x85, 0xf4, 0xc4, 0xdc, 0x54, 0x08, 0x87, 0x0b, 0x28, 0x9a, 0x58, 0x5a, 0x92, 0x91, 0x5f, 0x64, 0x05, 0x11, 0x4d, 0x49, 0x2d, 0x4b, 0xcd, 0xc9, 0x2f, 0x48, 0x2d, 0x02, 0xc9, 0xa4, 0xa4, 0x16, 0x27, 0x03, 0x95, 0x2b, 0x14, 0x03, 0xe5, 0x4b, 0xc0, 0xbc, 0xa2, 0xcc, 0x82, 0x92, 0xcc, 0xfc, 0x3c, 0x90, 0x24, 0x84, 0x63, 0xa5, 0x90, 0x9b, 0x0f, 0xe4, 0x73, 0x95, 0xd8, 0x1a, 0x70, 0x55, 0xd8, 0x5a, 0x9a, 0x71, 0x55, 0xda, 0x1a, 0x99, 0x70, 0x71, 0xa5, 0x56, 0x14, 0x80, 0xb4, 0x84, 0x78, 0x3a, 0xdb, 0xea, 0xda, 0x71, 0x71, 0x66, 0xa6, 0x29, 0x24, 0x95, 0xe4, 0x29, 0x18, 0x70, 0x71, 0x72, 0x56, 0xea, 0xda, 0x1a, 0xc2, 0x05, 0x0c, 0x41, 0x02, 0xda, 0x48, 0x02, 0x46, 0x40, 0x81, 0x0a, 0x64, 0x15, 0xc6, 0x20, 0x01, 0x90, 0x0a, 0x2e, 0xce, 0xe4, 0x9c, 0x62, 0x05, 0x43, 0x20, 0xbf, 0xb8, 0xa0, 0x48, 0xc1, 0x50, 0x5b, 0xa3, 0x44, 0xd5, 0xcc, 0x40, 0x53, 0x5f, 0xdf, 0xd8, 0x40, 0xcb, 0x48, 0xa7, 0x42, 0xa7, 0x52, 0xc7, 0xd0, 0x44, 0xc7, 0x58, 0xc7, 0x00, 0x08, 0x8d, 0x74, 0x80, 0xa6, 0x14, 0x14, 0x65, 0xe6, 0x95, 0x28, 0x28, 0x79, 0xb8, 0xfa, 0xf8, 0xf8, 0x2b, 0x84, 0xfb, 0x07, 0xf9, 0xb8, 0x28, 0x2a, 0xe9, 0x58, 0x98, 0x00, 0x11, 0x17, 0x67, 0x09, 0xd8, 0x46, 0x3b, 0xca, 0xa2, 0x94, 0x99, 0x85, 0xcb, 0x00, 0xc2, 0x02, 0xe5, 0x4d, 0x18, 0x2d, 0x60, 0x14, 0x52, 0x36, 0x63, 0xd7, 0x9d, 0x7f, 0xef, 0xcf, 0xae, 0xee, 0x4c, 0x77, 0x55, 0x66, 0x84, 0xf1, 0x61, 0x34, 0x0f, 0x50, 0x8f, 0x08, 0x8f, 0x8c, 0x8b, 0x8a, 0x89, 0x81, 0x49, 0xae, 0x9f, 0x97, 0x5f, 0xab, 0x8f, 0x81, 0x49, 0xaa, 0xca, 0x05, 0x37, 0x8f, 0xd2, 0xc2, 0xc4, 0xc8, 0xda, 0x73, 0x97, 0x6a, 0x75, 0x5a, 0xa7, 0x2e, 0xcc, 0x5d, 0xa5, 0x73, 0x69, 0xd5, 0xcc, 0xdc, 0x43, 0xa7, 0x6e, 0x5d, 0x89, 0xbb, 0xf7, 0xee, 0x1a, 0x00, 0x54, 0x35, 0x2e, 0x0a,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
0x78, 0xda, 0x85, 0x91, 0x6d, 0x4a, 0xc3, 0x40, 0x10, 0x86, 0x37, 0xb6, 0x55, 0xb3, 0x7e, 0x25, 0x37, 0x18, 0x22, 0x42, 0x42, 0x53, 0x4c, 0x62, 0x5a, 0xa1, 0x50, 0xa1, 0x48, 0x04, 0x11, 0xaa, 0xb4, 0x05, 0xed, 0x3f, 0xd3, 0x34, 0x6d, 0x03, 0x69, 0x12, 0x92, 0x8d, 0x1f, 0x47, 0xf0, 0x06, 0xde, 0xc1, 0x1b, 0x78, 0x07, 0x6f, 0xe0, 0x1d, 0xbc, 0x81, 0x3a, 0x1b, 0xcd, 0x9f, 0xf6, 0x47, 0xe7, 0xd9, 0xdd, 0x99, 0x77, 0xe6, 0x65, 0x59, 0x58, 0xe1, 0x9e, 0xac, 0x0d, 0xb9, 0x08, 0x09, 0x37, 0x2f, 0x25, 0x89, 0xd7, 0x02, 0x91, 0x64, 0x42, 0x78, 0x5e, 0x37, 0x93, 0xe5, 0xda, 0x4c, 0x20, 0x8d, 0x06, 0xb0, 0x80, 0x85, 0x7e, 0x1b, 0x20, 0x9b, 0x3e, 0x51, 0x94, 0x6e, 0xce, 0xe6, 0x71, 0xda, 0x86, 0x9e, 0x9f, 0x8d, 0xe3, 0xa2, 0x33, 0xf1, 0x33, 0x0f, 0xe7, 0x30, 0x8f, 0x1f, 0x81, 0xc5, 0x90, 0x84, 0xee, 0x33, 0x0c, 0x2e, 0xee, 0xb0, 0xbf, 0x88, 0xf9, 0x3c, 0xf3, 0xd2, 0x20, 0x61, 0x6d, 0x08, 0x73, 0x97, 0xcb, 0x20, 0x4a, 0x72, 0x54, 0x30, 0x73, 0x17, 0x7e, 0xe2, 0x4e, 0x28, 0x65, 0x1d, 0x83, 0x06, 0x13, 0x3c, 0xe8, 0x34, 0x8f, 0x3c, 0x16, 0xc4, 0x11, 0x0c, 0x2f, 0xcf, 0x55, 0x8d, 0x52, 0x31, 0x98, 0xc2, 0x98, 0x45, 0x89, 0x6a, 0x68, 0xc0, 0xe6, 0x7e, 0xc4, 0xdf, 0xa0, 0x06, 0x13, 0x5d, 0x71, 0x1a, 0xb6, 0xa2, 0x51, 0xd1, 0x0f, 0x33, 0xbf, 0xb4, 0x98, 0x2b, 0x96, 0xd6, 0xb2, 0xc5, 0x5a, 0xb1, 0x9c, 0x2e, 0x5b, 0x4e, 0x56, 0x2c, 0xcd, 0xc2, 0x12, 0xe1, 0x3b, 0x45, 0x2f, 0xcc, 0x54, 0xb3, 0x89, 0x32, 0x4b, 0x52, 0xd5, 0xac, 0xab, 0xec, 0xc8, 0x32, 0xb4, 0x63, 0xd3, 0xd0, 0x4d, 0xc3, 0xd2, 0x2d, 0x5b, 0x37, 0x75, 0x1b, 0x87, 0x49, 0x1a, 0x44, 0x4c, 0x55, 0x6e, 0xfa, 0xce, 0x60, 0x00, 0xdd, 0xde, 0x08, 0xba, 0xfd, 0xfe, 0xf5, 0x2d, 0x5c, 0x39, 0x23, 0x45, 0x6f, 0xd9, 0x7c, 0x19, 0xe8, 0xa2, 0x22, 0xeb, 0xb0, 0xba, 0x89, 0x05, 0xbf, 0x5b, 0x3c, 0x23, 0xa4, 0x46, 0x2a, 0xc8, 0x46, 0x41, 0xe5, 0x9f, 0x2a, 0x52, 0x43, 0x36, 0x91, 0x2d, 0xb2, 0x4d, 0x44, 0x84, 0x92, 0x1d, 0x64, 0x17, 0xd9, 0x23, 0xfb, 0xc8, 0x01, 0x52, 0xa9, 0x52, 0xe3, 0xef, 0xd3, 0x7f, 0x30, 0xca, 0x2c, 0x59, 0xc3, 0x87, 0xd7, 0xf7, 0xcf, 0xef, 0xaf, 0x8f, 0xb7, 0x97, 0x99, 0x73, 0x28, 0x94, 0xba, 0xcc, 0xbf, 0xe1, 0xfe, 0x81, 0x5a,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
0x78, 0xda, 0x63, 0x5c, 0xc0, 0xc4, 0x40, 0x08, 0xfc, 0xfb, 0x0f, 0x04, 0x4a, 0x4a, 0x4a, 0xfd, 0x1d, 0x1d, 0x1d, 0xfd, 0x20, 0x1a, 0xc8, 0xed, 0xff, 0xff, 0x01, 0x8e, 0xff, 0xff, 0x7f, 0xff, 0x4e, 0x49, 0xe9, 0xff, 0xbb, 0x8e, 0x8e, 0x0f, 0xef, 0x94, 0x9a, 0x3e, 0xbc, 0xfb, 0xdf, 0xff, 0xe1, 0xff, 0x87, 0xfe, 0x0f, 0x1f, 0x60, 0x18, 0xbb, 0xfe, 0xff, 0x78, 0xf5, 0xff, 0x47, 0xd2, 0xcf, 0x30, 0x0a, 0x06, 0x14, 0x80, 0xe3, 0x0a, 0x14, 0x77, 0x60, 0xf8, 0x03, 0xcc, 0xd6, 0x07, 0xc6, 0xe3, 0x7f, 0x86, 0x0f, 0xff, 0x81, 0x71, 0xfb, 0xef, 0x7f, 0x3f, 0xc3, 0x7f, 0x60, 0xdc, 0xbd, 0xef, 0x07, 0xc6, 0x5f, 0x07, 0x14, 0x83, 0xe2, 0x93, 0xe1, 0xc3, 0xfb, 0x77, 0xff, 0xff, 0xbf, 0x7b, 0x47, 0xa9, 0x7e, 0xd6, 0x85, 0x8c, 0x0c, 0xfa, 0xfa, 0x0a, 0x25, 0x99, 0x25, 0x39, 0xa9, 0x56, 0x0a, 0x0a, 0xe9, 0x89, 0xb9, 0xa9, 0x10, 0x0e, 0x17, 0x50, 0x34, 0xb1, 0xb4, 0x24, 0x23, 0xbf, 0xc8, 0x0a, 0x22, 0x9a, 0x92, 0x5a, 0x96, 0x9a, 0x93, 0x5f, 0x90, 0x5a, 0x04, 0x92, 0x49, 0x49, 0x2d, 0x4e, 0x06, 0x2a, 0x57, 0x28, 0x06, 0xca, 0x97, 0x80, 0x79, 0x45, 0x99, 0x05, 0x25, 0x99, 0xf9, 0x79, 0x20, 0x49, 0x08, 0xc7, 0x4a, 0xa1, 0xbc, 0x28, 0x35, 0x8f, 0x8b, 0x2b, 0x39, 0x27, 0xb1, 0xb8, 0x58, 0xc1, 0x1d, 0x64, 0x44, 0x66, 0xb1, 0x42, 0x88, 0xa7, 0x73, 0x35, 0x17, 0x17, 0x67, 0x72, 0x7e, 0x5e, 0x71, 0x49, 0x51, 0x69, 0x72, 0x89, 0x42, 0x5e, 0x6a, 0xb9, 0x86, 0x66, 0x35, 0x17, 0x27, 0x67, 0x7c, 0x89, 0xad, 0x01, 0x88, 0xaa, 0xb0, 0xb5, 0x34, 0x03, 0xd1, 0x95, 0xb6, 0x46, 0x26, 0x5c, 0x9c, 0xb5, 0x5c, 0x9c, 0x5c, 0x9c, 0x40, 0x4d, 0x10, 0x35, 0x99, 0x69, 0x1a, 0x40, 0xb6, 0x5e, 0x52, 0x49, 0x9e, 0x86, 0x81, 0x26, 0x58, 0x04, 0xa4, 0x2e, 0xbe, 0x52, 0xd7, 0x10, 0xc8, 0xac, 0x45, 0x55, 0x60, 0x88, 0xac, 0x40, 0x1b, 0x8b, 0x02, 0x23, 0x98, 0x82, 0x0a, 0xdb, 0xf8, 0x0a, 0x6c, 0x26, 0x18, 0x23, 0x2b, 0x80, 0x9b, 0x00, 0x44, 0x20, 0x05, 0xc9, 0x39, 0xc5, 0x1a, 0x86, 0xc6, 0x9a, 0x50, 0x5e, 0x71, 0x41, 0x91, 0x86, 0xa1, 0xb6, 0x86, 0x46, 0x7c, 0x89, 0xaa, 0x99, 0x81, 0xa6, 0xbe, 0xb1, 0x41, 0x8d, 0x81, 0xa6, 0x96, 0x91, 0x4e, 0x7c, 0x85, 0x4e, 0x7c, 0xa5, 0x8e, 0xa1, 0x89, 0x8e, 0xb1, 0x8e, 0x01, 0x10, 0x1a, 0xe9, 0x18, 0xc1, 0x34, 0x14, 0x14, 0x65, 0xe6, 0x95, 0x68, 0x28, 0x79, 0xb8, 0xfa, 0xf8, 0xf8, 0x2b, 0x84, 0xfb, 0x07, 0xf9, 0xb8, 0x28, 0x2a, 0xe9, 0x58, 0x98, 0x00, 0x91, 0x26, 0xc4, 0x0e, 0x60, 0x70, 0xc4, 0x97, 0x80, 0x2c, 0xad, 0xe5, 0xaa, 0xe5, 0xb4, 0xa3, 0x2c, 0x91, 0x31, 0xb3, 0x70, 0x19, 0x40, 0x58, 0xa0, 0xd2, 0x02, 0x46, 0x0b, 0x18, 0x85, 0x94, 0xcd, 0xd8, 0x75, 0xe7, 0xdf, 0xfb, 0xb3, 0xab, 0x3b, 0xd3, 0x5d, 0x95, 0x19, 0x61, 0x7c, 0x18, 0xcd, 0x03, 0xd4, 0x23, 0xc2, 0x23, 0xe3, 0xa2, 0x62, 0x62, 0x60, 0x92, 0xeb, 0xe7, 0xe5, 0xd7, 0xea, 0x63, 0x60, 0x92, 0xaa, 0x72, 0xc1, 0xcd, 0xa3, 0xb4, 0x30, 0x31, 0xb2, 0xf6, 0xdc, 0xa5, 0x5a, 0x9d, 0xd6, 0xa9, 0x0b, 0x73, 0x57, 0xe9, 0x5c, 0x5a, 0x35, 0x33, 0xf7, 0xd0, 0xa9, 0x5b, 0x57, 0xe2, 0xee, 0xbd, 0xbb, 0x06, 0x00, 0xb4, 0xc0, 0x51, 0xda,

View File

@ -1,43 +0,0 @@
#!/usr/bin/env bash
##########################################################################
# build script for TIC-80
##########################################################################
echo "For a normal build, use the linux target."
echo "-lto targets (Link Time Optimization) have smaller output size."
echo "wasm, emscripten and mingw targets require their compilers to be installed."
PS3="Select build target: "
options=("dependencies" "linux" "linux32-lto" "linux64-lto" "emscripten" "wasm" "mingw" "chip-lto" "exit")
select opt in "${options[@]}"
do
case $opt in
"install packages")
sudo apt-get install build-essential mercurial make cmake autoconf automake libtool libasound2-dev libpulse-dev libaudio-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxxf86vm-dev libxss-dev libgl1-mesa-dev libesd0-dev libdbus-1-dev libudev-dev libgles1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libibus-1.0-dev fcitx-libs-dev libsamplerate0-dev libgtk-3-dev zlib1g-dev libwayland-dev libxkbcommon-dev wayland-protocols libsndio-dev -y
;;
"linux")
make linux
;;
"linux32-lto")
make linux32-lto
;;
"linux64-lto")
make linux64-lto
;;
"emscripten")
make emscripten
;;
"wasm")
make wasm
;;
"mingw")
make mingw
;;
"chip-lto")
make chip-lto
;;
"exit")
break
;;
*) echo Invalid target;;
esac
done

View File

@ -4,8 +4,8 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.nesbox.tic"
android:versionCode="6003"
android:versionName="0.60.3"
android:versionCode="7006"
android:versionName="0.70.6"
android:installLocation="auto">
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14" />

View File

@ -3,7 +3,7 @@
# See CPLUSPLUS-SUPPORT.html in the NDK documentation for more information
# APP_STL := stlport_static
APP_ABI := armeabi armeabi-v7a x86
APP_ABI := armeabi-v7a x86
# Min SDK level
APP_PLATFORM=android-14

View File

@ -12,12 +12,13 @@ LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/lua-5.3.1/src \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/giflib-5.1.4/lib \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/zlib-1.2.8 \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/duktape-2.2.0\src \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/duktape-2.2.0/src \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/blip-buf \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/SDL2_net-2.0.1 \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/moonscript \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/wren-0.1.0\src\include \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/wren-0.1.0/src/include \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/sdl-gpu/include \
$(LOCAL_PATH)/$(THIRD_PARTY_PATH)/fennel \
$(LOCAL_PATH)/../../../../include
# Add your application source files here...

File diff suppressed because one or more lines are too long

View File

@ -1,37 +0,0 @@
APPNAME=tic80
APPBUNDLE=$(APPNAME).app
APPBUNDLECONTENTS=$(APPBUNDLE)/Contents
APPBUNDLEEXE=$(APPBUNDLECONTENTS)/MacOS
APPBUNDLEICON=$(APPBUNDLECONTENTS)/Resources
all: dmg
dmg: appbundle
hdiutil create -volname $(APPNAME) -srcfolder $(APPNAME).app -ov -format UDZO $(APPNAME).dmg
appbundle: $(APPNAME).icns
rm -rf $(APPBUNDLE)
mkdir $(APPBUNDLE)
mkdir $(APPBUNDLE)/Contents
mkdir $(APPBUNDLE)/Contents/MacOS
mkdir $(APPBUNDLE)/Contents/Resources
cp Info.plist $(APPBUNDLECONTENTS)/
echo "APPL????" > $(APPBUNDLECONTENTS)/PkgInfo
cp $(APPNAME).icns $(APPBUNDLEICON)/
cp ../../bin/$(APPNAME) $(APPBUNDLEEXE)/$(APPNAME)
$(APPNAME).icns: $(APPNAME)Icon.png
rm -rf $(APPNAME).iconset
mkdir $(APPNAME).iconset
sips -z 16 16 $(APPNAME)Icon.png --out $(APPNAME).iconset/icon_16x16.png
sips -z 32 32 $(APPNAME)Icon.png --out $(APPNAME).iconset/icon_16x16@2x.png
sips -z 32 32 $(APPNAME)Icon.png --out $(APPNAME).iconset/icon_32x32.png
sips -z 64 64 $(APPNAME)Icon.png --out $(APPNAME).iconset/icon_32x32@2x.png
sips -z 128 128 $(APPNAME)Icon.png --out $(APPNAME).iconset/icon_128x128.png
sips -z 256 256 $(APPNAME)Icon.png --out $(APPNAME).iconset/icon_128x128@2x.png
sips -z 256 256 $(APPNAME)Icon.png --out $(APPNAME).iconset/icon_256x256.png
sips -z 512 512 $(APPNAME)Icon.png --out $(APPNAME).iconset/icon_256x256@2x.png
sips -z 512 512 $(APPNAME)Icon.png --out $(APPNAME).iconset/icon_512x512.png
cp $(APPNAME)Icon.png $(APPNAME).iconset/icon_512x512@2x.png
iconutil -c icns -o $(APPNAME).icns $(APPNAME).iconset
rm -r $(APPNAME).iconset

BIN
build/macosx/tic80.icns Normal file

Binary file not shown.

View File

@ -19,12 +19,12 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.60.3</string>
<string>0.70.6</string>
<key>CFBundleVersion</key>
<string>0.60.3</string>
<string>0.70.6</string>
<key>NSHumanReadableCopyright</key>
<string>http://tic.computer © 2017</string>
<key>NSHighResolutionCapable</key>
<true/>
</dict>
</plist>
</plist>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>TIC-80 Pro</string>
<key>CFBundleExecutable</key>
<string>tic80pro</string>
<key>CFBundleIconFile</key>
<string>tic80.icns</string>
<key>CFBundleIdentifier</key>
<string>com.nesbox.tic</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>TIC-80 Pro</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.70.6</string>
<key>CFBundleVersion</key>
<string>0.70.6</string>
<key>NSHumanReadableCopyright</key>
<string>http://tic.computer © 2017</string>
<key>NSHighResolutionCapable</key>
<true/>
</dict>
</plist>

View File

@ -1 +0,0 @@
0 ICON icon.ico

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" IgnorableNamespaces="uap mp">
<Identity Name="50446Nesbox.TICcomputer" Publisher="CN=1040DC4A-04A1-4B33-9107-C1A9D74775D4" Version="0.60.3.0" />
<Identity Name="50446Nesbox.TICcomputer" Publisher="CN=1040DC4A-04A1-4B33-9107-C1A9D74775D4" Version="0.70.1.0" />
<mp:PhoneIdentity PhoneProductId="93515db0-8ee3-478b-933a-5776b58247b2" PhonePublisherId="00000000-0000-0000-0000-000000000000" />
<Properties>
<DisplayName>TIC-80</DisplayName>
@ -25,4 +25,4 @@
<Capabilities>
<Capability Name="internetClient" />
</Capabilities>
</Package>
</Package>

View File

@ -1,303 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Pro|Win32">
<Configuration>Debug Pro</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug Pro|x64">
<Configuration>Debug Pro</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Pro|Win32">
<Configuration>Release Pro</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Pro|x64">
<Configuration>Release Pro</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\examples\sdl-renderer.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\3rd-party\SDL2-2.0.7\VisualC\SDLmain\SDLmain.vcxproj">
<Project>{da956fd3-e142-46f2-9dd5-c78bebb56b7a}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\3rd-party\SDL2-2.0.7\VisualC\SDL\SDL.vcxproj">
<Project>{81ce8daf-ebb2-4761-8e45-b71abcca8c68}</Project>
</ProjectReference>
<ProjectReference Include="..\tic80\tic80.vcxproj">
<Project>{c4d8bc10-ebf6-42bb-9b5d-6712fb428a50}</Project>
</ProjectReference>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{86CAA9C1-C61A-40D8-AC77-33D94754C824}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>example</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\include;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\include;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\include;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\include;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\include;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\include;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\include;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\include;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="..\..\..\examples\sdl-renderer.c" />
</ItemGroup>
</Project>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

View File

@ -1,260 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Pro|Win32">
<Configuration>Debug Pro</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug Pro|x64">
<Configuration>Debug Pro</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Pro|Win32">
<Configuration>Release Pro</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Pro|x64">
<Configuration>Release Pro</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\dgif_lib.c" />
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\egif_lib.c" />
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\gifalloc.c" />
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\gif_err.c" />
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\gif_font.c" />
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\gif_hash.c" />
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\openbsd-reallocarray.c" />
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\quantize.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{6EA9D998-7557-4AED-ABFC-142F9960C9B6}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>gif</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\dgif_lib.c" />
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\egif_lib.c" />
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\gif_err.c" />
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\gif_font.c" />
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\gif_hash.c" />
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\gifalloc.c" />
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\openbsd-reallocarray.c" />
<ClCompile Include="..\..\..\3rd-party\giflib-5.1.4\lib\quantize.c" />
</ItemGroup>
</Project>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

View File

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -1,950 +0,0 @@
/*
* Dirent interface for Microsoft Visual Studio
* Version 1.21
*
* Copyright (C) 2006-2012 Toni Ronkko
* This file is part of dirent. Dirent may be freely distributed
* under the MIT license. For all details and documentation, see
* https://github.com/tronkko/dirent
*/
#ifndef DIRENT_H
#define DIRENT_H
/*
* Include windows.h without Windows Sockets 1.1 to prevent conflicts with
* Windows Sockets 2.0.
*/
#ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
#endif
#include <windows.h>
#include <stdio.h>
#include <stdarg.h>
#include <wchar.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
/* Indicates that d_type field is available in dirent structure */
#define _DIRENT_HAVE_D_TYPE
/* Indicates that d_namlen field is available in dirent structure */
#define _DIRENT_HAVE_D_NAMLEN
/* Entries missing from MSVC 6.0 */
#if !defined(FILE_ATTRIBUTE_DEVICE)
# define FILE_ATTRIBUTE_DEVICE 0x40
#endif
/* File type and permission flags for stat(), general mask */
#if !defined(S_IFMT)
# define S_IFMT _S_IFMT
#endif
/* Directory bit */
#if !defined(S_IFDIR)
# define S_IFDIR _S_IFDIR
#endif
/* Character device bit */
#if !defined(S_IFCHR)
# define S_IFCHR _S_IFCHR
#endif
/* Pipe bit */
#if !defined(S_IFFIFO)
# define S_IFFIFO _S_IFFIFO
#endif
/* Regular file bit */
#if !defined(S_IFREG)
# define S_IFREG _S_IFREG
#endif
/* Read permission */
#if !defined(S_IREAD)
# define S_IREAD _S_IREAD
#endif
/* Write permission */
#if !defined(S_IWRITE)
# define S_IWRITE _S_IWRITE
#endif
/* Execute permission */
#if !defined(S_IEXEC)
# define S_IEXEC _S_IEXEC
#endif
/* Pipe */
#if !defined(S_IFIFO)
# define S_IFIFO _S_IFIFO
#endif
/* Block device */
#if !defined(S_IFBLK)
# define S_IFBLK 0
#endif
/* Link */
#if !defined(S_IFLNK)
# define S_IFLNK 0
#endif
/* Socket */
#if !defined(S_IFSOCK)
# define S_IFSOCK 0
#endif
/* Read user permission */
#if !defined(S_IRUSR)
# define S_IRUSR S_IREAD
#endif
/* Write user permission */
#if !defined(S_IWUSR)
# define S_IWUSR S_IWRITE
#endif
/* Execute user permission */
#if !defined(S_IXUSR)
# define S_IXUSR 0
#endif
/* Read group permission */
#if !defined(S_IRGRP)
# define S_IRGRP 0
#endif
/* Write group permission */
#if !defined(S_IWGRP)
# define S_IWGRP 0
#endif
/* Execute group permission */
#if !defined(S_IXGRP)
# define S_IXGRP 0
#endif
/* Read others permission */
#if !defined(S_IROTH)
# define S_IROTH 0
#endif
/* Write others permission */
#if !defined(S_IWOTH)
# define S_IWOTH 0
#endif
/* Execute others permission */
#if !defined(S_IXOTH)
# define S_IXOTH 0
#endif
/* Maximum length of file name */
#if !defined(PATH_MAX)
# define PATH_MAX MAX_PATH
#endif
#if !defined(FILENAME_MAX)
# define FILENAME_MAX MAX_PATH
#endif
#if !defined(NAME_MAX)
# define NAME_MAX FILENAME_MAX
#endif
/* File type flags for d_type */
#define DT_UNKNOWN 0
#define DT_REG S_IFREG
#define DT_DIR S_IFDIR
#define DT_FIFO S_IFIFO
#define DT_SOCK S_IFSOCK
#define DT_CHR S_IFCHR
#define DT_BLK S_IFBLK
#define DT_LNK S_IFLNK
/* Macros for converting between st_mode and d_type */
#define IFTODT(mode) ((mode) & S_IFMT)
#define DTTOIF(type) (type)
/*
* File type macros. Note that block devices, sockets and links cannot be
* distinguished on Windows and the macros S_ISBLK, S_ISSOCK and S_ISLNK are
* only defined for compatibility. These macros should always return false
* on Windows.
*/
#if !defined(S_ISFIFO)
# define S_ISFIFO(mode) (((mode) & S_IFMT) == S_IFIFO)
#endif
#if !defined(S_ISDIR)
# define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
#endif
#if !defined(S_ISREG)
# define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG)
#endif
#if !defined(S_ISLNK)
# define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)
#endif
#if !defined(S_ISSOCK)
# define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK)
#endif
#if !defined(S_ISCHR)
# define S_ISCHR(mode) (((mode) & S_IFMT) == S_IFCHR)
#endif
#if !defined(S_ISBLK)
# define S_ISBLK(mode) (((mode) & S_IFMT) == S_IFBLK)
#endif
/* Return the exact length of d_namlen without zero terminator */
#define _D_EXACT_NAMLEN(p) ((p)->d_namlen)
/* Return number of bytes needed to store d_namlen */
#define _D_ALLOC_NAMLEN(p) (PATH_MAX)
#ifdef __cplusplus
extern "C" {
#endif
/* Wide-character version */
struct _wdirent {
/* Always zero */
long d_ino;
/* Structure size */
unsigned short d_reclen;
/* Length of name without \0 */
size_t d_namlen;
/* File type */
int d_type;
/* File name */
wchar_t d_name[PATH_MAX];
};
typedef struct _wdirent _wdirent;
struct _WDIR {
/* Current directory entry */
struct _wdirent ent;
/* Private file data */
WIN32_FIND_DATAW data;
/* True if data is valid */
int cached;
/* Win32 search handle */
HANDLE handle;
/* Initial directory name */
wchar_t *patt;
};
typedef struct _WDIR _WDIR;
static _WDIR *_wopendir(const wchar_t *dirname);
static struct _wdirent *_wreaddir(_WDIR *dirp);
static int _wclosedir(_WDIR *dirp);
static void _wrewinddir(_WDIR* dirp);
/* For compatibility with Symbian */
#define wdirent _wdirent
#define WDIR _WDIR
#define wopendir _wopendir
#define wreaddir _wreaddir
#define wclosedir _wclosedir
#define wrewinddir _wrewinddir
/* Multi-byte character versions */
struct dirent {
/* Always zero */
long d_ino;
/* Structure size */
unsigned short d_reclen;
/* Length of name without \0 */
size_t d_namlen;
/* File type */
int d_type;
/* File name */
char d_name[PATH_MAX];
};
typedef struct dirent dirent;
struct DIR {
struct dirent ent;
struct _WDIR *wdirp;
};
typedef struct DIR DIR;
static DIR *opendir(const char *dirname);
static struct dirent *readdir(DIR *dirp);
static int closedir(DIR *dirp);
static void rewinddir(DIR* dirp);
/* Internal utility functions */
static WIN32_FIND_DATAW *dirent_first(_WDIR *dirp);
static WIN32_FIND_DATAW *dirent_next(_WDIR *dirp);
static int dirent_mbstowcs_s(
size_t *pReturnValue,
wchar_t *wcstr,
size_t sizeInWords,
const char *mbstr,
size_t count);
static int dirent_wcstombs_s(
size_t *pReturnValue,
char *mbstr,
size_t sizeInBytes,
const wchar_t *wcstr,
size_t count);
static void dirent_set_errno(int error);
/*
* Open directory stream DIRNAME for read and return a pointer to the
* internal working area that is used to retrieve individual directory
* entries.
*/
static _WDIR*
_wopendir(
const wchar_t *dirname)
{
_WDIR *dirp = NULL;
int error;
/* Must have directory name */
if (dirname == NULL || dirname[0] == '\0') {
dirent_set_errno(ENOENT);
return NULL;
}
/* Allocate new _WDIR structure */
dirp = (_WDIR*)malloc(sizeof(struct _WDIR));
if (dirp != NULL) {
DWORD n;
/* Reset _WDIR structure */
dirp->handle = INVALID_HANDLE_VALUE;
dirp->patt = NULL;
dirp->cached = 0;
/* Compute the length of full path plus zero terminator
*
* Note that on WinRT there's no way to convert relative paths
* into absolute paths, so just assume its an absolute path.
*/
# if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
n = wcslen(dirname);
# else
n = GetFullPathNameW(dirname, 0, NULL, NULL);
# endif
/* Allocate room for absolute directory name and search pattern */
dirp->patt = (wchar_t*)malloc(sizeof(wchar_t) * n + 16);
if (dirp->patt) {
/*
* Convert relative directory name to an absolute one. This
* allows rewinddir() to function correctly even when current
* working directory is changed between opendir() and rewinddir().
*
* Note that on WinRT there's no way to convert relative paths
* into absolute paths, so just assume its an absolute path.
*/
# if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
wcsncpy_s(dirp->patt, n + 1, dirname, n);
# else
n = GetFullPathNameW(dirname, n, dirp->patt, NULL);
# endif
if (n > 0) {
wchar_t *p;
/* Append search pattern \* to the directory name */
p = dirp->patt + n;
if (dirp->patt < p) {
switch (p[-1]) {
case '\\':
case '/':
case ':':
/* Directory ends in path separator, e.g. c:\temp\ */
/*NOP*/;
break;
default:
/* Directory name doesn't end in path separator */
*p++ = '\\';
}
}
*p++ = '*';
*p = '\0';
/* Open directory stream and retrieve the first entry */
if (dirent_first(dirp)) {
/* Directory stream opened successfully */
error = 0;
}
else {
/* Cannot retrieve first entry */
error = 1;
dirent_set_errno(ENOENT);
}
}
else {
/* Cannot retrieve full path name */
dirent_set_errno(ENOENT);
error = 1;
}
}
else {
/* Cannot allocate memory for search pattern */
error = 1;
}
}
else {
/* Cannot allocate _WDIR structure */
error = 1;
}
/* Clean up in case of error */
if (error && dirp) {
_wclosedir(dirp);
dirp = NULL;
}
return dirp;
}
/*
* Read next directory entry. The directory entry is returned in dirent
* structure in the d_name field. Individual directory entries returned by
* this function include regular files, sub-directories, pseudo-directories
* "." and ".." as well as volume labels, hidden files and system files.
*/
static struct _wdirent*
_wreaddir(
_WDIR *dirp)
{
WIN32_FIND_DATAW *datap;
struct _wdirent *entp;
/* Read next directory entry */
datap = dirent_next(dirp);
if (datap) {
size_t n;
DWORD attr;
/* Pointer to directory entry to return */
entp = &dirp->ent;
/*
* Copy file name as wide-character string. If the file name is too
* long to fit in to the destination buffer, then truncate file name
* to PATH_MAX characters and zero-terminate the buffer.
*/
n = 0;
while (n + 1 < PATH_MAX && datap->cFileName[n] != 0) {
entp->d_name[n] = datap->cFileName[n];
n++;
}
dirp->ent.d_name[n] = 0;
/* Length of file name excluding zero terminator */
entp->d_namlen = n;
/* File type */
attr = datap->dwFileAttributes;
if ((attr & FILE_ATTRIBUTE_DEVICE) != 0) {
entp->d_type = DT_CHR;
}
else if ((attr & FILE_ATTRIBUTE_DIRECTORY) != 0) {
entp->d_type = DT_DIR;
}
else {
entp->d_type = DT_REG;
}
/* Reset dummy fields */
entp->d_ino = 0;
entp->d_reclen = sizeof(struct _wdirent);
}
else {
/* Last directory entry read */
entp = NULL;
}
return entp;
}
/*
* Close directory stream opened by opendir() function. This invalidates the
* DIR structure as well as any directory entry read previously by
* _wreaddir().
*/
static int
_wclosedir(
_WDIR *dirp)
{
int ok;
if (dirp) {
/* Release search handle */
if (dirp->handle != INVALID_HANDLE_VALUE) {
FindClose(dirp->handle);
dirp->handle = INVALID_HANDLE_VALUE;
}
/* Release search pattern */
if (dirp->patt) {
free(dirp->patt);
dirp->patt = NULL;
}
/* Release directory structure */
free(dirp);
ok = /*success*/0;
}
else {
/* Invalid directory stream */
dirent_set_errno(EBADF);
ok = /*failure*/-1;
}
return ok;
}
/*
* Rewind directory stream such that _wreaddir() returns the very first
* file name again.
*/
static void
_wrewinddir(
_WDIR* dirp)
{
if (dirp) {
/* Release existing search handle */
if (dirp->handle != INVALID_HANDLE_VALUE) {
FindClose(dirp->handle);
}
/* Open new search handle */
dirent_first(dirp);
}
}
/* Get first directory entry (internal) */
static WIN32_FIND_DATAW*
dirent_first(
_WDIR *dirp)
{
WIN32_FIND_DATAW *datap;
/* Open directory and retrieve the first entry */
dirp->handle = FindFirstFileExW(
dirp->patt, FindExInfoStandard, &dirp->data,
FindExSearchNameMatch, NULL, 0);
if (dirp->handle != INVALID_HANDLE_VALUE) {
/* a directory entry is now waiting in memory */
datap = &dirp->data;
dirp->cached = 1;
}
else {
/* Failed to re-open directory: no directory entry in memory */
dirp->cached = 0;
datap = NULL;
}
return datap;
}
/* Get next directory entry (internal) */
static WIN32_FIND_DATAW*
dirent_next(
_WDIR *dirp)
{
WIN32_FIND_DATAW *p;
/* Get next directory entry */
if (dirp->cached != 0) {
/* A valid directory entry already in memory */
p = &dirp->data;
dirp->cached = 0;
}
else if (dirp->handle != INVALID_HANDLE_VALUE) {
/* Get the next directory entry from stream */
if (FindNextFileW(dirp->handle, &dirp->data) != FALSE) {
/* Got a file */
p = &dirp->data;
}
else {
/* The very last entry has been processed or an error occured */
FindClose(dirp->handle);
dirp->handle = INVALID_HANDLE_VALUE;
p = NULL;
}
}
else {
/* End of directory stream reached */
p = NULL;
}
return p;
}
/*
* Open directory stream using plain old C-string.
*/
static DIR*
opendir(
const char *dirname)
{
struct DIR *dirp;
int error;
/* Must have directory name */
if (dirname == NULL || dirname[0] == '\0') {
dirent_set_errno(ENOENT);
return NULL;
}
/* Allocate memory for DIR structure */
dirp = (DIR*)malloc(sizeof(struct DIR));
if (dirp) {
wchar_t wname[PATH_MAX];
size_t n;
/* Convert directory name to wide-character string */
error = dirent_mbstowcs_s(&n, wname, PATH_MAX, dirname, PATH_MAX);
if (!error) {
/* Open directory stream using wide-character name */
dirp->wdirp = _wopendir(wname);
if (dirp->wdirp) {
/* Directory stream opened */
error = 0;
}
else {
/* Failed to open directory stream */
error = 1;
}
}
else {
/*
* Cannot convert file name to wide-character string. This
* occurs if the string contains invalid multi-byte sequences or
* the output buffer is too small to contain the resulting
* string.
*/
error = 1;
}
}
else {
/* Cannot allocate DIR structure */
error = 1;
}
/* Clean up in case of error */
if (error && dirp) {
free(dirp);
dirp = NULL;
}
return dirp;
}
/*
* Read next directory entry.
*
* When working with text consoles, please note that file names returned by
* readdir() are represented in the default ANSI code page while any output to
* console is typically formatted on another code page. Thus, non-ASCII
* characters in file names will not usually display correctly on console. The
* problem can be fixed in two ways: (1) change the character set of console
* to 1252 using chcp utility and use Lucida Console font, or (2) use
* _cprintf function when writing to console. The _cprinf() will re-encode
* ANSI strings to the console code page so many non-ASCII characters will
* display correcly.
*/
static struct dirent*
readdir(
DIR *dirp)
{
WIN32_FIND_DATAW *datap;
struct dirent *entp;
/* Read next directory entry */
datap = dirent_next(dirp->wdirp);
if (datap) {
size_t n;
int error;
/* Attempt to convert file name to multi-byte string */
error = dirent_wcstombs_s(
&n, dirp->ent.d_name, PATH_MAX, datap->cFileName, PATH_MAX);
/*
* If the file name cannot be represented by a multi-byte string,
* then attempt to use old 8+3 file name. This allows traditional
* Unix-code to access some file names despite of unicode
* characters, although file names may seem unfamiliar to the user.
*
* Be ware that the code below cannot come up with a short file
* name unless the file system provides one. At least
* VirtualBox shared folders fail to do this.
*/
if (error && datap->cAlternateFileName[0] != '\0') {
error = dirent_wcstombs_s(
&n, dirp->ent.d_name, PATH_MAX,
datap->cAlternateFileName, PATH_MAX);
}
if (!error) {
DWORD attr;
/* Initialize directory entry for return */
entp = &dirp->ent;
/* Length of file name excluding zero terminator */
entp->d_namlen = n - 1;
/* File attributes */
attr = datap->dwFileAttributes;
if ((attr & FILE_ATTRIBUTE_DEVICE) != 0) {
entp->d_type = DT_CHR;
}
else if ((attr & FILE_ATTRIBUTE_DIRECTORY) != 0) {
entp->d_type = DT_DIR;
}
else {
entp->d_type = DT_REG;
}
/* Reset dummy fields */
entp->d_ino = 0;
entp->d_reclen = sizeof(struct dirent);
}
else {
/*
* Cannot convert file name to multi-byte string so construct
* an errornous directory entry and return that. Note that
* we cannot return NULL as that would stop the processing
* of directory entries completely.
*/
entp = &dirp->ent;
entp->d_name[0] = '?';
entp->d_name[1] = '\0';
entp->d_namlen = 1;
entp->d_type = DT_UNKNOWN;
entp->d_ino = 0;
entp->d_reclen = 0;
}
}
else {
/* No more directory entries */
entp = NULL;
}
return entp;
}
/*
* Close directory stream.
*/
static int
closedir(
DIR *dirp)
{
int ok;
if (dirp) {
/* Close wide-character directory stream */
ok = _wclosedir(dirp->wdirp);
dirp->wdirp = NULL;
/* Release multi-byte character version */
free(dirp);
}
else {
/* Invalid directory stream */
dirent_set_errno(EBADF);
ok = /*failure*/-1;
}
return ok;
}
/*
* Rewind directory stream to beginning.
*/
static void
rewinddir(
DIR* dirp)
{
/* Rewind wide-character string directory stream */
_wrewinddir(dirp->wdirp);
}
/* Convert multi-byte string to wide character string */
static int
dirent_mbstowcs_s(
size_t *pReturnValue,
wchar_t *wcstr,
size_t sizeInWords,
const char *mbstr,
size_t count)
{
int error;
#if defined(_MSC_VER) && _MSC_VER >= 1400
/* Microsoft Visual Studio 2005 or later */
error = mbstowcs_s(pReturnValue, wcstr, sizeInWords, mbstr, count);
#else
/* Older Visual Studio or non-Microsoft compiler */
size_t n;
/* Convert to wide-character string (or count characters) */
n = mbstowcs(wcstr, mbstr, sizeInWords);
if (!wcstr || n < count) {
/* Zero-terminate output buffer */
if (wcstr && sizeInWords) {
if (n >= sizeInWords) {
n = sizeInWords - 1;
}
wcstr[n] = 0;
}
/* Length of resuting multi-byte string WITH zero terminator */
if (pReturnValue) {
*pReturnValue = n + 1;
}
/* Success */
error = 0;
}
else {
/* Could not convert string */
error = 1;
}
#endif
return error;
}
/* Convert wide-character string to multi-byte string */
static int
dirent_wcstombs_s(
size_t *pReturnValue,
char *mbstr,
size_t sizeInBytes, /* max size of mbstr */
const wchar_t *wcstr,
size_t count)
{
int error;
#if defined(_MSC_VER) && _MSC_VER >= 1400
/* Microsoft Visual Studio 2005 or later */
error = wcstombs_s(pReturnValue, mbstr, sizeInBytes, wcstr, count);
#else
/* Older Visual Studio or non-Microsoft compiler */
size_t n;
/* Convert to multi-byte string (or count the number of bytes needed) */
n = wcstombs(mbstr, wcstr, sizeInBytes);
if (!mbstr || n < count) {
/* Zero-terminate output buffer */
if (mbstr && sizeInBytes) {
if (n >= sizeInBytes) {
n = sizeInBytes - 1;
}
mbstr[n] = '\0';
}
/* Length of resulting multi-bytes string WITH zero-terminator */
if (pReturnValue) {
*pReturnValue = n + 1;
}
/* Success */
error = 0;
}
else {
/* Cannot convert string */
error = 1;
}
#endif
return error;
}
/* Set errno variable */
static void
dirent_set_errno(
int error)
{
#if defined(_MSC_VER) && _MSC_VER >= 1400
/* Microsoft Visual Studio 2005 and later */
_set_errno(error);
#else
/* Non-Microsoft compiler or older Microsoft compiler */
errno = error;
#endif
}
#ifdef __cplusplus
}
#endif
#endif /*DIRENT_H*/

View File

@ -1,297 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Pro|Win32">
<Configuration>Debug Pro</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug Pro|x64">
<Configuration>Debug Pro</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Pro|Win32">
<Configuration>Release Pro</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Pro|x64">
<Configuration>Release Pro</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lapi.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lauxlib.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lbaselib.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lbitlib.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lcode.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lcorolib.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lctype.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\ldblib.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\ldebug.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\ldo.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\ldump.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lfunc.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lgc.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\linit.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\llex.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lmathlib.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lmem.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\loadlib.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lobject.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lopcodes.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\loslib.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lparser.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lpcap.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lpcode.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lpprint.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lptree.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lpvm.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lstate.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lstring.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lstrlib.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\ltable.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\ltablib.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\ltm.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lundump.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lutf8lib.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lvm.c" />
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lzio.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{57D2471B-3138-495E-AF18-6E290D098FFC}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>lua</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>LUA_COMPAT_5_2;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\..\..\include\lua;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>LUA_COMPAT_5_2;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\..\..\include\lua;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>LUA_COMPAT_5_2;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\..\..\include\lua;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>LUA_COMPAT_5_2;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\..\..\include\lua;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>LUA_COMPAT_5_2;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\..\..\include\lua;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>LUA_COMPAT_5_2;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\..\..\include\lua;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>LUA_COMPAT_5_2;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\..\..\include\lua;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>LUA_COMPAT_5_2;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\..\..\include\lua;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,127 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="lua">
<UniqueIdentifier>{11fdcc17-fcff-49b3-a02a-4944ad26ce17}</UniqueIdentifier>
</Filter>
<Filter Include="lua\lib">
<UniqueIdentifier>{5da24537-1b54-450f-a97d-dd0e4d1b62a8}</UniqueIdentifier>
</Filter>
<Filter Include="lpeg">
<UniqueIdentifier>{b8388de1-c7fc-49ff-8421-8685878cb398}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lpcap.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lpprint.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lptree.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lpvm.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lauxlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lbaselib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lapi.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lcode.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lctype.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\ldblib.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\ldebug.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\ldo.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\ldump.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lfunc.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lgc.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\linit.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\llex.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lmem.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\loadlib.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lobject.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lopcodes.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\loslib.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lparser.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lstate.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lstring.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\ltable.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\ltm.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lundump.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lvm.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lzio.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\ltablib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lstrlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lmathlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lcorolib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lbitlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lutf8lib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\lua-5.3.1\src\lpcode.c">
<Filter>lpeg</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

View File

@ -1,157 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\externals\glew\glew.c" />
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\externals\stb_image\stb_image.c" />
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\externals\stb_image_write\stb_image_write.c" />
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_GLES_1.c" />
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_GLES_2.c" />
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_GLES_3.c" />
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_OpenGL_1.c" />
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_OpenGL_1_BASE.c" />
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_OpenGL_2.c" />
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_OpenGL_3.c" />
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_OpenGL_4.c" />
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\SDL_gpu.c" />
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\SDL_gpu_matrix.c" />
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\SDL_gpu_renderer.c" />
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\SDL_gpu_shapes.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{D0B6AE7F-601B-43F4-AFD3-C40136232595}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>sdlgpu</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>GLEW_STATIC;SDL_GPU_DISABLE_GLES;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\sdl-gpu\include;..\..\..\3rd-party\sdl-gpu\src;..\..\..\3rd-party\sdl-gpu\src\externals\glew;..\..\..\3rd-party\sdl-gpu\src\externals\glew\GL;..\..\..\3rd-party\sdl-gpu\src\externals\stb_image;..\..\..\3rd-party\sdl-gpu\src\externals\stb_image_write</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>GLEW_STATIC;SDL_GPU_DISABLE_GLES;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\sdl-gpu\include;..\..\..\3rd-party\sdl-gpu\src;..\..\..\3rd-party\sdl-gpu\src\externals\glew;..\..\..\3rd-party\sdl-gpu\src\externals\glew\GL;..\..\..\3rd-party\sdl-gpu\src\externals\stb_image;..\..\..\3rd-party\sdl-gpu\src\externals\stb_image_write</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WINDOWS;GLEW_STATIC;SDL_GPU_DISABLE_GLES;STBI_FAILURE_USERMSG;SDL_GPU_USE_BUFFER_RESET;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\sdl-gpu\include;..\..\..\3rd-party\sdl-gpu\src;..\..\..\3rd-party\sdl-gpu\src\externals\glew;..\..\..\3rd-party\sdl-gpu\src\externals\glew\GL;..\..\..\3rd-party\sdl-gpu\src\externals\stb_image;..\..\..\3rd-party\sdl-gpu\src\externals\stb_image_write</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WINDOWS;GLEW_STATIC;SDL_GPU_DISABLE_GLES;STBI_FAILURE_USERMSG;SDL_GPU_USE_BUFFER_RESET;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\sdl-gpu\include;..\..\..\3rd-party\sdl-gpu\src;..\..\..\3rd-party\sdl-gpu\src\externals\glew;..\..\..\3rd-party\sdl-gpu\src\externals\glew\GL;..\..\..\3rd-party\sdl-gpu\src\externals\stb_image;..\..\..\3rd-party\sdl-gpu\src\externals\stb_image_write</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,55 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{5d881051-9638-476c-95f1-3279cce1274e}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_GLES_1.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_GLES_2.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_GLES_3.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_OpenGL_1.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_OpenGL_1_BASE.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_OpenGL_2.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_OpenGL_3.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\renderer_OpenGL_4.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\SDL_gpu.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\SDL_gpu_matrix.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\SDL_gpu_renderer.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\SDL_gpu_shapes.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\externals\stb_image_write\stb_image_write.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\externals\stb_image\stb_image.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\sdl-gpu\src\externals\glew\glew.c">
<Filter>src</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,325 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Pro|Win32">
<Configuration>Debug Pro</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug Pro|x64">
<Configuration>Debug Pro</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Pro|Win32">
<Configuration>Release Pro</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Pro|x64">
<Configuration>Release Pro</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>studio</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;STUDIO_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.11;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\wren-0.1.0\src\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>TIC80_PRO;WIN32;_DEBUG;_WINDOWS;_USRDLL;STUDIO_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.11;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\wren-0.1.0\src\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;_WINDOWS;_USRDLL;STUDIO_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.11;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\wren-0.1.0\src\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>TIC80_PRO;_DEBUG;_WINDOWS;_USRDLL;STUDIO_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.11;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\wren-0.1.0\src\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;STUDIO_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.11;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\wren-0.1.0\src\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>TIC80_PRO;WIN32;NDEBUG;_WINDOWS;_USRDLL;STUDIO_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.11;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\wren-0.1.0\src\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;STUDIO_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.11;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\wren-0.1.0\src\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>TIC80_PRO;NDEBUG;_WINDOWS;_USRDLL;STUDIO_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.11;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\wren-0.1.0\src\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\code.c" />
<ClCompile Include="..\..\..\src\config.c" />
<ClCompile Include="..\..\..\src\console.c" />
<ClCompile Include="..\..\..\src\dialog.c" />
<ClCompile Include="..\..\..\src\ext\gif.c" />
<ClCompile Include="..\..\..\src\ext\md5.c" />
<ClCompile Include="..\..\..\src\fs.c" />
<ClCompile Include="..\..\..\src\history.c" />
<ClCompile Include="..\..\..\src\html.c" />
<ClCompile Include="..\..\..\src\map.c" />
<ClCompile Include="..\..\..\src\menu.c" />
<ClCompile Include="..\..\..\src\music.c" />
<ClCompile Include="..\..\..\src\run.c" />
<ClCompile Include="..\..\..\src\sfx.c" />
<ClCompile Include="..\..\..\src\sprite.c" />
<ClCompile Include="..\..\..\src\start.c" />
<ClCompile Include="..\..\..\src\studio.c" />
<ClCompile Include="..\..\..\src\surf.c" />
<ClCompile Include="..\..\..\src\tools.c" />
<ClCompile Include="..\..\..\src\world.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\gif\gif.vcxproj">
<Project>{6ea9d998-7557-4aed-abfc-142f9960c9b6}</Project>
</ProjectReference>
<ProjectReference Include="..\lua\lua.vcxproj">
<Project>{57d2471b-3138-495e-af18-6e290d098ffc}</Project>
</ProjectReference>
<ProjectReference Include="..\tic80\tic80.vcxproj">
<Project>{c4d8bc10-ebf6-42bb-9b5d-6712fb428a50}</Project>
</ProjectReference>
<ProjectReference Include="..\zlib\zlib.vcxproj">
<Project>{1dfbdfa2-f204-42ff-b99e-250e4b2eba04}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,73 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{6c183603-0dc2-4093-91e5-1aba3b2b5d08}</UniqueIdentifier>
</Filter>
<Filter Include="src\ext">
<UniqueIdentifier>{1410c434-08eb-4b70-a278-14955c0ecb28}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\code.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\config.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\console.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\dialog.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\fs.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\history.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\html.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\map.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\menu.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\music.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\run.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\sfx.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\sprite.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\start.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\studio.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\surf.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\tools.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\world.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ext\md5.c">
<Filter>src\ext</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ext\gif.c">
<Filter>src\ext</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,160 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{95A32262-B41A-4123-BD54-B26ED158CB29}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>test</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include\gif;..\..\..\include\tic80;..\..\..\src;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include\gif;..\..\..\include\tic80;..\..\..\src;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include\gif;..\..\..\include\tic80;..\..\..\src;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include\gif;..\..\..\include\tic80;..\..\..\src;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\ext\gif.c" />
<ClCompile Include="..\..\..\tests\test_gif.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\gif\gif.vcxproj">
<Project>{6ea9d998-7557-4aed-abfc-142f9960c9b6}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="..\..\..\tests\test_gif.c" />
<ClCompile Include="..\..\..\src\ext\gif.c" />
</ItemGroup>
</Project>

View File

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\..\..\tests</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\..\..\tests</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\..\..\tests</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LocalDebuggerWorkingDirectory>$(ProjectDir)..\..\..\tests</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,321 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27428.2043
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tic", "tic.vcxproj", "{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}"
ProjectSection(ProjectDependencies) = postProject
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122} = {D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lua", "..\lua\lua.vcxproj", "{57D2471B-3138-495E-AF18-6E290D098FFC}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\zlib\zlib.vcxproj", "{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gif", "..\gif\gif.vcxproj", "{6EA9D998-7557-4AED-ABFC-142F9960C9B6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tic80", "..\tic80\tic80.vcxproj", "{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}"
ProjectSection(ProjectDependencies) = postProject
{0DB18A2F-37C4-4CAD-8324-C449707EF93B} = {0DB18A2F-37C4-4CAD-8324-C449707EF93B}
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122} = {D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}
{634F4D99-B265-45D1-852A-01AAA166C54B} = {634F4D99-B265-45D1-852A-01AAA166C54B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example", "..\example\example.vcxproj", "{86CAA9C1-C61A-40D8-AC77-33D94754C824}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2", "..\..\..\3rd-party\SDL2-2.0.7\VisualC\SDL\SDL.vcxproj", "{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2main", "..\..\..\3rd-party\SDL2-2.0.7\VisualC\SDLmain\SDLmain.vcxproj", "{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wren_lib", "..\wren\wren_lib.vcxproj", "{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "studio", "..\studio\studio.vcxproj", "{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sdl-gpu", "..\sdl-gpu\sdl-gpu.vcxproj", "{D0B6AE7F-601B-43F4-AFD3-C40136232595}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "squirrel", "..\..\..\3rd-party\squirrel3.1\squirrel\squirrel.vcxproj", "{634F4D99-B265-45D1-852A-01AAA166C54B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqstdlib", "..\..\..\3rd-party\squirrel3.1\sqstdlib\sqstdlib.vcxproj", "{0DB18A2F-37C4-4CAD-8324-C449707EF93B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug Pro|x64 = Debug Pro|x64
Debug Pro|x86 = Debug Pro|x86
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release Pro|x64 = Release Pro|x64
Release Pro|x86 = Release Pro|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
Template|x64 = Template|x64
Template|x86 = Template|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Debug Pro|x64.ActiveCfg = Debug Pro|x64
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Debug Pro|x64.Build.0 = Debug Pro|x64
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Debug Pro|x86.ActiveCfg = Debug Pro|Win32
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Debug Pro|x86.Build.0 = Debug Pro|Win32
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Debug|x64.ActiveCfg = Debug|x64
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Debug|x64.Build.0 = Debug|x64
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Debug|x86.ActiveCfg = Debug|Win32
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Debug|x86.Build.0 = Debug|Win32
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Release Pro|x64.ActiveCfg = Release Pro|x64
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Release Pro|x64.Build.0 = Release Pro|x64
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Release Pro|x86.ActiveCfg = Release Pro|Win32
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Release Pro|x86.Build.0 = Release Pro|Win32
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Release|x64.ActiveCfg = Release|x64
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Release|x64.Build.0 = Release|x64
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Release|x86.ActiveCfg = Release|Win32
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Release|x86.Build.0 = Release|Win32
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Template|x64.ActiveCfg = Release|x64
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Template|x64.Build.0 = Release|x64
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Template|x86.ActiveCfg = Release|Win32
{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}.Template|x86.Build.0 = Release|Win32
{57D2471B-3138-495E-AF18-6E290D098FFC}.Debug Pro|x64.ActiveCfg = Debug Pro|x64
{57D2471B-3138-495E-AF18-6E290D098FFC}.Debug Pro|x64.Build.0 = Debug Pro|x64
{57D2471B-3138-495E-AF18-6E290D098FFC}.Debug Pro|x86.ActiveCfg = Debug Pro|Win32
{57D2471B-3138-495E-AF18-6E290D098FFC}.Debug Pro|x86.Build.0 = Debug Pro|Win32
{57D2471B-3138-495E-AF18-6E290D098FFC}.Debug|x64.ActiveCfg = Debug|x64
{57D2471B-3138-495E-AF18-6E290D098FFC}.Debug|x64.Build.0 = Debug|x64
{57D2471B-3138-495E-AF18-6E290D098FFC}.Debug|x86.ActiveCfg = Debug|Win32
{57D2471B-3138-495E-AF18-6E290D098FFC}.Debug|x86.Build.0 = Debug|Win32
{57D2471B-3138-495E-AF18-6E290D098FFC}.Release Pro|x64.ActiveCfg = Release Pro|x64
{57D2471B-3138-495E-AF18-6E290D098FFC}.Release Pro|x64.Build.0 = Release Pro|x64
{57D2471B-3138-495E-AF18-6E290D098FFC}.Release Pro|x86.ActiveCfg = Release Pro|Win32
{57D2471B-3138-495E-AF18-6E290D098FFC}.Release Pro|x86.Build.0 = Release Pro|Win32
{57D2471B-3138-495E-AF18-6E290D098FFC}.Release|x64.ActiveCfg = Release|x64
{57D2471B-3138-495E-AF18-6E290D098FFC}.Release|x64.Build.0 = Release|x64
{57D2471B-3138-495E-AF18-6E290D098FFC}.Release|x86.ActiveCfg = Release|Win32
{57D2471B-3138-495E-AF18-6E290D098FFC}.Release|x86.Build.0 = Release|Win32
{57D2471B-3138-495E-AF18-6E290D098FFC}.Template|x64.ActiveCfg = Release|x64
{57D2471B-3138-495E-AF18-6E290D098FFC}.Template|x64.Build.0 = Release|x64
{57D2471B-3138-495E-AF18-6E290D098FFC}.Template|x86.ActiveCfg = Release|Win32
{57D2471B-3138-495E-AF18-6E290D098FFC}.Template|x86.Build.0 = Release|Win32
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Debug Pro|x64.ActiveCfg = Debug Pro|x64
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Debug Pro|x64.Build.0 = Debug Pro|x64
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Debug Pro|x86.ActiveCfg = Debug Pro|Win32
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Debug Pro|x86.Build.0 = Debug Pro|Win32
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Debug|x64.ActiveCfg = Debug|x64
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Debug|x64.Build.0 = Debug|x64
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Debug|x86.ActiveCfg = Debug|Win32
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Debug|x86.Build.0 = Debug|Win32
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Release Pro|x64.ActiveCfg = Release Pro|x64
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Release Pro|x64.Build.0 = Release Pro|x64
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Release Pro|x86.ActiveCfg = Release Pro|Win32
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Release Pro|x86.Build.0 = Release Pro|Win32
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Release|x64.ActiveCfg = Release|x64
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Release|x64.Build.0 = Release|x64
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Release|x86.ActiveCfg = Release|Win32
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Release|x86.Build.0 = Release|Win32
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Template|x64.ActiveCfg = Release|x64
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Template|x64.Build.0 = Release|x64
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Template|x86.ActiveCfg = Release|Win32
{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}.Template|x86.Build.0 = Release|Win32
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Debug Pro|x64.ActiveCfg = Debug Pro|x64
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Debug Pro|x64.Build.0 = Debug Pro|x64
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Debug Pro|x86.ActiveCfg = Debug Pro|Win32
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Debug Pro|x86.Build.0 = Debug Pro|Win32
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Debug|x64.ActiveCfg = Debug|x64
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Debug|x64.Build.0 = Debug|x64
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Debug|x86.ActiveCfg = Debug|Win32
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Debug|x86.Build.0 = Debug|Win32
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Release Pro|x64.ActiveCfg = Release Pro|x64
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Release Pro|x64.Build.0 = Release Pro|x64
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Release Pro|x86.ActiveCfg = Release Pro|Win32
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Release Pro|x86.Build.0 = Release Pro|Win32
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Release|x64.ActiveCfg = Release|x64
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Release|x64.Build.0 = Release|x64
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Release|x86.ActiveCfg = Release|Win32
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Release|x86.Build.0 = Release|Win32
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Template|x64.ActiveCfg = Release|x64
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Template|x64.Build.0 = Release|x64
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Template|x86.ActiveCfg = Release|Win32
{6EA9D998-7557-4AED-ABFC-142F9960C9B6}.Template|x86.Build.0 = Release|Win32
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Debug Pro|x64.ActiveCfg = Debug Pro|x64
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Debug Pro|x64.Build.0 = Debug Pro|x64
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Debug Pro|x86.ActiveCfg = Debug Pro|Win32
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Debug Pro|x86.Build.0 = Debug Pro|Win32
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Debug|x64.ActiveCfg = Debug|x64
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Debug|x64.Build.0 = Debug|x64
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Debug|x86.ActiveCfg = Debug|Win32
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Debug|x86.Build.0 = Debug|Win32
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Release Pro|x64.ActiveCfg = Release Pro|x64
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Release Pro|x64.Build.0 = Release Pro|x64
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Release Pro|x86.ActiveCfg = Release Pro|Win32
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Release Pro|x86.Build.0 = Release Pro|Win32
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Release|x64.ActiveCfg = Release|x64
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Release|x64.Build.0 = Release|x64
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Release|x86.ActiveCfg = Release|Win32
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Release|x86.Build.0 = Release|Win32
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Template|x64.ActiveCfg = Release|x64
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Template|x64.Build.0 = Release|x64
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Template|x86.ActiveCfg = Release|Win32
{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}.Template|x86.Build.0 = Release|Win32
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Debug Pro|x64.ActiveCfg = Debug Pro|x64
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Debug Pro|x64.Build.0 = Debug Pro|x64
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Debug Pro|x86.ActiveCfg = Debug Pro|Win32
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Debug Pro|x86.Build.0 = Debug Pro|Win32
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Debug|x64.ActiveCfg = Debug|x64
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Debug|x64.Build.0 = Debug|x64
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Debug|x86.ActiveCfg = Debug|Win32
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Debug|x86.Build.0 = Debug|Win32
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Release Pro|x64.ActiveCfg = Release Pro|x64
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Release Pro|x64.Build.0 = Release Pro|x64
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Release Pro|x86.ActiveCfg = Release Pro|Win32
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Release Pro|x86.Build.0 = Release Pro|Win32
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Release|x64.ActiveCfg = Release|x64
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Release|x64.Build.0 = Release|x64
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Release|x86.ActiveCfg = Release|Win32
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Release|x86.Build.0 = Release|Win32
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Template|x64.ActiveCfg = Release|x64
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Template|x64.Build.0 = Release|x64
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Template|x86.ActiveCfg = Release|Win32
{86CAA9C1-C61A-40D8-AC77-33D94754C824}.Template|x86.Build.0 = Release|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug Pro|x64.ActiveCfg = Debug|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug Pro|x64.Build.0 = Debug|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug Pro|x86.ActiveCfg = Debug|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug Pro|x86.Build.0 = Debug|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.ActiveCfg = Debug|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.Build.0 = Debug|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x86.ActiveCfg = Debug|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x86.Build.0 = Debug|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release Pro|x64.ActiveCfg = Release|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release Pro|x64.Build.0 = Release|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release Pro|x86.ActiveCfg = Release|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release Pro|x86.Build.0 = Release|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.ActiveCfg = Release|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.Build.0 = Release|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x86.ActiveCfg = Release|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x86.Build.0 = Release|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Template|x64.ActiveCfg = Release|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Template|x64.Build.0 = Release|x64
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Template|x86.ActiveCfg = Release|Win32
{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Template|x86.Build.0 = Release|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug Pro|x64.ActiveCfg = Debug|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug Pro|x64.Build.0 = Debug|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug Pro|x86.ActiveCfg = Debug|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug Pro|x86.Build.0 = Debug|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.ActiveCfg = Debug|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.Build.0 = Debug|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x86.ActiveCfg = Debug|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x86.Build.0 = Debug|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release Pro|x64.ActiveCfg = Release|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release Pro|x64.Build.0 = Release|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release Pro|x86.ActiveCfg = Release|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release Pro|x86.Build.0 = Release|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.ActiveCfg = Release|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.Build.0 = Release|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x86.ActiveCfg = Release|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x86.Build.0 = Release|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Template|x64.ActiveCfg = Release|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Template|x64.Build.0 = Release|x64
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Template|x86.ActiveCfg = Release|Win32
{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Template|x86.Build.0 = Release|Win32
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Debug Pro|x64.ActiveCfg = Debug|x64
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Debug Pro|x64.Build.0 = Debug|x64
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Debug Pro|x86.ActiveCfg = Debug|Win32
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Debug Pro|x86.Build.0 = Debug|Win32
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Debug|x64.ActiveCfg = Debug|x64
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Debug|x64.Build.0 = Debug|x64
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Debug|x86.ActiveCfg = Debug|Win32
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Debug|x86.Build.0 = Debug|Win32
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Release Pro|x64.ActiveCfg = Release|x64
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Release Pro|x64.Build.0 = Release|x64
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Release Pro|x86.ActiveCfg = Release|Win32
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Release Pro|x86.Build.0 = Release|Win32
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Release|x64.ActiveCfg = Release|x64
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Release|x64.Build.0 = Release|x64
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Release|x86.ActiveCfg = Release|Win32
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Release|x86.Build.0 = Release|Win32
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Template|x64.ActiveCfg = Release|x64
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Template|x64.Build.0 = Release|x64
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Template|x86.ActiveCfg = Release|Win32
{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}.Template|x86.Build.0 = Release|Win32
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Debug Pro|x64.ActiveCfg = Debug Pro|x64
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Debug Pro|x64.Build.0 = Debug Pro|x64
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Debug Pro|x86.ActiveCfg = Debug Pro|Win32
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Debug Pro|x86.Build.0 = Debug Pro|Win32
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Debug|x64.ActiveCfg = Debug|x64
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Debug|x64.Build.0 = Debug|x64
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Debug|x86.ActiveCfg = Debug|Win32
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Debug|x86.Build.0 = Debug|Win32
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Release Pro|x64.ActiveCfg = Release Pro|x64
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Release Pro|x64.Build.0 = Release Pro|x64
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Release Pro|x86.ActiveCfg = Release Pro|Win32
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Release Pro|x86.Build.0 = Release Pro|Win32
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Release|x64.ActiveCfg = Release|x64
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Release|x64.Build.0 = Release|x64
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Release|x86.ActiveCfg = Release|Win32
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Release|x86.Build.0 = Release|Win32
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Template|x64.ActiveCfg = Release|x64
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Template|x64.Build.0 = Release|x64
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Template|x86.ActiveCfg = Release|Win32
{6181F6A6-AA1B-4CD2-B306-E242CFDE9B20}.Template|x86.Build.0 = Release|Win32
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Debug Pro|x64.ActiveCfg = Debug|x64
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Debug Pro|x64.Build.0 = Debug|x64
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Debug Pro|x86.ActiveCfg = Debug|Win32
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Debug Pro|x86.Build.0 = Debug|Win32
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Debug|x64.ActiveCfg = Debug|x64
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Debug|x64.Build.0 = Debug|x64
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Debug|x86.ActiveCfg = Debug|Win32
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Debug|x86.Build.0 = Debug|Win32
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Release Pro|x64.ActiveCfg = Release|x64
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Release Pro|x64.Build.0 = Release|x64
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Release Pro|x86.ActiveCfg = Release|Win32
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Release Pro|x86.Build.0 = Release|Win32
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Release|x64.ActiveCfg = Release|x64
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Release|x64.Build.0 = Release|x64
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Release|x86.ActiveCfg = Release|Win32
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Release|x86.Build.0 = Release|Win32
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Template|x64.ActiveCfg = Release|x64
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Template|x64.Build.0 = Release|x64
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Template|x86.ActiveCfg = Release|Win32
{D0B6AE7F-601B-43F4-AFD3-C40136232595}.Template|x86.Build.0 = Release|Win32
{634F4D99-B265-45D1-852A-01AAA166C54B}.Debug Pro|x64.ActiveCfg = Debug|x64
{634F4D99-B265-45D1-852A-01AAA166C54B}.Debug Pro|x64.Build.0 = Debug|x64
{634F4D99-B265-45D1-852A-01AAA166C54B}.Debug Pro|x86.ActiveCfg = Debug|Win32
{634F4D99-B265-45D1-852A-01AAA166C54B}.Debug Pro|x86.Build.0 = Debug|Win32
{634F4D99-B265-45D1-852A-01AAA166C54B}.Debug|x64.ActiveCfg = Debug|x64
{634F4D99-B265-45D1-852A-01AAA166C54B}.Debug|x64.Build.0 = Debug|x64
{634F4D99-B265-45D1-852A-01AAA166C54B}.Debug|x86.ActiveCfg = Debug|Win32
{634F4D99-B265-45D1-852A-01AAA166C54B}.Debug|x86.Build.0 = Debug|Win32
{634F4D99-B265-45D1-852A-01AAA166C54B}.Release Pro|x64.ActiveCfg = Release|x64
{634F4D99-B265-45D1-852A-01AAA166C54B}.Release Pro|x64.Build.0 = Release|x64
{634F4D99-B265-45D1-852A-01AAA166C54B}.Release Pro|x86.ActiveCfg = Release|Win32
{634F4D99-B265-45D1-852A-01AAA166C54B}.Release Pro|x86.Build.0 = Release|Win32
{634F4D99-B265-45D1-852A-01AAA166C54B}.Release|x64.ActiveCfg = Release|x64
{634F4D99-B265-45D1-852A-01AAA166C54B}.Release|x64.Build.0 = Release|x64
{634F4D99-B265-45D1-852A-01AAA166C54B}.Release|x86.ActiveCfg = Release|Win32
{634F4D99-B265-45D1-852A-01AAA166C54B}.Release|x86.Build.0 = Release|Win32
{634F4D99-B265-45D1-852A-01AAA166C54B}.Template|x64.ActiveCfg = Template|x64
{634F4D99-B265-45D1-852A-01AAA166C54B}.Template|x64.Build.0 = Template|x64
{634F4D99-B265-45D1-852A-01AAA166C54B}.Template|x86.ActiveCfg = Template|Win32
{634F4D99-B265-45D1-852A-01AAA166C54B}.Template|x86.Build.0 = Template|Win32
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Debug Pro|x64.ActiveCfg = Debug|x64
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Debug Pro|x64.Build.0 = Debug|x64
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Debug Pro|x86.ActiveCfg = Debug|Win32
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Debug Pro|x86.Build.0 = Debug|Win32
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Debug|x64.ActiveCfg = Debug|x64
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Debug|x64.Build.0 = Debug|x64
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Debug|x86.ActiveCfg = Debug|Win32
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Debug|x86.Build.0 = Debug|Win32
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Release Pro|x64.ActiveCfg = Release|x64
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Release Pro|x64.Build.0 = Release|x64
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Release Pro|x86.ActiveCfg = Release|Win32
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Release Pro|x86.Build.0 = Release|Win32
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Release|x64.ActiveCfg = Release|x64
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Release|x64.Build.0 = Release|x64
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Release|x86.ActiveCfg = Release|Win32
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Release|x86.Build.0 = Release|Win32
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Template|x64.ActiveCfg = Template|x64
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Template|x64.Build.0 = Template|x64
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Template|x86.ActiveCfg = Template|Win32
{0DB18A2F-37C4-4CAD-8324-C449707EF93B}.Template|x86.Build.0 = Template|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {00596857-9AA6-41D1-915F-305DA18C13AE}
EndGlobalSection
EndGlobal

View File

@ -1,337 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Pro|Win32">
<Configuration>Debug Pro</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug Pro|x64">
<Configuration>Debug Pro</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Pro|Win32">
<Configuration>Release Pro</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Pro|x64">
<Configuration>Release Pro</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\3rd-party\SDL2-2.0.7\VisualC\SDLmain\SDLmain.vcxproj">
<Project>{da956fd3-e142-46f2-9dd5-c78bebb56b7a}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\3rd-party\SDL2-2.0.7\VisualC\SDL\SDL.vcxproj">
<Project>{81ce8daf-ebb2-4761-8e45-b71abcca8c68}</Project>
</ProjectReference>
<ProjectReference Include="..\sdl-gpu\sdl-gpu.vcxproj">
<Project>{d0b6ae7f-601b-43f4-afd3-c40136232595}</Project>
</ProjectReference>
<ProjectReference Include="..\studio\studio.vcxproj">
<Project>{6181f6a6-aa1b-4cd2-b306-e242cfde9b20}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\3rd-party\SDL2_net-2.0.1\SDLnet.c" />
<ClCompile Include="..\..\..\3rd-party\SDL2_net-2.0.1\SDLnetselect.c" />
<ClCompile Include="..\..\..\3rd-party\SDL2_net-2.0.1\SDLnetTCP.c" />
<ClCompile Include="..\..\..\src\ext\file_dialog.c" />
<ClCompile Include="..\..\..\src\net.c" />
<ClCompile Include="..\..\..\src\system.c" />
<ClCompile Include="..\..\..\src\tools.c" />
</ItemGroup>
<ItemGroup>
<Image Include="icon.ico" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="tic.rc" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>tic</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;LUA_COMPAT_5_2;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.8;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\SDL2_net-2.0.1;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\sdl-gpu\include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>opengl32.lib;ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
<OutputFile>$(OutDir)tic80$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>TIC80_PRO;_CRT_SECURE_NO_WARNINGS;LUA_COMPAT_5_2;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.8;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\SDL2_net-2.0.1;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\sdl-gpu\include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>opengl32.lib;ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
<OutputFile>$(OutDir)tic80$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;LUA_COMPAT_5_2;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.8;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\SDL2_net-2.0.1;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\sdl-gpu\include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>opengl32.lib;ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
<OutputFile>$(OutDir)tic80$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>TIC80_PRO;_CRT_SECURE_NO_WARNINGS;LUA_COMPAT_5_2;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.8;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\SDL2_net-2.0.1;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\sdl-gpu\include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>opengl32.lib;ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
<OutputFile>$(OutDir)tic80$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;LUA_COMPAT_5_2;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.8;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\SDL2_net-2.0.1;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\sdl-gpu\include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>opengl32.lib;ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
<OutputFile>$(OutDir)tic80$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>TIC80_PRO;_CRT_SECURE_NO_WARNINGS;LUA_COMPAT_5_2;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.8;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\SDL2_net-2.0.1;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\sdl-gpu\include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>opengl32.lib;ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
<OutputFile>$(OutDir)tic80$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;LUA_COMPAT_5_2;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.8;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\SDL2_net-2.0.1;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\sdl-gpu\include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>opengl32.lib;ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
<OutputFile>$(OutDir)tic80$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>TIC80_PRO;_CRT_SECURE_NO_WARNINGS;LUA_COMPAT_5_2;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\include;..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\zlib-1.2.8;..\..\..\3rd-party\SDL2-2.0.7\include;..\..\..\3rd-party\SDL2_net-2.0.1;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\sdl-gpu\include</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>opengl32.lib;ws2_32.lib;version.lib;Imm32.lib;Winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\..\..\lib\windows</AdditionalLibraryDirectories>
<OutputFile>$(OutDir)tic80$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,55 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{436dab0f-c17d-462f-b047-65aa6d78eb2b}</UniqueIdentifier>
</Filter>
<Filter Include="src\ext">
<UniqueIdentifier>{fecb4f20-6be7-4359-883b-2077e848b9bd}</UniqueIdentifier>
</Filter>
<Filter Include="res">
<UniqueIdentifier>{46d82260-aea1-4432-943d-1e08f7b18dff}</UniqueIdentifier>
</Filter>
<Filter Include="src\ext\net">
<UniqueIdentifier>{ed36332d-c4fd-4679-9bd4-b78db66e3e9c}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\3rd-party\SDL2_net-2.0.1\SDLnet.c">
<Filter>src\ext\net</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\SDL2_net-2.0.1\SDLnetselect.c">
<Filter>src\ext\net</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\SDL2_net-2.0.1\SDLnetTCP.c">
<Filter>src\ext\net</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\net.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ext\file_dialog.c">
<Filter>src\ext</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\system.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\tools.c">
<Filter>src</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Image Include="icon.ico">
<Filter>res</Filter>
</Image>
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h">
<Filter>res</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="tic.rc">
<Filter>res</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'">
<LocalDebuggerCommand>$(OutDir)tic80$(TargetExt)</LocalDebuggerCommand>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'">
<LocalDebuggerCommand>$(OutDir)tic80$(TargetExt)</LocalDebuggerCommand>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LocalDebuggerCommand>$(OutDir)tic80$(TargetExt)</LocalDebuggerCommand>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LocalDebuggerCommand>$(OutDir)tic80$(TargetExt)</LocalDebuggerCommand>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'">
<LocalDebuggerCommand>$(OutDir)tic80$(TargetExt)</LocalDebuggerCommand>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'">
<LocalDebuggerCommand>$(OutDir)tic80$(TargetExt)</LocalDebuggerCommand>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LocalDebuggerCommand>$(OutDir)tic80$(TargetExt)</LocalDebuggerCommand>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerCommand>$(OutDir)tic80$(TargetExt)</LocalDebuggerCommand>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>

34
build/windows/tic80.rc Normal file
View File

@ -0,0 +1,34 @@
101 ICON "icon.ico"
1 VERSIONINFO
FILEVERSION 0,70,6,0
PRODUCTVERSION 0,70,6,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x0L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "CompanyName", "Nesbox"
VALUE "FileDescription", "TIC-80"
VALUE "FileVersion", "0.70.6.0"
VALUE "InternalName", "tic80.exe"
VALUE "LegalCopyright", "http://tic.computer (C) 2017"
VALUE "OriginalFilename", "tic80.exe"
VALUE "ProductName", "TIC-80"
VALUE "ProductVersion", "0.70.6.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END

Binary file not shown.

View File

@ -1,321 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Pro|Win32">
<Configuration>Debug Pro</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug Pro|x64">
<Configuration>Debug Pro</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Pro|Win32">
<Configuration>Release Pro</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Pro|x64">
<Configuration>Release Pro</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\3rd-party\blip-buf\blip_buf.c" />
<ClCompile Include="..\..\..\3rd-party\duktape-2.2.0\src\duktape.c" />
<ClCompile Include="..\..\..\src\ext\gif.c" />
<ClCompile Include="..\..\..\src\jsapi.c" />
<ClCompile Include="..\..\..\src\luaapi.c" />
<ClCompile Include="..\..\..\src\squirrelapi.c" />
<ClCompile Include="..\..\..\src\tic.c" />
<ClCompile Include="..\..\..\src\tic80.c" />
<ClCompile Include="..\..\..\src\tools.c" />
<ClCompile Include="..\..\..\src\wrenapi.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\3rd-party\squirrel3.1\sqstdlib\sqstdlib.vcxproj">
<Project>{0db18a2f-37c4-4cad-8324-c449707ef93b}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\3rd-party\squirrel3.1\squirrel\squirrel.vcxproj">
<Project>{634f4d99-b265-45d1-852a-01aaa166c54b}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\3rd-party\SQUIRREL3\sqstdlib\sqstdlib.vcxproj">
<Project>{7a5c55b7-2f8c-4189-a666-7046d19b6db9}</Project>
</ProjectReference>
<ProjectReference Include="..\gif\gif.vcxproj">
<Project>{6ea9d998-7557-4aed-abfc-142f9960c9b6}</Project>
</ProjectReference>
<ProjectReference Include="..\lua\lua.vcxproj">
<Project>{57d2471b-3138-495e-af18-6e290d098ffc}</Project>
</ProjectReference>
<ProjectReference Include="..\wren\wren_lib.vcxproj">
<Project>{d7cc5189-c399-ac94-ecb2-9a3cd8dee122}</Project>
</ProjectReference>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C4D8BC10-EBF6-42BB-9B5D-6712FB428A50}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>tic80</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;TIC80_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\duktape-2.2.0\src;..\..\..\3rd-party\blip-buf;..\..\..\3rd-party\moonscript;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\fennel;..\..\..\3rd-party\squirrel3.1\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>TIC80_PRO;WIN32;_DEBUG;_WINDOWS;_USRDLL;TIC80_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\duktape-2.2.0\src;..\..\..\3rd-party\blip-buf;..\..\..\3rd-party\moonscript;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\fennel;..\..\..\3rd-party\squirrel3.1\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;_WINDOWS;_USRDLL;TIC80_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\duktape-2.2.0\src;..\..\..\3rd-party\blip-buf;..\..\..\3rd-party\moonscript;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\fennel;..\..\..\3rd-party\squirrel3.1\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>TIC80_PRO;_DEBUG;_WINDOWS;_USRDLL;TIC80_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\duktape-2.2.0\src;..\..\..\3rd-party\blip-buf;..\..\..\3rd-party\moonscript;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\fennel;..\..\..\3rd-party\squirrel3.1\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;TIC80_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\duktape-2.2.0\src;..\..\..\3rd-party\blip-buf;..\..\..\3rd-party\moonscript;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\fennel;..\..\..\3rd-party\squirrel3.1\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>TIC80_PRO;WIN32;NDEBUG;_WINDOWS;_USRDLL;TIC80_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\duktape-2.2.0\src;..\..\..\3rd-party\blip-buf;..\..\..\3rd-party\moonscript;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\fennel;..\..\..\3rd-party\squirrel3.1\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;TIC80_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\duktape-2.2.0\src;..\..\..\3rd-party\blip-buf;..\..\..\3rd-party\moonscript;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\fennel;..\..\..\3rd-party\squirrel3.1\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>TIC80_PRO;NDEBUG;_WINDOWS;_USRDLL;TIC80_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include;..\..\..\3rd-party\lua-5.3.1\src;..\..\..\3rd-party\giflib-5.1.4\lib;..\..\..\3rd-party\duktape-2.2.0\src;..\..\..\3rd-party\blip-buf;..\..\..\3rd-party\moonscript;..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\fennel;..\..\..\3rd-party\squirrel3.1\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{0fae60ee-e4da-4394-b6f1-dafed679fe4d}</UniqueIdentifier>
</Filter>
<Filter Include="src\ext">
<UniqueIdentifier>{40647055-2f61-4d14-8f63-1ec2a6f7cd90}</UniqueIdentifier>
</Filter>
<Filter Include="src\ext\duktape">
<UniqueIdentifier>{32b7b251-991e-49bf-b9b3-146483deba38}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\tic80.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\jsapi.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\luaapi.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\tic.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ext\gif.c">
<Filter>src\ext</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\tools.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\duktape-2.2.0\src\duktape.c">
<Filter>src\ext\duktape</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\blip-buf\blip_buf.c">
<Filter>src\ext</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\wrenapi.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\squirrelapi.c">
<Filter>src</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

View File

@ -1,194 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{D7CC5189-C399-AC94-ECB2-9A3CD8DEE122}</ProjectGuid>
<IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename>
<Keyword>Win32Proj</Keyword>
<RootNamespace>wren_lib</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<TargetName>$(ProjectName)</TargetName>
<TargetExt>.lib</TargetExt>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
<TargetName>$(ProjectName)</TargetName>
<TargetExt>.lib</TargetExt>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<TargetName>$(ProjectName)</TargetName>
<TargetExt>.lib</TargetExt>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
<TargetName>$(ProjectName)</TargetName>
<TargetExt>.lib</TargetExt>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\wren-0.1.0\src\vm;..\..\..\3rd-party\wren-0.1.0\src\optional;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<CompileAs>CompileAsC</CompileAs>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\wren-0.1.0\src\vm;..\..\..\3rd-party\wren-0.1.0\src\optional;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<CompileAs>CompileAsC</CompileAs>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\wren-0.1.0\src\vm;..\..\..\3rd-party\wren-0.1.0\src\optional;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<Optimization>Full</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<MinimalRebuild>false</MinimalRebuild>
<StringPooling>true</StringPooling>
<CompileAs>CompileAsC</CompileAs>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\3rd-party\wren-0.1.0\src\include;..\..\..\3rd-party\wren-0.1.0\src\vm;..\..\..\3rd-party\wren-0.1.0\src\optional;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<Optimization>Full</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<MinimalRebuild>false</MinimalRebuild>
<StringPooling>true</StringPooling>
<CompileAs>CompileAsC</CompileAs>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\optional\wren_opt_meta.h" />
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\optional\wren_opt_random.h" />
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_common.h" />
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_compiler.h" />
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_core.h" />
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_debug.h" />
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_opcodes.h" />
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_primitive.h" />
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_utils.h" />
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_value.h" />
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_vm.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\optional\wren_opt_meta.c" />
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\optional\wren_opt_random.c" />
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_compiler.c" />
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_core.c" />
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_debug.c" />
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_primitive.c" />
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_utils.c" />
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_value.c" />
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_vm.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,75 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="optional">
<UniqueIdentifier>{CB60FAAF-B72D-55BB-E046-4363CC728A49}</UniqueIdentifier>
</Filter>
<Filter Include="vm">
<UniqueIdentifier>{E8795900-D405-880B-3DB4-880B295F880B}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\optional\wren_opt_meta.h">
<Filter>optional</Filter>
</ClInclude>
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\optional\wren_opt_random.h">
<Filter>optional</Filter>
</ClInclude>
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_common.h">
<Filter>vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_compiler.h">
<Filter>vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_core.h">
<Filter>vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_debug.h">
<Filter>vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_opcodes.h">
<Filter>vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_primitive.h">
<Filter>vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_utils.h">
<Filter>vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_value.h">
<Filter>vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_vm.h">
<Filter>vm</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\optional\wren_opt_meta.c">
<Filter>optional</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\optional\wren_opt_random.c">
<Filter>optional</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_compiler.c">
<Filter>vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_core.c">
<Filter>vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_debug.c">
<Filter>vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_primitive.c">
<Filter>vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_utils.c">
<Filter>vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_value.c">
<Filter>vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\3rd-party\wren-0.1.0\src\vm\wren_vm.c">
<Filter>vm</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

View File

@ -1,267 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug Pro|Win32">
<Configuration>Debug Pro</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug Pro|x64">
<Configuration>Debug Pro</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Pro|Win32">
<Configuration>Release Pro</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release Pro|x64">
<Configuration>Release Pro</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\adler32.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\compress.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\crc32.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\deflate.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\gzclose.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\gzlib.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\gzread.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\gzwrite.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\infback.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\inffast.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\inflate.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\inftrees.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\trees.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\uncompr.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\zutil.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{1DFBDFA2-F204-42FF-B99E-250E4B2EBA04}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>zlib</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Pro|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Pro|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\adler32.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\compress.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\crc32.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\deflate.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\gzclose.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\gzlib.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\gzread.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\gzwrite.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\infback.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\inffast.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\inflate.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\inftrees.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\trees.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\uncompr.c" />
<ClCompile Include="..\..\..\3rd-party\zlib-1.2.11\zutil.c" />
</ItemGroup>
</Project>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

Binary file not shown.

View File

@ -24,6 +24,9 @@
#include <SDL.h>
#include <tic80.h>
// TODO: take from tic.h??
#define TIC_FRAMERATE 60
static struct
{
bool quit;
@ -57,11 +60,12 @@ int main(int argc, char **argv)
{
SDL_Window* window = SDL_CreateWindow("TIC-80 SDL demo", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, TIC80_FULLWIDTH, TIC80_FULLHEIGHT, SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE);
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
SDL_Texture* texture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, TIC80_FULLWIDTH, TIC80_FULLHEIGHT);
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
SDL_Texture* texture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_ABGR8888, SDL_TEXTUREACCESS_STREAMING, TIC80_FULLWIDTH, TIC80_FULLHEIGHT);
SDL_AudioDeviceID audioDevice = 0;
SDL_AudioSpec audioSpec;
SDL_AudioCVT cvt;
bool audioStarted = false;
{
@ -74,6 +78,14 @@ int main(int argc, char **argv)
};
audioDevice = SDL_OpenAudioDevice(NULL, 0, &want, &audioSpec, SDL_AUDIO_ALLOW_ANY_CHANGE);
SDL_BuildAudioCVT(&cvt, want.format, want.channels, audioSpec.freq, audioSpec.format, audioSpec.channels, audioSpec.freq);
if (cvt.needed)
{
cvt.len = audioSpec.freq * sizeof(s16) / TIC_FRAMERATE;
cvt.buf = SDL_malloc(cvt.len * cvt.len_mult);
}
}
tic80_input input;
@ -87,6 +99,9 @@ int main(int argc, char **argv)
if(tic)
{
u64 nextTick = SDL_GetPerformanceCounter();
const u64 Delta = SDL_GetPerformanceFrequency() / TIC_FRAMERATE;
while(!state.quit)
{
SDL_Event event;
@ -127,6 +142,8 @@ int main(int argc, char **argv)
}
}
nextTick += Delta;
tic80_tick(tic, input);
if (!audioStarted && audioDevice)
@ -135,7 +152,18 @@ int main(int argc, char **argv)
SDL_PauseAudioDevice(audioDevice, 0);
}
SDL_QueueAudio(audioDevice, tic->sound.samples, tic->sound.count * sizeof(tic->sound.samples[0]));
{
SDL_PauseAudioDevice(audioDevice, 0);
s32 size = tic->sound.count * sizeof(tic->sound.samples[0]);
if (cvt.needed)
{
SDL_memcpy(cvt.buf, tic->sound.samples, size);
SDL_ConvertAudio(&cvt);
SDL_QueueAudio(audioDevice, cvt.buf, cvt.len_cvt);
}
else SDL_QueueAudio(audioDevice, tic->sound.samples, size);
}
SDL_RenderClear(renderer);
@ -143,12 +171,21 @@ int main(int argc, char **argv)
void* pixels = NULL;
int pitch = 0;
SDL_LockTexture(texture, NULL, &pixels, &pitch);
SDL_memcpy(pixels, tic->screen, TIC80_FULLWIDTH * TIC80_FULLHEIGHT);
SDL_memcpy(pixels, tic->screen, pitch * TIC80_FULLHEIGHT);
SDL_UnlockTexture(texture);
SDL_RenderCopy(renderer, texture, NULL, NULL);
}
SDL_RenderPresent(renderer);
{
s64 delay = nextTick - SDL_GetPerformanceCounter();
if (delay < 0)
nextTick -= delay;
else SDL_Delay((u32)(delay * 1000 / SDL_GetPerformanceFrequency()));
}
}
tic80_delete(tic);

View File

@ -30,15 +30,16 @@
#define TIC_BUILD_WITH_SQUIRREL 1
#if defined(__APPLE__)
// TODO: this disables macos config
# include "AvailabilityMacros.h"
# include "TargetConditionals.h"
# ifndef TARGET_OS_IPHONE
// # ifndef TARGET_OS_IPHONE
# undef __TIC_MACOSX__
# define __TIC_MACOSX__ 1
# if MAC_OS_X_VERSION_MIN_REQUIRED < 1060
# error SDL for Mac OS X only supports deploying on 10.6 and above.
# endif /* MAC_OS_X_VERSION_MIN_REQUIRED < 1060 */
# endif /* TARGET_OS_IPHONE */
// # endif /* TARGET_OS_IPHONE */
#endif /* defined(__APPLE__) */
#if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__)

View File

@ -27,19 +27,16 @@
#define TEXT_CURSOR_DELAY (TIC_FRAMERATE / 2)
#define TEXT_CURSOR_BLINK_PERIOD TIC_FRAMERATE
static inline s32 TextBufferHeight(const tic_mem* tic)
{
return ((TIC80_HEIGHT - TOOLBAR_SIZE - TextHeight(tic)) / TextHeight(tic));
}
#define TEXT_BUFFER_WIDTH STUDIO_TEXT_BUFFER_WIDTH
#define TEXT_BUFFER_HEIGHT ((TIC80_HEIGHT - TOOLBAR_SIZE - STUDIO_TEXT_HEIGHT) / STUDIO_TEXT_HEIGHT)
struct OutlineItem
{
char name[TIC80_WIDTH];
char name[TEXT_BUFFER_WIDTH];
char* pos;
};
#define OUTLINE_SIZE (TIC80_HEIGHT)
#define OUTLINE_SIZE ((TIC80_HEIGHT - TOOLBAR_SIZE*2)/TIC_FONT_HEIGHT)
#define OUTLINE_ITEMS_SIZE (OUTLINE_SIZE * sizeof(OutlineItem))
static void history(Code* code)
@ -50,35 +47,34 @@ static void history(Code* code)
static void drawStatus(Code* code)
{
tic_mem* tic = code->tic;
const s32 Height = tic->font.height + 1;
const s32 Height = TIC_FONT_HEIGHT + 1;
code->tic->api.rect(code->tic, 0, TIC80_HEIGHT - Height, TIC80_WIDTH, Height, (tic_color_white));
code->tic->api.fixed_text(code->tic, code->status, 0, TIC80_HEIGHT - TIC_FONT_HEIGHT, getConfig()->theme.code.bg, false);
}
tic->api.rect(tic, 0, TIC80_HEIGHT - Height, TIC80_WIDTH, Height, (tic_color_white));
tic->api.fixed_text(tic, code->status.left, 0, TIC80_HEIGHT - tic->font.height, getConfig()->theme.code.bg);
tic->api.fixed_text(tic, code->status.right, TIC80_WIDTH - (strlen(code->status.right) * tic->font.width),
TIC80_HEIGHT - tic->font.height, getConfig()->theme.code.bg);
static inline s32 getFontWidth(Code* code)
{
return code->altFont ? TIC_ALTFONT_WIDTH : TIC_FONT_WIDTH;
}
static void drawCursor(Code* code, s32 x, s32 y, char symbol)
{
tic_mem* tic = code->tic;
bool inverse = code->cursor.delay || code->tickCounter % TEXT_CURSOR_BLINK_PERIOD < TEXT_CURSOR_BLINK_PERIOD / 2;
if(inverse)
{
code->tic->api.rect(code->tic, x-1, y-1, tic->font.width+1, tic->font.height+1, getConfig()->theme.code.cursor);
code->tic->api.rect(code->tic, x-1, y-1, (getFontWidth(code))+1, TIC_FONT_HEIGHT+1, getConfig()->theme.code.cursor);
if(symbol)
code->tic->api.draw_char(code->tic, symbol, x, y, getConfig()->theme.code.bg);
code->tic->api.draw_char(code->tic, symbol, x, y, getConfig()->theme.code.bg, code->altFont);
}
}
static void drawCode(Code* code, bool withCursor)
{
tic_mem* tic = code->tic;
s32 xStart = code->rect.x - code->scroll.x * TextWidth(tic);
s32 xStart = code->rect.x - code->scroll.x * (getFontWidth(code));
s32 x = xStart;
s32 y = code->rect.y - code->scroll.y * TextHeight(tic);
s32 y = code->rect.y - code->scroll.y * STUDIO_TEXT_HEIGHT;
char* pointer = code->src;
u8* colorPointer = code->colorBuffer;
@ -92,16 +88,16 @@ static void drawCode(Code* code, bool withCursor)
{
char symbol = *pointer;
if(x >= -tic->font.width && x < TIC80_WIDTH && y >= -tic->font.height && y < TIC80_HEIGHT )
if(x >= -TIC_FONT_WIDTH && x < TIC80_WIDTH && y >= -TIC_FONT_HEIGHT && y < TIC80_HEIGHT )
{
if(code->cursor.selection && pointer >= selection.start && pointer < selection.end)
code->tic->api.rect(code->tic, x-1, y-1, tic->font.width+1, tic->font.height+1, getConfig()->theme.code.select);
code->tic->api.rect(code->tic, x-1, y-1, TIC_FONT_WIDTH+1, TIC_FONT_HEIGHT+1, getConfig()->theme.code.select);
else if(getConfig()->theme.code.shadow)
{
code->tic->api.draw_char(code->tic, symbol, x+1, y+1, 0);
code->tic->api.draw_char(code->tic, symbol, x+1, y+1, 0, code->altFont);
}
code->tic->api.draw_char(code->tic, symbol, x, y, *colorPointer);
code->tic->api.draw_char(code->tic, symbol, x, y, *colorPointer, code->altFont);
}
if(code->cursor.position == pointer)
@ -110,9 +106,9 @@ static void drawCode(Code* code, bool withCursor)
if(symbol == '\n')
{
x = xStart;
y += TextHeight(tic);
y += STUDIO_TEXT_HEIGHT;
}
else x += TextWidth(tic);
else x += (getFontWidth(code));
pointer++;
colorPointer++;
@ -168,31 +164,36 @@ static void removeInvalidChars(char* code)
static void updateEditor(Code* code)
{
tic_mem* tic = code->tic;
s32 column = 0;
s32 line = 0;
getCursorPosition(code, &column, &line);
const s32 BufferWidth = TIC80_WIDTH / getFontWidth(code);
if(column < code->scroll.x) code->scroll.x = column;
else if(column >= code->scroll.x + BufferWidth(tic))
code->scroll.x = column - BufferWidth(tic) + 1;
else if(column >= code->scroll.x + BufferWidth)
code->scroll.x = column - BufferWidth + 1;
if(line < code->scroll.y) code->scroll.y = line;
else if(line >= code->scroll.y + TextBufferHeight(tic))
code->scroll.y = line - TextBufferHeight(tic) + 1;
else if(line >= code->scroll.y + TEXT_BUFFER_HEIGHT)
code->scroll.y = line - TEXT_BUFFER_HEIGHT + 1;
code->cursor.delay = TEXT_CURSOR_DELAY;
// update status
{
memset(code->status, ' ', sizeof code->status - 1);
char status[TEXT_BUFFER_WIDTH];
s32 count = getLinesCount(code);
sprintf(code->status.left, "line %i/%i col %i", line + 1, count + 1, column + 1);
sprintf(status, "line %i/%i col %i", line + 1, count + 1, column + 1);
memcpy(code->status, status, strlen(status));
size_t codeLen = strlen(code->src);
sprintf(code->status.right, "%i/%i", (u32)codeLen, TIC_CODE_SIZE);
sprintf(status, "%i/%i", (u32)codeLen, TIC_CODE_SIZE);
memset(code->src + codeLen, '\0', TIC_CODE_SIZE - codeLen);
memcpy(code->status + sizeof code->status - strlen(status) - 1, status, strlen(status));
}
}
@ -409,21 +410,19 @@ static void goCodeEnd(Code *code)
static void pageUp(Code* code)
{
tic_mem* tic = code->tic;
s32 column = 0;
s32 line = 0;
getCursorPosition(code, &column, &line);
setCursorPosition(code, column, line > TextBufferHeight(tic) ? line - TextBufferHeight(tic) : 0);
setCursorPosition(code, column, line > TEXT_BUFFER_HEIGHT ? line - TEXT_BUFFER_HEIGHT : 0);
}
static void pageDown(Code* code)
{
tic_mem* tic = code->tic;
s32 column = 0;
s32 line = 0;
getCursorPosition(code, &column, &line);
s32 lines = getLinesCount(code);
setCursorPosition(code, column, line < lines - TextBufferHeight(tic) ? line + TextBufferHeight(tic) : lines);
setCursorPosition(code, column, line < lines - TEXT_BUFFER_HEIGHT ? line + TEXT_BUFFER_HEIGHT : lines);
}
static bool replaceSelection(Code* code)
@ -734,12 +733,10 @@ static void normalizeScroll(Code* code)
static void centerScroll(Code* code)
{
tic_mem* tic = code->tic;
s32 col, line;
getCursorPosition(code, &col, &line);
code->scroll.x = col - BufferWidth(tic) / 2;
code->scroll.y = line - TextBufferHeight(tic) / 2;
code->scroll.x = col - TIC80_WIDTH / getFontWidth(code) / 2;
code->scroll.y = line - TEXT_BUFFER_HEIGHT / 2;
normalizeScroll(code);
}
@ -782,8 +779,8 @@ static void initOutlineMode(Code* code)
tic_mem* tic = code->tic;
char buffer[TIC80_WIDTH] = {0};
char filter[TIC80_WIDTH] = {0};
char buffer[TEXT_BUFFER_WIDTH] = {0};
char filter[TEXT_BUFFER_WIDTH] = {0};
strncpy(filter, code->popup.text, sizeof(filter));
ticStrlwr(filter);
@ -802,8 +799,8 @@ static void initOutlineMode(Code* code)
if(out < end)
{
out->pos = code->src + item->pos;
memset(out->name, 0, TIC80_WIDTH);
memcpy(out->name, out->pos, MIN(item->size, TIC80_WIDTH-1));
memset(out->name, 0, TEXT_BUFFER_WIDTH);
memcpy(out->name, out->pos, MIN(item->size, TEXT_BUFFER_WIDTH-1));
if(*filter)
{
@ -976,8 +973,8 @@ static void processMouse(Code* code)
{
if(checkMouseDown(&code->rect, tic_mouse_right))
{
code->scroll.x = (code->scroll.start.x - getMouseX()) / TextWidth(tic);
code->scroll.y = (code->scroll.start.y - getMouseY()) / TextHeight(tic);
code->scroll.x = (code->scroll.start.x - getMouseX()) / (getFontWidth(code));
code->scroll.y = (code->scroll.start.y - getMouseY()) / STUDIO_TEXT_HEIGHT;
normalizeScroll(code);
}
@ -990,8 +987,8 @@ static void processMouse(Code* code)
s32 mx = getMouseX();
s32 my = getMouseY();
s32 x = (mx - code->rect.x) / TextWidth(tic);
s32 y = (my - code->rect.y) / TextHeight(tic);
s32 x = (mx - code->rect.x) / (getFontWidth(code));
s32 y = (my - code->rect.y) / STUDIO_TEXT_HEIGHT;
char* position = code->cursor.position;
setCursorPosition(code, x + code->scroll.x, y + code->scroll.y);
@ -1019,8 +1016,8 @@ static void processMouse(Code* code)
{
code->scroll.active = true;
code->scroll.start.x = getMouseX() + code->scroll.x * TextWidth(tic);
code->scroll.start.y = getMouseY() + code->scroll.y * TextHeight(tic);
code->scroll.start.x = getMouseX() + code->scroll.x * (getFontWidth(code));
code->scroll.start.y = getMouseY() + code->scroll.y * STUDIO_TEXT_HEIGHT;
}
}
@ -1068,16 +1065,14 @@ static void textEditTick(Code* code)
static void drawPopupBar(Code* code, const char* title)
{
tic_mem* tic = code->tic;
enum {TextY = TOOLBAR_SIZE + 1};
code->tic->api.rect(code->tic, 0, TOOLBAR_SIZE, TIC80_WIDTH, tic->font.height + 1, (tic_color_blue));
code->tic->api.fixed_text(code->tic, title, 0, TextY, (tic_color_white));
code->tic->api.rect(code->tic, 0, TOOLBAR_SIZE, TIC80_WIDTH, TIC_FONT_HEIGHT + 1, (tic_color_blue));
code->tic->api.fixed_text(code->tic, title, 0, TextY, (tic_color_white), false);
code->tic->api.fixed_text(code->tic, code->popup.text, (s32)strlen(title)*tic->font.width, TextY, (tic_color_white));
code->tic->api.fixed_text(code->tic, code->popup.text, (s32)strlen(title)*TIC_FONT_WIDTH, TextY, (tic_color_white), false);
drawCursor(code, (s32)(strlen(title) + strlen(code->popup.text)) * tic->font.width, TextY, ' ');
drawCursor(code, (s32)(strlen(title) + strlen(code->popup.text)) * TIC_FONT_WIDTH, TextY, ' ');
}
static void updateFindCode(Code* code, char* pos)
@ -1215,8 +1210,8 @@ static void textGoToTick(Code* code)
tic->api.clear(tic, getConfig()->theme.code.bg);
if(code->jump.line >= 0)
tic->api.rect(tic, 0, (code->jump.line - code->scroll.y) * (tic->font.height+1) + TOOLBAR_SIZE,
TIC80_WIDTH, tic->font.height+2, getConfig()->theme.code.select);
tic->api.rect(tic, 0, (code->jump.line - code->scroll.y) * (TIC_FONT_HEIGHT+1) + TOOLBAR_SIZE,
TIC80_WIDTH, TIC_FONT_HEIGHT+2, getConfig()->theme.code.select);
drawCode(code, false);
drawPopupBar(code, " GOTO:");
@ -1225,14 +1220,12 @@ static void textGoToTick(Code* code)
static void drawOutlineBar(Code* code, s32 x, s32 y)
{
tic_mem* tic = code->tic;
tic_rect rect = {x, y, TIC80_WIDTH - x, TIC80_HEIGHT - y};
if(checkMousePos(&rect))
{
s32 mx = getMouseY() - rect.y;
mx /= TextHeight(tic);
mx /= STUDIO_TEXT_HEIGHT;
if(mx < OUTLINE_SIZE && code->outline.items[mx].pos)
{
@ -1258,22 +1251,20 @@ static void drawOutlineBar(Code* code, s32 x, s32 y)
if(ptr->pos)
{
code->tic->api.rect(code->tic, rect.x - 1, rect.y + code->outline.index*TextHeight(tic),
rect.w + 1, tic->font.height + 1, (tic_color_red));
code->tic->api.rect(code->tic, rect.x - 1, rect.y + code->outline.index*STUDIO_TEXT_HEIGHT,
rect.w + 1, TIC_FONT_HEIGHT + 1, (tic_color_red));
while(ptr->pos)
{
code->tic->api.fixed_text(code->tic, ptr->name, x, y, (tic_color_white));
code->tic->api.fixed_text(code->tic, ptr->name, x, y, (tic_color_white), false);
ptr++;
y += TextHeight(tic);
y += STUDIO_TEXT_HEIGHT;
}
}
else code->tic->api.fixed_text(code->tic, "(empty)", x, y, (tic_color_white));
else code->tic->api.fixed_text(code->tic, "(empty)", x, y, (tic_color_white), false);
}
static void textOutlineTick(Code* code)
{
tic_mem* tic = code->tic;
if(keyWasPressed(tic_key_up))
{
if(code->outline.index > 0)
@ -1321,7 +1312,33 @@ static void textOutlineTick(Code* code)
drawCode(code, false);
drawPopupBar(code, " FUNC:");
drawStatus(code);
drawOutlineBar(code, TIC80_WIDTH - 12 * tic->font.width, 2*(tic->font.height+1));
drawOutlineBar(code, TIC80_WIDTH - 12 * TIC_FONT_WIDTH, 2*(TIC_FONT_HEIGHT+1));
}
static void drawFontButton(Code* code, s32 x, s32 y)
{
tic_mem* tic = code->tic;
enum {Size = TIC_FONT_WIDTH};
tic_rect rect = {x, y, Size, Size};
bool over = false;
if(checkMousePos(&rect))
{
setCursor(tic_cursor_hand);
showTooltip("SWITCH FONT");
over = true;
if(checkMouseClick(&rect, tic_mouse_left))
{
code->altFont = !code->altFont;
}
}
tic->api.draw_char(tic, 'F', x, y, over ? tic_color_dark_gray : tic_color_light_blue, code->altFont);
}
static void drawCodeToolbar(Code* code)
@ -1408,6 +1425,8 @@ static void drawCodeToolbar(Code* code)
drawBitIcon(rect.x, rect.y, Icons + i*BITS_IN_BYTE, active ? (tic_color_white) : (over ? (tic_color_dark_gray) : (tic_color_light_blue)));
}
drawFontButton(code, TIC80_WIDTH - (Count+2) * Size, 1);
drawToolbar(code->tic, getConfig()->theme.code.bg, false);
}
@ -1471,7 +1490,7 @@ void initCode(Code* code, tic_mem* tic, tic_code* src)
.tick = tick,
.escape = escape,
.cursor = {{src->data, NULL, 0}, NULL, 0},
.rect = {0, TOOLBAR_SIZE + 1, TIC80_WIDTH, TIC80_HEIGHT - TOOLBAR_SIZE - tic->font.height - 1},
.rect = {0, TOOLBAR_SIZE + 1, TIC80_WIDTH, TIC80_HEIGHT - TOOLBAR_SIZE - TIC_FONT_HEIGHT - 1},
.scroll = {0, 0, {0, 0}, false},
.tickCounter = 0,
.history = NULL,
@ -1488,6 +1507,7 @@ void initCode(Code* code, tic_mem* tic, tic_code* src)
.items = code->outline.items,
.index = 0,
},
.altFont = getConfig()->theme.code.altFont,
.event = onStudioEvent,
.update = update,
};

View File

@ -62,11 +62,7 @@ struct Code
u8 colorBuffer[TIC_CODE_SIZE];
struct
{
char left[TIC80_WIDTH];
char right[TIC80_WIDTH];
} status;
char status[STUDIO_TEXT_BUFFER_WIDTH+1];
u32 tickCounter;
@ -84,7 +80,7 @@ struct Code
struct
{
char text[TIC80_WIDTH];
char text[STUDIO_TEXT_BUFFER_WIDTH - sizeof "FIND:"];
char* prevPos;
char* prevSel;
@ -102,6 +98,8 @@ struct Code
s32 index;
} outline;
bool altFont;
void(*tick)(Code*);
void(*escape)(Code*);
void(*event)(Code*, StudioEvent);

View File

@ -201,31 +201,12 @@ static void readCodeTheme(Config* config, lua_State* lua)
lua_pop(lua, 1);
}
}
lua_pop(lua, 1);
}
static void readFontTheme(Config* config, lua_State* lua)
{
lua_getfield(lua, -1, "FONT");
if(lua_type(lua, -1) == LUA_TTABLE)
{
{
lua_getfield(lua, -1, "WIDTH");
if(lua_isinteger(lua, -1))
config->data.theme.font.width = lua_tointeger(lua, -1);
lua_pop(lua, 1);
}
{
lua_getfield(lua, -1, "HEIGHT");
lua_getfield(lua, -1, "ALT_FONT");
if(lua_isinteger(lua, -1))
config->data.theme.font.height = lua_tointeger(lua, -1);
if(lua_isboolean(lua, -1))
config->data.theme.code.altFont = lua_toboolean(lua, -1);
lua_pop(lua, 1);
}
@ -267,7 +248,6 @@ static void readTheme(Config* config, lua_State* lua)
readCursorTheme(config, lua);
readCodeTheme(config, lua);
readGamepadTheme(config, lua);
readFontTheme(config, lua);
}
lua_pop(lua, 1);
@ -279,7 +259,7 @@ static void readConfig(Config* config)
if(lua)
{
if(luaL_loadstring(lua, config->cart.bank0.code.data) == LUA_OK && lua_pcall(lua, 0, LUA_MULTRET, 0) == LUA_OK)
if(luaL_loadstring(lua, config->cart.code.data) == LUA_OK && lua_pcall(lua, 0, LUA_MULTRET, 0) == LUA_OK)
{
readConfigVideoLength(config, lua);
readConfigVideoScale(config, lua);
@ -289,10 +269,6 @@ static void readConfig(Config* config)
readConfigCrtMonitor(config, lua);
readConfigUiScale(config, lua);
readTheme(config, lua);
}
if(luaL_loadstring(lua, config->cart.bank1.code.data) == LUA_OK && lua_pcall(lua, 0, LUA_MULTRET, 0) == LUA_OK)
{
readConfigCrtShader(config, lua);
}

View File

@ -70,10 +70,6 @@ typedef enum
WrenScript,
#endif
#if defined(TIC_BUILD_WITH_SQUIRREL)
Squirrel,
#endif
} ScriptLang;
#if defined(__TIC_WINDOWS__) || defined(__TIC_LINUX__) || defined(__TIC_MACOSX__)
@ -498,10 +494,11 @@ static void* getDemoCart(Console* console, ScriptLang script, s32* size)
#if defined(TIC_BUILD_WITH_WREN)
case WrenScript: strcpy(path, DefaultWrenTicPath); break;
#endif
#endif
#if defined(TIC_BUILD_WITH_SQUIRREL)
case Squirrel: strcpy(path, DefaultSquirrelTicPath); break;
#endif
}
void* data = fsLoadRootFile(console->fs, path, size);
@ -556,7 +553,6 @@ static void* getDemoCart(Console* console, ScriptLang script, s32* size)
break;
# endif
#endif /* defined(TIC_BUILD_WITH_LUA) */
#if defined(TIC_BUILD_WITH_SQUIRREL)
@ -1546,7 +1542,6 @@ static void onConsoleConfigCommand(Console* console, const char* param)
}
# endif
#endif /* defined(TIC_BUILD_WITH_LUA) */
#if defined(TIC_BUILD_WITH_JS)

View File

@ -78,7 +78,7 @@ struct Console
char* buffer;
u8* colorBuffer;
char inputBuffer[TIC80_WIDTH];
char inputBuffer[STUDIO_TEXT_BUFFER_WIDTH * STUDIO_TEXT_BUFFER_HEIGHT];
size_t inputPosition;
tic_mem* tic;
@ -103,7 +103,7 @@ struct Console
bool crtMonitor;
};
void(*load)(Console*, const char* name);
void(*load)(Console*, const char* path, const char* hash);
bool(*loadProject)(Console*, const char* name, const char* data, s32 size, tic_cartridge* dst);
void(*updateProject)(Console*);
void(*error)(Console*, const char*);

View File

@ -57,8 +57,8 @@ static void drawButton(Dialog* dlg, const char* label, s32 x, s32 y, u8 color, u
tic->api.rect(tic, rect.x, rect.y, rect.w, rect.h, (tic_color_white));
}
s32 size = tic->api.text(tic, label, 0, -tic->font.height, 0);
tic->api.text(tic, label, rect.x + (BtnWidth - size+1)/2, rect.y + (down?3:2), over ? overColor : color);
s32 size = tic->api.text(tic, label, 0, -TIC_FONT_HEIGHT, 0, false);
tic->api.text(tic, label, rect.x + (BtnWidth - size+1)/2, rect.y + (down?3:2), over ? overColor : color, false);
if(dlg->focus == id)
{
@ -162,8 +162,8 @@ static void drawDialog(Dialog* dlg)
{
static const char Label[] = "WARNING!";
s32 size = tic->api.text(tic, Label, 0, -tic->font.height, 0);
tic->api.text(tic, Label, rect.x + (Width - size)/2, rect.y-(TOOLBAR_SIZE-2), (tic_color_gray));
s32 size = tic->api.text(tic, Label, 0, -TIC_FONT_HEIGHT, 0, false);
tic->api.text(tic, Label, rect.x + (Width - size)/2, rect.y-(TOOLBAR_SIZE-2), (tic_color_gray), false);
}
{
@ -174,12 +174,12 @@ static void drawDialog(Dialog* dlg)
{
for(s32 i = 0; i < dlg->rows; i++)
{
s32 size = tic->api.text(tic, dlg->text[i], 0, -tic->font.height, 0);
s32 size = tic->api.text(tic, dlg->text[i], 0, -TIC_FONT_HEIGHT, 0, false);
s32 x = rect.x + (Width - size)/2;
s32 y = rect.y + (tic->font.height+1)*(i+1);
tic->api.text(tic, dlg->text[i], x, y+1, (tic_color_black));
tic->api.text(tic, dlg->text[i], x, y, (tic_color_white));
s32 y = rect.y + (TIC_FONT_HEIGHT+1)*(i+1);
tic->api.text(tic, dlg->text[i], x, y+1, (tic_color_black), false);
tic->api.text(tic, dlg->text[i], x, y, (tic_color_white), false);
}
}

View File

@ -30,7 +30,6 @@
#include <commdlg.h>
#include <stdio.h>
FILE* _wfopen(const wchar_t *, const wchar_t *);
wchar_t* wcsrchr(const wchar_t *, wchar_t);
wchar_t* wcscpy(wchar_t *, const wchar_t *);

135
src/fs.c
View File

@ -115,7 +115,7 @@ static const fsString* utf8ToString(const char* str)
{
fsString* wstr = malloc(FILENAME_MAX * sizeof(fsString));
mbstowcs(wstr, str, FILENAME_MAX);
MultiByteToWideChar(CP_UTF8, 0, str, FILENAME_MAX, wstr, FILENAME_MAX);
return wstr;
}
@ -124,15 +124,13 @@ static const char* stringToUtf8(const fsString* wstr)
{
char* str = malloc(FILENAME_MAX * sizeof(char));
wcstombs(str, wstr, FILENAME_MAX);
WideCharToMultiByte(CP_UTF8, 0, wstr, FILENAME_MAX, str, FILENAME_MAX, 0, 0);
return str;
}
#define freeString(S) free((void*)S)
FILE* _wfopen(const fsString *, const fsString *);
int _wremove(const fsString *);
#define TIC_DIR _WDIR
#define tic_dirent _wdirent
@ -146,6 +144,8 @@ int _wremove(const fsString *);
#define tic_remove _wremove
#define tic_fopen _wfopen
#define tic_mkdir(name) _wmkdir(name)
#define tic_strcpy wcscpy
#define tic_strcat wcscat
#else
@ -170,6 +170,8 @@ typedef char fsString;
#define tic_remove remove
#define tic_fopen fopen
#define tic_mkdir(name) mkdir(name, 0700)
#define tic_strcpy strcpy
#define tic_strcat strcat
#endif
@ -298,6 +300,42 @@ static void netDirRequest(const char* path, ListCallback callback, void* data)
#endif
static void enumFiles(FileSystem* fs, const char* path, ListCallback callback, void* data, bool folder)
{
TIC_DIR *dir = NULL;
struct tic_dirent* ent = NULL;
const fsString* pathString = utf8ToString(path);
if ((dir = tic_opendir(pathString)) != NULL)
{
fsString fullPath[FILENAME_MAX];
struct tic_stat_struct s;
while ((ent = tic_readdir(dir)) != NULL)
{
if(*ent->d_name != _S('.'))
{
tic_strcpy(fullPath, pathString);
tic_strcat(fullPath, ent->d_name);
if(tic_stat(fullPath, &s) == 0 && folder ? S_ISDIR(s.st_mode) : S_ISREG(s.st_mode))
{
const char* name = stringToUtf8(ent->d_name);
bool result = callback(name, NULL, 0, data, folder);
freeString(name);
if(!result) break;
}
}
}
tic_closedir(dir);
}
freeString(pathString);
}
void fsEnumFiles(FileSystem* fs, ListCallback callback, void* data)
{
#if !defined(__EMSCRIPTEN__)
@ -312,56 +350,10 @@ void fsEnumFiles(FileSystem* fs, ListCallback callback, void* data)
#endif
TIC_DIR *dir = NULL;
struct tic_dirent* ent = NULL;
const char* path = getFilePath(fs, "");
{
const fsString* pathString = utf8ToString(path);
if ((dir = tic_opendir(pathString)) != NULL)
{
while ((ent = tic_readdir(dir)) != NULL)
{
if (ent->d_type == DT_DIR && *ent->d_name != _S('.'))
{
const char* name = stringToUtf8(ent->d_name);
bool result = callback(name, NULL, 0, data, true);
freeString(name);
if(!result) break;
}
}
tic_closedir(dir);
}
freeString(pathString);
}
{
const fsString* pathString = utf8ToString(path);
if ((dir = tic_opendir(pathString)) != NULL)
{
while ((ent = tic_readdir(dir)) != NULL)
{
if (ent->d_type == DT_REG)
{
const char* name = stringToUtf8(ent->d_name);
bool result = callback(name, NULL, 0, data, false);
freeString(name);
if (!result)break;
}
}
tic_closedir(dir);
}
freeString(pathString);
}
enumFiles(fs, path, callback, data, true);
enumFiles(fs, path, callback, data, false);
}
bool fsDeleteDir(FileSystem* fs, const char* name)
@ -899,6 +891,26 @@ static bool onLoadPublicCart(const char* name, const char* info, s32 id, void* d
return true;
}
void* fsLoadFileByHash(FileSystem* fs, const char* hash, s32* size)
{
char cachePath[FILENAME_MAX] = {0};
sprintf(cachePath, TIC_CACHE "%s.tic", hash);
{
void* data = fsLoadRootFile(fs, cachePath, size);
if(data) return data;
}
char path[FILENAME_MAX] = {0};
sprintf(path, "/cart/%s/cart.tic", hash);
void* data = getSystem()->getUrlRequest(path, size);
if(data)
fsSaveRootFile(fs, cachePath, data, *size, false);
return data;
}
void* fsLoadFile(FileSystem* fs, const char* name, s32* size)
{
if(isPublic(fs))
@ -912,24 +924,7 @@ void* fsLoadFile(FileSystem* fs, const char* name, s32* size)
fsEnumFiles(fs, onLoadPublicCart, &loadPublicCartData);
if(strlen(loadPublicCartData.hash))
{
char cachePath[FILENAME_MAX] = {0};
sprintf(cachePath, TIC_CACHE "%s.tic", loadPublicCartData.hash);
{
void* data = fsLoadRootFile(fs, cachePath, size);
if(data) return data;
}
char path[FILENAME_MAX] = {0};
sprintf(path, "/cart/%s/cart.tic", loadPublicCartData.hash);
void* data = getSystem()->getUrlRequest(path, size);
if(data)
fsSaveRootFile(fs, cachePath, data, *size, false);
return data;
}
return fsLoadFileByHash(fs, loadPublicCartData.hash, size);
}
else
{

View File

@ -25,8 +25,6 @@
#include <tic80_types.h>
#include <string.h>
typedef struct FileSystem FileSystem;
typedef enum
{
FS_FILE_NOT_ADDED,
@ -57,6 +55,7 @@ bool fsDeleteDir(FileSystem* fs, const char* name);
bool fsSaveFile(FileSystem* fs, const char* name, const void* data, size_t size, bool overwrite);
bool fsSaveRootFile(FileSystem* fs, const char* name, const void* data, size_t size, bool overwrite);
void* fsLoadFile(FileSystem* fs, const char* name, s32* size);
void* fsLoadFileByHash(FileSystem* fs, const char* hash, s32* size);
void* fsLoadRootFile(FileSystem* fs, const char* name, s32* size);
void fsMakeDir(FileSystem* fs, const char* name);
bool fsExistsFile(FileSystem* fs, const char* name);

View File

@ -1,37 +0,0 @@
// MIT License
// Copyright (c) 2017 Vadim Grigoruk @nesbox // grigoruk@gmail.com
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#include <tic80_types.h>
const u8 EmbedIndexZip[] =
{
#include "../bin/assets/index.html.dat"
};
const s32 EmbedIndexZipSize = sizeof EmbedIndexZip;
const u8 EmbedTicJsZip[] =
{
#include "../bin/assets/tic.js.dat"
};
const s32 EmbedTicJsZipSize = sizeof EmbedTicJsZip;

View File

@ -63,8 +63,9 @@ static duk_ret_t duk_print(duk_context* duk)
s32 color = duk_is_null_or_undefined(duk, 3) ? (TIC_PALETTE_SIZE-1) : duk_to_int(duk, 3);
bool fixed = duk_is_null_or_undefined(duk, 4) ? false : duk_to_boolean(duk, 4);
s32 scale = duk_is_null_or_undefined(duk, 5) ? 1 : duk_to_int(duk, 5);
bool alt = duk_is_null_or_undefined(duk, 6) ? false : duk_to_boolean(duk, 6);
s32 size = memory->api.text_ex(memory, text ? text : "nil", x, y, color, fixed, scale);
s32 size = memory->api.text_ex(memory, text ? text : "nil", x, y, color, fixed, scale, alt);
duk_push_uint(duk, size);
@ -611,6 +612,7 @@ static duk_ret_t duk_font(duk_context* duk)
s32 height = duk_is_null_or_undefined(duk, 5) ? TIC_SPRITESIZE : duk_to_int(duk, 5);
bool fixed = duk_is_null_or_undefined(duk, 6) ? false : duk_to_boolean(duk, 6);
s32 scale = duk_is_null_or_undefined(duk, 7) ? 1 : duk_to_int(duk, 7);
bool alt = duk_is_null_or_undefined(duk, 8) ? false : duk_to_boolean(duk, 8);
if(scale == 0)
{
@ -618,7 +620,7 @@ static duk_ret_t duk_font(duk_context* duk)
return 1;
}
s32 size = drawText(memory, text, x, y, width, height, chromakey, scale, fixed ? drawSpriteFont : drawFixedSpriteFont);
s32 size = drawText(memory, text, x, y, width, height, chromakey, scale, fixed ? drawSpriteFont : drawFixedSpriteFont, alt);
duk_push_int(duk, size);
@ -781,7 +783,7 @@ static const struct{duk_c_function func; s32 params;} ApiFunc[] =
{NULL, 0},
{NULL, 1},
{NULL, 0},
{duk_print, 6},
{duk_print, 7},
{duk_cls, 1},
{duk_pix, 3},
{duk_line, 5},

72
src/kbdlabels.inl Normal file
View File

@ -0,0 +1,72 @@
{"ESC", 0*8+3, 0*8+3, true},
{"F1", 2*8+4, 0*8+3, true},
{"F2", 4*8+4, 0*8+3, true},
{"F3", 6*8+4, 0*8+3, true},
{"F4", 8*8+4, 0*8+3, true},
{"F5", 10*8+4, 0*8+3, true},
{"F6", 12*8+4, 0*8+3, true},
{"F7", 14*8+4, 0*8+3, true},
{"F8", 16*8+4, 0*8+3, true},
{"F9", 18*8+4, 0*8+3, true},
{"F10", 20*8+3, 0*8+3, true},
{"TAB", 0*8+3, 2*8+4, true},
{"`", 2*8+3, 2*8+3, false, "~"},
{"[", 4*8+3, 2*8+3, false, "{"},
{"]", 6*8+3, 2*8+3, false, "}"},
{";", 8*8+3, 2*8+3, false, ":"},
{"'", 10*8+3, 2*8+3, false, "\""},
{"-", 12*8+3, 2*8+3, false, "_"},
{"=", 14*8+3, 2*8+3, false, "+"},
{"/", 16*8+3, 2*8+3, false, "?"},
{"F11", 18*8+3, 2*8+3, true},
{"F12", 20*8+3, 2*8+3, true},
{"1", 0*8+3, 4*8+3, false, "!"},
{"2", 2*8+3, 4*8+3, false, "@"},
{"3", 4*8+3, 4*8+3, false, "#"},
{"4", 6*8+3, 4*8+3, false, "$"},
{"5", 8*8+3, 4*8+3, false, "%"},
{"6", 10*8+3, 4*8+3, false, "^"},
{"7", 12*8+3, 4*8+3, false, "&"},
{"8", 14*8+3, 4*8+3, false, "*"},
{"9", 16*8+3, 4*8+3, false, "("},
{"0", 18*8+3, 4*8+3, false, ")"},
{"BAC", 20*8+3, 4*8+4, true},
{"Q", 0*8+3, 6*8+3},
{"W", 2*8+3, 6*8+3},
{"E", 4*8+3, 6*8+3},
{"R", 6*8+3, 6*8+3},
{"T", 8*8+3, 6*8+3},
{"Y", 10*8+3, 6*8+3},
{"U", 12*8+3, 6*8+3},
{"I", 14*8+3, 6*8+3},
{"O", 16*8+3, 6*8+3},
{"P", 18*8+3, 6*8+3},
{"\\", 20*8+3, 6*8+3, false, "|"},
{"A", 1*8+3, 8*8+3},
{"S", 3*8+3, 8*8+3},
{"D", 5*8+3, 8*8+3},
{"F", 7*8+3, 8*8+3},
{"G", 9*8+3, 8*8+3},
{"H", 11*8+3, 8*8+3},
{"J", 13*8+3, 8*8+3},
{"K", 15*8+3, 8*8+3},
{"L", 17*8+3, 8*8+3},
{"ENTER", 19*8+3, 8*8+4, true},
{"Z", 2*8+3, 10*8+3},
{"X", 4*8+3, 10*8+3},
{"C", 6*8+3, 10*8+3},
{"V", 8*8+3, 10*8+3},
{"B", 10*8+3, 10*8+3},
{"N", 12*8+3, 10*8+3},
{"M", 14*8+3, 10*8+3},
{",", 16*8+3, 10*8+3, false, "<"},
{".", 18*8+3, 10*8+3, false, ">"},
{"CTRL", 0*8+5, 12*8+4, true},
{"ALT", 3*8+6, 12*8+4, true},

407
src/kbdlayout.inl Normal file
View File

@ -0,0 +1,407 @@
//0
tic_key_escape,
tic_key_escape,
tic_key_f1,
tic_key_f1,
tic_key_f2,
tic_key_f2,
tic_key_f3,
tic_key_f3,
tic_key_f4,
tic_key_f4,
tic_key_f5,
tic_key_f5,
tic_key_f6,
tic_key_f6,
tic_key_f7,
tic_key_f7,
tic_key_f8,
tic_key_f8,
tic_key_f9,
tic_key_f9,
tic_key_f10,
tic_key_f10,
//1
tic_key_escape,
tic_key_escape,
tic_key_f1,
tic_key_f1,
tic_key_f2,
tic_key_f2,
tic_key_f3,
tic_key_f3,
tic_key_f4,
tic_key_f4,
tic_key_f5,
tic_key_f5,
tic_key_f6,
tic_key_f6,
tic_key_f7,
tic_key_f7,
tic_key_f8,
tic_key_f8,
tic_key_f9,
tic_key_f9,
tic_key_f10,
tic_key_f10,
//2
tic_key_tab,
tic_key_tab,
tic_key_grave,
tic_key_grave,
tic_key_leftbracket,
tic_key_leftbracket,
tic_key_rightbracket,
tic_key_rightbracket,
tic_key_semicolon,
tic_key_semicolon,
tic_key_apostrophe,
tic_key_apostrophe,
tic_key_minus,
tic_key_minus,
tic_key_equals,
tic_key_equals,
tic_key_slash,
tic_key_slash,
tic_key_f11,
tic_key_f11,
tic_key_f12,
tic_key_f12,
//3
tic_key_tab,
tic_key_tab,
tic_key_grave,
tic_key_grave,
tic_key_leftbracket,
tic_key_leftbracket,
tic_key_rightbracket,
tic_key_rightbracket,
tic_key_semicolon,
tic_key_semicolon,
tic_key_apostrophe,
tic_key_apostrophe,
tic_key_minus,
tic_key_minus,
tic_key_equals,
tic_key_equals,
tic_key_slash,
tic_key_slash,
tic_key_f11,
tic_key_f11,
tic_key_f12,
tic_key_f12,
//4
tic_key_1,
tic_key_1,
tic_key_2,
tic_key_2,
tic_key_3,
tic_key_3,
tic_key_4,
tic_key_4,
tic_key_5,
tic_key_5,
tic_key_6,
tic_key_6,
tic_key_7,
tic_key_7,
tic_key_8,
tic_key_8,
tic_key_9,
tic_key_9,
tic_key_0,
tic_key_0,
tic_key_backspace,
tic_key_backspace,
//5
tic_key_1,
tic_key_1,
tic_key_2,
tic_key_2,
tic_key_3,
tic_key_3,
tic_key_4,
tic_key_4,
tic_key_5,
tic_key_5,
tic_key_6,
tic_key_6,
tic_key_7,
tic_key_7,
tic_key_8,
tic_key_8,
tic_key_9,
tic_key_9,
tic_key_0,
tic_key_0,
tic_key_backspace,
tic_key_backspace,
//6
tic_key_q,
tic_key_q,
tic_key_w,
tic_key_w,
tic_key_e,
tic_key_e,
tic_key_r,
tic_key_r,
tic_key_t,
tic_key_t,
tic_key_y,
tic_key_y,
tic_key_u,
tic_key_u,
tic_key_i,
tic_key_i,
tic_key_o,
tic_key_o,
tic_key_p,
tic_key_p,
tic_key_backslash,
tic_key_backslash,
//7
tic_key_q,
tic_key_q,
tic_key_w,
tic_key_w,
tic_key_e,
tic_key_e,
tic_key_r,
tic_key_r,
tic_key_t,
tic_key_t,
tic_key_y,
tic_key_y,
tic_key_u,
tic_key_u,
tic_key_i,
tic_key_i,
tic_key_o,
tic_key_o,
tic_key_p,
tic_key_p,
tic_key_backslash,
tic_key_backslash,
//8
tic_key_unknown,
tic_key_a,
tic_key_a,
tic_key_s,
tic_key_s,
tic_key_d,
tic_key_d,
tic_key_f,
tic_key_f,
tic_key_g,
tic_key_g,
tic_key_h,
tic_key_h,
tic_key_j,
tic_key_j,
tic_key_k,
tic_key_k,
tic_key_l,
tic_key_l,
tic_key_return,
tic_key_return,
tic_key_return,
//9
tic_key_unknown,
tic_key_a,
tic_key_a,
tic_key_s,
tic_key_s,
tic_key_d,
tic_key_d,
tic_key_f,
tic_key_f,
tic_key_g,
tic_key_g,
tic_key_h,
tic_key_h,
tic_key_j,
tic_key_j,
tic_key_k,
tic_key_k,
tic_key_l,
tic_key_l,
tic_key_return,
tic_key_return,
tic_key_return,
//10
tic_key_shift,
tic_key_shift,
tic_key_z,
tic_key_z,
tic_key_x,
tic_key_x,
tic_key_c,
tic_key_c,
tic_key_v,
tic_key_v,
tic_key_b,
tic_key_b,
tic_key_n,
tic_key_n,
tic_key_m,
tic_key_m,
tic_key_comma,
tic_key_comma,
tic_key_period,
tic_key_period,
tic_key_return,
tic_key_return,
//11
tic_key_shift,
tic_key_shift,
tic_key_z,
tic_key_z,
tic_key_x,
tic_key_x,
tic_key_c,
tic_key_c,
tic_key_v,
tic_key_v,
tic_key_b,
tic_key_b,
tic_key_n,
tic_key_n,
tic_key_m,
tic_key_m,
tic_key_comma,
tic_key_comma,
tic_key_period,
tic_key_period,
tic_key_return,
tic_key_return,
//12
tic_key_ctrl,
tic_key_ctrl,
tic_key_ctrl,
tic_key_alt,
tic_key_alt,
tic_key_alt,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
//13
tic_key_ctrl,
tic_key_ctrl,
tic_key_ctrl,
tic_key_alt,
tic_key_alt,
tic_key_alt,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_space,
tic_key_unknown,
tic_key_unknown,
tic_key_up,
tic_key_up,
tic_key_unknown,
tic_key_unknown,
//14
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_up,
tic_key_up,
tic_key_unknown,
tic_key_unknown,
//15
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_left,
tic_key_left,
tic_key_down,
tic_key_down,
tic_key_right,
tic_key_right,
//16
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_unknown,
tic_key_left,
tic_key_left,
tic_key_down,
tic_key_down,
tic_key_right,
tic_key_right,

View File

@ -1,232 +0,0 @@
[0] = tic_key_unknown,
[1] = tic_key_unknown,
[2] = tic_key_unknown,
[3] = tic_key_unknown,
[SDL_SCANCODE_A] = tic_key_a,
[SDL_SCANCODE_B] = tic_key_b,
[SDL_SCANCODE_C] = tic_key_c,
[SDL_SCANCODE_D] = tic_key_d,
[SDL_SCANCODE_E] = tic_key_e,
[SDL_SCANCODE_F] = tic_key_f,
[SDL_SCANCODE_G] = tic_key_g,
[SDL_SCANCODE_H] = tic_key_h,
[SDL_SCANCODE_I] = tic_key_i,
[SDL_SCANCODE_J] = tic_key_j,
[SDL_SCANCODE_K] = tic_key_k,
[SDL_SCANCODE_L] = tic_key_l,
[SDL_SCANCODE_M] = tic_key_m,
[SDL_SCANCODE_N] = tic_key_n,
[SDL_SCANCODE_O] = tic_key_o,
[SDL_SCANCODE_P] = tic_key_p,
[SDL_SCANCODE_Q] = tic_key_q,
[SDL_SCANCODE_R] = tic_key_r,
[SDL_SCANCODE_S] = tic_key_s,
[SDL_SCANCODE_T] = tic_key_t,
[SDL_SCANCODE_U] = tic_key_u,
[SDL_SCANCODE_V] = tic_key_v,
[SDL_SCANCODE_W] = tic_key_w,
[SDL_SCANCODE_X] = tic_key_x,
[SDL_SCANCODE_Y] = tic_key_y,
[SDL_SCANCODE_Z] = tic_key_z,
[SDL_SCANCODE_1] = tic_key_1,
[SDL_SCANCODE_2] = tic_key_2,
[SDL_SCANCODE_3] = tic_key_3,
[SDL_SCANCODE_4] = tic_key_4,
[SDL_SCANCODE_5] = tic_key_5,
[SDL_SCANCODE_6] = tic_key_6,
[SDL_SCANCODE_7] = tic_key_7,
[SDL_SCANCODE_8] = tic_key_8,
[SDL_SCANCODE_9] = tic_key_9,
[SDL_SCANCODE_0] = tic_key_0,
[SDL_SCANCODE_RETURN] = tic_key_return,
[SDL_SCANCODE_ESCAPE] = tic_key_escape,
[SDL_SCANCODE_BACKSPACE] = tic_key_backspace,
[SDL_SCANCODE_TAB] = tic_key_tab,
[SDL_SCANCODE_SPACE] = tic_key_space,
[SDL_SCANCODE_MINUS] = tic_key_minus,
[SDL_SCANCODE_EQUALS] = tic_key_equals,
[SDL_SCANCODE_LEFTBRACKET] = tic_key_leftbracket,
[SDL_SCANCODE_RIGHTBRACKET] = tic_key_rightbracket,
[SDL_SCANCODE_BACKSLASH] = tic_key_backslash,
[50] = tic_key_unknown,
[SDL_SCANCODE_SEMICOLON] = tic_key_semicolon,
[SDL_SCANCODE_APOSTROPHE] = tic_key_apostrophe,
[SDL_SCANCODE_GRAVE] = tic_key_grave,
[SDL_SCANCODE_COMMA] = tic_key_comma,
[SDL_SCANCODE_PERIOD] = tic_key_period,
[SDL_SCANCODE_SLASH] = tic_key_slash,
[SDL_SCANCODE_CAPSLOCK] = tic_key_capslock,
[SDL_SCANCODE_F1] = tic_key_f1,
[SDL_SCANCODE_F2] = tic_key_f2,
[SDL_SCANCODE_F3] = tic_key_f3,
[SDL_SCANCODE_F4] = tic_key_f4,
[SDL_SCANCODE_F5] = tic_key_f5,
[SDL_SCANCODE_F6] = tic_key_f6,
[SDL_SCANCODE_F7] = tic_key_f7,
[SDL_SCANCODE_F8] = tic_key_f8,
[SDL_SCANCODE_F9] = tic_key_f9,
[SDL_SCANCODE_F10] = tic_key_f10,
[SDL_SCANCODE_F11] = tic_key_f11,
[SDL_SCANCODE_F12] = tic_key_f12,
[70] = tic_key_unknown,
[71] = tic_key_unknown,
[72] = tic_key_unknown,
[SDL_SCANCODE_INSERT] = tic_key_insert,
[SDL_SCANCODE_HOME] = tic_key_home,
[SDL_SCANCODE_PAGEUP] = tic_key_pageup,
[SDL_SCANCODE_DELETE] = tic_key_delete,
[SDL_SCANCODE_END] = tic_key_end,
[SDL_SCANCODE_PAGEDOWN] = tic_key_pagedown,
[SDL_SCANCODE_RIGHT] = tic_key_right,
[SDL_SCANCODE_LEFT] = tic_key_left,
[SDL_SCANCODE_DOWN] = tic_key_down,
[SDL_SCANCODE_UP] = tic_key_up,
[83] = tic_key_unknown,
[84] = tic_key_unknown,
[85] = tic_key_unknown,
[86] = tic_key_unknown,
[87] = tic_key_unknown,
[88] = tic_key_unknown,
[89] = tic_key_unknown,
[90] = tic_key_unknown,
[91] = tic_key_unknown,
[92] = tic_key_unknown,
[93] = tic_key_unknown,
[94] = tic_key_unknown,
[95] = tic_key_unknown,
[96] = tic_key_unknown,
[97] = tic_key_unknown,
[98] = tic_key_unknown,
[99] = tic_key_unknown,
[100] = tic_key_unknown,
[101] = tic_key_unknown,
[102] = tic_key_unknown,
[103] = tic_key_unknown,
[104] = tic_key_unknown,
[105] = tic_key_unknown,
[106] = tic_key_unknown,
[107] = tic_key_unknown,
[108] = tic_key_unknown,
[109] = tic_key_unknown,
[110] = tic_key_unknown,
[111] = tic_key_unknown,
[112] = tic_key_unknown,
[113] = tic_key_unknown,
[114] = tic_key_unknown,
[115] = tic_key_unknown,
[116] = tic_key_unknown,
[117] = tic_key_unknown,
[118] = tic_key_unknown,
[119] = tic_key_unknown,
[120] = tic_key_unknown,
[121] = tic_key_unknown,
[122] = tic_key_unknown,
[123] = tic_key_unknown,
[124] = tic_key_unknown,
[125] = tic_key_unknown,
[126] = tic_key_unknown,
[127] = tic_key_unknown,
[128] = tic_key_unknown,
[129] = tic_key_unknown,
[130] = tic_key_unknown,
[131] = tic_key_unknown,
[132] = tic_key_unknown,
[133] = tic_key_unknown,
[134] = tic_key_unknown,
[135] = tic_key_unknown,
[136] = tic_key_unknown,
[137] = tic_key_unknown,
[138] = tic_key_unknown,
[139] = tic_key_unknown,
[140] = tic_key_unknown,
[141] = tic_key_unknown,
[142] = tic_key_unknown,
[143] = tic_key_unknown,
[144] = tic_key_unknown,
[145] = tic_key_unknown,
[146] = tic_key_unknown,
[147] = tic_key_unknown,
[148] = tic_key_unknown,
[149] = tic_key_unknown,
[150] = tic_key_unknown,
[151] = tic_key_unknown,
[152] = tic_key_unknown,
[153] = tic_key_unknown,
[154] = tic_key_unknown,
[155] = tic_key_unknown,
[156] = tic_key_unknown,
[157] = tic_key_unknown,
[158] = tic_key_unknown,
[159] = tic_key_unknown,
[160] = tic_key_unknown,
[161] = tic_key_unknown,
[162] = tic_key_unknown,
[163] = tic_key_unknown,
[164] = tic_key_unknown,
[165] = tic_key_unknown,
[166] = tic_key_unknown,
[167] = tic_key_unknown,
[168] = tic_key_unknown,
[169] = tic_key_unknown,
[170] = tic_key_unknown,
[171] = tic_key_unknown,
[172] = tic_key_unknown,
[173] = tic_key_unknown,
[174] = tic_key_unknown,
[175] = tic_key_unknown,
[176] = tic_key_unknown,
[177] = tic_key_unknown,
[178] = tic_key_unknown,
[179] = tic_key_unknown,
[180] = tic_key_unknown,
[181] = tic_key_unknown,
[182] = tic_key_unknown,
[183] = tic_key_unknown,
[184] = tic_key_unknown,
[185] = tic_key_unknown,
[186] = tic_key_unknown,
[187] = tic_key_unknown,
[188] = tic_key_unknown,
[189] = tic_key_unknown,
[190] = tic_key_unknown,
[191] = tic_key_unknown,
[192] = tic_key_unknown,
[193] = tic_key_unknown,
[194] = tic_key_unknown,
[195] = tic_key_unknown,
[196] = tic_key_unknown,
[197] = tic_key_unknown,
[198] = tic_key_unknown,
[199] = tic_key_unknown,
[200] = tic_key_unknown,
[201] = tic_key_unknown,
[202] = tic_key_unknown,
[203] = tic_key_unknown,
[204] = tic_key_unknown,
[205] = tic_key_unknown,
[206] = tic_key_unknown,
[207] = tic_key_unknown,
[208] = tic_key_unknown,
[209] = tic_key_unknown,
[210] = tic_key_unknown,
[211] = tic_key_unknown,
[212] = tic_key_unknown,
[213] = tic_key_unknown,
[214] = tic_key_unknown,
[215] = tic_key_unknown,
[216] = tic_key_unknown,
[217] = tic_key_unknown,
[218] = tic_key_unknown,
[219] = tic_key_unknown,
[220] = tic_key_unknown,
[221] = tic_key_unknown,
[222] = tic_key_unknown,
[223] = tic_key_unknown,
[SDL_SCANCODE_LCTRL] = tic_key_ctrl,
[SDL_SCANCODE_LSHIFT] = tic_key_shift,
[SDL_SCANCODE_LALT] = tic_key_alt,
[SDL_SCANCODE_LGUI] = tic_key_ctrl,
[SDL_SCANCODE_RCTRL] = tic_key_ctrl,
[SDL_SCANCODE_RSHIFT] = tic_key_shift,
[SDL_SCANCODE_RALT] = tic_key_alt,
[SDL_SCANCODE_RGUI] = tic_key_ctrl,

82
src/keycodes.inl Normal file
View File

@ -0,0 +1,82 @@
[tic_key_unknown] = SDLK_UNKNOWN,
[tic_key_a] = SDLK_a,
[tic_key_b] = SDLK_b,
[tic_key_c] = SDLK_c,
[tic_key_d] = SDLK_d,
[tic_key_e] = SDLK_e,
[tic_key_f] = SDLK_f,
[tic_key_g] = SDLK_g,
[tic_key_h] = SDLK_h,
[tic_key_i] = SDLK_i,
[tic_key_j] = SDLK_j,
[tic_key_k] = SDLK_k,
[tic_key_l] = SDLK_l,
[tic_key_m] = SDLK_m,
[tic_key_n] = SDLK_n,
[tic_key_o] = SDLK_o,
[tic_key_p] = SDLK_p,
[tic_key_q] = SDLK_q,
[tic_key_r] = SDLK_r,
[tic_key_s] = SDLK_s,
[tic_key_t] = SDLK_t,
[tic_key_u] = SDLK_u,
[tic_key_v] = SDLK_v,
[tic_key_w] = SDLK_w,
[tic_key_x] = SDLK_x,
[tic_key_y] = SDLK_y,
[tic_key_z] = SDLK_z,
[tic_key_0] = SDLK_0,
[tic_key_1] = SDLK_1,
[tic_key_2] = SDLK_2,
[tic_key_3] = SDLK_3,
[tic_key_4] = SDLK_4,
[tic_key_5] = SDLK_5,
[tic_key_6] = SDLK_6,
[tic_key_7] = SDLK_7,
[tic_key_8] = SDLK_8,
[tic_key_9] = SDLK_9,
[tic_key_minus] = SDLK_MINUS,
[tic_key_equals] = SDLK_EQUALS,
[tic_key_leftbracket] = SDLK_LEFTBRACKET,
[tic_key_rightbracket] = SDLK_RIGHTBRACKET,
[tic_key_backslash] = SDLK_BACKSLASH,
[tic_key_semicolon] = SDLK_SEMICOLON,
[tic_key_apostrophe] = SDLK_QUOTE,
[tic_key_grave] = SDLK_BACKQUOTE,
[tic_key_comma] = SDLK_COMMA,
[tic_key_period] = SDLK_PERIOD,
[tic_key_slash] = SDLK_SLASH,
[tic_key_space] = SDLK_SPACE,
[tic_key_tab] = SDLK_TAB,
[tic_key_return] = SDLK_RETURN,
[tic_key_backspace] = SDLK_BACKSPACE,
[tic_key_delete] = SDLK_DELETE,
[tic_key_insert] = SDLK_INSERT,
[tic_key_pageup] = SDLK_PAGEUP,
[tic_key_pagedown] = SDLK_PAGEDOWN,
[tic_key_home] = SDLK_HOME,
[tic_key_end] = SDLK_END,
[tic_key_up] = SDLK_UP,
[tic_key_down] = SDLK_DOWN,
[tic_key_left] = SDLK_LEFT,
[tic_key_right] = SDLK_RIGHT,
[tic_key_capslock] = SDLK_CAPSLOCK,
[tic_key_ctrl] = SDLK_LCTRL,
[tic_key_shift] = SDLK_LSHIFT,
[tic_key_alt] = SDLK_LALT,
[tic_key_escape] = SDLK_ESCAPE,
[tic_key_f1] = SDLK_F1,
[tic_key_f2] = SDLK_F2,
[tic_key_f3] = SDLK_F3,
[tic_key_f4] = SDLK_F4,
[tic_key_f5] = SDLK_F5,
[tic_key_f6] = SDLK_F6,
[tic_key_f7] = SDLK_F7,
[tic_key_f8] = SDLK_F8,
[tic_key_f9] = SDLK_F9,
[tic_key_f10] = SDLK_F10,
[tic_key_f11] = SDLK_F11,
[tic_key_f12] = SDLK_F12,

View File

@ -933,6 +933,7 @@ static s32 lua_font(lua_State* lua)
u8 chromakey = 0;
bool fixed = false;
s32 scale = 1;
bool alt = false;
if(top >= 3)
{
@ -955,6 +956,11 @@ static s32 lua_font(lua_State* lua)
if(top >= 8)
{
scale = getLuaNumber(lua, 8);
if(top >= 9)
{
alt = lua_toboolean(lua, 9);
}
}
}
}
@ -967,7 +973,7 @@ static s32 lua_font(lua_State* lua)
return 1;
}
s32 size = drawText(memory, text, x, y, width, height, chromakey, scale, fixed ? drawSpriteFont : drawFixedSpriteFont);
s32 size = drawText(memory, text, x, y, width, height, chromakey, scale, fixed ? drawSpriteFont : drawFixedSpriteFont, alt);
lua_pushinteger(lua, size);
@ -991,6 +997,7 @@ static s32 lua_print(lua_State* lua)
s32 color = TIC_PALETTE_SIZE-1;
bool fixed = false;
s32 scale = 1;
bool alt = false;
const char* text = printString(lua, 1);
@ -1010,6 +1017,11 @@ static s32 lua_print(lua_State* lua)
if(top >= 6)
{
scale = getLuaNumber(lua, 6);
if(top >= 7)
{
alt = lua_toboolean(lua, 7);
}
}
}
}
@ -1021,7 +1033,7 @@ static s32 lua_print(lua_State* lua)
return 1;
}
s32 size = memory->api.text_ex(memory, text ? text : "nil", x, y, color, fixed, scale);
s32 size = memory->api.text_ex(memory, text ? text : "nil", x, y, color, fixed, scale, alt);
lua_pushinteger(lua, size);
@ -1402,10 +1414,12 @@ static const tic_outline_item* getLuaOutline(const char* code, s32* size)
return items;
}
void evalLua(tic_mem* tic, const char* code) {
static void evalLua(tic_mem* tic, const char* code) {
tic_machine* machine = (tic_machine*)tic;
lua_State* lua = machine->lua;
if (!lua) return;
lua_settop(lua, 0);
if(luaL_loadstring(lua, code) != LUA_OK || lua_pcall(lua, 0, LUA_MULTRET, 0) != LUA_OK)
@ -1414,10 +1428,6 @@ void evalLua(tic_mem* tic, const char* code) {
}
}
void evalPlaceholder(tic_mem* tic, const char* code) {
printf("TODO: not yet implemented\n.");
}
static const tic_script_config LuaSyntaxConfig =
{
.init = initLua,
@ -1597,7 +1607,7 @@ static const tic_script_config MoonSyntaxConfig =
.getOutline = getMoonOutline,
.parse = parseCode,
.eval = evalPlaceholder,
.eval = NULL,
.blockCommentStart = NULL,
.blockCommentEnd = NULL,
@ -1738,7 +1748,7 @@ static const tic_outline_item* getFennelOutline(const char* code, s32* size)
return items;
}
void evalFennel(tic_mem* tic, const char* code) {
static void evalFennel(tic_mem* tic, const char* code) {
tic_machine* machine = (tic_machine*)tic;
lua_State* fennel = machine->lua;

View File

@ -82,19 +82,16 @@ typedef struct
Clip clip;
tic_sound_register_data registers[TIC_SOUND_CHANNELS];
struct
{
tic_sound_register_data left[TIC_SOUND_CHANNELS];
tic_sound_register_data right[TIC_SOUND_CHANNELS];
} registers;
Channel channels[TIC_SOUND_CHANNELS];
struct
{
enum
{
MusicStop = 0,
MusicPlayFrame,
MusicPlay,
} play;
s32 ticks;
Channel channels[TIC_SOUND_CHANNELS];
} music;
@ -141,7 +138,12 @@ typedef struct
};
blip_buffer_t* blip;
struct
{
blip_buffer_t* left;
blip_buffer_t* right;
} blip;
s32 samplerate;
struct
@ -168,10 +170,10 @@ typedef struct
} tic_machine;
typedef s32(DrawCharFunc)(tic_mem* memory, u8 symbol, s32 x, s32 y, s32 width, s32 height, u8 color, s32 scale);
s32 drawText(tic_mem* memory, const char* text, s32 x, s32 y, s32 width, s32 height, u8 color, s32 scale, DrawCharFunc* func);
s32 drawSpriteFont(tic_mem* memory, u8 symbol, s32 x, s32 y, s32 width, s32 height, u8 chromakey, s32 scale);
s32 drawFixedSpriteFont(tic_mem* memory, u8 index, s32 x, s32 y, s32 width, s32 height, u8 chromakey, s32 scale);
typedef s32(DrawCharFunc)(tic_mem* memory, u8 symbol, s32 x, s32 y, s32 width, s32 height, u8 color, s32 scale, bool alt);
s32 drawText(tic_mem* memory, const char* text, s32 x, s32 y, s32 width, s32 height, u8 color, s32 scale, DrawCharFunc* func, bool alt);
s32 drawSpriteFont(tic_mem* memory, u8 symbol, s32 x, s32 y, s32 width, s32 height, u8 chromakey, s32 scale, bool alt);
s32 drawFixedSpriteFont(tic_mem* memory, u8 index, s32 x, s32 y, s32 width, s32 height, u8 chromakey, s32 scale, bool alt);
void parseCode(const tic_script_config* config, const char* start, u8* color, const tic_code_theme* theme);
#if defined(TIC_BUILD_WITH_SQUIRREL)

View File

@ -328,17 +328,15 @@ static void drawTileIndex(Map* map, s32 x, s32 y)
{
char buf[] = "#999";
sprintf(buf, "#%03i", index);
map->tic->api.text(map->tic, buf, x, y, (tic_color_light_blue));
map->tic->api.text(map->tic, buf, x, y, (tic_color_light_blue), false);
}
}
static void drawMapToolbar(Map* map, s32 x, s32 y)
{
tic_mem* tic = map->tic;
map->tic->api.rect(map->tic, 0, 0, TIC80_WIDTH, TOOLBAR_SIZE, (tic_color_white));
drawTileIndex(map, TIC80_WIDTH/2 - tic->font.width, y);
drawTileIndex(map, TIC80_WIDTH/2 - TIC_FONT_WIDTH, y);
x = drawSheetButton(map, TIC80_WIDTH, 0);
x = drawFillButton(map, x, 0);
@ -419,8 +417,6 @@ static void drawSheetOvr(Map* map, s32 x, s32 y)
static void drawCursorPos(Map* map, s32 x, s32 y)
{
tic_mem* tic = map->tic;
char pos[] = "999:999";
s32 tx = 0, ty = 0;
@ -428,16 +424,16 @@ static void drawCursorPos(Map* map, s32 x, s32 y)
sprintf(pos, "%03i:%03i", tx, ty);
s32 width = map->tic->api.text(map->tic, pos, TIC80_WIDTH, 0, (tic_color_gray));
s32 width = map->tic->api.text(map->tic, pos, TIC80_WIDTH, 0, (tic_color_gray), false);
s32 px = x + (TIC_SPRITESIZE + 3);
if(px + width >= TIC80_WIDTH) px = x - (width + 2);
s32 py = y - (tic->font.height + 2);
s32 py = y - (TIC_FONT_HEIGHT + 2);
if(py <= TOOLBAR_SIZE) py = y + (TIC_SPRITESIZE + 3);
map->tic->api.rect(map->tic, px - 1, py - 1, width + 1, tic->font.height + 1, (tic_color_white));
map->tic->api.text(map->tic, pos, px, py, (tic_color_light_blue));
map->tic->api.rect(map->tic, px - 1, py - 1, width + 1, TIC_FONT_HEIGHT + 1, (tic_color_white));
map->tic->api.text(map->tic, pos, px, py, (tic_color_light_blue), false);
}
static void setMapSprite(Map* map, s32 x, s32 y)
@ -1064,14 +1060,13 @@ static void processKeyboard(Map* map)
static void tick(Map* map)
{
tic_mem* tic = map->tic;
map->tickCounter++;
processKeyboard(map);
map->tic->api.clear(map->tic, TIC_COLOR_BG);
drawSheet(map, TIC80_WIDTH - TIC_SPRITESHEET_SIZE - 1, TOOLBAR_SIZE);
drawMapToolbar(map, TIC80_WIDTH - 9*tic->font.width, 1);
drawMapToolbar(map, TIC80_WIDTH - 9*TIC_FONT_WIDTH, 1);
drawToolbar(map->tic, TIC_COLOR_BG, false);
}

View File

@ -119,8 +119,8 @@ static void drawDialog(Menu* menu)
{
static const char Label[] = "GAME MENU";
s32 size = tic->api.text(tic, Label, 0, -tic->font.height, 0);
tic->api.text(tic, Label, rect.x + (DIALOG_WIDTH - size)/2, rect.y-(TOOLBAR_SIZE-2), (tic_color_gray));
s32 size = tic->api.text(tic, Label, 0, -TIC_FONT_HEIGHT, 0, false);
tic->api.text(tic, Label, rect.x + (DIALOG_WIDTH - size)/2, rect.y-(TOOLBAR_SIZE-2), (tic_color_gray), false);
}
{
@ -157,7 +157,7 @@ static void drawTabDisabled(Menu* menu, s32 x, s32 y, s32 id)
{
char buf[] = "#1";
sprintf(buf, "#%i", id+1);
tic->api.fixed_text(tic, buf, x+2, y, (over ? tic_color_light_blue : tic_color_gray));
tic->api.fixed_text(tic, buf, x+2, y, (over ? tic_color_light_blue : tic_color_gray), false);
}
}
@ -174,7 +174,7 @@ static void drawTab(Menu* menu, s32 x, s32 y, s32 id)
{
char buf[] = "#1";
sprintf(buf, "#%i", id+1);
tic->api.fixed_text(tic, buf, x+2, y, (tic_color_gray));
tic->api.fixed_text(tic, buf, x+2, y, (tic_color_gray), false);
}
}
@ -221,7 +221,7 @@ static void drawPlayerButtons(Menu* menu, s32 x, s32 y)
if(strlen(label) > MaxChars)
label[MaxChars] = '\0';
tic->api.text(tic, label, rect.x+10, rect.y+2, (over ? tic_color_gray : tic_color_black));
tic->api.text(tic, label, rect.x+10, rect.y+2, (over ? tic_color_gray : tic_color_black), false);
}
}
@ -253,7 +253,7 @@ static void drawGamepadMenu(Menu* menu)
static const char Label[] = "BACK";
tic_rect rect = {dlgRect.x + 25, dlgRect.y + 56, (sizeof(Label)-1)*tic->font.width, tic->font.height};
tic_rect rect = {dlgRect.x + 25, dlgRect.y + 56, (sizeof(Label)-1)*TIC_FONT_WIDTH, TIC_FONT_HEIGHT};
bool over = false;
bool down = false;
@ -280,12 +280,12 @@ static void drawGamepadMenu(Menu* menu)
if(down)
{
tic->api.text(tic, Label, rect.x, rect.y+1, (tic_color_light_blue));
tic->api.text(tic, Label, rect.x, rect.y+1, (tic_color_light_blue), false);
}
else
{
tic->api.text(tic, Label, rect.x, rect.y+1, (tic_color_black));
tic->api.text(tic, Label, rect.x, rect.y, (over ? tic_color_light_blue : tic_color_white));
tic->api.text(tic, Label, rect.x, rect.y+1, (tic_color_black), false);
tic->api.text(tic, Label, rect.x, rect.y, (over ? tic_color_light_blue : tic_color_white), false);
}
{
@ -321,7 +321,7 @@ static void drawMainMenu(Menu* menu)
{
if(!*Rows[i])continue;
tic_rect label = {rect.x + 22, rect.y + (tic->font.height+1)*i + 16, 86, tic->font.height+1};
tic_rect label = {rect.x + 22, rect.y + (TIC_FONT_HEIGHT+1)*i + 16, 86, TIC_FONT_HEIGHT+1};
bool over = false;
bool down = false;
@ -346,12 +346,12 @@ static void drawMainMenu(Menu* menu)
if(down)
{
tic->api.text(tic, Rows[i], label.x, label.y+1, (tic_color_light_blue));
tic->api.text(tic, Rows[i], label.x, label.y+1, (tic_color_light_blue), false);
}
else
{
tic->api.text(tic, Rows[i], label.x, label.y+1, (tic_color_black));
tic->api.text(tic, Rows[i], label.x, label.y, (over ? tic_color_light_blue : tic_color_white));
tic->api.text(tic, Rows[i], label.x, label.y+1, (tic_color_black), false);
tic->api.text(tic, Rows[i], label.x, label.y, (over ? tic_color_light_blue : tic_color_white), false);
}
if(i == menu->main.focus)

View File

@ -49,9 +49,9 @@ static void redo(Music* music)
history_redo(music->history);
}
const tic_music_pos* getMusicPos(Music* music)
static const tic_sound_state* getMusicPos(Music* music)
{
return &music->tic->ram.music_pos;
return &music->tic->ram.sound_state;
}
static void drawDownBorder(Music* music, s32 x, s32 y, s32 w, s32 h)
@ -66,7 +66,6 @@ static void drawDownBorder(Music* music, s32 x, s32 y, s32 w, s32 h)
static void drawEditbox(Music* music, s32 x, s32 y, s32 value, void(*set)(Music*, s32, s32 channel), s32 channel)
{
tic_mem* tic = music->tic;
static const u8 LeftArrow[] =
{
0b00100000,
@ -91,12 +90,8 @@ static void drawEditbox(Music* music, s32 x, s32 y, s32 value, void(*set)(Music*
0b00000000,
};
enum{ArrowWidth = 4, ArrowHeight = 6};
x -= ArrowWidth + 2;
{
tic_rect rect = { x, y, ArrowWidth, ArrowHeight };
tic_rect rect = { x, y, TIC_FONT_WIDTH, TIC_FONT_HEIGHT };
bool over = false;
bool down = false;
@ -116,9 +111,9 @@ static void drawEditbox(Music* music, s32 x, s32 y, s32 value, void(*set)(Music*
}
{
x += ArrowWidth + 2;
x += TIC_FONT_WIDTH;
tic_rect rect = { x-1, y-1, tic->font.width*2+1, tic->font.height+1 };
tic_rect rect = { x-1, y-1, TIC_FONT_WIDTH*2+1, TIC_FONT_HEIGHT+1 };
if (checkMousePos(&rect))
{
@ -130,7 +125,7 @@ static void drawEditbox(Music* music, s32 x, s32 y, s32 value, void(*set)(Music*
music->tracker.col = channel * CHANNEL_COLS;
s32 mx = getMouseX() - rect.x;
music->tracker.patternCol = mx / tic->font.width;
music->tracker.patternCol = mx / TIC_FONT_WIDTH;
}
}
@ -139,18 +134,18 @@ static void drawEditbox(Music* music, s32 x, s32 y, s32 value, void(*set)(Music*
if(music->tracker.row == -1 && music->tracker.col / CHANNEL_COLS == channel)
{
music->tic->api.rect(music->tic, x - 1 + music->tracker.patternCol * tic->font.width, y - 1, tic->font.width + 1, tic->font.height + 1, (tic_color_red));
music->tic->api.rect(music->tic, x - 1 + music->tracker.patternCol * TIC_FONT_WIDTH, y - 1, TIC_FONT_WIDTH + 1, TIC_FONT_HEIGHT + 1, (tic_color_red));
}
char val[] = "99";
sprintf(val, "%02i", value);
music->tic->api.fixed_text(music->tic, val, x, y, (tic_color_white));
music->tic->api.fixed_text(music->tic, val, x, y, (tic_color_white), false);
}
{
x += 2*tic->font.width;
x += 2*TIC_FONT_WIDTH;
tic_rect rect = { x, y, ArrowWidth, ArrowHeight };
tic_rect rect = { x, y, TIC_FONT_WIDTH, TIC_FONT_HEIGHT };
bool over = false;
bool down = false;
@ -172,14 +167,13 @@ static void drawEditbox(Music* music, s32 x, s32 y, s32 value, void(*set)(Music*
static void drawSwitch(Music* music, s32 x, s32 y, const char* label, s32 value, void(*set)(Music*, s32, void* data), void* data)
{
tic_mem* tic = music->tic;
static const u8 LeftArrow[] =
{
0b00100000,
0b01100000,
0b11100000,
0b01100000,
0b00100000,
0b00010000,
0b00110000,
0b01110000,
0b00110000,
0b00010000,
0b00000000,
0b00000000,
0b00000000,
@ -187,25 +181,23 @@ static void drawSwitch(Music* music, s32 x, s32 y, const char* label, s32 value,
static const u8 RightArrow[] =
{
0b10000000,
0b11000000,
0b11100000,
0b11000000,
0b10000000,
0b01000000,
0b01100000,
0b01110000,
0b01100000,
0b01000000,
0b00000000,
0b00000000,
0b00000000,
};
enum{ArrowWidth = 4, ArrowHeight = 6};
music->tic->api.text(music->tic, label, x, y+1, (tic_color_black));
music->tic->api.text(music->tic, label, x, y, (tic_color_white));
music->tic->api.text(music->tic, label, x, y+1, (tic_color_black), false);
music->tic->api.text(music->tic, label, x, y, (tic_color_white), false);
{
x += (s32)strlen(label)*tic->font.width + 1;
x += (s32)strlen(label)*TIC_FONT_WIDTH;
tic_rect rect = { x, y, ArrowWidth, ArrowHeight};
tic_rect rect = { x, y, TIC_FONT_WIDTH, TIC_FONT_HEIGHT };
bool over = false;
bool down = false;
@ -226,17 +218,16 @@ static void drawSwitch(Music* music, s32 x, s32 y, const char* label, s32 value,
}
{
x += ArrowWidth;
char val[] = "999";
sprintf(val, "%02i", value);
music->tic->api.fixed_text(music->tic, val, x, y+1, (tic_color_black));
music->tic->api.fixed_text(music->tic, val, x, y, (tic_color_white));
music->tic->api.fixed_text(music->tic, val, x + TIC_FONT_WIDTH, y+1, (tic_color_black), false);
music->tic->api.fixed_text(music->tic, val, x += TIC_FONT_WIDTH, y, (tic_color_white), false);
}
{
x += (value > 99 ? 3 : 2)*tic->font.width;
x += (value > 99 ? 3 : 2)*TIC_FONT_WIDTH;
tic_rect rect = { x, y, ArrowWidth, ArrowHeight};
tic_rect rect = { x, y, TIC_FONT_WIDTH, TIC_FONT_HEIGHT };
bool over = false;
bool down = false;
@ -307,8 +298,8 @@ static void upRow(Music* music)
static void downRow(Music* music)
{
const tic_music_pos* pos = getMusicPos(music);
if(pos->track == music->track && music->tracker.follow) return;
const tic_sound_state* pos = getMusicPos(music);
if(pos->music.track == music->track && music->tracker.follow) return;
if (music->tracker.row < getRows(music) - 1)
{
@ -395,17 +386,17 @@ static void downFrame(Music* music)
static bool checkPlayFrame(Music* music, s32 frame)
{
const tic_music_pos* pos = getMusicPos(music);
const tic_sound_state* pos = getMusicPos(music);
return pos->track == music->track &&
pos->frame == frame;
return pos->music.track == music->track &&
pos->music.frame == frame;
}
static bool checkPlayRow(Music* music, s32 row)
{
const tic_music_pos* pos = getMusicPos(music);
const tic_sound_state* pos = getMusicPos(music);
return checkPlayFrame(music, music->tracker.frame) && pos->row == row;
return checkPlayFrame(music, music->tracker.frame) && pos->music.row == row;
}
static tic_track_pattern* getPattern(Music* music, s32 channel)
@ -759,6 +750,9 @@ static void processTrackerKeyboard(Music* music)
return;
}
if(tic->api.key(tic, tic_key_ctrl) || tic->api.key(tic, tic_key_alt))
return;
bool shift = tic->api.key(tic, tic_key_shift);
if(shift)
@ -795,8 +789,8 @@ static void processTrackerKeyboard(Music* music)
else if(keyWasPressed(tic_key_space)) playNote(music);
else if(keyWasPressed(tic_key_return))
{
const tic_music_pos* pos = getMusicPos(music);
pos->track < 0
const tic_sound_state* pos = getMusicPos(music);
pos->music.track < 0
? (shift ? playFrameRow(music) : playFrame(music))
: stopTrack(music);
}
@ -958,10 +952,14 @@ static void processTrackerKeyboard(Music* music)
static void processPatternKeyboard(Music* music)
{
tic_mem* tic = music->tic;
s32 channel = music->tracker.col / CHANNEL_COLS;
if(tic->api.key(tic, tic_key_ctrl) || tic->api.key(tic, tic_key_alt))
return;
if(keyWasPressed(tic_key_delete)) setChannelPatternValue(music, 0, channel);
else if(keyWasPressed(tic_key_tab)) nextPattern(music);
else if(keyWasPressed(tic_key_tab)) nextPattern(music);
else if(keyWasPressed(tic_key_left)) patternColLeft(music);
else if(keyWasPressed(tic_key_right)) patternColRight(music);
else if(keyWasPressed(tic_key_down)
@ -1012,8 +1010,6 @@ static void processKeyboard(Music* music)
{
tic_mem* tic = music->tic;
if(tic->ram.input.keyboard.data == 0) return;
switch(getClipboardEvent())
{
case TIC_CLIPBOARD_CUT: copyToClipboard(music, true); break;
@ -1114,28 +1110,24 @@ static void setRows(Music* music, s32 delta, void* data)
static void drawTopPanel(Music* music, s32 x, s32 y)
{
tic_mem* tic = music->tic;
tic_track* track = getTrack(music);
drawSwitch(music, x, y, "TRACK", music->track, setIndex, NULL);
drawSwitch(music, x += tic->font.width * 10, y, "TEMPO", track->tempo + DEFAULT_TEMPO, setTempo, NULL);
drawSwitch(music, x += tic->font.width * 11, y, "SPD", track->speed + DEFAULT_SPEED, setSpeed, NULL);
drawSwitch(music, x += tic->font.width * 8, y, "ROWS", MUSIC_PATTERN_ROWS - track->rows, setRows, NULL);
drawSwitch(music, x += TIC_FONT_WIDTH * 10, y, "TEMPO", track->tempo + DEFAULT_TEMPO, setTempo, NULL);
drawSwitch(music, x += TIC_FONT_WIDTH * 11, y, "SPD", track->speed + DEFAULT_SPEED, setSpeed, NULL);
drawSwitch(music, x += TIC_FONT_WIDTH * 8, y, "ROWS", MUSIC_PATTERN_ROWS - track->rows, setRows, NULL);
}
static void drawTrackerFrames(Music* music, s32 x, s32 y)
{
tic_mem* tic = music->tic;
enum
{
Border = 1,
Width = TIC_FONT_WIDTH * 2 + Border,
};
s32 width = tic->font.width * 2 + Border;
{
tic_rect rect = { x - Border, y - Border, width, MUSIC_FRAMES * tic->font.height + Border };
tic_rect rect = { x - Border, y - Border, Width, MUSIC_FRAMES * TIC_FONT_HEIGHT + Border };
if (checkMousePos(&rect))
{
@ -1144,7 +1136,7 @@ static void drawTrackerFrames(Music* music, s32 x, s32 y)
if (checkMouseDown(&rect, tic_mouse_left))
{
s32 my = getMouseY() - rect.y - Border;
music->tracker.frame = my / tic->font.height;
music->tracker.frame = my / TIC_FONT_HEIGHT;
}
}
@ -1168,26 +1160,26 @@ static void drawTrackerFrames(Music* music, s32 x, s32 y)
0b00000000,
};
drawBitIcon(x - 7, y + i*tic->font.height, Icon, tic_color_black);
drawBitIcon(x - 7, y - 1 + i*tic->font.height, Icon, tic_color_white);
drawBitIcon(x - TIC_FONT_WIDTH-1, y + i*TIC_FONT_HEIGHT, Icon, tic_color_black);
drawBitIcon(x - TIC_FONT_WIDTH-1, y - 1 + i*TIC_FONT_HEIGHT, Icon, tic_color_white);
}
if (i == music->tracker.frame)
{
music->tic->api.rect(music->tic, x - 1, y - 1 + i*tic->font.height, width, tic->font.height + 1, (tic_color_white));
music->tic->api.rect(music->tic, x - 1, y - 1 + i*TIC_FONT_HEIGHT, Width, TIC_FONT_HEIGHT + 1, (tic_color_white));
}
char buf[] = "99";
sprintf(buf, "%02i", i);
music->tic->api.fixed_text(music->tic, buf, x, y + i*tic->font.height, (tic_color_dark_gray));
music->tic->api.fixed_text(music->tic, buf, x, y + i*TIC_FONT_HEIGHT, (tic_color_dark_gray), false);
}
if(music->tracker.row >= 0)
{
char buf[] = "99";
sprintf(buf, "%02i", music->tracker.row);
music->tic->api.fixed_text(music->tic, buf, x, y - 10, (tic_color_black));
music->tic->api.fixed_text(music->tic, buf, x, y - 11, (tic_color_white));
music->tic->api.fixed_text(music->tic, buf, x, y - 10, (tic_color_black), false);
music->tic->api.fixed_text(music->tic, buf, x, y - 11, (tic_color_white), false);
}
}
@ -1213,12 +1205,11 @@ static void drawTrackerChannel(Music* music, s32 x, s32 y, s32 channel)
enum
{
Border = 1,
Rows = TRACKER_ROWS,
Rows = TRACKER_ROWS,
Width = TIC_FONT_WIDTH * 8 + Border,
};
s32 width = tic->font.width * 8 + Border;
tic_rect rect = {x - Border, y - Border, width, Rows*tic->font.height + Border};
tic_rect rect = {x - Border, y - Border, Width, Rows*TIC_FONT_HEIGHT + Border};
if(checkMousePos(&rect))
{
@ -1229,8 +1220,8 @@ static void drawTrackerChannel(Music* music, s32 x, s32 y, s32 channel)
s32 mx = getMouseX() - rect.x - Border;
s32 my = getMouseY() - rect.y - Border;
s32 col = music->tracker.col = channel * CHANNEL_COLS + mx / tic->font.width;
s32 row = music->tracker.row = my / tic->font.height + music->tracker.scroll;
s32 col = music->tracker.col = channel * CHANNEL_COLS + mx / TIC_FONT_WIDTH;
s32 row = music->tracker.row = my / TIC_FONT_HEIGHT + music->tracker.scroll;
if(music->tracker.select.drag)
{
@ -1266,11 +1257,11 @@ static void drawTrackerChannel(Music* music, s32 x, s32 y, s32 channel)
for (s32 i = start, pos = 0; i < end; i++, pos++)
{
s32 rowy = y + pos*tic->font.height;
s32 rowy = y + pos*TIC_FONT_HEIGHT;
if (i == music->tracker.row)
{
music->tic->api.rect(music->tic, x - 1, rowy - 1, width, tic->font.height + 1, (tic_color_dark_red));
music->tic->api.rect(music->tic, x - 1, rowy - 1, Width, TIC_FONT_HEIGHT + 1, (tic_color_dark_red));
}
// draw selection
@ -1280,13 +1271,13 @@ static void drawTrackerChannel(Music* music, s32 x, s32 y, s32 channel)
if (rect.h > 1 && i >= rect.y && i < rect.y + rect.h)
{
s32 sx = x - 1;
tic->api.rect(tic, sx, rowy - 1, CHANNEL_COLS * tic->font.width + 1, tic->font.height + 1, (tic_color_yellow));
tic->api.rect(tic, sx, rowy - 1, CHANNEL_COLS * TIC_FONT_WIDTH + 1, TIC_FONT_HEIGHT + 1, (tic_color_yellow));
}
}
if (checkPlayRow(music, i))
{
music->tic->api.rect(music->tic, x - 1, rowy - 1, width, tic->font.height + 1, (tic_color_white));
music->tic->api.rect(music->tic, x - 1, rowy - 1, Width, TIC_FONT_HEIGHT + 1, (tic_color_white));
}
char rowStr[] = "--------";
@ -1315,30 +1306,30 @@ static void drawTrackerChannel(Music* music, s32 x, s32 y, s32 channel)
bool beetRow = i % NOTES_PER_BEET == 0;
for (s32 c = 0, colx = x; c < sizeof rowStr - 1; c++, colx += tic->font.width)
for (s32 c = 0, colx = x; c < sizeof rowStr - 1; c++, colx += TIC_FONT_WIDTH)
{
char sym = rowStr[c];
const u8* colors = beetRow || sym != '-' ? Colors : DarkColors;
music->tic->api.draw_char(music->tic, sym, colx, rowy, colors[ColorIndexes[c]]);
music->tic->api.draw_char(music->tic, sym, colx, rowy, colors[ColorIndexes[c]], false);
}
}
}
else music->tic->api.fixed_text(music->tic, rowStr, x, rowy, (tic_color_dark_gray));
else music->tic->api.fixed_text(music->tic, rowStr, x, rowy, (tic_color_dark_gray), false);
if (i == music->tracker.row)
{
if (music->tracker.col / CHANNEL_COLS == channel)
{
s32 col = music->tracker.col % CHANNEL_COLS;
s32 colx = x - 1 + col * tic->font.width;
music->tic->api.rect(music->tic, colx, rowy - 1, tic->font.width + 1, tic->font.height + 1, (tic_color_red));
music->tic->api.draw_char(music->tic, rowStr[col], colx + 1, rowy, (tic_color_black));
s32 colx = x - 1 + col * TIC_FONT_WIDTH;
music->tic->api.rect(music->tic, colx, rowy - 1, TIC_FONT_WIDTH + 1, TIC_FONT_HEIGHT + 1, (tic_color_red));
music->tic->api.draw_char(music->tic, rowStr[col], colx + 1, rowy, (tic_color_black), false);
}
}
if (i % NOTES_PER_BEET == 0)
music->tic->api.pixel(music->tic, x - 4, y + pos*tic->font.height + 2, (tic_color_black));
music->tic->api.pixel(music->tic, x - 4, y + pos*TIC_FONT_HEIGHT + 2, (tic_color_black));
}
}
@ -1373,25 +1364,21 @@ static void drawTumbler(Music* music, s32 x, s32 y, s32 index)
static void drawTracker(Music* music, s32 x, s32 y)
{
tic_mem* tic = music->tic;
drawTrackerFrames(music, x, y);
enum{Gap = 6, Cols = 8};
x += TIC_FONT_WIDTH * 3;
x += tic->font.width * 2 + Gap;
s32 channelWidth = tic->font.width * Cols + Gap;
enum{ChannelWidth = TIC_FONT_WIDTH * 9};
for (s32 i = 0; i < TIC_SOUND_CHANNELS; i++)
{
s32 patternId = tic_tool_get_pattern_id(getTrack(music), music->tracker.frame, i);
drawEditbox(music, x + channelWidth * i + 3*tic->font.width, y - 11, patternId, setChannelPattern, i);
drawTumbler(music, x + channelWidth * (i+1) - 4 - Gap, y - 11, i);
drawEditbox(music, x + ChannelWidth * i + 2*TIC_FONT_WIDTH, y - 11, patternId, setChannelPattern, i);
drawTumbler(music, x + ChannelWidth * i + 7*TIC_FONT_WIDTH, y - 11, i);
}
for (s32 i = 0; i < TIC_SOUND_CHANNELS; i++)
drawTrackerChannel(music, x + channelWidth * i, y, i);
drawTrackerChannel(music, x + ChannelWidth * i, y, i);
}
static void enableFollowMode(Music* music)
@ -1535,11 +1522,10 @@ static void drawMusicToolbar(Music* music)
static void drawPianoLayout(Music* music)
{
tic_mem* tic = music->tic;
music->tic->api.clear(music->tic, (tic_color_gray));
static const char Wip[] = "PIANO MODE - WORK IN PROGRESS...";
music->tic->api.fixed_text(music->tic, Wip, (TIC80_WIDTH - (sizeof Wip - 1) * tic->font.width) / 2, TIC80_HEIGHT / 2, (tic_color_white));
music->tic->api.fixed_text(music->tic, Wip, (TIC80_WIDTH - (sizeof Wip - 1) * TIC_FONT_WIDTH) / 2, TIC80_HEIGHT / 2, (tic_color_white), false);
}
static void scrollNotes(Music* music, s32 delta)
@ -1603,14 +1589,14 @@ static void drawTrackerLayout(Music* music)
if(music->tracker.follow)
{
const tic_music_pos* pos = getMusicPos(music);
const tic_sound_state* pos = getMusicPos(music);
if(pos->track == music->track &&
if(pos->music.track == music->track &&
music->tracker.row >= 0 &&
pos->row >= 0)
pos->music.row >= 0)
{
music->tracker.frame = pos->frame;
music->tracker.row = pos->row;
music->tracker.frame = pos->music.frame;
music->tracker.row = pos->music.row;
updateTracker(music);
}
}

View File

@ -48,7 +48,7 @@ static void onExit(void* data)
run->exit = true;
}
static char* data2md5(const void* data, s32 length)
static const char* data2md5(const void* data, s32 length)
{
const char *str = data;
MD5_CTX c;
@ -66,11 +66,12 @@ static char* data2md5(const void* data, s32 length)
}
{
u8 digest[16];
enum{Size = 16};
u8 digest[Size];
MD5_Final(digest, &c);
for (s32 n = 0; n < 16; ++n)
snprintf(&(out[n*2]), 16*2, "%02x", (u32)digest[n]);
for (s32 n = 0; n < Size; ++n)
snprintf(out + n*2, sizeof("ff"), "%02x", digest[n]);
}
return out;
@ -78,8 +79,8 @@ static char* data2md5(const void* data, s32 length)
static void initPMemName(Run* run)
{
const char* data = strlen(run->tic->saveid) ? run->tic->saveid : run->tic->cart.bank0.code.data;
char* md5 = data2md5(data, (s32)strlen(data));
const char* data = strlen(run->tic->saveid) ? run->tic->saveid : run->tic->cart.code.data;
const char* md5 = data2md5(data, strlen(data));
strcpy(run->saveid, TIC_LOCAL);
strcat(run->saveid, md5);
}
@ -112,9 +113,9 @@ static void processDoFile(void* data, char* dst)
static const char DoFileTag[] = "dofile(";
enum {Size = sizeof DoFileTag - 1};
if (memcmp(tic->cart.bank0.code.data, DoFileTag, Size) == 0)
if (memcmp(tic->cart.code.data, DoFileTag, Size) == 0)
{
const char* start = tic->cart.bank0.code.data + Size;
const char* start = tic->cart.code.data + Size;
const char* end = strchr(start, ')');
if(end && *start == *(end-1) && (*start == '"' || *start == '\''))

139
src/sfx.c
View File

@ -39,15 +39,13 @@
static void drawSwitch(Sfx* sfx, s32 x, s32 y, const char* label, s32 value, void(*set)(Sfx*, s32))
{
tic_mem* tic = sfx->tic;
static const u8 LeftArrow[] =
{
0b00100000,
0b01100000,
0b11100000,
0b01100000,
0b00100000,
0b00010000,
0b00110000,
0b01110000,
0b00110000,
0b00010000,
0b00000000,
0b00000000,
0b00000000,
@ -55,24 +53,22 @@ static void drawSwitch(Sfx* sfx, s32 x, s32 y, const char* label, s32 value, voi
static const u8 RightArrow[] =
{
0b10000000,
0b11000000,
0b11100000,
0b11000000,
0b10000000,
0b01000000,
0b01100000,
0b01110000,
0b01100000,
0b01000000,
0b00000000,
0b00000000,
0b00000000,
};
enum{ArrowWidth = 4, ArrowHeight = 6};
sfx->tic->api.text(sfx->tic, label, x, y, (tic_color_white));
sfx->tic->api.text(sfx->tic, label, x, y, (tic_color_white), false);
{
x += (s32)strlen(label)*tic->font.width;
x += (s32)strlen(label)*TIC_FONT_WIDTH;
tic_rect rect = {x, y, ArrowWidth, ArrowHeight};
tic_rect rect = {x, y, TIC_FONT_WIDTH, TIC_FONT_HEIGHT};
if(checkMousePos(&rect))
{
@ -88,13 +84,13 @@ static void drawSwitch(Sfx* sfx, s32 x, s32 y, const char* label, s32 value, voi
{
char val[] = "99";
sprintf(val, "%02i", value);
sfx->tic->api.fixed_text(sfx->tic, val, x += ArrowWidth, y, (tic_color_white));
sfx->tic->api.fixed_text(sfx->tic, val, x += TIC_FONT_WIDTH, y, (tic_color_white), false);
}
{
x += 2*tic->font.width;
x += 2*TIC_FONT_WIDTH;
tic_rect rect = {x, y, ArrowWidth, ArrowHeight};
tic_rect rect = {x, y, TIC_FONT_WIDTH, TIC_FONT_HEIGHT};
if(checkMousePos(&rect))
{
@ -127,16 +123,54 @@ static void setSpeed(Sfx* sfx, s32 delta)
history_add(sfx->history);
}
static void drawStereoSwitch(Sfx* sfx, s32 x, s32 y)
{
tic_sample* effect = getEffect(sfx);
{
tic_rect rect = {x, y, TIC_FONT_WIDTH, TIC_FONT_HEIGHT};
if(checkMousePos(&rect))
{
setCursor(tic_cursor_hand);
showTooltip("left stereo");
if(checkMouseClick(&rect, tic_mouse_left))
effect->stereo_left = !effect->stereo_left;
}
sfx->tic->api.text(sfx->tic, "L", x, y, effect->stereo_left ? tic_color_dark_gray : tic_color_white, false);
}
{
tic_rect rect = {x += TIC_FONT_WIDTH, y, TIC_FONT_WIDTH, TIC_FONT_HEIGHT};
if(checkMousePos(&rect))
{
setCursor(tic_cursor_hand);
showTooltip("right stereo");
if(checkMouseClick(&rect, tic_mouse_left))
effect->stereo_right = !effect->stereo_right;
}
sfx->tic->api.text(sfx->tic, "R", x, y, effect->stereo_right ? tic_color_dark_gray : tic_color_white, false);
}
}
static void drawTopPanel(Sfx* sfx, s32 x, s32 y)
{
tic_mem* tic = sfx->tic;
const s32 Gap = 8*tic->font.width;
const s32 Gap = 8*TIC_FONT_WIDTH;
drawSwitch(sfx, x, y, "IDX", sfx->index, setIndex);
tic_sample* effect = getEffect(sfx);
drawSwitch(sfx, x += Gap, y, "SPD", effect->speed, setSpeed);
drawStereoSwitch(sfx, x += Gap, y);
}
static void setLoopStart(Sfx* sfx, s32 delta)
@ -161,16 +195,15 @@ static void setLoopSize(Sfx* sfx, s32 delta)
static void drawLoopPanel(Sfx* sfx, s32 x, s32 y)
{
tic_mem* tic = sfx->tic;
sfx->tic->api.text(sfx->tic, "LOOP:", x, y, (tic_color_dark_gray));
sfx->tic->api.text(sfx->tic, "LOOP:", x, y, (tic_color_dark_gray), false);
enum {Gap = 2};
tic_sample* effect = getEffect(sfx);
tic_sound_loop* loop = effect->loops + sfx->canvasTab;
drawSwitch(sfx, x, y += Gap + tic->font.height, "", loop->size, setLoopSize);
drawSwitch(sfx, x, y += Gap + tic->font.height, "", loop->start, setLoopStart);
drawSwitch(sfx, x, y += Gap + TIC_FONT_HEIGHT, "", loop->size, setLoopSize);
drawSwitch(sfx, x, y += Gap + TIC_FONT_HEIGHT, "", loop->start, setLoopStart);
}
static tic_waveform* getWaveformById(Sfx* sfx, s32 i)
@ -293,16 +326,15 @@ static void drawWaveButtons(Sfx* sfx, s32 x, s32 y)
static void drawCanvasTabs(Sfx* sfx, s32 x, s32 y)
{
tic_mem* tic = sfx->tic;
static const char* Labels[] = {"WAVE", "VOLUME", "ARPEGG", "PITCH"};
s32 height = tic->font.height+2;
enum {Height = TIC_FONT_HEIGHT+2};
for(s32 i = 0, sy = y; i < COUNT_OF(Labels); sy += height, i++)
for(s32 i = 0, sy = y; i < COUNT_OF(Labels); sy += Height, i++)
{
s32 size = sfx->tic->api.text(sfx->tic, Labels[i], 0, -tic->font.height, (tic_color_black));
s32 size = sfx->tic->api.text(sfx->tic, Labels[i], 0, -TIC_FONT_HEIGHT, (tic_color_black), false);
tic_rect rect = {x - size, sy, size, tic->font.height};
tic_rect rect = {x - size, sy, size, TIC_FONT_HEIGHT};
if(checkMousePos(&rect))
{
@ -314,7 +346,7 @@ static void drawCanvasTabs(Sfx* sfx, s32 x, s32 y)
}
}
sfx->tic->api.text(sfx->tic, Labels[i], rect.x, rect.y, i == sfx->canvasTab ? (tic_color_white) : (tic_color_dark_gray));
sfx->tic->api.text(sfx->tic, Labels[i], rect.x, rect.y, i == sfx->canvasTab ? (tic_color_white) : (tic_color_dark_gray), false);
}
tic_sample* effect = getEffect(sfx);
@ -324,8 +356,8 @@ static void drawCanvasTabs(Sfx* sfx, s32 x, s32 y)
case SFX_PITCH_TAB:
{
static const char Label[] = "x16";
s32 width = (sizeof Label - 1) * tic->font.width;
tic_rect rect = {(x - width)/2, y + height * 6, width, tic->font.height};
enum{Width = (sizeof Label - 1) * TIC_FONT_WIDTH};
tic_rect rect = {(x - Width)/2, y + Height * 6, Width, TIC_FONT_HEIGHT};
if(checkMousePos(&rect))
{
@ -335,14 +367,14 @@ static void drawCanvasTabs(Sfx* sfx, s32 x, s32 y)
effect->pitch16x++;
}
sfx->tic->api.fixed_text(sfx->tic, Label, rect.x, rect.y, (effect->pitch16x ? tic_color_white : tic_color_dark_gray));
sfx->tic->api.fixed_text(sfx->tic, Label, rect.x, rect.y, (effect->pitch16x ? tic_color_white : tic_color_dark_gray), false);
}
break;
case SFX_ARPEGGIO_TAB:
{
static const char Label[] = "DOWN";
s32 width = (sizeof Label - 1) * tic->font.width;
tic_rect rect = {(x - width)/2, y + height * 6, width, tic->font.height};
enum{Width = (sizeof Label - 1) * TIC_FONT_WIDTH};
tic_rect rect = {(x - Width)/2, y + Height * 6, Width, TIC_FONT_HEIGHT};
if(checkMousePos(&rect))
{
@ -352,7 +384,7 @@ static void drawCanvasTabs(Sfx* sfx, s32 x, s32 y)
effect->reverse++;
}
sfx->tic->api.text(sfx->tic, Label, rect.x, rect.y, (effect->reverse ? tic_color_white : tic_color_dark_gray));
sfx->tic->api.text(sfx->tic, Label, rect.x, rect.y, (effect->reverse ? tic_color_white : tic_color_dark_gray), false);
}
break;
default: break;
@ -521,19 +553,18 @@ static void drawPiano(Sfx* sfx, s32 x, s32 y)
static void drawOctavePanel(Sfx* sfx, s32 x, s32 y)
{
tic_mem* tic = sfx->tic;
tic_sample* effect = getEffect(sfx);
static const char Label[] = "OCT";
sfx->tic->api.text(sfx->tic, Label, x, y, (tic_color_white));
sfx->tic->api.text(sfx->tic, Label, x, y, (tic_color_white), false);
x += sizeof(Label)*tic->font.width;
x += sizeof(Label)*TIC_FONT_WIDTH;
enum {Gap = 5};
for(s32 i = 0; i < OCTAVES; i++)
{
tic_rect rect = {x + i * (tic->font.width + Gap), y, tic->font.width, tic->font.height};
tic_rect rect = {x + i * (TIC_FONT_WIDTH + Gap), y, TIC_FONT_WIDTH, TIC_FONT_HEIGHT};
if(checkMousePos(&rect))
{
@ -545,7 +576,7 @@ static void drawOctavePanel(Sfx* sfx, s32 x, s32 y)
}
}
sfx->tic->api.draw_char(sfx->tic, i + '1', rect.x, rect.y, (i == effect->octave ? tic_color_white : tic_color_dark_gray));
sfx->tic->api.draw_char(sfx->tic, i + '1', rect.x, rect.y, (i == effect->octave ? tic_color_white : tic_color_dark_gray), false);
}
}
@ -789,14 +820,13 @@ static void drawModeTabs(Sfx* sfx)
static void drawSfxToolbar(Sfx* sfx)
{
tic_mem* tic = sfx->tic;
sfx->tic->api.rect(sfx->tic, 0, 0, TIC80_WIDTH, TOOLBAR_SIZE, (tic_color_white));
s32 width = 3 * tic->font.width;
s32 x = TIC80_WIDTH - width - TIC_SPRITESIZE*3;
enum{Width = 3 * TIC_FONT_WIDTH};
s32 x = TIC80_WIDTH - Width - TIC_SPRITESIZE*3;
s32 y = 1;
tic_rect rect = {x, y, width, tic->font.height};
tic_rect rect = {x, y, Width, TIC_FONT_HEIGHT};
bool over = false;
if(checkMousePos(&rect))
@ -819,7 +849,7 @@ static void drawSfxToolbar(Sfx* sfx)
char buf[] = "C#4";
sprintf(buf, "%s%i", Notes[effect->note], effect->octave+1);
sfx->tic->api.fixed_text(sfx->tic, buf, x, y, (over ? tic_color_dark_gray : tic_color_light_blue));
sfx->tic->api.fixed_text(sfx->tic, buf, x, y, (over ? tic_color_dark_gray : tic_color_light_blue), false);
}
drawModeTabs(sfx);
@ -827,7 +857,6 @@ static void drawSfxToolbar(Sfx* sfx)
static void envelopesTick(Sfx* sfx)
{
tic_mem* tic = sfx->tic;
processKeyboard(sfx);
processEnvelopesKeyboard(sfx);
@ -835,18 +864,18 @@ static void envelopesTick(Sfx* sfx)
enum{ Gap = 3, Start = 40};
drawPiano(sfx, Start, TIC80_HEIGHT - PIANO_HEIGHT - Gap);
drawTopPanel(sfx, Start, TOOLBAR_SIZE + Gap);
drawSfxToolbar(sfx);
drawToolbar(sfx->tic, TIC_COLOR_BG, false);
drawTopPanel(sfx, Start, TOOLBAR_SIZE + Gap);
drawCanvasTabs(sfx, Start-Gap, TOOLBAR_SIZE + Gap + tic->font.height+2);
drawCanvasTabs(sfx, Start-Gap, TOOLBAR_SIZE + Gap + TIC_FONT_HEIGHT+2);
if(sfx->canvasTab == SFX_WAVE_TAB)
drawWaveButtons(sfx, Start + CANVAS_WIDTH + Gap-1, TOOLBAR_SIZE + Gap + tic->font.height+2);
drawWaveButtons(sfx, Start + CANVAS_WIDTH + Gap-1, TOOLBAR_SIZE + Gap + TIC_FONT_HEIGHT+2);
drawLoopPanel(sfx, Gap, TOOLBAR_SIZE + Gap + tic->font.height+92);
drawCanvas(sfx, Start-1, TOOLBAR_SIZE + Gap + tic->font.height + 1);
drawOctavePanel(sfx, Start + Gap + PIANO_WIDTH + Gap-1, TIC80_HEIGHT - tic->font.height - (PIANO_HEIGHT - tic->font.height)/2 - Gap);
drawLoopPanel(sfx, Gap, TOOLBAR_SIZE + Gap + TIC_FONT_HEIGHT+92);
drawCanvas(sfx, Start-1, TOOLBAR_SIZE + Gap + TIC_FONT_HEIGHT + 1);
drawOctavePanel(sfx, Start + Gap + PIANO_WIDTH + Gap-1, TIC80_HEIGHT - TIC_FONT_HEIGHT - (PIANO_HEIGHT - TIC_FONT_HEIGHT)/2 - Gap);
}
static void drawWaveformBar(Sfx* sfx, s32 x, s32 y)

View File

@ -359,17 +359,15 @@ static void drawBrushSlider(Sprite* sprite, s32 x, s32 y)
static void drawCanvas(Sprite* sprite, s32 x, s32 y)
{
tic_mem* tic = sprite->tic;
if(!hasCanvasSelection(sprite))
{
char buf[] = "#255";
sprintf(buf, "#%03i", sprite->index);
s32 ix = x + (CANVAS_SIZE - 4*tic->font.width)/2;
s32 ix = x + (CANVAS_SIZE - 4*TIC_FONT_WIDTH)/2;
s32 iy = TIC_SPRITESIZE + 2;
sprite->tic->api.text(sprite->tic, buf, ix, iy+1, (tic_color_black));
sprite->tic->api.text(sprite->tic, buf, ix, iy, (tic_color_white));
sprite->tic->api.text(sprite->tic, buf, ix, iy+1, (tic_color_black), false);
sprite->tic->api.text(sprite->tic, buf, ix, iy, (tic_color_white), false);
}
sprite->tic->api.rect_border(sprite->tic, x-1, y-1, CANVAS_SIZE+2, CANVAS_SIZE+2, (tic_color_white));
@ -694,7 +692,7 @@ static void drawRGBSlider(Sprite* sprite, s32 x, s32 y, u8* value)
{
char buf[] = "FF";
sprintf(buf, "%02X", *value);
sprite->tic->api.text(sprite->tic, buf, x - 18, y - 2, (tic_color_dark_gray));
sprite->tic->api.text(sprite->tic, buf, x - 18, y - 2, (tic_color_dark_gray), false);
}
}
@ -1494,7 +1492,6 @@ static void processKeyboard(Sprite* sprite)
static void drawSpriteToolbar(Sprite* sprite)
{
tic_mem* tic = sprite->tic;
sprite->tic->api.rect(sprite->tic, 0, 0, TIC80_WIDTH, TOOLBAR_SIZE, (tic_color_white));
// draw sprite size control
@ -1536,9 +1533,9 @@ static void drawSpriteToolbar(Sprite* sprite)
{
static const char Label[] = "BG";
tic_rect rect = {TIC80_WIDTH - 2 * tic->font.width - 2, 0, 2 * tic->font.width + 1, TIC_SPRITESIZE-1};
tic_rect rect = {TIC80_WIDTH - 2 * TIC_FONT_WIDTH - 2, 0, 2 * TIC_FONT_WIDTH + 1, TIC_SPRITESIZE-1};
sprite->tic->api.rect(sprite->tic, rect.x, rect.y, rect.w, rect.h, bg ? (tic_color_black) : (tic_color_gray));
sprite->tic->api.fixed_text(sprite->tic, Label, rect.x+1, rect.y+1, (tic_color_white));
sprite->tic->api.fixed_text(sprite->tic, Label, rect.x+1, rect.y+1, (tic_color_white), false);
if(checkMousePos(&rect))
{
@ -1556,9 +1553,9 @@ static void drawSpriteToolbar(Sprite* sprite)
{
static const char Label[] = "FG";
tic_rect rect = {TIC80_WIDTH - 4 * tic->font.width - 4, 0, 2 * tic->font.width + 1, TIC_SPRITESIZE-1};
tic_rect rect = {TIC80_WIDTH - 4 * TIC_FONT_WIDTH - 4, 0, 2 * TIC_FONT_WIDTH + 1, TIC_SPRITESIZE-1};
sprite->tic->api.rect(sprite->tic, rect.x, rect.y, rect.w, rect.h, bg ? (tic_color_gray) : (tic_color_black));
sprite->tic->api.fixed_text(sprite->tic, Label, rect.x+1, rect.y+1, (tic_color_white));
sprite->tic->api.fixed_text(sprite->tic, Label, rect.x+1, rect.y+1, (tic_color_white), false);
if(checkMousePos(&rect))
{

Some files were not shown because too many files have changed in this diff Show More