Compare commits

..

494 Commits

Author SHA1 Message Date
minjaesong
97a7a36030 version tag on app configuration 2023-08-17 15:47:31 +09:00
minjaesong
662069466a skybox size adjustment 2023-08-17 02:04:05 +09:00
minjaesong
52cff00338 commit 2023-08-16 22:39:31 +09:00
minjaesong
1a40334f8e auto zip for .app packaging 2023-08-16 22:26:27 +09:00
minjaesong
763f512419 script for assets_release 2023-08-16 22:17:09 +09:00
minjaesong
620a1c6956 GL_UNSIGNED_SHORT works just fine on macOS?! 2023-08-16 21:56:04 +09:00
minjaesong
5f4fcdba69 apple m chip workaround (2) 2023-08-16 21:46:54 +09:00
minjaesong
7a79f444b2 apple m chip workaround 2023-08-16 21:38:23 +09:00
minjaesong
e4b947ce69 Float16FrameBuffer 2023-08-16 17:51:31 +09:00
minjaesong
fdfec960ca reverse gravity adaptation of the last commit 2023-08-16 16:33:53 +09:00
minjaesong
75021ecfa2 fixing issue #48 2023-08-16 16:03:54 +09:00
minjaesong
c90ef21bfa calendar UI mouseover 2023-08-15 19:02:25 +09:00
minjaesong
3fce5d7e95 calendar UI 2023-08-15 14:58:50 +09:00
minjaesong
8db1228e70 calendar wip 2023-08-15 04:54:43 +09:00
minjaesong
5f7f724058 tileatlas: atlas size will automatically expand if it's too small 2023-08-14 18:47:39 +09:00
minjaesong
fab4179068 fixing issue #47 using new tag on blocks.csv 2023-08-14 18:16:05 +09:00
minjaesong
32803b6f18 incomplete fix for horizontal bouncing on T-shaped platform arrangement 2023-08-14 04:10:10 +09:00
minjaesong
f8f75fb7b6 options to change atlas texture size 2023-08-14 03:53:25 +09:00
minjaesong
9919a99032 fix: phys ccd would only trigger on its last iteration due to a stupid oversight 2023-08-13 16:54:46 +09:00
minjaesong
6a43d1a5bd calendar sprite removing a spring 2023-08-13 15:36:24 +09:00
minjaesong
24c971e4b8 oh wait thats not it 2023-08-11 21:08:35 +09:00
minjaesong
62f0fd7c68 hiding the phys artefact by forcefully holding down-key for long enough 2023-08-11 21:05:47 +09:00
minjaesong
3dec312989 phys glitch kinda fixed but i'm no longer sure about that 2023-08-11 17:03:51 +09:00
minjaesong
77b51a45dd no highp on blur shader 2023-08-11 13:03:45 +09:00
minjaesong
d1b4ce3404 something's fixed but have no idea what 2023-08-11 12:35:36 +09:00
minjaesong
fd7b88307c . 2023-08-11 09:29:30 +09:00
minjaesong
579b6b5b29 somehow fixed but now jumping while walking against wall changes jump behav 2023-08-11 01:04:34 +09:00
minjaesong
cef58f6a73 phys debugging; see L818@ActorWithBody.kt 2023-08-10 23:49:43 +09:00
minjaesong
c0c98c3b80 some locale changes; remoCon changes on load menu 2023-08-08 17:44:23 +09:00
minjaesong
88d844cc09 actor draw planting offset 2023-08-08 17:14:13 +09:00
minjaesong
2411db17a7 calendar fixture wip 2023-08-08 16:41:40 +09:00
minjaesong
53d372be38 there's no way #33 is fixed so easily but im committing it anyway 2023-08-08 12:09:22 +09:00
minjaesong
88831051c8 revised ingame date format 2023-08-08 09:01:34 +09:00
minjaesong
87d92ecb74 some random ideas for future self 2023-08-08 01:39:33 +09:00
minjaesong
6672dffdbc new passwd for new version 2023-08-07 14:45:07 +09:00
minjaesong
cd00ab4c7f fix: hq2x results graphical issue on some systems 2023-08-07 14:30:36 +09:00
minjaesong
014306c209 2k skybox tex; trilinear blending of atmos vars 2023-08-07 13:59:45 +09:00
minjaesong
30fb57eca3 skybox: two different setup for AM/PN 2023-08-06 18:37:56 +09:00
minjaesong
52ad8f0c46 improved skybox model 2023-08-05 17:20:35 +09:00
minjaesong
1b08039018 updating numbers for v0.3.3 2023-08-05 00:45:35 +09:00
minjaesong
c701519cb9 unloading test_texture 2023-08-05 00:25:25 +09:00
minjaesong
75e6669d49 temp fix: platform-ladder not working 2023-08-05 00:16:00 +09:00
minjaesong
18631064d4 hosek skybox moved outside of basegame; moonlight impl 2023-08-04 13:43:14 +09:00
minjaesong
9fe6618cc9 fix: splash goes black when hq2x is enabled 2023-08-04 12:53:44 +09:00
minjaesong
7b8d6d6913 fix: bad number formatting on debug window 2023-08-04 00:53:30 +09:00
minjaesong
385a882937 stars: more realistic twinkle, change of axial tilt changes starmap 'altitude' 2023-08-03 23:55:19 +09:00
minjaesong
c73461a407 const-ifying shaders 2023-08-03 18:37:23 +09:00
minjaesong
f7e4987785 less crazy twinkling 2023-08-03 00:29:27 +09:00
minjaesong
78bd88858b twinkling stars 2023-08-03 00:11:17 +09:00
minjaesong
d2b1346252 diurnal motion on stars 2023-08-02 22:44:04 +09:00
minjaesong
fb28fd8a76 brought 'sunset orange' back 2023-08-02 22:14:25 +09:00
minjaesong
36d25c6479 the stars are rendered but still some works left 2023-08-02 18:55:41 +09:00
minjaesong
2ade76147c fix: skybox edge case on deg ±75 2023-08-02 18:44:12 +09:00
minjaesong
59d9adbbd1 stars wip 2023-08-02 17:52:42 +09:00
minjaesong
821c7c77d8 much more elegant solution than stretching texture using batch 2023-08-02 16:37:15 +09:00
minjaesong
3308f09e08 some other 'weather' elements (assets only) 2023-08-02 10:57:52 +09:00
minjaesong
37d45e22ad backdrop is stretched far enought so that the stretchedness is not observable 2023-08-01 22:01:56 +09:00
minjaesong
1ac861fa82 skybox lut 2023-08-01 17:22:45 +09:00
minjaesong
451808cd1c skybox atlas texture generation 2023-08-01 16:50:37 +09:00
minjaesong
0c00b3b7cc borders on quickslot images 2023-07-31 21:49:11 +09:00
minjaesong
1669f7fdd0 actual maths solution for the smoothLinear 2023-07-30 22:52:00 +09:00
minjaesong
f4bfe84009 better smooth-linear function 2023-07-30 18:35:36 +09:00
minjaesong
91cf08e93a 64 pixels for gradmap instead of 128 2023-07-30 03:36:31 +09:00
minjaesong
33a8112454 skybox: taller grad window, smooth grad clamping 2023-07-30 03:29:14 +09:00
minjaesong
439cde09fc this is the best curve 🫠 2023-07-26 15:10:15 +09:00
minjaesong
2a62435712 wtf was that 2023-07-26 00:58:17 +09:00
minjaesong
5495552db5 yet another sky model changes 2023-07-26 00:09:47 +09:00
minjaesong
e04d0284bb another experiments with the hosek model 2023-07-25 22:11:10 +09:00
minjaesong
ad601ffd7e oops forgot about the alpha channel 2023-07-25 16:57:13 +09:00
minjaesong
987ec1fd98 more sky model changes 2023-07-25 16:53:02 +09:00
minjaesong
4fb30821f1 sky model update 2023-07-25 15:15:12 +09:00
minjaesong
a73c536941 skybox model changes on negative deg 2023-07-25 03:47:59 +09:00
minjaesong
4c1f16fe91 executable renamed from 'java' to 'Terrarum' 2023-07-24 00:56:01 +09:00
minjaesong
6df78b59a9 screenshot taking extracted to its own function 2023-07-22 14:19:09 +09:00
minjaesong
28c4d8f11b texture2D -> texture 2023-07-22 03:45:21 +09:00
minjaesong
cdfc86398c hq2x shader using modernised syntax 2023-07-22 03:41:09 +09:00
minjaesong
91d94d2dab partially working hq2x, may not work on macOS tho 2023-07-21 20:29:17 +09:00
minjaesong
0af2e57368 wtf is going on 2023-07-21 17:41:22 +09:00
minjaesong
fbce707cac option for screen filtering mode 2023-07-21 13:14:02 +09:00
minjaesong
9d7bd37394 automated menuwork for control panel 2023-07-15 20:21:29 +09:00
minjaesong
df8bcf79af titlescreen: weather change is reflected to the skybox AND daylight 2023-07-15 13:33:09 +09:00
minjaesong
e328457259 improved control panel making 2023-07-14 17:03:04 +09:00
minjaesong
9baec6c7a1 improved slider mouse op 2023-07-14 16:50:25 +09:00
minjaesong
d05364f43f horizontal slider 2023-07-14 14:34:28 +09:00
minjaesong
e7ed3d8eae spinners will now round to nearest valid number 2023-07-13 21:08:41 +09:00
minjaesong
da6da79186 fix: previous 'centering' attempt was 8 pixels off 2023-07-13 20:08:20 +09:00
minjaesong
0767521441 uiloadmanage: going back to list will reset the list scroll 2023-07-13 16:34:01 +09:00
minjaesong
30aca57cbc savegame renaming 2023-07-13 15:45:35 +09:00
minjaesong
e512c6c7ad fix: textinput contained by sliding panel would not get text input 2023-07-13 15:12:30 +09:00
minjaesong
6ebf79a8e3 savelist cell width now matches management buttons; buttons and thumnail now well positioned 2023-07-13 14:13:37 +09:00
minjaesong
e5d5feeb38 fix: crafting UI is not centred 2023-07-13 13:49:50 +09:00
minjaesong
8e9d2371c8 mem gauge size changed to match the radiobutton-bar 2023-07-13 00:21:12 +09:00
minjaesong
1f5d032ad8 teleporter: no new world if memory is full 2023-07-12 21:45:22 +09:00
minjaesong
7993ccd2e5 memory gauge on teleporter world search 2023-07-12 21:30:50 +09:00
minjaesong
c77f1ffd23 removing auto/manual save selection: is practically useless 2023-07-12 10:40:21 +09:00
minjaesong
4eb7a8a77e fix: if two savegame has identical lastmodifiedtime, file with lower number will be preferred 2023-07-12 10:00:47 +09:00
minjaesong
10f92a11a9 loadlist: version number of the savegame 2023-07-12 02:23:49 +09:00
minjaesong
c5659e2833 loadlost: preloading game screenshots 2023-07-11 21:11:19 +09:00
minjaesong
173f99f87d two getthumbnail funs merget into one 2023-07-11 19:52:56 +09:00
minjaesong
64e05a4f17 load list: thumbnail on management scr 2023-07-11 15:18:44 +09:00
minjaesong
c033260ec5 debugpanel: solar altitude and atmos turbidity 2023-07-11 12:01:08 +09:00
minjaesong
22191bd377 daylight model edited to match the skybox 2023-07-11 01:55:15 +09:00
minjaesong
79f19120f2 replacing min/max usage with kotlin's 2023-07-11 01:54:46 +09:00
minjaesong
d96b7d1b84 fix: creating new game works again 2023-07-11 00:34:32 +09:00
minjaesong
2b62b4f413 fix: model having wrong turbidity value 2023-07-10 23:14:56 +09:00
minjaesong
f0fa5830bd moving hosek datasets to assets dir 2023-07-10 21:38:50 +09:00
minjaesong
ec24dc9870 no day-night cycle on titlescreen demo 2023-07-10 20:44:35 +09:00
minjaesong
6bc3d0e6ad deploying new skybox model 2023-07-10 19:47:44 +09:00
minjaesong
64c610e77e model improvements 2023-07-10 04:00:49 +09:00
minjaesong
b25ea9654c model improvements 2023-07-10 03:16:10 +09:00
minjaesong
b6b98562a2 preliminary skybox model 1 2023-07-10 02:57:41 +09:00
minjaesong
c93b70f537 world portal: rename and delete now working 2023-07-09 19:17:13 +09:00
minjaesong
fb67b0ef5a fix: not having IME set would cause NPE 2023-07-09 02:27:26 +09:00
minjaesong
7c7b3de68d swapping save delete/cancel button so that accidental double click would not delete the save 2023-07-09 02:20:38 +09:00
minjaesong
71df31b93d working autosave chooser 2023-07-08 23:26:47 +09:00
minjaesong
9b24014191 keyboard control symbol for IME will follow the current IME selection 2023-07-08 22:24:16 +09:00
minjaesong
02308a7918 autosave marker on save list 2023-07-08 22:12:08 +09:00
minjaesong
03c6061a12 game loading is back but newgame is broken 2023-07-08 21:53:19 +09:00
minjaesong
325e67f999 damaged savegame is handled by the management scr 2023-07-08 18:49:56 +09:00
minjaesong
211f936bd3 save manage scr 2023-07-08 16:12:15 +09:00
minjaesong
1f6fa49d19 minor improvements 2023-07-08 14:20:53 +09:00
minjaesong
13810fc09b working loading spinner; closing menu while loading will gracefully kill the loading thread 2023-07-08 14:04:14 +09:00
minjaesong
f95bc36c98 and now fa and fis works the same? wtf? 2023-07-08 03:33:02 +09:00
minjaesong
d507d84950 the file io is cursed 2023-07-08 03:12:15 +09:00
minjaesong
b31da6ffec . 2023-07-07 15:44:42 +09:00
minjaesong
3593894c0f hopefully more lightweight init 2023-07-07 12:27:54 +09:00
minjaesong
c28b286553 changes in fade-slide transition container 2023-07-07 00:19:56 +09:00
minjaesong
c0a3da1b66 fix: inscript - s key had wrong glyph 2023-07-06 22:43:08 +09:00
minjaesong
02cf5fdce5 tamil99 2023-07-06 22:07:21 +09:00
minjaesong
1e6f51e16c oops now it's broken but I still had to commit lol 2023-07-05 21:35:41 +09:00
minjaesong
c61c169048 more elegant UILoadSavegame wip 2023-07-05 20:16:53 +09:00
minjaesong
5c58c3006b inscript: ime update 2023-07-05 13:29:43 +09:00
minjaesong
742cabb81f is this the way? 2023-07-05 01:15:48 +09:00
minjaesong
07d5e571d6 windows build: smaller exe file 2023-07-05 01:11:06 +09:00
minjaesong
305242045f inscript keyboard layout for hindi 2023-07-05 00:44:13 +09:00
minjaesong
67388999f0 lang update 2023-07-04 21:50:20 +09:00
minjaesong
b0cc1180bb fix: app wont launch if its path contains whitespaces 2023-07-04 21:32:38 +09:00
minjaesong
453459e3b6 fix: some UIs won't fade in/out on open/close 2023-07-03 21:35:46 +09:00
minjaesong
bad72dd353 simple SAVING ui for teleportation 2023-07-03 20:26:30 +09:00
minjaesong
13185f0565 preliminary gui thing for teleportation 2023-07-03 17:46:57 +09:00
minjaesong
fcaf4c97f1 seemingly working world teleporter (no saving... ui tho) 2023-07-03 00:10:46 +09:00
minjaesong
9c396e7b8d new world via teleporter wip 2023-07-02 18:54:04 +09:00
minjaesong
afb7dff5d2 some comment elaboration 2023-07-02 01:25:34 +09:00
minjaesong
5d0514040c lang split into two files 2023-06-30 16:20:57 +09:00
minjaesong
7c1806946b worldportal: showing tooltip to tell why the button is disabled 2023-06-30 03:07:45 +09:00
minjaesong
e5e02681b8 weather only change on titlescreen 2023-06-30 00:53:46 +09:00
minjaesong
6db3baf691 clearing up interpolation functions 2023-06-30 00:14:28 +09:00
minjaesong
07cbcbe79b better title screen camera smoothing 2023-06-29 22:50:44 +09:00
minjaesong
57a9f7febc graph guidance colour scheme change; added easter egg where the camera might pan towards left 2023-06-29 02:56:33 +09:00
minjaesong
16cfaaea27 titlescreen follows the terrain better 2023-06-28 22:49:45 +09:00
minjaesong
72c742897e fix: load menu buttons are pushed when they should not listen to the touchdown event 2023-06-28 17:47:04 +09:00
minjaesong
23af64deb4 proper savegame backups sorting 2023-06-28 16:42:38 +09:00
minjaesong
bb017fa9b7 gui for load savegame 2023-06-28 16:10:15 +09:00
minjaesong
1745bb16db save deletion works but gui is still wip 2023-06-28 11:05:28 +09:00
minjaesong
370583d1af actual red button for DELETE 2023-06-28 00:55:36 +09:00
minjaesong
66b651c627 delete character file gui wip 2023-06-27 22:46:16 +09:00
minjaesong
c5874a7f3d finally working again: create new character
todo: make delete character work
2023-06-27 21:13:51 +09:00
minjaesong
057905c3b7 thumb generation for player saves 2023-06-27 01:21:05 +09:00
minjaesong
2b50562002 save juggling for autosaves 2023-06-26 23:10:52 +09:00
minjaesong
73a8198378 fix: loading a game would load the oldest backup save 2023-06-26 21:43:25 +09:00
minjaesong
1ef479124e actually working load manual/auto button 2023-06-26 20:18:00 +09:00
minjaesong
e5e8028b3f fix: clickOnceListener would not fired if screen is magnified 2023-06-26 19:07:25 +09:00
minjaesong
739b51af95 manual/auto selection for savegame loading 2023-06-26 18:18:59 +09:00
minjaesong
f9f49ab63c new savegame loader is not quite working yet 2023-06-26 01:09:47 +09:00
minjaesong
a497463349 some ui updates 2023-06-25 20:46:52 +09:00
minjaesong
253db56c4f the baloon now has opacity control 2023-06-25 13:58:37 +09:00
minjaesong
3d13941060 new savegame loading wip 2023-06-24 23:44:48 +09:00
minjaesong
592e489411 warning for apple rosetta 2023-06-24 02:06:22 +09:00
minjaesong
49b2011ea0 a little bit generalised titlescreen warning printing 2023-06-24 01:12:43 +09:00
minjaesong
61e6255b52 some warning for apple rosetta 2023-06-24 01:03:58 +09:00
minjaesong
2e956f89f5 fix for edge case where 64-bit x86 CPU not reporting itself as AMD64 2023-06-24 00:40:59 +09:00
minjaesong
e8ffd1f844 proper bootstrap codes 2023-06-23 18:44:05 +09:00
minjaesong
0882145f9c some autosave stuffs; bootloader to actually use bundled runtime 2023-06-23 17:29:49 +09:00
minjaesong
28e2179e44 don't xstartonfirstthread the bootstrapper 2023-06-23 12:11:19 +09:00
minjaesong
48eb1ffd8f printout child proc's out and err to console 2023-06-22 23:11:34 +09:00
minjaesong
6daccb2e62 locales 2023-06-22 22:27:56 +09:00
minjaesong
8c9d5a26fb more code trimming 2023-06-22 22:05:10 +09:00
minjaesong
ee3e5b14cd rm unused code snippet 2023-06-22 21:21:09 +09:00
minjaesong
5c39df9080 bootstrapper for the App so that the user can change the max heap in-game 2023-06-22 21:08:09 +09:00
minjaesong
5d77694316 windows build script now produces .exe 2023-06-21 23:49:42 +09:00
minjaesong
cf111d2507 world portal writing current world to actorvalue 'worldportaldict' if it's not there 2023-06-20 13:45:32 +09:00
minjaesong
724ace3f00 for now ui simply closes on teleport target selection 2023-06-20 13:22:14 +09:00
minjaesong
1457cbffb3 worldportal: submitting teleportrequest works, needs UI refinement 2023-06-20 00:15:53 +09:00
minjaesong
7a42066392 electric: rising/falling edge and level detection 2023-06-19 18:42:08 +09:00
minjaesong
528b975350 wiresim: signal sinking actors are only getting updated when the sim calls for 2023-06-19 16:34:39 +09:00
minjaesong
9e9064dd55 world portal: world search is now new world 2023-06-19 00:50:55 +09:00
minjaesong
138c6d22d2 some font stuffs for ui 2023-06-18 21:40:06 +09:00
minjaesong
a33f0e7ab4 world search ui integrated to world portal ui 2023-06-18 21:29:18 +09:00
minjaesong
93c427473d inventory backdrop is now image 2023-06-18 16:02:25 +09:00
minjaesong
6b8798a19e single screen ui for world portal 2023-06-18 01:28:51 +09:00
minjaesong
376595d7cd fix: scroll controller for portal listing is 2 px shorter that it should 2023-06-18 00:40:55 +09:00
minjaesong
4cc52b5585 fix: storage chest ui would be shifted to left and any mouse button would trigger the action 2023-06-17 23:19:09 +09:00
minjaesong
0ff71f39fe list scroll for portallisting 2023-06-17 17:10:13 +09:00
minjaesong
13f487a562 inventory navbar to its own uiitem 2023-06-17 16:46:15 +09:00
minjaesong
0599ce91b1 reflection function update 2023-06-12 15:08:42 +09:00
minjaesong
3d5fd984d7 another text pos change 2023-06-06 18:23:28 +09:00
minjaesong
8d0d84fbf8 font update/ime fix 2023-06-06 18:16:34 +09:00
minjaesong
eb2c716691 code for new itemsheet format 2023-06-06 14:37:54 +09:00
minjaesong
ac53f821e2 new format for item sprites; code upcoming ;) 2023-06-05 23:38:47 +09:00
minjaesong
cd6df71347 world portal listing: back tray for texts 2023-06-04 21:21:48 +09:00
minjaesong
ac553ed156 serialiser filters Companion objs 2023-06-01 17:50:39 +09:00
minjaesong
8c5c986cbf wider inventory cells 2023-05-31 21:07:57 +09:00
minjaesong
a0f597865e using Delete instead of Delete World 2023-05-30 01:07:07 +09:00
minjaesong
bafd0d9f7c ui theme updates 2023-05-30 00:51:32 +09:00
minjaesong
e259fc2f3b world size classification is now Tiny-Small-Big-Huge 2023-05-29 20:43:17 +09:00
minjaesong
ebbb121b8c fix: fixture pickup avail check is now done properly 2023-05-29 20:10:39 +09:00
minjaesong
331e89b4df world portal listing gui 2023-05-29 17:51:15 +09:00
minjaesong
98a6c9ae70 world portal gui wip 2023-05-29 02:41:59 +09:00
minjaesong
1646871ddf removing 'small' world size for new worlds: gamedesign choice 2023-05-28 21:31:14 +09:00
minjaesong
76bfc0fde4 world portal gui wip 2023-05-28 20:55:47 +09:00
minjaesong
ef6f39632d world portal wip 2023-05-28 18:41:21 +09:00
minjaesong
a3ecd4a4f4 some adjustments for the quickslot and pie 2023-05-28 01:47:17 +09:00
minjaesong
065f80224f fix: light/shadebox would get tilewise size of 2 when their hitbox size is set to 16 2023-05-28 00:31:29 +09:00
minjaesong
34fb046968 minor changes to the graphics control panel 2023-05-27 23:31:21 +09:00
minjaesong
43da6cc5d8 adding Char to QuickDirtyLint 2023-05-23 20:50:19 +09:00
minjaesong
fccc2162f6 quick and dirty but working linter 2023-05-23 00:09:11 +09:00
minjaesong
c554df9b98 trying the android linter for code inspection 2023-05-22 21:33:39 +09:00
minjaesong
8446cb2ecf fix: door won't consider the distance of the actor 2023-05-22 11:56:57 +09:00
minjaesong
07b44a92c5 reload() for dynamicitems 2023-05-22 11:46:06 +09:00
minjaesong
f12bf553ff door retains its apparance after load; autodoor is permissible for all IngamePlayers 2023-05-22 01:25:14 +09:00
minjaesong
3ba7ddd30e new toggler design 2023-05-21 20:46:54 +09:00
minjaesong
eee551058f graphics control panel reworked 2023-05-21 19:59:16 +09:00
minjaesong
974ad2ec50 loading process will try to unstuck the player if the player appears to stuck in the terrain 2023-05-21 16:57:28 +09:00
minjaesong
5d78df9e99 savegame listing - if multiple valid savegames with same UUID is there, only the most recent one is retained 2023-05-21 11:31:32 +09:00
minjaesong
6268b99c1c material and 5 temporary vectors no longer go into the savegame 2023-05-21 11:20:45 +09:00
minjaesong
b0d83325a7 lib cleanup 2023-05-19 14:53:29 +09:00
minjaesong
16ae3225e6 graalvm-js update 2023-05-19 14:19:39 +09:00
minjaesong
a587c86826 Terragen param adjustments 2023-05-17 21:00:02 +09:00
minjaesong
68b5d15944 disallowing nicknames (may contain non-ascii) on filename: somehow incompatible with BTRFS and Java 17? 2023-05-17 19:52:51 +09:00
minjaesong
4ba1173d8a fix: bad key assignments on Colemak keyboards 2023-05-17 13:43:20 +09:00
minjaesong
7e10039d29 no autocorrect on biomegen; code structure improvements 2023-05-17 09:52:28 +09:00
minjaesong
9e44ca93ab build_app_all.sh 2023-05-16 22:56:38 +09:00
minjaesong
8cb11d5c82 doors for test 2023-05-16 22:52:46 +09:00
minjaesong
ed7ca5c1a8 build script for linux-arm (untested) 2023-05-16 22:23:33 +09:00
minjaesong
aad258c054 more prominent torch flickering 2023-05-16 22:22:40 +09:00
minjaesong
79e7ef4da0 .icns and .jar to git-lfs 2023-05-16 13:48:27 +09:00
minjaesong
c74cfa6eb9 fix: lightbox would not load from save due to API change? idk but now savegame and avatar is incompatible 2023-05-16 01:05:31 +09:00
minjaesong
28c45b5756 fix: lowland and mountain clamping on Terragen, which was an issue persisting like 5 yrs 2023-05-16 00:43:51 +09:00
minjaesong
3911f86446 keyboard control panel renaming IME to Toggle IME 2023-05-15 19:42:29 +09:00
minjaesong
dfa1c7d73c more text on the config gui 2023-05-15 19:18:36 +09:00
minjaesong
1b0f233fcb mac app building with icons 2023-05-15 17:59:02 +09:00
minjaesong
ac3975e52f whyyyy 2023-05-15 16:18:59 +09:00
minjaesong
fb60813c14 mac build script to zip the .app 2023-05-15 16:08:28 +09:00
minjaesong
f2bd6a161e epsilon redef 2023-05-04 19:11:51 +09:00
minjaesong
c6a2a4199e kotlin update 1.8.20 2023-05-03 21:40:03 +09:00
minjaesong
bae212e51f build script update 2023-04-15 11:48:42 +09:00
minjaesong
d69d8dabde build inst update 2023-04-15 00:55:03 +09:00
minjaesong
928029e6e4 BlockStats is upgraded to TileSurvey 2023-04-12 19:53:12 +09:00
minjaesong
acd215c7c6 resolution input will have red text if the text format is invalid 2023-04-09 15:27:59 +09:00
minjaesong
2bb0a0f91c FPS config on options panel 2023-04-09 15:16:59 +09:00
minjaesong
6302f0402f a tily updates to the savegame format handling -- read the SAVE_FORMAT.md 2023-04-09 12:43:00 +09:00
minjaesong
11a319788a fixed a bug where text input via inputstrober would skip key presses 2023-04-08 02:31:27 +09:00
minjaesong
bf1c906a88 Reflection util 2023-03-25 13:04:53 +09:00
minjaesong
2474583a86 using gl32 shaders for other runnables 2023-02-28 22:59:32 +09:00
minjaesong
e13cfd37b0 build inst update 2023-02-28 20:12:45 +09:00
minjaesong
a3c871bb5c reverting old chargen test code 2023-02-28 17:56:44 +09:00
minjaesong
cba24456e9 changed shaders enough that the game now runs on Apple M2 2023-02-28 17:47:09 +09:00
minjaesong
2c86c6a461 more shader shenanigans 2023-02-28 17:32:52 +09:00
minjaesong
315b984d3b shader updates 2023-02-28 17:18:22 +09:00
minjaesong
8d7a62f796 more shader things that needs multiplatform investigation 2023-02-28 16:57:33 +09:00
minjaesong
f0b1d7f1bd some old changes I forgot to commit 2023-02-28 04:37:32 +09:00
minjaesong
6f4d9180dc apple m chips support wip 2023-02-28 04:36:11 +09:00
minjaesong
66356fc0c9 Revert "trying bytebuf and FloatVector"
This reverts commit 2941a0943f.
Benchmark showed no discernible differences.
2023-01-18 20:32:22 +09:00
minjaesong
2941a0943f trying bytebuf and FloatVector 2023-01-18 20:27:06 +09:00
minjaesong
eefaa9ec7c less CPU demanding InputStrobing 2023-01-16 04:24:54 +09:00
minjaesong
b496d606d3 removing fbo on UIItemTextSelector: it's useless 2023-01-16 03:36:17 +09:00
minjaesong
3393ba6466 check if pointer-checker is still there on non dev build 2023-01-07 17:10:17 +09:00
minjaesong
02bdb2a4fc default ui open/close transition is now quick-fade 2023-01-06 18:57:18 +09:00
minjaesong
53dee515fe unsafeptr: specialised exceptions 2023-01-03 03:23:54 +09:00
minjaesong
8bbf511b0a added missing audiodevice.dispose 2022-12-31 20:12:27 +09:00
minjaesong
267b524a66 GDX 1.11 update 2022-12-29 16:16:07 +09:00
minjaesong
856bd93329 fix: held items now glow (or not glow) under UV as they should 2022-12-27 04:19:13 +09:00
minjaesong
801acd2f24 vals instead of funs 2022-12-26 02:35:03 +09:00
minjaesong
b5ed33e2e9 game-maker selectable game update governor 2022-12-25 17:23:46 +09:00
minjaesong
71fd92ad17 Virtual Disk doc fix typos and minor rewrites 2022-12-21 04:12:37 +09:00
minjaesong
c48a4834f8 64 bit version number 2022-12-20 03:50:07 +09:00
minjaesong
b14e3085d6 how do atomicsomething work 2022-12-17 20:15:41 +09:00
minjaesong
39318b1508 tevd: bytearray64 update 2022-12-17 05:45:52 +09:00
minjaesong
60c0dd4c06 tevd: bytearray64 update 2022-12-17 05:31:37 +09:00
minjaesong
fab1b168aa typo fix 2022-12-14 15:18:19 +09:00
minjaesong
2af89ac831 intellij code convention update 2022-12-14 03:20:59 +09:00
minjaesong
cd4157d40a suggestion of alt colour set 2022-12-12 17:15:14 +09:00
minjaesong
cc7efd0e33 renaming Toolkit.Theme colour variables 2022-12-12 16:31:28 +09:00
CuriousTorvald
9c84e8f597 pathText will have unified dir separator depending on the OS 2022-12-09 20:42:11 +09:00
minjaesong
b2479028af adding 'kind flag' to the savegame format so the file can be determined if it contains player or world data 2022-12-04 16:09:07 +09:00
minjaesong
400cdd5b3c fixed a bug when loading a packaged player, loading a spriteglow would read normal sprite's data instead 2022-12-04 03:38:17 +09:00
minjaesong
1e01d3027e delta-t benchmarking will update itself every 64th frame, reducing the performance impact 2022-12-04 03:37:55 +09:00
minjaesong
a5f1f6ffaf codes for OKLab colour space 2022-12-02 14:18:43 +09:00
minjaesong
474279aefe more descriptive name for the blend-normal function because why there are two fucking standards for an alpha channel 2022-10-31 01:52:40 +09:00
minjaesong
ccef7c32a0 fixed a "bug" that assumed the framerates are normally distributed 2022-10-15 13:12:14 +09:00
minjaesong
93af194c8a rudimentary framerate benchmarking (turning it on will make the game run significantly slower) 2022-10-15 01:09:51 +09:00
minjaesong
8533f92274 more optimisation 2022-10-06 21:42:46 +09:00
minjaesong
93ac1011e9 optimisation attempt 2022-10-06 21:07:16 +09:00
minjaesong
a6685df5d1 experimental new lighting can be toggled with config "fx_newlight" 2022-10-05 23:26:46 +09:00
minjaesong
50d1aabaf3 new lighting is regrettably implemented on the master branch, but I don't think this looks any better than the old 2022-10-05 01:07:07 +09:00
minjaesong
aff64f6a8e new lighting wip 2022-10-04 22:01:28 +09:00
minjaesong
9091e6af00 update 2022-10-04 15:45:29 +09:00
minjaesong
741187c6d5 another lighting idea wip 2022-10-04 14:33:09 +09:00
minjaesong
40972bf7d1 chat overlay size text to actually follow the apparant size when the screen zoom is used 2022-10-01 14:23:33 +09:00
minjaesong
e46c05a597 Bulgarian IME now uses Bulgarian glyph variants for the keyboard layout preview 2022-10-01 02:08:48 +09:00
minjaesong
0904ff1cd0 quickslot design change 2022-10-01 01:51:54 +09:00
minjaesong
37cf747cab font update 2022-09-30 23:02:48 +09:00
minjaesong
fbd674aade item count and durability meter on the quickslot 2022-09-30 21:14:34 +09:00
minjaesong
f8c13c7bc6 q&d fix for spinner number rounds down to unintended value 2022-09-28 22:43:44 +09:00
minjaesong
105f524c4a update newrunes.tga 2022-09-19 01:34:03 +09:00
minjaesong
64189318cb update keyboard layout 2022-09-19 00:02:54 +09:00
minjaesong
17f85aa155 more accurate floating point comparison with epsilon 2022-09-14 10:54:26 +09:00
minjaesong
f696672d0f grass tile update 2022-09-13 13:34:54 +09:00
minjaesong
f8d93b2de2 closed door now actually blocks lights 2022-09-11 19:42:12 +09:00
minjaesong
bec47e81e2 now dropped items can produce light (e.g. dropped torch) 2022-09-11 17:10:01 +09:00
minjaesong
430ad4e703 fixture ghost will be hidden if the mouse position out of reach for the player 2022-09-10 17:11:55 +09:00
minjaesong
3eb98f8c28 minor font update 2022-09-04 21:58:06 +09:00
minjaesong
730b17752a updated README.md 2022-09-03 23:43:20 +09:00
minjaesong
7905de5481 serialisation of the world is split into two packages: complex one is moved under the modulebasegame package 2022-09-03 23:05:49 +09:00
minjaesong
d6144d52d2 basegame: added an Interface that marks the actor as 'not to be serialised when saving the world' 2022-09-02 23:26:59 +09:00
minjaesong
760188ebe9 savegame cracker: fixing a mistake that space chars would not tokenise the command input 2022-08-31 12:54:39 +09:00
minjaesong
6429d53be6 using quotation marks to surround arg with space chars 2022-08-31 11:59:17 +09:00
minjaesong
e4caf29791 adding loadorder to savegame 2022-08-31 02:40:46 +09:00
minjaesong
0310c71c74 fixed a bug where IME candidate window is rendered too tall for its contents; added QWERTZ layout 2022-08-30 15:02:01 +09:00
minjaesong
c8f62c31f4 font update 2022-08-30 14:48:28 +09:00
minjaesong
b043f0df95 door manual operation 2022-08-30 14:43:14 +09:00
minjaesong
2e0f55567f halved the number of dither pattern textures and added even more variations using the swizzling 2022-08-30 01:53:16 +09:00
minjaesong
bf962376d4 added a typewriter (no gui) 2022-08-26 21:52:31 +09:00
minjaesong
d6ce5c791e control for using fixture changed to right click 2022-08-26 18:26:13 +09:00
minjaesong
6bea80090d revived the worldSecondaryClick function 2022-08-26 13:36:41 +09:00
minjaesong
9f0f7fd1ce another music composer ui ideas 2022-08-25 17:57:17 +09:00
minjaesong
6a421eaa87 fixed a bug where door would not operate as it should when the door is placed at the 'seam' of the ROUNDWORLD 2022-08-10 20:01:50 +09:00
minjaesong
f4d8d72715 magnified screen will display everything correctly scaled (but some buttons wont work for some reason) 2022-08-10 00:04:26 +09:00
minjaesong
6e0f9a5924 uiitemtextlineinput: text cursor follows drawn text when text is centre-aligned 2022-08-08 23:05:30 +09:00
minjaesong
2a78646a02 two large caps on cpu were not shaded :/ 2022-08-08 00:26:42 +09:00
minjaesong
8cf3111a36 assets for build-your-own-computer minigame 2022-08-08 00:08:15 +09:00
minjaesong
93692443b1 text centering on UIItemTextLineInput 2022-08-04 13:52:07 +09:00
minjaesong
b77aea760b slightly better resolution input 2022-08-04 01:20:27 +09:00
minjaesong
d820f78982 font update 2022-08-03 00:55:04 +09:00
minjaesong
75659dee6e implemented textCommitListener for UIItemTextLineInput 2022-08-03 00:54:52 +09:00
minjaesong
026a90c0aa fixed a bug where uiitemspinner would accumulate floating point precision errors over use 2022-08-02 03:41:24 +09:00
minjaesong
bb3511b1db blocksdrawer now works with screen zoomed 2022-08-02 02:56:09 +09:00
minjaesong
8b2cabcbdc removing redundant maths ops on hitbox intersect detection with ROUNDWORLD 2022-07-28 23:40:55 +09:00
minjaesong
d7d3e430ef fixed a bug where solid actorblock would cause wrong tile connection and ambient occlusion 2022-07-28 23:21:24 +09:00
minjaesong
48443a9c11 class for door variants 2022-07-28 20:29:58 +09:00
minjaesong
99a60716b8 overridable door base so that door variants can be created 2022-07-28 20:21:06 +09:00
minjaesong
56fbfb578f door automatic opening/closing now works 2022-07-28 15:48:01 +09:00
minjaesong
c903d48073 fixed a bug where non-solid blocks would still placed indefinitely 2022-07-22 17:19:43 +09:00
minjaesong
6495e741e6 tile's platform-ness is now determined by their tag 2022-07-20 18:21:16 +09:00
minjaesong
0f4508986d fixed a bug where ActorWithBody.mouseUp is incorrectly implemented 2022-07-20 17:29:10 +09:00
minjaesong
de7ef60396 block marker to not appear on the actors-under-cursor list 2022-07-20 00:05:37 +09:00
minjaesong
360260cf03 tapestry now spawns thanks to all the code that made door to spawn correctly 2022-07-19 23:43:18 +09:00
minjaesong
8b8fc0e93c actorblock only renders when F3 is on 2022-07-19 22:14:40 +09:00
minjaesong
78d249cb6e door and its ghost now spawns at the right position in the world 2022-07-19 21:46:59 +09:00
minjaesong
06ef46d369 some changes regarding actorblocks 2022-07-19 18:32:21 +09:00
minjaesong
5fbbf34c10 fixed a bug where the player would immediately pick back up the fixture they've just placed one frame ago 2022-07-19 00:25:13 +09:00
minjaesong
23c2d86c27 fixed a bug where blocks are still consumend even if there is a block already under the cursor 2022-07-14 17:07:59 +09:00
minjaesong
69c5ceb61f wire connecting will take ROUNDWORLD into account 2022-07-13 23:19:47 +09:00
minjaesong
c5360cdcb8 working wire cutter 2022-07-13 21:28:59 +09:00
minjaesong
2a7e2b7ce4 centering of labels for crafting ui 2022-07-13 17:40:07 +09:00
minjaesong
d86fd5d5fe chest ui: chest names are centered around the cells 2022-07-13 01:08:38 +09:00
minjaesong
b583cb850f wire is now placed as intended 2022-07-11 20:01:19 +09:00
minjaesong
ee39128378 renderer is updated but wire pieces have some bugs on laying wire to the world 2022-07-08 22:02:42 +09:00
minjaesong
adc151b169 wire connectivity wip (need to take a look at the renderer) 2022-07-08 00:27:00 +09:00
minjaesong
db0be9e088 wire connectivity wip 2022-07-07 01:06:43 +09:00
minjaesong
84158319d1 'recipe for the recipe' selected by the game will also update the UI accordingly so that players would know the other recipe has been selected 2022-07-05 17:25:49 +09:00
minjaesong
f2e690b936 modules can now have their own config files 2022-07-03 18:17:50 +09:00
minjaesong
565323ef07 clicking on craftable ingredient will bring up its crafting recipe 2022-07-03 02:37:25 +09:00
minjaesong
523dd458ce crafting ui nearly complete 2022-07-02 23:28:33 +09:00
minjaesong
4eb3ad07f3 crafting ui item cell highlighting works as intended 2022-07-02 18:06:52 +09:00
minjaesong
60497e4201 fixed a bug where selected recipe does not highlight 2022-07-02 15:57:58 +09:00
minjaesong
5cd5e9a6bf altering recipe by player works but button highlighting is not 2022-07-01 17:45:00 +09:00
minjaesong
8363b5b4ea control help for computer ui 2022-07-01 02:27:06 +09:00
minjaesong
4e98a8c00e ingredients selected for crafting will be highlighted on the player inventory area 2022-06-30 22:05:05 +09:00
minjaesong
6a6c042e11 control help for crafting menu 2022-06-29 20:01:11 +09:00
minjaesong
8ffe949778 crafting ui now resets after a crafting 2022-06-29 17:54:41 +09:00
minjaesong
263298a18d seemingly working crafting window 2022-06-29 17:44:38 +09:00
minjaesong
afc4435f25 idle fps configurable via config file 2022-06-29 16:16:54 +09:00
minjaesong
068721376f q&d fix for spinner initialise to blank label on crafting ui 2022-06-29 02:53:17 +09:00
minjaesong
9edfc90ad8 a cell for items to craft will highlight when selected 2022-06-29 00:02:18 +09:00
minjaesong
b34502ebd3 crafting ui working (visuals only) 2022-06-28 22:51:09 +09:00
minjaesong
8ee2a2f56d more crafting ui wip 2022-06-28 00:57:40 +09:00
minjaesong
d56fb81bcf more crafting ui wip but i'm going to need 1 new beeeg uiitem 2022-06-27 22:09:38 +09:00
minjaesong
6e4677352d errormsgs 2022-06-26 20:04:52 +09:00
minjaesong
bb2641a523 slightly more detailed errormsg 2022-06-26 11:14:35 +09:00
minjaesong
29f6c6dfdf crash report in HTML 2022-06-26 03:38:07 +09:00
minjaesong
c1e190cd0d crash handler to display mod errors if any 2022-06-26 03:00:17 +09:00
minjaesong
8c07b03213 crafting recipe is at least successfully read and parsed by the modloader 2022-06-25 22:40:23 +09:00
minjaesong
4569546bdd crafting recipe loader wip 2022-06-25 03:28:02 +09:00
minjaesong
828a485395 screen magnifying for hidpi WIP 2022-06-13 13:19:10 +09:00
minjaesong
27509a7291 new furbud sprite for yet another testing 2022-06-05 15:22:04 +09:00
minjaesong
fc59a1d0b2 added Gamerules to the GameWorld 2022-06-03 00:54:50 +09:00
minjaesong
a57cb99619 simplified crafting recipe definition 2022-05-15 15:18:03 +09:00
minjaesong
5781f5cd00 better dithering on toggler texture 2022-05-02 23:10:51 +09:00
minjaesong
7ff6dfe1fe Revert "Light Calculation using JDK Incubator Vector": Vectorising
yields poorer performance

