Merge branch 'tic_0.46.0'

This commit is contained in:
BADIM-PC\Vadim committed 2017-10-05 10:57:50 +03:00
commit 727a4b0edf
28 files changed
+693 -221

No files matched your search

+2
View File
@@ -77,3 +77,5 @@ build/android/bin/
build/windows/test/Release/
build/uwp/tic80/x64/
build/uwp/tic80/ARM/
build/uwp/tic/Package.StoreAssociation.xml
build/uwp/tic/tic_StoreKey.pfx
+1 -1
View File
@@ -1 +1 @@
0x78, 0xda, 0xed, 0x59, 0xcd, 0x6b, 0x1b, 0x47, 0x14, 0x1f, 0xc5, 0x4e, 0x1a, 0x29, 0x6e, 0xc6, 0x82, 0x12, 0xfa, 0x91, 0x36, 0x42, 0xcd, 0x21, 0x07, 0x87, 0x3a, 0x96, 0xf3, 0x51, 0x83, 0xa0, 0x8a, 0xb5, 0xb1, 0xd5, 0xd8, 0x92, 0x90, 0xa5, 0xa4, 0x21, 0x50, 0xd7, 0x4d, 0xbc, 0xa5, 0x87, 0x44, 0xa4, 0x69, 0x0a, 0xa5, 0x18, 0x42, 0x20, 0xa0, 0x9e, 0xdc, 0x83, 0x0b, 0xd5, 0x49, 0x2d, 0xb9, 0xa9, 0x97, 0x5e, 0x72, 0xa9, 0x0e, 0xa6, 0x3d, 0x06, 0x5a, 0x4a, 0x28, 0x3d, 0x94, 0xd2, 0x3f, 0x61, 0xfd, 0x4e, 0xa6, 0xa6, 0x90, 0xe9, 0xcc, 0xec, 0xac, 0x76, 0x76, 0xf6, 0x8d, 0xec, 0x42, 0x68, 0xa0, 0x68, 0x26, 0xcf, 0x6f, 0x67, 0xde, 0xbe, 0x37, 0x1f, 0xbf, 0xf7, 0x66, 0xf6, 0x29, 0x89, 0x4f, 0x0f, 0x90, 0x27, 0x8c, 0x97, 0x6c, 0x36, 0xbb, 0xde, 0x6a, 0xb5, 0xd6, 0x05, 0xe7, 0xcd, 0x75, 0x06, 0x7d, 0x62, 0x6c, 0xcb, 0xcb, 0x66, 0x99, 0xd7, 0x6a, 0x81, 0x97, 0xbd, 0x07, 0x1e, 0x5b, 0x07, 0x06, 0xeb, 0x00, 0x01, 0x49, 0xfd, 0x74, 0x3a, 0xdd, 0x74, 0x5d, 0xb7, 0x29, 0x38, 0x6f, 0x36, 0xb9, 0x5e, 0x40, 0x42, 0x3f, 0x9d, 0x66, 0x9e, 0xeb, 0x82, 0x97, 0x5e, 0xe1, 0xfa, 0x4d, 0xf0, 0xc0, 0xa7, 0x2d, 0x68, 0x12, 0x26, 0xf5, 0x8b, 0xc5, 0x62, 0xa7, 0xdd, 0x6e, 0x77, 0x04, 0xe7, 0xcd, 0x0e, 0xe5, 0xc4, 0x75, 0x3b, 0x4a, 0xbf, 0x58, 0x64, 0x5e, 0xbb, 0x0d, 0x5e, 0x71, 0x83, 0xeb, 0x77, 0xc0, 0xa3, 0x9c, 0xa0, 0xc3, 0xf5, 0x3b, 0x4a, 0xbf, 0xd1, 0x68, 0x6c, 0xf6, 0x7a, 0xbd, 0x4d, 0xc1, 0x79, 0x53, 0x12, 0x25, 0x54, 0x70, 0xa1, 0xdf, 0x68, 0x30, 0xaf, 0xd7, 0x03, 0xaf, 0xf1, 0x90, 0xeb, 0x6f, 0x72, 0x9b, 0x9b, 0x00, 0x84, 0x93, 0xe0, 0x5f, 0x77, 0xbb, 0xa9, 0xae, 0x28, 0x33, 0x0f, 0xba, 0xdd, 0x5c, 0xae, 0x3b, 0x93, 0xcb, 0x3d, 0x10, 0x4d, 0xfe, 0x67, 0x66, 0x32, 0x97, 0x1b, 0x09, 0xe4, 0xb2, 0x9f, 0xcb, 0xe5, 0x7b, 0x31, 0xf9, 0x03, 0xa5, 0xaf, 0x38, 0x6f, 0x47, 0xe4, 0x33, 0xca, 0xfe, 0x8c, 0xd2, 0x9f, 0x09, 0xf5, 0xbf, 0xeb, 0xf5, 0x0e, 0xf5, 0xae, 0x3e, 0xec, 0xf5, 0x1e, 0x5e, 0xf5, 0xa9, 0xd1, 0x90, 0x9c, 0xf7, 0x5c, 0xad, 0x36, 0x1a, 0xfb, 0xdf, 0x73, 0xdd, 0x03, 0x6e, 0x7a, 0xc5, 0x75, 0x57, 0x8e, 0xb8, 0x3a, 0xe7, 0x4f, 0x47, 0xc6, 0xd3, 0xe9, 0xc4, 0xdd, 0x56, 0xeb, 0x60, 0xeb, 0xde, 0x89, 0x96, 0xa4, 0x13, 0xf7, 0x5a, 0xc1, 0x33, 0x7f, 0x3a, 0x91, 0xc9, 0x66, 0xf7, 0x7d, 0xd1, 0x6e, 0x27, 0xdb, 0x1b, 0xa5, 0xb6, 0xa4, 0x52, 0x91, 0xef, 0xb2, 0xe0, 0x1b, 0xed, 0x0d, 0xfe, 0xf7, 0xad, 0x62, 0x71, 0x54, 0xe2, 0x2d, 0xb0, 0x97, 0xf5, 0x2f, 0xf9, 0xfc, 0x06, 0xf7, 0x03, 0x46, 0x40, 0xec, 0xed, 0x13, 0xb6, 0x4e, 0x18, 0xc7, 0x7e, 0x6b, 0x9d, 0xe3, 0xdf, 0x52, 0x24, 0xfc, 0x81, 0xc0, 0x96, 0xc7, 0x98, 0xe7, 0x49, 0xbc, 0x05, 0xf6, 0xee, 0x36, 0xe7, 0xa2, 0xba, 0xee, 0x31, 0xee, 0x07, 0x7d, 0xfd, 0x26, 0x00, 0xc7, 0x5e, 0x52, 0xd3, 0x05, 0x26, 0xfd, 0x20, 0x1d, 0xea, 0x4b, 0xbc, 0x05, 0xf6, 0x3b, 0x3b, 0x3b, 0x9d, 0x76, 0xa7, 0x23, 0x9e, 0x2b, 0xdc, 0x0f, 0xfa, 0xfa, 0x1d, 0x00, 0x8e, 0x3d, 0xec, 0x70, 0xea, 0xb4, 0x81, 0x49, 0x3f, 0x28, 0x86, 0xfa, 0x12, 0x6b, 0x81, 0x7d, 0x4f, 0xf0, 0xbf, 0xe5, 0xf3, 0x32, 0xf7, 0x83, 0xbe, 0xfe, 0x26, 0x61, 0x1c, 0xfb, 0xad, 0x4d, 0x8e, 0x7f, 0x4f, 0x91, 0xf0, 0x87, 0x40, 0x9f, 0xf0, 0x62, 0xf3, 0x01, 0xd1, 0xaf, 0xcb, 0x4d, 0x1f, 0x88, 0xca, 0xe3, 0x3e, 0x10, 0x91, 0x23, 0x3e, 0x10, 0xc8, 0x6d, 0x3e, 0x20, 0xfa, 0x85, 0xdc, 0xe6, 0x03, 0xa2, 0x5f, 0xc8, 0x6d, 0x3e, 0x20, 0xfa, 0x85, 0xdc, 0xe6, 0x03, 0xa2, 0x1f, 0x8d, 0x5f, 0x59, 0xdc, 0x66, 0x93, 0x6d, 0x9b, 0xf1, 0xcb, 0x04, 0x9e, 0x4d, 0x81, 0x29, 0xa7, 0x6d, 0x4e, 0x84, 0x8c, 0xa7, 0xf9, 0xbf, 0x34, 0xe1, 0xba, 0xe3, 0x8a, 0x22, 0x85, 0x8f, 0x2f, 0xfe, 0x70, 0x57, 0x15, 0xaf, 0x04, 0x94, 0x08, 0x88, 0x0c, 0xcb, 0x33, 0x2d, 0x61, 0xfc, 0x0a, 0xbe, 0xcd, 0xe2, 0xf1, 0x4b, 0x44, 0xcc, 0x6e, 0xf1, 0xd8, 0x95, 0x3e, 0x60, 0xc6, 0x6f, 0x00, 0x73, 0x80, 0xbd, 0x04, 0x58, 0xf8, 0x83, 0xf0, 0x0b, 0x89, 0x7d, 0x1f, 0x6b, 0x85, 0x7d, 0xc2, 0xf7, 0x87, 0x7d, 0x8f, 0x8e, 0x0d, 0x77, 0x7f, 0x58, 0x86, 0x65, 0x58, 0xec, 0x85, 0x69, 0x44, 0x34, 0xae, 0x8a, 0xb8, 0x7e, 0x04, 0xd9, 0x8a, 0x90, 0x31, 0x46, 0x23, 0x3c, 0x22, 0xe7, 0x7d, 0x94, 0x0a, 0xce, 0x1b, 0xfc, 0x81, 0x19, 0xf6, 0xb9, 0x94, 0x0b, 0xe5, 0x83, 0x62, 0x34, 0xaa, 0xef, 0xab, 0x11, 0xe0, 0x7f, 0x28, 0xf8, 0xdc, 0x30, 0x40, 0x60, 0xd0, 0xfa, 0x94, 0x3c, 0x20, 0xc3, 0x7c, 0xd8, 0x47, 0x2d, 0xb6, 0xa8, 0x18, 0x9f, 0xca, 0xf9, 0x0b, 0x6e, 0xea, 0xf7, 0xc7, 0x60, 0x04, 0x97, 0xe9, 0x63, 0x51, 0xfb, 0x7c, 0x81, 0xed, 0x0e, 0x15, 0x50, 0x65, 0x03, 0x5b, 0x60, 0xc8, 0x62, 0x76, 0x19, 0xef, 0x0d, 0x28, 0x36, 0x0e, 0x53, 0x63, 0xb3, 0xe0, 0x39, 0x6a, 0x41, 0xe2, 0x05, 0x54, 0xd9, 0xf1, 0x31, 0x8e, 0xca, 0xd5, 0xa4, 0xc4, 0xfe, 0x80, 0xdd, 0x3e, 0x83, 0xe0, 0x5d, 0x12, 0xd3, 0x67, 0xda, 0x38, 0xa6, 0x7f, 0x84, 0xe3, 0x12, 0x74, 0xfe, 0xfa, 0xf8, 0x8a, 0xa1, 0xeb, 0x07, 0x8b, 0x7e, 0xd8, 0xef, 0x83, 0x13, 0x93, 0x6b, 0x7b, 0x8e, 0xed, 0xbf, 0x29, 0x8f, 0xe1, 0xab, 0x61, 0x23, 0xc1, 0x01, 0x3b, 0xf6, 0x98, 0x0f, 0x44, 0xf4, 0x10, 0xdf, 0x01, 0x6d, 0xfd, 0x68, 0xfc, 0x2a, 0xbf, 0xa5, 0xcc, 0x8f, 0x2c, 0xdb, 0xfa, 0x25, 0x31, 0x9f, 0x9b, 0xf8, 0xfb, 0xb2, 0x90, 0xe3, 0xfa, 0x36, 0x7c, 0xa2, 0xfe, 0xc7, 0Line truncated
0x78, 0xda, 0xed, 0x59, 0x4d, 0x6c, 0x1b, 0x45, 0x14, 0x1e, 0x37, 0x29, 0xd4, 0x6e, 0xc8, 0xc4, 0x12, 0xaa, 0xf8, 0x29, 0xd4, 0x32, 0x3d, 0xf4, 0x90, 0x8a, 0x34, 0x4e, 0x7f, 0x88, 0x64, 0x84, 0x1b, 0x6f, 0x13, 0xd3, 0xc4, 0xb6, 0x9c, 0xb8, 0xa5, 0xaa, 0xd4, 0x10, 0xda, 0x2c, 0x42, 0xa2, 0xb5, 0x68, 0x28, 0x1c, 0x50, 0xa4, 0xaa, 0x52, 0x25, 0x73, 0x0a, 0x87, 0x20, 0xe1, 0x93, 0x8b, 0x7a, 0x33, 0x17, 0x2e, 0xb9, 0xe0, 0x43, 0x04, 0xc7, 0x4a, 0x20, 0x54, 0x21, 0x0e, 0x08, 0x71, 0x41, 0x5c, 0x37, 0xef, 0x14, 0x11, 0x55, 0xea, 0x30, 0x33, 0x3b, 0x6b, 0xcf, 0xce, 0xbe, 0x71, 0x82, 0x54, 0x40, 0x42, 0x9e, 0xe9, 0xcb, 0xdb, 0x99, 0xb7, 0xef, 0xcd, 0xcf, 0xf7, 0xde, 0xcc, 0x3e, 0x37, 0x76, 0xef, 0x29, 0xf2, 0x98, 0xf1, 0x92, 0x4e, 0xa7, 0xd7, 0xea, 0xf5, 0xfa, 0x9a, 0xe0, 0xbc, 0xb9, 0xc6, 0xa0, 0x43, 0x8c, 0x6d, 0x79, 0xe9, 0x34, 0xf3, 0xea, 0x75, 0xf0, 0xd2, 0x77, 0xc0, 0x63, 0x6b, 0xc0, 0x60, 0x0d, 0x20, 0x20, 0xa9, 0x9f, 0x4c, 0x26, 0x6b, 0xae, 0xeb, 0xd6, 0x04, 0xe7, 0xcd, 0x1a, 0xd7, 0x0b, 0x48, 0xe8, 0x27, 0x93, 0xcc, 0x73, 0x5d, 0xf0, 0x92, 0x4b, 0x5c, 0xbf, 0x06, 0x1e, 0xf8, 0xb4, 0x05, 0x35, 0xc2, 0xa4, 0x7e, 0x3e, 0x9f, 0x6f, 0x36, 0x1a, 0x8d, 0xa6, 0xe0, 0xbc, 0xd9, 0xa4, 0x9c, 0xb8, 0x6e, 0x53, 0xe9, 0xe7, 0xf3, 0xcc, 0x6b, 0x34, 0xc0, 0xcb, 0xaf, 0x73, 0xfd, 0x26, 0x78, 0x94, 0x13, 0x34, 0xb9, 0x7e, 0x53, 0xe9, 0x57, 0xab, 0xd5, 0xcd, 0x76, 0xbb, 0xbd, 0x29, 0x38, 0x6f, 0x4a, 0xa2, 0x84, 0x0a, 0x2e, 0xf4, 0xab, 0x55, 0xe6, 0xb5, 0xdb, 0xe0, 0x55, 0x37, 0xb8, 0xfe, 0x26, 0xb7, 0xb9, 0x09, 0x40, 0x38, 0x09, 0x7e, 0xaf, 0xd5, 0x4a, 0xb4, 0x44, 0x99, 0xbc, 0xdf, 0x6a, 0x65, 0x32, 0xad, 0xc9, 0x4c, 0xe6, 0xbe, 0x68, 0xf2, 0x3f, 0x93, 0x63, 0x99, 0xcc, 0x40, 0x20, 0x97, 0xfd, 0x5c, 0x2e, 0xdf, 0x8b, 0xc8, 0xef, 0x2b, 0x7d, 0xc5, 0x79, 0x3b, 0x24, 0x9f, 0x54, 0xf6, 0x27, 0x95, 0xfe, 0x64, 0x57, 0xff, 0xeb, 0x76, 0xfb, 0x60, 0xfb, 0xf2, 0x46, 0xbb, 0xbd, 0x71, 0xd9, 0xa7, 0x6a, 0x55, 0x72, 0xde, 0x73, 0xb9, 0x5c, 0xad, 0xee, 0x7f, 0xdb, 0x75, 0x9f, 0x72, 0x93, 0x4b, 0xae, 0xbb, 0x74, 0xc8, 0xd5, 0x39, 0x7f, 0x3a, 0x34, 0x92, 0x4c, 0xc6, 0x6e, 0xd7, 0xeb, 0x07, 0xea, 0x77, 0x8e, 0xd5, 0x25, 0x1d, 0xbb, 0x53, 0x0f, 0x9e, 0xf9, 0xd3, 0xb1, 0x54, 0x3a, 0xbd, 0xef, 0xb3, 0x46, 0x23, 0xde, 0x58, 0x2f, 0x34, 0x24, 0x15, 0xf2, 0x7c, 0x97, 0x05, 0x5f, 0x6f, 0xac, 0xf3, 0xbf, 0x6f, 0xe4, 0xf3, 0x83, 0x12, 0x6f, 0x81, 0xbd, 0xac, 0x7f, 0xca, 0xe7, 0x57, 0xb9, 0x1f, 0x30, 0x02, 0x62, 0x6f, 0x1f, 0xb3, 0x35, 0xc2, 0x38, 0xf6, 0x5b, 0x6b, 0x1c, 0xff, 0xba, 0x22, 0xe1, 0x0f, 0x04, 0xb6, 0x3c, 0xc6, 0x3c, 0x4f, 0xe2, 0x2d, 0xb0, 0x77, 0xb7, 0x39, 0x17, 0xd5, 0x75, 0x8f, 0x70, 0x3f, 0xe8, 0xe8, 0xd7, 0x00, 0x38, 0xf6, 0x92, 0x6a, 0x2e, 0x30, 0xe9, 0x07, 0xc9, 0xae, 0xbe, 0xc4, 0x5b, 0x60, 0xbf, 0xb3, 0xb3, 0xd3, 0x6c, 0x34, 0x9b, 0xe2, 0xb9, 0xc4, 0xfd, 0xa0, 0xa3, 0xdf, 0x04, 0xe0, 0xd8, 0xc3, 0x0e, 0xa7, 0x66, 0x03, 0x98, 0xf4, 0x83, 0x7c, 0x57, 0x5f, 0x62, 0x2d, 0xb0, 0x6f, 0x0b, 0xfe, 0x48, 0x3e, 0x2f, 0x72, 0x3f, 0xe8, 0xe8, 0x6f, 0x12, 0xc6, 0xb1, 0xdf, 0xda, 0xe4, 0xf8, 0xb7, 0x15, 0x09, 0x7f, 0x08, 0xf4, 0x09, 0x2f, 0x36, 0x1f, 0x10, 0xfd, 0xba, 0xdc, 0xf4, 0x81, 0xb0, 0x3c, 0xea, 0x03, 0x21, 0x39, 0xe2, 0x03, 0x81, 0xdc, 0xe6, 0x03, 0xa2, 0x5f, 0xc8, 0x6d, 0x3e, 0x20, 0xfa, 0x85, 0xdc, 0xe6, 0x03, 0xa2, 0x5f, 0xc8, 0x6d, 0x3e, 0x20, 0xfa, 0xd1, 0xf8, 0x95, 0xc5, 0xad, 0xd5, 0xd8, 0xb6, 0x19, 0xbf, 0x4c, 0xe0, 0x59, 0x13, 0x98, 0x72, 0xda, 0xe6, 0x44, 0xc8, 0x48, 0x92, 0xff, 0x4b, 0x12, 0xae, 0x3b, 0xa2, 0x28, 0x54, 0xf8, 0xf8, 0xe2, 0x0f, 0x77, 0x55, 0xf1, 0x4a, 0x40, 0xb1, 0x80, 0xae, 0x54, 0x3d, 0x6f, 0xe3, 0xd1, 0x1f, 0xde, 0x46, 0xdb, 0x27, 0xd1, 0xd6, 0x0b, 0xe9, 0x97, 0x7f, 0xb4, 0x74, 0xe3, 0x57, 0xf0, 0x6d, 0x16, 0x8d, 0x5f, 0x22, 0x62, 0x76, 0x8b, 0xc7, 0xae, 0xf4, 0x01, 0x33, 0x7e, 0x03, 0x98, 0x03, 0xec, 0x25, 0xc0, 0xc2, 0x1f, 0x84, 0x5f, 0x48, 0xec, 0x3b, 0x58, 0x2b, 0xec, 0x63, 0xbe, 0x3f, 0xa8, 0xf1, 0x5f, 0xcf, 0x78, 0xde, 0xca, 0xc7, 0xbf, 0x77, 0x48, 0xb4, 0xf5, 0xb2, 0xef, 0xc1, 0x91, 0x3e, 0x48, 0xfd, 0xd2, 0x2f, 0xfd, 0x62, 0x2f, 0x4c, 0x23, 0xa2, 0x71, 0x55, 0xc4, 0x2d, 0x25, 0xc8, 0x56, 0x84, 0x8c, 0x31, 0x1a, 0xe2, 0x21, 0x39, 0xef, 0xa3, 0x54, 0x70, 0xde, 0xe0, 0x0f, 0xcc, 0xb0, 0xcf, 0xa5, 0x5c, 0x28, 0x1f, 0x14, 0xa3, 0x61, 0x7d, 0x5f, 0x8d, 0x00, 0xff, 0x43, 0xc1, 0xe7, 0x86, 0x01, 0x02, 0xbd, 0xd6, 0xa7, 0xe4, 0x01, 0x19, 0xe6, 0xbb, 0x7d, 0xd4, 0x62, 0x8b, 0x8a, 0xf1, 0xa9, 0x9c, 0xbf, 0xe0, 0xa6, 0x7e, 0x67, 0x0c, 0x46, 0x70, 0x99, 0x3e, 0x16, 0xb5, 0xcf, 0x17, 0xd8, 0xee, 0x50, 0x01, 0x55, 0x36, 0xb0, 0x05, 0x76, 0x59, 0xc4, 0x2e, 0xe3, 0xbd, 0x01, 0x45, 0xc6, 0x61, 0x6a, 0x6c, 0x16, 0x3c, 0x87, 0x2d, 0x48, 0xbc, 0x80, 0x2a, 0x3b, 0x3e, 0xc6, 0x61, 0xb9, 0x9a, 0x94, 0xd8, 0x1f, 0xb0, 0xdb, 0x67, 0x10, 0xbc, 0x4b, 0x22, 0xfa, 0x4c, 0x1b, 0xc7, 0xf4, 0x8f, 0xee, 0xb8, 0x04, 0x9d, 0xbf, 0x3e, 0xbe, 0x62, 0xe8, 0xfa, 0xc1, 0xa2, 0xdf, 0xed, 0xf7, 0xc1, 0x89, 0xc8, 0xb5, 0x3d, 0xc7, 0xf6, 0xdf, 0x94, 0x47, 0xf0, 0xd5, 0xb0, 0x91, 0xe0, 0x80, 0x1d, 0x7b, 0xcc, 0x07, 0x42, 0x7a, 0x88, 0xef, 0Line truncated
+1 -1
View File
@@ -1 +1 @@
0x78, 0xda, 0xe4, 0xbd, 0x09, 0x77, 0x1c, 0x47, 0x76, 0x2e, 0xf8, 0x57, 0xa0, 0x3a, 0x1a, 0x3e, 0x94, 0x50, 0x04, 0x33, 0x22, 0x77, 0x96, 0x8a, 0x3a, 0x6c, 0x8a, 0xea, 0xa6, 0x2d, 0x92, 0x1a, 0x2e, 0xdd, 0x6d, 0x43, 0x30, 0x4e, 0x11, 0x28, 0x12, 0x25, 0x61, 0xa1, 0x51, 0x05, 0x2e, 0x06, 0xe0, 0xdf, 0xfe, 0xe2, 0x7e, 0xdf, 0x8d, 0xc8, 0xc8, 0xa5, 0x40, 0xaa, 0xc7, 0x9e, 0x79, 0x3e, 0xe3, 0x36, 0x85, 0xac, 0xc8, 0xc8, 0x58, 0xef, 0x7e, 0x6f, 0xdc, 0xf8, 0xb8, 0x3c, 0x3b, 0x3a, 0xff, 0xb8, 0x3b, 0x3f, 0x3a, 0x7a, 0xfc, 0x61, 0x71, 0xb6, 0xfe, 0x79, 0xb9, 0x5a, 0x2f, 0xce, 0x16, 0x17, 0xdb, 0xa3, 0xdf, 0x17, 0x9f, 0xdd, 0x8b, 0xb3, 0xd1, 0x64, 0xfb, 0xed, 0xe5, 0xd9, 0xe1, 0x7a, 0x79, 0x7e, 0xb6, 0xbd, 0x18, 0x5f, 0x2d, 0xdf, 0x6e, 0x2f, 0x76, 0x0f, 0xd7, 0x17, 0x27, 0xff, 0xbc, 0xf8, 0x7c, 0xe7, 0xce, 0x5e, 0x65, 0xf7, 0x77, 0x5d, 0x03, 0x8b, 0x4f, 0xcf, 0xa5, 0xdc, 0x7d, 0xf2, 0xe8, 0xfc, 0x68, 0x31, 0x7e, 0x70, 0xd7, 0x5c, 0x5f, 0xef, 0x55, 0x13, 0x5b, 0x4e, 0xd2, 0x74, 0x92, 0x66, 0x93, 0x34, 0x9f, 0xa4, 0xc5, 0x24, 0x75, 0x3f, 0xab, 0x49, 0x5a, 0x4f, 0xb2, 0x64, 0x62, 0xac, 0x9d, 0xe4, 0xd5, 0x24, 0xaf, 0x27, 0x45, 0x32, 0x29, 0xcc, 0xa4, 0xd8, 0xd4, 0xd0, 0x78, 0xb1, 0xfb, 0xfe, 0x62, 0x21, 0x43, 0xfb, 0x71, 0xf1, 0x76, 0x7e, 0x79, 0xb2, 0xde, 0x1e, 0xdf, 0x8c, 0x27, 0x6f, 0xe7, 0x27, 0xab, 0xc5, 0x78, 0xfa, 0xf4, 0xfc, 0xe8, 0xf2, 0x64, 0xb1, 0xbb, 0x9a, 0x7f, 0x58, 0x3c, 0x5c, 0xcd, 0x5a, 0xbf, 0xae, 0xaf, 0x5b, 0xe3, 0x1e, 0x5d, 0xae, 0x16, 0x5b, 0xab, 0xf5, 0xc5, 0xf2, 0x70, 0x3d, 0x9a, 0xba, 0x49, 0xac, 0x3f, 0xbf, 0x5f, 0x9c, 0xbf, 0xdd, 0x5a, 0xcc, 0x66, 0xb3, 0xd1, 0xa5, 0xeb, 0xf7, 0xed, 0xf2, 0x6c, 0x71, 0x34, 0xba, 0xbe, 0xd6, 0xf2, 0xb3, 0xf9, 0x87, 0xe5, 0xbb, 0xf9, 0xfa, 0xfc, 0xe2, 0x9b, 0xd6, 0xfb, 0x3b, 0x77, 0xee, 0x3d, 0x7d, 0xf9, 0xe4, 0xf1, 0xd6, 0x9e, 0xb9, 0x5b, 0xef, 0xff, 0xba, 0x7b, 0x6f, 0x77, 0xbd, 0x58, 0xad, 0xb7, 0x43, 0xe5, 0x5d, 0xd7, 0xc9, 0xc5, 0xc3, 0x77, 0x6e, 0xac, 0xe3, 0xf1, 0xd5, 0xc5, 0x62, 0x7d, 0x79, 0x71, 0x76, 0xf3, 0x61, 0x7e, 0xb1, 0xb5, 0x9e, 0x2d, 0x76, 0x8f, 0xce, 0x0f, 0x2f, 0x4f, 0xdd, 0x9b, 0xc9, 0xd9, 0xac, 0x19, 0x98, 0xaf, 0xb5, 0xb5, 0xd8, 0x7d, 0xfd, 0xe2, 0xe7, 0xeb, 0xeb, 0xc5, 0xee, 0xc7, 0xc5, 0x9b, 0xdf, 0x97, 0x6b, 0xfe, 0x70, 0xf3, 0xbc, 0x98, 0xad, 0x77, 0x0f, 0x2f, 0x16, 0xf3, 0xf5, 0xe2, 0xf1, 0xc9, 0x42, 0x3e, 0x7f, 0xf6, 0x72, 0x7b, 0x74, 0xbc, 0x5e, 0xbf, 0xbf, 0x7f, 0xef, 0xde, 0xc7, 0x8f, 0x1f, 0x77, 0x3f, 0xa6, 0xbb, 0xe7, 0x17, 0xef, 0xee, 0x99, 0xba, 0xae, 0xef, 0x7d, 0x3a, 0x5e, 0x9f, 0x9e, 0x8c, 0x26, 0xa3, 0xf9, 0x68, 0x3c, 0x39, 0x9f, 0x8d, 0x64, 0xf3, 0x4e, 0xce, 0xe7, 0x47, 0xa3, 0xe5, 0xd9, 0xd6, 0xc5, 0x64, 0x39, 0x6b, 0x2d, 0x07, 0x47, 0x75, 0xb6, 0xf8, 0xb8, 0xf5, 0xf4, 0xdc, 0x0d, 0x1a, 0x5b, 0xbf, 0x3d, 0x3a, 0x3c, 0x59, 0x1e, 0xfe, 0x3e, 0x1a, 0x4f, 0xdd, 0x68, 0x97, 0xab, 0xf7, 0xf3, 0xf5, 0xe1, 0x31, 0x5f, 0xac, 0x65, 0xc9, 0xe7, 0xb3, 0x7b, 0x87, 0xe7, 0x67, 0x6e, 0x09, 0x2f, 0x0f, 0xdd, 0x54, 0xef, 0x2d, 0x39, 0xf7, 0xc5, 0xee, 0x5f, 0x5e, 0x3d, 0xfd, 0x59, 0x07, 0xe7, 0xf6, 0x65, 0x76, 0xef, 0xd1, 0xc5, 0xf2, 0xf9, 0xcb, 0x5f, 0xef, 0xed, 0xfd, 0x7a, 0xb4, 0xbf, 0x73, 0xcb, 0x02, 0x4d, 0x2e, 0xa3, 0x11, 0xad, 0xc7, 0x57, 0xae, 0xa5, 0xd5, 0x62, 0xfd, 0xe4, 0xf4, 0x74, 0x71, 0xb4, 0x74, 0xd3, 0x95, 0xb5, 0x70, 0xbf, 0x5f, 0x2d, 0x4f, 0x17, 0xe7, 0x97, 0xeb, 0xf1, 0x76, 0xbc, 0x66, 0xeb, 0xe3, 0x8b, 0xf3, 0x8f, 0x5b, 0x6b, 0x37, 0xa6, 0x44, 0x06, 0x76, 0x34, 0x1b, 0xcd, 0xdf, 0xbf, 0x77, 0x43, 0x9f, 0xcb, 0xfb, 0x7b, 0xe7, 0x87, 0xeb, 0xc5, 0xfa, 0xae, 0x1b, 0xe7, 0x62, 0x7e, 0x3a, 0x9a, 0xac, 0x66, 0x66, 0x91, 0x7e, 0xe7, 0x00, 0xee, 0x70, 0x68, 0x01, 0xe2, 0x56, 0x3b, 0x40, 0x21, 0xb0, 0x72, 0xf6, 0x6e, 0x34, 0xbe, 0x72, 0xef, 0x76, 0x1d, 0x00, 0x9e, 0xff, 0xbe, 0x78, 0xfe, 0xe6, 0xb7, 0xc5, 0xa1, 0xec, 0x8d, 0x6b, 0xe0, 0x66, 0xe1, 0x00, 0xf0, 0x6a, 0xe1, 0xde, 0x9c, 0x9e, 0x7f, 0x58, 0x38, 0x98, 0xbc, 0x19, 0x4f, 0x9b, 0xf1, 0x6e, 0xaf, 0x27, 0x2b, 0x19, 0xda, 0x49, 0xdc, 0xe9, 0xc4, 0xed, 0xbd, 0x1b, 0xfc, 0x6c, 0x6f, 0x7f, 0xd7, 0x2d, 0xa4, 0x1b, 0xad, 0x9b, 0xf6, 0x54, 0xc6, 0x21, 0x9b, 0x7c, 0xb2, 0x38, 0x7b, 0xb7, 0x3e, 0x9e, 0x7e, 0x3c, 0x5e, 0x9e, 0x2c, 0xb6, 0x2f, 0xee, 0xde, 0xe5, 0x08, 0xcf, 0x67, 0x8b, 0xbd, 0xd1, 0xf9, 0xd9, 0x68, 0x67, 0xbd, 0x77, 0xb1, 0xbf, 0x1f, 0xc1, 0xed, 0xb9, 0x0c, 0xd1, 0x37, 0xed, 0x06, 0xb9, 0xbe, 0xf8, 0x7c, 0x75, 0xbe, 0x7b, 0x38, 0x3f, 0x39, 0x71, 0xfd, 0x9c, 0xb9, 0xc5, 0x1b, 0xdf, 0x1c, 0xca, 0xfe, 0x6d, 0x2f, 0xc7, 0x57, 0x97, 0xee, 0x3f, 0x37, 0xee, 0xff, 0xc6, 0x93, 0xf7, 0xb3, 0x2e, 0x2e, 0xdf, 0xfb, 0xb7, 0x5f, 0x57, 0xdf, 0x6d, 0xff, 0x70, 0x7f, 0xbd, 0xf8, 0xb4, 0xfe, 0xf5, 0xde, 0xaf, 0x2f, 0xbf, 0xbb, 0x8e, 0x96, 0xf2, 0xd7, 0x7b, 0x9f, 0x4e, 0x4f, 0xae, 0x5d, 0x21, 0xde, 0xfc, 0xba, 0xe3, 0x7e, 0x8d, 0x5d, 0xf5, 0xe9, 0xee, 0x77, 0x87, 0xc7, 0xf3, 0x0b, 0x37, 0x5b, 0xf7, 0x63, 0xe6, 0xfe, 0x5d, 0xae, 0xdf, 0xde, 0xad, 0x1a, 0x80, 0x90, 0x21, 0x06, 0xf8, 0xdf, 0x12, 0x18, 0xfb, 0xd3, 0xc9, 0xf9, 0x9b, 0xed, 0xbd, 0x97, 0x58, 0xd1, 0xdd, 0xb7, 0x17, 0xe7, 0Line truncated
0x78, 0xda, 0xe4, 0xbd, 0x09, 0x77, 0x1c, 0x47, 0x76, 0x2e, 0xf8, 0x57, 0xa0, 0x3a, 0x1a, 0x3e, 0x94, 0x50, 0x04, 0x33, 0x22, 0x77, 0x42, 0x25, 0x1d, 0xb6, 0x44, 0x75, 0xd3, 0x16, 0x49, 0x0d, 0x97, 0xee, 0xb6, 0x21, 0x98, 0xa7, 0x08, 0x14, 0x89, 0x92, 0xb0, 0xd0, 0xa8, 0x02, 0x17, 0x03, 0xf0, 0x6f, 0x7f, 0x71, 0xbf, 0xef, 0xc6, 0x52, 0x99, 0x59, 0x20, 0xd5, 0x63, 0xcf, 0x3c, 0x9f, 0x71, 0x9b, 0x42, 0x56, 0x64, 0x64, 0xac, 0x37, 0xee, 0x7e, 0x6f, 0x7c, 0x58, 0x9c, 0x1d, 0x9d, 0x7f, 0xd8, 0x9d, 0x1d, 0x1d, 0x3d, 0x7c, 0x3f, 0x3f, 0x5b, 0xfd, 0xbc, 0x58, 0xae, 0xe6, 0x67, 0xf3, 0x8b, 0xed, 0xd1, 0xef, 0xf3, 0x4f, 0xee, 0xc5, 0xd9, 0x68, 0xb2, 0xfd, 0xe6, 0xf2, 0xec, 0x70, 0xb5, 0x38, 0x3f, 0xdb, 0x9e, 0x8f, 0xaf, 0x16, 0x6f, 0xb6, 0xe7, 0xbb, 0x87, 0xab, 0x8b, 0x93, 0x7f, 0x9e, 0x7f, 0xba, 0x73, 0x67, 0xbf, 0xb1, 0x07, 0xbb, 0xae, 0x81, 0xf9, 0xc7, 0xa7, 0x52, 0xee, 0x3e, 0xf9, 0xe1, 0xfc, 0x68, 0x3e, 0xfe, 0xee, 0xae, 0xb9, 0xbe, 0xde, 0x6f, 0x26, 0xb6, 0x9e, 0xe4, 0xf9, 0x24, 0x2f, 0x26, 0x79, 0x39, 0xc9, 0xab, 0x49, 0xee, 0x7e, 0x36, 0x93, 0xbc, 0x9d, 0x14, 0xd9, 0xc4, 0x58, 0x3b, 0x29, 0x9b, 0x49, 0xd9, 0x4e, 0xaa, 0x6c, 0x52, 0x99, 0x49, 0xb5, 0xa9, 0xa1, 0xf1, 0x7c, 0xf7, 0xdd, 0xc5, 0x5c, 0x86, 0xf6, 0xe3, 0xfc, 0xcd, 0xec, 0xf2, 0x64, 0xb5, 0x3d, 0xbe, 0x19, 0x4f, 0xde, 0xcc, 0x4e, 0x96, 0xf3, 0xf1, 0xde, 0xe3, 0xf3, 0xa3, 0xcb, 0x93, 0xf9, 0xee, 0x72, 0xf6, 0x7e, 0xfe, 0x60, 0x39, 0x5d, 0xfb, 0x75, 0x7d, 0xbd, 0x36, 0xee, 0xd1, 0xe5, 0x72, 0xbe, 0xb5, 0x5c, 0x5d, 0x2c, 0x0e, 0x57, 0xa3, 0x3d, 0x37, 0x89, 0xd5, 0xa7, 0x77, 0xf3, 0xf3, 0x37, 0x5b, 0xf3, 0xe9, 0x74, 0x3a, 0xba, 0x74, 0xfd, 0xbe, 0x59, 0x9c, 0xcd, 0x8f, 0x46, 0xd7, 0xd7, 0x5a, 0x7e, 0x36, 0x7b, 0xbf, 0x78, 0x3b, 0x5b, 0x9d, 0x5f, 0x7c, 0xb5, 0xf6, 0xfe, 0xce, 0x9d, 0x7b, 0x8f, 0x9f, 0x3f, 0x7a, 0xb8, 0xb5, 0x6f, 0xee, 0xb6, 0x07, 0xbf, 0xee, 0xde, 0xdb, 0x5d, 0xcd, 0x97, 0xab, 0xed, 0x50, 0x79, 0xd7, 0x75, 0x72, 0xf1, 0xe0, 0xad, 0x1b, 0xeb, 0x78, 0x7c, 0x75, 0x31, 0x5f, 0x5d, 0x5e, 0x9c, 0xdd, 0xbc, 0x9f, 0x5d, 0x6c, 0xad, 0xa6, 0xf3, 0xdd, 0xa3, 0xf3, 0xc3, 0xcb, 0x53, 0xf7, 0x66, 0x72, 0x36, 0x8d, 0x03, 0xf3, 0xb5, 0xb6, 0xe6, 0xbb, 0x2f, 0x9f, 0xfd, 0x7c, 0x7d, 0x3d, 0xdf, 0xfd, 0x30, 0x7f, 0xfd, 0xfb, 0x62, 0xc5, 0x1f, 0x6e, 0x9e, 0x17, 0xd3, 0xd5, 0xee, 0xe1, 0xc5, 0x7c, 0xb6, 0x9a, 0x3f, 0x3c, 0x99, 0xcb, 0xe7, 0x4f, 0x9e, 0x6f, 0x8f, 0x8e, 0x57, 0xab, 0x77, 0xf7, 0xef, 0xdd, 0xfb, 0xf0, 0xe1, 0xc3, 0xee, 0x87, 0x7c, 0xf7, 0xfc, 0xe2, 0xed, 0x3d, 0xd3, 0xb6, 0xed, 0xbd, 0x8f, 0xc7, 0xab, 0xd3, 0x93, 0xd1, 0x64, 0x34, 0x1b, 0x8d, 0x27, 0xe7, 0xd3, 0x91, 0x6c, 0xde, 0xc9, 0xf9, 0xec, 0x68, 0xb4, 0x38, 0xdb, 0xba, 0x98, 0x2c, 0xa6, 0x6b, 0xcb, 0xc1, 0x51, 0x9d, 0xcd, 0x3f, 0x6c, 0x3d, 0x3e, 0x77, 0x83, 0xc6, 0xd6, 0x6f, 0x8f, 0x0e, 0x4f, 0x16, 0x87, 0xbf, 0x8f, 0xc6, 0x7b, 0x6e, 0xb4, 0x8b, 0xe5, 0xbb, 0xd9, 0xea, 0xf0, 0x98, 0x2f, 0x56, 0xb2, 0xe4, 0xb3, 0xe9, 0xbd, 0xc3, 0xf3, 0x33, 0xb7, 0x84, 0x97, 0x87, 0x6e, 0xaa, 0xf7, 0x16, 0x9c, 0xfb, 0x7c, 0xf7, 0x2f, 0x2f, 0x1e, 0xff, 0xac, 0x83, 0x73, 0xfb, 0x32, 0xbd, 0xf7, 0xc3, 0xc5, 0xe2, 0xe9, 0xf3, 0x5f, 0xef, 0xed, 0xff, 0x7a, 0x74, 0xb0, 0x73, 0xcb, 0x02, 0x4d, 0x2e, 0x93, 0x11, 0xad, 0xc6, 0x57, 0xae, 0xa5, 0xe5, 0x7c, 0xf5, 0xe8, 0xf4, 0x74, 0x7e, 0xb4, 0x70, 0xd3, 0x95, 0xb5, 0x70, 0xbf, 0x5f, 0x2c, 0x4e, 0xe7, 0xe7, 0x97, 0xab, 0xf1, 0x76, 0xba, 0x66, 0xab, 0xe3, 0x8b, 0xf3, 0x0f, 0x5b, 0x2b, 0x37, 0xa6, 0x4c, 0x06, 0x76, 0x34, 0x1d, 0xcd, 0xde, 0xbd, 0x73, 0x43, 0x9f, 0xc9, 0xfb, 0x7b, 0xe7, 0x87, 0xab, 0xf9, 0xea, 0xae, 0x1b, 0xe7, 0x7c, 0x76, 0x3a, 0x9a, 0x2c, 0xa7, 0x66, 0x9e, 0x7f, 0xe3, 0x00, 0xee, 0x70, 0x68, 0x01, 0xd2, 0x56, 0x3b, 0x40, 0x21, 0xb0, 0x72, 0xf6, 0x76, 0x34, 0xbe, 0x72, 0xef, 0x76, 0x1d, 0x00, 0x9e, 0xff, 0x3e, 0x7f, 0xfa, 0xfa, 0xb7, 0xf9, 0xa1, 0xec, 0x8d, 0x6b, 0xe0, 0x66, 0xee, 0x00, 0xf0, 0x6a, 0xee, 0xde, 0x9c, 0x9e, 0xbf, 0x9f, 0x3b, 0x98, 0xbc, 0x19, 0xef, 0xc5, 0xf1, 0x6e, 0xaf, 0x26, 0x4b, 0x19, 0xda, 0x49, 0xda, 0xe9, 0xc4, 0xed, 0xbd, 0x1b, 0xfc, 0x74, 0xff, 0x60, 0xd7, 0x2d, 0xa4, 0x1b, 0xad, 0x9b, 0xf6, 0x9e, 0x8c, 0x43, 0x36, 0xf9, 0x64, 0x7e, 0xf6, 0x76, 0x75, 0xbc, 0xf7, 0xe1, 0x78, 0x71, 0x32, 0xdf, 0xbe, 0xb8, 0x7b, 0x97, 0x23, 0x3c, 0x9f, 0xce, 0xf7, 0x47, 0xe7, 0x67, 0xa3, 0x9d, 0xd5, 0xfe, 0xc5, 0xc1, 0x41, 0x02, 0xb7, 0xe7, 0x32, 0x44, 0xdf, 0xb4, 0x1b, 0xe4, 0xea, 0xe2, 0xd3, 0xd5, 0xf9, 0xee, 0xe1, 0xec, 0xe4, 0xc4, 0xf5, 0x73, 0xe6, 0x16, 0x6f, 0x7c, 0x73, 0x28, 0xfb, 0xb7, 0xbd, 0x18, 0x5f, 0x5d, 0xba, 0xff, 0xdc, 0xb8, 0xff, 0x1b, 0x4f, 0xde, 0x4d, 0xbb, 0x67, 0xf9, 0xde, 0xbf, 0xfd, 0xba, 0xfc, 0x66, 0xfb, 0xfb, 0xfb, 0xab, 0xf9, 0xc7, 0xd5, 0xaf, 0xf7, 0x7e, 0x7d, 0xfe, 0xcd, 0x75, 0xb2, 0x94, 0xbf, 0xde, 0xfb, 0x78, 0x7a, 0x72, 0xed, 0x0a, 0xf1, 0xe6, 0xd7, 0x1d, 0xf7, 0x6b, 0xec, 0xaa, 0xef, 0xed, 0x7e, 0x73, 0x78, 0x3c, 0xbb, 0x70, 0xb3, 0x75, 0x3f, 0xa6, 0xee, 0xdf, 0xe5, 0xea, 0xcd, 0xdd, 0x26, 0x02, 0x84, 0x0c, 0x31, 0xc0, 0xff, 0x96, 0xc0, 0xd8, 0x9f, 0x4e, 0xce, 0x5f, 0x6f, 0xef, 0x3f, 0xc7, 0x8a, 0xee, 0xbe, 0xb9, 0Line truncated
+2 -2
View File
@@ -4,8 +4,8 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.nesbox.tic"
android:versionCode="4500"
android:versionName="0.45.0"
android:versionCode="4600"
android:versionName="0.46.0"
android:installLocation="auto">
<!-- Android 2.3.3 -->
+2 -2
View File
@@ -19,9 +19,9 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.45.0</string>
<string>0.46.0</string>
<key>CFBundleVersion</key>
<string>0.45.0</string>
<string>0.46.0</string>
<key>NSHumanReadableCopyright</key>
<string>http://tic.computer © 2017</string>
</dict>
+8 -8
View File
@@ -27,14 +27,14 @@
</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" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\dgif_lib.c" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\egif_lib.c" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\gifalloc.c" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\gif_err.c" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\gif_font.c" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\gif_hash.c" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\openbsd-reallocarray.c" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\quantize.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{bc1084df-210a-48d6-a077-761d8c16947b}</ProjectGuid>
+8 -8
View File
@@ -1,13 +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" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\dgif_lib.c" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\egif_lib.c" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\gif_err.c" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\gif_font.c" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\gif_hash.c" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\gifalloc.c" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\openbsd-reallocarray.c" />
<ClCompile Include="..\..\..\..\3rd-party\giflib-5.1.4\lib\quantize.c" />
</ItemGroup>
</Project>
+35 -35
View File
@@ -27,41 +27,41 @@
</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" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lapi.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lauxlib.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lbaselib.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lbitlib.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lcode.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lcorolib.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lctype.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\ldblib.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\ldebug.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\ldo.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\ldump.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lfunc.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lgc.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\llex.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lmathlib.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lmem.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\loadlib.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lobject.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lopcodes.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lparser.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lpcap.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lpcode.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lpprint.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lptree.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lpvm.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lstate.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lstring.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lstrlib.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\ltable.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\ltablib.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\ltm.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lundump.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lutf8lib.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lvm.c" />
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lzio.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{53802f21-41da-4ac1-8b62-0dac2ccb8af8}</ProjectGuid>
+35 -35
View File
@@ -16,109 +16,109 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lapi.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lapi.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lcode.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lcode.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lctype.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lctype.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldblib.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\ldblib.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldebug.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\ldebug.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldo.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\ldo.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ldump.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\ldump.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lfunc.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lfunc.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lgc.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lgc.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\llex.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\llex.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lmem.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lmem.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lobject.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lobject.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lopcodes.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lopcodes.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lparser.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lparser.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lstate.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lstate.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lstring.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lstring.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ltable.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\ltable.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ltm.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\ltm.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lundump.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lundump.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lvm.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lvm.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lzio.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lzio.c">
<Filter>lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lauxlib.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lauxlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lbaselib.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lbaselib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lbitlib.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lbitlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lcorolib.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lcorolib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lmathlib.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lmathlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lstrlib.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lstrlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\ltablib.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\ltablib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lutf8lib.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lutf8lib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\loadlib.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\loadlib.c">
<Filter>lua\lib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpcap.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lpcap.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpcode.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lpcode.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpprint.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lpprint.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lptree.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lptree.c">
<Filter>lpeg</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\..\sdk\lua-5.3.1\src\lpvm.c">
<ClCompile Include="..\..\..\..\3rd-party\lua-5.3.1\src\lpvm.c">
<Filter>lpeg</Filter>
</ClCompile>
</ItemGroup>
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" IgnorableNamespaces="uap mp">
<Identity Name="50446Nesbox.TICcomputer" Publisher="CN=1040DC4A-04A1-4B33-9107-C1A9D74775D4" Version="0.45.1.0" />
<Identity Name="50446Nesbox.TICcomputer" Publisher="CN=1040DC4A-04A1-4B33-9107-C1A9D74775D4" Version="0.46.0.0" />
<mp:PhoneIdentity PhoneProductId="93515db0-8ee3-478b-933a-5776b58247b2" PhonePublisherId="00000000-0000-0000-0000-000000000000" />
<Properties>
<DisplayName>TIC-80</DisplayName>
+28 -28
View File
@@ -5,16 +5,16 @@ 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
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2-UWP", "..\..\..\..\3rd-party\SDL2-2.0.5\VisualC-WinRT\UWP_VS2015\SDL-UWP.vcxproj", "{89E9B32E-A86A-47C3-A948-D2B1622925CE}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib-uwp", "..\..\..\..\3rd-party\zlib-1.2.8\winrt\zlib-uwp\zlib-uwp.vcxproj", "{978F53DB-F959-4CB4-84A7-463AF29949BE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
@@ -43,30 +43,6 @@ Global
{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
@@ -103,6 +79,30 @@ Global
{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
{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
{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
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
+4 -4
View File
@@ -216,10 +216,10 @@
<Image Include="Assets\Wide310x150Logo.scale-200.png" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\..\sdk\SDL2-2.0.5\VisualC-WinRT\UWP_VS2015\SDL-UWP.vcxproj">
<ProjectReference Include="..\..\..\..\3rd-party\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">
<ProjectReference Include="..\..\..\..\3rd-party\zlib-1.2.8\winrt\zlib-uwp\zlib-uwp.vcxproj">
<Project>{978f53db-f959-4cb4-84a7-463af29949be}</Project>
</ProjectReference>
<ProjectReference Include="..\gif\gif.vcxproj">
@@ -233,7 +233,7 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\..\sdk\SDL2-2.0.5\src\main\winrt\SDL_winrt_main_NonXAML.cpp">
<ClCompile Include="..\..\..\..\3rd-party\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>
@@ -279,7 +279,7 @@
<None Include="Package.StoreAssociation.xml" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\..\..\sdk\SDL2-2.0.5\src\main\winrt\SDL2-WinRTResources.rc" />
<ResourceCompile Include="..\..\..\..\3rd-party\SDL2-2.0.5\src\main\winrt\SDL2-WinRTResources.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
+2 -2
View File
@@ -77,7 +77,6 @@
<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>
@@ -126,8 +125,9 @@
<ClCompile Include="..\..\..\src\surf.c">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\3rd-party\SDL2-2.0.5\src\main\winrt\SDL_winrt_main_NonXAML.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\..\..\sdk\SDL2-2.0.5\src\main\winrt\SDL2-WinRTResources.rc" />
<ResourceCompile Include="..\..\..\..\3rd-party\SDL2-2.0.5\src\main\winrt\SDL2-WinRTResources.rc" />
</ItemGroup>
</Project>
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
+4 -1
View File
@@ -847,7 +847,7 @@ static void onConsoleInstallDemosCommand(Console* console, const char* param)
static void onConsoleSurfCommand(Console* console, const char* param)
{
setStudioMode(TIC_SURF_MODE);
gotoSurf();
commandDone(console);
}
@@ -2241,6 +2241,9 @@ static void tick(Console* console)
embed.yes = false;
embed.fast = false;
studioRomLoaded();
console->tic->api.reset(console->tic);
printLine(console);
commandDone(console);
console->active = true;
+24
View File
@@ -644,6 +644,29 @@ static duk_ret_t duk_tri(duk_context* duk)
return 0;
}
static duk_ret_t duk_textri(duk_context* duk)
{
s32 pt[12];
for (s32 i = 0; i < COUNT_OF(pt); i++)
pt[i] = duk_to_int(duk, i);
tic_mem* memory = (tic_mem*)getDukMachine(duk);
bool use_map = duk_is_null_or_undefined(duk, 12) ? false : duk_to_boolean(duk, 12);
u8 chroma = duk_is_null_or_undefined(duk, 13) ? 0xff : duk_to_int(duk, 13);
memory->api.textri(memory, pt[0], pt[1], // xy 1
pt[2], pt[3], // xy 2
pt[4], pt[5], // xy 3
pt[6], pt[7], // uv 1
pt[8], pt[9], // uv 2
pt[10], pt[11],// uv 3
use_map, // usemap
chroma); // chroma
return 0;
}
static duk_ret_t duk_clip(duk_context* duk)
{
s32 x = duk_to_int(duk, 0);
@@ -724,6 +747,7 @@ static const struct{duk_c_function func; s32 params;} ApiFunc[] =
{duk_circ, 4},
{duk_circb, 4},
{duk_tri, 7},
{duk_textri,12},
{duk_clip, 4},
{duk_music, 4},
{duk_sync, 0},
+37 -1
View File
@@ -290,6 +290,42 @@ static s32 lua_tri(lua_State* lua)
return 0;
}
static s32 lua_textri(lua_State* lua)
{
s32 top = lua_gettop(lua);
if (top >= 12)
{
float pt[12];
for (s32 i = 0; i < COUNT_OF(pt); i++)
pt[i] = getLuaNumber(lua, i + 1);
tic_mem* memory = (tic_mem*)getLuaMachine(lua);
u8 chroma = 0xff;
bool use_map = false;
// check for use map
if (top >= 13)
use_map = lua_toboolean(lua, 13);
// check for chroma
if (top >= 14)
chroma = (u8)getLuaNumber(lua, 14);
memory->api.textri(memory, pt[0], pt[1], // xy 1
pt[2], pt[3], // xy 2
pt[4], pt[5], // xy 3
pt[6], pt[7], // uv 1
pt[8], pt[9], // uv 2
pt[10], pt[11], // uv 3
use_map, // use map
chroma); // chroma
}
else luaL_error(lua, "invalid parameters, textri(x1,y1,x2,y2,x3,y3,u1,v1,u2,v2,u3,v3,[use_map=false],[chroma=off])\n");
return 0;
}
static s32 lua_clip(lua_State* lua)
{
s32 top = lua_gettop(lua);
@@ -1013,7 +1049,7 @@ static const lua_CFunction ApiFunc[] =
lua_rectb, lua_spr, lua_btn, lua_btnp, lua_sfx, lua_map, lua_mget,
lua_mset, lua_peek, lua_poke, lua_peek4, lua_poke4, lua_memcpy,
lua_memset, lua_trace, lua_pmem, lua_time, lua_exit, lua_font, lua_mouse,
lua_circ, lua_circb, lua_tri, lua_clip, lua_music, lua_sync
lua_circ, lua_circb, lua_tri, lua_textri, lua_clip, lua_music, lua_sync
};
STATIC_ASSERT(api_func, COUNT_OF(ApiKeywords) == COUNT_OF(ApiFunc));
+332 -73
View File
@@ -329,6 +329,8 @@ static void doTab(Music* music)
s32 channel = (music->tracker.col / CHANNEL_COLS + 1) % TIC_SOUND_CHANNELS;
music->tracker.col = channel * CHANNEL_COLS + music->tracker.col % CHANNEL_COLS;
updateTracker(music);
}
static void upFrame(Music* music)
@@ -376,36 +378,6 @@ static tic_track_pattern* getChannelPattern(Music* music)
return getPattern(music, channel);
}
static void resetCol(Music* music)
{
tic_track_pattern* pattern = getChannelPattern(music);
s32 col = music->tracker.col % CHANNEL_COLS;
switch (col)
{
case ColumnNote:
case ColumnSemitone:
case ColumnOctave:
memset(&pattern->rows[music->tracker.row], 0, sizeof(pattern->rows[music->tracker.row]));
break;
case ColumnSfxHi:
case ColumnSfxLow:
pattern->rows[music->tracker.row].sfxhi = 0;
pattern->rows[music->tracker.row].sfxlow = 0;
break;
case ColumnVolume:
pattern->rows[music->tracker.row].volume = 0;
case ColumnEffect:
case ColumnParameter:
pattern->rows[music->tracker.row].effect = 0;
pattern->rows[music->tracker.row].param = 0;
break;
}
history_add(music->history);
}
static s32 getNote(Music* music)
{
tic_track_pattern* pattern = getChannelPattern(music);
@@ -482,14 +454,14 @@ static void setStopNote(Music* music)
pattern->rows[music->tracker.row].octave = 0;
}
static void setNote(Music* music, s32 note, s32 octave, s32 volume)
static void setNote(Music* music, s32 note, s32 octave, s32 volume, s32 sfx)
{
tic_track_pattern* pattern = getChannelPattern(music);
pattern->rows[music->tracker.row].note = note + NoteStart;
pattern->rows[music->tracker.row].octave = octave;
pattern->rows[music->tracker.row].volume = volume;
setSfxId(pattern, music->tracker.row, music->tracker.last.sfx);
setSfxId(pattern, music->tracker.row, sfx);
playNote(music);
}
@@ -537,37 +509,116 @@ static void stopTrack(Music* music)
music->tic->api.music(music->tic, -1, -1, -1, false);
}
static void copyToClipboard(Music* music)
static void resetSelection(Music* music)
{
tic_track_pattern* pattern = getChannelPattern(music);
toClipboard(pattern, sizeof(tic_track_pattern), true);
music->tracker.select.start = (SDL_Point){-1, -1};
music->tracker.select.rect = (SDL_Rect){0, 0, 0, 0};
}
static void resetPattern(Music* music)
static void deleteSelection(Music* music)
{
tic_track_pattern* pattern = getChannelPattern(music);
if(pattern)
{
memset(pattern, 0, sizeof(tic_track_pattern));
SDL_Rect rect = music->tracker.select.rect;
history_add(music->history);
if(rect.h <= 0)
{
rect.y = music->tracker.row;
rect.h = 1;
}
enum{RowSize = sizeof(tic_track_pattern) / MUSIC_PATTERN_ROWS};
SDL_memset(&pattern->rows[rect.y], 0, RowSize * rect.h);
}
}
static void cutToClipboard(Music* music)
typedef struct
{
copyToClipboard(music);
resetPattern(music);
u8 size;
} ClipboardHeader;
static void copyToClipboard(Music* music, bool cut)
{
tic_track_pattern* pattern = getChannelPattern(music);
if(pattern)
{
SDL_Rect rect = music->tracker.select.rect;
if(rect.h <= 0)
{
rect.y = music->tracker.row;
rect.h = 1;
}
ClipboardHeader header = {rect.h};
enum{RowSize = sizeof(tic_track_pattern) / MUSIC_PATTERN_ROWS, HeaderSize = sizeof(ClipboardHeader)};
s32 size = rect.h * RowSize + HeaderSize;
u8* data = SDL_malloc(size);
if(data)
{
SDL_memcpy(data, &header, HeaderSize);
SDL_memcpy(data + HeaderSize, &pattern->rows[rect.y], RowSize * rect.h);
toClipboard(data, size, true);
SDL_free(data);
if(cut)
{
deleteSelection(music);
history_add(music->history);
}
resetSelection(music);
}
}
}
static void copyFromClipboard(Music* music)
{
tic_track_pattern* pattern = getChannelPattern(music);
if(fromClipboard(pattern, sizeof(tic_track_pattern), true))
history_add(music->history);
if(pattern && SDL_HasClipboardText())
{
char* clipboard = SDL_GetClipboardText();
if(clipboard)
{
s32 size = strlen(clipboard)/2;
enum{RowSize = sizeof(tic_track_pattern) / MUSIC_PATTERN_ROWS, HeaderSize = sizeof(ClipboardHeader)};
if(size > HeaderSize)
{
u8* data = SDL_malloc(size);
str2buf(clipboard, data, true);
ClipboardHeader header = {0};
SDL_memcpy(&header, data, HeaderSize);
if(header.size * RowSize == size - HeaderSize)
{
if(header.size + music->tracker.row > MUSIC_PATTERN_ROWS)
header.size = MUSIC_PATTERN_ROWS - music->tracker.row;
SDL_memcpy(&pattern->rows[music->tracker.row], data + HeaderSize, header.size * RowSize);
history_add(music->history);
}
SDL_free(data);
}
SDL_free(clipboard);
}
}
}
static void setChannelPatternValue(Music* music, s32 patternId, s32 channel)
@@ -629,11 +680,53 @@ static void patternColRight(Music* music)
else nextPattern(music);
}
static void checkSelection(Music* music)
{
if(music->tracker.select.start.x < 0 || music->tracker.select.start.y < 0)
{
music->tracker.select.start.x = music->tracker.col;
music->tracker.select.start.y = music->tracker.row;
}
}
static void updateSelection(Music* music)
{
s32 rl = SDL_min(music->tracker.col, music->tracker.select.start.x);
s32 rt = SDL_min(music->tracker.row, music->tracker.select.start.y);
s32 rr = SDL_max(music->tracker.col, music->tracker.select.start.x);
s32 rb = SDL_max(music->tracker.row, music->tracker.select.start.y);
SDL_Rect* rect = &music->tracker.select.rect;
*rect = (SDL_Rect){rl, rt, rr - rl + 1, rb - rt + 1};
if(rect->x % CHANNEL_COLS + rect->w > CHANNEL_COLS)
resetSelection(music);
}
static void processTrackerKeydown(Music* music, SDL_Keysym* keysum)
{
SDL_Keycode keycode = keysum->sym;
SDL_Scancode scancode = keysum->scancode;
bool shift = SDL_GetModState() & KMOD_SHIFT;
if(shift)
{
switch (keycode)
{
case SDLK_UP:
case SDLK_DOWN:
case SDLK_LEFT:
case SDLK_RIGHT:
case SDLK_HOME:
case SDLK_END:
case SDLK_PAGEUP:
case SDLK_PAGEDOWN:
case SDLK_TAB:
checkSelection(music);
}
}
switch (keycode)
{
case SDLK_UP: upRow(music); break;
@@ -646,21 +739,40 @@ static void processTrackerKeydown(Music* music, SDL_Keysym* keysum)
case SDLK_PAGEDOWN: pageDown(music); break;
case SDLK_TAB: doTab(music); break;
case SDLK_DELETE:
resetCol(music);
deleteSelection(music);
history_add(music->history);
downRow(music);
break;
case SDLK_SPACE: playNote(music); break;
case SDLK_RETURN:
case SDLK_KP_ENTER:
{
const tic_music_pos* pos = getMusicPos(music);
pos->track < 0
? (SDL_GetModState() & KMOD_SHIFT ? playFrameRow(music) : playFrame(music))
: stopTrack(music);
const tic_music_pos* pos = getMusicPos(music);
pos->track < 0
? (shift ? playFrameRow(music) : playFrame(music))
: stopTrack(music);
}
break;
}
if(shift)
{
switch (keycode)
{
case SDLK_UP:
case SDLK_DOWN:
case SDLK_LEFT:
case SDLK_RIGHT:
case SDLK_HOME:
case SDLK_END:
case SDLK_PAGEUP:
case SDLK_PAGEDOWN:
case SDLK_TAB:
updateSelection(music);
}
}
else resetSelection(music);
static const SDL_Scancode Piano[] =
{
SDL_SCANCODE_Z,
@@ -705,20 +817,35 @@ static void processTrackerKeydown(Music* music, SDL_Keysym* keysum)
downRow(music);
}
else
{
tic_track_pattern* pattern = getChannelPattern(music);
for (s32 i = 0; i < COUNT_OF(Piano); i++)
{
if (scancode == Piano[i])
{
s32 note = i % NOTES;
s32 octave = i / NOTES + music->tracker.last.octave;
s32 volume = music->tracker.last.volume;
setNote(music, note, octave, volume);
if(pattern->rows[music->tracker.row].note > NoteNone)
{
pattern->rows[music->tracker.row].note = note + NoteStart;
playNote(music);
}
else
{
s32 octave = i / NOTES + music->tracker.last.octave;
s32 volume = music->tracker.last.volume;
s32 sfx = music->tracker.last.sfx;
setNote(music, note, octave, volume, sfx);
}
downRow(music);
break;
}
}
}
break;
case ColumnOctave:
if(getNote(music) >= 0)
@@ -749,14 +876,14 @@ static void processTrackerKeydown(Music* music, SDL_Keysym* keysum)
enum {Base = 10};
s32 sfx = getSfx(music);
sfx = col == 3
? val * Base + sfx % Base
: sfx / Base * Base + val % Base;
sfx = col == 3
? val * Base + sfx % Base
: sfx / Base * Base + val % Base;
setSfx(music, sfx);
setSfx(music, sfx);
if(col == 3) rightCol(music);
else downRow(music), leftCol(music);
if(col == 3) rightCol(music);
else downRow(music), leftCol(music);
}
}
break;
@@ -773,7 +900,7 @@ static void processTrackerKeydown(Music* music, SDL_Keysym* keysum)
if(val >= 0)
{
setVolume(music, MAX_VOLUME - val);
downRow(music);
downRow(music);
}
}
break;
@@ -813,30 +940,42 @@ static void processPatternKeydown(Music* music, SDL_Keysym* keysum)
s32 patternId = tic_tool_get_pattern_id(getTrack(music), music->tracker.frame, channel);
patternId = music->tracker.patternCol == 0
? val * Base + patternId % Base
: patternId / Base * Base + val % Base;
? val * Base + patternId % Base
: patternId / Base * Base + val % Base;
if(patternId <= MUSIC_PATTERNS)
{
if(patternId <= MUSIC_PATTERNS)
{
setChannelPatternValue(music, patternId, channel);
if(music->tracker.patternCol == 0)
patternColRight(music);
}
}
}
}
}
}
static void selectAll(Music* music)
{
resetSelection(music);
s32 col = music->tracker.col - music->tracker.col % CHANNEL_COLS;
music->tracker.select.start = (SDL_Point){col, 0};
music->tracker.col = col + CHANNEL_COLS-1;
music->tracker.row = MUSIC_PATTERN_ROWS-1;
updateSelection(music);
}
static void processKeydown(Music* music, SDL_Keysym* keysum)
{
SDL_Keycode keycode = keysum->sym;
switch(getClipboardEvent(keycode))
{
case TIC_CLIPBOARD_CUT: cutToClipboard(music); break;
case TIC_CLIPBOARD_COPY: copyToClipboard(music); break;
case TIC_CLIPBOARD_CUT: copyToClipboard(music, true); break;
case TIC_CLIPBOARD_COPY: copyToClipboard(music, false); break;
case TIC_CLIPBOARD_PASTE: copyFromClipboard(music); break;
default: break;
}
@@ -847,6 +986,7 @@ static void processKeydown(Music* music, SDL_Keysym* keysum)
{
switch (keycode)
{
case SDLK_a: selectAll(music); break;
case SDLK_z: undo(music); break;
case SDLK_y: redo(music); break;
case SDLK_UP: upFrame(music); break;
@@ -1029,6 +1169,8 @@ static void setChannelPattern(Music* music, s32 delta, s32 channel)
static void drawTrackerChannel(Music* music, s32 x, s32 y, s32 channel)
{
tic_mem* tic = music->tic;
enum
{
Border = 1,
@@ -1047,8 +1189,29 @@ static void drawTrackerChannel(Music* music, s32 x, s32 y, s32 channel)
s32 mx = getMouseX() - rect.x - Border;
s32 my = getMouseY() - rect.y - Border;
music->tracker.col = channel * CHANNEL_COLS + mx / TIC_FONT_WIDTH;
music->tracker.row = my / TIC_FONT_HEIGHT + music->tracker.scroll;
s32 col = music->tracker.col = channel * CHANNEL_COLS + mx / TIC_FONT_WIDTH;
s32 row = music->tracker.row = my / TIC_FONT_HEIGHT + music->tracker.scroll;
if(music->tracker.select.drag)
{
updateSelection(music);
}
else
{
resetSelection(music);
music->tracker.select.start = (SDL_Point){col, row};
music->tracker.select.drag = true;
}
}
}
if(music->tracker.select.drag)
{
SDL_Rect rect = {0, 0, TIC80_WIDTH, TIC80_HEIGHT};
if(!checkMouseDown(&rect, SDL_BUTTON_LEFT))
{
music->tracker.select.drag = false;
}
}
@@ -1056,6 +1219,7 @@ static void drawTrackerChannel(Music* music, s32 x, s32 y, s32 channel)
s32 start = music->tracker.scroll;
s32 end = start + Rows;
bool selectedChannel = music->tracker.select.rect.x / CHANNEL_COLS == channel;
tic_track_pattern* pattern = getPattern(music, channel);
@@ -1068,6 +1232,17 @@ static void drawTrackerChannel(Music* music, s32 x, s32 y, s32 channel)
music->tic->api.rect(music->tic, x - 1, rowy - 1, Width, TIC_FONT_HEIGHT + 1, systemColor(tic_color_dark_red));
}
// draw selection
if (selectedChannel)
{
SDL_Rect rect = music->tracker.select.rect;
if (rect.h > 1 && i >= rect.y && i < rect.y + rect.h)
{
s32 sx = x - 1;
tic->api.rect(tic, sx, rowy - 1, CHANNEL_COLS * TIC_FONT_WIDTH + 1, TIC_FONT_HEIGHT + 1, systemColor(tic_color_yellow));
}
}
if (checkPlayRow(music, i))
{
music->tic->api.rect(music->tic, x - 1, rowy - 1, Width, TIC_FONT_HEIGHT + 1, systemColor(tic_color_white));
@@ -1126,20 +1301,52 @@ static void drawTrackerChannel(Music* music, s32 x, s32 y, s32 channel)
}
}
static void drawTumbler(Music* music, s32 x, s32 y, s32 index)
{
tic_mem* tic = music->tic;
enum{On=36, Off = 52, Size=5, Chroma=14};
SDL_Rect rect = {x, y, Size, Size};
if(checkMousePos(&rect))
{
setCursor(SDL_SYSTEM_CURSOR_HAND);
showTooltip("on/off channel");
if(checkMouseClick(&rect, SDL_BUTTON_LEFT))
{
if (SDL_GetModState() & KMOD_CTRL)
{
for (s32 i = 0; i < TIC_SOUND_CHANNELS; i++)
music->tracker.patterns[i] = i == index;
}
else music->tracker.patterns[index] = !music->tracker.patterns[index];
}
}
u8 color = Chroma;
tic->api.sprite(tic, &tic->config.gfx, music->tracker.patterns[index] ? On : Off, x, y, &color, 1);
}
static void drawTracker(Music* music, s32 x, s32 y)
{
drawTrackerFrames(music, x, y);
x += TIC_FONT_WIDTH * 3;
enum{ChannelWidth = TIC_FONT_WIDTH * 9};
for (s32 i = 0; i < TIC_SOUND_CHANNELS; i++)
{
s32 patternId = tic_tool_get_pattern_id(getTrack(music), music->tracker.frame, i);
drawEditbox(music, x + TIC_FONT_WIDTH * 9 * i + 2*TIC_FONT_WIDTH, y - 9, patternId, setChannelPattern, i);
drawEditbox(music, x + ChannelWidth * i + 2*TIC_FONT_WIDTH, y - 9, patternId, setChannelPattern, i);
drawTumbler(music, x + ChannelWidth * i + 7*TIC_FONT_WIDTH, y - 9, i);
}
for (s32 i = 0; i < TIC_SOUND_CHANNELS; i++)
drawTrackerChannel(music, x + TIC_FONT_WIDTH * 9 * i, y, i);
drawTrackerChannel(music, x + ChannelWidth * i, y, i);
}
static void enableFollowMode(Music* music)
@@ -1288,6 +1495,37 @@ static void drawPianoLayout(Music* music)
music->tic->api.fixed_text(music->tic, Wip, (TIC80_WIDTH - (sizeof Wip - 1) * TIC_FONT_WIDTH) / 2, TIC80_HEIGHT / 2, systemColor(tic_color_white));
}
static void scrollNotes(Music* music, s32 delta)
{
tic_track_pattern* pattern = getChannelPattern(music);
if(pattern)
{
SDL_Rect rect = music->tracker.select.rect;
if(rect.h <= 0)
{
rect.y = music->tracker.row;
rect.h = 1;
}
for(s32 i = rect.y; i < rect.y + rect.h; i++)
{
s32 note = pattern->rows[i].note + pattern->rows[i].octave * NOTES - NoteStart;
note += delta;
if(note >= 0 && note < NOTES*OCTAVES)
{
pattern->rows[i].note = note % NOTES + NoteStart;
pattern->rows[i].octave = note / NOTES;
}
}
history_add(music->history);
}
}
static void drawTrackerLayout(Music* music)
{
SDL_Event* event = NULL;
@@ -1296,6 +1534,11 @@ static void drawTrackerLayout(Music* music)
switch (event->type)
{
case SDL_MOUSEWHEEL:
if(SDL_GetModState() & TIC_MOD_CTRL)
{
scrollNotes(music, event->wheel.y > 0 ? 1 : -1);
}
else
{
enum{Scroll = NOTES_PER_BEET};
s32 delta = event->wheel.y > 0 ? -Scroll : Scroll;
@@ -1336,6 +1579,12 @@ static void drawTrackerLayout(Music* music)
static void tick(Music* music)
{
tic_mem* tic = music->tic;
for (s32 i = 0; i < TIC_SOUND_CHANNELS; i++)
if(!music->tracker.patterns[i])
tic->ram.registers[i].volume = 0;
switch (music->tab)
{
case MUSIC_TRACKER_TAB: drawTrackerLayout(music); break;
@@ -1350,8 +1599,8 @@ static void onStudioEvent(Music* music, StudioEvent event)
{
switch (event)
{
case TIC_TOOLBAR_CUT: cutToClipboard(music); break;
case TIC_TOOLBAR_COPY: copyToClipboard(music); break;
case TIC_TOOLBAR_CUT: copyToClipboard(music, true); break;
case TIC_TOOLBAR_COPY: copyToClipboard(music, false); break;
case TIC_TOOLBAR_PASTE: copyFromClipboard(music); break;
case TIC_TOOLBAR_UNDO: undo(music); break;
case TIC_TOOLBAR_REDO: redo(music); break;
@@ -1383,10 +1632,20 @@ void initMusic(Music* music, tic_mem* tic)
.sfx = 0,
.volume = 0,
},
.patterns = {true, true, true, true},
.select =
{
.start = {0, 0},
.rect = {0, 0, 0, 0},
.drag = false,
},
},
.tab = MUSIC_TRACKER_TAB,
.history = history_create(&tic->cart.sound.music, sizeof tic->cart.sound.music),
.event = onStudioEvent,
};
resetSelection(music);
}
+9
View File
@@ -49,6 +49,15 @@ struct Music
s32 volume;
} last;
struct
{
SDL_Point start;
SDL_Rect rect;
bool drag;
} select;
bool patterns[TIC_SOUND_CHANNELS];
} tracker;
enum
+4 -4
View File
@@ -59,10 +59,10 @@ static void drawSelection(Sprite* sprite, s32 x, s32 y, s32 w, s32 h)
u8 color = systemColor(tic_color_white);
s32 index = sprite->tickCounter / 10;
for(s32 i = x; i < (x+w); i++) sprite->tic->api.pixel(sprite->tic, i, y, index++ % Step ? color : 0); index++;
for(s32 i = y; i < (y+h); i++) sprite->tic->api.pixel(sprite->tic, x + w-1, i, index++ % Step ? color : 0); index++;
for(s32 i = (x+w-1); i >= x; i--) sprite->tic->api.pixel(sprite->tic, i, y + h-1, index++ % Step ? color : 0); index++;
for(s32 i = (y+h-1); i >= y; i--) sprite->tic->api.pixel(sprite->tic, x, i, index++ % Step ? color : 0);
for(s32 i = x; i < (x+w); i++) { sprite->tic->api.pixel(sprite->tic, i, y, index++ % Step ? color : 0);} index++;
for(s32 i = y; i < (y+h); i++) { sprite->tic->api.pixel(sprite->tic, x + w-1, i, index++ % Step ? color : 0);} index++;
for(s32 i = (x+w-1); i >= x; i--) { sprite->tic->api.pixel(sprite->tic, i, y + h-1, index++ % Step ? color : 0);} index++;
for(s32 i = (y+h-1); i >= y; i--) { sprite->tic->api.pixel(sprite->tic, x, i, index++ % Step ? color : 0);}
}
static SDL_Rect getSpriteRect(Sprite* sprite)
+13 -5
View File
@@ -719,6 +719,12 @@ static void initSurfMode()
initSurf(&studio.surf, studio.tic, &studio.console);
}
void gotoSurf()
{
initSurfMode();
setStudioMode(TIC_SURF_MODE);
}
static void initMenuMode()
{
initMenu(&studio.menu, studio.tic, studio.fs);
@@ -911,25 +917,27 @@ static void updateHash()
md5(&studio.tic->cart, sizeof(tic_cartridge), studio.hash.data);
}
void studioRomSaved()
static void updateTitle()
{
char name[FILENAME_MAX] = TIC_TITLE;
if(strlen(studio.console.romName))
sprintf(name, "%s [%s]", TIC_TITLE, studio.console.romName);
SDL_SetWindowTitle(studio.window, name);
SDL_SetWindowTitle(studio.window, name);
}
void studioRomSaved()
{
updateTitle();
updateHash();
studio.tic->api.pause(studio.tic);
}
void studioRomLoaded()
{
initModules();
studioRomSaved();
updateTitle();
updateHash();
}
+1
View File
@@ -197,4 +197,5 @@ bool studioCartChanged();
void playSystemSfx(s32 id);
void runGameFromSurf();
void gotoSurf();
void exitFromGameMenu();
+135 -7
View File
@@ -295,10 +295,11 @@ static void channelSfx(tic_mem* memory, s32 index, s32 note, s32 octave, s32 dur
c->volume = volume;
{
struct {s8 speed:SFX_SPEED_BITS;} temp = {speed};
c->speed = speed == temp.speed ? speed : machine->soundSrc->sfx.data[index].speed;
}
if(index >= 0)
{
struct {s8 speed:SFX_SPEED_BITS;} temp = {speed};
c->speed = speed == temp.speed ? speed : machine->soundSrc->sfx.data[index].speed;
}
// start index of idealized piano
enum {PianoStart = -8};
@@ -324,7 +325,6 @@ static void resetMusic(tic_mem* memory)
musicSfx(memory, -1, 0, 0, 0, c);
}
static void setMusic(tic_machine* machine, s32 index, s32 frame, s32 row, bool loop)
{
tic_mem* memory = (tic_mem*)machine;
@@ -711,6 +711,10 @@ static struct
{
s16 Left[TIC80_HEIGHT];
s16 Right[TIC80_HEIGHT];
float ULeft[TIC80_HEIGHT];
float VLeft[TIC80_HEIGHT];
float URight[TIC80_HEIGHT];
float VRight[TIC80_HEIGHT];
} SidesBuffer;
static void initSidesBuffer()
@@ -728,6 +732,26 @@ static void setSidePixel(s32 x, s32 y)
}
}
static void setSideTexPixel(s32 x, s32 y, float u, float v)
{
s32 yy = (s32)y;
if (yy >= 0 && yy < TIC80_HEIGHT)
{
if (x < SidesBuffer.Left[yy])
{
SidesBuffer.Left[yy] = x;
SidesBuffer.ULeft[yy] = u;
SidesBuffer.VLeft[yy] = v;
}
if (x > SidesBuffer.Right[yy])
{
SidesBuffer.Right[yy] = x;
SidesBuffer.URight[yy] = u;
SidesBuffer.VRight[yy] = v;
}
}
}
static void api_circle(tic_mem* memory, s32 xm, s32 ym, u32 radius, u8 color)
{
tic_machine* machine = (tic_machine*)memory;
@@ -735,7 +759,7 @@ static void api_circle(tic_mem* memory, s32 xm, s32 ym, u32 radius, u8 color)
initSidesBuffer();
s32 r = radius;
int x = -r, y = 0, err = 2-2*r;
s32 x = -r, y = 0, err = 2-2*r;
do
{
setSidePixel(xm-x, ym+y);
@@ -756,7 +780,7 @@ static void api_circle(tic_mem* memory, s32 xm, s32 ym, u32 radius, u8 color)
static void api_circle_border(tic_mem* memory, s32 xm, s32 ym, u32 radius, u8 color)
{
s32 r = radius;
int x = -r, y = 0, err = 2-2*r;
s32 x = -r, y = 0, err = 2-2*r;
do {
api_pixel(memory, xm-x, ym+y, color);
api_pixel(memory, xm-y, ym-x, color);
@@ -805,6 +829,109 @@ static void api_tri(tic_mem* memory, s32 x1, s32 y1, s32 x2, s32 y2, s32 x3, s32
setPixel(machine, x, y, color);
}
typedef struct
{
float x, y, u, v;
} TexVert;
static void ticTexLine(tic_mem* memory, TexVert *v0, TexVert *v1)
{
TexVert *top = v0;
TexVert *bot = v1;
if (bot->y < top->y)
{
top = v1;
bot = v0;
}
float dy = bot->y - top->y;
if ((s32)dy == 0) return;
float step_x = (bot->x - top->x) / dy;
float step_u = (bot->u - top->u) / dy;
float step_v = (bot->v - top->v) / dy;
float x = top->x;
float y = top->y;
float u = top->u;
float v = top->v;
for (; y < (s32)bot->y; y++)
{
setSideTexPixel(x, y, u, v);
x += step_x;
u += step_u;
v += step_v;
}
}
static void api_textri(tic_mem* memory, s32 x1, s32 y1, s32 x2, s32 y2, s32 x3, s32 y3, s32 u1, s32 v1, s32 u2, s32 v2, s32 u3, s32 v3,bool use_map,u8 chroma)
{
tic_machine* machine = (tic_machine*)memory;
TexVert V0, V1, V2;
const u8* ptr = memory->ram.gfx.tiles[0].data;
const u8* map = memory->ram.gfx.map.data;
V0.x = (float)x1; V0.y = (float)y1; V0.u = (float)u1; V0.v = (float)v1;
V1.x = (float)x2; V1.y = (float)y2; V1.u = (float)u2; V1.v = (float)v2;
V2.x = (float)x3; V2.y = (float)y3; V2.u = (float)u3; V2.v = (float)v3;
initSidesBuffer();
ticTexLine(memory, &V0, &V1);
ticTexLine(memory, &V1, &V2);
ticTexLine(memory, &V2, &V0);
{
for (s32 y = 0; y < TIC80_HEIGHT; y++)
{
float width = SidesBuffer.Right[y] - SidesBuffer.Left[y];
if (width > 0)
{
float du = (SidesBuffer.URight[y] - SidesBuffer.ULeft[y]) / width;
float dv = (SidesBuffer.VRight[y] - SidesBuffer.VLeft[y]) / width;
float u = SidesBuffer.ULeft[y];
float v = SidesBuffer.VLeft[y];
for (s32 x = (s32)SidesBuffer.Left[y]; x <= (s32)SidesBuffer.Right[y]; ++x)
{
if ((x >= 0) && (x < TIC80_WIDTH))
{
if (use_map == true)
{
enum {MapWidth = TIC_MAP_WIDTH * TIC_SPRITESIZE, MapHeight = TIC_MAP_HEIGHT * TIC_SPRITESIZE};
s32 iu = (s32)u % MapWidth;
s32 iv = (s32)v % MapHeight;
u8 tile = map[(iv>>3) * TIC_MAP_WIDTH + (iu>>3)];
const u8 *buffer = &ptr[tile << 5];
u8 color = tic_tool_peek4(buffer, (iu & 7) + ((iv & 7) << 3));
if (color != chroma)
setPixel(machine, x, y, color);
}
else
{
enum{SheetWidth = TIC_SPRITESHEET_SIZE, SheetHeight = TIC_SPRITESHEET_SIZE * TIC_SPRITE_BANKS};
s32 iu = (s32)(u) & (SheetWidth - 1);
s32 iv = (s32)(v) & (SheetHeight - 1);
const u8 *buffer = &ptr[((iu >> 3) + ((iv >> 3) << 4)) << 5];
u8 color = tic_tool_peek4(buffer, (iu & 7) + ((iv & 7) << 3));
if (color != chroma)
setPixel(machine, x, y, color);
}
}
u += du;
v += dv;
}
}
}
}
}
static void api_sprite(tic_mem* memory, const tic_gfx* src, s32 index, s32 x, s32 y, u8* colors, s32 count)
{
drawSprite(memory, src, index, x, y, colors, count, 1, tic_no_flip, tic_no_rotate);
@@ -1536,6 +1663,7 @@ static void initApi(tic_api* api)
INIT_API(circle);
INIT_API(circle_border);
INIT_API(tri);
INIT_API(textri);
INIT_API(clip);
INIT_API(sfx);
INIT_API(sfx_stop);
+4 -3
View File
@@ -27,7 +27,7 @@
#include "defines.h"
#define TIC_VERSION_MAJOR 0
#define TIC_VERSION_MINOR 45
#define TIC_VERSION_MINOR 46
#define TIC_VERSION_PATCH 0
#define TIC_VERSION_STATUS ""
@@ -57,7 +57,8 @@
#define BITS_IN_BYTE 8
#define TIC_BANK_SPRITES (1 << BITS_IN_BYTE)
#define TIC_SPRITES (TIC_BANK_SPRITES * 2)
#define TIC_SPRITE_BANKS 2
#define TIC_SPRITES (TIC_BANK_SPRITES * TIC_SPRITE_BANKS)
#define TIC_SPRITESHEET_SIZE 128
@@ -104,7 +105,7 @@
#define API_KEYWORDS {"TIC", "scanline", "print", "cls", "pix", "line", "rect", "rectb", \
"spr", "btn", "btnp", "sfx", "map", "mget", "mset", "peek", "poke", "peek4", "poke4", \
"memcpy", "memset", "trace", "pmem", "time", "exit", "font", "mouse", "circ", "circb", "tri", \
"memcpy", "memset", "trace", "pmem", "time", "exit", "font", "mouse", "circ", "circb", "tri", "textri", \
"clip", "music", "sync"}
#define TIC_FONT_CHARS 128
+1
View File
@@ -82,6 +82,7 @@ typedef struct
void (*circle) (tic_mem* memory, s32 x, s32 y, u32 radius, u8 color);
void (*circle_border) (tic_mem* memory, s32 x, s32 y, u32 radius, u8 color);
void (*tri) (tic_mem* memory, s32 x1, s32 y1, s32 x2, s32 y2, s32 x3, s32 y3, u8 color);
void (*textri) (tic_mem* memory, s32 x1, s32 y1, s32 x2, s32 y2, s32 x3, s32 y3, s32 u1, s32 v1, s32 u2, s32 v2, s32 u3, s32 v3 ,bool use_map,u8 chroma);
void (*clip) (tic_mem* memory, s32 x, s32 y, s32 width, s32 height);
void (*sfx) (tic_mem* memory, s32 index, s32 note, s32 octave, s32 duration, s32 channel);
void (*sfx_stop) (tic_mem* memory, s32 channel);