opening TIC-80 sources

This commit is contained in:
BADIM-PC\Vadim 2017-09-26 09:59:34 +03:00
parent b003d8f56f
commit e502b89a1d
325 changed files with 186092 additions and 11 deletions

79
.gitignore vendored Normal file
View File

@ -0,0 +1,79 @@
*.sdf
*.ipch
*.opendb
*.suo
build/uwp/tic/Debug/
build/uwp/tic/Release/
build/uwp/tic/x64/
build/uwp/tic/ARM/
build/uwp/tic/AppPackages/
build/uwp/tic/BundleArtifacts/
build/android/gen/
build/android/libs/
build/android/obj/
build/itch.io/tic.js
build/itch.io/console.zip
build/html/tic.js
build/uwp/code8/ARM/
build/uwp/code8/x64/
build/uwp/code8/code8.VC.db
embed.html
build/uwp/code8/Release/
build/uwp/code8/AppPackages/code8/code8_0.0.3.0_Test/
build/uwp/code8/BundleArtifacts/
build/uwp/code8/AppPackages/
build/uwp/code8/_pkginfo.txt
build/uwp/tic/tic.VC.db
build/uwp/tic/_pkginfo.txt
tests/history.exe
build/uwp/lua/x64/
build/uwp/lua/ARM/
build/uwp/lua/Release/
build/uwp/lua/Debug/
build/windows/tic/Release/
build/windows/tic/Debug/
build/windows/tic/x64/
build/windows/tic/Win32/
build/windows/tic/tic.VC.db
build/windows/zlib/Release/
build/windows/zlib/Debug/
build/windows/zlib/x64/
build/windows/lua/Release/
build/windows/lua/Debug/
build/windows/lua/x64/
lib/windows/res.aps
lib/windows/tic.aps
.DS_Store
lib/macos/.DS_Store
build/macosx/tic.icns
build/macosx/tic.app/
build/macosx/tic.dmg
tools/bundler/assets/
tools/bundler/bin/
tools/bin2txt/*.exe
tools/bin2txt/bin2txt
build/windows/gif/Debug/
build/windows/gif/Release/
tests/*.exe
tests/test.gif
tests/test_data.gif
build/uwp/gif/x64/
build/uwp/gif/Release/
build/uwp/gif/ARM/
build/uwp/gif/Debug/
tools/sdl2test/test.exe
build/windows/tic80/Release/
build/windows/tic80/Debug/
build/windows/gif/x64/
build/windows/tic80/x64/
build/windows/example/Release/
build/windows/example/Debug/
build/uwp/tic80/Release/
build/uwp/tic80/Debug/
build/windows/example/x64/
build/windows/test/x64/
build/windows/test/Debug/
build/android/bin/
build/windows/test/Release/
build/uwp/tic80/x64/
build/uwp/tic80/ARM/

View File

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2017 Vadim Grigoruk @nesbox
// 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
@ -18,4 +18,4 @@ 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.
SOFTWARE.

3
bin/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
*
!.gitignore
!assets/

3
bin/assets/.gitignore vendored Normal file
View File

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

File diff suppressed because one or more lines are too long

1
bin/assets/fire.tic.dat Normal file
View File

@ -0,0 +1 @@
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,

1
bin/assets/font.tic.dat Normal file
View File

@ -0,0 +1 @@
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

@ -0,0 +1 @@
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

@ -0,0 +1 @@
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

@ -0,0 +1 @@
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

@ -0,0 +1 @@
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,

1
bin/assets/music.tic.dat Normal file

File diff suppressed because one or more lines are too long

1
bin/assets/p3d.tic.dat Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
bin/assets/quest.tic.dat Normal file

File diff suppressed because one or more lines are too long

1
bin/assets/sfx.tic.dat Normal file
View File

@ -0,0 +1 @@
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

1
bin/assets/tic.js.dat Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Replace org.libsdl.app with the identifier of your game below, e.g.
com.gamemaker.game
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.nesbox.tic"
android:versionCode="4500"
android:versionName="0.45.0"
android:installLocation="auto">
<!-- Android 2.3.3 -->
<uses-sdk android:minSdkVersion="12" android:targetSdkVersion="12" />
<!-- OpenGL ES 2.0 -->
<uses-feature android:glEsVersion="0x00020000" />
<!-- Allow writing to external storage -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<!-- Create a Java class extending SDLActivity and place it in a
directory under src matching the package, e.g.
src/com/gamemaker/game/MyGame.java
then replace "SDLActivity" with the name of your class (e.g. "MyGame")
in the XML below.
An example Java class can be found in README-android.txt
-->
<application android:label="@string/app_name"
android:icon="@drawable/ic_launcher"
android:allowBackup="true"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:hardwareAccelerated="true" >
<activity android:name="TIC"
android:label="@string/app_name"
android:configChanges="keyboardHidden|keyboard|orientation"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- Drop file event -->
<!--
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
-->
</activity>
</application>
</manifest>

View File

@ -0,0 +1,19 @@
# This file is used to override default values used by the Ant build system.
#
# This file must be checked into Version Control Systems, as it is
# integral to the build system of your project.
# This file is only used by the Ant script.
# You can use this to override default values such as
# 'source.dir' for the location of your java source folder and
# 'out.dir' for the location of your output folder.
# You can also use it define how the release builds are signed by declaring
# the following properties:
# 'key.store' for the location of your keystore and
# 'key.alias' for the name of the key to use.
# The password will be asked during the build when you use the 'release' target.
key.store=my-release-key.keystore
key.alias=alias_name

View File

@ -0,0 +1,17 @@
# This file is used to override default values used by the Ant build system.
#
# This file must be checked in Version Control Systems, as it is
# integral to the build system of your project.
# This file is only used by the Ant script.
# You can use this to override default values such as
# 'source.dir' for the location of your java source folder and
# 'out.dir' for the location of your output folder.
# You can also use it define how the release builds are signed by declaring
# the following properties:
# 'key.store' for the location of your keystore and
# 'key.alias' for the name of the key to use.
# The password will be asked during the build when you use the 'release' target.

93
build/android/build.xml Normal file
View File

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This should be changed to the name of your project -->
<project name="TIC" default="help">
<!-- The local.properties file is created and updated by the 'android' tool.
It contains the path to the SDK. It should *NOT* be checked into
Version Control Systems. -->
<property file="local.properties" />
<!-- The ant.properties file can be created by you. It is only edited by the
'android' tool to add properties to it.
This is the place to change some Ant specific build properties.
Here are some properties you may want to change/update:
source.dir
The name of the source directory. Default is 'src'.
out.dir
The name of the output directory. Default is 'bin'.
For other overridable properties, look at the beginning of the rules
files in the SDK, at tools/ant/build.xml
Properties related to the SDK location or the project target should
be updated using the 'android' tool with the 'update' action.
This file is an integral part of the build system for your
application and should be checked into Version Control Systems.
-->
<property file="ant.properties" />
<!-- if sdk.dir was not set from one of the property file, then
get it from the ANDROID_HOME env var.
This must be done before we load project.properties since
the proguard config can use sdk.dir -->
<property environment="env" />
<condition property="sdk.dir" value="${env.ANDROID_HOME}">
<isset property="env.ANDROID_HOME" />
</condition>
<!-- The project.properties file is created and updated by the 'android'
tool, as well as ADT.
This contains project specific properties such as project target, and library
dependencies. Lower level build properties are stored in ant.properties
(or in .classpath for Eclipse projects).
This file is an integral part of the build system for your
application and should be checked into Version Control Systems. -->
<loadproperties srcFile="project.properties" />
<!-- quick check on sdk.dir -->
<fail
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
unless="sdk.dir"
/>
<!--
Import per project custom build rules if present at the root of the project.
This is the place to put custom intermediary targets such as:
-pre-build
-pre-compile
-post-compile (This is typically used for code obfuscation.
Compiled code location: ${out.classes.absolute.dir}
If this is not done in place, override ${out.dex.input.absolute.dir})
-post-package
-post-build
-pre-clean
-->
<import file="custom_rules.xml" optional="true" />
<!-- Import the actual build file.
To customize existing targets, there are two options:
- Customize only one target:
- copy/paste the target into this file, *before* the
<import> task.
- customize it to your needs.
- Customize the whole content of build.xml
- copy/paste the content of the rules files (minus the top node)
into this file, replacing the <import> task.
- customize to your needs.
***********************
****** IMPORTANT ******
***********************
In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
in order to avoid having your file be overridden by tools such as "android update project"
-->
<!-- version-tag: 1 -->
<import file="${sdk.dir}/tools/ant/build.xml" />
</project>

View File

@ -0,0 +1,11 @@
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "build.properties", and override values to adapt the script to your
# project structure.
# Project target.
target=android-12

View File

@ -0,0 +1 @@
include $(call all-subdir-makefiles)

View File

@ -0,0 +1,5 @@
# Uncomment this if you're using STL in your project
# See CPLUSPLUS-SUPPORT.html in the NDK documentation for more information
APP_ABI := armeabi armeabi-v7a x86

View File

@ -0,0 +1,6 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := SDL2
LOCAL_SRC_FILES := ../../../../lib/android/sdl2/$(TARGET_ARCH_ABI)/libSDL2.so
include $(PREBUILT_SHARED_LIBRARY)

View File

@ -0,0 +1,6 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := gif
LOCAL_SRC_FILES := ../../../../lib/android/gif/$(TARGET_ARCH_ABI)/libgif.so
include $(PREBUILT_SHARED_LIBRARY)

View File

@ -0,0 +1,6 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := lua
LOCAL_SRC_FILES := ../../../../lib/android/lua/$(TARGET_ARCH_ABI)/liblua.so
include $(PREBUILT_SHARED_LIBRARY)

View File

@ -0,0 +1,56 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CFLAGS += -O3 -Wall -std=c99 -D"log2(x)=(log(x)/log(2))"
LOCAL_MODULE := main
SDL_PATH := ../../../../../../sdk/SDL2-2.0.5
SRC_PATH := ../../../../src
INCLUDE_PATH := ../../../../include
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/$(SDL_PATH)/include \
$(LOCAL_PATH)/$(INCLUDE_PATH)/lua \
$(LOCAL_PATH)/$(INCLUDE_PATH)/tic80 \
$(LOCAL_PATH)/$(INCLUDE_PATH)/gif
# Add your application source files here...
LOCAL_SRC_FILES := $(SDL_PATH)/src/main/android/SDL_android_main.c \
$(SRC_PATH)/studio.c \
$(SRC_PATH)/console.c \
$(SRC_PATH)/html.c \
$(SRC_PATH)/run.c \
$(SRC_PATH)/ext/blip_buf.c \
$(SRC_PATH)/ext/file_dialog.c \
$(SRC_PATH)/ext/md5.c \
$(SRC_PATH)/ext/gif.c \
$(SRC_PATH)/ext/net/SDLnet.c \
$(SRC_PATH)/ext/net/SDLnetTCP.c \
$(SRC_PATH)/ext/net/SDLnetselect.c \
$(SRC_PATH)/ext/duktape/duktape.c \
$(SRC_PATH)/fs.c \
$(SRC_PATH)/tools.c \
$(SRC_PATH)/start.c \
$(SRC_PATH)/sprite.c \
$(SRC_PATH)/map.c \
$(SRC_PATH)/sfx.c \
$(SRC_PATH)/music.c \
$(SRC_PATH)/history.c \
$(SRC_PATH)/world.c \
$(SRC_PATH)/code.c \
$(SRC_PATH)/config.c \
$(SRC_PATH)/keymap.c \
$(SRC_PATH)/net.c \
$(SRC_PATH)/luaapi.c \
$(SRC_PATH)/jsapi.c \
$(SRC_PATH)/tic.c \
$(SRC_PATH)/dialog.c \
$(SRC_PATH)/menu.c \
$(SRC_PATH)/surf.c \
$(SRC_PATH)/tic80.c
LOCAL_SHARED_LIBRARIES := SDL2 lua z gif
LOCAL_LDLIBS := -lGLESv1_CM -lGLESv2 -llog
include $(BUILD_SHARED_LIBRARY)

View File

@ -0,0 +1,12 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := main
LOCAL_SRC_FILES := YourSourceHere.c
LOCAL_STATIC_LIBRARIES := SDL2_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,SDL)LOCAL_PATH := $(call my-dir)

View File

@ -0,0 +1,6 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := z
LOCAL_SRC_FILES := ../../../../lib/android/zlib/$(TARGET_ARCH_ABI)/libz.so
include $(PREBUILT_SHARED_LIBRARY)

Binary file not shown.

View File

@ -0,0 +1,20 @@
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

View File

@ -0,0 +1,14 @@
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-12

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 963 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 846 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 975 B

View File

@ -0,0 +1,60 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/saveFileDialog"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/fileList"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp" />
<LinearLayout
android:id="@+id/fileLinearLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp" >
<TextView
android:id="@+id/fileTextView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="@string/enterFileName"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/fileName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:contentDescription="@string/enterFileName"
android:inputType="text"
android:padding="10dp" />
<LinearLayout
android:id="@+id/fileLinearLayout3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/fileSaveLoad"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="@string/saveButtonText" />
<Button
android:id="@+id/fileCancel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="@string/cancelButtonText" />
<Button
android:id="@+id/newFolder"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/newFolderButtonText" />
</LinearLayout>
</LinearLayout>
</LinearLayout>

View File

@ -0,0 +1,7 @@
<com.samsung.sprc.fileselector.TextViewWithImage xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp" >
</com.samsung.sprc.fileselector.TextViewWithImage>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">TIC-80</string>
<string name="enterFileName">Enter file name:</string>
<string name="saveButtonText">Save</string>
<string name="cancelButtonText">Cancel</string>
<string name="cannotSaveFileMessage">Cannot save file</string>
<string name="fileNameFirstMessage">Please enter the file name first</string>
<string name="okButtonText">OK</string>
<string name="loadButtonText">Load</string>
<string name="accessDenied">Access denied</string>
<string name="missingFile">No such file</string>
<string name="newFolderButtonText">New folder</string>
<string name="newFolderDialogMessage">Create new folder</string>
<string name="createButtonText">Create</string>
<string name="folderCreationOk">Folder created sucessfully</string>
<string name="folderCreationError">Error while creating folder</string>
<string name="information">Information</string>
</resources>

View File

@ -0,0 +1,129 @@
package com.nesbox.tic;
import com.samsung.sprc.fileselector.FileSelector;
import com.samsung.sprc.fileselector.FileOperation;
import com.samsung.sprc.fileselector.OnHandleFileListener;
import org.libsdl.app.SDLActivity;
public class TIC extends SDLActivity
{
@Override
protected String[] getLibraries() {
return new String[] {
"SDL2",
"lua",
"z",
"gif",
"main"
};
}
protected final String[] fileSelectorResult = new String[]{""};
public String saveFile(final String name)
{
fileSelectorResult[0] = "";
runOnUiThread(new Runnable()
{
@Override
public void run()
{
new FileSelector(TIC.this, FileOperation.SAVE, mSaveFileListener, name).show();
}
});
synchronized (fileSelectorResult)
{
try
{
fileSelectorResult.wait();
}
catch (InterruptedException ex)
{
ex.printStackTrace();
}
}
return fileSelectorResult[0];
}
OnHandleFileListener mSaveFileListener = new OnHandleFileListener()
{
@Override
public void handleFile(final String filePath)
{
fileSelectorResult[0] = filePath;
synchronized (fileSelectorResult)
{
fileSelectorResult.notify();
}
}
@Override
public void handleCancel()
{
fileSelectorResult[0] = "";
synchronized (fileSelectorResult)
{
fileSelectorResult.notify();
}
}
};
public String loadFile()
{
fileSelectorResult[0] = "";
runOnUiThread(new Runnable()
{
@Override
public void run()
{
new FileSelector(TIC.this, FileOperation.LOAD, mLoadFileListener, "").show();
}
});
synchronized (fileSelectorResult)
{
try
{
fileSelectorResult.wait();
}
catch (InterruptedException ex)
{
ex.printStackTrace();
}
}
return fileSelectorResult[0];
}
OnHandleFileListener mLoadFileListener = new OnHandleFileListener()
{
@Override
public void handleFile(final String filePath)
{
fileSelectorResult[0] = filePath;
synchronized (fileSelectorResult)
{
fileSelectorResult.notify();
}
}
@Override
public void handleCancel()
{
fileSelectorResult[0] = "";
synchronized (fileSelectorResult)
{
fileSelectorResult.notify();
}
}
};
}

View File

@ -0,0 +1,56 @@
package com.samsung.sprc.fileselector;
/**
* This class contais information about the file name and type
*/
public class FileData implements Comparable<FileData> {
/** Constant that specifies the object is a reference to the parent */
public static final int UP_FOLDER = 0;
/** Constant that specifies the object is a folder */
public static final int DIRECTORY = 1;
/** Constant that specifies the object is a file */
public static final int FILE = 2;
/** The file's name */
final private String mFileName;
/** Defines the type of file. Can be one of UP_FOLDER, DIRECTORY or FILE */
final private int mFileType;
/**
* This class holds information about the file.
*
* @param fileName
* - file name
* @param fileType
* - file type - can be UP_FOLDER, DIRECTORY or FILE
* @throws IllegalArgumentException
* - when illegal type (different than UP_FOLDER, DIRECTORY or
* FILE)
*/
public FileData(final String fileName, final int fileType) {
if (fileType != UP_FOLDER && fileType != DIRECTORY && fileType != FILE) {
throw new IllegalArgumentException("Illegel type of file");
}
this.mFileName = fileName;
this.mFileType = fileType;
}
@Override
public int compareTo(final FileData another) {
if (mFileType != another.mFileType) {
return mFileType - another.mFileType;
}
return mFileName.compareTo(another.mFileName);
}
public String getFileName() {
return mFileName;
}
public int getFileType() {
return mFileType;
}
}