This reverts commit b47549d846.
2022-04-21 15:34:24 +09:00
minjaesong
b47549d846 Light Calculation using JDK Incubator Vector 2022-04-21 15:29:15 +09:00
minjaesong
fd72b3d3ba this is a super jank solution but it worked (shrug) 2022-04-20 20:15:26 +09:00
minjaesong
b3a27bb428 tried to tackle the alpha blending issue but it seems the problem is on somewhere far far away 2022-04-20 17:53:47 +09:00
minjaesong
cfcdb9c998 adding a tail to the sprite 2022-04-20 10:18:54 +09:00
minjaesong
d350ec2866 another (n)pc template 2022-04-14 23:38:29 +09:00
minjaesong
50012444b5 repurposed a 'minimal res' indicator to represent 'ui area' as it's no longer necessary to care about the minimal window size allowed 2022-04-14 16:06:07 +09:00
minjaesong
b92b53352b more 'correct' dithering equation 2022-04-12 11:16:58 +09:00
minjaesong
9b2d85c640 colour grading proof-of-concept on postprocessing 2022-04-08 16:47:54 +09:00
minjaesong
6238e92f65 ycocg-based colour grading test wip 2022-04-07 17:48:56 +09:00
minjaesong
97633eba46 unsafeptr is now byte-aligned 2022-04-06 20:54:58 +09:00
minjaesong
d958683365 still have no idea how to make this work 2022-04-05 17:46:03 +09:00
minjaesong
59921ce2f8 fixed a bug where greek ime would errenously erase a character when composing diacritics 2022-04-05 10:30:22 +09:00
minjaesong
0cef2431be another minor touches 2022-04-02 11:14:46 +09:00
minjaesong
43bbecf791 tilewise mouse coord on debug window 2022-04-01 22:22:34 +09:00
minjaesong
620ebf4aa4 virtual down down working slightly better 2022-03-31 15:58:59 +09:00
minjaesong
faa33d9a81 more debugwindow stuffs 2022-03-31 10:24:47 +09:00
minjaesong
d387b9ca37 more frivulous debug window frisbees 2022-03-30 17:05:46 +09:00
minjaesong
147c57557d debug window: toggle visibility of timers using U key 2022-03-30 14:21:16 +09:00
minjaesong
a0d13a6060 fixing a minor bug on getLight coord 2022-03-30 14:08:43 +09:00
minjaesong
85d333a560 fixing various oversights in debug window 2022-03-30 10:04:43 +09:00
minjaesong
fc7cbe0575 background for debug info 2022-03-29 22:03:41 +09:00
minjaesong
d85661f668 more debug elements 2022-03-29 20:52:26 +09:00
minjaesong
a602c9d18b using relative pos for debug info elements 2022-03-29 18:42:18 +09:00
minjaesong
86318511cb new debug window wip 2022-03-29 17:57:35 +09:00
minjaesong
bac8bd7f90 tfw a jank idea seemingly fixes the long-winded platform bug 2022-03-29 16:11:57 +09:00
minjaesong
8c8e41871a portrait on equippedview 2022-03-25 16:22:35 +09:00
minjaesong
327e000a54 shader cleanup; a config key for higher bits per pixel on graphics 2022-03-25 15:50:03 +09:00
minjaesong
af542e43a9 portrait now available again on player load; still not on the equippedview 2022-03-25 15:06:14 +09:00
minjaesong
4b6a878601 assembledsprite now animates 2022-03-24 22:44:55 +09:00
minjaesong
53ee28eb85 now draws held item again 2022-03-24 16:19:51 +09:00
minjaesong
49c47dc42e do not backup savegame on load 2022-03-24 14:35:41 +09:00
minjaesong
de71f8bd17 AssembledSpriteAnimation now renders correctly 2022-03-24 14:24:36 +09:00
minjaesong
765ece0635 discarding the idea of baking assembledsprite onto a spritesheet; revert to the commit right before this to completely scrap the efforts 2022-03-23 17:43:56 +09:00
minjaesong
ab73511042 lol i don't need quotation marks on csv 2022-03-23 10:22:14 +09:00
minjaesong
76435dbbdf fixed a stupid bug where spawning a same kind of fixture twice would crash the game because the spawner would not renew the fixture instance after a first spawn 2022-03-23 10:03:03 +09:00
minjaesong
de45ad1c25 another font fix 2022-03-22 17:08:47 +09:00
minjaesong
78869fc84f just some silly math functions 2022-03-22 12:26:30 +09:00
minjaesong
000f825849 a new key for blocks.csv; csveditor updates 2022-03-22 11:11:44 +09:00
minjaesong
8974d336c4 font update 2022-03-22 09:29:49 +09:00
minjaesong
194a79d134 fixed a bug where fullscreen inventory ui would errenously unpause the game 2022-03-20 00:58:37 +09:00
minjaesong
b8ccee3882 font update 2022-03-19 10:42:57 +09:00
minjaesong
c309948b40 font update; another idea for a fixture 2022-03-17 16:45:59 +09:00
minjaesong
52f0dfdeb9 various fixes 2022-03-16 12:50:43 +09:00
minjaesong
40a7c6876a fixed a bug where closing the inventory ui while tooltip is showing will make it persist when the ui is opened again 2022-03-12 17:52:48 +09:00
minjaesong
54f1f590c4 font update 2022-03-12 11:52:10 +09:00
minjaesong
d15dc20300 crafting system wip 2022-03-11 17:46:35 +09:00
minjaesong
b5aacd976c tags on ingame blocks 2022-03-11 15:05:06 +09:00
minjaesong
6c7cbc02ae some language key change 2022-03-11 14:26:33 +09:00
minjaesong
d235084f92 configurable crafting menu key 2022-03-11 12:27:25 +09:00
minjaesong
7f01ac2641 untracking ModuleComputers.jar 2022-03-11 11:36:20 +09:00
minjaesong
f9f9aa414a crafting ui is on the inventory menu now 2022-03-11 11:34:33 +09:00
minjaesong
d09befee6f crafting ui wip 2022-03-10 17:56:26 +09:00
minjaesong
d589b602ef why ghost item latch is always false when read?? fixed using atomic vars 2022-03-10 13:34:42 +09:00
minjaesong
ee80d460f2 inventory ui elements position adjustments 2022-03-10 11:55:38 +09:00
minjaesong
38878607eb changed a label for 'return to main menu' to 'quit' because some players are reported to think 'return to main menu' would close the ESC menu 2022-03-10 09:38:18 +09:00
minjaesong
8e5dccb86a fixed a bug where cursoring left on textlineinput won't scroll the input ui correctly 2022-03-08 23:16:37 +09:00
minjaesong
88c71b6c06 hash checking for module's jarfile 2022-03-08 11:59:28 +09:00
minjaesong
96e0444be1 more tree updates 2022-03-07 21:24:04 +09:00
minjaesong
a769594ce3 font update 2022-03-06 13:55:22 +09:00
minjaesong
cb364fdb06 more usage ideas for zinc 2022-03-04 23:44:18 +09:00
minjaesong
541be15eed wip? 2022-03-02 17:49:19 +09:00
minjaesong
0695dd843a imprved comments 2022-03-02 09:13:47 +09:00
minjaesong
6906d24e59 simpler way of making item sprite 2022-03-01 19:08:06 +09:00
minjaesong
7e90387afc fixed a bug with canvas texture blending 2022-02-28 23:53:42 +09:00
minjaesong
13003a63d3 moving platform wip 2022-02-28 17:54:07 +09:00
minjaesong
e8330af14a tapestry is decoded and itemised just fine but does not spawn 2022-02-28 15:34:48 +09:00
minjaesong
68d8bf13b7 tapestry sprite to draw frame 2022-02-28 11:39:29 +09:00
minjaesong
142fcab930 no module window backdrop colour now depends on the os it's running 2022-02-27 23:02:16 +09:00
minjaesong
fad23901d6 forgot to remove test prints 2022-02-27 19:24:01 +09:00
minjaesong
3443a5baab modularise everything 2022-02-27 18:52:59 +09:00
minjaesong
f4402771c8 ability to load console commands from mods 2022-02-27 02:24:59 +09:00
minjaesong
95476359fe fixed a bug where world thumbnail is not centered to the player 2022-02-25 15:35:17 +09:00
minjaesong
dc86de139c fixed a bug where actors lightbox won't follow the actor's scale 2022-02-25 14:36:36 +09:00
minjaesong
6d3a577e46 font update 2022-02-25 13:39:38 +09:00
minjaesong
b2aece0176 changed lightboxes so that (de)serialiser won't complain; world/actor json will will write game version it saved 2022-02-25 11:42:30 +09:00
minjaesong
428cdefb80 actors can now block light 2022-02-24 17:51:18 +09:00
minjaesong
2e3a9e6fa0 wider module info cells 2022-02-24 14:55:57 +09:00
minjaesong
8ee221b93d no module titlescreen: clickable load order path 2022-02-24 13:44:51 +09:00
minjaesong
900cef6435 F12 now takes screenshot in PNG format 2022-02-24 11:09:48 +09:00
minjaesong
b3940d96b8 support for external mods 2022-02-24 11:03:03 +09:00
minjaesong
598d0514ff a temporary solution for Windows which just uses the batch file 2022-02-23 22:56:54 +09:00
minjaesong
040b0b5aad proper application name for macOS plist 2022-02-23 21:19:39 +09:00
minjaesong
7c966b0da8 support for texture packs 2022-02-23 17:59:38 +09:00
minjaesong
841a77403b Application build scripts 2022-02-23 11:52:34 +09:00
minjaesong
cba25ef428 font update 2022-02-23 09:21:06 +09:00
minjaesong
596cd9b102 a console command to fill up inventory with every item 2022-02-22 17:22:54 +09:00
minjaesong
df6950c0b8 fixed a bug where a dynamic item would not get saved/loaded at all 2022-02-22 17:12:49 +09:00
minjaesong
1787ad7cdd terrain item image atlas to always have maximum possible sizes defined on the game config 2022-02-21 22:03:59 +09:00
minjaesong
c8dbb26922 savegame loading failure will display more helpful exception 2022-02-21 21:19:48 +09:00
minjaesong
6f4b53daad buncha missing illuminators 2022-02-21 17:53:02 +09:00
minjaesong
f5b6a3e22a colour picker wip 2022-02-21 16:29:35 +09:00
minjaesong
46b15c3d95 build suggestion to hide the jarfile into the subdir 2022-02-21 13:27:53 +09:00
minjaesong
9c9a888496 startup scripts to change working directory to where the script files are 2022-02-21 13:07:03 +09:00
minjaesong
9659ef3a5f faux global illumination impl 2022-02-21 11:01:27 +09:00
minjaesong
7bec4c29af gv 2022-02-20 13:02:25 +09:00
minjaesong
19de7c7fa3 ui suggestion upgate 2022-02-18 18:32:39 +09:00
minjaesong
545663254f tree update 2022-02-18 11:45:30 +09:00
minjaesong
541463ea8c font update 2022-02-18 09:05:46 +09:00
minjaesong
cdc82f9495 doc update 2022-02-17 23:04:25 +09:00
minjaesong
f581409d82 doc changes 2022-02-15 21:43:38 +09:00
minjaesong
a7183f0650 another tech tree but item-oriented 2022-02-15 17:52:17 +09:00
minjaesong
5148ef3821 font update 2022-02-14 13:44:10 +09:00
minjaesong
ba3615a8e1 shader version shenanigan 2022-02-11 17:59:21 +09:00
minjaesong
5c94e88d76 inventory item count is now Long; should not interfere with the existing savegame 2022-02-11 09:33:50 +09:00
862 changed files with 22998 additions and 11289 deletions

