Compare commits

...

524 commits

Author SHA1 Message Date
RandomityGuy
2ef28aae5f - try to make it case insensitive
- escape all text derived from user input
- fix various race condition issues
- make scrolling smooth for touch controls
- fix leaderboards count
- fix potential crash when joining MP
- clamp input
- fix replay clock when stopped time
- also update ci to only run when tagged
2026-01-27 22:15:10 +00:00
RandomityGuy
51c456e907 update readme 2025-11-19 17:43:36 +00:00
RandomityGuy
afa42fe498 update readme 2025-08-17 21:53:06 +05:30
RandomityGuy
a79f7c8fcc readme update 2025-06-30 20:24:47 +05:30
RandomityGuy
ef9b79f120 Merge branch 'master' of https://github.com/RandomityGuy/MBHaxe 2025-03-21 21:30:35 +05:30
RandomityGuy
553ed365e9 update links 2025-03-21 21:30:23 +05:30
RandomityGuy
d69cb92028
Update README.md 2025-02-15 01:20:16 +05:30
RandomityGuy
e06d871aaf
add discord link 2025-02-15 01:20:06 +05:30
RandomityGuy
8a9866db54 update changelog 2025-02-14 22:50:07 +05:30
RandomityGuy
a2e2b4e211 fix fps not matching tps 2025-02-14 21:56:32 +05:30
RandomityGuy
c5a90673b9 ver increment 2025-02-14 21:43:54 +05:30
RandomityGuy
fbaa766f7e Merge branch 'master' of https://github.com/RandomityGuy/MBHaxe 2025-02-14 21:42:07 +05:30
RandomityGuy
10008f98c3 align this better 2025-02-14 21:41:57 +05:30
RandomityGuy
47b10edbab change fps display to display tps instead when vsync is on 2025-02-14 21:39:39 +05:30
RandomityGuy
6044889270 match drawn fps to tick rate always, except for when vsync 2025-02-14 21:22:53 +05:30
RandomityGuy
e7cac9cd0c uuid things 2025-02-14 20:13:23 +05:30
RandomityGuy
06d0c6d98e score send criteria change and fix replay record oob bug 2025-02-14 20:13:09 +05:30
RandomityGuy
3a21ca2f5c
Create FUNDING.yml 2025-02-11 22:28:47 +05:30
RandomityGuy
ad0e867b48 update links 2025-02-11 21:42:30 +05:30
RandomityGuy
ae0c057b31 update changelog 2025-02-11 21:41:34 +05:30
RandomityGuy
301a8675cf make all this follow ui scale 2025-02-11 18:05:22 +05:30
RandomityGuy
5736b9c03c add support for MBU/MBM datablocks via substitutions 2025-02-11 12:49:10 +05:30
RandomityGuy
570c7355eb don't submit replays for customs 2025-02-11 12:41:15 +05:30
RandomityGuy
611ac6cebd limit replay size 2025-02-11 12:36:31 +05:30
RandomityGuy
7fd6f00cf7 fix typo 2025-02-10 22:25:58 +05:30
RandomityGuy
5cfe49c166 camera smoothing and some name stuff 2025-02-10 21:59:23 +05:30
RandomityGuy
f40914f071 add support for marble attribute changing 2025-02-07 14:38:16 +05:30
RandomityGuy
4743684298 fix sporkintheroad and add custom friction support 2025-02-07 01:13:46 +05:30
RandomityGuy
6673f7dc5c fix pmg level selection not being persistent 2025-02-05 00:59:19 +05:30
RandomityGuy
efd4f50e4e exit LB replays on pmg 2025-02-05 00:50:32 +05:30
RandomityGuy
c12cdfc908 make these inline 2025-01-18 12:38:14 +05:30
RandomityGuy
995029e99b few fixes for LB 2024-12-13 14:26:54 +05:30
RandomityGuy
3a17b3fea5 fix input keys for locked fps metrics 2024-12-13 11:32:13 +05:30
RandomityGuy
3cfb0785fe fix case insensitivity again and discard the marbleland game requirements 2024-12-13 01:15:28 +05:30
RandomityGuy
07bff7724d lb limit count and attempt case insensitive 2024-11-21 21:08:28 +05:30
RandomityGuy
5d61ee091c fix random powerup 2024-11-20 23:59:23 +05:30
RandomityGuy
3de0519d47 fix dynamic grid broadphase being broken 2024-11-05 20:25:58 +05:30
RandomityGuy
0a56019a53 fps limiter 2024-11-05 20:03:35 +05:30
RandomityGuy
a4254f8771 new hunt spawn algorithm, closer to PQ 2024-11-05 19:17:51 +05:30
RandomityGuy
69c81eb5ce more forced version checks 2024-11-05 01:24:56 +05:30
RandomityGuy
1c28616679 toggle between different lb categories 2024-11-05 01:07:48 +05:30
RandomityGuy
f8731ab84c these assets 2024-11-05 00:01:36 +05:30
RandomityGuy
e1e882098b leaderboards impl 2024-11-05 00:01:09 +05:30
RandomityGuy
a92b0eb1b6 make trigger collision detection more accurate 2024-11-02 14:20:49 +05:30
RandomityGuy
a7ade37670 hunt: respawn camera fixes 2024-11-02 14:20:31 +05:30
RandomityGuy
9bd8ed8a5d preserve sorting for PMG 2024-11-02 01:40:49 +05:30
RandomityGuy
d6a97365a8 oob bugfix and fix gem count reports in MP 2024-11-02 01:34:16 +05:30
RandomityGuy
9b8b908524 replay fixes and network last contact normal 2024-11-02 01:21:53 +05:30
RandomityGuy
aedffdc2c3 lmao fix 2024-08-02 01:19:48 +05:30
RandomityGuy
b6032a4b64 readme update 2024-07-21 18:09:50 +05:30
RandomityGuy
77108d12af final 2024-07-21 18:09:17 +05:30
RandomityGuy
d275730b3e version update and download icon 2024-07-21 13:02:53 +05:30
RandomityGuy
3d065c116e bugfixes for the reported issues 2024-07-21 12:26:10 +05:30
RandomityGuy
5a6c8ae6e1 this critical 2024-07-19 19:14:26 +05:30
RandomityGuy
bb33ddf07b readme update 2024-07-19 19:14:22 +05:30
RandomityGuy
c348dfb530 Merge branch 'mbp-net' 2024-07-19 18:32:52 +05:30
RandomityGuy
6ea397b7d5 Merge branch 'master' of https://github.com/RandomityGuy/MBHaxe 2024-07-19 18:31:22 +05:30
RandomityGuy
e97f7f2823 minor 2024-07-18 23:47:14 +05:30
RandomityGuy
c5c1c30c4b oops 2024-07-17 22:27:31 +05:30
RandomityGuy
8a1997190a swappable spawns 2024-07-17 22:24:19 +05:30
RandomityGuy
e7e50cf865 grid for broadphase, faster 2024-07-17 19:11:54 +05:30
RandomityGuy
97e8f5a753 more optimizations for mp 2024-07-17 16:27:24 +05:30
RandomityGuy
4cf4748813 stall bug 2024-07-17 13:03:22 +05:30
RandomityGuy
ebd3f03e13 reported bugfixes 2024-07-17 12:42:37 +05:30
RandomityGuy
70b4d51943 fix js 2024-07-16 23:03:19 +05:30
RandomityGuy
203916bfae more bugfixes 2024-07-16 21:48:15 +05:30
RandomityGuy
b6679f7b87 some more optimizations 2024-07-16 19:38:34 +05:30
RandomityGuy
13c9c8d99e some optimizations 2024-07-16 18:47:39 +05:30
RandomityGuy
ef6612bcb8 this edge case 2024-07-16 00:35:49 +05:30
RandomityGuy
6c45fce486 this missing 2024-07-16 00:23:57 +05:30
RandomityGuy
2662ff7074 more fixes and suggestions 2024-07-16 00:05:01 +05:30
RandomityGuy
f41b169dca various reported bugfixes 2024-07-15 22:29:29 +05:30
RandomityGuy
8f3177a885 fix drop shadow 2024-07-15 19:05:35 +05:30
RandomityGuy
e66f9fd0ff persist selection and fix music bug 2024-07-14 23:42:02 +05:30
RandomityGuy
d74b8d81be optimize raycast 2024-07-14 20:00:01 +05:30
RandomityGuy
80aa53997c few more fixes 2024-07-14 14:41:37 +05:30
RandomityGuy
296c7e893b various reported bugfixes 2024-07-14 02:04:06 +05:30
RandomityGuy
2610a72257 fix this crash bruh 2024-07-13 00:51:55 +05:30
RandomityGuy
6abf22776e touch ui i forgot 2024-07-12 14:26:43 +05:30
RandomityGuy
41a356ca65 minor load crash fixes 2024-07-12 14:26:30 +05:30
RandomityGuy
e40625d451 typo 2024-07-12 01:27:28 +05:30
RandomityGuy
5ab50aef12 update haxe!!! 2024-07-12 01:21:24 +05:30
RandomityGuy
602e662503 holy shit finally nuke shadows out of the engine 2024-07-12 00:54:54 +05:30
RandomityGuy
e216be4ec9 fix a lot of things, camera (attempt), improve pathedinteriors scalability, touch support things, spectator mode mobile camera 2024-07-12 00:38:10 +05:30
RandomityGuy
3964b43aca various fixes: platinum gem on end game, fix spawn chances, fix weird states regarding player leaves 2024-07-10 12:13:04 +05:30
RandomityGuy
d34bc7c363 this 2024-07-09 01:37:07 +05:30
RandomityGuy
cd3fe87fed fix some js bug and significantly speed up loading 2024-07-09 01:36:33 +05:30
RandomityGuy
00e4420100 pq shaders and asset update 2024-07-08 22:43:00 +05:30
RandomityGuy
b4b3906610 PQ maps and fixes 2024-07-08 13:04:32 +05:30
RandomityGuy
19cc14679e fix spectator display bug and add collision invulnerability 2024-07-08 00:48:48 +05:30
RandomityGuy
18d0e7154f this 2024-07-08 00:00:58 +05:30
RandomityGuy
ffa9855174 uuid and fix gem predictions not wokring 2024-07-07 23:55:42 +05:30
RandomityGuy
e7417c7002 fix respawn gravity and add ids to the hosted server 2024-07-07 23:16:44 +05:30
RandomityGuy
3fcf2c8799 fix gravity bug, fix spectator invisible btn bug, fix pause bug, fix prediction bug, fix competitive mode bug 2024-07-07 22:41:24 +05:30
RandomityGuy
f9a58d15a9 competitive mode and small bugfixes 2024-07-07 19:33:16 +05:30
RandomityGuy
26ed1cb820 various bugfixes from testing 2024-07-06 01:47:49 +05:30
RandomityGuy
85ce3b5507 update this to fix ci 2024-07-04 23:40:22 +05:30
RandomityGuy
7e60689a58 update CI 2024-07-04 23:30:37 +05:30
RandomityGuy
6f374db2ad add version check and attempt mobile controls fixes 2024-07-04 23:23:57 +05:30
RandomityGuy
0f11c17cb8 remove unused assets 2024-07-04 01:44:28 +05:30
RandomityGuy
bdccf31a23 username change on jsg 2024-07-04 01:34:11 +05:30
RandomityGuy
0c58d597d4 more touch controls settings 2024-07-04 01:33:46 +05:30
RandomityGuy
54aae3c997 ping 2 2024-07-04 01:33:24 +05:30
RandomityGuy
d893ca30e6 ping icons 2024-07-04 01:32:53 +05:30
RandomityGuy
98de4cff1c finally the offset feature for HtmlText, making features of player count and readyness ez 2024-07-03 23:05:18 +05:30
RandomityGuy
da12b521db marble reflection things and platform icons 2024-07-03 21:45:24 +05:30
RandomityGuy
87ff14b6b8 fix spectate bug 2024-07-03 19:21:45 +05:30
RandomityGuy
2416a7119e radar fixes and spectator ui (pc) 2024-07-03 01:45:42 +05:30
RandomityGuy
41f041f3f9 implement chat (lobby) and fix marble sounds 2024-07-03 00:36:08 +05:30
RandomityGuy
5220b8909c fix various ui bugs 2024-07-02 01:55:26 +05:30
RandomityGuy
c07083f400 fix > 65k verts 2024-07-01 19:39:32 +05:30
RandomityGuy
1706c16540 make server list little better and add passworded joins 2024-07-01 00:59:05 +05:30
RandomityGuy
de265e7742
Update README.md 2024-06-30 22:29:28 +05:30
RandomityGuy
0c9db3ea58 fix search 2024-06-29 18:07:58 +05:30
RandomityGuy
b4324707f3 fix sky z fighting 2024-06-29 12:29:51 +05:30
RandomityGuy
bd5fb5021c fix this 2024-06-29 00:06:58 +05:30
RandomityGuy
aa8f640b0e js 2024-06-28 14:39:00 +05:30
RandomityGuy
7682e6b5f8 start chat 2024-06-28 13:45:35 +05:30
RandomityGuy
ca314d734a multimaterial optimization 2024-06-28 13:45:27 +05:30
RandomityGuy
fa92b6d1af some js and minor fixes 2024-06-28 00:51:53 +05:30
RandomityGuy
3a928a6014 spectator mode 2024-06-27 01:57:14 +05:30
RandomityGuy
57873e6301 teleporter networking 2024-06-27 00:11:40 +05:30
RandomityGuy
2d5bdda9ab fix textures 2024-06-26 20:43:10 +05:30
RandomityGuy
60b116f9aa server side only quick respawn 2024-06-26 20:27:58 +05:30
RandomityGuy
11043e04b0 rough trapdoor networking, bare minimum 2024-06-26 19:20:22 +05:30
RandomityGuy
98b6781970 slightly better explodables 2024-06-26 12:44:49 +05:30
RandomityGuy
21ac9259d4 this 2024-06-26 01:55:54 +05:30
RandomityGuy
a8d316d4fd make nukes network successfully 2024-06-26 01:43:22 +05:30
RandomityGuy
a33fb533df fix again 2024-06-25 00:18:43 +05:30
RandomityGuy
d9b9298277 fix again 2024-06-24 23:49:13 +05:30
RandomityGuy
87efa2ce51 fix again 2024-06-24 23:31:11 +05:30
RandomityGuy
424127e527 fix again 2024-06-24 23:29:59 +05:30
RandomityGuy
ba0dd018ab fix ratios 2024-06-24 21:58:27 +05:30
RandomityGuy
52343d9a45 finally ios support (web) 2024-06-24 21:58:23 +05:30
RandomityGuy
9d483d2382 fix ratios 2024-06-24 21:48:02 +05:30
RandomityGuy
0376db7c73 finally ios support (web) 2024-06-24 21:47:40 +05:30
RandomityGuy
0720ea9424 network the MPs finally, this removes traplaunches though 2024-06-24 13:47:55 +05:30
RandomityGuy
c830d417f1 fix mps 2024-06-24 01:11:00 +05:30
RandomityGuy
5a8eab9aff mp rework bit 2024-06-23 23:24:06 +05:30
RandomityGuy
f84d69fbda refresh btn 2024-06-23 21:40:49 +05:30
RandomityGuy
a0d01656ab better mp message boxes 2024-06-23 21:37:16 +05:30
RandomityGuy
d7acac9227 fix mid-game join 2024-06-23 01:16:22 +05:30
RandomityGuy
8b612fd089 player kicking, marble skin change networking, minor improvements 2024-06-23 00:54:23 +05:30
RandomityGuy
08f057dc6c fix compile 2024-06-22 20:43:48 +05:30
RandomityGuy
7bc95d492b reduce side window 2024-06-22 20:43:28 +05:30
RandomityGuy
36bc46d7b9 attempt implement the restarts and add shader/mega helicopter 2024-06-22 01:30:53 +05:30
RandomityGuy
7837be38e9 end game initial 2024-06-21 22:42:30 +05:30
RandomityGuy
651726bb06 camera overview thing + rsg multiplayer (no sounds currently) 2024-06-21 00:16:01 +05:30
RandomityGuy
a1c4691466 pre-game stuff 2024-06-20 22:12:22 +05:30
RandomityGuy
cc57591342 make everything use a better performant drop shadow instead, add pre game support, more clientside fixes 2024-06-20 18:24:10 +05:30
RandomityGuy
a817d0481b slightly faster raycasts 2024-06-19 12:17:11 +05:30
RandomityGuy
7bb3969fc7 add better shadow renderer 2024-06-19 12:16:55 +05:30
RandomityGuy
9bab55cba5 more MP ui 2024-06-18 23:49:37 +05:30
RandomityGuy
870474cfed implement radar and fix hunt gem counter color 2024-06-18 00:54:56 +05:30
RandomityGuy
b3978bb9bb add player list, scoreboard and working blast 2024-06-17 23:02:19 +05:30
RandomityGuy
b1af411014 get more powerups networked 2024-06-17 00:58:57 +05:30
RandomityGuy
64ee9dcf29 more MP assets 2024-06-17 00:58:45 +05:30
RandomityGuy
fe37dc4209 make hunt network again, and fix marble radius for MP 2024-06-16 20:25:17 +05:30
RandomityGuy
3120674b66 add initial netcode 2024-06-16 14:48:25 +05:30
RandomityGuy
7ba9b5aaf6
Update README.md 2024-06-16 01:24:03 +05:30
RandomityGuy
2e9917d9f1 implement hunt basicss 2024-06-16 00:54:17 +05:30
RandomityGuy
911ea765bf assets for multiplayer 2024-06-16 00:53:57 +05:30
RandomityGuy
81e4c98cca separate out marble logic and apply optimizations from mbu branch, prepare for netcode 2024-06-14 14:53:58 +05:30
RandomityGuy
56c8e6e97e Merge branch 'master' of https://github.com/RandomityGuy/MBHaxe 2024-06-14 11:07:32 +05:30
RandomityGuy
7366f49670
Update README.md 2024-06-14 00:21:35 +05:30
RandomityGuy
0cd6486d39
Update README.md 2024-06-13 21:51:27 +05:30
RandomityGuy
3d388e6b57
Update README.md 2024-06-12 19:20:43 +05:30
RandomityGuy
268b59a841
Update README.md 2024-06-04 18:31:11 +05:30
RandomityGuy
e6d01130d4 fix textures not loading in certain cases 2024-02-20 21:22:54 +05:30
RandomityGuy
ee65e733e5 update readme 2023-12-25 15:08:33 +05:30
RandomityGuy
a83b1cb13e update link 2023-12-24 13:50:46 +05:30
RandomityGuy
4084e362b3 fix the MP bug that was reported 2023-12-14 00:28:48 +05:30
RandomityGuy
4e80a53d07
Merge pull request #30 from glitch128/platinum
Replace icons and edit manifest (Platinum)
2023-12-12 23:51:18 +05:30
Corruption
bd373b6971
Replace icons and edit manifest (Platinum) 2023-12-12 09:19:26 -08:00
RandomityGuy
c4f4ea92b8 default to date 2023-12-03 21:42:28 +05:30
RandomityGuy
1e5227b4fa fix out of order date sort in js 2023-12-03 21:40:05 +05:30
RandomityGuy
7f87db5757 ...update haxe 2023-12-03 20:43:40 +05:30
RandomityGuy
8569a95116 attempt some fix? 2023-12-03 20:04:28 +05:30
RandomityGuy
a06adeb435 Merge branch 'master' of https://github.com/RandomityGuy/MBHaxe 2023-11-29 22:46:34 +05:30
RandomityGuy
c6a7d5cb38 play from url 2023-11-29 22:45:34 +05:30
RandomityGuy
d040c56382 camera thing 2023-11-18 22:40:23 +05:30
RandomityGuy
cca94aa290
Update README.md 2023-10-11 00:16:32 +05:30
RandomityGuy
d63a0798ac zlib pls 2023-10-09 00:28:33 +05:30
RandomityGuy
588eba52d2 update ci mac 2023-10-09 00:12:44 +05:30
RandomityGuy
bcd2f2b085 update zlib for mac compile 2023-10-08 23:50:54 +05:30
RandomityGuy
67eb9a0991 changelog 2023-10-08 23:26:32 +05:30
RandomityGuy
c40243acaa implement sorting for customs 2023-10-08 01:50:32 +05:30
RandomityGuy
f303925551 dds support + better marbleland 2023-10-03 21:20:18 +05:30
RandomityGuy
25b1c01205 github buttons 2023-10-03 19:17:07 +05:30
RandomityGuy
484e189978 more mkt and ver up 2023-10-03 19:08:41 +05:30
RandomityGuy
36d3f86f28 this 2023-10-02 23:19:42 +05:30
RandomityGuy
d8604c9717 reduce more memory 2023-10-02 14:29:02 +05:30
RandomityGuy
63781f1532 optimize heap 2023-10-02 13:56:59 +05:30
RandomityGuy
a9b9ed1a98 fix bugs 2023-10-02 12:21:17 +05:30
RandomityGuy
7fb8e4530d non-user identifying analytics 2023-10-02 01:48:42 +05:30
RandomityGuy
dfc943e802 fix more memory leak 2023-10-01 23:19:00 +05:30
RandomityGuy
74d444a835 fix memory leaks caused by world not being properly disposed 2023-10-01 14:06:36 +05:30
RandomityGuy
ef6c3a0146 rewind optimize memory 2023-10-01 14:06:05 +05:30
RandomityGuy
a2be44157e updated marbleland support 2023-09-29 22:57:51 +05:30
RandomityGuy
11052389b1 match mbg collision callback code and add deadzone to touch camera 2023-09-22 23:25:23 +05:30
RandomityGuy
ea6766dff6 better touch controls camera 2023-07-25 22:31:52 +05:30
RandomityGuy
4f23c2cea9 fix replay center on mac 2023-07-25 18:58:52 +05:30
RandomityGuy
72f13ba68b update links 2023-07-24 00:49:23 +05:30
RandomityGuy
9852825486 update readme 2023-07-22 21:41:44 +05:30
RandomityGuy
79d470cc57 update readme links 2023-07-22 00:09:30 +05:30
RandomityGuy
d7d2cfaf45 ver update 2023-07-21 21:25:19 +05:30
RandomityGuy
5bd92b2312 fix CI 2023-07-21 21:19:56 +05:30
RandomityGuy
67db795368 fix camera 2023-07-21 21:19:48 +05:30
RandomityGuy
52bdbdc65b finally fix camera 2023-07-21 21:13:59 +05:30
RandomityGuy
52276538e3 fix camera 2023-07-21 21:12:31 +05:30
RandomityGuy
e37795a80d speed cubemap 2023-07-21 21:11:30 +05:30
RandomityGuy
72e83a5dbb do all the backport fixes 2023-07-21 21:05:19 +05:30
RandomityGuy
5c446925ba update marbleland links- 2023-06-05 21:20:34 +05:30
RandomityGuy
f201279264 readme 2023-06-04 23:09:37 +05:30
RandomityGuy
e42960d946 fix broken MP collisions 2023-06-04 22:49:35 +05:30
RandomityGuy
fdfc67ff8d don't rewind if finished 2023-06-04 20:48:31 +05:30
RandomityGuy
8b58181f30 update readme and changelog 2023-06-01 23:59:26 +05:30
RandomityGuy
5b502cd9b2 few fixes 2023-06-01 20:28:52 +05:30
RandomityGuy
928e95af6e fix this??? 2023-05-28 13:54:15 +05:30
RandomityGuy
d05b436a00 thing 2023-05-28 01:52:58 +05:30
RandomityGuy
27a8f8f18b scrolling for touchpad fix 2023-05-28 01:04:49 +05:30
RandomityGuy
e058f28865 fix dpi bugs?? 2023-05-27 14:18:38 +05:30
RandomityGuy
323598c4f2 fix dpi scaling for scrollbars 2023-05-27 02:12:06 +05:30
RandomityGuy
cc9f29e3ac update readme 2023-05-26 23:00:27 +05:30
RandomityGuy
e36f4e824a redo dif building and handle custom stuff 2023-05-26 14:34:15 +05:30
RandomityGuy
8b28d74e04 fix console tilde thing 2023-05-25 01:00:39 +05:30
RandomityGuy
43c9d64f33 Revert "nerf despair UT"
This reverts commit b0c5dafb09.
2023-05-25 00:10:59 +05:30
RandomityGuy
2e27ba0aa0 fix initialState bugs in replay 2023-05-24 19:05:01 +05:30
RandomityGuy
bb713ad779 fix traplaunches, like really 2023-05-24 18:57:10 +05:30
RandomityGuy
b0c5dafb09 nerf despair UT 2023-05-23 02:08:38 +05:30
RandomityGuy
720a92df52 buff nuke slightly 2023-05-23 02:04:00 +05:30
RandomityGuy
1ddb981702 use fast transforms for colliders 2023-05-19 19:10:55 +05:30
RandomityGuy
86461bf11f add support for local customs 2023-05-17 00:40:12 +05:30
RandomityGuy
3091e33384 update ver 2023-05-17 00:26:11 +05:30
RandomityGuy
7076ccdff3 fix resolution in js 2023-05-17 00:25:18 +05:30
RandomityGuy
f53ea53697 correct positioning 2023-05-14 19:15:43 +05:30
RandomityGuy
3792f5b924 rewind controller support 2023-05-14 19:03:27 +05:30
RandomityGuy
2e6eedba81 work on rewind touch controls and fix scroll bugs 2023-05-14 17:46:47 +05:30
RandomityGuy
df669cca17 minor fixes 2023-05-14 14:03:01 +05:30
RandomityGuy
d9e49c8a32 add rewind timescale to console 2023-05-13 23:16:39 +05:30
RandomityGuy
b85e7b232c fix the console rendering 2023-05-13 23:09:52 +05:30
RandomityGuy
497579089f add rewind options 2023-05-13 21:49:05 +05:30
RandomityGuy
1f7b117753 basically rewrite the whole UI to allow better scrolling support 2023-05-11 17:36:16 +05:30
RandomityGuy
7fa0da4a9b minor physics things 2023-05-10 23:09:57 +05:30
RandomityGuy
5de3e74379 bumper rewind proper 2023-05-09 23:51:37 +05:30
RandomityGuy
d1977a7c36 fix SS inaccuracy 2023-05-09 23:42:00 +05:30
RandomityGuy
964aa9aefb move DTS collision to use CollisionEntity 2023-05-09 23:27:13 +05:30
RandomityGuy
69199b9da7 fix gyro and tornado 2023-05-09 22:22:19 +05:30
RandomityGuy
edd29b1cad attempt fix some transforms stuff 2023-05-09 14:40:08 +05:30
RandomityGuy
7450625a2f fix dts rendering finally 2023-05-09 13:56:46 +05:30
RandomityGuy
82cdf9b9b6 fix some rewind bugs and add replay support for rewind 2023-05-08 01:10:58 +05:30
RandomityGuy
7c278a0579 rewind support for everything else 2023-05-07 19:25:38 +05:30
RandomityGuy
0a2ed380d3 fix rewind particles 2023-05-06 23:32:50 +05:30
RandomityGuy
c8b591c474 rewind barebones 2023-05-06 23:21:13 +05:30
RandomityGuy
2fa9dbb71d fix synchronization issue 2023-05-04 14:26:00 +05:30
RandomityGuy
3a3345c4d3 fix teleport + respawn crash 2023-04-01 19:20:35 +05:30
RandomityGuy
a861b94e69 kofi button 2023-03-28 14:13:36 +05:30
RandomityGuy
864fd53218 update links 2023-03-16 23:55:21 +05:30
RandomityGuy
53a39a63c0 fix powerups on web 2023-03-16 23:52:53 +05:30
RandomityGuy
e8b8a422f7 update ver and changelog 2023-02-21 23:19:26 +05:30
RandomityGuy
a99ee2b9ab update install readme 2023-02-21 23:11:59 +05:30
RandomityGuy
91a50f224e update ci 2023-02-21 23:11:50 +05:30
RandomityGuy
144ba1e3d6 fix incorrect category after pressing next button 2023-02-21 23:07:00 +05:30
RandomityGuy
ba69caffd2 preserve previews 2023-02-19 18:50:36 +05:30
RandomityGuy
2283afe20d don't collide with tiny triangles 2023-02-19 18:42:28 +05:30
RandomityGuy
939910eb6c Restart CI and add support button 2023-02-19 01:13:25 +05:30
RandomityGuy
90d1709352 fix links 2023-02-19 01:08:49 +05:30
RandomityGuy
4db37cee23 finally build uv and ssl for mac 2023-02-18 21:11:16 +05:30
RandomityGuy
8d07ee64a0 alter build conf for mac 2023-02-18 20:26:19 +05:30
RandomityGuy
3b867a547e update build scripts 2023-02-18 18:48:25 +05:30
RandomityGuy
49ab1ec8ec improve version num 2023-02-18 14:43:04 +05:30
RandomityGuy
5d02d81af8 changelog view 2023-02-18 14:36:31 +05:30
RandomityGuy
585c9111c1 changelog things 2023-02-18 00:44:55 +05:30
RandomityGuy
d9f15f7ac9 improve scrollbar and fix bug where you finish pad didnt detect you 2023-02-17 18:47:50 +05:30
RandomityGuy
45c8e7ce49 ver update 2023-02-17 00:47:58 +05:30
RandomityGuy
06239378fb Fix time travel hitboxes being too small 2023-02-16 22:21:01 +05:30
RandomityGuy
21c5ecfeb9 handle not downloaded level list 2023-02-16 22:05:42 +05:30
RandomityGuy
3416445a73 improve scrollbar rendering 2023-02-16 21:57:31 +05:30
RandomityGuy
f5b5729972 attempt improve CCD 2023-02-16 21:30:39 +05:30
RandomityGuy
e78343ce39 fix MP broadphase 2023-02-16 01:05:52 +05:30
RandomityGuy
0fb0a47016 make cgl 10 load atleast 2023-02-16 00:47:23 +05:30
RandomityGuy
11ca7dd052 fix random pup in js 2023-02-16 00:32:43 +05:30
RandomityGuy
4c0ea4afb2 js load custom levels in replays 2023-02-16 00:19:11 +05:30
RandomityGuy
a8f36317c5
Merge pull request #15 from thearst3rd/mbp-colorfix2
MBP - Fix wrong color in Best Time for some MBU levels
2023-02-15 22:51:01 +05:30
RandomityGuy
ea2f4d790c fix few js bugs 2023-02-15 22:45:48 +05:30
RandomityGuy
6945dd4acc Merge branch 'master' of https://github.com/RandomityGuy/MBHaxe into marbleland 2023-02-15 21:36:42 +05:30
RandomityGuy
93d86bbd6a tsstatic envmaps 2023-02-15 21:21:32 +05:30
RandomityGuy
97e8e2ebee sky color things 2023-02-15 19:51:56 +05:30
RandomityGuy
be9ec77e13 add missing signs back 2023-02-15 19:22:45 +05:30
RandomityGuy
70daee42f7 bmp support 2023-02-15 19:10:11 +05:30
Terry Hearst
74c7125e9c Fix wrong color in Best Time for some MBU levels 2023-02-14 20:30:41 -05:00
RandomityGuy
c7da2c2de6 nudge things lol 2023-02-14 23:24:36 +05:30
RandomityGuy
311579e631 replay support for marbleland levels 2023-02-14 23:06:19 +05:30
RandomityGuy
07bd6a15c8 random pup and cleanup marbleworld 2023-02-14 18:58:05 +05:30
RandomityGuy
4bfd6dd6be triple digit gem counter 2023-02-14 17:24:45 +05:30
RandomityGuy
7fbf8f26af pushbutton 2023-02-14 13:40:53 +05:30
RandomityGuy
81708632cc
Merge pull request #13 from thearst3rd/mbp-restart-improvement
MBP - Don't pause when hitting restart button from EndGameGui on js
2023-02-14 12:57:59 +05:30
Terry Hearst
1064e9d272 Don't pause when hitting restart button from EndGameGui on js 2023-02-14 00:42:54 -05:00
RandomityGuy
c56d382c3a fix some CCD and trigger bugs 2023-02-13 23:29:09 +05:30
RandomityGuy
e87411794c fix some texture paths 2023-02-13 21:55:55 +05:30
RandomityGuy
9b342f4a23 fix MBG CLA textures 2023-02-13 20:02:02 +05:30
RandomityGuy
ce1bcf9c2c make work on js 2023-02-13 19:48:39 +05:30
RandomityGuy
266a29afc4 fix bad collision normals 2023-02-13 19:01:33 +05:30
RandomityGuy
506cb50960 fix TSStatic frictions 2023-02-13 19:01:25 +05:30
RandomityGuy
f6231facc2 added http req cancellation 2023-02-13 19:01:15 +05:30
RandomityGuy
53eda514ba make DA HOUSE work mostly 2023-02-13 00:47:05 +05:30
RandomityGuy
c93eb1db6b fix few more parsing bugs 2023-02-12 21:45:51 +05:30
RandomityGuy
2639afd515
Merge pull request #9 from thearst3rd/mbp-gamepad
MBP - Add gamepad support
2023-02-12 12:12:21 +05:30
Terry Hearst
14b941f65c Fix gamepad start not working in js 2023-02-11 19:41:27 -05:00
Terry Hearst
5eb8e39b82 Fix js crashing on mobile, respect deadzone and make configurable 2023-02-11 15:53:45 -05:00
RandomityGuy
db7f7c0cf6 fix iso-8859-1 2023-02-12 00:09:58 +05:30
Terry Hearst
dc9ee0a60c Add partial menu navigatability 2023-02-11 03:21:55 -05:00
Terry Hearst
98662dfd3a Fixes for js and probably other cases too 2023-02-11 02:48:07 -05:00
Terry Hearst
9821cb2575 Respect gamepad camera sensitivity and invert properties 2023-02-11 01:44:42 -05:00
Terry Hearst
db435f4f05 Add basic gamepad support 2023-02-11 01:28:49 -05:00
RandomityGuy
ded22e5e37 fix wrong TRS order 2023-02-11 00:38:35 +05:30
RandomityGuy
81dcfd5119 fix terrible textures 2023-02-10 12:38:50 +05:30
RandomityGuy
018b4d8705 marbleland support begin, attempt 2023-02-10 00:32:18 +05:30
RandomityGuy
aa93731f04 fix marble bounces 2023-02-08 18:47:06 +05:30
RandomityGuy
ef3d698996
Merge pull request #8 from thearst3rd/mbp-small-fixes
MBP - Small Fixes
2023-02-08 18:26:42 +05:30
Terry Hearst
b53fe858d7 Control remap fixes 2023-02-07 23:49:28 -05:00
Terry Hearst
433bb9baaa gem -> diamond 2023-02-07 23:20:28 -05:00
RandomityGuy
ad7c1cae3c fix zero scale interior collision bug 2023-02-07 22:05:05 +05:30
RandomityGuy
c439b32338
Merge pull request #7 from thearst3rd/mbp-fix-web
Fixes for compiling web build
2023-02-07 08:43:45 +05:30
Terry Hearst
5d2915f586 Go to the correct menu when quitting a demo 2023-02-06 21:30:12 -05:00
Terry Hearst
c7191ad45e Actually, go back to the main menu lol 2023-02-06 21:01:07 -05:00
Terry Hearst
129a591a2e Fixes for compiling web build 2023-02-06 20:21:33 -05:00
RandomityGuy
1f0e2bea43 fix tornado rendering finally 2023-02-06 22:47:05 +05:30
RandomityGuy
03b0eced47 Merge branch 'master' of https://github.com/RandomityGuy/MBHaxe 2023-02-06 21:50:05 +05:30
RandomityGuy
a7068dd808 fix bounce physics 2023-02-06 21:22:26 +05:30
RandomityGuy
ecb6ce58c5
Merge pull request #6 from thearst3rd/mbp-natural-replays
MBP - More natural replay saving system
2023-02-06 11:24:48 +05:30
Terry Hearst
7b45fde2bc Return to replay center after watching a replay 2023-02-05 23:22:07 -05:00
Terry Hearst
d2323a3811 Prevent overwriting existing replays by appending count in parentheses 2023-02-05 23:06:02 -05:00
Terry Hearst
7f000d8021 Add next level button as well 2023-02-05 23:06:02 -05:00
Terry Hearst
73b70ab6ab Make MBP replay saving system more natural 2023-02-05 23:06:02 -05:00
RandomityGuy
e6605efaa6
Merge pull request #5 from thearst3rd/mbp-replay-browser-crash
MBP - Don't support old replays to prevent the replay browser from crashing
2023-02-06 08:34:27 +05:30
Terry Hearst
82081b3698 Don't support old replays to prevent the replay browser from crashing 2023-02-05 19:54:13 -05:00
RandomityGuy
0face52d90 update ver damnit 2023-02-05 21:13:25 +05:30
RandomityGuy
ce9532964b actually create the directory for the game on mac when console starts 2023-02-05 19:49:27 +05:30
RandomityGuy
2121bf000c change fov mode 2023-02-05 19:47:25 +05:30
RandomityGuy
4bd6aaec43 fix marble getting stuck on corners 2023-02-05 19:41:16 +05:30
RandomityGuy
06769e9987 update readme 2023-01-08 19:34:00 +05:30
RandomityGuy
077f8e8e43 mbp mac icon update 2023-01-08 00:40:00 +05:30
RandomityGuy
31259b7c6f change font cache path, and also include that in the repo. attempt to make it work on mac without proper certs 2023-01-07 21:44:16 +05:30
RandomityGuy
c823c98b3e fix typo 2023-01-06 23:12:39 +05:30
RandomityGuy
8be0bbb79e sign osx 2023-01-06 22:49:10 +05:30
RandomityGuy
714d9079d2 limit nudge iterations 2023-01-01 00:04:00 +05:30
RandomityGuy
65af151b62 Merge branch 'master' of https://github.com/RandomityGuy/MBHaxe 2022-12-30 17:36:38 +05:30
RandomityGuy
033e4f041e
Merge pull request #2 from thearst3rd/linux
Linux Build scripts
2022-12-30 15:43:19 +05:30
RandomityGuy
04a774a41e transformed point caching 2022-12-30 14:51:17 +05:30
RandomityGuy
770eac480a better MBU shaders 2022-12-30 14:24:21 +05:30
Terry Hearst
271994e582 Linux build scripts 2022-12-30 01:24:44 -05:00
Terry Hearst
9a525b8a06 Rename files for case sensitive OSes 2022-12-30 01:04:30 -05:00
Terry Hearst
005d9c3e6e Gitignore and cleanup 2022-12-30 01:03:35 -05:00
RandomityGuy
d0dcb5f6c9 update mbu shaders 2022-12-30 10:03:08 +05:30
RandomityGuy
3ea6926871 replay browser 2022-12-28 18:22:28 +05:30
RandomityGuy
0979f113b5 fix ci 2022-12-27 21:35:41 +05:30
RandomityGuy
28ad6b478d fix syntax 2022-12-27 00:49:33 +05:30
RandomityGuy
487b6acec4 windows build test 2022-12-27 00:34:15 +05:30
RandomityGuy
b62da3af89 debug commands 2022-12-26 23:47:04 +05:30
RandomityGuy
de20dbf0b8 more console support 2022-12-26 22:17:55 +05:30
RandomityGuy
eb08a1e18a console start 2022-12-26 19:18:50 +05:30
RandomityGuy
fbeed31da2 improved collision 2022-12-26 18:29:18 +05:30
RandomityGuy
3cfd42825f improve testMove 2022-12-25 16:18:53 +05:30
RandomityGuy
4a4b3f76b6 monospaced 2022-12-24 19:52:12 +05:30
RandomityGuy
215167a863 fix tornado 2022-12-24 19:44:29 +05:30
RandomityGuy
1b292ff4a7 fix half pipes bug brought by previous commit 2022-12-24 19:23:48 +05:30
RandomityGuy
8a677fd2c3 reduce bounces when high speed, still not a perfect fix 2022-12-24 19:20:38 +05:30
RandomityGuy
f917210f8c fix minor bugs and improve moving platform broadphase 2022-12-24 18:04:53 +05:30
RandomityGuy
c64d6bef13 more scrollbar support for ui scaling 2022-12-24 00:24:13 +05:30
RandomityGuy
203d66ccfe attempt fix clipping and fix onscreen text 2022-12-23 22:11:08 +05:30
RandomityGuy
146cecdfdc remove caching temp 2022-12-23 21:31:06 +05:30
RandomityGuy
a915ee30f2 fix config 2022-12-23 21:27:28 +05:30
RandomityGuy
32ab3c7967 textinput test 2022-12-23 21:22:22 +05:30
RandomityGuy
98474da3e0 update config to use cache 2022-12-23 18:01:43 +05:30
RandomityGuy
5bd410408f fix ui scaling 2022-12-22 23:56:56 +05:30
RandomityGuy
47bb2de547 fix ui text alphas 2022-12-22 21:19:11 +05:30
RandomityGuy
bb9f59e7a8 fix ui scaling and alarm sound 2022-12-22 20:57:34 +05:30
RandomityGuy
cb3e452db6 ui scale??? 2022-12-22 10:08:57 +05:30
RandomityGuy
034aa75a22 fix screeeen 2022-12-22 01:01:45 +05:30
RandomityGuy
133c783de0 fix clipping 2022-12-22 00:34:46 +05:30
RandomityGuy
53324b3d08 fix broke dpi 2022-12-21 23:43:29 +05:30
RandomityGuy
8984e3a496 match lighting to more original 2022-12-21 23:19:29 +05:30
RandomityGuy
b5ad3b5352 fix clipping 2022-12-21 22:23:51 +05:30
RandomityGuy
6e07c4f357 text selection color fix 2022-12-21 20:52:35 +05:30
RandomityGuy
d5ede276d6 fix marble teleporterr teleporting in wrong direction and fix finish animation while gyro 2022-12-21 17:30:33 +05:30
RandomityGuy
5edf1d1a6c fix ci 2022-12-21 01:55:51 +05:30
RandomityGuy
f3d79fbbab update CI 2022-12-20 22:08:20 +05:30
RandomityGuy
82ca9cde8e highdpi support test 2022-12-20 21:55:58 +05:30
RandomityGuy
609c5dc1b7 ver update 2022-12-19 22:27:27 +05:30
RandomityGuy
2342d940a6 use mb method for end pad collision 2022-12-19 21:39:55 +05:30
RandomityGuy
5772110c52 fix rounding bug for bonus time 2022-12-19 19:49:11 +05:30
RandomityGuy
0968761c6f fix oob sequence 2022-12-19 19:30:54 +05:30
RandomityGuy
cdb801445c stop time travel and alarm sounds 2022-12-19 19:16:04 +05:30
RandomityGuy
b21ac340a8 disabled buttons don't have hover sounds 2022-12-19 19:11:10 +05:30
RandomityGuy
affbceda51 fix item collection i guess?? 2022-12-19 19:07:07 +05:30
RandomityGuy
1c7ad635f8 fix dumb lag issue 2022-12-19 18:09:32 +05:30
RandomityGuy
5e08f085b7 fix typos and build only on tagged commits 2022-12-19 15:08:06 +05:30
RandomityGuy
8cecb8934c
Merge pull request #1 from nullobsi/circleci-mac
Mac Universal App Bundle
2022-12-19 07:51:38 +05:30
Kayden Tebau
9753b1485e
Disable app sandbox 2022-12-18 13:40:24 -08:00
Kayden Tebau
6b8d03adf2
Move data folder out of app bundle 2022-12-18 13:25:24 -08:00
Kayden Tebau
05c62eee57
Update circleCI config 2022-12-18 13:25:24 -08:00
RandomityGuy
5c918c02d2
Updated config.yml 2022-12-18 13:25:24 -08:00
RandomityGuy
d0ed847e0b
Updated config.yml 2022-12-18 13:25:24 -08:00
RandomityGuy
8340b8a46a
Updated config.yml 2022-12-18 13:25:24 -08:00
RandomityGuy
6573e06bd8
Updated config.yml 2022-12-18 13:25:23 -08:00
RandomityGuy
cc47bcddc8
Updated config.yml 2022-12-18 13:25:23 -08:00
RandomityGuy
d0c220bdd8
Updated config.yml 2022-12-18 13:25:23 -08:00
RandomityGuy
d70608acb8
Add .circleci/config.yml 2022-12-18 13:25:23 -08:00
Kayden Tebau
797c426456
Add app bundle instructions 2022-12-18 13:25:23 -08:00
Kayden Tebau
3b4add0d08
Add macOS build instructions. Still need to write about .app bundle 2022-12-18 13:25:23 -08:00
Kayden Tebau
1d86c2f992
Add macOS packaging script 2022-12-18 13:25:23 -08:00
Kayden Tebau
f278b36254
Add macOS app skeleton 2022-12-18 13:25:23 -08:00
Kayden Tebau
a2c399557e
Use defs to compile for macOS directories 2022-12-18 13:25:22 -08:00
Kayden Tebau
deee285e71
Use macOS directories 2022-12-18 13:25:22 -08:00
RandomityGuy
a1e67dd7e9 use different BVH implementation 2022-12-18 23:09:28 +05:30
RandomityGuy
92ec04a5b9 add better nudge logic that rollbacks velocity too 2022-12-18 21:30:44 +05:30
RandomityGuy
cad8606057 slider 2022-12-18 01:29:17 +05:30
RandomityGuy
ec6e7785e5 fix endgame 2022-12-18 01:06:07 +05:30
RandomityGuy
ba1fd21174 update ver and readme 2022-12-17 23:28:22 +05:30
RandomityGuy
97d9db8295 improve gjk a bit to reduce some lag 2022-12-17 23:23:32 +05:30
RandomityGuy
81bf76bfb2 middle messages for time travel bonus 2022-12-17 21:31:48 +05:30
RandomityGuy
808e35a4af attempt fix filtering??? 2022-12-17 20:42:17 +05:30
RandomityGuy
d76a7812e0 hypercube mbg logic 2022-12-17 20:30:38 +05:30
RandomityGuy
c4234c3c63 use the hitbox of the rotated marble hitbox 2022-12-17 20:19:56 +05:30
RandomityGuy
dc21945869 fix double click sound on category selection 2022-12-17 19:19:05 +05:30
RandomityGuy
be31bb5a2c timer green on finish and particle updates 2022-12-17 14:58:59 +05:30
RandomityGuy
edf93f8edd accelerator key fixes and fix camera on unpause 2022-12-17 14:39:47 +05:30
RandomityGuy
57175a413c accelerator keys 2022-12-17 14:34:08 +05:30
RandomityGuy
375d22650f fix camera buttons not working 2022-12-17 14:32:53 +05:30
RandomityGuy
9e1240fc44 marble finish animation match to original 2022-12-17 14:16:19 +05:30
RandomityGuy
0c50e7f037 fix marble collider transform things 2022-12-17 14:07:14 +05:30
RandomityGuy
217b83ac94 fix powerup being picked up when you're at its position when you restart 2022-12-17 14:06:55 +05:30
RandomityGuy
51a48609dd fix pad animation not working 2022-12-17 13:51:19 +05:30
RandomityGuy
80d6cb43b6 update readme 2022-12-14 20:30:53 +05:30
RandomityGuy
2d3153e836 update readme and fix blast key on js update 2022-12-14 19:30:21 +05:30
RandomityGuy
5528b57b87 Merge branch 'master' into mbu-real-textures 2022-12-14 19:12:22 +05:30
RandomityGuy
cc00fb2fdf fix minor marble bugs on first tick 2022-12-14 19:11:16 +05:30
RandomityGuy
7b00b995d1 add blast support to replay, fix mega bugs 2022-12-14 18:51:20 +05:30
RandomityGuy
50ae6803dc restart button in touch controls and fix sound sliders 2022-12-14 18:13:22 +05:30
RandomityGuy
57134b9a85 fix so much internal edges using new logic 2022-12-14 15:05:52 +05:30
RandomityGuy
9d229a4747 fix CCD and internal edges again this time by using mb methods, and other small lag fixes 2022-12-13 23:40:18 +05:30
RandomityGuy
8e19719060 make marble shaders better match original, attempt fix internal edge collisions 2022-12-12 22:52:36 +05:30
RandomityGuy
cfd40df7b6 attempt fix internal edge collisions 2022-12-12 01:42:12 +05:30
RandomityGuy
ef392a17b1 make shaders more closer to orig mbu 2022-12-11 22:24:00 +05:30
RandomityGuy
39450065c1 add blast button for touch controls 2022-12-11 14:51:48 +05:30
RandomityGuy
19ca4fef2d fix some bugs 2022-12-10 21:20:38 +05:30
RandomityGuy
30381deb19 mbu marbles and its shaders 2022-12-10 00:16:56 +05:30
RandomityGuy
0fc64d9b70 mbu marbles, fix cubemap rendering, fix js 2022-12-09 20:38:35 +05:30
RandomityGuy
1d1513026b strip caution 2022-12-09 18:37:46 +05:30
RandomityGuy
49b22ef2ad real MBU materials 2022-12-09 18:37:41 +05:30
RandomityGuy
2c94aa864e mbu-real-tex 2022-12-09 18:37:34 +05:30
RandomityGuy
b874663c63 fix few noise and web things 2022-12-09 01:18:26 +05:30
RandomityGuy
7f0a51e9e8 fix specular and use mbu values 2022-12-08 19:47:26 +05:30
RandomityGuy
5c702d39e6 mbu materials finally 2022-12-08 19:03:16 +05:30
RandomityGuy
d261a15cb2 implement mega marble 2022-12-07 13:02:23 +05:30
RandomityGuy
1d24fb1976 mbu stats 2022-12-07 00:59:43 +05:30
RandomityGuy
1018208d5c impl blast 2022-12-06 22:31:24 +05:30
RandomityGuy
f22cce9825 remove unused dependencies, and fix replay saving bug after quick respawn 2022-12-06 18:13:05 +05:30
RandomityGuy
2f17ab1df4 remove unused dependencies, and fix replay saving bug after quick respawn 2022-12-06 18:12:40 +05:30
RandomityGuy
dd6a0be20d mbu marble and ui alterations 2022-12-05 19:54:02 +05:30
RandomityGuy
8980869082 add mbu models 2022-12-05 14:35:57 +05:30
RandomityGuy
e39420e8b1 more assets 2022-12-05 14:35:43 +05:30
RandomityGuy
c4e3279f45 mbu sounds 2022-12-05 13:29:59 +05:30
RandomityGuy
6460a66139 delete 2022-12-05 13:03:11 +05:30
RandomityGuy
8361ad7d1d mbu assets 2022-12-05 12:58:37 +05:30
RandomityGuy
7b13a002c0 fix broken SJ sound 2022-12-05 12:57:17 +05:30
RandomityGuy
336a5e3314 update readme pics 2022-12-04 21:11:00 +05:30
RandomityGuy
7def09eeae remove extra link 2022-12-04 19:32:19 +05:30
RandomityGuy
eff683b40a Merge branch 'mbp' 2022-12-04 19:30:56 +05:30
RandomityGuy
1627942278 update readme 2022-12-04 19:29:57 +05:30
RandomityGuy
caa20747a7 attempt fix on pad texture loading 2022-12-04 19:03:05 +05:30
RandomityGuy
bfaf31b822 fix noise by magnets, tornadoes and ductfans 2022-12-04 18:38:59 +05:30
RandomityGuy
ba5f06a40d fix magnet sound persist, use BVH for interior CD (cleaner, similar perf), cull instances not in frustum, overall FPS improvements 2022-12-04 14:41:04 +05:30
RandomityGuy
b7652955b5 fix persisting loud sounds 2022-11-29 23:16:18 +05:30
RandomityGuy
92d59ec1b6 async shape resource loading 2022-11-29 23:11:35 +05:30
RandomityGuy
f79a633322 update few stuff 2022-11-28 00:18:22 +05:30
RandomityGuy
f820a3e41b replay support 2022-11-27 23:42:58 +05:30
RandomityGuy
0c1e121a8b cleanup and bugfixes 2022-11-26 01:08:21 +05:30
RandomityGuy
bf41bb576e touch ui bugfixes and improves 2022-11-25 23:44:14 +05:30
RandomityGuy
f3cc59066a working jukebox 2022-11-25 22:25:13 +05:30
RandomityGuy
a22565855c start work on jukebox 2022-11-25 19:40:02 +05:30
RandomityGuy
af67c9eac0 make work even better in js 2022-11-25 18:05:13 +05:30
RandomityGuy
58a1f048d2 attempt make work on js, and much faster particles 2022-11-25 12:47:46 +05:30
RandomityGuy
ef9a7cbe5e marble select 2022-11-24 18:41:24 +05:30
RandomityGuy
eb8978b406 functional searcg 2022-11-23 13:48:05 +05:30
RandomityGuy
8c3b4e0b01 oob insults 2022-11-21 22:33:51 +05:30
RandomityGuy
f471707387 statistics...and gold backgrounds 2022-11-21 21:30:27 +05:30
RandomityGuy
a1b9164b45 stats 2022-11-21 21:18:58 +05:30
RandomityGuy
f1e4b44ce1 easter egg achievement and pmg 2022-11-21 19:23:36 +05:30
RandomityGuy
632f7fd732 achievement logic 2022-11-21 14:32:07 +05:30
RandomityGuy
592a6d78ec start work on achievements 2022-11-21 00:55:24 +05:30
RandomityGuy
d9ac2585ad gold levels support 2022-11-21 00:08:13 +05:30
RandomityGuy
cc6c2b2dee do most of pmg 2022-11-20 19:31:10 +05:30
RandomityGuy
e37853732f par time alarm 2022-11-20 12:48:19 +05:30
RandomityGuy
6993f18626 fps meter 2022-11-20 12:22:51 +05:30
RandomityGuy
6f7b0b5c7b fix checkpoint gravity thing 2022-11-20 12:04:55 +05:30
RandomityGuy
fab07bc51b reflective marble toggle working 2022-11-20 00:32:51 +05:30
RandomityGuy
22047323c8 respawn key 2022-11-20 00:30:56 +05:30
RandomityGuy
6f47c50e2a the options gui 2022-11-20 00:04:57 +05:30
RandomityGuy
8d4f965861 options general working 2022-11-19 21:30:34 +05:30
RandomityGuy
c0b0d1f10d start working on the options menu 2022-11-19 14:51:26 +05:30
RandomityGuy
e2eafd3824 finish endgamedlg 2022-11-19 12:11:55 +05:30
RandomityGuy
84af2fa3fb end game gui stuff 2022-11-19 01:00:14 +05:30
RandomityGuy
1e21f17d8f help menu 2022-11-18 22:01:07 +05:30
RandomityGuy
6a30687263 start doing help 2022-11-17 00:14:30 +05:30
RandomityGuy
35b353f535 marble reflections for future 2022-11-16 23:41:50 +05:30
RandomityGuy
dbeb6b7c60 complete checkpoint 2022-11-16 22:22:12 +05:30
RandomityGuy
4a6c06bf3a partial checkpoint and some macro refactoring 2022-11-16 00:42:49 +05:30
RandomityGuy
b7e94aa027 menu ui 2022-11-15 00:29:33 +05:30
RandomityGuy
ab59e51e24 easter egg and signs 2022-11-14 00:51:27 +05:30
RandomityGuy
1a5529efb6 working teleporter 2022-11-13 19:31:02 +05:30
RandomityGuy
2ae5f79890 fix pathedinterior bug 2022-11-13 14:37:48 +05:30
RandomityGuy
812af3925e speedup bounds calcs 2022-11-13 13:39:00 +05:30
RandomityGuy
37653ba974 more ui and bugfixes 2022-11-13 00:18:40 +05:30
RandomityGuy
48c38aaa3a fix some more missions being improper 2022-11-12 22:32:42 +05:30
RandomityGuy
3cb5d47e5b some more bugfixes and speedups 2022-11-12 19:46:54 +05:30
RandomityGuy
310be0760d fixed morph being really slow 2022-11-12 18:30:33 +05:30
RandomityGuy
bffa58e838 make work on js 2022-11-12 14:04:42 +05:30
RandomityGuy
7408afa680 hazards and powerup rename 2022-11-12 12:56:07 +05:30
RandomityGuy
56fcf3706e timer colors and frictions 2022-11-12 12:31:51 +05:30
RandomityGuy
d48c3aabdf music and little ui 2022-11-12 00:56:00 +05:30
RandomityGuy
ce3e33d5b5 skybox and more ui 2022-11-12 00:37:36 +05:30
RandomityGuy
c878984ee3 add mbp assets 2022-11-11 23:10:53 +05:30
5152 changed files with 310727 additions and 46316 deletions