View File

@ -0,0 +1,67 @@
package com.samsung.sprc.fileselector;
import com.nesbox.tic.R;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
/**
* Adapter used to display a files list
*/
public class FileListAdapter extends BaseAdapter {
/** Array of FileData objects that will be used to display a list */
private final ArrayList<FileData> mFileDataArray;
private final Context mContext;
public FileListAdapter(Context context, List<FileData> aFileDataArray) {
mFileDataArray = (ArrayList<FileData>) aFileDataArray;
mContext = context;
}
@Override
public int getCount() {
return mFileDataArray.size();
}
@Override
public Object getItem(int position) {
return mFileDataArray.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
FileData tempFileData = mFileDataArray.get(position);
TextViewWithImage tempView = new TextViewWithImage(mContext);
tempView.setText(tempFileData.getFileName());
int imgRes = -1;
switch (tempFileData.getFileType()) {
case FileData.UP_FOLDER: {
imgRes = R.drawable.up_folder;
break;
}
case FileData.DIRECTORY: {
imgRes = R.drawable.folder;
break;
}
case FileData.FILE: {
imgRes = R.drawable.file;
break;
}
}
tempView.setImageResource(imgRes);
return tempView;
}
}

View File

@ -0,0 +1,6 @@
package com.samsung.sprc.fileselector;
/** Enum used to determine the file operation being performed. */
public enum FileOperation {
SAVE, LOAD
}