2
.gitattributes vendored
View File

@@ -7,3 +7,5 @@
*.zip filter=lfs diff=lfs merge=lfs -text
*.kra filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.icns filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text

6
.gitignore vendored
View File

@@ -2,8 +2,14 @@
out/*
bin/*
build/*
assets_release/*
.gradle/*
TerrarumBuild.jar
buildapp/out/Terrarum*
buildapp/TerrarumLinux.*
buildapp/TerrarumMac.*
buildapp/TerrarumWindows.*
assets/mods/dwarventech/ModuleComputers.jar
# Java native errors
hs_err_pid*

1
.idea/.name generated
View File

@@ -1 +0,0 @@
Terrarum_renewed

View File

@@ -5,6 +5,13 @@
<element id="module-output" name="ModuleComputers" />
<element id="extracted-dir" path="$PROJECT_DIR$/ModuleComputers/lib/TerrarumTSVM.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/ModuleComputers/lib/TerranVirtualDisk.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.8.21/kotlin-stdlib-jdk8-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/kotlin-stdlib-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.21/kotlin-stdlib-common-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.8.21/kotlin-stdlib-jdk7-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-reflect/1.8.21/kotlin-reflect-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-test/1.8.21/kotlin-test-1.8.21.jar" path-in-jar="/" />
</root>
</artifact>
</component>

88
.idea/artifacts/SpriteAssemblerApp.xml generated Normal file
View File

@@ -0,0 +1,88 @@
<component name="ArtifactManager">
<artifact type="jar" name="SpriteAssemblerApp">
<output-path>$PROJECT_DIR$/out</output-path>
<root id="archive" name="terrarum.terrarum.jar">
<element id="directory" name="META-INF">
<element id="file-copy" path="$PROJECT_DIR$/src/net/torvald/terrarum/spriteassembler/META-INF/MANIFEST.MF" />
</element>
<element id="module-output" name="TerrarumBuild" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/Terrarum_Joise.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/commons-csv-1.8.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/TerrarumSansBitmap.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/jlayer-1.0.1-gdx.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/jorbis-0.0.17.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-controllers-core-2.2.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/GetCpuName.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/prtree.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/commons-codec-1.15.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/jxinput-1.0.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-controllers-desktop-2.2.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/kotlin-stdlib-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-1.11.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.11.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.8.21/kotlin-stdlib-jdk7-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.21/kotlin-stdlib-common-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.8.21/kotlin-stdlib-jdk8-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk8.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk7.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-reflect.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/graal-sdk-22.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/icu4j-71.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/js-22.3.1-edit.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/js-scriptengine-22.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/regex-22.3.1-edit.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/truffle-api-22.3.1.jar" path-in-jar="/" />
</root>
</artifact>
</component>

View File

@@ -5,67 +5,88 @@
<element id="directory" name="META-INF">
<element id="file-copy" path="$PROJECT_DIR$/src/META-INF/MANIFEST.MF" />
</element>
<element id="module-output" name="terrarum.terrarum" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.10.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-1.10.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.2.3.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.2.3-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.2.3-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.2.3-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.2.3-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.2.3-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.2.3-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.2.3.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-natives-macos.jar" path-in-jar="/" />
<element id="module-output" name="TerrarumBuild" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/jlayer-1.0.1-gdx.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/jorbis-0.0.17.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/commons-codec-1.15.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-controllers-core-2.2.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-controllers-desktop-2.2.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-platform-1.10.0-natives-desktop.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/GetCpuName.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/jxinput-1.0.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-reflect.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-test.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk7.jar" path-in-jar="/" />
<element id="extracted-dir" path="$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk8.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/commons-csv-1.8.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/prtree.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/Terrarum_Joise.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/TerrarumSansBitmap.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/graal-sdk-21.1.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/icu4j-68.2.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/js-21.1.0-edit.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/js-scriptengine-21.1.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/truffle-api-21.1.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/regex-21.1.0-edit.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-1.11.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.11.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-linux.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-linux-arm32.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-linux-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-macos.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-macos-arm64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-windows.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-windows-x86.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-arm64-v8a.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-armeabi-v7a.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-desktop.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-x86_64.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-reflect/1.8.21/kotlin-reflect-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/kotlin-stdlib-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.21/kotlin-stdlib-common-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar" path-in-jar="/" />
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-test/1.8.21/kotlin-test-1.8.21.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/js-scriptengine-22.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/truffle-api-22.3.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/icu4j-71.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/regex-22.3.1-edit.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/js-22.3.1-edit.jar" path-in-jar="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/graal-sdk-22.3.1.jar" path-in-jar="/" />
</root>
</artifact>
</component>

View File

@@ -1,41 +1,18 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<JetCodeStyleSettings>
<option name="ALIGN_IN_COLUMNS_CASE_BRANCH" value="true" />
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</JetCodeStyleSettings>
<MarkdownNavigatorCodeStyleSettings>
<option name="RIGHT_MARGIN" value="72" />
</MarkdownNavigatorCodeStyleSettings>
<XML>
<option name="XML_LEGACY_SETTINGS_IMPORTED" value="true" />
</XML>
<codeStyleSettings language="JAVA">
<option name="KEEP_FIRST_COLUMN_COMMENT" value="false" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_CHAINED_METHODS" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="CALL_PARAMETERS_RPAREN_ON_NEXT_LINE" value="true" />
<option name="METHOD_PARAMETERS_WRAP" value="1" />
<option name="THROWS_LIST_WRAP" value="1" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="KEEP_SIMPLE_CLASSES_IN_ONE_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="5" />
<option name="ARRAY_INITIALIZER_WRAP" value="5" />
<option name="ARRAY_INITIALIZER_RBRACE_ON_NEXT_LINE" value="true" />
<option name="WRAP_ON_TYPING" value="0" />
</codeStyleSettings>
<codeStyleSettings language="kotlin">
<option name="KEEP_BLANK_LINES_IN_DECLARATIONS" value="5" />
<option name="KEEP_BLANK_LINES_IN_CODE" value="5" />
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />
</codeStyleSettings>
</code_scheme>
</component>

3
.idea/compiler.xml generated
View File

@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<option name="BUILD_PROCESS_HEAP_SIZE" value="2048" />
<annotationProcessing>
<profile default="true" name="Default" enabled="true" />
</annotationProcessing>
<bytecodeTargetLevel target="11" />
<bytecodeTargetLevel target="17" />
</component>
<component name="JavacSettings">
<option name="PREFER_TARGET_JDK_COMPILER" value="false" />

6
.idea/kotlinc.xml generated
View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Kotlin2JsCompilerArguments">
<option name="sourceMapEmbedSources" />
</component>
<component name="Kotlin2JvmCompilerArguments">
<option name="jvmTarget" value="1.8" />
</component>
<component name="KotlinJpsPluginSettings">
<option name="version" value="1.8.0" />
</component>
</project>

View File

@@ -1,19 +1,26 @@
<component name="libraryTable">
<library name="KotlinJavaRuntime">
<library name="KotlinJavaRuntime" type="repository">
<properties maven-id="org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21" />
<CLASSES>
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-stdlib.jar!/" />
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-reflect.jar!/" />
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-test.jar!/" />
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk7.jar!/" />
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk8.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.8.21/kotlin-stdlib-jdk8-1.8.21.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/kotlin-stdlib-1.8.21.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.21/kotlin-stdlib-common-1.8.21.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.8.21/kotlin-stdlib-jdk7-1.8.21.jar!/" />
</CLASSES>
<JAVADOC />
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.8.21/kotlin-stdlib-jdk8-1.8.21-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/kotlin-stdlib-1.8.21-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.21/kotlin-stdlib-common-1.8.21-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.8.21/kotlin-stdlib-jdk7-1.8.21-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-stdlib-sources.jar!/" />
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-reflect-sources.jar!/" />
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-test-sources.jar!/" />
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk7-sources.jar!/" />
<root url="jar://$KOTLIN_BUNDLED$/lib/kotlin-stdlib-jdk8-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.8.21/kotlin-stdlib-jdk8-1.8.21-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/kotlin-stdlib-1.8.21-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.21/kotlin-stdlib-common-1.8.21-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.8.21/kotlin-stdlib-jdk7-1.8.21-sources.jar!/" />
</SOURCES>
</library>
</component>

17
.idea/libraries/badlogicgames_gdx.xml generated Normal file
View File

@@ -0,0 +1,17 @@
<component name="libraryTable">
<library name="badlogicgames.gdx" type="repository">
<properties maven-id="com.badlogicgames.gdx:gdx:1.11.0" />
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/gdx-1.11.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/gdx-1.11.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/gdx-1.11.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -0,0 +1,170 @@
<component name="libraryTable">
<library name="badlogicgames.gdx.backend.lwjgl3" type="repository">
<properties maven-id="com.badlogicgames.gdx:gdx-backend-lwjgl3:1.11.0" />
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.11.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.11.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-linux-arm32.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-linux-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-macos-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-natives-windows-x86.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-linux-arm32.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-linux-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-macos-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-natives-windows-x86.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-linux-arm32.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-linux-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-macos-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-natives-windows-x86.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-linux-arm32.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-linux-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-macos-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-natives-windows-x86.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux-arm32.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-linux-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-macos-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-natives-windows-x86.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-linux-arm32.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-linux-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-macos-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-natives-windows-x86.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jlayer-1.0.1-gdx.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jorbis-0.0.17.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.11.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.11.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jlayer-1.0.1-gdx-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jorbis-0.0.17-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.11.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.11.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-jnigen-loader-2.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-stb-3.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jlayer-1.0.1-gdx-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jorbis-0.0.17-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,14 +0,0 @@
<component name="libraryTable">
<library name="com.badlogicgames.gdx:gdx:1.10.0" type="repository">
<properties maven-id="com.badlogicgames.gdx:gdx:1.10.0" />
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/gdx-1.10.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/gdx-1.10.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/gdx-1.10.0-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,128 +0,0 @@
<component name="libraryTable">
<library name="com.badlogicgames.gdx:gdx-backend-lwjgl3:1.10.0" type="repository">
<properties maven-id="com.badlogicgames.gdx:gdx-backend-lwjgl3:1.10.0" />
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.10.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.10.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-natives-windows-x86.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-natives-linux-arm32.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-natives-linux-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-natives-windows-x86.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-natives-linux-arm32.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-natives-linux-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-natives-windows-x86.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-natives-linux-arm32.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-natives-linux-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-natives-windows-x86.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-natives-linux-arm32.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-natives-linux-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-natives-windows.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-natives-windows-x86.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-natives-linux.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-natives-linux-arm32.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-natives-linux-arm64.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-natives-macos.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jlayer-1.0.1-gdx.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jorbis-0.0.17.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.10.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.10.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jlayer-1.0.1-gdx-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jorbis-0.0.17-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.10.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-1.10.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-glfw-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-jemalloc-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-opengl-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/lwjgl-openal-3.2.3-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jlayer-1.0.1-gdx-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jorbis-0.0.17-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,9 +0,0 @@
<component name="libraryTable">
<library name="gdx-platform-1.10.0-natives-desktop">
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/gdx-platform-1.10.0-natives-desktop.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,12 @@
<component name="libraryTable">
<library name="gdx-platform-1.11.0-natives">
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-arm64-v8a.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-armeabi-v7a.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-desktop.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-platform-1.11.0-natives-x86_64.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -1,28 +0,0 @@
<component name="libraryTable">
<library name="graalvm-js-21.1.0 and graalvm-js-scriptengine-21.1.0">
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/graal-sdk-21.1.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/icu4j-68.2.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-21.1.0-edit.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-21.1.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/truffle-api-21.1.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/regex-21.1.0-edit.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/graal-sdk-21.1.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/icu4j-68.2-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-21.1.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-21.1.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/truffle-api-21.1.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/regex-21.1.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/graal-sdk-21.1.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/icu4j-68.2-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-21.1.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-21.1.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/truffle-api-21.1.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/regex-21.1.0-sources.jar!/" />
</SOURCES>
</library>
</component>

28
.idea/libraries/graalvm_js_22_3_1.xml generated Normal file
View File

@@ -0,0 +1,28 @@
<component name="libraryTable">
<library name="graalvm-js 22.3.1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/graal-sdk-22.3.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/icu4j-71.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-22.3.1-edit.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-22.3.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/regex-22.3.1-edit.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/truffle-api-22.3.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/graal-sdk-22.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/icu4j-71.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-22.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-22.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/regex-22.3.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/truffle-api-22.3.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/graal-sdk-22.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/icu4j-71.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-22.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/js-scriptengine-22.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/regex-22.3.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/truffle-api-22.3.1-sources.jar!/" />
</SOURCES>
</library>
</component>

14
.idea/libraries/io_github_classgraph.xml generated Normal file
View File

@@ -0,0 +1,14 @@
<component name="libraryTable">
<library name="io.github.classgraph" type="repository">
<properties maven-id="io.github.classgraph:classgraph:4.8.157" />
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/classgraph-4.8.157.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/classgraph-4.8.157-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/classgraph-4.8.157-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="jetbrains.kotlin.reflect" type="repository">
<properties maven-id="org.jetbrains.kotlin:kotlin-reflect:1.8.21" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-reflect/1.8.21/kotlin-reflect-1.8.21.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/kotlin-stdlib-1.8.21.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.21/kotlin-stdlib-common-1.8.21.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="jetbrains.kotlin.test" type="repository">
<properties maven-id="org.jetbrains.kotlin:kotlin-test:1.8.21" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-test/1.8.21/kotlin-test-1.8.21.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/kotlin-stdlib-1.8.21.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.21/kotlin-stdlib-common-1.8.21.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -1,23 +0,0 @@
<component name="libraryTable">
<library name="jetbrains.kotlinx.coroutines.core" type="repository">
<properties maven-id="org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.1" />
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/kotlinx-coroutines-core-1.4.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/kotlin-stdlib-1.4.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/annotations-13.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/kotlin-stdlib-common-1.4.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/kotlinx-coroutines-core-1.4.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/kotlin-stdlib-1.4.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/annotations-13.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/kotlin-stdlib-common-1.4.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/kotlinx-coroutines-core-1.4.1-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/kotlin-stdlib-1.4.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/annotations-13.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/kotlin-stdlib-common-1.4.0-sources.jar!/" />
</SOURCES>
</library>
</component>

4
.idea/modules.xml generated
View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ModuleRenamingHistory">
<module old-name="terrarum" new-name="terrarum.terrarum" />
<module old-name="terrarum" new-name="TerrarumBuild" />
</component>
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/ModuleComputers/ModuleComputers.iml" filepath="$PROJECT_DIR$/ModuleComputers/ModuleComputers.iml" />
<module fileurl="file://$PROJECT_DIR$/terrarum.terrarum.iml" filepath="$PROJECT_DIR$/terrarum.terrarum.iml" />
<module fileurl="file://$PROJECT_DIR$/TerrarumBuild.iml" filepath="$PROJECT_DIR$/TerrarumBuild.iml" />
</modules>
</component>
</project>

19
.idea/runConfigurations/Principii.xml generated Normal file
View File

@@ -0,0 +1,19 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Principii" type="Application" factoryName="Application" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="net.torvald.terrarum.Principii" />
<module name="TerrarumBuild" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="net.torvald.terrarum.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="BuildArtifacts" enabled="true">
<artifact name="ModuleComputers" />
<artifact name="TerrarumBuild" />
</option>
<option name="Make" enabled="true" />
</method>
</configuration>
</component>

View File

@@ -0,0 +1,15 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="SpriteAssemblerApp" type="JarApplication">
<option name="JAR_PATH" value="$PROJECT_DIR$/out/SpriteAssemblerApp.jar" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
<option name="ALTERNATIVE_JRE_PATH" value="17" />
<module name="TerrarumBuild" />
<method v="2">
<option name="BuildArtifacts" enabled="true">
<artifact name="SpriteAssemblerApp" />
</option>
</method>
</configuration>
</component>

View File

@@ -1,11 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Terrarum" type="JarApplication">
<option name="JAR_PATH" value="$PROJECT_DIR$/out/TerrarumBuild.jar" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="VM_PARAMETERS" value="-ea -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
<option name="ALTERNATIVE_JRE_PATH" value="17" />
<module name="terrarum.terrarum" />
<module name="TerrarumBuild" />
<method v="2">
<option name="BuildArtifacts" enabled="true">
<artifact name="ModuleComputers" />

View File

@@ -1,10 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Terrarum (no DEV MODE)" type="JarApplication">
<option name="JAR_PATH" value="$PROJECT_DIR$/out/TerrarumBuild.jar" />
<option name="VM_PARAMETERS" value="-Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
<option name="ALTERNATIVE_JRE_PATH" value="17" />
<module name="terrarum.terrarum" />
<module name="TerrarumBuild" />
<method v="2">
<option name="BuildArtifacts" enabled="true">
<artifact name="ModuleComputers" />

View File

@@ -1,6 +1,6 @@
*Terrarum*
Copyright (C) 2013-2022 Minjae Song ("CuriousTorvald")
Copyright (C) 2013-2023 Minjae Song ("CuriousTorvald")
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -8,11 +8,14 @@
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="ModuleComputersLib" level="project" />
<orderEntry type="module" module-name="terrarum.terrarum" />
<orderEntry type="library" name="com.badlogicgames.gdx:gdx-backend-lwjgl3:1.10.0" level="project" />
<orderEntry type="library" name="com.badlogicgames.gdx:gdx:1.10.0" level="project" />
<orderEntry type="library" name="graalvm-js-21.1.0 and graalvm-js-scriptengine-21.1.0" level="project" />
<orderEntry type="library" name="jetbrains.kotlinx.coroutines.core" level="project" />
<orderEntry type="module" module-name="TerrarumBuild" />
<orderEntry type="library" name="graalvm-js 22.3.1" level="project" />
<orderEntry type="library" name="TerrarumSansBitmap" level="project" />
<orderEntry type="library" name="badlogicgames.gdx" level="project" />
<orderEntry type="library" name="badlogicgames.gdx.backend.lwjgl3" level="project" />
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
<orderEntry type="library" name="jetbrains.kotlin.reflect" level="project" />
<orderEntry type="library" name="jetbrains.kotlin.test" level="project" />
<orderEntry type="library" name="io.github.classgraph" level="project" />
</component>
</module>

Binary file not shown.

View File

@@ -0,0 +1,11 @@
/**
* Created by minjaesong on 2022-02-27.
*/
module ModuleComputers {
requires gdx;
requires Terrarum;
requires TerrarumSansBitmap;
requires kotlin.stdlib;
requires kotlin.coroutines.core;
requires TerrarumTSVM;
}