475
.circleci/config.yml Normal file
View file

@ -0,0 +1,475 @@
# Use the latest 2.1 version of CircleCI pipeline process engine.
# See: https://circleci.com/docs/2.0/configuration-reference
version: 2.1
orbs:
win: circleci/windows@4.1.1 # The Windows orb give you everything you need to start using the Windows executor.
macos: circleci/macos@2.5.1
# Define a job to be invoked later in a workflow.
# See: https://circleci.com/docs/2.0/configuration-reference/#jobs
jobs:
build:
macos:
xcode: 14.1.0 # Specify the Xcode version to use
resource_class: macos.m1.medium.gen1
environment:
HOMEBREW_NO_AUTO_UPDATE: 1
NPROC: 4
COMMIT_TAG: pipeline.git.tag
steps:
- add_ssh_keys:
fingerprints:
- "82:42:56:a0:57:43:95:4e:00:c0:8c:c1:7f:70:74:47"
- checkout:
path: ~/MBHaxe
- macos/install-rosetta
- run:
name: Install brew dependencies
command: |
brew install cmake
brew install pkg-config
brew install libpthread-stubs
brew install nasm
- run:
name: Install Haxe
command: |
set -eux
download_url="https://github.com/HaxeFoundation/haxe/releases/download/4.3.4/haxe-4.3.4-osx.tar.gz"
echo "Downloading [$download_url]..."
mkdir ~/haxe
curl -fsSL --retry 3 --retry-delay 5 "$download_url" -o ~/haxe.tar.gz
tar xzvf ~/haxe.tar.gz -C ~/haxe --strip-components=1
download_url="https://github.com/HaxeFoundation/neko/releases/download/v2-4-0-rc/neko-2.4.0-rc-osx-universal.tar.gz"
echo "Downloading [$download_url]..."
mkdir ~/neko
curl -fsSL --retry 3 --retry-delay 5 "$download_url" -o ~/neko.tar.gz
tar xzvf ~/neko.tar.gz -C ~/neko --strip-components=1
export PATH=~/haxe/:"$PATH"
export PATH=~/neko/:"$PATH"
export HAXE_STD_PATH=~/haxe/std
export DYLD_LIBRARY_PATH=~/neko
sudo chmod +x ~/neko/neko
haxelib setup ~/haxelib
haxelib list
haxelib install hashlink
- run:
name: Compile zlib
command: |
mkdir -p ~/deps
cd ~/deps
curl https://www.zlib.net/zlib-1.3.1.tar.xz | tar xz
cd zlib-1.3.1
if [ ! -f /usr/local/lib/libz.1.3.1.dylib ]; then
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.15" -DCMAKE_MACOSX_RPATH=TRUE
cmake --build build --config Release -j$NPROC
sudo cmake --install build
fi
- run:
name: Compile alsoft
command: |
mkdir -p ~/deps
cd ~/deps
curl https://openal-soft.org/openal-releases/openal-soft-1.22.2.tar.bz2 | tar xz
cd openal-soft-1.22.2
if [ ! -f /usr/local/lib/libopenal.1.22.2.dylib ]; then
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.15" -DALSOFT_BACKEND_SNDIO=NO -DALSOFT_BACKEND_PORTAUDIO=NO -DALSOFT_BACKEND_WAVE=NO -DALSOFT_UTILS=NO -DALSOFT_EXAMPLES=NO -DCMAKE_MACOSX_RPATH=TRUE
cmake --build build --config Release -j$NPROC
sudo cmake --install build
fi
- run:
name: Compile jpeg-turbo (x86)
command: |
mkdir -p ~/deps
cd ~/deps
curl -L https://downloads.sourceforge.net/project/libjpeg-turbo/2.1.4/libjpeg-turbo-2.1.4.tar.gz | tar xz
cd libjpeg-turbo-2.1.4
if [ ! -f /usr/local/lib/libturbojpeg.0.2.0.dylib ]; then
cmake -S. -Bbuild-x86 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.15" -DCMAKE_MACOSX_RPATH=TRUE -DCMAKE_INSTALL_PREFIX=/usr/local
cmake --build build-x86 --config release -j$NPROC
fi
- run:
name: Compile jpeg-turbo (ARM64)
command: |
cd ~/deps/libjpeg-turbo-2.1.4
if [ ! -f /usr/local/lib/libturbojpeg.0.2.0.dylib ]; then
cmake -S. -Bbuild-arm64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.15" -DCMAKE_MACOSX_RPATH=TRUE -DCMAKE_INSTALL_PREFIX=/usr/local
cmake --build build-arm64 --config release -j$NPROC
fi
- run:
name: Install jpeg-turbo (Universal)
command: |
if [ ! -f /usr/local/lib/libturbojpeg.0.2.0.dylib ]; then
cd ~/deps/libjpeg-turbo-2.1.4/build-arm64
for i in libjpeg.62.3.0.dylib cjpeg cjpeg-static djpeg djpeg-static jcstest jpegtran jpegtran-static libjpeg.a libturbojpeg.a libturbojpeg.0.2.0.dylib rdjpgcom strtest tjbench tjbench-static tjexample tjunittest tjunittest-static wrjpgcom
do
lipo -create -output $i ../build-x86/$i $i
done
sudo cmake --install .
fi
- run:
name: Compile libogg
command: |
mkdir -p ~/deps
cd ~/deps
curl -L https://downloads.xiph.org/releases/ogg/libogg-1.3.5.tar.xz | tar xz
cd libogg-1.3.5
if [ ! -f /usr/local/lib/libogg.0.8.5.dylib ]; then
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.15" -DBUILD_SHARED_LIBS=ON -DCMAKE_MACOSX_RPATH=TRUE
cmake --build build --config Release -j$NPROC
sudo cmake --install build
fi
- run:
name: Compile libvorbis
command: |
mkdir -p ~/deps
cd ~/deps
curl -L https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.xz | tar xz
cd libvorbis-1.3.7
if [ ! -f /usr/local/lib/libvorbis.0.4.9.dylib ]; then
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.15" -DBUILD_SHARED_LIBS=ON -DCMAKE_MACOSX_RPATH=TRUE
cmake --build build --config Release -j$NPROC
sudo cmake --install build
fi
- run:
name: Compile libpng (x86)
command: |
mkdir -p ~/deps
cd ~/deps
curl -L https://download.sourceforge.net/libpng/libpng-1.6.39.tar.xz | tar xz
cd libpng-1.6.39
if [ ! -f /usr/local/lib/libpng16.16.dylib ]; then
cmake -S. -Bbuild-x86 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.15" -DCMAKE_MACOSX_RPATH=TRUE
cmake --build build-x86 --config release -j$NPROC
fi
- run:
name: Compile libpng (arm64)
command: |
mkdir -p ~/deps
cd ~/deps
cd libpng-1.6.39
if [ ! -f /usr/local/lib/libpng16.16.dylib ]; then
cmake -S. -Bbuild-arm64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.15" -DCMAKE_MACOSX_RPATH=TRUE
cmake --build build-arm64 --config release -j$NPROC
fi
- run:
name: Install libpng (Universal)
command: |
if [ ! -f /usr/local/lib/libpng16.16.dylib ]; then
cd ~/deps/libpng-1.6.39/build-arm64
for i in libpng16.16.39.0.dylib libpng16.a png-fix-itxt pngfix pngimage pngstest pngtest pngunknown pngvalid
do
lipo -create -output $i ../build-x86/$i $i
done
sudo cmake --install .
fi
- run:
name: Compile SDL2
command: |
mkdir -p ~/deps
cd ~/deps
curl -L https://github.com/libsdl-org/SDL/releases/download/release-2.26.1/SDL2-2.26.1.tar.gz | tar xz
cd SDL2-2.26.1
if [ ! -f /usr/local/lib/libSDL2-2.0.0.dylib ]; then
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.15" -DBUILD_SHARED_LIBS=ON -DCMAKE_MACOSX_RPATH=TRUE
cmake --build build --config Release -j$NPROC
sudo cmake --install build
fi
- run:
name: Compile libuv
command: |
mkdir -p ~/deps
cd ~/deps
curl -fsSL https://github.com/libuv/libuv/archive/refs/tags/v1.44.2.tar.gz | tar xz
cd libuv-1.44.2
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.15" -DCMAKE_MACOSX_RPATH=TRUE
cmake --build build --config Release -j$NPROC
sudo cmake --install build
- run:
name: Install hashlink
command: |
mkdir -p ~/deps
cd ~/deps
git clone --depth=1 https://github.com/RandomityGuy/hashlink
cd hashlink
cd ~/deps
git clone https://github.com/RandomityGuy/hxDatachannel
cd hashlink
mv ~/deps/hxDatachannel/cpp libs/datachannel
echo -e "\nadd_subdirectory(datachannel)" >> libs/CMakeLists.txt
curl -L https://raw.githubusercontent.com/RandomityGuy/hashlink/master/libs/ssl/CMakeLists.txt > libs/ssl/CMakeLists.txt
# Fix OpenAL
# curl -L https://github.com/nullobsi/hashlink/commit/a09491918cc4b83c2cb9fcded855fe967857385f.diff | git apply
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.15" -DCMAKE_FIND_FRAMEWORK=LAST -DWITH_SQLITE=OFF -DBUILD_TESTING=OFF -DCMAKE_MACOSX_RPATH=TRUE -DHASHLINK_INCLUDE_DIR="~/deps/hashlink/src" -DHASHLINK_LIBRARY_DIR="/usr/local/lib/"
cmake --build build --config Release -j$NPROC
sudo cmake --install build
- run:
name: Install haxe dependencies
command: |
export PATH=~/haxe/:"$PATH"
export HAXE_STD_PATH=~/haxe/std
export PATH=~/neko/:"$PATH"
export DYLD_LIBRARY_PATH=~/neko
haxelib git heaps https://github.com/RandomityGuy/heaps
haxelib dev hlopenal ~/deps/hashlink/libs/openal
haxelib dev hlsdl ~/deps/hashlink/libs/sdl
haxelib dev datachannel ~/deps/hxDatachannel
haxelib install colyseus-websocket
- save_cache:
key: mbhaxe-deps-v1
paths:
- /usr/local/lib/ui.hdll
- /usr/local/lib/openal.hdll
- /usr/local/lib/fmt.hdll
- /usr/local/lib/sdl.hdll
- /usr/local/lib/libSDL2-2.0.0.dylib
- /usr/local/lib/libhl.1.13.0.dylib
- /usr/local/lib/libogg.0.8.5.dylib
- /usr/local/lib/libopenal.1.22.2.dylib
- /usr/local/lib/libpng16.16.dylib
- /usr/local/lib/libturbojpeg.0.2.0.dylib
- /usr/local/lib/libvorbis.0.4.9.dylib
- /usr/local/lib/libvorbisfile.3.3.8.dylib
- /usr/local/lib/libvorbisenc.2.0.12.dylib
- /usr/local/lib/libz.1.3.1.dylib
- /usr/local/lib/datachannel.hdll
- run:
name: Compile MBHaxe
command: |
export PATH=~/haxe/:"$PATH"
export HAXE_STD_PATH=~/haxe/std
export PATH=~/neko/:"$PATH"
export DYLD_LIBRARY_PATH=~/neko
cd ~/MBHaxe
haxe compile-macos.hxml
cd native
cp ~/deps/hashlink/src/hlc_main.c .
clang -mmacosx-version-min=10.15 -arch x86_64 -arch arm64 -o marblegame -I . -L /usr/local/lib/ -std=c11 marblegame.c /usr/local/lib/{ui.hdll,openal.hdll,fmt.hdll,sdl.hdll,uv.hdll,ssl.hdll,datachannel.hdll} -lsdl2 -lhl -luv
- run:
name: Package app bundle
command: |
cd ~/MBHaxe
./package-macos.sh v$COMMIT_TAG
cd "macos-dist/MarbleBlast Platinum.app/Contents/MacOS"
otool -L marblegame
cd ../Frameworks
cp /usr/local/lib/{ui.hdll,openal.hdll,fmt.hdll,sdl.hdll,libSDL2-2.0.0.dylib,ssl.hdll,uv.hdll,datachannel.hdll} .
cp /usr/local/lib/libhl.1.13.0.dylib libhl.1.dylib
cp /usr/local/lib/libogg.0.8.5.dylib libogg.0.dylib
cp /usr/local/lib/libopenal.1.22.2.dylib libopenal.1.dylib
cp /usr/local/lib/libpng16.16.dylib libpng16.16.dylib
cp /usr/local/lib/libturbojpeg.0.2.0.dylib libturbojpeg.0.dylib
cp /usr/local/lib/libvorbis.0.4.9.dylib libvorbis.0.4.9.dylib
cp /usr/local/lib/libvorbisfile.3.3.8.dylib libvorbisfile.3.3.8.dylib
cp /usr/local/lib/libvorbisenc.2.0.12.dylib libvorbisenc.2.0.12.dylib
cp /usr/local/lib/libz.1.3.1.dylib libz.1.dylib
cp /usr/local/lib/libuv.1.dylib libuv.1.dylib
# These libraries have dangling RPATHs
install_name_tool -delete_rpath /usr/local/lib libturbojpeg.0.dylib
for i in fmt.hdll libpng16.16.dylib
do
install_name_tool -change /usr/lib/libz.1.dylib @rpath/libz.1.dylib $i
done
- run:
name: Sign app bundle
command: |
cd ~/MBHaxe/macos-dist
xattr -rc "MarbleBlast Platinum.app"
cp "MarbleBlast Platinum.app/Contents/Entitlements.plist" .
codesign --deep --entitlements Entitlements.plist -fs - "MarbleBlast Platinum.app"
- run:
name: ZIP Bundle
command: |
cd ~/MBHaxe/macos-dist
npm install -g create-dmg
create-dmg --dmg-title="Marble Blast Platinum" "MarbleBlast Platinum.app" || true
rm -rf "macos-dist/MarbleBlast Platinum.app.in"
mv "marblegame vpipeline.git.tag.dmg" "MBHaxe-Platinum-Mac.dmg"
# zip -r MBHaxe-Ultra-Mac.zip macos-dist/
- run:
name: Upload to Artifact Storage
command: |
scp -o StrictHostKeyChecking=no -i $KEYPATH -P $PORT ~/MBHaxe/macos-dist/MBHaxe-Platinum-Mac.dmg $REMOTEDIR/MBHaxe-Platinum-Mac.dmg
# - store_artifacts:
# path: ~/MBHaxe/MBHaxe-Platinum-Mac.zip
build-win:
executor:
name: win/server-2022
shell: bash.exe # executor type
# Checkout the code as the first step. This is a dedicated CircleCI step.
# The python orb's install-packages step will install the dependencies from a Pipfile via Pipenv by default.
# Here we're making sure we use just use the system-wide pip. By default it uses the project root's requirements.txt.
# Then run your tests!
# CircleCI will report the results back to your VCS provider.
steps:
- add_ssh_keys:
fingerprints:
- "82:42:56:a0:57:43:95:4e:00:c0:8c:c1:7f:70:74:47"
- checkout
- run:
name: Install dependencies
command: |
curl -fsSL --retry 3 --retry-delay 5 -o /tmp/sdl.zip https://www.libsdl.org/release/SDL2-devel-2.0.5-VC.zip
curl -fsSL --retry 3 --retry-delay 5 -o /tmp/openal.zip https://openal-soft.org/openal-binaries/openal-soft-1.17.2-bin.zip
curl -fsSL --retry 3 --retry-delay 5 -o /tmp/ffmpeg.zip https://github.com/HaxeFoundation/hashlink/files/5648056/ffmpeg-3.4.2-win64-dev.zip
cd /tmp
7z x /tmp/sdl.zip -oinclude; mv /tmp/include/SDL2* /tmp/include/sdl
7z x /tmp/openal.zip -oinclude; mv /tmp/include/openal* /tmp/include/openal
7z x /tmp/ffmpeg.zip -oinclude; mv /tmp/include/ffmpeg* /tmp/include/ffmpeg
- run:
name: Install Neko
command: |
choco install --no-progress neko -y
nekopath=$(/bin/find /c/ProgramData/chocolatey/lib/neko -name neko.dll -printf '%h\n')
set NEKOPATH=$nekopath
export PATH=$nekopath:"$PATH"
- run:
name: Install CMake
command: |
choco install --no-progress cmake -y
- run:
name: Install Haxe
command: |
download_url="https://github.com/HaxeFoundation/haxe/releases/download/4.3.4/haxe-4.3.4-win64.zip"
echo "Downloading [$download_url]..."
mkdir /tmp/haxe
curl -fsSL --retry 3 --retry-delay 5 "$download_url" -o /tmp/haxe.zip
7z x /tmp/haxe.zip -o/tmp
mv -v /tmp/haxe_* /tmp/haxe
cd /tmp/haxe
mv haxe_* haxe
export PATH=/tmp/haxe/haxe:"$PATH"
export HAXE_STD_PATH=/tmp/haxe/haxe/std
nekopath=$(/bin/find /c/ProgramData/chocolatey/lib/neko -name neko.dll -printf '%h\n')
set NEKOPATH=$nekopath
export PATH=$nekopath:"$PATH"
haxelib setup ~/haxelib
haxelib list
- run:
name: Build Hashlink
command: |
mkdir ~/deps
cd ~/deps
git clone https://github.com/RandomityGuy/hashlink
cd hashlink
mv /tmp/include/sdl include/sdl
mv /tmp/include/openal include/openal
MSBuild.exe hl.sln -m -nologo -p:Configuration=Release -p:Platform=x64
- run:
name: Build datachannel
command: |
mkdir ~/deps
cd ~/deps
git clone https://github.com/RandomityGuy/hxDatachannel
cd hxDatachannel/cpp
"/c/Program Files/CMake/bin/cmake" -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DHASHLINK_LIBRARY_DIR="~/deps/hashlink/x64/Release" -DHASHLINK_INCLUDE_DIR="../../hashlink/src"
"/c/Program Files/CMake/bin/cmake" --build build --config Release -j4
mv ~/deps/hxDatachannel/cpp/build/Release/datachannel.hdll ~/deps/hashlink/x64/Release
mv ~/deps/hxDatachannel/cpp/build/Release/datachannel.lib ~/deps/hashlink/x64/Release
- run:
name: Install haxe dependencies
command: |
export PATH=/tmp/haxe/haxe:"$PATH"
export HAXE_STD_PATH=/tmp/haxe/haxe/std
nekopath=$(/bin/find /c/ProgramData/chocolatey/lib/neko -name neko.dll -printf '%h\n')
set NEKOPATH=$nekopath
export PATH=$nekopath:"$PATH"
haxelib git heaps https://github.com/RandomityGuy/heaps
haxelib dev hlopenal ~/deps/hashlink/libs/openal
haxelib dev hlsdl ~/deps/hashlink/libs/sdl
haxelib dev hashlink ~/deps/hashlink/other/haxelib
haxelib dev datachannel ~/deps/hxDatachannel
haxelib install colyseus-websocket
- run:
name: Compile MBHaxe
command: |
export PATH=/tmp/haxe/haxe:"$PATH"
export HAXE_STD_PATH=/tmp/haxe/haxe/std
nekopath=$(/bin/find /c/ProgramData/chocolatey/lib/neko -name neko.dll -printf '%h\n')
set NEKOPATH=$nekopath
export PATH=$nekopath:"$PATH"
cd ~/project
haxe compile-c.hxml
cd native
HASHLINKPATH=~/deps/hashlink
MSBuild.exe -m -nologo -p:Configuration=Release -p:Platform=x64 -p:PlatformToolset=v142 -p:HASHLINK=$HASHLINKPATH marblegame.sln
- run:
name: Package app bundle
command: |
cd ~/project
mkdir release
cd release
cp ../native/x64/Release/marblegame.exe .
mv marblegame.exe marbleblast.exe
cp -r ../data .
cp ~/deps/hashlink/x64/Release/libhl.dll .
cp ~/deps/hashlink/x64/Release/fmt.hdll .
cp ~/deps/hashlink/x64/Release/ui.hdll .
cp ~/deps/hashlink/x64/Release/openal.hdll .
cp ~/deps/hashlink/x64/Release/sdl.hdll .
cp ~/deps/hashlink/x64/Release/ssl.hdll .
cp ~/deps/hashlink/x64/Release/datachannel.hdll .
cp ~/deps/hashlink/x64/Release/uv.hdll .
cp ~/deps/hashlink/include/sdl/lib/x64/SDL2.dll .
cp ~/deps/hashlink/include/openal/bin/Win64/soft_oal.dll ./OpenAL32.dll
- run:
name: Zip bundle
command: |
cd ~/project
7z a MBHaxe-Platinum-Win.zip release/
- run:
name: Upload to Artifact Storage
command: |
scp -o StrictHostKeyChecking=no -i $KEYPATH -P $PORT ~/project/MBHaxe-Platinum-Win.zip $REMOTEDIR/MBHaxe-Platinum-Win.zip
# - store_artifacts:
# path: ~/project/MBHaxe-Platinum-Win.zip
# Invoke jobs via workflows
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows
workflows:
build-mac:
jobs:
- build:
filters:
tags:
only: /^\d+.\d+.\d+$/
branches:
ignore: /.*/
build-windows:
jobs:
- build-win:
filters:
tags:
only: /^\d+.\d+.\d+$/
branches:
ignore: /.*/