View File

@ -0,0 +1,308 @@
package com.samsung.sprc.fileselector;
import com.nesbox.tic.R;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Environment;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
/**
* Create the file selection dialog. This class will create a custom dialog for
* file selection which can be used to save files.
*/
public class FileSelector {
/** The list of files and folders which you can choose from */
private ListView mFileListView;
/** Button to save/load file */
private Button mSaveLoadButton;
/** Cancel Button - close dialog */
private Button mCancelButton;
/** Button to create a new folder */
private Button mNewFolderButton;
/** Spinner by which to select the file type filtering */
// private Spinner mFilterSpinner;
/**
* Indicates current location in the directory structure displayed in the
* dialog.
*/
private File mCurrentLocation;
/**
* The file selector dialog.
*/
private final Dialog mDialog;
private Context mContext;
/** Save or Load file listener. */
final OnHandleFileListener mOnHandleFileListener;
/**
* Constructor that creates the file selector dialog.
*
* @param context
* The current context.
* @param operation
* LOAD - to load file / SAVE - to save file
* @param onHandleFileListener
* Notified after pressing the save or load button.
*/
public FileSelector(final Context context, final FileOperation operation,
final OnHandleFileListener onHandleFileListener, final String fileName) {
mContext = context;
mOnHandleFileListener = onHandleFileListener;
final File sdCard = Environment.getExternalStorageDirectory();
if (sdCard.canRead()) {
mCurrentLocation = sdCard;
} else {
mCurrentLocation = Environment.getRootDirectory();
}
mDialog = new Dialog(context);
mDialog.setContentView(R.layout.dialog);
mDialog.setTitle(mCurrentLocation.getAbsolutePath());
switch(operation)
{
case SAVE:
((EditText) mDialog.findViewById(R.id.fileName)).setText(fileName);
break;
}
prepareFilesList();
setSaveLoadButton(operation);
setNewFolderButton(operation);
setCancelButton();
}
/**
* This method prepares the mFileListView
*
*/
private void prepareFilesList() {
mFileListView = (ListView) mDialog.findViewById(R.id.fileList);
mFileListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(final AdapterView<?> parent, final View view, final int position, final long id) {
// Check if "../" item should be added.
if (id == 0) {
final String parentLocation = mCurrentLocation.getParent();
if (parentLocation != null) { // text == "../"
mCurrentLocation = new File(parentLocation);
makeList(mCurrentLocation, "*.*");
} else {
onItemSelect(parent, position);
}
} else {
onItemSelect(parent, position);
}
}
});
makeList(mCurrentLocation, "*.*");
}
/**
* The method that fills the list with a directories contents.
*
* @param location
* Indicates the directory whose contents should be displayed in
* the dialog.
* @param fitlesFilter
* The filter specifies the type of file to be displayed
*/
private void makeList(final File location, final String fitlesFilter) {
final ArrayList<FileData> fileList = new ArrayList<FileData>();
final String parentLocation = location.getParent();
if (parentLocation != null) {
// First item on the list.
fileList.add(new FileData("../", FileData.UP_FOLDER));
}
File listFiles[] = location.listFiles();
if (listFiles != null) {
ArrayList<FileData> fileDataList = new ArrayList<FileData>();
for (int index = 0; index < listFiles.length; index++) {
File tempFile = listFiles[index];
if (FileUtils.accept(tempFile, fitlesFilter)) {
int type = tempFile.isDirectory() ? FileData.DIRECTORY : FileData.FILE;
fileDataList.add(new FileData(listFiles[index].getName(), type));
}
}
fileList.addAll(fileDataList);
Collections.sort(fileList);
}
// Fill the list with the contents of fileList.
if (mFileListView != null) {
FileListAdapter adapter = new FileListAdapter(mContext, fileList);
mFileListView.setAdapter(adapter);
}
}
/**
* Handle the file list item selection.
*
* Change the directory on the list or change the name of the saved file if
* the user selected a file.
*
* @param parent
* First parameter of the onItemClick() method of
* OnItemClickListener. It's a value of text property of the
* item.
* @param position
* Third parameter of the onItemClick() method of
* OnItemClickListener. It's the index on the list of the
* selected item.
*/
private void onItemSelect(final AdapterView<?> parent, final int position) {
final String itemText = ((FileData) parent.getItemAtPosition(position)).getFileName();
final String itemPath = mCurrentLocation.getAbsolutePath() + File.separator + itemText;
final File itemLocation = new File(itemPath);
if (!itemLocation.canRead()) {
Toast.makeText(mContext, "Access denied!!!", Toast.LENGTH_SHORT).show();
} else if (itemLocation.isDirectory()) {
mCurrentLocation = itemLocation;
makeList(mCurrentLocation, "*.*");
} else if (itemLocation.isFile()) {
final EditText fileName = (EditText) mDialog.findViewById(R.id.fileName);
fileName.setText(itemText);
}
}
/**
* Set button name and click handler for Save or Load button.
*
* @param operation
* Performed file operation.
*/
private void setSaveLoadButton(final FileOperation operation) {
mSaveLoadButton = (Button) mDialog.findViewById(R.id.fileSaveLoad);
switch (operation) {
case SAVE:
mSaveLoadButton.setText(R.string.saveButtonText);
break;
case LOAD:
mSaveLoadButton.setText(R.string.loadButtonText);
break;
}
mSaveLoadButton.setOnClickListener(new SaveLoadClickListener(operation, this, mContext));
}
/**
* Set button visibility and click handler for New folder button.
*
* @param operation
* Performed file operation.
*/
private void setNewFolderButton(final FileOperation operation) {
mNewFolderButton = (Button) mDialog.findViewById(R.id.newFolder);
OnClickListener newFolderListener = new OnClickListener() {
@Override
public void onClick(final View v) {
openNewFolderDialog();
}
};
switch (operation) {
case SAVE:
mNewFolderButton.setVisibility(View.VISIBLE);
mNewFolderButton.setOnClickListener(newFolderListener);
break;
case LOAD:
mNewFolderButton.setVisibility(View.GONE);
break;
}
}
/** Opens a dialog for creating a new folder. */
private void openNewFolderDialog() {
AlertDialog.Builder alert = new AlertDialog.Builder(mContext);
alert.setTitle(R.string.newFolderButtonText);
alert.setMessage(R.string.newFolderDialogMessage);
final EditText input = new EditText(mContext);
alert.setView(input);
alert.setPositiveButton(R.string.createButtonText, new DialogInterface.OnClickListener() {
@Override
public void onClick(final DialogInterface dialog, final int whichButton) {
File file = new File(mCurrentLocation.getAbsolutePath() + File.separator + input.getText().toString());
if (file.mkdir()) {
Toast t = Toast.makeText(mContext, R.string.folderCreationOk, Toast.LENGTH_SHORT);
t.setGravity(Gravity.CENTER, 0, 0);
t.show();
} else {
Toast t = Toast.makeText(mContext, R.string.folderCreationError, Toast.LENGTH_SHORT);
t.setGravity(Gravity.CENTER, 0, 0);
t.show();
}
makeList(mCurrentLocation, "*.*");
}
});
alert.show();
}
/** Set onClick() event handler for the cancel button. */
private void setCancelButton()
{
mDialog.setOnCancelListener(new DialogInterface.OnCancelListener()
{
@Override
public void onCancel(DialogInterface dialog)
{
mOnHandleFileListener.handleCancel();
}
});
mCancelButton = (Button) mDialog.findViewById(R.id.fileCancel);
mCancelButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(final View view) {
mDialog.cancel();
}
});
}
public String getSelectedFileName() {
final EditText fileName = (EditText) mDialog.findViewById(R.id.fileName);
return fileName.getText().toString();
}
public File getCurrentLocation() {
return mCurrentLocation;
}
/** Simple wrapper around the Dialog.show() method. */
public void show() {
mDialog.show();
}
/** Simple wrapper around the Dialog.dissmiss() method. */
public void dismiss() {
mDialog.dismiss();
}
}