View File

@@ -0,0 +1,35 @@
package net.torvald.terrarum.modulecomputers.console
import com.badlogic.gdx.Gdx
import net.torvald.gdx.graphics.PixmapIO2
import net.torvald.spriteanimation.SpriteAnimation
import net.torvald.terrarum.App
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.console.ConsoleCommand
import net.torvald.terrarum.console.Echo
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
/**
* Created by minjaesong on 2022-02-27.
*/
internal object Dumpsprite : ConsoleCommand {
override fun execute(args: Array<String>) {
val player = Terrarum.ingame!!.actorNowPlaying!!.sprite!!
val field = SpriteAnimation::class.java.getDeclaredField("textureRegion")
field.isAccessible = true
val textureRegion = field.get(player) as TextureRegionPack
val texture = textureRegion.texture.textureData
val pixmap = texture.consumePixmap()
PixmapIO2.writeTGA(Gdx.files.absolute("${App.defaultDir}/Exports/PlayerTexture.tga"), pixmap, false)
}
override fun printUsage() {
Echo("A spear to test the ingame's shield")
}
}

View File

@@ -1,26 +1,16 @@
package net.torvald.terrarum.modulecomputers.gameactors
import com.badlogic.gdx.Gdx
import com.badlogic.gdx.Input
import com.badlogic.gdx.graphics.*
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.FrameBuffer
import com.badlogic.gdx.utils.Disposable
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.cancel
import kotlinx.coroutines.launch
import net.torvald.terrarum.*
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
import net.torvald.terrarum.gameactors.AVKey
import net.torvald.terrarum.modulebasegame.gameactors.BlockBox
import net.torvald.terrarum.modulebasegame.gameactors.FixtureBase
import net.torvald.terrarum.modulebasegame.gameactors.FixtureInventory
import net.torvald.terrarum.ui.Toolkit
import net.torvald.terrarum.ui.UICanvas
import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack
import net.torvald.terrarum.modulecomputers.ui.UIHomeComputer
import net.torvald.tsvm.*
import net.torvald.tsvm.peripheral.AdapterConfig
import net.torvald.tsvm.peripheral.GraphicsAdapter
import net.torvald.tsvm.peripheral.ReferenceGraphicsAdapter
import net.torvald.tsvm.peripheral.VMProgramRom
/**
@@ -28,11 +18,15 @@ import net.torvald.tsvm.peripheral.VMProgramRom
*/
class FixtureHomeComputer : FixtureBase {
private val vm = VM(0x200000, TheRealWorld(), arrayOf(
VMProgramRom(ModMgr.getPath("dwarventech", "bios/tsvmbios.js"))
// TODO: write serialiser for TSVM && allow mods to have their own serialiser
private val vm = VM(ModMgr.getGdxFile("dwarventech", "bios").path(), 0x200000, TheRealWorld(), arrayOf(
VMProgramRom(ModMgr.getGdxFile("dwarventech", "bios/tsvmbios.js").path())
))
private val vmRunner: VMRunner
private val coroutineJob: Job
@Transient private lateinit var vmRunner: VMRunner
// @Transient private lateinit var coroutineJob: Job
@Transient private var vmStarted = false
@Transient private lateinit var disposableObj: Disposable
constructor() : super(
BlockBox(BlockBox.NO_COLLISION, 1, 1),
@@ -43,13 +37,14 @@ class FixtureHomeComputer : FixtureBase {
density = 1400.0
setHitboxDimension(TerrarumAppConfiguration.TILE_SIZE, TerrarumAppConfiguration.TILE_SIZE, 0, -1)
makeNewSprite(TextureRegionPack(CommonResourcePool.getAsTextureRegion("dwarventech-sprites-fixtures-desktop_computer.tga").texture, TerrarumAppConfiguration.TILE_SIZE, TerrarumAppConfiguration.TILE_SIZE))
sprite!!.setRowsAndFrames(1, 1)
makeNewSprite(FixtureBase.getSpritesheet("dwarventech", "sprites/fixtures/desktop_computer.tga", TILE_SIZE, TILE_SIZE)).let {
it.setRowsAndFrames(1,1)
}
actorValue[AVKey.BASEMASS] = 20.0
val gpu = ReferenceGraphicsAdapter(ModMgr.getPath("dwarventech", "gui"), vm)
val gpu = GraphicsAdapter(ModMgr.getGdxFile("dwarventech", "gui").path(), vm, GRAPHICSCONFIG)
// vm.getIO().blockTransferPorts[0].attachDevice(TestDiskDrive(vm, 0, ...))
vm.peripheralTable[1] = PeripheralEntry(
@@ -64,93 +59,66 @@ class FixtureHomeComputer : FixtureBase {
vm.getInputStream = { gpu.getInputStream() }
(mainUI as UIHomeComputer).vm = vm
(mainUI as UIHomeComputer).fixture = this
vmRunner = VMRunnerFactory(ModMgr.getGdxFile("dwarventech", "bios").path(), vm, "js")
}
vmRunner = VMRunnerFactory(ModMgr.getPath("dwarventech", "bios"), vm, "js")
coroutineJob = GlobalScope.launch {
vmRunner.executeCommand(vm.roms[0]!!.readAll())
}
fun startVM() {
/*if (!vmStarted) {
vmStarted = true
coroutineJob = GlobalScope.launch {
vmRunner.executeCommand(vm.roms[0]!!.readAll())
}
disposableObj = Disposable {
vmRunner.close()
coroutineJob.cancel("fixture disposal")
vm.dispose()
}
INGAME.disposables.add(disposableObj)
}*/
}
fun stopVM() {
/*if (vmStarted) {
vmStarted = false
INGAME.disposables.add(Disposable {
vmRunner.close()
coroutineJob.cancel("fixture disposal")
vm.dispose()
})
INGAME.disposables.remove(disposableObj)
}*/
}
override fun reload() {
super.reload()
val gpu = GraphicsAdapter(ModMgr.getGdxFile("dwarventech", "gui").path(), vm, GRAPHICSCONFIG)
// vm.getIO().blockTransferPorts[0].attachDevice(TestDiskDrive(vm, 0, ...))
vm.peripheralTable[1] = PeripheralEntry(
gpu,
GraphicsAdapter.VRAM_SIZE,
16,
0
)
vm.getPrintStream = { gpu.getPrintStream() }
vm.getErrorStream = { gpu.getErrorStream() }
vm.getInputStream = { gpu.getInputStream() }
(mainUI as UIHomeComputer).vm = vm
(mainUI as UIHomeComputer).fixture = this
vmRunner = VMRunnerFactory(ModMgr.getGdxFile("dwarventech", "bios").path(), vm, "js")
}
companion object {
val GRAPHICSCONFIG = AdapterConfig(
"crt_color",
560, 448, 80, 32, 253, 255, 256 shl 10, "FontROM7x14.tga", 0.0f, GraphicsAdapter.TEXT_TILING_SHADER_COLOUR
)
}
}
internal class UIHomeComputer : UICanvas(
toggleKeyLiteral = Input.Keys.ESCAPE, // FIXME why do I have specify ESC for it to function? ESC should be work as the default key
toggleButtonLiteral = App.getConfigInt("control_gamepad_start"),
) {
override var width = 640
override var height = 480
override var openCloseTime = 0f
private val drawOffX = (width - 560).div(2).toFloat()
private val drawOffY = (height - 448).div(2).toFloat()
private var batch: FlippingSpriteBatch
private var camera: OrthographicCamera
internal lateinit var vm: VM
init {
batch = FlippingSpriteBatch()
camera = OrthographicCamera(width.toFloat(), height.toFloat())
//val m = Matrix4()
//m.setToOrtho2D(0f, 0f, width.toFloat(), height.toFloat())
batch.projectionMatrix = camera.combined
}
private val fbo = FrameBuffer(Pixmap.Format.RGBA8888, width, height, false)
override fun updateUI(delta: Float) {
}
override fun renderUI(otherBatch: SpriteBatch, otherCamera: Camera) {
otherBatch.end()
fbo.inAction(camera, batch) {
Gdx.gl.glClearColor(0f,0f,0f,1f) // to hide the crap might be there
(vm.peripheralTable[1].peripheral as? GraphicsAdapter)?.let { gpu ->
val clearCol = gpu.getBackgroundColour()
Gdx.gl.glClearColor(clearCol.r, clearCol.g, clearCol.b, clearCol.a)
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT)
gpu.render(Gdx.graphics.deltaTime, batch, drawOffX, drawOffY, true, fbo) // gpu.render will internally end() the fbo then begin() again before using the batch I've fed in
}
}
otherBatch.begin()
otherBatch.shader = null
blendNormal(otherBatch)
otherBatch.color = Color.WHITE
otherBatch.draw(fbo.colorBufferTexture, posX.toFloat(), posY.toFloat(), width.toFloat(), height.toFloat())
otherBatch.color = Toolkit.Theme.COL_INACTIVE
Toolkit.drawBoxBorder(otherBatch, posX - 1, posY - 1, width + 2, height + 2)
}
override fun doOpening(delta: Float) {
}
override fun doClosing(delta: Float) {
}
override fun endOpening(delta: Float) {
}
override fun endClosing(delta: Float) {
}
override fun dispose() {
fbo.dispose()
}
}

View File

@@ -1,15 +1,15 @@
package net.torvald.terrarum.modulecomputers.gameitems
import com.badlogic.gdx.graphics.Texture
import com.badlogic.gdx.graphics.g2d.TextureRegion
import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.ModMgr
import net.torvald.terrarum.Terrarum
import net.torvald.terrarum.TerrarumAppConfiguration
import net.torvald.terrarum.gameactors.ActorWithBody
import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.gameitems.mouseInInteractableRange
import net.torvald.terrarum.itemproperties.Material
import net.torvald.terrarum.modulebasegame.gameactors.IngamePlayer
import net.torvald.terrarum.modulebasegame.gameitems.FixtureItemBase
import net.torvald.terrarum.modulecomputers.gameactors.FixtureHomeComputer
/**
@@ -24,28 +24,20 @@ class ItemHomeComputer(originalID: ItemID) : GameItem(originalID) {
override var inventoryCategory = Category.MISC
override val isUnique = false
override val isDynamic = false
override val material = Material()
override val materialId = ""
override val itemImage: TextureRegion
get() = CommonResourcePool.getAsTextureRegion("dwarventech-sprites-fixtures-desktop_computer.tga")
get() = FixtureItemBase.getItemImageFromSheet("dwarventech", "sprites/fixtures/desktop_computer.tga", TerrarumAppConfiguration.TILE_SIZE, TerrarumAppConfiguration.TILE_SIZE)
override var baseToolSize: Double? = baseMass
init {
CommonResourcePool.addToLoadingList("dwarventech-sprites-fixtures-desktop_computer.tga") {
// val t = TextureRegion(Texture(ModMgr.getGdxFile("dwarventech", "nonexisting_file!!!")))
val t = TextureRegion(Texture(ModMgr.getGdxFile("dwarventech", "sprites/fixtures/desktop_computer.tga")))
t.flip(false, false)
/*return*/t
}
CommonResourcePool.loadAll()
equipPosition = EquipPosition.HAND_GRIP
}
override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = mouseInInteractableRange(actor) {
val item = FixtureHomeComputer()
item.spawn(Terrarum.mouseTileX, Terrarum.mouseTileY - item.blockBox.height + 1)
if (item.spawn(Terrarum.mouseTileX, Terrarum.mouseTileY, if (actor is IngamePlayer) actor.uuid else null)) 1L else -1L
// return true when placed, false when cannot be placed
}
}

View File

@@ -5,16 +5,13 @@ import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.g2d.TextureRegion
import com.badlogic.gdx.utils.Disposable
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.cancel
import kotlinx.coroutines.launch
import net.torvald.terrarum.*
import net.torvald.terrarum.gameactors.ActorWithBody
import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.itemproperties.Material
import net.torvald.terrarum.modulebasegame.TerrarumIngame
import net.torvald.terrarum.modulebasegame.gameitems.FixtureItemBase
import net.torvald.terrarum.modulecomputers.tsvmperipheral.WorldRadar
import net.torvald.terrarum.ui.Toolkit
import net.torvald.terrarum.ui.UICanvas
@@ -25,8 +22,9 @@ import net.torvald.tsvm.peripheral.VMProgramRom
/**
* Created by minjaesong on 2021-12-03.
*/
class ItemWearableWorldRadar(originalID: String) : GameItem(originalID) {
class ItemWearableWorldRadar(originalID: String) {// : GameItem(originalID) {
/*
override var dynamicID: ItemID = originalID
override val originalName = "ITEM_COMPUTER_DIRTBOARD_FAKETM"
override var baseMass = 2.0
@@ -34,27 +32,37 @@ class ItemWearableWorldRadar(originalID: String) : GameItem(originalID) {
override var inventoryCategory = Category.TOOL
override val isUnique = false
override val isDynamic = true
override val material = Material()
override val materialId = ""
override val itemImage: TextureRegion
get() = CommonResourcePool.getAsTextureRegion("basegame-sprites-fixtures-signal_source.tga")
get() = FixtureItemBase.getItemImageFromSingleImage("basegame", "sprites/fixtures/signal_source.tga")
override var baseToolSize: Double? = baseMass
private val vm = VM(73728, TheRealWorld(), arrayOf(
VMProgramRom(ModMgr.getPath("dwarventech", "bios/pipboot.rom")),
VMProgramRom(ModMgr.getPath("dwarventech", "bios/pipcode.bas"))
private val vm = VM(ModMgr.getGdxFile("dwarventech", "bios").path(), 73728, TheRealWorld(), arrayOf(
VMProgramRom(ModMgr.getGdxFile("dwarventech", "bios/pipboot.rom").path()),
VMProgramRom(ModMgr.getGdxFile("dwarventech", "bios/pipcode.bas").path())
))
private val vmRunner: VMRunner
private val coroutineJob: Job
private val ui = WearableWorldRadarUI(vm)
// FIXME initialise computer stuff when the Item is first used, not when it's registered by the Modmgr
init {
super.equipPosition = EquipPosition.HAND_GRIP
}
private var booted = false
private var disposed = false
private lateinit var vmRunner: VMRunner
private lateinit var coroutineJob: Job
init {
App.disposables.add(ui)
}
private fun boot() {
vm.getIO().blockTransferPorts[1].attachDevice(WorldRadar())
vm.peripheralTable[1] = PeripheralEntry(
ExtDisp(vm, 160, 140), 32768, 1, 0
ExtDisp(vm, 160, 140), 32768, 1, 0
)
// MMIO stops working when somethingStream is not defined
@@ -62,27 +70,42 @@ class ItemWearableWorldRadar(originalID: String) : GameItem(originalID) {
vm.getErrorStream = { System.err }
vm.getInputStream = { System.`in` }
vmRunner = VMRunnerFactory(ModMgr.getPath("dwarventech", "bios"), vm, "js")
vmRunner = VMRunnerFactory(ModMgr.getGdxFile("dwarventech", "bios").path(), vm, "js")
coroutineJob = GlobalScope.launch {
vmRunner.executeCommand(vm.roms[0]!!.readAll())
}
INGAME.disposables.add(Disposable {
closeVM()
})
booted = true
}
private fun closeVM() {
if (!disposed) {
vmRunner.close()
coroutineJob.cancel("item disposal")
vm.dispose()
})
App.disposables.add(ui)
}
disposed = true
booted = false
}
override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) {
if (!booted) {
booted = true
boot()
}
(Terrarum.ingame!! as TerrarumIngame).wearableDeviceUI = ui
}
override fun effectOnUnequip(actor: ActorWithBody, delta: Float) {
(Terrarum.ingame!! as TerrarumIngame).wearableDeviceUI = null
closeVM()
}
*/
}
class WearableWorldRadarUI(val device: VM) : UICanvas() {

View File

@@ -0,0 +1,93 @@
package net.torvald.terrarum.modulecomputers.ui
import com.badlogic.gdx.Gdx
import com.badlogic.gdx.Input
import com.badlogic.gdx.graphics.*
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.glutils.FrameBuffer
import net.torvald.terrarum.App
import net.torvald.terrarum.FlippingSpriteBatch
import net.torvald.terrarum.blendNormalStraightAlpha
import net.torvald.terrarum.inAction
import net.torvald.terrarum.langpack.Lang
import net.torvald.terrarum.modulecomputers.gameactors.FixtureHomeComputer
import net.torvald.terrarum.ui.Toolkit
import net.torvald.terrarum.ui.UICanvas
import net.torvald.tsvm.VM
import net.torvald.tsvm.peripheral.GraphicsAdapter
import net.torvald.unicode.*
internal class UIHomeComputer : UICanvas(
toggleKeyLiteral = Input.Keys.ESCAPE, // FIXME why do I have specify ESC for it to function? ESC should be work as the default key
toggleButtonLiteral = App.getConfigInt("control_gamepad_start"),
) {
override var width = 640
override var height = 480
override var openCloseTime = 0f
private val drawOffX = (width - 560).div(2).toFloat()
private val drawOffY = (height - 448).div(2).toFloat()
private var batch: FlippingSpriteBatch
private var camera: OrthographicCamera
internal lateinit var vm: VM
internal lateinit var fixture: FixtureHomeComputer
init {
batch = FlippingSpriteBatch()
camera = OrthographicCamera(width.toFloat(), height.toFloat())
//val m = Matrix4()
//m.setToOrtho2D(0f, 0f, width.toFloat(), height.toFloat())
batch.projectionMatrix = camera.combined
}
private val fbo = FrameBuffer(Pixmap.Format.RGBA8888, width, height, false)
private val controlHelp =
"${getKeycapPC(App.getConfigInt("control_key_inventory"))} ${Lang["GAME_ACTION_CLOSE"]}\u3000 " +
"$KEYCAP_CTRL$KEYCAP_SHIFT$KEYCAP_T$KEYCAP_R Terminate\u3000" +
"$KEYCAP_CTRL$KEYCAP_SHIFT$KEYCAP_R$KEYCAP_S Reset\u3000" +
"$KEYCAP_CTRL$KEYCAP_SHIFT$KEYCAP_R$KEYCAP_Q SysRq"
override fun updateUI(delta: Float) {
}
override fun renderUI(otherBatch: SpriteBatch, otherCamera: Camera) {
otherBatch.end()
fbo.inAction(camera, batch) {
Gdx.gl.glClearColor(0f,0f,0f,1f)
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT) // to hide the crap might be there
(vm.peripheralTable[1].peripheral as? GraphicsAdapter)?.let { gpu ->
val clearCol = gpu.getBackgroundColour()
Gdx.gl.glClearColor(clearCol.r, clearCol.g, clearCol.b, clearCol.a)
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT)
gpu.render(Gdx.graphics.deltaTime, batch, drawOffX, drawOffY, true, fbo) // gpu.render will internally end() the fbo then begin() again before using the batch I've fed in
}
}
otherBatch.begin()
otherBatch.shader = null
blendNormalStraightAlpha(otherBatch)
otherBatch.color = Color.WHITE
otherBatch.draw(fbo.colorBufferTexture, posX.toFloat(), posY.toFloat(), width.toFloat(), height.toFloat())
otherBatch.color = Toolkit.Theme.COL_INACTIVE
Toolkit.drawBoxBorder(otherBatch, posX - 1, posY - 1, width + 2, height + 2)
App.fontGame.draw(otherBatch, controlHelp, posX, posY + height + 4)
}
override fun doOpening(delta: Float) {
super.doOpening(delta)
fixture.startVM()
}
override fun dispose() {
fbo.dispose()
}
}

View File

@@ -1,71 +1,33 @@
## Aperçu ##
This project is to create a side-view flatformer game, an attempt to create friendlier *Dwarf Fortress* adventurer mode, with more rogue-like stuff such as permanent death, randomness and *lots of fun*.
This project is to create a modular game engine that accommodates a 2D side-scrolling tilemap platformer, and a game that runs on top of it.
Backend used is LWJGL/Slick2D, frontend — the Engine — is custom-built. The repository contains both frontend and the actual game, as well as documentation for the backends.
The project is divided into two parts: **Terrarum the Game Engine** and **Terrarum the actual game**.
This project mainly uses Kotlin as a main language and Python/Lua for tools.
## Terrarum the Game Engine ##
Documentations and resources for work (such as .psd) are also included in the repository. You will need Mac computer to read and edit documentations in .gcx and .numbers format. (we're planning to change them)
This game engine aims to provide following features:
Any contribution in this project must be made sorely in English, Korean part is just there for my Korean friend; so be sure to use English in codes, comments, etc.
- Tiled lighting simulation with transmittance sim in full RGB and UV for fluorescence
- Corner Occlusion
- 2D Skeletal Sprite
- Built-in Mod support
- Simple AABB Physics
- Fluid simulation based on Cellular Automata
- Built-in multilingual font — please refer to [its own Repository](https://github.com/curioustorvald/Terrarum-sans-bitmap)
## Terrarum the Actual Game ##
*Terrarum* is a side-view tilemap platformer-adventure-sandbox game.
## Setup ##
* Requirements:
- JDK 8 or higher
- Working copy of IntelliJ IDEA from JetBrains s.r.o., community edition is okay to use.
* Required libraries are included in the repository.
## The Engine ##
Please refer to [```THE_ENGINE.md```](THE_ENGINE.md).
## Contribution guidelines ##
Please refer to [```CONTRIBUTING.md```](CONTRIBUTING.md).
## Who do I talk to? ##
* Repo owner or admin
* Other community or team contact
## Tags ##
* Rogue-like
* Adventure
* Procedural Generation
* Open World
* Sandbox
* Survival
* (Crafting)
* 2D
* Singleplayer
* Platformer
* (Atmospheric)
* Indie
* Pixel Graphics
## Disclaim ##
Just in case, use this software at your own risk.
- Requirements:
- JDK 17 or higher
- IntelliJ IDEA Community Edition
Required libraries are included in the repository.
## Copyright ##
Please refer to [```COPYING.md```](COPYING.md).
## 개요 ##
이 변변한 이름 없는 프로젝트는 사이드뷰 발판 게임 형식으로 더 친절한 〈드워프 포트리스〉의 모험가 모드를 지향하는 게임 제작 프로젝트입니다. 영구 사망, 무작위성, __넘쳐나는 재미__와 같이 ‘로그라이크’스러운 요소를 지닙니다.
이 프로젝트는 주 언어로 코틀린을 사용하며 파이선·루아 등으로 작성된 툴을 이용합니다.
개발 문서와 작업용 리소스(psd 등) 또한 이 저장소에 포함되어 있습니다. gcx와 numbers 형식으로 된 문서를 읽고 수정하기 위해 맥 컴퓨터가 필요할 수 있습니다.
이 프로젝트에 대한 기여는 영어로 이루어져야 합니다. 따라서 코드나 주석 등을 작성할 때는 영어를 사용해 주십시오.
Please refer to [```COPYING.md```](COPYING.md) but it's mostly GPL 3.

View File

@@ -8,8 +8,6 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="com.badlogicgames.gdx:gdx:1.10.0" level="project" />
<orderEntry type="library" name="com.badlogicgames.gdx:gdx-backend-lwjgl3:1.10.0" level="project" />
<orderEntry type="library" name="GetCpuName-src" level="project" />
<orderEntry type="library" name="prtree" level="project" />
<orderEntry type="library" name="Terrarum_Joise" level="project" />
@@ -19,8 +17,13 @@
<orderEntry type="library" name="gdx-controllers-core-2.2.1" level="project" />
<orderEntry type="library" name="gdx-controllers-desktop-2.2.1" level="project" />
<orderEntry type="library" name="jxinput-1.0.0" level="project" />
<orderEntry type="library" name="gdx-platform-1.10.0-natives-desktop" level="project" />
<orderEntry type="library" name="graalvm-js-21.1.0 and graalvm-js-scriptengine-21.1.0" level="project" />
<orderEntry type="library" name="gdx-platform-1.11.0-natives" level="project" />
<orderEntry type="library" name="graalvm-js 22.3.1" level="project" />
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
<orderEntry type="library" name="badlogicgames.gdx" level="project" />
<orderEntry type="library" name="badlogicgames.gdx.backend.lwjgl3" level="project" />
<orderEntry type="library" name="jetbrains.kotlin.reflect" level="project" />
<orderEntry type="library" name="jetbrains.kotlin.test" level="project" />
<orderEntry type="library" name="io.github.classgraph" level="project" />
</component>
</module>

BIN
assets/clut/skybox.png LFS Normal file

Binary file not shown.

BIN
assets/graphics/astrum.png LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/graphics/gui/hrule.tga LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -370,16 +370,20 @@ let diacriticsMapping = {
"\u0335":diacriticsStrikethru,
"\u0321":diacriticsHookBelow
}
let dislplayKeyLayouts = JSON.parse(JSON.stringify(states.keylayouts))
dislplayKeyLayouts.forEach(ks=>{ks.forEach((k,i)=>{
ks[i] = "\uDBBF\uDFC1"+k+"\uDBBF\uDFC0"
})})
let inRange = (s,a,b) => (a <= s && s <= b)
let isDiacritics = (s) => s !== undefined && inRange(s.charCodeAt(0), 0x0300, 0x036F)
return Object.freeze({"n":"\uDBBF\uDFC1Бъл. Многоезична\uDBBF\uDFC0","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"t":states.keylayouts,
"t":dislplayKeyLayouts,
"l":"bgBG",
// return: [displayed output, composed output]
// return: [delete count, composed output]
"accept":(headkey,shiftin,altgrin)=>{
let layer = 1*shiftin + 2*altgrin
let s = states.keylayouts[headkey][layer]
let s = (states.keylayouts[headkey][layer] || states.keylayouts[headkey][1*shiftin]) || states.keylayouts[headkey][0]
// typing seq for diacritics: diacritics THEN a character
if (isDiacritics(s)) {

View File

@@ -58,7 +58,7 @@ let isDiacritics = (s) => s !== undefined && inRange(s.charCodeAt(0), 0x0300, 0x
return Object.freeze({"n":"Ελ. Φωνητικό","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"tf":states.layouttable,
"l":"elGR",
// return: [displayed output, composed output]
// return: [delete count, composed output]
"accept":(headkey,shiftin,altgrin,lowlayerkey)=>{
let layer = 1*shiftin + 2*altgrin
@@ -79,7 +79,7 @@ return Object.freeze({"n":"Ελ. Φωνητικό","v":"none","c":"CuriousTo\uA7
let diacriticsLength = states.code.length // dialytika-tonos is two characters internally
let composed = diacriticsMapping[states.code][s]
reset()
return [''+(2+diacriticsLength), composed || s]
return [''+(1+diacriticsLength), composed || s]
}
// nope!
else {

View File

@@ -65,12 +65,12 @@
["<ENVELOPE>"],
["\n"],
["\x08"],
["`","~","\u0303",""],
["`","~","\u0300","\u0303"],
["-","_","","—"],
["=","+","×","÷"],
["[","{","«",""],
["]","}","»",""],
["\\","|","~","¦"],
["\\","|","¬","¦"],
["o","O","ó","Ó"],
["'",'"',"õ","Õ"],
["/","?","¿","§"],

View File

@@ -65,12 +65,12 @@
["<ENVELOPE>"],
["\n"],
["\x08"],
["`","~","\u0303",""],
["`","~","\u0300","\u0303"],
["-","_","","—"],
["=","+","×","÷"],
["[","{","«",""],
["]","}","»",""],
["\\","|","~","¦"],
["\\","|","¬","¦"],
["o","O","ó","Ó"],
["'",'"',"õ","Õ"],
["/","?","¿","§"],

View File

@@ -0,0 +1,256 @@
{"n":"US-Intl. Qwertz","capslock":"caps","t":[[""],[undefined],
[undefined],
["<HOME>"],
[undefined],
["<CALL>"],
["<ENDCALL>"],
["0",")","","”"],
["1","!","¡","¹"],
["2","@","º","²"],
["3","#","ª","³"],
["4","$","¤","£"],
["5","%","€","€"],
["6","^","¼","\u0302"],
["7","&","½","½"],
["8","*","¾","¾"],
["9","(","","“"],
["*"],
["#"],
["<UP>"],
["<DOWN>"],
["<LEFT>"],
["<RIGHT>"],
["<CENTER>"],
["<VOL_UP>"],
["<VOL_DOWN>"],
["<POWER>"],
["<CAMERA>"],
["<CLEAR>"],
["a","A","á","Á"],
["b","B"],
["c","C","¢","©"],
["d","D","ð","Ð"],
["e","E","é","É"],
["f","F"],
["g","G"],
["h","H"],
["i","I","í","Í"],
["j","J"],
["k","K"],
["l","L","ø","Ø"],
["m","M","µ","µ"],
["n","N","ñ","Ñ"],
["o","O","ó","Ó"],
["p","P","ö","Ö"],
["q","Q","ä","Ä"],
["r","R","®","®"],
["s","S","ß","§"],
["t","T","þ","Þ"],
["u","U","ú","Ú"],
["v","V"],
["w","W","å","Å"],
["x","X","¤","¤"],
["z","Z","æ","Æ"],
["y","Y","ü","Ü"],
[",","<","ç","Ç"],
[".",">"],
["<ALT_L>"],
["<ALT_R>"],
["<SHIFT_L>"],
["<SHIFT_R>"],
["<TAB>"],
[" "," ","\u00A0","\u00A0"],
["<SYM>"],
["<EXPLORER>"],
["<ENVELOPE>"],
["\n"],
["\x08"],
["`","~","\u0300","\u0303"],
["-","_","","—"],
["=","+","×","÷"],
["[","{","«",""],
["]","}","»",""],
["\\","|","¬","¦"],
[";",":","¶","°"],
["'",'"',"\u0301","\u0308"],
["/","?","¿","¿"],
["<AT>"],
["<NUM_LOCK>"],
["<HEADSETHOOK>"],
["<FOCUS>"],
["+"],
["<MENU>"],
["<NOTIFICATION>"],
["<SEARCH>"],
["<PLAY_PAUSE>"],
["<STOP>"],
["<NEXT>"],
["<PREV>"],
["<REW>"],
["<FFWD>"],
["<MUTE>"],
["<PAGE_UP>"],
["<PAGE_DOWN>"],
["<PICTSYMBOLS>"],
["<SWITCH_CHARSET>"],
["<:A:>"],
["<:B:>"],
["<:C:>"],
["<:X:>"],
["<:Y:>"],
["<:Z:>"],
["<:L1:>"],
["<:R1:>"],
["<:L2:>"],
["<:R2:>"],
["<:TL:>"],
["<:TR:>"],
["<:START:>"],
["<:SELECT:>"],
["<:MODE:>"],
["<ESC>"],
["<DEL>"],
[undefined],
[undefined],
["<CAPS_LOCK>"],
["<SCROLL_LOCK>"],
[undefined],
[undefined],
[undefined],
["<PRINT_SCREEN_SYS_RQ>"],
["<PAUSE_BREAK>"],
[undefined],
["<END>"],
["<INSERT>"],
[undefined],
[undefined],
[undefined],
[undefined],
["<CTRL_L>"],
["<CTRL_R>"],
["<F1>"],
["<F2>"],
["<F3>"],
["<F4>"],
["<F5>"],
["<F6>"],
["<F7>"],
["<F8>"],
["<F9>"],
["<F10>"],
["<F11>"],
["<F12>"],
["<NUM_LOCK>"],
["0"],
["1"],
["2"],
["3"],
["4"],
["5"],
["6"],
["7"],
["8"],
["9"],
["/"],
["*"],
["-"],
["+"],
["."],
["."],
["\n"],
["="],
["("],
[")"],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
["<:CIRCLE:>"]
]}

View File

@@ -0,0 +1,283 @@
let states = {"keylayouts":[[""],[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
["0",")","\u0966",")"],
["1","\u090D","\u0967","!"],
["2","\u0945","\u0968","@"],
["3","\u094D\u0930","\u0969","#"],
["4","\u0930\u094D","\u096A","$"],
["5","\u091C\u094D\u091E","\u096B","%"],
["6","\u0924\u094D\u0930","\u096C","^"],
["7","\u0915\u094D\u0937","\u096D","&"],
["8","\u0936\u094D\u0930","\u096E","*"],
["9","(","\u096F","("],
["*"],
["#"],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
["\u094B","\u0913"],
["\u0935","\u0934"],
["\u092E","\u0923","\u0954","\u0923"],
["\u094D","\u0905"],
["\u093E","\u0906"],
["\u093F","\u0907","\u0962","\u090C"],
["\u0941","\u0909"],
["\u092A","\u092B","\u092A","\u095E"],
["\u0917","\u0918","\u095A","\u0918"],
["\u0930","\u0931"],
["\u0915","\u0916","\u0958","\u0959"],
["\u0924","\u0925"],
["\u0938","\u0936"],
["\u0932","\u0933"],
["\u0926","\u0927"],
["\u091C","\u091D","\u095B","\u091D"],
["\u094C","\u0914"],
["\u0940","\u0908","\u0963","\u0961"],
["\u0947","\u090F"],
["\u0942","\u090A"],
["\u0939","\u0919"],
["\u0928","\u0929"],
["\u0948","\u0910"],
["\u0902","\u0901","\u0902","\u0950"],
["\u092C","\u092D"],
["\u0946","\u090E","\u0953","\u090E"],
[",","\u0937","\u0970","\u0970"],
[".","\u0964","\u0965","\u093D"],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[" "],
[undefined],
[undefined],
[undefined],
["\n"],
["\x08"],
["\u094A","\u0912"],
["-","\u0903"],
["\u0943","\u090B","\u0944","\u0960"],
["\u0921","\u0922","\u095C","\u095D"],
["\u093C","\u091E"],
["\u0949","\u0911"],
["\u091A","\u091B","\u0952","\u091B"],
["\u091F","\u0920","\u0951","\u0920"],
["\u092F","\u095F"],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
["0"],
["1"],
["2"],
["3"],
["4"],
["5"],
["6"],
["7"],
["8"],
["9"],
["/"],
["*"],
["-"],
["+"],
["."],
["."],
["\n"],
["="],
["("],
[")"],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined]
],
"code":""} // practically unused as long as there are no diacritics on the keyboard
let reset = () => {
states.code = 0
}
let inRange = (s,a,b) => (a <= s && s <= b)
return Object.freeze({"n":"इनस्क्रिप्ट","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"t":states.keylayouts.slice(0,10).concat([["3","\uDBBF\uDE01\u094D\u0930","\u0969","#"], ["4","\u0930\u094D\uDBBF\uDE01","\u096A","$"]], states.keylayouts.slice(12)),
"l":"hiIN",
// return: [delete count, composed output]
"accept":(headkey,shiftin,altgrin)=>{
let layer = 1*shiftin + 2*altgrin
let s = (states.keylayouts[headkey][layer] || states.keylayouts[headkey][1*shiftin]) || states.keylayouts[headkey][0]
return ['0', s]
},
"backspace":()=>{
reset()
return ''
},
"end":()=>{
reset()
return ''
},
"reset":()=>{ reset() },
"composing":()=>(states.code!='')
})

View File

@@ -343,15 +343,15 @@ let bufAssemble = (isPreview) => {
}
//let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" : `\\u${buf[i].codePointAt(0).toString(16).toUpperCase()}`).join(' ')
let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" : `${buf[i]}`).join(' ')
return Object.freeze({"n":"두벌식 표준","v":"one","c":"CuriousTo\uA75Bvald","m":"rewrite",
return Object.freeze({"n":"두벌식 표준","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"t":states.keylayouts.map(it => [it[0],it[1]]),
"l":"koKR",
// return: [displayed output, composed output]
// return: [delete count, composed output]
"accept":(headkey,shiftin,altgrin)=>{
let layer = 1*shiftin// + 2*altgrin
states.code = 1
let s = states.keylayouts[headkey][layer]
let s = states.keylayouts[headkey][layer] || states.keylayouts[headkey][0]
if (isHangul(s)) {
let bufIndex = (isJongseongConsonant(s) && isConsonant(states.buf[0]) && undefined !== states.buf[1]) ? 2 :

View File

@@ -343,15 +343,15 @@ let bufAssemble = () => {
}
//let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" : `\\u${buf[i].codePointAt(0).toString(16).toUpperCase()}`).join(' ')
let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" : `${buf[i]}`).join(' ')
return Object.freeze({"n":"두벌식 수정 표준","v":"one","c":"CuriousTo\uA75Bvald","m":"rewrite",
return Object.freeze({"n":"두벌식 수정 표준","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"t":states.keylayouts.map(it => [it[0],it[1]]),
"l":"koKR",
// return: [displayed output, composed output]
// return: [delete count, composed output]
"accept":(headkey,shiftin,altgrin)=>{
let layer = 1*shiftin// + 2*altgrin
states.code = 1
let s = states.keylayouts[headkey][layer]
let s = states.keylayouts[headkey][layer] || states.keylayouts[headkey][0]
if (isHangul(s)) {
let bufIndex = (isJongseongConsonant(s) && isConsonant(states.buf[0]) && undefined !== states.buf[1]) ? 2 :

View File

@@ -372,15 +372,15 @@ let bufAssemble = (normalise) => {
let isBufferEmpty = (buf) => buf[0] === undefined && buf[1] === undefined && buf[2] === undefined
let isBufferNotEmpty = (buf) => buf[0] !== undefined || buf[1] !== undefined || buf[2] !== undefined
let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" : `\\u${buf[i].codePointAt(0).toString(16).toUpperCase()}`).join(' ')
return Object.freeze({"n":"세벌식 3-90","v":"one","c":"CuriousTo\uA75Bvald","m":"rewrite",
return Object.freeze({"n":"세벌식 3-90","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"t":states.keylayouts.map(it => [it[0],it[1]]),
"l":"koKR",
// return: [displayed output, composed output]
// return: [delete count, composed output]
"accept":(headkey,shiftin,altgrin)=>{
let layer = 1*shiftin// + 2*altgrin
states.code = 1
let s = states.keylayouts[headkey][layer]
let s = states.keylayouts[headkey][layer] || states.keylayouts[headkey][0]
let bufIndex = isJungseong(s) ? 1 : isJongseong(s) ? 2 : 0
if (isHangul(s)) {

View File

@@ -372,15 +372,15 @@ let bufAssemble = (normalise) => {
let isBufferEmpty = (buf) => buf[0] === undefined && buf[1] === undefined && buf[2] === undefined
let isBufferNotEmpty = (buf) => buf[0] !== undefined || buf[1] !== undefined || buf[2] !== undefined
let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" : `\\u${buf[i].codePointAt(0).toString(16).toUpperCase()}`).join(' ')
return Object.freeze({"n":"세벌식 공자판","v":"one","c":"CuriousTo\uA75Bvald","m":"rewrite",
return Object.freeze({"n":"세벌식 공자판","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"t":states.keylayouts.map(it => [it[0],it[1]]),
"l":"koKR",
// return: [displayed output, composed output]
// return: [delete count, composed output]
"accept":(headkey,shiftin,altgrin)=>{
let layer = 1*shiftin// + 2*altgrin
states.code = 1
let s = states.keylayouts[headkey][layer]
let s = states.keylayouts[headkey][layer] || states.keylayouts[headkey][0]
let bufIndex = isJungseong(s) ? 1 : isJongseong(s) ? 2 : 0
if (isHangul(s)) {

View File

@@ -382,15 +382,15 @@ let bufAssemble = (normalise) => {
let isBufferEmpty = (buf) => buf[0] === undefined && buf[1] === undefined && buf[2] === undefined
let isBufferNotEmpty = (buf) => buf[0] !== undefined || buf[1] !== undefined || buf[2] !== undefined
let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" : `\\u${buf[i].codePointAt(0).toString(16).toUpperCase()}`).join(' ')
return Object.freeze({"n":"신세벌식 03","v":"one","c":"CuriousTo\uA75Bvald","m":"rewrite",
return Object.freeze({"n":"신세벌식 03","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"t":states.keylayouts.map(it => [it[0],it[1]]),
"l":"koKR",
// return: [displayed output, composed output]
// return: [delete count, composed output]
"accept":(headkey,shiftin,altgrin)=>{
let layer = 1*shiftin// + 2*altgrin
states.code = 1
let s = states.keylayouts[headkey][layer]
let s = states.keylayouts[headkey][layer] || states.keylayouts[headkey][0]
let s2 = states.keylayouts[headkey][2]
let bufIndex = isJungseong(s) ? 1 : isJongseong(s) ? 2 : 0

View File

@@ -382,15 +382,15 @@ let bufAssemble = (normalise) => {
let isBufferEmpty = (buf) => buf[0] === undefined && buf[1] === undefined && buf[2] === undefined
let isBufferNotEmpty = (buf) => buf[0] !== undefined || buf[1] !== undefined || buf[2] !== undefined
let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" : `\\u${buf[i].codePointAt(0).toString(16).toUpperCase()}`).join(' ')
return Object.freeze({"n":"신세벌식 P2","v":"one","c":"CuriousTo\uA75Bvald","m":"rewrite",
return Object.freeze({"n":"신세벌식 P2","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"t":states.keylayouts.map(it => [it[0],it[1]]),
"l":"koKR",
// return: [displayed output, composed output]
// return: [delete count, composed output]
"accept":(headkey,shiftin,altgrin)=>{
let layer = 1*shiftin// + 2*altgrin
states.code = 1
let s = states.keylayouts[headkey][layer]
let s = states.keylayouts[headkey][layer] || states.keylayouts[headkey][0]
let s2 = states.keylayouts[headkey][2]
let bufIndex = isJungseong(s) ? 1 : isJongseong(s) ? 2 : 0

View File

@@ -258,7 +258,7 @@ let states = {"keylayouts":[[""],[undefined],
let reset = () => {
states.code = 0
}
return Object.freeze({"n":"체시ᄂ 자ᄋ보ᄋ서ᄂ","v":"one","c":"CuriousTo\uA75Bvald","m":"rewrite",
return Object.freeze({"n":"체시ᄂ 자ᄋ보ᄋ서ᄂ","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"t":states.keylayouts.map(it => [it[0],it[1]]),
"l":"koKRabc",
// return: [displayed output, composed output]

View File

@@ -258,7 +258,7 @@ let states = {"keylayouts":[[""],[undefined],
let reset = () => {
states.code = 0
}
return Object.freeze({"n":"체시ᄂ 두버ᄅ시ᄀ","v":"one","c":"CuriousTo\uA75Bvald","m":"rewrite",
return Object.freeze({"n":"체시ᄂ 두버ᄅ시ᄀ","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"t":states.keylayouts.map(it => [it[0],it[1]]),
"l":"koKRabc",
// return: [displayed output, composed output]

View File

@@ -375,11 +375,11 @@ let isDiacritics = (s) => s !== undefined && inRange(s.charCodeAt(0), 0x0300, 0x
return Object.freeze({"n":"ЙЦУКЕН Многоязычна","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"t":states.keylayouts,
"l":"ruRU",
// return: [displayed output, composed output]
// return: [delete count, composed output]
"accept":(headkey,shiftin,altgrin)=>{
let layer = 1*shiftin + 2*altgrin
let s = states.keylayouts[headkey][layer]
let s = (states.keylayouts[headkey][layer] || states.keylayouts[headkey][1*shiftin]) || states.keylayouts[headkey][0]
// typing seq for diacritics: diacritics THEN a character
if (isDiacritics(s)) {

View File

@@ -27,7 +27,7 @@ let states = {"keylayouts":[[""],[undefined],
[undefined],
[undefined],
["ф","Ф","ƒ","ƒ"],
["и","И"],
["и","И","и","И"],
["с","С","≠","≠"],
["в","В","ћ","Ћ"],
["у","У","ќ","Ќ"],
@@ -69,10 +69,10 @@ let states = {"keylayouts":[[""],[undefined],
["-","_","—",""],
["=","+","»","«"],
["х","Х","“","“"],
["ъ","Ъ"],
["ё","Ё"],
["ъ","Ъ","ъ","Ъ"],
["ё","Ё","ё","Ё"],
["ж","Ж","…","…"],
["э",'Э'],
["э",'Э',"э",'Э'],
["/","?","„","„"],
[undefined],
[undefined],
@@ -263,12 +263,12 @@ let isDiacritics = (s) => s !== undefined && inRange(s.charCodeAt(0), 0x0300, 0x
return Object.freeze({"n":"ЙЦУКЕН (Рус. Apple)","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"t":states.keylayouts,
"l":"ruRU",
// return: [displayed output, composed output]
// return: [delete count, composed output]
"accept":(headkey,shiftin,altgrin)=>{
let layer = 1*shiftin + 2*altgrin
states.code = 1
let s = states.keylayouts[headkey][layer]
let s = (states.keylayouts[headkey][layer] || states.keylayouts[headkey][1*shiftin]) || states.keylayouts[headkey][0]
if (isDiacritics(s)) {
return ['1', '']

View File

@@ -33,7 +33,7 @@ let isDiacritics = (s) => s !== undefined && inRange(s.charCodeAt(0), 0x0300, 0x
return Object.freeze({"n":"Рус. Фонетическая","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"tf":states.layouttable,
"l":"ruRU",
// return: [displayed output, composed output]
// return: [delete count, composed output]
"accept":(headkey,shiftin,altgrin,lowlayerkey)=>{
let layer = 1*shiftin// + 2*altgrin
states.code = 1

View File

@@ -0,0 +1,290 @@
let states = {"keylayouts":[[""],[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
["0",")"],
["1","!"],
["2","@"],
["3","#"],
["4","$"],
["5","%"],
["6","^"],
["7","&"],
["8","*"],
["9","("],
["*"],
["#"],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
["\u0B85","\u0BF9"],
["\u0B99","\u0BF7"],
["\u0B92","\u0BF5","\u0BCA"],
["\u0B89","\u0BF8","\u0BC1"],
["\u0B8A","\u0B9C","\u0BC2"],
["\u0BCD","\u0B83"],
["\u0B8E","\u0B8E","\u0BC6"],
["\u0B95","\u0B95"],
["\u0BA9","\u0BA9"],
["\u0BAA","\u0BAA"],
["\u0BAE",'"'],
["\u0BA4",":"],
["\u0BB0","/"],
["\u0BB2","\u0BB2"],
["\u0B9F","["],
["\u0BA3","]"],
["\u0B86","\u0BB8","\u0BBE"],
["\u0B90","\u0BB9","\u0BC8"],
["\u0B87","\u0BFA","\u0BBF"],
["\u0B8F","\u0B95\u0BCD\u0BB7","\u0BC7"],
["\u0BB1","\u0BB1"],
["\u0BB5","\u0BF6"],
["\u0B88","\u0BB7","\u0BC0"],
["\u0B93","\u0BF4","\u0BCB"],
["\u0BB3","\u0BB8\u0BCD\u0BB0\u0BC0"],
["\u0B94","\u0BF3","\u0BCC"],
[",","<"],
[".",">"],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[" "],
[undefined],
[undefined],
[undefined],
["\n"],
["\x08"],
["`","~"],
["-","_"],
["=","+"],
["\u0B9A","{"],
["\u0B9E","}"],
["\\","|"],
["\u0BA8",";"],
["\u0BAF","'"],
["\u0BB4","?"],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
["0"],
["1"],
["2"],
["3"],
["4"],
["5"],
["6"],
["7"],
["8"],
["9"],
["/"],
["*"],
["-"],
["+"],
["."],
["."],
["\n"],
["="],
["("],
[")"],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined],
[undefined]
],
"code":""} // the last character typed
let reset = () => {
states.code = ""
}
let inRange = (s,a,b) => (a <= s && s <= b)
let isConsonant = (s) => s !== undefined && (inRange(s, 0x0B95, 0x0BB9) || s == 0x0BD0 || inRange(s, 0x0BE6, 0x0BFA)) // determines the behaviour of the vowel key
return Object.freeze({"n":"தமிழ் 99","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"t":states.keylayouts,
"l":"taIN",
// return: [delete count, composed output]
"accept":(headkey,shiftin,altgrin)=>{
let layer = 1*shiftin
let s = states.keylayouts[headkey][layer] || states.keylayouts[headkey][0]
if (layer == 0 && states.code != "" && isConsonant(states.code.charCodeAt(states.code.length - 1))) {
s = states.keylayouts[headkey][2] || states.keylayouts[headkey][0]
}
states.code = s
return ['0', s]
},
"backspace":()=>{
reset()
return ''
},
"end":()=>{
reset()
return ''
},
"reset":()=>{ reset() },
"composing":()=>(states.code!='')
})

View File

@@ -269,12 +269,12 @@ let isDiacritics = (s) => s !== undefined && inRange(s.charCodeAt(0), 0x0300, 0x
return Object.freeze({"n":"แป้นพิมพ์เกษมณี","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"t":states.keylayouts,
"l":"thTH",
// return: [displayed output, composed output]
// return: [delete count, composed output]
"accept":(headkey,shiftin,altgrin)=>{
let layer = 1*shiftin + 2*altgrin // use AltGr to type conventional numbers
states.code = 0
let s = states.keylayouts[headkey][layer]
let s = (states.keylayouts[headkey][layer] || states.keylayouts[headkey][1*shiftin]) || states.keylayouts[headkey][0]
return ['0', s]
},
"backspace":()=>{

View File

@@ -269,12 +269,12 @@ let isDiacritics = (s) => s !== undefined && (inRange(s.charCodeAt(0), 0x0E31, 0
return Object.freeze({"n":"แป้นพิมพ์ปัตตะโชติ","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"t":states.keylayouts,
"l":"thTH",
// return: [displayed output, composed output]
// return: [delete count, composed output]
"accept":(headkey,shiftin,altgrin)=>{
let layer = 1*shiftin + 2*altgrin // use AltGr to type conventional numbers
states.code = 0
let s = states.keylayouts[headkey][layer]
let s = (states.keylayouts[headkey][layer] || states.keylayouts[headkey][1*shiftin]) || states.keylayouts[headkey][0]
return ['0', s]
},
"backspace":()=>{

View File

@@ -276,7 +276,7 @@ return Object.freeze({"n":"五仓简体 Qwerty","v":"many","c":"CuriousTo\uA75Bv
"accept":(headkey,shiftin,altgrin)=>{
let layer = 1*shiftin// + 2*altgrin
let cjkey = states.keylayouts[headkey][layer]
let cjkey = states.keylayouts[headkey][layer] || states.keylayouts[headkey][0]
let cjkeyAsc = cjkey.codePointAt(0)
if (states.code == 1 && 48 <= cjkeyAsc && cjkeyAsc <= 57) {

View File

@@ -276,7 +276,7 @@ return Object.freeze({"n":"五倉正體 Qwerty","v":"many","c":"CuriousTo\uA75Bv
"accept":(headkey,shiftin,altgrin)=>{
let layer = 1*shiftin// + 2*altgrin
let cjkey = states.keylayouts[headkey][layer]
let cjkey = states.keylayouts[headkey][layer] || states.keylayouts[headkey][0]
let cjkeyAsc = cjkey.codePointAt(0)
if (states.code == 1 && 48 <= cjkeyAsc && cjkeyAsc <= 57) {

View File

@@ -0,0 +1,4 @@
{
"INPUT_KEYBOARD_DEFAULT_LAYOUT": "en_intl_qwertz",
"INPUT_KEYBOARD_DEFAULT_IME": "none"
}

View File

@@ -16,5 +16,7 @@
"MENU_OPTIONS_DITHER": "Farbmischung",
"MENU_OPTIONS_BLUR": "Weichzeichnen",
"MENU_OPTIONS_PARTICLES": "Partikel",
"MENU_IO_IMPORT": "Importieren"
"MENU_IO_IMPORT": "Importieren",
"APP_NOMODULE_1": "Derzeit ist kein Modul geladen.",
"APP_NOMODULE_2": "Bitte konfigurieren Sie Ihre Ladereihenfolge und starten Sie neu:"
}

View File

@@ -1,24 +1,41 @@
{
"APP_WARNING_HEALTH_AND_SAFETY": "WARNING-HEALTH AND SAFETY",
"CONTEXT_CHARACTER": "Character",
"MENU_LABEL_COPYRIGHT": "Copyright",
"CONTEXT_TIME_MINUTE_PLURAL": "Minutes",
"CONTEXT_TIME_SECOND_PLURAL": "Seconds",
"COPYRIGHT_ALL_RIGHTS_RESERVED": "All rights reserved",
"COPYRIGHT_GNU_GPL_3": "Distributed under GNU GPL 3",
"APP_WARNING_HEALTH_AND_SAFETY": "WARNING-HEALTH AND SAFETY",
"MENU_LABEL_PRESS_START_SYMBOL": "Press >",
"MENU_MODULES" : "Modules",
"MENU_CREDIT_GPL_DNT" : "GPL",
"GAME_ACTION_MOVE_VERB" : "Move",
"GAME_ACTION_ZOOM" : "Zoom",
"MENU_LABEL_RESET" : "Reset",
"GAME_32BIT_WARNING1": "It looks like youre running a 32-Bit version of Java.",
"GAME_32BIT_WARNING2": "Please download and install the latest 64-Bit Java at:",
"GAME_32BIT_WARNING3": "https://www.java.com/en/download/",
"MENU_OPTION_STREAMERS_LAYOUT": "Chat Overlay",
"MENU_LABEL_RESTART_REQUIRED": "Restart Required",
"MENU_LABEL_KEYBOARD_LAYOUT": "Keyboard Layout",
"MENU_IO_AUTOSAVE": "Autosave",
"MENU_IO_IMPORT": "Import",
"MENU_IO_MANUAL_SAVE": "Manual Save",
"MENU_LABEL_COPYRIGHT": "Copyright",
"MENU_LABEL_DELETE": "Delete",
"MENU_LABEL_EXTRA_JVM_ARGUMENTS": "Extra Arguments",
"MENU_LABEL_IME": "IME",
"MENU_OPTIONS_DITHER": "Dithering",
"MENU_LABEL_IME_TOGGLE": "Toggle IME",
"MENU_LABEL_KEYBOARD_LAYOUT": "Keyboard Layout",
"MENU_LABEL_PASTE_FROM_CLIPBOARD": "Paste from Clipboard",
"MENU_LABEL_PRESS_START_SYMBOL": "Press >",
"MENU_LABEL_RESET" : "Reset",
"MENU_LABEL_RESTART_REQUIRED": "Restart Required",
"MENU_LABEL_STREAMING": "Livestreaming",
"MENU_LABEL_SYSTEM_INFO": "System Info",
"MENU_MODULES" : "Modules",
"MENU_OPTIONS_ATLAS_TEXTURE_SIZE": "Atlas Texture Size",
"MENU_OPTIONS_AUTOSAVE": "Autosave",
"MENU_OPTIONS_BLUR": "Blur",
"MENU_OPTIONS_DEBUG_CONSOLE": "Debug Console",
"MENU_OPTIONS_DITHER": "Dithering",
"MENU_OPTIONS_JVM_HEAP_MAX": "Max Heap Memory",
"MENU_OPTIONS_NOTIFICATION_DISPLAY_DURATION": "Show notification for",
"MENU_OPTIONS_PARTICLES": "Particles",
"MENU_IO_IMPORT": "Import"
"MENU_OPTIONS_PERFORMANCE": "Performance",
"MENU_OPTIONS_STREAMERS_LAYOUT": "Chat Overlay",
"MENU_OPTIONS_NONE" : "None",
"MENU_CREDIT_GPL_DNT" : "GPL",
"MENU_LABEL_JVM_DNT" : "JVM",
"MENU_OPTIONS_FILTERING_HQ2X_DNT" : "Hq2x"
}

View File

@@ -0,0 +1,16 @@
{
"GAME_32BIT_WARNING1": "It looks like youre running a 32-Bit version of Java.",
"GAME_32BIT_WARNING2": "Please download and install the latest 64-Bit Java at:",
"GAME_32BIT_WARNING3": "https://www.java.com/en/download/",
"GAME_APPLE_ROSETTA_WARNING1": "It seems you are using a Mac with Apple Silicon but running the x86 build of the game.",
"GAME_APPLE_ROSETTA_WARNING2": "Please use the native build for improved performance and gameplay experiences.",
"APP_NOMODULE_1": "No Module is currently loaded.",
"APP_NOMODULE_2": "Please configure your Load Order and restart:",
"MENU_LABEL_KEYCONFIG_HELP1": "Click On the Keycap to Assign Actions",
"GAME_PREV_SAVE_WAS_LOADED1": "The most recently saved game was corrupted.",
"GAME_PREV_SAVE_WAS_LOADED2": "The previously saved game was loaded.",
"GAME_MORE_RECENT_AUTOSAVE1": "The Autosave is more recent than the manual save.",
"GAME_MORE_RECENT_AUTOSAVE2": "Please select the saved game you wish to play:",
"MENU_LABEL_SAVE_WILL_BE_DELETED": "The selected save file will be deleted.",
"MENU_LABEL_UNSAVED_PROGRESS_WILL_BE_LOST": "Unsaved progress will be lost."
}

View File

@@ -16,5 +16,7 @@
"MENU_OPTIONS_DITHER": "Interpolación de colores",
"MENU_OPTIONS_BLUR": "Desenfocar",
"MENU_OPTIONS_PARTICLES": "Partícula",
"MENU_IO_IMPORT": "Importar"
"MENU_IO_IMPORT": "Importar",
"APP_NOMODULE_1": "Actualmente no hay ningún módulo cargado.",
"APP_NOMODULE_2": "Configure su orden de carga y reinicie:"
}

View File

@@ -16,5 +16,7 @@
"MENU_OPTIONS_DITHER": "Sekoitussävytys",
"MENU_OPTIONS_BLUR": "Sumea",
"MENU_OPTIONS_PARTICLES": "Hiukkaset",
"MENU_IO_IMPORT": "Tuo"
"MENU_IO_IMPORT": "Tuo",
"APP_NOMODULE_1": "Moduulia ei ole ladattu tällä hetkellä.",
"APP_NOMODULE_2": "Määritä latausjärjestys ja käynnistä se uudelleen:"
}

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