1
.github/FUNDING.yml vendored Normal file
View file

@ -0,0 +1 @@
ko_fi: randomityguy

21
.gitignore vendored
View file

@ -5,6 +5,25 @@
native
*.exe
*.obj
marblegame.hl
marblegame
settings.json
console.log
data/replays/
release
Export
Export
node_modules
fonts
package.json
package-lock.json
leaderboards
out
server
mpcustom
macos-dist/MarbleBlast Platinum.app/
macos-dist/data/
.DS_Store
**/.DS_Store

150
CHANGELOG.md Normal file
View file

@ -0,0 +1,150 @@
# 1.7.1
This update brings the following bugfixes:
- Fixed a crash when the marble goes out of bounds.
- Fixed the FPS limiter not limiting rendered frames per second.
- Fixed scores not being sent in certain cases.
# 1.7.0
It's the fabled Leaderboards update!
Leaderboards have been implemented for all the levels with automatic replay uploading for official levels as well as watching top replays. Additionally, segregation has been made to allow switching between rewind and non-rewind scores on the leaderboards.
Changes:
- Added an FPS limiter in the settings.
- Added custom friction support as well as custom marble attributes. Now levels can modify the marble's physics parameters to their liking.
- Improved level select persistence. Now your last chosen level will be displayed on quitting or finishing a level instead of last level in a category.
- Improved the Gem Hunt algorithm to match closer to PlatinumQuest's.
- Trigger detection now matches with the original game.
- Camera is now smoothened.
- Fixed camera not pointing at gems after respawn in Multiplayer.
- Fixed Superspeed powerup sometimes throwing you in the wrong direction in Multiplayer.
- Fixed the marble being wonky at times in replays.
- Fixed an interaction with Random powerup giving Time Travels.
- Fixed some collision issues with moving platforms.
# 1.6.1
This update fixes the following bugs:
- Fixed a crash when there are more players than spawnpoints in multiplayer.
- Fixed minor UI bugs with kicking and player list.
- Prevent timing out of players who are still loading the level.
- Fixed sort order of two multiplayer levels.
- Attempted to improve performance when someone joins mid-game.
- Touch Controls: Pressing pause now releases the joystick.
# 1.6.0
A big update! Bringing in the cross platform multiplayer the way it was meant to be played!
Please note that it is always and always recommended to download the native client for unlocked FPS and higher performance.
- Added cross platform multiplayer, the Online button is now unlocked.
- Gem Hunt Free-for-all only, no other game modes are present.
- Server authoritative marble physics and rollback netcode for all gameplay elements - including moving platforms.
- Up to 8 players due to platform technical limitations.
- Seamless multiplayer custom levels integration through Marbleland.
- Spectator mode is implemented but lasts until the end of match.
- Four PlatinumQuest levels that were present in MBP multiplayer have been added along with their shaders.
- Added the Ability to toggle between old spawns and new spawns for certain multiplayer maps.
- Added Competitor Mode:
- A new gem spawn will happen automatically after a certain duration depending on number of gems picked up.
- Reduced Mega Marble duration.
- Only Ultra Blasts can affect marbles.
- Fixed starting point.
- Touch controls improvements:
- Configure visibility of On-Screen Controls
- Configure behavior of buttons acting as camera joystick by altering Button Camera Factor
- Configure your camera sensitivity and swipe extent.
- Improved touch camera sensitivity a bit.
- Added Dynamic Joystick for Touch Controls.
- Added support for iOS for the web version.
- Improved Controller support for Android.
- Optimized the game to run at much higher framerates.
- Improved marble shadow.
- Fixed certain customs missing interiors/textures.
- Fixed marble collision at varying radii.
- Fixed Super Speed throwing you in the wrong direction.
# 1.5.4
This update fixes the following bugs:
- Updated Marbleland support. New levels will now automatically show up.
- Implement "Latest" and "Alphabetical" sorting for Marbleland customs.
- Optimized rewind to use memory better.
- Fixed a handful of memory leaks.
- Match with MBG Collision code.
# 1.5.3
This update fixes the following bugs:
- Slightly improved marble cubemaps.
- Fixed camera movement for varying FPS and sensitivities.
- Fixed rolling sound bug.
# 1.5.2
- Updated Marbleland integration link to the new site.
# 1.5.1
This update fixes the following bugs:
- Fixed a bug concerning moving platform collisions.
- Made moving platforms rewind correctly in case of traplaunches.
# 1.5.0
This update brings the following big changes:
- Added Rewind capabilities. Open options to configure it.
- Added capability to play locally installed custom levels. Install your customs in platinum/data/missions.
- Improved traplaunches, now they should be much more easier to do.
- Buffed nuke a bit, hold jump key to make it blast much stronger.
- Minor physics improvements.
- Minor performance improvements.
# 1.4.0
This update adds all the playable MBG, MBP, MBU custom levels via Marbleland integration. Play the entire custom level archive without manually installing with, with a single click.
- Added controller support. (Thanks thearst3rd)
- Improved replay saving flow.
- Improved marble physics a bit.
- Cleaned up some UI.
- Fixed collision detection bugs.
- Fixed various graphical bugs.
- Fixed item hitboxes being too small.
# 1.3.3
This update addresses the following issues:
- FOV is now based on horizontal FOV instead of vertical, matching with- original MB.
- Fixed the marble getting stuck in the corners.
- Fixed black screen on opening the game for the first time on MacOS
# 1.3.2
This is the first build of MBHaxe Platinum that has Mac support.
- MBU interior shaders now match more closely to those of MBU in Xbox.
- Added Console for debug purposes. Press Tilde ~ to bring it up.
- Added replay browser for native.
- Reduced lag caused by end pad.
- Fixed inactive button hover sounds.
- Fixed OOB animation timings.
- Added HighDPI/Retina support.
- Fixed the color bugs regarding text input.
- Minor graphical changes to match original.
- Minor performance and physics improvements.
- Fixed tornado rendering.
# 1.3.1
This release fixes a lot of bugs that were reported and adds in minor improvements:
- Fixed Pad animations not working
- Fixed bugs relating to powerup pickup on respawn.
- Fixed marble not using the hitbox of the rotated hitbox for item pickups.
- Marble finish animation now matches more closely with the original.
- Fixed camera keys not working.
- Added keyboard shortcuts to certain buttons on certain dialog boxes.
- Timer now becomes green on finishing, to match original.
- Fixed double click sound on selecting level category.
- Hypercube now uses MBG gameplay logic.
- Added Time Travel Bonus messages to HUD.
- Fixed lag caused by GJK/Startpad/Endpad.
- Fixed being able to press the end game buttons while typing the name. The- input box will be focused.
- Fixed option sliders not updating values
# 1.3.0
- Added Marble Blast Ultra levels as per Platinum.
- Added Ultra Marbles as per Platinum and their shaders.
- Added shaders for Ultra levels closely matching original MBU. (This may- lag mobile devices)
- Fixed lot of marble physics bugs, they should now be smoother.
- Minor performance improvements.
- Added restart button to touch controls.
# 1.2.0
- Implemented most Marble Blast Platinum 1.7.42 (except Ultra)
- Marble reflections
- Optimized resource loading and performance