View File

@ -0,0 +1,36 @@
package com.samsung.sprc.fileselector;
import java.io.File;
/**
* A set of tools for file operations
*/
public class FileUtils {
/** Filter which accepts every file */
public static final String FILTER_ALLOW_ALL = "*.*";
/**
* This method checks that the file is accepted by the filter
*
* @param file
* - file that will be checked if there is a specific type
* @param filter
* - criterion - the file type(for example ".jpg")
* @return true - if file meets the criterion - false otherwise.
*/
public static boolean accept(final File file, final String filter) {
if (filter.compareTo(FILTER_ALLOW_ALL) == 0) {
return true;
}
if (file.isDirectory()) {
return true;
}
int lastIndexOfPoint = file.getName().lastIndexOf('.');
if (lastIndexOfPoint == -1) {
return false;
}
String fileType = file.getName().substring(lastIndexOfPoint).toLowerCase();
return fileType.compareTo(filter) == 0;
}
}

View File

@ -0,0 +1,15 @@
package com.samsung.sprc.fileselector;
public interface OnHandleFileListener {
/**
* This method is called after clicking the Save or Load button on the
* dialog, if the file name was correct. It should be used to save or load a
* file using the filePath path.
*
* @param filePath
* File path set in the dialog when the Save or Load button was
* clicked.
*/
void handleFile(String filePath);
void handleCancel();
}

View File

@ -0,0 +1,92 @@
package com.samsung.sprc.fileselector;
import com.nesbox.tic.R;
import java.io.File;
import android.app.AlertDialog;
import android.content.Context;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
/**
* This Listener handles Save or Load button clicks.
*/
public class SaveLoadClickListener implements OnClickListener {
/** Performed operation. */
private final FileOperation mOperation;
/** FileSelector in which you used SaveLoadClickListener */
private final FileSelector mFileSelector;
private final Context mContext;
/**
* @param operation
* Performed operation.
* @param fileSelector
* The FileSeletor which used this Listener.
* @param context
* context.
*/
public SaveLoadClickListener(final FileOperation operation, final FileSelector fileSelector, final Context context) {
mOperation = operation;
mFileSelector = fileSelector;
mContext = context;
}
@Override
public void onClick(final View view) {
final String text = mFileSelector.getSelectedFileName();
if (checkFileName(text)) {
final String filePath = mFileSelector.getCurrentLocation().getAbsolutePath() + File.separator + text;
final File file = new File(filePath);
int messageText = 0;
// Check file access rights.
switch (mOperation) {
case SAVE:
if ((file.exists()) && (!file.canWrite())) {
messageText = R.string.cannotSaveFileMessage;
}
break;
case LOAD:
if (!file.exists()) {
messageText = R.string.missingFile;
} else if (!file.canRead()) {
messageText = R.string.accessDenied;
}
break;
}
if (messageText != 0) {
// Access denied.
final Toast t = Toast.makeText(mContext, messageText, Toast.LENGTH_SHORT);
t.setGravity(Gravity.CENTER, 0, 0);
t.show();
} else {
// Access granted.
mFileSelector.mOnHandleFileListener.handleFile(filePath);
mFileSelector.dismiss();
}
}
}
/**
* Check if file name is correct, e.g. if it isn't empty.
*
* @return False, if file name is empty true otherwise.
*/
boolean checkFileName(String text) {
if (text.length() == 0) {
final AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
builder.setTitle(R.string.information);
builder.setMessage(R.string.fileNameFirstMessage);
builder.setNeutralButton(R.string.okButtonText, null);
builder.show();
return false;
}
return true;
}
}

View File

@ -0,0 +1,58 @@
package com.samsung.sprc.fileselector;
import android.content.Context;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
/**
* Class which combines ImageView and TextView in LineralLayout with horizontal
* orientation
*/
public class TextViewWithImage extends LinearLayout {
/**
* Image - in this project will be used to display icon representing the
* file type
*/
private ImageView mImage;
/** Text - in this project will be used to display the file name */
private TextView mText;
public TextViewWithImage(Context context) {
super(context);
setOrientation(HORIZONTAL);
mImage = new ImageView(context);
mText = new TextView(context);
LayoutParams lp = new LayoutParams(0, LayoutParams.WRAP_CONTENT, 1);
lp.weight = 1;
addView(mImage, lp);
lp = new LayoutParams(0, LayoutParams.WRAP_CONTENT, 3);
addView(mText, lp);
}
/** Simple wrapper around the TextView.getText() method. */
public CharSequence getText() {
return mText.getText();
}
/**
* Simple wrapper around ImageView.setImageResource() method. but if resId
* is equal -1 this method sets Images visibility as GONE
*/
public void setImageResource(int resId) {
if (resId == -1) {
mImage.setVisibility(View.GONE);
return;
}
mImage.setImageResource(resId);
}
/** Simple wrapper around TextView.setText() method. */
public void setText(String aText) {
mText.setText(aText);
}
}

File diff suppressed because it is too large Load Diff

BIN
build/android/store/0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
build/android/store/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
build/android/store/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
build/android/store/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

35
build/html/index.html Normal file
View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>TIC-80 tiny computer</title>
<style type="text/css">
.modal{display:none;position:fixed;z-index:1;padding-top:100px;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}.modal-content{position:relative;background-color:#fefefe;margin:auto;padding:2px 16px;border:1px solid #888;width:500px;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);-webkit-animation-name:animatetop;-webkit-animation-duration:.4s;animation-name:animatetop;animation-duration:.4s}@keyframes animatetop{from{top:-300px;opacity:0}to{top:0;opacity:1}}.close{color:#000;float:right;font-size:28px;font-weight:700}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer}
</style>
</head>
<body style="margin:0; padding:0;">
<div>
<canvas style="margin: 0 auto; display: block;" id="canvas" oncontextmenu="event.preventDefault()" onmousedown="window.focus()"></canvas>
</div>
<div id="add-modal" class="modal">
<div class="modal-content">
<span class="close">&times</span>
<p>Select a file to add to the computer</p>
<p><input type="file" id="upload-input"></input></p>
</div>
</div>
<script type="text/javascript">
var Module = {canvas: document.getElementById('canvas')};
</script>
<script async type="text/javascript" src="tic.js"></script>
</body>
</html>

28
build/macosx/Info.plist Normal file
View File

@ -0,0 +1,28 @@
<?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</string>
<key>CFBundleExecutable</key>
<string>tic</string>
<key>CFBundleIconFile</key>
<string>tic.icns</string>
<key>CFBundleIdentifier</key>
<string>com.nesbox.tic</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>TIC-80</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.45.0</string>
<key>CFBundleVersion</key>
<string>0.45.0</string>
<key>NSHumanReadableCopyright</key>
<string>http://tic.computer © 2017</string>
</dict>
</plist>

37
build/macosx/makefile Normal file
View File

@ -0,0 +1,37 @@
APPNAME=tic
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/ticIcon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

209
build/uwp/gif/gif.vcxproj Normal file
View File

@ -0,0 +1,209 @@
<?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|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<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|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</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>
<ItemGroup>
<ClCompile Include="..\..\..\..\..\sdk\giflib-5.1.4\lib\dgif_lib.c" />
<ClCompile Include="..\..\..\..\..\sdk\giflib-5.1.4\lib\egif_lib.c" />
<ClCompile Include="..\..\..\..\..\sdk\giflib-5.1.4\lib\gifalloc.c" />
<ClCompile Include="..\..\..\..\..\sdk\giflib-5.1.4\lib\gif_err.c" />
<ClCompile Include="..\..\..\..\..\sdk\giflib-5.1.4\lib\gif_font.c" />
<ClCompile Include="..\..\..\..\..\sdk\giflib-5.1.4\lib\gif_hash.c" />
<ClCompile Include="..\..\..\..\..\sdk\giflib-5.1.4\lib\openbsd-reallocarray.c" />
<ClCompile Include="..\..\..\..\..\sdk\giflib-5.1.4\lib\quantize.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{bc1084df-210a-48d6-a077-761d8c16947b}</ProjectGuid>
<Keyword>StaticLibrary</Keyword>
<RootNamespace>gif</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
<AppContainerApplication>true</AppContainerApplication>
<ApplicationType>Windows Store</ApplicationType>
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.14393.0</WindowsTargetPlatformMinVersion>
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
</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>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
</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|ARM'">
<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|ARM'">
<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 />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|arm'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|arm'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

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

950
build/uwp/include/dirent.h Normal file
View File

@ -0,0 +1,950 @@
/*
* 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*/

248
build/uwp/lua/lua.vcxproj Normal file
View File

@ -0,0 +1,248 @@
<?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|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<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|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</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>
<ItemGroup>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lapi.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lauxlib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lbaselib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lbitlib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lcode.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lcorolib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lctype.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldblib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldebug.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldo.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldump.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lfunc.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lgc.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\llex.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lmathlib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lmem.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\loadlib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lobject.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lopcodes.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lparser.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpcap.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpcode.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpprint.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lptree.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpvm.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lstate.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lstring.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lstrlib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ltable.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ltablib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ltm.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lundump.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lutf8lib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lvm.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lzio.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{53802f21-41da-4ac1-8b62-0dac2ccb8af8}</ProjectGuid>
<Keyword>StaticLibrary</Keyword>
<RootNamespace>lua</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
<AppContainerApplication>true</AppContainerApplication>
<ApplicationType>Windows Store</ApplicationType>
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.14393.0</WindowsTargetPlatformMinVersion>
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
</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>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
</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|ARM'">
<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|ARM'">
<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 />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>LUA_COMPAT_5_2;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include\lua;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>LUA_COMPAT_5_2;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include\lua;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|arm'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>LUA_COMPAT_5_2;_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include\lua;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|arm'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>LUA_COMPAT_5_2;_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include\lua;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>LUA_COMPAT_5_2;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include\lua;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>LUA_COMPAT_5_2;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include\lua;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,125 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tga;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="lua">
<UniqueIdentifier>{f1922cfd-595d-4973-b7d1-2dfcc365256f}</UniqueIdentifier>
</Filter>
<Filter Include="lua\lib">
<UniqueIdentifier>{69e69bed-ec9a-42f1-a359-fa3fff9e70d8}</UniqueIdentifier>
</Filter>
<Filter Include="lpeg">
<UniqueIdentifier>{3d301d9e-c295-4dc6-b19f-bdb40f8cfe85}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lapi.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lcode.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lctype.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldblib.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldebug.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldo.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldump.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lfunc.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lgc.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\llex.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lmem.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lobject.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lopcodes.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lparser.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lstate.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lstring.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ltable.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ltm.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lundump.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lvm.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lzio.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lauxlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lbaselib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lbitlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lcorolib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lmathlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lstrlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ltablib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lutf8lib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\loadlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpcap.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpcode.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpprint.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lptree.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpvm.c">
<Filter>lpeg</Filter>
</ClCompile>
</ItemGroup>
</Project>

BIN
build/uwp/store/0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
build/uwp/store/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
build/uwp/store/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
build/uwp/store/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -0,0 +1,28 @@
<?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.45.1.0" />
<mp:PhoneIdentity PhoneProductId="93515db0-8ee3-478b-933a-5776b58247b2" PhonePublisherId="00000000-0000-0000-0000-000000000000" />
<Properties>
<DisplayName>TIC-80</DisplayName>
<PublisherDisplayName>Nesbox</PublisherDisplayName>
<Logo>Assets\StoreLogo.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
</Dependencies>
<Resources>
<Resource Language="x-generate" />
</Resources>
<Applications>
<Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="tic.App">
<uap:VisualElements DisplayName="TIC-80" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png" Description="tiny computer for making, playing and sharing tiny games" BackgroundColor="#deeed6">
<uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png" ShortName="TIC-80">
</uap:DefaultTile>
<uap:SplashScreen Image="Assets\SplashScreen.png" BackgroundColor="#deeed6" />
</uap:VisualElements>
</Application>
</Applications>
<Capabilities>
<Capability Name="internetClient" />
</Capabilities>
</Package>

110
build/uwp/tic/tic.sln Normal file
View File

@ -0,0 +1,110 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tic", "tic.vcxproj", "{7F895641-6C8F-4481-BD81-57785A4BEB09}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib-uwp", "..\..\..\..\..\sdk\zlib-1.2.8\winrt\zlib-uwp\zlib-uwp.vcxproj", "{978F53DB-F959-4CB4-84A7-463AF29949BE}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2-UWP", "..\..\..\..\..\sdk\SDL2-2.0.5\VisualC-WinRT\UWP_VS2015\SDL-UWP.vcxproj", "{89E9B32E-A86A-47C3-A948-D2B1622925CE}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lua", "..\lua\lua.vcxproj", "{53802F21-41DA-4AC1-8B62-0DAC2CCB8AF8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gif", "..\gif\gif.vcxproj", "{BC1084DF-210A-48D6-A077-761D8C16947B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tic80", "..\tic80\tic80.vcxproj", "{9C39ACF1-5F52-4A2B-A467-9F2805D6174B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|ARM = Release|ARM
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Debug|ARM.ActiveCfg = Debug|ARM
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Debug|ARM.Build.0 = Debug|ARM
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Debug|ARM.Deploy.0 = Debug|ARM
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Debug|x64.ActiveCfg = Debug|x64
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Debug|x64.Build.0 = Debug|x64
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Debug|x64.Deploy.0 = Debug|x64
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Debug|x86.ActiveCfg = Debug|Win32
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Debug|x86.Build.0 = Debug|Win32
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Debug|x86.Deploy.0 = Debug|Win32
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Release|ARM.ActiveCfg = Release|ARM
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Release|ARM.Build.0 = Release|ARM
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Release|ARM.Deploy.0 = Release|ARM
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Release|x64.ActiveCfg = Release|x64
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Release|x64.Build.0 = Release|x64
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Release|x64.Deploy.0 = Release|x64
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Release|x86.ActiveCfg = Release|Win32
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Release|x86.Build.0 = Release|Win32
{7F895641-6C8F-4481-BD81-57785A4BEB09}.Release|x86.Deploy.0 = Release|Win32
{978F53DB-F959-4CB4-84A7-463AF29949BE}.Debug|ARM.ActiveCfg = Debug|ARM
{978F53DB-F959-4CB4-84A7-463AF29949BE}.Debug|ARM.Build.0 = Debug|ARM
{978F53DB-F959-4CB4-84A7-463AF29949BE}.Debug|x64.ActiveCfg = Debug|x64
{978F53DB-F959-4CB4-84A7-463AF29949BE}.Debug|x64.Build.0 = Debug|x64
{978F53DB-F959-4CB4-84A7-463AF29949BE}.Debug|x86.ActiveCfg = Debug|Win32
{978F53DB-F959-4CB4-84A7-463AF29949BE}.Debug|x86.Build.0 = Debug|Win32
{978F53DB-F959-4CB4-84A7-463AF29949BE}.Release|ARM.ActiveCfg = Release|ARM
{978F53DB-F959-4CB4-84A7-463AF29949BE}.Release|ARM.Build.0 = Release|ARM
{978F53DB-F959-4CB4-84A7-463AF29949BE}.Release|x64.ActiveCfg = Release|x64
{978F53DB-F959-4CB4-84A7-463AF29949BE}.Release|x64.Build.0 = Release|x64
{978F53DB-F959-4CB4-84A7-463AF29949BE}.Release|x86.ActiveCfg = Release|Win32
{978F53DB-F959-4CB4-84A7-463AF29949BE}.Release|x86.Build.0 = Release|Win32
{89E9B32E-A86A-47C3-A948-D2B1622925CE}.Debug|ARM.ActiveCfg = Debug|ARM
{89E9B32E-A86A-47C3-A948-D2B1622925CE}.Debug|ARM.Build.0 = Debug|ARM
{89E9B32E-A86A-47C3-A948-D2B1622925CE}.Debug|x64.ActiveCfg = Debug|x64
{89E9B32E-A86A-47C3-A948-D2B1622925CE}.Debug|x64.Build.0 = Debug|x64
{89E9B32E-A86A-47C3-A948-D2B1622925CE}.Debug|x86.ActiveCfg = Debug|Win32
{89E9B32E-A86A-47C3-A948-D2B1622925CE}.Debug|x86.Build.0 = Debug|Win32
{89E9B32E-A86A-47C3-A948-D2B1622925CE}.Release|ARM.ActiveCfg = Release|ARM
{89E9B32E-A86A-47C3-A948-D2B1622925CE}.Release|ARM.Build.0 = Release|ARM
{89E9B32E-A86A-47C3-A948-D2B1622925CE}.Release|x64.ActiveCfg = Release|x64
{89E9B32E-A86A-47C3-A948-D2B1622925CE}.Release|x64.Build.0 = Release|x64
{89E9B32E-A86A-47C3-A948-D2B1622925CE}.Release|x86.ActiveCfg = Release|Win32
{89E9B32E-A86A-47C3-A948-D2B1622925CE}.Release|x86.Build.0 = Release|Win32
{53802F21-41DA-4AC1-8B62-0DAC2CCB8AF8}.Debug|ARM.ActiveCfg = Debug|ARM
{53802F21-41DA-4AC1-8B62-0DAC2CCB8AF8}.Debug|ARM.Build.0 = Debug|ARM
{53802F21-41DA-4AC1-8B62-0DAC2CCB8AF8}.Debug|x64.ActiveCfg = Debug|x64
{53802F21-41DA-4AC1-8B62-0DAC2CCB8AF8}.Debug|x64.Build.0 = Debug|x64
{53802F21-41DA-4AC1-8B62-0DAC2CCB8AF8}.Debug|x86.ActiveCfg = Debug|Win32
{53802F21-41DA-4AC1-8B62-0DAC2CCB8AF8}.Debug|x86.Build.0 = Debug|Win32
{53802F21-41DA-4AC1-8B62-0DAC2CCB8AF8}.Release|ARM.ActiveCfg = Release|ARM
{53802F21-41DA-4AC1-8B62-0DAC2CCB8AF8}.Release|ARM.Build.0 = Release|ARM
{53802F21-41DA-4AC1-8B62-0DAC2CCB8AF8}.Release|x64.ActiveCfg = Release|x64
{53802F21-41DA-4AC1-8B62-0DAC2CCB8AF8}.Release|x64.Build.0 = Release|x64
{53802F21-41DA-4AC1-8B62-0DAC2CCB8AF8}.Release|x86.ActiveCfg = Release|Win32
{53802F21-41DA-4AC1-8B62-0DAC2CCB8AF8}.Release|x86.Build.0 = Release|Win32
{BC1084DF-210A-48D6-A077-761D8C16947B}.Debug|ARM.ActiveCfg = Debug|ARM
{BC1084DF-210A-48D6-A077-761D8C16947B}.Debug|ARM.Build.0 = Debug|ARM
{BC1084DF-210A-48D6-A077-761D8C16947B}.Debug|x64.ActiveCfg = Debug|x64
{BC1084DF-210A-48D6-A077-761D8C16947B}.Debug|x64.Build.0 = Debug|x64
{BC1084DF-210A-48D6-A077-761D8C16947B}.Debug|x86.ActiveCfg = Debug|Win32
{BC1084DF-210A-48D6-A077-761D8C16947B}.Debug|x86.Build.0 = Debug|Win32
{BC1084DF-210A-48D6-A077-761D8C16947B}.Release|ARM.ActiveCfg = Release|ARM
{BC1084DF-210A-48D6-A077-761D8C16947B}.Release|ARM.Build.0 = Release|ARM
{BC1084DF-210A-48D6-A077-761D8C16947B}.Release|x64.ActiveCfg = Release|x64
{BC1084DF-210A-48D6-A077-761D8C16947B}.Release|x64.Build.0 = Release|x64
{BC1084DF-210A-48D6-A077-761D8C16947B}.Release|x86.ActiveCfg = Release|Win32
{BC1084DF-210A-48D6-A077-761D8C16947B}.Release|x86.Build.0 = Release|Win32
{9C39ACF1-5F52-4A2B-A467-9F2805D6174B}.Debug|ARM.ActiveCfg = Debug|ARM
{9C39ACF1-5F52-4A2B-A467-9F2805D6174B}.Debug|ARM.Build.0 = Debug|ARM
{9C39ACF1-5F52-4A2B-A467-9F2805D6174B}.Debug|x64.ActiveCfg = Debug|x64
{9C39ACF1-5F52-4A2B-A467-9F2805D6174B}.Debug|x64.Build.0 = Debug|x64
{9C39ACF1-5F52-4A2B-A467-9F2805D6174B}.Debug|x86.ActiveCfg = Debug|Win32
{9C39ACF1-5F52-4A2B-A467-9F2805D6174B}.Debug|x86.Build.0 = Debug|Win32
{9C39ACF1-5F52-4A2B-A467-9F2805D6174B}.Release|ARM.ActiveCfg = Release|ARM
{9C39ACF1-5F52-4A2B-A467-9F2805D6174B}.Release|ARM.Build.0 = Release|ARM
{9C39ACF1-5F52-4A2B-A467-9F2805D6174B}.Release|x64.ActiveCfg = Release|x64
{9C39ACF1-5F52-4A2B-A467-9F2805D6174B}.Release|x64.Build.0 = Release|x64
{9C39ACF1-5F52-4A2B-A467-9F2805D6174B}.Release|x86.ActiveCfg = Release|Win32
{9C39ACF1-5F52-4A2B-A467-9F2805D6174B}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

287
build/uwp/tic/tic.vcxproj Normal file
View File

@ -0,0 +1,287 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{7f895641-6c8f-4481-bd81-57785a4beb09}</ProjectGuid>
<RootNamespace>tic</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
<AppContainerApplication>true</AppContainerApplication>
<ApplicationType>Windows Store</ApplicationType>
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.14393.0</WindowsTargetPlatformMinVersion>
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<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|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</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 Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
</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)'=='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|ARM'">
<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|ARM'">
<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>
<PackageCertificateKeyFile>tic_StoreKey.pfx</PackageCertificateKeyFile>
<PackageCertificateThumbprint>FAF3D8EF7331C1BFD85A8A5CE536BBA943CFEF65</PackageCertificateThumbprint>
<AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>
<AppxBundle>Always</AppxBundle>
<AppxBundlePlatforms>x86|x64|arm</AppxBundlePlatforms>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>4453;28204</DisableSpecificWarnings>
<CompileAsWinRT>false</CompileAsWinRT>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<AdditionalIncludeDirectories>..\include;..\..\..\include\tic80;..\..\..\include\lua;..\..\..\include\gif;..\..\..\include\sdl2;..\..\..\include\zlib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<BufferSecurityCheck>
</BufferSecurityCheck>
<PreprocessorDefinitions>_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;LUA_COMPAT_5_2;_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>d2d1.lib; d3d11.lib; dxgi.lib; windowscodecs.lib; dwrite.lib;WindowsApp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/nodefaultlib:vccorlibd /nodefaultlib:msvcrtd vccorlibd.lib msvcrtd.lib</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>4453;28204</DisableSpecificWarnings>
<CompileAsWinRT>false</CompileAsWinRT>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<AdditionalIncludeDirectories>..\include;..\..\..\include\tic80;..\..\..\include\lua;..\..\..\include\gif;..\..\..\include\sdl2;..\..\..\include\zlib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<BufferSecurityCheck>
</BufferSecurityCheck>
<PreprocessorDefinitions>_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;LUA_COMPAT_5_2;_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>d2d1.lib; d3d11.lib; dxgi.lib; windowscodecs.lib; dwrite.lib;WindowsApp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/nodefaultlib:vccorlib /nodefaultlib:msvcrt vccorlib.lib msvcrt.lib</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>4453;28204</DisableSpecificWarnings>
<CompileAsWinRT>false</CompileAsWinRT>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<AdditionalIncludeDirectories>..\include;..\..\..\include\tic80;..\..\..\include\lua;..\..\..\include\gif;..\..\..\include\sdl2;..\..\..\include\zlib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<BufferSecurityCheck>
</BufferSecurityCheck>
<PreprocessorDefinitions>_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;LUA_COMPAT_5_2;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>d2d1.lib; d3d11.lib; dxgi.lib; windowscodecs.lib; dwrite.lib;WindowsApp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/nodefaultlib:vccorlibd /nodefaultlib:msvcrtd vccorlibd.lib msvcrtd.lib</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>4453;28204</DisableSpecificWarnings>
<CompileAsWinRT>false</CompileAsWinRT>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<AdditionalIncludeDirectories>..\include;..\..\..\include\tic80;..\..\..\include\lua;..\..\..\include\gif;..\..\..\include\sdl2;..\..\..\include\zlib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<BufferSecurityCheck>
</BufferSecurityCheck>
<PreprocessorDefinitions>_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;LUA_COMPAT_5_2;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>d2d1.lib; d3d11.lib; dxgi.lib; windowscodecs.lib; dwrite.lib;WindowsApp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/nodefaultlib:vccorlib /nodefaultlib:msvcrt vccorlib.lib msvcrt.lib</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>4453;28204</DisableSpecificWarnings>
<CompileAsWinRT>false</CompileAsWinRT>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<AdditionalIncludeDirectories>..\include;..\..\..\include\tic80;..\..\..\include\lua;..\..\..\include\gif;..\..\..\include\sdl2;..\..\..\include\zlib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<BufferSecurityCheck>
</BufferSecurityCheck>
<PreprocessorDefinitions>_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;LUA_COMPAT_5_2;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>d2d1.lib; d3d11.lib; dxgi.lib; windowscodecs.lib; dwrite.lib;WindowsApp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/nodefaultlib:vccorlibd /nodefaultlib:msvcrtd vccorlibd.lib msvcrtd.lib</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>4453;28204</DisableSpecificWarnings>
<CompileAsWinRT>false</CompileAsWinRT>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<AdditionalIncludeDirectories>..\include;..\..\..\include\tic80;..\..\..\include\lua;..\..\..\include\gif;..\..\..\include\sdl2;..\..\..\include\zlib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<BufferSecurityCheck>
</BufferSecurityCheck>
<PreprocessorDefinitions>_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;LUA_COMPAT_5_2;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>d2d1.lib; d3d11.lib; dxgi.lib; windowscodecs.lib; dwrite.lib;WindowsApp.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/nodefaultlib:vccorlib /nodefaultlib:msvcrt vccorlib.lib msvcrt.lib</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<AppxManifest Include="Package.appxmanifest">
<SubType>Designer</SubType>
</AppxManifest>
<None Include="tic_StoreKey.pfx" />
<None Include="tic_TemporaryKey.pfx" />
</ItemGroup>
<ItemGroup>
<Image Include="Assets\LockScreenLogo.scale-200.png" />
<Image Include="Assets\SplashScreen.scale-200.png" />
<Image Include="Assets\Square150x150Logo.scale-200.png" />
<Image Include="Assets\Square44x44Logo.scale-200.png" />
<Image Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png" />
<Image Include="Assets\StoreLogo.png" />
<Image Include="Assets\Wide310x150Logo.scale-200.png" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\..\sdk\SDL2-2.0.5\VisualC-WinRT\UWP_VS2015\SDL-UWP.vcxproj">
<Project>{89e9b32e-a86a-47c3-a948-d2b1622925ce}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\..\..\sdk\zlib-1.2.8\winrt\zlib-uwp\zlib-uwp.vcxproj">
<Project>{978f53db-f959-4cb4-84a7-463af29949be}</Project>
</ProjectReference>
<ProjectReference Include="..\gif\gif.vcxproj">
<Project>{bc1084df-210a-48d6-a077-761d8c16947b}</Project>
</ProjectReference>
<ProjectReference Include="..\lua\lua.vcxproj">
<Project>{53802f21-41da-4ac1-8b62-0dac2ccb8af8}</Project>
</ProjectReference>
<ProjectReference Include="..\tic80\tic80.vcxproj">
<Project>{9c39acf1-5f52-4a2b-a467-9f2805d6174b}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\..\sdk\SDL2-2.0.5\src\main\winrt\SDL_winrt_main_NonXAML.cpp">
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
</ClCompile>
<ClCompile Include="..\..\..\src\code.c" />
<ClCompile Include="..\..\..\src\config.c" />
<ClCompile Include="..\..\..\src\console.c" />
<ClCompile Include="..\..\..\src\dialog.c" />
<ClCompile Include="..\..\..\src\ext\file_dialog.cpp">
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
<CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
</ClCompile>
<ClCompile Include="..\..\..\src\ext\gif.c" />
<ClCompile Include="..\..\..\src\ext\md5.c" />
<ClCompile Include="..\..\..\src\ext\net\SDLnet.c" />
<ClCompile Include="..\..\..\src\ext\net\SDLnetselect.c" />
<ClCompile Include="..\..\..\src\ext\net\SDLnetTCP.c" />
<ClCompile Include="..\..\..\src\fs.c" />
<ClCompile Include="..\..\..\src\history.c" />
<ClCompile Include="..\..\..\src\html.c" />
<ClCompile Include="..\..\..\src\keymap.c" />
<ClCompile Include="..\..\..\src\map.c" />
<ClCompile Include="..\..\..\src\menu.c" />
<ClCompile Include="..\..\..\src\music.c" />
<ClCompile Include="..\..\..\src\net.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>
<None Include="Package.StoreAssociation.xml" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\..\..\sdk\SDL2-2.0.5\src\main\winrt\SDL2-WinRTResources.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Assets">
<UniqueIdentifier>5fd31c85-b0c7-45fe-a8e6-8cc5dcfd285d</UniqueIdentifier>
<Extensions>bmp;fbx;gif;jpg;jpeg;tga;tiff;tif;png</Extensions>
</Filter>
<Filter Include="src">
<UniqueIdentifier>{6dbd8d4d-dffd-4a4e-a7f6-d8357c295022}</UniqueIdentifier>
</Filter>
<Filter Include="src\ext">
<UniqueIdentifier>{4a787b83-e89b-4707-b2a5-cb6c79ba169e}</UniqueIdentifier>
</Filter>
<Filter Include="src\ext\net">
<UniqueIdentifier>{6cfada12-6c33-4060-be5d-20da24e5ff84}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<Image Include="Assets\LockScreenLogo.scale-200.png">
<Filter>Assets</Filter>
</Image>
<Image Include="Assets\SplashScreen.scale-200.png">
<Filter>Assets</Filter>
</Image>
<Image Include="Assets\Square150x150Logo.scale-200.png">
<Filter>Assets</Filter>
</Image>
<Image Include="Assets\Square44x44Logo.scale-200.png">
<Filter>Assets</Filter>
</Image>
<Image Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png">
<Filter>Assets</Filter>
</Image>
<Image Include="Assets\StoreLogo.png">
<Filter>Assets</Filter>
</Image>
<Image Include="Assets\Wide310x150Logo.scale-200.png">
<Filter>Assets</Filter>
</Image>
</ItemGroup>
<ItemGroup>
<AppxManifest Include="Package.appxmanifest" />
</ItemGroup>
<ItemGroup>
<None Include="tic_TemporaryKey.pfx" />
<None Include="Package.StoreAssociation.xml" />
<None Include="tic_StoreKey.pfx" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\console.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\fs.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\map.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\ext\file_dialog.cpp">
<Filter>src\ext</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\SDL2-2.0.5\src\main\winrt\SDL_winrt_main_NonXAML.cpp" />
<ClCompile Include="..\..\..\src\history.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\world.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\html.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\code.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\config.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ext\gif.c">
<Filter>src\ext</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ext\md5.c">
<Filter>src\ext</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\keymap.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ext\net\SDLnet.c">
<Filter>src\ext\net</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ext\net\SDLnetTCP.c">
<Filter>src\ext\net</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\net.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\tools.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\dialog.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\menu.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ext\net\SDLnetselect.c">
<Filter>src\ext\net</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\surf.c">
<Filter>src</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\..\..\sdk\SDL2-2.0.5\src\main\winrt\SDL2-WinRTResources.rc" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ShowAllFiles>false</ShowAllFiles>
<AppxShowAllApps>True</AppxShowAllApps>
<AppxPackageIsForStore>True</AppxPackageIsForStore>
<AppxBuildConfigurationSelection>x86|x64|arm</AppxBuildConfigurationSelection>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<DebuggerFlavor>UWPRemoteDebugger</DebuggerFlavor>
<DebuggerMachineName>XboxOne</DebuggerMachineName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<DebuggerFlavor>UWPRemoteDebugger</DebuggerFlavor>
<DebuggerMachineName>XboxOne</DebuggerMachineName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<DebuggerFlavor>UWPRemoteDebugger</DebuggerFlavor>
<DebuggerMachineName>XboxOne</DebuggerMachineName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<DebuggerMachineName>XboxOne</DebuggerMachineName>
<DebuggerFlavor>UWPRemoteDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<DebuggerMachineName>XboxOne</DebuggerMachineName>
<DebuggerFlavor>UWPRemoteDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<DebuggerMachineName>XboxOne</DebuggerMachineName>
<DebuggerFlavor>AppHostLocalDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,223 @@
<?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|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<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|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</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>
<ItemGroup>
<ClCompile Include="..\..\..\src\ext\blip_buf.c" />
<ClCompile Include="..\..\..\src\ext\duktape\duktape.c" />
<ClCompile Include="..\..\..\src\ext\gif.c" />
<ClCompile Include="..\..\..\src\jsapi.c" />
<ClCompile Include="..\..\..\src\luaapi.c" />
<ClCompile Include="..\..\..\src\tic.c" />
<ClCompile Include="..\..\..\src\tic80.c" />
<ClCompile Include="..\..\..\src\tools.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\gif\gif.vcxproj">
<Project>{bc1084df-210a-48d6-a077-761d8c16947b}</Project>
</ProjectReference>
<ProjectReference Include="..\lua\lua.vcxproj">
<Project>{53802f21-41da-4ac1-8b62-0dac2ccb8af8}</Project>
</ProjectReference>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{9c39acf1-5f52-4a2b-a467-9f2805d6174b}</ProjectGuid>
<Keyword>DynamicLibrary</Keyword>
<RootNamespace>tic80</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
<AppContainerApplication>true</AppContainerApplication>
<ApplicationType>Windows Store</ApplicationType>
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.14393.0</WindowsTargetPlatformMinVersion>
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v140</PlatformToolset>
</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|ARM'">
<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|ARM'">
<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 />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<GenerateManifest>false</GenerateManifest>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalIncludeDirectories>..\..\..\include\tic80;..\..\..\include\lua;..\..\..\include\gif;..\..\..\include\sdl2;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>LUA_COMPAT_5_2;_CRT_SECURE_NO_WARNINGS;TIC80_SHARED;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalIncludeDirectories>..\..\..\include\tic80;..\..\..\include\lua;..\..\..\include\gif;..\..\..\include\sdl2;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>LUA_COMPAT_5_2;_CRT_SECURE_NO_WARNINGS;TIC80_SHARED;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|arm'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalIncludeDirectories>..\..\..\include\tic80;..\..\..\include\lua;..\..\..\include\gif;..\..\..\include\sdl2;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>LUA_COMPAT_5_2;_CRT_SECURE_NO_WARNINGS;TIC80_SHARED;_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|arm'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalIncludeDirectories>..\..\..\include\tic80;..\..\..\include\lua;..\..\..\include\gif;..\..\..\include\sdl2;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>LUA_COMPAT_5_2;_CRT_SECURE_NO_WARNINGS;TIC80_SHARED;_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalIncludeDirectories>..\..\..\include\tic80;..\..\..\include\lua;..\..\..\include\gif;..\..\..\include\sdl2;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>LUA_COMPAT_5_2;_CRT_SECURE_NO_WARNINGS;TIC80_SHARED;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalIncludeDirectories>..\..\..\include\tic80;..\..\..\include\lua;..\..\..\include\gif;..\..\..\include\sdl2;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>LUA_COMPAT_5_2;_CRT_SECURE_NO_WARNINGS;TIC80_SHARED;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{7fef5e56-dbab-4c46-9b74-272938095273}</UniqueIdentifier>
</Filter>
<Filter Include="src\ext">
<UniqueIdentifier>{b58ae033-7ba6-4374-96d2-041873673e45}</UniqueIdentifier>
</Filter>
<Filter Include="src\ext\duktape">
<UniqueIdentifier>{8029f6c9-1965-4fa9-811f-a9f1cf42fd8a}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<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\tic80.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\tools.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ext\duktape\duktape.c">
<Filter>src\ext\duktape</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ext\blip_buf.c">
<Filter>src\ext</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ext\gif.c">
<Filter>src\ext</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,163 @@
<?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="..\..\..\examples\sdl-renderer.c" />
</ItemGroup>
<ItemGroup>
<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</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>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\include\sdl2;..\..\..\include\tic80;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>SDL2main.lib;SDL2.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>..\..\..\include\sdl2;..\..\..\include\tic80;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>SDL2main.lib;SDL2.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>..\..\..\include\sdl2;..\..\..\include\tic80;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>SDL2main.lib;SDL2.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>..\..\..\include\sdl2;..\..\..\include\tic80;</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>SDL2main.lib;SDL2.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

@ -0,0 +1,6 @@
<?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

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

View File

@ -0,0 +1,146 @@
<?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="..\..\..\..\..\sdk\giflib-5.1.4\lib\dgif_lib.c" />
<ClCompile Include="..\..\..\..\..\sdk\giflib-5.1.4\lib\egif_lib.c" />
<ClCompile Include="..\..\..\..\..\sdk\giflib-5.1.4\lib\gifalloc.c" />
<ClCompile Include="..\..\..\..\..\sdk\giflib-5.1.4\lib\gif_err.c" />
<ClCompile Include="..\..\..\..\..\sdk\giflib-5.1.4\lib\gif_font.c" />
<ClCompile Include="..\..\..\..\..\sdk\giflib-5.1.4\lib\gif_hash.c" />
<ClCompile Include="..\..\..\..\..\sdk\giflib-5.1.4\lib\openbsd-reallocarray.c" />
<ClCompile Include="..\..\..\..\..\sdk\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)'=='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)'=='Debug|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>
<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>_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)'=='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|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

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

View File

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

View File

@ -0,0 +1,950 @@
/*
* 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

@ -0,0 +1,179 @@
<?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="..\..\..\..\..\sdk\lua-5.3.1\src\lapi.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lauxlib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lbaselib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lbitlib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lcode.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lcorolib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lctype.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldblib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldebug.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldo.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldump.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lfunc.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lgc.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\linit.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\llex.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lmathlib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lmem.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\loadlib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lobject.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lopcodes.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\loslib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lparser.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpcap.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpcode.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpprint.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lptree.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpvm.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lstate.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lstring.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lstrlib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ltable.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ltablib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ltm.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lundump.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lutf8lib.c" />
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lvm.c" />
<ClCompile Include="..\..\..\..\..\sdk\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)'=='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)'=='Debug|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>
<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>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)'=='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|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

@ -0,0 +1,127 @@
<?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="..\..\..\..\..\sdk\lua-5.3.1\src\lauxlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lbaselib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lbitlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lcorolib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lmathlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lstrlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ltablib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lutf8lib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lapi.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lcode.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lctype.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldblib.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldebug.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldo.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldump.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lfunc.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lgc.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\linit.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\llex.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lmem.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\loadlib.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lobject.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lopcodes.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\loslib.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lparser.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lstate.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lstring.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ltable.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ltm.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lundump.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lvm.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lzio.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpcap.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpcode.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpprint.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lptree.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpvm.c">
<Filter>lpeg</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,160 @@
<?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

@ -0,0 +1,7 @@
<?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

@ -0,0 +1,19 @@
<?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>

88
build/windows/tic/tic.sln Normal file
View File

@ -0,0 +1,88 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tic", "tic.vcxproj", "{B6ECC66E-26FA-42C2-8F6C-E4338424F38A}"
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}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example", "..\example\example.vcxproj", "{86CAA9C1-C61A-40D8-AC77-33D94754C824}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "..\test\test.vcxproj", "{95A32262-B41A-4123-BD54-B26ED158CB29}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{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|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
{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|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
{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|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
{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|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
{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|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
{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|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
{95A32262-B41A-4123-BD54-B26ED158CB29}.Debug|x64.ActiveCfg = Debug|x64
{95A32262-B41A-4123-BD54-B26ED158CB29}.Debug|x64.Build.0 = Debug|x64
{95A32262-B41A-4123-BD54-B26ED158CB29}.Debug|x86.ActiveCfg = Debug|Win32
{95A32262-B41A-4123-BD54-B26ED158CB29}.Debug|x86.Build.0 = Debug|Win32
{95A32262-B41A-4123-BD54-B26ED158CB29}.Release|x64.ActiveCfg = Release|x64
{95A32262-B41A-4123-BD54-B26ED158CB29}.Release|x64.Build.0 = Release|x64
{95A32262-B41A-4123-BD54-B26ED158CB29}.Release|x86.ActiveCfg = Release|Win32
{95A32262-B41A-4123-BD54-B26ED158CB29}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

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