78
README-macOS.md Normal file
View file

@ -0,0 +1,78 @@
# Building on macOS
Required:
- CMake to build dependencies
- Hashlink (to build Universal: https://github.com/nullobsi/hashlink)
- SDL2
- libjpeg
- libjpegturbo
- libogg
- libvorbis
- libpng
- openal-soft
- zlib
## Building dependencies for Universal
I've found that using CMake makes building universal binaries on macOS a
lot easier.
Here's the process for dependencies that use CMake:
```sh
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.15" -DBUILD_SHARED_LIBS=ON -DCMAKE_FIND_FRAMEWORK=LAST
cmake --build build --config Release -j8
sudo cmake --install build
```
This will build + install a CMake project as a Universal binary. It's
important that every dependency in the chain be universal for this to
work, otherwise you will get linking errors.
Some notes:
- When compiling Hashlink, you may need to disable `uv` and `ssl` as
these are not needed by MBHaxe
Please see the other readme for Haxe libraries as you will need to use a
custom version of Heaps and HLSDL.
## Compiling MBHaxe
Use `haxe compile-c.hxml` to generate the `native` directory. If you're
going to build a .app bundle, use compile-macos.hxml instead.
cd into the native directory, then use the following command to build:
```sh
# Sometimes needed because of HLSDL.
sed -i -e 's/?sdl/sdl/g' sdl/Window.c hl/natives.h hl/functions.c sdl/Sdl.c
clang -mmacosx-version-min=10.15 -arch x86_64 -arch arm64 -o marblegame -I . -L /usr/local/lib/ -std=c11 marblegame.c /usr/local/lib/{ui.hdll, openal.hdll, fmt.hdll, sdl.hdll} -lsdl2 -lhl
```
This assumes you built all the libraries and installed them to
/usr/local/lib.
## Packaging for macOS .app format
After compiling native/marblegame.c successfully, use the script
`./package-macos.sh` to create the skeleton app bundle under macos-dist.
Finally, you need to use `otool` and `install_name_tool` to redirect the
library paths to @rpath/lib.dylib.
marblegame should already have the rpath set. You just need to make sure
it's correct and copy the libs:
- fmt.hdll
- libSDL2-2.0.0.dylib
- libhl.dylib
- libogg.dylib
- libopenal.dylib
- libpng16.dylib
- libturbojpeg.dylib
- libvorbis.dylib
- libvorbisfile.dylib
- libz.dylib
- openal.dylib
- sdl.hdll
- ui.hdll
Ensure that they all depend on eachother with @rpath, as that will be
set to the correct directory when running marblegame. `otool -L` is
useful to check.
Sign the .app with `codesign` and it should be ready to go.

View file

@ -1,16 +1,72 @@
# MBHaxe
A Haxe port of Marble Blast Gold, name subject to change.
The marble physics code was taken from [OpenMBU](https://github.com/MBU-Team/OpenMBU) along with my own collision detection code, game logic was partially from scratch and taken with permission from [Marble Blast Web Port](https://github.com/Vanilagy/MarbleBlast).
The browser version of this port is hosted [here](https://mbhaxe.netlify.app/)
A Haxe port of Marble Blast Gold, Ultra and Platinum, name subject to change.
The marble physics code was taken from [OpenMBU](https://github.com/MBU-Team/OpenMBU) along with my own collision detection code, game logic was partially from scratch and taken with permission from [Marble Blast Web Port](https://github.com/Vanilagy/MarbleBlast).
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/H2H5FRTTL)
Support Discord: https://discord.gg/GsmTVQQAhG
# Play
## Web Browser
The browser port supports touch controls, meaning it can be played on mobile devices.
### Marble Blast Gold: [Play](https://marbleblastgold.randomityguy.me/)
### Marble Blast Platinum: [Play](https://marbleblast.randomityguy.me/)
### Marble Blast Ultra: [Play](https://marbleblastultra.randomityguy.me/)
## Windows and Mac
### Marble Blast Gold: [Download](https://github.com/RandomityGuy/MBHaxe/releases/tag/1.1.12)
### Marble Blast Platinum: [Download](https://github.com/RandomityGuy/MBHaxe/releases/tag/1.7.1)
### Marble Blast Ultra: [Download](https://github.com/RandomityGuy/MBHaxe/releases/tag/1.2.5-mbu)
## Mac Instructions - Important
Put the .app file in either /Applications or ~/Applications in order to run it properly.
You will also have to bypass Gatekeeper since the .app is not signed.
## Android
### Marble Blast Gold: [Download](https://github.com/RandomityGuy/MBHaxe/releases/download/1.1.12/MBHaxe-Gold.apk)
### Marble Blast Platinum: [Download](https://github.com/RandomityGuy/MBHaxe/releases/download/1.7.1/MBHaxe-Platinum.apk)
### Marble Blast Ultra: [Download](https://github.com/RandomityGuy/MBHaxe/releases/download/1.2.5-mbu/MBHaxe-Ultra.apk)
## Xbox (NEW!)
### Marble Blast Ultra: [Download](https://github.com/RandomityGuy/MBHaxe/releases/download/1.2.5-mbu/MBHaxe-Ultra-UWP-Xbox.msix)
Ported to Xbox via UWP by [Daniel Worley](https://github.com/worleydl).
You will need to enable Developer Mode on your Xbox in order to sideload the app. The walkthrough can be found at https://www.youtube.com/watch?v=2Ly9TIdu9uw.
## Additional Features
- Cross Platform Multiplayer: Available in Ultra and Platinum. You can host and join multiplayer matches in any of these platforms: Windows, Mac, Web, Android.
- Replay System: You can record your run using the built in replay system and watch it later.
- Rewind: You can rewind your marble by enabling rewind in the Options and holding down the rewind key (defaults to R).
- Controller Support: Full controller support is added to Marble Blast Ultra, with incomplete support for the rest.
- Touch Controls: Available in the web (mobile) and android versions.
# Screenshots
<img src="https://imgur.com/Ncb4atl.png" width="640">
<img src="https://imgur.com/KQKUk0Y.png" width="640">
<img src="https://imgur.com/VnnrIt2.png" width="640">
<img src="https://imgur.com/lfLBKqO.png" width="640">
<img src="https://imgur.com/DN1A2Mf.png" width="640">
<img src="https://imgur.com/2UngOAy.png" width="640">
<img src="https://imgur.com/Jvfip72.png" width="640">
<img src="https://imgur.com/CS693zi.png" width="640">
<img src="https://imgur.com/iryo0AL.png" width="640">
<img src="https://imgur.com/vsuNqUi.png" width="640">
<img src="https://imgur.com/SFPdC7g.png" width="640">
<img src="https://imgur.com/CTFkYAj.png" width="640">
<img src="https://imgur.com/57dAAP8.png" width="640">
<img src="https://imgur.com/T5ayduK.png" width="640">
<img src="https://imgur.com/I3Gaze9.png" width="640">
<img src="https://imgur.com/qn9aThu.png" width="640">
<img src="https://imgur.com/eEfU2we.png" width="640">
<img src="https://imgur.com/7OSISYJ.png" width="640">
# Why Haxe?
I chose Haxe because its a good language that can target other languages, meaning any Haxe code can be converted and used in Python, C++, Java very easily so that nobody has to take effort in porting the code to different languages, atleast thats what my mindset was when I started it, but unfortunately because of the 3d engine I used, it only compiles to C and Javascript. You will have to isolate the engine specific features yourself if you want to use this for other programming languages.
# Build
Requires Haxe 4.2.2 or above
The `master` branch is currently for Marble Blast Platinum.
If you want to build Marble Blast Ultra, go to the [mbu-port](https://github.com/RandomityGuy/MBHaxe/tree/mbu-port) branch.
If you want to build Marble Blast Gold, go to the [mbg](https://github.com/RandomityGuy/MBHaxe/tree/mbg) branch.
Requires Haxe 4.3.0 or above
You require the following Haxe libraries:
- heaps: The specific version located [here](https://github.com/RandomityGuy/heaps)
- hlsdl (Obtain the haxelib version of hlsdl, then patch it with these files [here](https://github.com/RandomityGuy/hashlink/tree/master/libs/sdl)) (Hashlink/C native target)
- datachannel: obtained from [here](https://github.com/RandomityGuy/hxDatachannel)
- stb_ogg_sound (JS/Browser target)
- zip 1.1.0 (JS/Browser target)
@ -22,15 +78,23 @@ To compile to C, do `haxe compile-c.hxml` and use the instructions in https://gi
## Javascript/Browser
If the build dependencies are fullfilled, compile with `haxe compile-js.hxml` and run the game by running a web server in the same directory as the repo where index.html is located.
## MacOS
See [here](README-macOS.md)
## Android
The branches used for Android builds are `mbg-android`, `mbp-android-new` or `mbu-android`.
Clone [this repository](https://github.com/RandomityGuy/MBHaxeAndroidLibs) containing the necessary libraries for the build and merge its src folder with that of Export/android/app/src folder.
Android NDK version 18.1.5063045 and platform SDK version 31 is needed.
Install zyheaps haxelib as well.
Finally run `gradlew` in Export/android folder and run `gradlew assembleRelease`
This will build the apk file at Export/android/app/build/outputs/apk/release/app-release-unsigned.apk which you can sign yourself and install on your device.
# FAQ
## Help I am able to reproduce a crash!
If you are on browser, please send the browser console log to me
If you are on native, please run marbleblast-debug.bat and reproduce the crash, send the resulting stacktrace that occurs during the crash to me.
## Help it shows a black screen when playing a level!
Your PC does not support the game, please upgrade it, there is nothing I can do about it to fix it.
## How accurate are the marble physics?
Very accurate with up to 1% deviation from the original physics. The deviations are due to traplaunches being slightly different and occassional internal edge collisions, and the lower delta t values for physics simulations.
@ -39,11 +103,15 @@ In browser, you can just resize your window. You can use the browser zoom featur
In native version, you can just resize the window if windowed or use the resolution options in the menu or just directly modify settings.json
## How do I change my FOV?
Edit settings.json for native version, edit the MBHaxeSettings key in LocalStorage in browser
Edit settings.json for native version, edit the MBHaxeSettings key in LocalStorage in browser.
In the Platinum and Ultra versions, there is an FOV slider.
## How do I unlock/lock FPS?
You cannot unlock fps in the browser, it is forever set to vsync.
In the native version, edit settings.json
In the native version, use the options menu to unlock/lock fps, or edit settings.json and set "vsync" to false to unlock fps.
## Hey can you please add this new feature?
If this new feature of yours already exists in MBG but not in this port, then I will try to add it, if I get time to do so, otherwise chances are, I won't add it since I have other things to do and would rather not waste my time on this any further. You are free to do pull requests if you have already implemented said feature.
If this new feature of yours already exists in MBG but not in this port, then I will try to add it, if I get time to do so, otherwise chances are, I won't add it since I have other things to do and would rather not waste my time on this any further. You are free to do pull requests if you have already implemented said feature.
# Notes
This project is tested with BrowserStack.

View file

@ -1,5 +1,10 @@
-cp src
-lib heaps
-lib hlsdl
-lib datachannel
-lib colyseus-websocket
-D highDPI
-D flow_border
-D hlgen.makefile=vs2019
-hl native/marblegame.c
--main Main

14
compile-js-rel.hxml Normal file
View file

@ -0,0 +1,14 @@
-cp src
-lib heaps
-lib stb_ogg_sound
-lib zip
-lib datachannel
-lib colyseus-websocket
-lib uglifyjs
--js marblegame.js
-D windowSize=1280x720
-D js-es=6
-D flow_border
-D highDPI
--dce full
--main Main

View file

@ -2,9 +2,13 @@
-lib heaps
-lib stb_ogg_sound
-lib zip
-lib datachannel
-lib colyseus-websocket
--js marblegame.js
-D windowSize=1280x720
-D js-es=6
-D keep-inline-positions
-D highDPI
-D flow_border
--main Main
-debug

7
compile-linux.hxml Normal file
View file

@ -0,0 +1,7 @@
-cp src
-lib heaps
-lib hlsdl
-D highDPI
-D flow_border
-hl native/marblegame.c
--main Main

6
compile-linux.sh Executable file
View file

@ -0,0 +1,6 @@
#!/bin/bash
haxe compile-linux.hxml
cd native
gcc -o marblegame -g -I . -L /usr/local/lib marblegame.c /usr/local/lib/{ui.hdll,openal.hdll,fmt.hdll,sdl.hdll,uv.hdll,ssl.hdll} -lSDL2 -lhl -lm
cp marblegame ..

10
compile-macos.hxml Normal file
View file

@ -0,0 +1,10 @@
-cp src
-lib heaps
-lib hlsdl
-lib datachannel
-lib colyseus-websocket
-D highDPI
-D flow_border
-hl native/marblegame.c
-D MACOS_BUNDLE
--main Main

View file

@ -1 +1 @@
cl native\marblegame.c /Fe:marblegame.exe /Od -I "D:\C Projects\Haxe\hl-1.11.0-win\include" -I native "D:\repos\Hashlink\hashlink\x64\Release\libhl.lib" "D:\repos\Hashlink\hashlink\x64\Release\fmt.lib" "D:\repos\Hashlink\hashlink\x64\Release\ui.lib" "D:\repos\Hashlink\hashlink\x64\Release\openal.lib" "D:\repos\Hashlink\hashlink\x64\Release\sdl.lib"
cl native\marblegame.c /Fe:marblegame.exe /O2 -I "D:\C Projects\Haxe\hl-1.11.0-win\include" -I native "D:\repos\Hashlink\hashlink\x64\Release\libhl.lib" "D:\repos\Hashlink\hashlink\x64\Release\fmt.lib" "D:\repos\Hashlink\hashlink\x64\Release\ui.lib" "D:\repos\Hashlink\hashlink\x64\Release\openal.lib" "D:\repos\Hashlink\hashlink\x64\Release\sdl.lib" "D:\repos\Hashlink\hashlink\x64\Release\uv.lib" "D:\repos\Hashlink\hashlink\x64\Release\ssl.lib" "D:\repos\Hashlink\hashlink\x64\Release\datachannel-static.lib" "D:\repos\Hashlink\hashlink\x64\Release\MbedTLS.lib" "D:\repos\Hashlink\hashlink\x64\Release\datachannel.lib"

View file

@ -1,9 +1,12 @@
-cp src
-lib heaps
-lib hlsdl
-lib zyheaps
-lib datachannel
-lib colyseus-websocket
-hl marblegame.hl
-D windowSize=1280x720
-D keep-inline-positions
-D highDPI
-D flow_border
--main Main
-debug

204
data/font/EXPON.fnt Normal file
View file

@ -0,0 +1,204 @@
<?xml version="1.0"?>
<font>
<info face="EXPON" size="42" bold="0" italic="0" charset="" unicode="1" stretchH="100" smooth="1" aa="1" padding="2,2,2,2" spacing="0,0" outline="0"/>
<common lineHeight="47" base="36" scaleW="512" scaleH="256" pages="1" packed="0" alphaChnl="0" redChnl="0" greenChnl="0" blueChnl="0"/>
<pages>
<page id="0" file="ExpoSDF.png"/>
</pages>
<distanceField fieldType="msdf" distanceRange="4"/>
<chars count="95">
<char id="87" index="61" char="W" width="52" height="37" xoffset="0" yoffset="3" xadvance="50" chnl="15" x="0" y="0" page="0"/>
<char id="77" index="51" char="M" width="49" height="36" xoffset="-1" yoffset="4" xadvance="47" chnl="15" x="0" y="38" page="0"/>
<char id="106" index="80" char="j" width="17" height="48" xoffset="-1" yoffset="3" xadvance="15" chnl="15" x="0" y="75" page="0"/>
<char id="124" index="98" char="|" width="7" height="46" xoffset="-1" yoffset="4" xadvance="6" chnl="15" x="0" y="124" page="0"/>
<char id="91" index="65" char="[" width="13" height="44" xoffset="-1" yoffset="0" xadvance="11" chnl="15" x="0" y="171" page="0"/>
<char id="93" index="67" char="]" width="13" height="44" xoffset="-2" yoffset="0" xadvance="10" chnl="15" x="8" y="124" page="0"/>
<char id="109" index="83" char="m" width="44" height="27" xoffset="-1" yoffset="14" xadvance="41" chnl="15" x="0" y="216" page="0"/>
<char id="78" index="52" char="N" width="41" height="36" xoffset="-1" yoffset="4" xadvance="39" chnl="15" x="14" y="169" page="0"/>
<char id="88" index="62" char="X" width="41" height="37" xoffset="-1" yoffset="4" xadvance="39" chnl="15" x="18" y="75" page="0"/>
<char id="119" index="93" char="w" width="41" height="26" xoffset="-1" yoffset="14" xadvance="39" chnl="15" x="50" y="38" page="0"/>
<char id="36" index="10" char="$" width="32" height="40" xoffset="-1" yoffset="2" xadvance="30" chnl="15" x="45" y="206" page="0"/>
<char id="74" index="48" char="J" width="23" height="40" xoffset="-2" yoffset="3" xadvance="20" chnl="15" x="22" y="113" page="0"/>
<char id="123" index="97" char="{" width="15" height="40" xoffset="-1" yoffset="3" xadvance="12" chnl="15" x="46" y="113" page="0"/>
<char id="125" index="99" char="}" width="15" height="40" xoffset="-2" yoffset="3" xadvance="12" chnl="15" x="60" y="65" page="0"/>
<char id="38" index="12" char="&amp;" width="39" height="37" xoffset="-1" yoffset="5" xadvance="37" chnl="15" x="53" y="0" page="0"/>
<char id="65" index="39" char="A" width="39" height="37" xoffset="-1" yoffset="2" xadvance="37" chnl="15" x="56" y="154" page="0"/>
<char id="72" index="46" char="H" width="39" height="36" xoffset="-1" yoffset="4" xadvance="37" chnl="15" x="62" y="106" page="0"/>
<char id="103" index="77" char="g" width="28" height="39" xoffset="-1" yoffset="14" xadvance="26" chnl="15" x="76" y="65" page="0"/>
<char id="35" index="9" char="#" width="38" height="36" xoffset="-1" yoffset="4" xadvance="36" chnl="15" x="78" y="192" page="0"/>
<char id="40" index="14" char="(" width="15" height="38" xoffset="-1" yoffset="3" xadvance="14" chnl="15" x="96" y="143" page="0"/>
<char id="41" index="15" char=")" width="15" height="38" xoffset="-1" yoffset="3" xadvance="14" chnl="15" x="93" y="0" page="0"/>
<char id="63" index="37" char="?" width="24" height="38" xoffset="-1" yoffset="3" xadvance="22" chnl="15" x="105" y="39" page="0"/>
<char id="64" index="38" char="@" width="37" height="38" xoffset="-1" yoffset="4" xadvance="35" chnl="15" x="109" y="0" page="0"/>
<char id="67" index="41" char="C" width="35" height="38" xoffset="-1" yoffset="2" xadvance="33" chnl="15" x="105" y="78" page="0"/>
<char id="71" index="45" char="G" width="35" height="38" xoffset="-1" yoffset="3" xadvance="33" chnl="15" x="130" y="39" page="0"/>
<char id="79" index="53" char="O" width="35" height="38" xoffset="-1" yoffset="3" xadvance="33" chnl="15" x="147" y="0" page="0"/>
<char id="80" index="54" char="P" width="35" height="38" xoffset="-1" yoffset="3" xadvance="33" chnl="15" x="112" y="117" page="0"/>
<char id="81" index="55" char="Q" width="38" height="38" xoffset="-1" yoffset="3" xadvance="36" chnl="15" x="141" y="78" page="0"/>
<char id="82" index="56" char="R" width="37" height="38" xoffset="-1" yoffset="3" xadvance="35" chnl="15" x="166" y="39" page="0"/>
<char id="85" index="59" char="U" width="38" height="37" xoffset="-1" yoffset="4" xadvance="36" chnl="15" x="183" y="0" page="0"/>
<char id="89" index="63" char="Y" width="38" height="36" xoffset="-1" yoffset="4" xadvance="36" chnl="15" x="117" y="156" page="0"/>
<char id="98" index="72" char="b" width="30" height="38" xoffset="-1" yoffset="2" xadvance="28" chnl="15" x="148" y="117" page="0"/>
<char id="100" index="74" char="d" width="32" height="38" xoffset="-1" yoffset="2" xadvance="30" chnl="15" x="117" y="193" page="0"/>
<char id="104" index="78" char="h" width="32" height="38" xoffset="-1" yoffset="3" xadvance="30" chnl="15" x="150" y="193" page="0"/>
<char id="112" index="86" char="p" width="31" height="38" xoffset="-1" yoffset="14" xadvance="29" chnl="15" x="179" y="117" page="0"/>
<char id="113" index="87" char="q" width="29" height="38" xoffset="-1" yoffset="14" xadvance="25" chnl="15" x="180" y="78" page="0"/>
<char id="33" index="7" char="!" width="15" height="37" xoffset="-1" yoffset="3" xadvance="14" chnl="15" x="204" y="38" page="0"/>
<char id="48" index="22" char="0" width="29" height="37" xoffset="-1" yoffset="3" xadvance="27" chnl="15" x="210" y="76" page="0"/>
<char id="49" index="23" char="1" width="20" height="37" xoffset="-1" yoffset="4" xadvance="19" chnl="15" x="220" y="38" page="0"/>
<char id="54" index="28" char="6" width="27" height="37" xoffset="-1" yoffset="4" xadvance="25" chnl="15" x="222" y="0" page="0"/>
<char id="55" index="29" char="7" width="26" height="37" xoffset="-1" yoffset="4" xadvance="24" chnl="15" x="183" y="156" page="0"/>
<char id="56" index="30" char="8" width="30" height="37" xoffset="-1" yoffset="4" xadvance="29" chnl="15" x="183" y="194" page="0"/>
<char id="57" index="31" char="9" width="27" height="37" xoffset="-1" yoffset="3" xadvance="25" chnl="15" x="210" y="156" page="0"/>
<char id="66" index="40" char="B" width="35" height="37" xoffset="-1" yoffset="2" xadvance="33" chnl="15" x="211" y="114" page="0"/>
<char id="68" index="42" char="D" width="36" height="37" xoffset="-1" yoffset="2" xadvance="34" chnl="15" x="240" y="76" page="0"/>
<char id="69" index="43" char="E" width="33" height="37" xoffset="-1" yoffset="3" xadvance="31" chnl="15" x="241" y="38" page="0"/>
<char id="73" index="47" char="I" width="20" height="37" xoffset="-1" yoffset="4" xadvance="18" chnl="15" x="250" y="0" page="0"/>
<char id="75" index="49" char="K" width="36" height="37" xoffset="-1" yoffset="3" xadvance="34" chnl="15" x="271" y="0" page="0"/>
<char id="76" index="50" char="L" width="31" height="37" xoffset="-1" yoffset="3" xadvance="29" chnl="15" x="275" y="38" page="0"/>
<char id="83" index="57" char="S" width="34" height="37" xoffset="-1" yoffset="3" xadvance="33" chnl="15" x="214" y="194" page="0"/>
<char id="84" index="58" char="T" width="34" height="37" xoffset="-1" yoffset="4" xadvance="32" chnl="15" x="238" y="152" page="0"/>
<char id="86" index="60" char="V" width="37" height="36" xoffset="-1" yoffset="4" xadvance="36" chnl="15" x="247" y="114" page="0"/>
<char id="90" index="64" char="Z" width="34" height="37" xoffset="-1" yoffset="4" xadvance="32" chnl="15" x="277" y="76" page="0"/>
<char id="105" index="79" char="i" width="17" height="37" xoffset="-1" yoffset="3" xadvance="16" chnl="15" x="307" y="38" page="0"/>
<char id="107" index="81" char="k" width="30" height="37" xoffset="-1" yoffset="4" xadvance="29" chnl="15" x="308" y="0" page="0"/>
<char id="108" index="82" char="l" width="16" height="37" xoffset="-1" yoffset="3" xadvance="15" chnl="15" x="249" y="190" page="0"/>
<char id="37" index="11" char="%" width="34" height="36" xoffset="-1" yoffset="4" xadvance="32" chnl="15" x="266" y="190" page="0"/>
<char id="47" index="21" char="/" width="28" height="36" xoffset="-1" yoffset="4" xadvance="27" chnl="15" x="273" y="151" page="0"/>
<char id="50" index="24" char="2" width="26" height="36" xoffset="-1" yoffset="4" xadvance="24" chnl="15" x="156" y="156" page="0"/>
<char id="51" index="25" char="3" width="28" height="36" xoffset="-1" yoffset="4" xadvance="26" chnl="15" x="285" y="114" page="0"/>
<char id="52" index="26" char="4" width="30" height="36" xoffset="-1" yoffset="4" xadvance="28" chnl="15" x="312" y="76" page="0"/>
<char id="53" index="27" char="5" width="25" height="36" xoffset="-1" yoffset="4" xadvance="24" chnl="15" x="325" y="38" page="0"/>
<char id="70" index="44" char="F" width="31" height="36" xoffset="-1" yoffset="4" xadvance="30" chnl="15" x="339" y="0" page="0"/>
<char id="92" index="66" char="\" width="28" height="36" xoffset="-1" yoffset="4" xadvance="26" chnl="15" x="301" y="188" page="0"/>
<char id="102" index="76" char="f" width="22" height="36" xoffset="-1" yoffset="4" xadvance="19" chnl="15" x="302" y="151" page="0"/>
<char id="121" index="95" char="y" width="28" height="36" xoffset="-1" yoffset="14" xadvance="27" chnl="15" x="314" y="113" page="0"/>
<char id="95" index="69" char="_" width="34" height="5" xoffset="-1" yoffset="35" xadvance="32" chnl="15" x="0" y="247" page="0"/>
<char id="116" index="90" char="t" width="19" height="33" xoffset="-1" yoffset="8" xadvance="17" chnl="15" x="325" y="150" page="0"/>
<char id="117" index="91" char="u" width="32" height="26" xoffset="-1" yoffset="14" xadvance="30" chnl="15" x="78" y="229" page="0"/>
<char id="120" index="94" char="x" width="32" height="26" xoffset="-1" yoffset="14" xadvance="30" chnl="15" x="249" y="228" page="0"/>
<char id="59" index="33" char=";" width="13" height="31" xoffset="-1" yoffset="15" xadvance="10" chnl="15" x="301" y="225" page="0"/>
<char id="97" index="71" char="a" width="31" height="27" xoffset="-1" yoffset="14" xadvance="29" chnl="15" x="315" y="225" page="0"/>
<char id="110" index="84" char="n" width="31" height="26" xoffset="-1" yoffset="14" xadvance="29" chnl="15" x="330" y="184" page="0"/>
<char id="118" index="92" char="v" width="29" height="26" xoffset="-1" yoffset="14" xadvance="27" chnl="15" x="347" y="211" page="0"/>
<char id="101" index="75" char="e" width="26" height="28" xoffset="-1" yoffset="14" xadvance="24" chnl="15" x="343" y="75" page="0"/>
<char id="99" index="73" char="c" width="26" height="27" xoffset="-1" yoffset="14" xadvance="24" chnl="15" x="351" y="37" page="0"/>
<char id="111" index="85" char="o" width="26" height="27" xoffset="-1" yoffset="14" xadvance="24" chnl="15" x="371" y="0" page="0"/>
<char id="43" index="17" char="+" width="22" height="26" xoffset="-1" yoffset="14" xadvance="20" chnl="15" x="343" y="104" page="0"/>
<char id="58" index="32" char=":" width="12" height="26" xoffset="-1" yoffset="14" xadvance="10" chnl="15" x="282" y="227" page="0"/>
<char id="114" index="88" char="r" width="24" height="26" xoffset="-1" yoffset="14" xadvance="23" chnl="15" x="345" y="131" page="0"/>
<char id="115" index="89" char="s" width="23" height="26" xoffset="-1" yoffset="14" xadvance="22" chnl="15" x="366" y="104" page="0"/>
<char id="122" index="96" char="z" width="25" height="26" xoffset="-1" yoffset="14" xadvance="23" chnl="15" x="370" y="65" page="0"/>
<char id="60" index="34" char="&lt;" width="23" height="25" xoffset="-1" yoffset="15" xadvance="21" chnl="15" x="345" y="158" page="0"/>
<char id="62" index="36" char=">" width="23" height="25" xoffset="-1" yoffset="15" xadvance="21" chnl="15" x="362" y="184" page="0"/>
<char id="126" index="100" char="~" width="25" height="14" xoffset="-1" yoffset="3" xadvance="23" chnl="15" x="22" y="154" page="0"/>
<char id="94" index="68" char="^" width="23" height="12" xoffset="-1" yoffset="3" xadvance="21" chnl="15" x="347" y="238" page="0"/>
<char id="42" index="16" char="*" width="21" height="22" xoffset="-1" yoffset="4" xadvance="19" chnl="15" x="111" y="232" page="0"/>
<char id="61" index="35" char="=" width="21" height="13" xoffset="-1" yoffset="20" xadvance="19" chnl="15" x="56" y="192" page="0"/>
<char id="34" index="8" char="&quot;" width="19" height="16" xoffset="-1" yoffset="2" xadvance="18" chnl="15" x="371" y="238" page="0"/>
<char id="45" index="19" char="-" width="19" height="10" xoffset="-1" yoffset="21" xadvance="18" chnl="15" x="62" y="143" page="0"/>
<char id="44" index="18" char="," width="13" height="16" xoffset="-2" yoffset="29" xadvance="10" chnl="15" x="133" y="232" page="0"/>
<char id="39" index="13" char="'" width="12" height="15" xoffset="-1" yoffset="3" xadvance="10" chnl="15" x="92" y="39" page="0"/>
<char id="96" index="70" char="`" width="14" height="15" xoffset="-1" yoffset="3" xadvance="12" chnl="15" x="147" y="232" page="0"/>
<char id="46" index="20" char="." width="12" height="11" xoffset="-1" yoffset="29" xadvance="10" chnl="15" x="370" y="92" page="0"/>
<char id="32" index="6" char=" " width="0" height="0" xoffset="-2" yoffset="36" xadvance="15" chnl="15" x="76" y="105" page="0"/>
</chars>
<kernings count="96">
<kerning first="39" second="115" amount="-4"/>
<kerning first="39" second="116" amount="-2"/>
<kerning first="65" second="34" amount="-4"/>
<kerning first="65" second="39" amount="-4"/>
<kerning first="65" second="84" amount="-3"/>
<kerning first="65" second="86" amount="-4"/>
<kerning first="65" second="87" amount="-5"/>
<kerning first="65" second="89" amount="-4"/>
<kerning first="65" second="118" amount="-4"/>
<kerning first="65" second="119" amount="-3"/>
<kerning first="65" second="121" amount="-2"/>
<kerning first="70" second="44" amount="-5"/>
<kerning first="70" second="46" amount="-5"/>
<kerning first="70" second="65" amount="-3"/>
<kerning first="76" second="39" amount="-2"/>
<kerning first="76" second="84" amount="-2"/>
<kerning first="76" second="86" amount="-3"/>
<kerning first="76" second="87" amount="-3"/>
<kerning first="76" second="89" amount="-3"/>
<kerning first="80" second="44" amount="-6"/>
<kerning first="80" second="46" amount="-6"/>
<kerning first="80" second="65" amount="-4"/>
<kerning first="84" second="44" amount="-5"/>
<kerning first="84" second="45" amount="-5"/>
<kerning first="84" second="46" amount="-6"/>
<kerning first="84" second="65" amount="-4"/>
<kerning first="84" second="79" amount="-1"/>
<kerning first="84" second="97" amount="-3"/>
<kerning first="84" second="99" amount="-3"/>
<kerning first="84" second="101" amount="-2"/>
<kerning first="84" second="105" amount="-1"/>
<kerning first="84" second="111" amount="-2"/>
<kerning first="84" second="114" amount="-1"/>
<kerning first="84" second="115" amount="-2"/>
<kerning first="84" second="117" amount="-1"/>
<kerning first="84" second="119" amount="-1"/>
<kerning first="86" second="44" amount="-4"/>
<kerning first="86" second="45" amount="-6"/>
<kerning first="86" second="46" amount="-5"/>
<kerning first="86" second="58" amount="-2"/>
<kerning first="86" second="59" amount="-3"/>
<kerning first="86" second="65" amount="-4"/>
<kerning first="86" second="67" amount="-2"/>
<kerning first="86" second="79" amount="-1"/>
<kerning first="86" second="97" amount="-6"/>
<kerning first="86" second="99" amount="-6"/>
<kerning first="86" second="101" amount="-5"/>
<kerning first="86" second="105" amount="-3"/>
<kerning first="86" second="111" amount="-5"/>
<kerning first="86" second="114" amount="-4"/>
<kerning first="86" second="117" amount="-3"/>
<kerning first="86" second="121" amount="-4"/>
<kerning first="87" second="44" amount="-6"/>
<kerning first="87" second="45" amount="-5"/>
<kerning first="87" second="46" amount="-7"/>
<kerning first="87" second="58" amount="-3"/>
<kerning first="87" second="59" amount="-3"/>
<kerning first="87" second="65" amount="-5"/>
<kerning first="87" second="67" amount="-2"/>
<kerning first="87" second="79" amount="-1"/>
<kerning first="87" second="97" amount="-5"/>
<kerning first="87" second="99" amount="-5"/>
<kerning first="87" second="101" amount="-5"/>
<kerning first="87" second="105" amount="-3"/>
<kerning first="87" second="111" amount="-5"/>
<kerning first="87" second="114" amount="-3"/>
<kerning first="87" second="117" amount="-3"/>
<kerning first="87" second="121" amount="-3"/>
<kerning first="89" second="44" amount="-6"/>
<kerning first="89" second="45" amount="-6"/>
<kerning first="89" second="46" amount="-6"/>
<kerning first="89" second="58" amount="-2"/>
<kerning first="89" second="59" amount="-3"/>
<kerning first="89" second="65" amount="-4"/>
<kerning first="89" second="97" amount="-6"/>
<kerning first="89" second="101" amount="-6"/>
<kerning first="89" second="105" amount="-3"/>
<kerning first="89" second="111" amount="-5"/>
<kerning first="89" second="112" amount="-4"/>
<kerning first="89" second="113" amount="-6"/>
<kerning first="89" second="114" amount="-3"/>
<kerning first="89" second="117" amount="-4"/>
<kerning first="89" second="118" amount="-4"/>
<kerning first="96" second="65" amount="-3"/>
<kerning first="102" second="39" amount="2"/>
<kerning first="114" second="44" amount="-2"/>
<kerning first="114" second="46" amount="-3"/>
<kerning first="114" second="103" amount="-1"/>
<kerning first="114" second="104" amount="-3"/>
<kerning first="114" second="120" amount="-1"/>
<kerning first="118" second="44" amount="-3"/>
<kerning first="118" second="46" amount="-4"/>
<kerning first="119" second="44" amount="-4"/>
<kerning first="119" second="46" amount="-4"/>
<kerning first="121" second="44" amount="-5"/>
<kerning first="121" second="46" amount="-5"/>
</kernings>
</font>

View file

@ -0,0 +1,108 @@
<?xml version="1.0"?>
<font>
<info face="Lucida Console" size="42" bold="0" italic="0" charset="" unicode="1" stretchH="100" smooth="1" aa="1" padding="2,2,2,2" spacing="0,0" outline="0"/>
<common lineHeight="45" base="35" scaleW="512" scaleH="256" pages="1" packed="0" alphaChnl="0" redChnl="0" greenChnl="0" blueChnl="0"/>
<pages>
<page id="0" file="LucidaConsole.png"/>
</pages>
<distanceField fieldType="msdf" distanceRange="4"/>
<chars count="96">
<char id="106" index="77" char="j" width="19" height="45" xoffset="1" yoffset="3" xadvance="25" chnl="15" x="0" y="0" page="0"/>
<char id="40" index="11" char="(" width="19" height="42" xoffset="5" yoffset="3" xadvance="25" chnl="15" x="0" y="46" page="0"/>
<char id="41" index="12" char=")" width="19" height="42" xoffset="1" yoffset="3" xadvance="25" chnl="15" x="0" y="89" page="0"/>
<char id="91" index="62" char="[" width="17" height="42" xoffset="7" yoffset="3" xadvance="25" chnl="15" x="0" y="132" page="0"/>
<char id="93" index="64" char="]" width="17" height="42" xoffset="2" yoffset="3" xadvance="25" chnl="15" x="0" y="175" page="0"/>
<char id="92" index="63" char="\" width="26" height="42" xoffset="0" yoffset="3" xadvance="25" chnl="15" x="18" y="132" page="0"/>
<char id="123" index="94" char="{" width="20" height="42" xoffset="3" yoffset="3" xadvance="25" chnl="15" x="18" y="175" page="0"/>
<char id="125" index="96" char="}" width="20" height="42" xoffset="2" yoffset="3" xadvance="25" chnl="15" x="39" y="175" page="0"/>
<char id="124" index="95" char="|" width="7" height="42" xoffset="9" yoffset="3" xadvance="25" chnl="15" x="20" y="0" page="0"/>
<char id="47" index="18" char="/" width="26" height="42" xoffset="0" yoffset="3" xadvance="25" chnl="15" x="20" y="43" page="0"/>
<char id="36" index="7" char="$" width="21" height="39" xoffset="2" yoffset="2" xadvance="25" chnl="15" x="28" y="0" page="0"/>
<char id="81" index="52" char="Q" width="28" height="38" xoffset="-1" yoffset="8" xadvance="25" chnl="15" x="0" y="218" page="0"/>
<char id="194" index="198" char="Â" width="29" height="37" xoffset="-2" yoffset="2" xadvance="25" chnl="15" x="29" y="218" page="0"/>
<char id="100" index="71" char="d" width="23" height="37" xoffset="1" yoffset="3" xadvance="25" chnl="15" x="59" y="218" page="0"/>
<char id="102" index="73" char="f" width="26" height="37" xoffset="1" yoffset="2" xadvance="25" chnl="15" x="20" y="86" page="0"/>
<char id="98" index="69" char="b" width="23" height="37" xoffset="2" yoffset="3" xadvance="25" chnl="15" x="45" y="124" page="0"/>
<char id="51" index="22" char="3" width="21" height="36" xoffset="3" yoffset="4" xadvance="25" chnl="15" x="60" y="162" page="0"/>
<char id="54" index="25" char="6" width="24" height="36" xoffset="1" yoffset="4" xadvance="25" chnl="15" x="47" y="40" page="0"/>
<char id="56" index="27" char="8" width="23" height="36" xoffset="1" yoffset="4" xadvance="25" chnl="15" x="50" y="0" page="0"/>
<char id="57" index="28" char="9" width="24" height="36" xoffset="1" yoffset="4" xadvance="25" chnl="15" x="47" y="77" page="0"/>
<char id="48" index="19" char="0" width="25" height="36" xoffset="0" yoffset="4" xadvance="25" chnl="15" x="69" y="114" page="0"/>
<char id="64" index="35" char="@" width="28" height="36" xoffset="0" yoffset="4" xadvance="25" chnl="15" x="82" y="151" page="0"/>
<char id="37" index="8" char="%" width="29" height="36" xoffset="-2" yoffset="4" xadvance="25" chnl="15" x="83" y="188" page="0"/>
<char id="38" index="9" char="&amp;" width="29" height="36" xoffset="-2" yoffset="4" xadvance="25" chnl="15" x="72" y="37" page="0"/>
<char id="105" index="76" char="i" width="17" height="36" xoffset="2" yoffset="3" xadvance="25" chnl="15" x="74" y="0" page="0"/>
<char id="104" index="75" char="h" width="22" height="36" xoffset="2" yoffset="3" xadvance="25" chnl="15" x="92" y="0" page="0"/>
<char id="107" index="78" char="k" width="24" height="36" xoffset="2" yoffset="3" xadvance="25" chnl="15" x="72" y="74" page="0"/>
<char id="108" index="79" char="l" width="17" height="36" xoffset="2" yoffset="3" xadvance="25" chnl="15" x="95" y="111" page="0"/>
<char id="49" index="20" char="1" width="24" height="35" xoffset="2" yoffset="4" xadvance="25" chnl="15" x="97" y="74" page="0"/>
<char id="50" index="21" char="2" width="21" height="35" xoffset="1" yoffset="4" xadvance="25" chnl="15" x="102" y="37" page="0"/>
<char id="53" index="24" char="5" width="20" height="35" xoffset="4" yoffset="5" xadvance="25" chnl="15" x="115" y="0" page="0"/>
<char id="63" index="34" char="?" width="23" height="35" xoffset="1" yoffset="4" xadvance="25" chnl="15" x="111" y="148" page="0"/>
<char id="113" index="84" char="q" width="23" height="35" xoffset="0" yoffset="12" xadvance="25" chnl="15" x="113" y="110" page="0"/>
<char id="112" index="83" char="p" width="23" height="35" xoffset="2" yoffset="12" xadvance="25" chnl="15" x="122" y="73" page="0"/>
<char id="103" index="74" char="g" width="24" height="35" xoffset="1" yoffset="12" xadvance="25" chnl="15" x="124" y="36" page="0"/>
<char id="52" index="23" char="4" width="24" height="34" xoffset="0" yoffset="5" xadvance="25" chnl="15" x="136" y="0" page="0"/>
<char id="55" index="26" char="7" width="22" height="34" xoffset="2" yoffset="5" xadvance="25" chnl="15" x="113" y="184" page="0"/>
<char id="33" index="4" char="!" width="9" height="34" xoffset="8" yoffset="5" xadvance="25" chnl="15" x="113" y="219" page="0"/>
<char id="35" index="6" char="#" width="27" height="34" xoffset="-1" yoffset="5" xadvance="25" chnl="15" x="135" y="146" page="0"/>
<char id="121" index="92" char="y" width="26" height="34" xoffset="0" yoffset="13" xadvance="25" chnl="15" x="137" y="109" page="0"/>
<char id="59" index="30" char=";" width="10" height="33" xoffset="8" yoffset="13" xadvance="25" chnl="15" x="146" y="72" page="0"/>
<char id="79" index="50" char="O" width="27" height="32" xoffset="-1" yoffset="8" xadvance="25" chnl="15" x="149" y="35" page="0"/>
<char id="83" index="54" char="S" width="24" height="32" xoffset="1" yoffset="8" xadvance="25" chnl="15" x="161" y="0" page="0"/>
<char id="71" index="42" char="G" width="26" height="32" xoffset="0" yoffset="8" xadvance="25" chnl="15" x="123" y="219" page="0"/>
<char id="67" index="38" char="C" width="26" height="32" xoffset="0" yoffset="8" xadvance="25" chnl="15" x="136" y="181" page="0"/>
<char id="85" index="56" char="U" width="23" height="31" xoffset="1" yoffset="9" xadvance="25" chnl="15" x="83" y="225" page="0"/>
<char id="74" index="45" char="J" width="19" height="31" xoffset="2" yoffset="9" xadvance="25" chnl="15" x="157" y="68" page="0"/>
<char id="116" index="87" char="t" width="24" height="31" xoffset="1" yoffset="8" xadvance="25" chnl="15" x="150" y="214" page="0"/>
<char id="87" index="58" char="W" width="29" height="30" xoffset="-2" yoffset="9" xadvance="25" chnl="15" x="163" y="144" page="0"/>
<char id="69" index="40" char="E" width="23" height="30" xoffset="2" yoffset="9" xadvance="25" chnl="15" x="163" y="175" page="0"/>
<char id="82" index="53" char="R" width="25" height="30" xoffset="2" yoffset="9" xadvance="25" chnl="15" x="164" y="100" page="0"/>
<char id="84" index="55" char="T" width="28" height="30" xoffset="-1" yoffset="9" xadvance="25" chnl="15" x="175" y="206" page="0"/>
<char id="89" index="60" char="Y" width="29" height="30" xoffset="-1" yoffset="9" xadvance="25" chnl="15" x="187" y="175" page="0"/>
<char id="73" index="44" char="I" width="22" height="30" xoffset="2" yoffset="9" xadvance="25" chnl="15" x="204" y="206" page="0"/>
<char id="80" index="51" char="P" width="23" height="30" xoffset="3" yoffset="9" xadvance="25" chnl="15" x="177" y="33" page="0"/>
<char id="65" index="36" char="A" width="29" height="30" xoffset="-2" yoffset="9" xadvance="25" chnl="15" x="186" y="0" page="0"/>
<char id="68" index="39" char="D" width="25" height="30" xoffset="1" yoffset="9" xadvance="25" chnl="15" x="177" y="64" page="0"/>
<char id="70" index="41" char="F" width="23" height="30" xoffset="3" yoffset="9" xadvance="25" chnl="15" x="201" y="31" page="0"/>
<char id="72" index="43" char="H" width="23" height="30" xoffset="1" yoffset="9" xadvance="25" chnl="15" x="216" y="0" page="0"/>
<char id="75" index="46" char="K" width="25" height="30" xoffset="1" yoffset="9" xadvance="25" chnl="15" x="190" y="95" page="0"/>
<char id="76" index="47" char="L" width="22" height="30" xoffset="3" yoffset="9" xadvance="25" chnl="15" x="203" y="62" page="0"/>
<char id="90" index="61" char="Z" width="25" height="30" xoffset="0" yoffset="9" xadvance="25" chnl="15" x="225" y="31" page="0"/>
<char id="88" index="59" char="X" width="29" height="30" xoffset="-2" yoffset="9" xadvance="25" chnl="15" x="240" y="0" page="0"/>
<char id="86" index="57" char="V" width="29" height="30" xoffset="-2" yoffset="9" xadvance="25" chnl="15" x="193" y="126" page="0"/>
<char id="66" index="37" char="B" width="23" height="30" xoffset="2" yoffset="9" xadvance="25" chnl="15" x="216" y="93" page="0"/>
<char id="78" index="49" char="N" width="23" height="30" xoffset="1" yoffset="9" xadvance="25" chnl="15" x="226" y="62" page="0"/>
<char id="77" index="48" char="M" width="25" height="30" xoffset="0" yoffset="9" xadvance="25" chnl="15" x="217" y="157" page="0"/>
<char id="95" index="66" char="_" width="29" height="7" xoffset="-2" yoffset="35" xadvance="25" chnl="15" x="150" y="246" page="0"/>
<char id="119" index="90" char="w" width="29" height="26" xoffset="-2" yoffset="13" xadvance="25" chnl="15" x="223" y="124" page="0"/>
<char id="94" index="65" char="^" width="26" height="28" xoffset="0" yoffset="5" xadvance="25" chnl="15" x="240" y="93" page="0"/>
<char id="101" index="72" char="e" width="24" height="27" xoffset="1" yoffset="12" xadvance="25" chnl="15" x="250" y="62" page="0"/>
<char id="114" index="85" char="r" width="20" height="27" xoffset="4" yoffset="12" xadvance="25" chnl="15" x="251" y="31" page="0"/>
<char id="117" index="88" char="u" width="22" height="27" xoffset="2" yoffset="13" xadvance="25" chnl="15" x="270" y="0" page="0"/>
<char id="111" index="82" char="o" width="25" height="27" xoffset="0" yoffset="12" xadvance="25" chnl="15" x="272" y="28" page="0"/>
<char id="97" index="68" char="a" width="25" height="27" xoffset="1" yoffset="12" xadvance="25" chnl="15" x="293" y="0" page="0"/>
<char id="115" index="86" char="s" width="22" height="27" xoffset="2" yoffset="12" xadvance="25" chnl="15" x="227" y="188" page="0"/>
<char id="99" index="70" char="c" width="23" height="27" xoffset="1" yoffset="12" xadvance="25" chnl="15" x="243" y="151" page="0"/>
<char id="118" index="89" char="v" width="27" height="26" xoffset="-1" yoffset="13" xadvance="25" chnl="15" x="253" y="122" page="0"/>
<char id="110" index="81" char="n" width="22" height="27" xoffset="2" yoffset="12" xadvance="25" chnl="15" x="267" y="90" page="0"/>
<char id="109" index="80" char="m" width="26" height="27" xoffset="0" yoffset="12" xadvance="25" chnl="15" x="275" y="56" page="0"/>
<char id="61" index="32" char="=" width="26" height="15" xoffset="0" yoffset="19" xadvance="25" chnl="15" x="180" y="237" page="0"/>
<char id="43" index="14" char="+" width="26" height="26" xoffset="0" yoffset="13" xadvance="25" chnl="15" x="298" y="28" page="0"/>
<char id="126" index="97" char="~" width="26" height="11" xoffset="0" yoffset="20" xadvance="25" chnl="15" x="164" y="131" page="0"/>
<char id="58" index="29" char=":" width="10" height="26" xoffset="8" yoffset="13" xadvance="25" chnl="15" x="319" y="0" page="0"/>
<char id="60" index="31" char="&lt;" width="26" height="26" xoffset="0" yoffset="13" xadvance="25" chnl="15" x="227" y="216" page="0"/>
<char id="62" index="33" char=">" width="26" height="26" xoffset="0" yoffset="13" xadvance="25" chnl="15" x="250" y="179" page="0"/>
<char id="122" index="93" char="z" width="24" height="26" xoffset="1" yoffset="13" xadvance="25" chnl="15" x="267" y="149" page="0"/>
<char id="120" index="91" char="x" width="26" height="26" xoffset="0" yoffset="13" xadvance="25" chnl="15" x="281" y="118" page="0"/>
<char id="42" index="13" char="*" width="23" height="22" xoffset="1" yoffset="5" xadvance="25" chnl="15" x="290" y="84" page="0"/>
<char id="45" index="16" char="-" width="21" height="7" xoffset="2" yoffset="21" xadvance="25" chnl="15" x="20" y="124" page="0"/>
<char id="34" index="5" char="&quot;" width="19" height="15" xoffset="3" yoffset="3" xadvance="25" chnl="15" x="207" y="237" page="0"/>
<char id="39" index="10" char="'" width="10" height="17" xoffset="8" yoffset="3" xadvance="25" chnl="15" x="193" y="157" page="0"/>
<char id="44" index="15" char="," width="10" height="17" xoffset="8" yoffset="29" xadvance="25" chnl="15" x="204" y="157" page="0"/>
<char id="96" index="67" char="`" width="14" height="9" xoffset="6" yoffset="2" xadvance="25" chnl="15" x="45" y="162" page="0"/>
<char id="46" index="17" char="." width="10" height="10" xoffset="8" yoffset="29" xadvance="25" chnl="15" x="69" y="151" page="0"/>
<char id="32" index="3" char=" " width="0" height="0" xoffset="-2" yoffset="35" xadvance="25" chnl="15" x="82" y="188" page="0"/>
</chars>
<kernings count="0"/>
</font>

BIN
data/font/LucidaConsole.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

108
data/font/MarkerFelt.fnt Normal file
View file

@ -0,0 +1,108 @@
<?xml version="1.0"?>
<font>
<info face="MarkerFelt" size="42" bold="0" italic="0" charset="" unicode="1" stretchH="100" smooth="1" aa="1" padding="2,2,2,2" spacing="0,0" outline="0"/>
<common lineHeight="54" base="47" scaleW="512" scaleH="256" pages="1" packed="0" alphaChnl="0" redChnl="0" greenChnl="0" blueChnl="0"/>
<pages>
<page id="0" file="MarkerFelt.png"/>
</pages>
<distanceField fieldType="msdf" distanceRange="4"/>
<chars count="96">
<char id="194" index="130" char="Â" width="28" height="50" xoffset="-1" yoffset="2" xadvance="26" chnl="15" x="0" y="0" page="0"/>
<char id="124" index="95" char="|" width="8" height="46" xoffset="2" yoffset="14" xadvance="11" chnl="15" x="0" y="51" page="0"/>
<char id="87" index="58" char="W" width="43" height="42" xoffset="-2" yoffset="12" xadvance="40" chnl="15" x="0" y="98" page="0"/>
<char id="36" index="7" char="$" width="23" height="43" xoffset="-2" yoffset="11" xadvance="20" chnl="15" x="9" y="51" page="0"/>
<char id="106" index="77" char="j" width="14" height="43" xoffset="-5" yoffset="15" xadvance="9" chnl="15" x="29" y="0" page="0"/>
<char id="81" index="52" char="Q" width="28" height="41" xoffset="-1" yoffset="13" xadvance="24" chnl="15" x="33" y="44" page="0"/>
<char id="72" index="43" char="H" width="23" height="41" xoffset="-1" yoffset="12" xadvance="21" chnl="15" x="44" y="0" page="0"/>
<char id="92" index="63" char="\" width="18" height="41" xoffset="-2" yoffset="12" xadvance="13" chnl="15" x="0" y="141" page="0"/>
<char id="102" index="73" char="f" width="20" height="41" xoffset="-2" yoffset="12" xadvance="15" chnl="15" x="0" y="183" page="0"/>
<char id="104" index="75" char="h" width="21" height="41" xoffset="0" yoffset="12" xadvance="20" chnl="15" x="19" y="141" page="0"/>
<char id="69" index="40" char="E" width="20" height="40" xoffset="0" yoffset="12" xadvance="18" chnl="15" x="21" y="183" page="0"/>
<char id="84" index="55" char="T" width="24" height="40" xoffset="-2" yoffset="12" xadvance="20" chnl="15" x="41" y="141" page="0"/>
<char id="89" index="60" char="Y" width="29" height="40" xoffset="-1" yoffset="13" xadvance="24" chnl="15" x="44" y="86" page="0"/>
<char id="85" index="56" char="U" width="25" height="40" xoffset="-1" yoffset="13" xadvance="23" chnl="15" x="62" y="42" page="0"/>
<char id="80" index="51" char="P" width="22" height="40" xoffset="0" yoffset="12" xadvance="18" chnl="15" x="68" y="0" page="0"/>
<char id="83" index="54" char="S" width="23" height="40" xoffset="-2" yoffset="12" xadvance="20" chnl="15" x="42" y="182" page="0"/>
<char id="68" index="39" char="D" width="22" height="40" xoffset="0" yoffset="13" xadvance="20" chnl="15" x="66" y="127" page="0"/>
<char id="74" index="45" char="J" width="22" height="40" xoffset="-2" yoffset="13" xadvance="18" chnl="15" x="74" y="83" page="0"/>
<char id="75" index="46" char="K" width="27" height="40" xoffset="-1" yoffset="12" xadvance="23" chnl="15" x="88" y="41" page="0"/>
<char id="76" index="47" char="L" width="21" height="40" xoffset="-1" yoffset="13" xadvance="18" chnl="15" x="91" y="0" page="0"/>
<char id="90" index="61" char="Z" width="29" height="40" xoffset="-2" yoffset="12" xadvance="25" chnl="15" x="113" y="0" page="0"/>
<char id="88" index="59" char="X" width="29" height="40" xoffset="-2" yoffset="12" xadvance="25" chnl="15" x="66" y="168" page="0"/>
<char id="86" index="57" char="V" width="27" height="40" xoffset="-2" yoffset="13" xadvance="23" chnl="15" x="89" y="124" page="0"/>
<char id="78" index="49" char="N" width="27" height="40" xoffset="0" yoffset="12" xadvance="25" chnl="15" x="97" y="82" page="0"/>
<char id="77" index="48" char="M" width="40" height="40" xoffset="0" yoffset="13" xadvance="39" chnl="15" x="116" y="41" page="0"/>
<char id="50" index="21" char="2" width="26" height="40" xoffset="-1" yoffset="12" xadvance="24" chnl="15" x="143" y="0" page="0"/>
<char id="52" index="23" char="4" width="28" height="40" xoffset="-2" yoffset="12" xadvance="24" chnl="15" x="66" y="209" page="0"/>
<char id="53" index="24" char="5" width="26" height="40" xoffset="-1" yoffset="13" xadvance="24" chnl="15" x="95" y="209" page="0"/>
<char id="55" index="26" char="7" width="25" height="40" xoffset="0" yoffset="12" xadvance="24" chnl="15" x="96" y="165" page="0"/>
<char id="48" index="19" char="0" width="23" height="40" xoffset="1" yoffset="13" xadvance="24" chnl="15" x="117" y="123" page="0"/>
<char id="91" index="62" char="[" width="14" height="40" xoffset="-1" yoffset="12" xadvance="11" chnl="15" x="125" y="82" page="0"/>
<char id="93" index="64" char="]" width="14" height="40" xoffset="-1" yoffset="12" xadvance="11" chnl="15" x="140" y="82" page="0"/>
<char id="123" index="94" char="{" width="15" height="40" xoffset="-1" yoffset="12" xadvance="12" chnl="15" x="122" y="164" page="0"/>
<char id="125" index="96" char="}" width="15" height="40" xoffset="-1" yoffset="12" xadvance="12" chnl="15" x="122" y="205" page="0"/>
<char id="108" index="79" char="l" width="11" height="40" xoffset="-1" yoffset="13" xadvance="9" chnl="15" x="138" y="164" page="0"/>
<char id="82" index="53" char="R" width="28" height="39" xoffset="-1" yoffset="13" xadvance="24" chnl="15" x="141" y="123" page="0"/>
<char id="73" index="44" char="I" width="12" height="39" xoffset="-1" yoffset="13" xadvance="10" chnl="15" x="155" y="82" page="0"/>
<char id="79" index="50" char="O" width="24" height="39" xoffset="-1" yoffset="13" xadvance="23" chnl="15" x="157" y="41" page="0"/>
<char id="65" index="36" char="A" width="28" height="39" xoffset="-1" yoffset="13" xadvance="26" chnl="15" x="170" y="0" page="0"/>
<char id="70" index="41" char="F" width="19" height="39" xoffset="0" yoffset="13" xadvance="18" chnl="15" x="168" y="81" page="0"/>
<char id="71" index="42" char="G" width="24" height="39" xoffset="-1" yoffset="13" xadvance="20" chnl="15" x="182" y="40" page="0"/>
<char id="67" index="38" char="C" width="22" height="39" xoffset="-1" yoffset="13" xadvance="19" chnl="15" x="199" y="0" page="0"/>
<char id="66" index="37" char="B" width="23" height="39" xoffset="-1" yoffset="14" xadvance="21" chnl="15" x="138" y="205" page="0"/>
<char id="49" index="20" char="1" width="16" height="39" xoffset="4" yoffset="13" xadvance="24" chnl="15" x="150" y="163" page="0"/>
<char id="51" index="22" char="3" width="24" height="39" xoffset="0" yoffset="13" xadvance="24" chnl="15" x="162" y="203" page="0"/>
<char id="54" index="25" char="6" width="23" height="39" xoffset="1" yoffset="13" xadvance="24" chnl="15" x="167" y="163" page="0"/>
<char id="56" index="27" char="8" width="21" height="39" xoffset="1" yoffset="13" xadvance="24" chnl="15" x="170" y="121" page="0"/>
<char id="57" index="28" char="9" width="23" height="39" xoffset="1" yoffset="13" xadvance="24" chnl="15" x="188" y="80" page="0"/>
<char id="33" index="4" char="!" width="10" height="39" xoffset="-1" yoffset="13" xadvance="9" chnl="15" x="207" y="40" page="0"/>
<char id="37" index="8" char="%" width="32" height="39" xoffset="-1" yoffset="13" xadvance="29" chnl="15" x="187" y="203" page="0"/>
<char id="40" index="11" char="(" width="13" height="39" xoffset="-1" yoffset="12" xadvance="11" chnl="15" x="191" y="161" page="0"/>
<char id="41" index="12" char=")" width="13" height="39" xoffset="-1" yoffset="12" xadvance="11" chnl="15" x="192" y="120" page="0"/>
<char id="47" index="18" char="/" width="25" height="39" xoffset="-2" yoffset="13" xadvance="22" chnl="15" x="205" y="160" page="0"/>
<char id="63" index="34" char="?" width="20" height="39" xoffset="-2" yoffset="13" xadvance="17" chnl="15" x="206" y="120" page="0"/>
<char id="107" index="78" char="k" width="24" height="39" xoffset="-1" yoffset="13" xadvance="20" chnl="15" x="212" y="80" page="0"/>
<char id="38" index="9" char="&amp;" width="28" height="38" xoffset="-1" yoffset="14" xadvance="23" chnl="15" x="227" y="120" page="0"/>
<char id="105" index="76" char="i" width="11" height="38" xoffset="-1" yoffset="15" xadvance="9" chnl="15" x="218" y="40" page="0"/>
<char id="113" index="84" char="q" width="20" height="37" xoffset="-1" yoffset="23" xadvance="18" chnl="15" x="222" y="0" page="0"/>
<char id="112" index="83" char="p" width="20" height="37" xoffset="-1" yoffset="23" xadvance="18" chnl="15" x="230" y="38" page="0"/>
<char id="100" index="71" char="d" width="20" height="37" xoffset="-1" yoffset="15" xadvance="18" chnl="15" x="243" y="0" page="0"/>
<char id="98" index="69" char="b" width="20" height="37" xoffset="-1" yoffset="15" xadvance="18" chnl="15" x="237" y="76" page="0"/>
<char id="119" index="90" char="w" width="36" height="30" xoffset="-3" yoffset="23" xadvance="30" chnl="15" x="0" y="225" page="0"/>
<char id="116" index="87" char="t" width="21" height="36" xoffset="-3" yoffset="17" xadvance="15" chnl="15" x="251" y="38" page="0"/>
<char id="121" index="92" char="y" width="24" height="36" xoffset="-2" yoffset="23" xadvance="20" chnl="15" x="264" y="0" page="0"/>
<char id="103" index="74" char="g" width="20" height="36" xoffset="-1" yoffset="23" xadvance="18" chnl="15" x="220" y="200" page="0"/>
<char id="59" index="30" char=";" width="13" height="32" xoffset="-4" yoffset="24" xadvance="8" chnl="15" x="37" y="224" page="0"/>
<char id="109" index="80" char="m" width="32" height="30" xoffset="-1" yoffset="23" xadvance="30" chnl="15" x="231" y="159" page="0"/>
<char id="114" index="85" char="r" width="20" height="30" xoffset="-1" yoffset="23" xadvance="16" chnl="15" x="256" y="114" page="0"/>
<char id="117" index="88" char="u" width="19" height="30" xoffset="-1" yoffset="23" xadvance="17" chnl="15" x="258" y="75" page="0"/>
<char id="122" index="93" char="z" width="23" height="30" xoffset="-2" yoffset="23" xadvance="20" chnl="15" x="273" y="37" page="0"/>
<char id="120" index="91" char="x" width="21" height="30" xoffset="-2" yoffset="23" xadvance="17" chnl="15" x="289" y="0" page="0"/>
<char id="110" index="81" char="n" width="23" height="30" xoffset="-1" yoffset="23" xadvance="21" chnl="15" x="241" y="190" page="0"/>
<char id="101" index="72" char="e" width="19" height="29" xoffset="-1" yoffset="23" xadvance="16" chnl="15" x="241" y="221" page="0"/>
<char id="111" index="82" char="o" width="20" height="29" xoffset="-1" yoffset="23" xadvance="17" chnl="15" x="261" y="221" page="0"/>
<char id="97" index="68" char="a" width="25" height="29" xoffset="-2" yoffset="24" xadvance="22" chnl="15" x="264" y="145" page="0"/>
<char id="115" index="86" char="s" width="18" height="29" xoffset="-2" yoffset="23" xadvance="15" chnl="15" x="277" y="106" page="0"/>
<char id="99" index="70" char="c" width="19" height="29" xoffset="-1" yoffset="23" xadvance="16" chnl="15" x="278" y="68" page="0"/>
<char id="118" index="89" char="v" width="24" height="29" xoffset="-3" yoffset="23" xadvance="19" chnl="15" x="297" y="31" page="0"/>
<char id="64" index="35" char="@" width="27" height="28" xoffset="0" yoffset="23" xadvance="26" chnl="15" x="311" y="0" page="0"/>
<char id="58" index="29" char=":" width="11" height="28" xoffset="-1" yoffset="24" xadvance="10" chnl="15" x="51" y="223" page="0"/>
<char id="95" index="66" char="_" width="25" height="7" xoffset="-2" yoffset="49" xadvance="21" chnl="15" x="278" y="98" page="0"/>
<char id="35" index="6" char="#" width="22" height="23" xoffset="-1" yoffset="19" xadvance="20" chnl="15" x="298" y="61" page="0"/>
<char id="94" index="65" char="^" width="22" height="20" xoffset="0" yoffset="25" xadvance="21" chnl="15" x="265" y="175" page="0"/>
<char id="60" index="31" char="&lt;" width="20" height="22" xoffset="0" yoffset="25" xadvance="21" chnl="15" x="265" y="196" page="0"/>
<char id="62" index="33" char=">" width="20" height="22" xoffset="0" yoffset="25" xadvance="21" chnl="15" x="282" y="219" page="0"/>
<char id="43" index="14" char="+" width="21" height="21" xoffset="-1" yoffset="21" xadvance="19" chnl="15" x="286" y="196" page="0"/>
<char id="126" index="97" char="~" width="21" height="11" xoffset="0" yoffset="34" xadvance="21" chnl="15" x="44" y="127" page="0"/>
<char id="61" index="32" char="=" width="18" height="17" xoffset="0" yoffset="23" xadvance="17" chnl="15" x="220" y="237" page="0"/>
<char id="42" index="13" char="*" width="18" height="17" xoffset="-1" yoffset="14" xadvance="16" chnl="15" x="288" y="175" page="0"/>
<char id="45" index="16" char="-" width="17" height="11" xoffset="0" yoffset="30" xadvance="17" chnl="15" x="138" y="245" page="0"/>
<char id="34" index="5" char="&quot;" width="15" height="15" xoffset="-1" yoffset="13" xadvance="13" chnl="15" x="303" y="218" page="0"/>
<char id="39" index="10" char="'" width="9" height="14" xoffset="-1" yoffset="13" xadvance="7" chnl="15" x="282" y="242" page="0"/>
<char id="96" index="67" char="`" width="12" height="13" xoffset="1" yoffset="13" xadvance="16" chnl="15" x="162" y="243" page="0"/>
<char id="44" index="15" char="," width="12" height="13" xoffset="-3" yoffset="43" xadvance="8" chnl="15" x="175" y="243" page="0"/>
<char id="46" index="17" char="." width="10" height="11" xoffset="-1" yoffset="40" xadvance="8" chnl="15" x="33" y="86" page="0"/>
<char id="32" index="3" char=" " width="0" height="0" xoffset="-2" yoffset="47" xadvance="11" chnl="15" x="41" y="182" page="0"/>
</chars>
<kernings count="0"/>
</font>

BIN
data/font/MarkerFelt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 13 KiB

BIN
data/interiors/8trim.dif Normal file

Binary file not shown.

BIN
data/interiors/9trim.dif Normal file

Binary file not shown.

BIN
data/interiors/ADatL1.dif Normal file

Binary file not shown.

BIN
data/interiors/ADatL2.dif Normal file

Binary file not shown.

BIN
data/interiors/ADatL3.dif Normal file

Binary file not shown.

BIN
data/interiors/ADatL4.dif Normal file

Binary file not shown.

BIN
data/interiors/ADatL5.dif Normal file

Binary file not shown.

BIN
data/interiors/ADatL6.dif Normal file

Binary file not shown.

BIN
data/interiors/ADatL7.dif Normal file

Binary file not shown.

BIN
data/interiors/ADatL8.dif Normal file

Binary file not shown.

BIN
data/interiors/ADatL9.dif Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

BIN
data/interiors/AZTEC002.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

BIN
data/interiors/AZTEC029.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

BIN
data/interiors/Black.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 KiB

BIN
data/interiors/Ceiling1.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
data/interiors/Ceiling1.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 B

BIN
data/interiors/Cycle.dif Normal file

Binary file not shown.

BIN
data/interiors/DOOR04.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

BIN
data/interiors/Doors01.dif Normal file

Binary file not shown.

BIN
data/interiors/Doors02.dif Normal file

Binary file not shown.

Binary file not shown.

BIN
data/interiors/Doors03.dif Normal file

Binary file not shown.

Binary file not shown.

BIN
data/interiors/Doors04.dif Normal file

Binary file not shown.

Binary file not shown.

BIN
data/interiors/Doors05.dif Normal file

Binary file not shown.

Binary file not shown.

BIN
data/interiors/Doors06.dif Normal file

Binary file not shown.

Binary file not shown.

BIN
data/interiors/Doors07.dif Normal file

Binary file not shown.

Binary file not shown.

BIN
data/interiors/Doors08.dif Normal file

Binary file not shown.

Binary file not shown.

BIN
data/interiors/Doors09.dif Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
data/interiors/EDGE_RED.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

BIN
data/interiors/FLOOR02.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

BIN
data/interiors/FLOOR07.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

BIN
data/interiors/FLOOR2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

BIN
data/interiors/FLOOR4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

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