Compare commits

...

328 Commits

Author SHA1 Message Date
minjaesong
81ebf7a8ef world code placeholder to match the code struct 2023-09-08 19:32:41 +09:00
minjaesong
d5a8d098bb teleporter: list loading on separate thread 2023-09-08 18:51:53 +09:00
minjaesong
cc55e563f0 ModLoader: load IME unconditionally when found 2023-09-08 15:31:11 +09:00
minjaesong
64ef30e445 shorter share code if allowed; flickering teleporter beams 2023-09-08 02:14:36 +09:00
minjaesong
fbc700508f season variable moved to worldtime 2023-09-07 17:21:34 +09:00
minjaesong
37492dc8a0 six ecological seasons for terrain tiles 2023-09-07 13:19:32 +09:00
minjaesong
b0e4bd31eb temporary setup for picking next weather 2023-09-06 22:33:42 +09:00
minjaesong
0b5e3d7b77 skybox: old-current weather turbidity blend 2023-09-06 21:07:39 +09:00
minjaesong
b47cc17afd choosing next weather as its own function 2023-09-06 19:30:08 +09:00
minjaesong
6c97a9d5ab cloud stage has more depth 2023-09-06 18:01:33 +09:00
minjaesong
7259ca616c modloader: locale autoloader 2023-09-06 02:15:04 +09:00
minjaesong
70b9cebbd0 working sledgehammer item to take down walls 2023-09-05 22:47:40 +09:00
minjaesong
274be20e25 new texture for the teleporter 2023-09-05 20:40:55 +09:00
minjaesong
c576d087b4 newborn clouds will fade-in 2023-09-05 14:24:02 +09:00
minjaesong
699cc4dd74 another failed experiment 2023-09-05 13:45:02 +09:00
minjaesong
8fa9ddeec1 portalPoint to the world 2023-09-05 01:40:20 +09:00
minjaesong
c4deba14da cloud rendering: gamma change 2023-09-05 01:04:09 +09:00
minjaesong
cf98c13111 fix: 'q' would close the ui when you're typing in something 2023-09-05 00:41:43 +09:00
minjaesong
d0e1555ad0 sprite update 2023-09-04 22:40:48 +09:00
minjaesong
50eac69e3e working invitation code for new character 2023-09-04 22:16:51 +09:00
minjaesong
c45cab388e working invitation code via portal 2023-09-04 21:48:28 +09:00
minjaesong
7b3ac9cd06 weatherbox is now owned by the world 2023-09-04 14:59:12 +09:00
minjaesong
08b1d93d54 fix: double typing on world portal ui 2023-09-04 14:04:19 +09:00
minjaesong
da7ecaa75b share code ui wall of text 2023-09-03 20:30:23 +09:00
minjaesong
65b610ce01 world portal share code 2023-09-03 17:06:02 +09:00
minjaesong
6a78cf6a41 reverting akima intp: derivatives are not being preserved at the sample points 2023-09-02 23:43:50 +09:00
minjaesong
1e98353b50 akima interpolation to the WeatherBox 2023-09-02 22:37:07 +09:00
minjaesong
38c91bd8ec weatherbox: nonlinearity to the intp to remove overshoot-to-minus 2023-09-02 17:18:47 +09:00
minjaesong
78075d779b each cloud now carry its own gamma value 2023-09-02 02:40:27 +09:00
minjaesong
721a24d9dc commenting out some debug prints 2023-09-02 00:24:38 +09:00
minjaesong
66a103bd3a weather sched progression wip 2023-09-01 23:56:48 +09:00
minjaesong
abee176ef4 fix: graph rules not drawing if ymax < 1 2023-09-01 16:30:09 +09:00
minjaesong
ae078024cb angular modulo for wind dir 2023-09-01 15:51:46 +09:00
minjaesong
96af39ab4a changing the way weatherbox gets updated 2023-09-01 00:50:24 +09:00
minjaesong
c75fa73bac scrolling weatherbox; new skybox clut 2023-08-31 22:32:55 +09:00
minjaesong
5eed921288 debugwin: drawing ingame weatherboxes 2023-08-31 17:03:27 +09:00
minjaesong
7f3f94e01a gui-theme: cell colour change 2023-08-31 12:20:31 +09:00
minjaesong
1fe0ca9e2e debug window: weather box drawing 2023-08-31 12:19:56 +09:00
minjaesong
7cc985b627 debug info: timer toggle is now Ctrl+T 2023-08-31 10:56:32 +09:00
minjaesong
d17d576e15 sunlight and clouds changes 2023-08-30 19:57:11 +09:00
minjaesong
ced7cf99fc more cloud textures 2023-08-30 17:54:34 +09:00
minjaesong
c290d5dee7 minor phys fix 2023-08-30 14:39:20 +09:00
minjaesong
d32d6b8d1c torch should flicker less erratic now 2023-08-30 12:39:56 +09:00
minjaesong
9d118aebb0 todo weather example 2023-08-29 15:39:24 +09:00
minjaesong
0646425b76 build: removing unused files, instruction update 2023-08-29 14:29:25 +09:00
minjaesong
a348bac397 . 2023-08-29 14:04:17 +09:00
minjaesong
a9bd032c32 yet another cloud colour changes 2023-08-28 14:48:14 +09:00
minjaesong
349488376d sunrise/sunset transition is now longer 2023-08-28 14:30:24 +09:00
minjaesong
ce8c53f740 clut for cloud colours 2023-08-28 03:28:27 +09:00
minjaesong
7845146718 cloud spawn: fixing my bad maths 2023-08-28 00:04:00 +09:00
minjaesong
3cce1c0b65 faster import process 2023-08-27 21:13:52 +09:00
minjaesong
2bbf92d056 build script update 2023-08-27 21:01:13 +09:00
minjaesong
3d5713cd31 new test sprite/display screencaps for imported avatars if available 2023-08-27 17:38:43 +09:00
minjaesong
f8b6493cdc temporarily disabling evening-mustard :p 2023-08-25 21:28:20 +09:00
minjaesong
b69689a6be higher alpha-gamma makes it look better 2023-08-25 21:27:17 +09:00
minjaesong
cc2c841f76 app version string for .plist 2023-08-25 21:26:51 +09:00
minjaesong
89846db5d3 fix: using wrong method for retrieving mouse coord 2023-08-25 18:46:24 +09:00
minjaesong
bfd926d7fe avatar import error handling 2023-08-25 17:38:15 +09:00
minjaesong
602d5e046b fix: newly created world did not get clouds 2023-08-25 16:50:41 +09:00
minjaesong
72029ed458 new world screen for loading imported players 2023-08-25 16:47:00 +09:00
minjaesong
a4672a131d some gui stuff for imported players 2023-08-25 16:04:12 +09:00
minjaesong
75fcb5be5b new import screen 2023-08-25 15:49:35 +09:00
minjaesong
eeee1ebdbc F4 to hide GUI 2023-08-25 09:11:56 +09:00
minjaesong
32e750eb6a generating version number on build 2023-08-25 08:54:32 +09:00
minjaesong
a2ced31f8f removing os files on making assets_release 2023-08-25 08:40:06 +09:00
minjaesong
b1e45f1743 character import wip 2023-08-25 00:24:12 +09:00
minjaesong
8dda7ac79b linear filter for clouds 2023-08-24 20:27:10 +09:00
minjaesong
74b8cc20b7 fix: bad cloud spawn position on certain directions 2023-08-24 17:59:55 +09:00
minjaesong
f75a7dd812 control presets 2023-08-24 17:24:39 +09:00
minjaesong
b2454e4ca2 changing ui toggle keys in-world should work now 2023-08-24 16:08:18 +09:00
minjaesong
45af955488 wide cloud for overcast weather 2023-08-24 15:08:30 +09:00
minjaesong
1f39b9d448 cloud texture touchups 2023-08-23 22:38:01 +09:00
minjaesong
26a4cdbce1 clouds will despawn of old age 2023-08-23 21:22:46 +09:00
minjaesong
bf87dc04cb randomised weather but i'm just faking it rn 2023-08-23 18:12:32 +09:00
minjaesong
8535b0ce13 forgot to enable the initial clouds spawning 2023-08-23 13:01:20 +09:00
minjaesong
6e0004f165 clouds can spawn and drift in any direction 2023-08-23 12:49:33 +09:00
minjaesong
845333f33d timeflow on the titlescreen need not be that complex 2023-08-23 10:10:01 +09:00
minjaesong
6988feb731 day-night cycle on the titlescreen 2023-08-22 23:39:09 +09:00
minjaesong
ac2c7b1148 clouds on titlescreen 2023-08-22 23:17:49 +09:00
minjaesong
d6145fd0da even more clouds 2023-08-22 22:27:39 +09:00
minjaesong
194089827c more cloud texture 2023-08-22 21:27:33 +09:00
minjaesong
d69d032f74 more cloud texture 2023-08-22 20:27:25 +09:00
minjaesong
a9dbea3d16 more clouds 2023-08-22 20:06:22 +09:00
minjaesong
52938a4b60 improved cloud draw perf 2023-08-22 17:43:53 +09:00
minjaesong
a21f986f30 cloud spawn z-pos probability change 2023-08-22 16:33:39 +09:00
minjaesong
547158a313 more depth to the distant clouds 2023-08-22 16:20:35 +09:00
minjaesong
0a8b5f33f4 clouds parallax and can drift in 3D 2023-08-22 09:50:03 +09:00
minjaesong
da8d620766 clouds with just right depths 2023-08-22 02:55:31 +09:00
minjaesong
7dd520393c more clouds 2023-08-22 00:06:03 +09:00
minjaesong
dc83e12170 more clouds 2023-08-21 21:39:11 +09:00
minjaesong
d6b2940d8f more clouds 2023-08-21 01:26:16 +09:00
minjaesong
c5dfe46b76 cloud wip 2023-08-20 19:10:43 +09:00
minjaesong
3d3926c08b windows build 2023-08-18 20:30:57 +09:00
minjaesong
9a90bf69d4 trying to use the proper method of running exe on exe 2023-08-18 10:57:40 +09:00
minjaesong
0ed5472d8a adjusting pos for 'save will be deleted' msg 2023-08-18 00:05:03 +09:00
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
517 changed files with 16508 additions and 9746 deletions

View File

@@ -11,78 +11,78 @@
<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/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-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="$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-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/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="$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="$PROJECT_DIR$/lib/gdx-backend-lwjgl3-1.11.0.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/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-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-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-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-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-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

@@ -21,12 +21,6 @@
<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="/" />
@@ -87,6 +81,13 @@
<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="/" />
<element id="extracted-dir" path="$PROJECT_DIR$/lib/commons-math3-3.6.1.jar" path-in-jar="/" />
</root>
</artifact>
</component>

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

@@ -0,0 +1,14 @@
<component name="libraryTable">
<library name="apache.commons.math3" type="repository">
<properties maven-id="org.apache.commons:commons-math3:3.6.1" />
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/commons-math3-3.6.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/commons-math3-3.6.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/commons-math3-3.6.1-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -1,14 +0,0 @@
<component name="libraryTable">
<library name="gdx-lwjgl3-glfw-awt-macos-1.11.0-javadoc">
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/gdx-lwjgl3-glfw-awt-macos-1.11.0-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/gdx-lwjgl3-glfw-awt-macos-1.11.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/gdx-lwjgl3-glfw-awt-macos-1.11.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/lib/gdx-lwjgl3-glfw-awt-macos-1.11.0-sources.jar!/" />
</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,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Build Version Number" type="Application" factoryName="Application">
<option name="ALTERNATIVE_JRE_PATH" value="17" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
<option name="MAIN_CLASS_NAME" value="net.torvald.terrarum.PrebuildKt" />
<module name="TerrarumBuild" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
</component>

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

@@ -7,6 +7,7 @@
<option name="ALTERNATIVE_JRE_PATH" value="17" />
<module name="TerrarumBuild" />
<method v="2">
<option name="RunConfigurationTask" enabled="true" run_configuration_name="Build Version Number" run_configuration_type="Application" />
<option name="BuildArtifacts" enabled="true">
<artifact name="ModuleComputers" />
<artifact name="TerrarumBuild" />

View File

@@ -7,6 +7,7 @@
<option name="ALTERNATIVE_JRE_PATH" value="17" />
<module name="TerrarumBuild" />
<method v="2">
<option name="RunConfigurationTask" enabled="true" run_configuration_name="Build Version Number" run_configuration_type="Application" />
<option name="BuildArtifacts" enabled="true">
<artifact name="ModuleComputers" />
<artifact name="TerrarumBuild" />

View File

@@ -9,12 +9,13 @@
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="ModuleComputersLib" level="project" />
<orderEntry type="module" module-name="TerrarumBuild" />
<orderEntry type="library" name="graalvm-js-21.1.0 and graalvm-js-scriptengine-21.1.0" level="project" />
<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>

View File

@@ -1,26 +1,17 @@
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 kotlin.coroutines.*
import net.torvald.terrarum.*
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
import net.torvald.terrarum.gameactors.AVKey
import net.torvald.terrarum.langpack.Lang
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.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.VMProgramRom
import net.torvald.unicode.*
/**
* Created by minjaesong on 2021-12-04.
@@ -131,84 +122,3 @@ class FixtureHomeComputer : FixtureBase {
}
}
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) {
fixture.startVM()
}
override fun doClosing(delta: Float) {
}
override fun endOpening(delta: Float) {
}
override fun endClosing(delta: Float) {
}
override fun dispose() {
fbo.dispose()
}
}

View File

@@ -24,7 +24,7 @@ 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() = FixtureItemBase.getItemImageFromSheet("dwarventech", "sprites/fixtures/desktop_computer.tga", TerrarumAppConfiguration.TILE_SIZE, TerrarumAppConfiguration.TILE_SIZE)
override var baseToolSize: Double? = baseMass

View File

@@ -2,6 +2,7 @@ package net.torvald.terrarum.modulecomputers.gameitems
import com.badlogic.gdx.graphics.Camera
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.OrthographicCamera
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.graphics.g2d.TextureRegion
import com.badlogic.gdx.utils.Disposable
@@ -32,7 +33,7 @@ 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() = FixtureItemBase.getItemImageFromSingleImage("basegame", "sprites/fixtures/signal_source.tga")
@@ -118,7 +119,7 @@ class WearableWorldRadarUI(val device: VM) : UICanvas() {
device.update(delta)
}
override fun renderUI(batch: SpriteBatch, camera: Camera) {
override fun renderUI(batch: SpriteBatch, camera: OrthographicCamera) {
batch.end()
batch.color = Color.WHITE

View File

@@ -0,0 +1,90 @@
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.*
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 = null,
toggleButtonLiteral = "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(ControlPresets.getKey("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: OrthographicCamera) {
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

@@ -18,11 +18,13 @@
<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.11.0-natives" level="project" />
<orderEntry type="library" name="graalvm-js-21.1.0 and graalvm-js-scriptengine-21.1.0" 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" />
<orderEntry type="library" name="apache.commons.math3" 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.

BIN
assets/graphics/fonts/code.tga LFS Normal file

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.

View File

@@ -379,11 +379,11 @@ let isDiacritics = (s) => s !== undefined && inRange(s.charCodeAt(0), 0x0300, 0x
return Object.freeze({"n":"\uDBBF\uDFC1Бъл. Многоезична\uDBBF\uDFC0","v":"none","c":"CuriousTo\uA75Bvald","m":"rewrite",
"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

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,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

@@ -346,12 +346,12 @@ let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" :
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

@@ -346,12 +346,12 @@ let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" :
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

@@ -375,12 +375,12 @@ let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" :
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

@@ -375,12 +375,12 @@ let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" :
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

@@ -385,12 +385,12 @@ let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" :
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

@@ -385,12 +385,12 @@ let bufDebugStringify = (buf) => [0,1,2].map(i => (buf[i] == undefined) ? "·" :
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

@@ -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

@@ -1,29 +1,43 @@
{
"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_LABEL_IME": "IME",
"MENU_OPTIONS_DITHER": "Dithering",
"MENU_OPTIONS_BLUR": "Blur",
"MENU_OPTIONS_PARTICLES": "Particles",
"MENU_IO_AUTOSAVE": "Autosave",
"MENU_IO_CLEAR": "Clear",
"MENU_IO_IMPORT": "Import",
"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",
"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_LABEL_IME_TOGGLE": "Toggle IME",
"MENU_LABEL_PASTE_FROM_CLIPBOARD": "Paste from Cliboard"
"MENU_LABEL_KEYBOARD_LAYOUT": "Keyboard Layout",
"MENU_LABEL_PASTE": "Paste",
"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_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,17 @@
{
"ERROR_FILE_NOT_FOUND": "File not found.",
"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

@@ -9,7 +9,7 @@
"GAME_ACTION_MOVE_VERB" : "हिलना",
"GAME_ACTION_ZOOM" : "ज़ूम",
"MENU_LABEL_RESET" : "रीसेट",
"MENU_OPTION_STREAMERS_LAYOUT": "Chat Overlay",
"MENU_OPTIONS_STREAMERS_LAYOUT": "Chat Overlay",
"MENU_LABEL_RESTART_REQUIRED": "पुनः शुरआत जरुरी है",
"MENU_LABEL_KEYBOARD_LAYOUT": "कीबोर्ड विन्यास",
"MENU_LABEL_IME": "इनपुट विधि",

View File

@@ -2335,7 +2335,7 @@
},
{
"n": "MENU_OPTIONS",
"s": "Stillingar "
"s": "Valkostir "
},
{
"n": "MENU_OPTIONS_ADVANCEDGRAPHICS",
@@ -2395,11 +2395,11 @@
},
{
"n": "MENU_OPTIONS_GAMEPLAY",
"s": "Gameplay Options"
"s": "Leikvalkostir"
},
{
"n": "MENU_OPTIONS_GRAPHICS",
"s": "Grafíkstillingar"
"s": "Grafíkvalkostir"
},
{
"n": "MENU_OPTIONS_HUD",

View File

@@ -15,5 +15,15 @@
"MENU_OPTIONS_DITHER": "Dither",
"MENU_OPTIONS_BLUR": "Óskýrt",
"MENU_OPTIONS_PARTICLES": "Eind",
"MENU_IO_IMPORT": "Flytja inn"
"MENU_IO_IMPORT": "Flytja inn",
"APP_NOMODULE_1": "Engin eining er hlaðin eins og er.",
"APP_NOMODULE_2": "Vinsamlega stilltu hleðslupöntunina þína og endurræstu:",
"MENU_LABEL_KEYCONFIG_HELP1": "Smelltu á lyklalokið til að úthluta aðgerðum",
"MENU_LABEL_IME_TOGGLE": "Breyttu IME",
"MENU_LABEL_PASTE_FROM_CLIPBOARD": "Límdu frá klemmuspjald",
"MENU_OPTIONS_PERFORMANCE": "Afköst",
"MENU_LABEL_DELETE": "Eyða",
"MENU_OPTIONS_JVM_HEAP_MAX": "Hámarks hrúguminni",
"MENU_OPTIONS_AUTOSAVE": "Sjálfvirk vistun",
"CONTEXT_TIME_MINUTE_PLURAL": "Mínútur"
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +0,0 @@
{
"MENU_LABEL_COPYRIGHT": "ちょさくけん",
"COPYRIGHT_ALL_RIGHTS_RESERVED": "ぜんちょさくけん しょゆう",
"COPYRIGHT_GNU_GPL_3": "GNU GPL 3で はいふ",
"APP_WARNING_HEALTH_AND_SAFETY": "けいこくーけんこうと あんぜんの ために",
"MENU_LABEL_PRESS_START_SYMBOL": "> ボタンを おす",
"MENU_MODULES" : "モジュール"
}

View File

@@ -1,28 +1,40 @@
{
"APP_WARNING_HEALTH_AND_SAFETY": "경고—건강과 안전을 위하여",
"CONTEXT_CHARACTER": "캐릭터",
"MENU_LABEL_COPYRIGHT": "저작권",
"CONTEXT_TIME_MINUTE_PLURAL": "",
"CONTEXT_TIME_SECOND_PLURAL": "초",
"COPYRIGHT_ALL_RIGHTS_RESERVED": "모든 권리 보유",
"COPYRIGHT_GNU_GPL_3": "GNU GPL 3에 따라 배포됨",
"APP_WARNING_HEALTH_AND_SAFETY": "경고—건강과 안전을 위하여",
"MENU_LABEL_PRESS_START_SYMBOL": ">을 누르세요",
"MENU_MODULES" : "모듈",
"GAME_ACTION_MOVE_VERB" : "이동하기",
"GAME_ACTION_ZOOM" : "확대·축소",
"MENU_LABEL_RESET" : "재설정",
"GAME_32BIT_WARNING1": "32비트 버전의 Java를 사용중인 것 같습니다.",
"GAME_32BIT_WARNING2": "아래 링크에서 최신 64비트 Java를 내려받아 설치해주세요.",
"GAME_32BIT_WARNING3": "https://www.java.com/ko/download/",
"MENU_OPTION_STREAMERS_LAYOUT": "채팅창 오버레이",
"MENU_LABEL_RESTART_REQUIRED": "재시작 필요",
"MENU_LABEL_KEYBOARD_LAYOUT": "자판 배열",
"MENU_LABEL_IME": "입력기",
"MENU_OPTIONS_DITHER": "디더링",
"MENU_OPTIONS_BLUR": "흐림",
"MENU_OPTIONS_PARTICLES": "입자 수",
"GAME_ACTION_ZOOM_OUT" : "화면 축소",
"MENU_IO_AUTOSAVE": "자동 저장",
"MENU_IO_CLEAR": "지우기",
"MENU_IO_IMPORT": "가져오기",
"APP_NOMODULE_1": "현재 불러와진 모듈이 없습니다.",
"APP_NOMODULE_2": "다음의 파일에서 불러오기 순서를 설정하고 게임을 재시작하십시오.",
"MENU_LABEL_KEYCONFIG_HELP1": "키캡을 클릭해 컨트롤을 배정하십시오",
"MENU_IO_MANUAL_SAVE": "수동 저장",
"MENU_LABEL_COPYRIGHT": "저작권",
"MENU_LABEL_DELETE": "삭제",
"MENU_LABEL_EXTRA_JVM_ARGUMENTS": "추가 명령 인수",
"MENU_LABEL_IME": "입력기",
"MENU_LABEL_IME_TOGGLE": "입력기 켜고 끄기",
"MENU_LABEL_PASTE_FROM_CLIPBOARD": "복사한 텍스트 붙여넣기"
"MENU_LABEL_KEYBOARD_LAYOUT": "자판 배열",
"MENU_LABEL_PASTE": "붙여넣기",
"MENU_LABEL_PASTE_FROM_CLIPBOARD": "복사한 문구 붙여넣기",
"MENU_LABEL_PRESS_START_SYMBOL": ">을 누르세요",
"MENU_LABEL_RESET" : "재설정",
"MENU_LABEL_RESTART_REQUIRED": "재시작 필요",
"MENU_LABEL_STREAMING": "실시간 방송",
"MENU_LABEL_SYSTEM_INFO": "시스템 정보",
"MENU_MODULES" : "모듈",
"MENU_OPTIONS_ATLAS_TEXTURE_SIZE": "아틀라스 텍스처 크기",
"MENU_OPTIONS_AUTOSAVE": "자동 저장",
"MENU_OPTIONS_BLUR": "흐림",
"MENU_OPTIONS_DEBUG_CONSOLE": "디버그 콘솔",
"MENU_OPTIONS_DITHER": "디더링",
"MENU_OPTIONS_JVM_HEAP_MAX": "최대 힙 메모리",
"MENU_OPTIONS_NOTIFICATION_DISPLAY_DURATION": "알림 표시 시간",
"MENU_OPTIONS_PARTICLES": "입자 수",
"MENU_OPTIONS_PERFORMANCE": "성능",
"MENU_OPTIONS_STREAMERS_LAYOUT": "채팅창 오버레이",
"MENU_OPTIONS_NONE" : "없음"
}

View File

@@ -0,0 +1,17 @@
{
"ERROR_FILE_NOT_FOUND": "파일을 찾을 수 없습니다.",
"GAME_32BIT_WARNING1": "32비트 버전의 Java를 사용중인 것 같습니다.",
"GAME_32BIT_WARNING2": "아래 링크에서 최신 64비트 Java를 내려받아 설치해주세요.",
"GAME_32BIT_WARNING3": "https://www.java.com/ko/download/",
"GAME_APPLE_ROSETTA_WARNING1": "Apple Silicon이 탑재된 Mac을 사용 중이지만 x86 빌드의 게임을 실행 중입니다.",
"GAME_APPLE_ROSETTA_WARNING2": "최적의 성능과 게임 경험을 위해 Apple Silicon용 빌드의 게임을 이용해 주십시오.",
"APP_NOMODULE_1": "현재 불러와진 모듈이 없습니다.",
"APP_NOMODULE_2": "다음의 파일에서 불러오기 순서를 설정하고 게임을 재시작하십시오.",
"MENU_LABEL_KEYCONFIG_HELP1": "키캡을 클릭해 컨트롤을 배정하십시오",
"GAME_PREV_SAVE_WAS_LOADED1": "가장 최근에 저장된 게임이 손상되었습니다.",
"GAME_PREV_SAVE_WAS_LOADED2": "이전에 저장된 게임을 불러왔습니다.",
"GAME_MORE_RECENT_AUTOSAVE1": "자동 저장된 게임이 수동으로 저장한 게임보다 더 최신입니다.",
"GAME_MORE_RECENT_AUTOSAVE2": "불러올 게임을 선택해 주십시오.",
"MENU_LABEL_SAVE_WILL_BE_DELETED": "선택된 세이브가 삭제됩니다.",
"MENU_LABEL_UNSAVED_PROGRESS_WILL_BE_LOST": "저장하지 않은 진행 상황을 잃게 됩니다."
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,23 +0,0 @@
{
"CONTEXT_CHARACTER": "캐리ᄀ터",
"MENU_LABEL_COPYRIGHT": "저자ᄀ구ᅥᄂ",
"COPYRIGHT_ALL_RIGHTS_RESERVED": "모드ᄂ 구ᅥᄂ리 보유",
"COPYRIGHT_GNU_GPL_3": "GNU GPL 3에 ᄃ다라 배포도ᅵᄆ",
"APP_WARNING_HEALTH_AND_SAFETY": "겨ᄋ고—거ᄂ가ᄋ고ᅡ 아ᄂ저ᄂ으ᄅ 우ᅵ하여",
"MENU_LABEL_PRESS_START_SYMBOL": ">으ᄅ 누르세요",
"MENU_MODULES" : "모듀ᄅ",
"GAME_ACTION_MOVE_VERB" : "이도ᄋ하기",
"GAME_ACTION_ZOOM" : "호ᅡᄀ대·추ᄀ소",
"MENU_LABEL_RESET" : "재서ᄅ저ᄋ",
"GAME_32BIT_WARNING1": "32비트 버저ᄂ으ᅵ Java르ᄅ 사요ᄋ주ᄋ이ᄂ 거ᄉ 가ᄐ스ᄇ니다.",
"GAME_32BIT_WARNING2": "아래 리ᄋ크에서 초ᅵ시ᄂ 64비트 Java르ᄅ 내려바ᄃ아 서ᄅ치해주세요.",
"GAME_32BIT_WARNING3": "https://www.java.com/ko/download/",
"MENU_OPTION_STREAMERS_LAYOUT": "채티ᄋ차ᄋ 오버레이",
"MENU_LABEL_RESTART_REQUIRED": "재시자ᄀ 피ᄅ요",
"MENU_LABEL_KEYBOARD_LAYOUT": "자파ᄂ 배여ᄅ",
"MENU_LABEL_IME": "이ᄇ려ᄀ기",
"MENU_OPTIONS_DITHER": "디더리ᄋ",
"MENU_OPTIONS_BLUR": "흐리ᄆ",
"MENU_OPTIONS_PARTICLES": "이ᄇ자 수",
"MENU_IO_IMPORT": "가져오기"
}

View File

@@ -15,7 +15,7 @@
"GAME_32BIT_WARNING1": "看起来您正在运行32位版本的Java。",
"GAME_32BIT_WARNING2": "请下载并安装最新的64位Java :",
"GAME_32BIT_WARNING3": "https://www.java.com/en/download/",
"MENU_OPTION_STREAMERS_LAYOUT": "聊天叠加",
"MENU_OPTIONS_STREAMERS_LAYOUT": "聊天叠加",
"MENU_LABEL_RESTART_REQUIRED": "需要重新启动",
"MENU_LABEL_KEYBOARD_LAYOUT": "键盘布局",
"MENU_LABEL_IME": "输入法",

View File

@@ -11,7 +11,7 @@
"GAME_32BIT_WARNING1": "看起來您正在運行32位版本的Java。",
"GAME_32BIT_WARNING2": "請下載並安裝最新的64位Java :",
"GAME_32BIT_WARNING3": "https://www.java.com/en/download/",
"MENU_OPTION_STREAMERS_LAYOUT": "聊天疊加",
"MENU_OPTIONS_STREAMERS_LAYOUT": "聊天疊加",
"MENU_LABEL_RESTART_REQUIRED": "需要重新啟動",
"MENU_LABEL_KEYBOARD_LAYOUT": "鍵盤配置",
"MENU_LABEL_IME": "輸入法",

Binary file not shown.

Binary file not shown.

View File

@@ -1,5 +1,5 @@
"id";"drop";"spawn";"name";"shdr";"shdg";"shdb";"shduv";"str";"dsty";"mate";"solid";"wall";"grav";"dlfn";"fv";"fr";"lumr";"lumg";"lumb";"lumuv";"colour";"vscs";"refl";"tags"
"0";"0";"0";"BLOCK_AIR";"0.0312";"0.0312";"0.0312";"0.0312";"1";"1";"NULL";"0";"1";"N/A";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";""
"0";"0";"0";"BLOCK_AIR";"0.0312";"0.0312";"0.0312";"0.0312";"1";"1";"NULL";"0";"1";"N/A";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"INCONSEQUENTIAL"
"16";"17";"17";"BLOCK_STONE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"ROCK,NATURAL"
"17";"17";"17";"BLOCK_STONE_QUARRIED";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"ROCK"
"18";"18";"18";"BLOCK_STONE_TILE_WHITE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.18";"STONE"
@@ -23,12 +23,12 @@
"65";"65";"65";"BLOCK_TRUNK_EBONY";"0.0312";"0.0312";"0.0312";"0.0312";"19";"1200";"WOOD";"0";"0";"N/A";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"TREE,NATURAL"
"66";"66";"66";"BLOCK_TRUNK_BIRCH";"0.0312";"0.0312";"0.0312";"0.0312";"15";"670";"WOOD";"0";"0";"N/A";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"TREE,NATURAL"
"67";"67";"67";"BLOCK_TRUNK_BLOODROSE";"0.0312";"0.0312";"0.0312";"0.0312";"17";"900";"WOOD";"0";"0";"N/A";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"TREE,NATURAL"
"80";"80";"80";"BLOCK_SAND";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.06";"SAND,NATURAL"
"81";"81";"81";"BLOCK_SAND_WHITE";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.06";"SAND,NATURAL"
"82";"82";"82";"BLOCK_SAND_RED";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.06";"SAND,NATURAL"
"83";"83";"83";"BLOCK_SAND_DESERT";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.06";"SAND,NATURAL"
"84";"84";"84";"BLOCK_SAND_BLACK";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.06";"SAND,NATURAL"
"85";"85";"85";"BLOCK_SAND_GREEN";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.06";"SAND,NATURAL"
"80";"80";"80";"BLOCK_SAND";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.06";"SAND,NATURAL,WARM"
"81";"81";"81";"BLOCK_SAND_WHITE";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.06";"SAND,NATURAL,WARM"
"82";"82";"82";"BLOCK_SAND_RED";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.06";"SAND,NATURAL,WARM"
"83";"83";"83";"BLOCK_SAND_DESERT";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.06";"SAND,NATURAL,WARM"
"84";"84";"84";"BLOCK_SAND_BLACK";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.06";"SAND,NATURAL,WARM"
"85";"85";"85";"BLOCK_SAND_GREEN";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.06";"SAND,NATURAL,WARM"
"96";"96";"96";"BLOCK_GRAVEL";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"GRVL";"1";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"GRAVEL,NATURAL"
"97";"97";"97";"BLOCK_GRAVEL_GREY";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"GRVL";"1";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"GRAVEL,NATURAL"
"112";"112";"112";"BLOCK_ORE_MALACHITE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"OORE";"1";"0";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"ORE,NATURAL"
@@ -44,10 +44,10 @@
"132";"132";"132";"BLOCK_GEM_DIAMOND";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"OGEM";"1";"0";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"GEM,NATURAL"
"133";"133";"133";"BLOCK_GEM_AMETHYST";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"OGEM";"1";"0";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"GEM,NATURAL"
"134";"134";"134";"BLOCK_GEM_QUARTZ";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"OGEM";"1";"0";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"GEM,NATURAL"
"144";"144";"144";"BLOCK_SNOW";"0.1252";"0.1252";"0.1252";"0.1252";"24";"500";"SNOW";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"SNOW,NATURAL"
"145";"N/A";"N/A";"BLOCK_ICE_FRAGILE";"0.0508";"0.0508";"0.0508";"0.0508";"5";"930";"ICEI";"1";"0";"N/A";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"ICE,NATURAL,FRAGIEL"
"146";"146";"146";"BLOCK_ICE_NATURAL";"0.1016";"0.1016";"0.1016";"0.1016";"35";"930";"ICEI";"1";"1";"N/A";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"ICE,NATURAL"
"147";"147";"147";"BLOCK_ICE_CLEAR_MAGICAL";"0.1252";"0.1252";"0.1252";"0.1252";"48";"3720";"ICEX";"1";"1";"N/A";"0";"0";"4";"0.0744";"0.1252";"0.2268";"0.0000";"N/A";"N/A";"0.0";"ICE"
"144";"144";"144";"BLOCK_SNOW";"0.1252";"0.1252";"0.1252";"0.1252";"24";"500";"SNOW";"1";"1";"N/A";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"SNOW,NATURAL,COLD"
"145";"N/A";"N/A";"BLOCK_ICE_FRAGILE";"0.0508";"0.0508";"0.0508";"0.0508";"5";"930";"ICEI";"1";"0";"N/A";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"ICE,NATURAL,FRAGILE,COLD"
"146";"146";"146";"BLOCK_ICE_NATURAL";"0.1016";"0.1016";"0.1016";"0.1016";"35";"930";"ICEI";"1";"1";"N/A";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"ICE,NATURAL,COLD"
"147";"147";"147";"BLOCK_ICE_CLEAR_MAGICAL";"0.1252";"0.1252";"0.1252";"0.1252";"48";"3720";"ICEX";"1";"1";"N/A";"0";"0";"4";"0.0744";"0.1252";"0.2268";"0.0000";"N/A";"N/A";"0.0";"ICE,COLD"
"148";"148";"148";"BLOCK_GLASS_CRUDE";"0.0876";"0.0424";"0.0876";"0.1252";"5";"2500";"GLAS";"1";"1";"N/A";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"GLASS"
"149";"149";"149";"BLOCK_GLASS_CLEAN";"0.0424";"0.0424";"0.0424";"0.0636";"5";"2203";"GLAS";"1";"1";"N/A";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"GLASS"
"160";"160";"160";"BLOCK_PLATFORM_STONE";"0.0312";"0.0312";"0.0312";"0.0312";"5";"2400";"ROCK";"0";"0";"N/A";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A";"0.0";"PLATFORM"
@@ -188,6 +188,7 @@
## Some tags are reserved for internal use, which are:
## - INTERNAL: denotes that the tile is internal-use. Will not be rendered unless debug window is on.
## - DORENDER: this internal tile must go through the standard-issue tile drawing routine.
## - INCONSEQUENTIAL: denotes that this tile can be overwritten without dropping it. Usually used with flower tiles.
#
#
## References ##
Can't render this file because it contains an unexpected character in line 179 and column 37.

View File

@@ -22,6 +22,8 @@ Seed
SetAV
SetBulletin
SetScale
SetSol
SetTurb
SetTime
SetTimeDelta
SpawnPhysTestBall
@@ -30,4 +32,5 @@ Teleport
ToggleNoClip
Zoom
DynToStatic
DebugFillInventory
DebugFillInventory
Uuid
1 CatStdout
22 SetAV
23 SetBulletin
24 SetScale
25 SetSol
26 SetTurb
27 SetTime
28 SetTimeDelta
29 SpawnPhysTestBall
32 ToggleNoClip
33 Zoom
34 DynToStatic
35 DebugFillInventory
36 Uuid

View File

@@ -0,0 +1,34 @@
{
"racename": "",
"racenameplural": "",
"baseheight": 90,
"basemass": 600.0,
"strength": 65535,
"strengthmult": [100,100,100,100,100,100,100],
"accel": 0.67,
"speed": 6.0,
"speedmult": [100,100,100,100,100,100,100],
"vertstride": 40,
"jumppower": 17.6,
"jumppowermult": [100,100,100,100,100,100,100],
"scale": 1.0,
"scalemult": [100,100,100,100,100,100,100],
"encumbrance": 2147483647,
"defence": 65535,
"reach": 226,
"toolsize": 40,
"intelligent": true,
"barehandactionminheight": 40,
"basebarehanddiggingsize": 16,
"__comments__": "This RAW is intended to test the theoretical maximum values for properties (strength, defence, etc.)"
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -2,13 +2,23 @@ id;classname
1;net.torvald.terrarum.modulebasegame.gameitems.PickaxeCopper
2;net.torvald.terrarum.modulebasegame.gameitems.PickaxeIron
3;net.torvald.terrarum.modulebasegame.gameitems.PickaxeSteel
4;net.torvald.terrarum.modulebasegame.gameitems.SledgehammerIron
5;net.torvald.terrarum.modulebasegame.gameitems.ItemTikiTorch
6;net.torvald.terrarum.modulebasegame.gameitems.ItemStorageChest
7;net.torvald.terrarum.modulebasegame.gameitems.WireGraphDebugger
8;net.torvald.terrarum.modulebasegame.gameitems.ItemLogicSignalEmitter
9;net.torvald.terrarum.modulebasegame.gameitems.WireCutterAll
10;net.torvald.terrarum.modulebasegame.gameitems.ItemTypewriter
11;net.torvald.terrarum.modulebasegame.gameitems.ItemWallCalendar
12;net.torvald.terrarum.modulebasegame.gameitems.SledgehammerCopper
13;net.torvald.terrarum.modulebasegame.gameitems.SledgehammerSteel
999998;net.torvald.terrarum.modulebasegame.gameitems.ItemTestDoor
256;net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorOak
257;net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorEbony
258;net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorBirch
259;net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorRosewood
320;net.torvald.terrarum.modulebasegame.gameitems.ItemWorldPortal
999999;net.torvald.terrarum.modulebasegame.gameitems.ItemTapestry
1 id classname
2 1 net.torvald.terrarum.modulebasegame.gameitems.PickaxeCopper
3 2 net.torvald.terrarum.modulebasegame.gameitems.PickaxeIron
4 3 net.torvald.terrarum.modulebasegame.gameitems.PickaxeSteel
5 4 net.torvald.terrarum.modulebasegame.gameitems.SledgehammerIron
6 5 net.torvald.terrarum.modulebasegame.gameitems.ItemTikiTorch
7 6 net.torvald.terrarum.modulebasegame.gameitems.ItemStorageChest
8 7 net.torvald.terrarum.modulebasegame.gameitems.WireGraphDebugger
9 8 net.torvald.terrarum.modulebasegame.gameitems.ItemLogicSignalEmitter
10 9 net.torvald.terrarum.modulebasegame.gameitems.WireCutterAll
11 10 net.torvald.terrarum.modulebasegame.gameitems.ItemTypewriter
12 11 net.torvald.terrarum.modulebasegame.gameitems.ItemWallCalendar
13 12 net.torvald.terrarum.modulebasegame.gameitems.SledgehammerCopper
14 13 net.torvald.terrarum.modulebasegame.gameitems.SledgehammerSteel
15 999998 256 net.torvald.terrarum.modulebasegame.gameitems.ItemTestDoor net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorOak
16 999999 257 net.torvald.terrarum.modulebasegame.gameitems.ItemTapestry net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorEbony
17 258 net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorBirch
18 259 net.torvald.terrarum.modulebasegame.gameitems.ItemSwingingDoorRosewood
19 320 net.torvald.terrarum.modulebasegame.gameitems.ItemWorldPortal
20 999999 net.torvald.terrarum.modulebasegame.gameitems.ItemTapestry
21
22
23
24

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,34 @@
{
"MENU_CALENDAR_CALENDAR": "Calendar",
"MENU_CALENDAR_EVENTS": "Events",
"MENU_CALENDAR_ADD_NEW_EVENT": "Add New Event",
"CONTEXT_CALENDAR_SEASON_SPRING": "Spring",
"CONTEXT_CALENDAR_SEASON_SUMMER": "Summer",
"CONTEXT_CALENDAR_SEASON_AUTUMN": "Autumn",
"CONTEXT_CALENDAR_SEASON_WINTER": "Winter",
"CONTEXT_CALENDAR_SEASON_SPRI": "Spri",
"CONTEXT_CALENDAR_SEASON_SUMM": "Summ",
"CONTEXT_CALENDAR_SEASON_AUTM": "Autm",
"CONTEXT_CALENDAR_SEASON_WINT": "Wint",
"CONTEXT_CALENDAR_DATE_FORMAT_Y": "Year {0}",
"CONTEXT_CALENDAR_DATE_FORMAT_YMD": "Year {0} {1} {2}",
"CONTEXT_CALENDAR_DATE_FORMAT_YMD_DDD": "Year {0} {1} {2} {3}",
"CONTEXT_CALENDAR_DAY_MONDAG_DNT": "Mondag",
"CONTEXT_CALENDAR_DAY_TYSDAG_DNT": "Tysdag",
"CONTEXT_CALENDAR_DAY_MIDTVEKE_DNT": "Midtveke",
"CONTEXT_CALENDAR_DAY_TORSDAG_DNT": "Torsdag",
"CONTEXT_CALENDAR_DAY_FREDAG_DNT": "Fredag",
"CONTEXT_CALENDAR_DAY_LAURDAG_DNT": "Laurdag",
"CONTEXT_CALENDAR_DAY_SUNDAG_DNT": "Sundag",
"CONTEXT_CALENDAR_DAY_VERDDAG_DNT": "Verddag",
"CONTEXT_CALENDAR_DAY_MON_DNT": "Mon",
"CONTEXT_CALENDAR_DAY_TYS_DNT": "Tys",
"CONTEXT_CALENDAR_DAY_MID_DNT": "Mid",
"CONTEXT_CALENDAR_DAY_TOR_DNT": "Tor",
"CONTEXT_CALENDAR_DAY_FRE_DNT": "Fre",
"CONTEXT_CALENDAR_DAY_LAU_DNT": "Lau",
"CONTEXT_CALENDAR_DAY_SUN_DNT": "Sun",
"CONTEXT_CALENDAR_DAY_VER_DNT": "Ver",
"CONTEXT_CALENDAR_DATE_FORMAT_YMD_SHORT_DNT": "ɣ{0}-{1}-{2}"
}

View File

@@ -1,20 +1,26 @@
{
"CONTEXT_GENERATOR_SEED": "Seed",
"CONTEXT_ITEM_MAP": "Map",
"CONTEXT_ITEM_TOOL_PLURAL": "Tools",
"CONTEXT_PLACE_COORDINATE": "Coordinate",
"CONTEXT_WORLD_COUNT": "Worlds: ",
"CONTEXT_WORLD_NEW": "New World",
"MENU_LABEL_DELETE_WORLD": "Delete World",
"CONTEXT_WORLD_COUNT": "Worlds: ",
"GAME_INVENTORY_INGREDIENTS": "Ingredients",
"GAME_INVENTORY_POTIONS": "Potions",
"GAME_INVENTORY_BLOCKS": "Blocks",
"GAME_INVENTORY_WALLS": "Walls",
"CONTEXT_ITEM_TOOL_PLURAL": "Tools",
"GAME_INVENTORY_FAVORITES": "Favorites",
"GAME_INVENTORY_REGISTER": "Register",
"CONTEXT_ITEM_MAP": "Map",
"MENU_LABEL_MENU": "Menu",
"CONTEXT_GENERATOR_SEED": "Seed",
"MENU_LABEL_PREV_SAVES": "Previous Saves",
"MENU_LABEL_RENAME": "Rename",
"MENU_LABEL_USE_CODE": "Use Code",
"MENU_MONITOR_CALI_TITLE": "Check Monitor",
"GAME_ACTION_CRAFT": "Craft",
"GAME_ACTION_GRAPPLE": "Grapple",
"GAME_ACTION_QUICKSEL": "Quick Select",
"GAME_ACTION_CRAFT": "Craft",
"GAME_ACTION_TELEPORT": "Teleport",
"GAME_CRAFTABLE_ITEMS": "Craftable Items",
"GAME_CRAFTING": "Crafting",
"GAME_CRAFTABLE_ITEMS": "Craftable Items"
"GAME_INVENTORY_BLOCKS": "Blocks",
"GAME_INVENTORY_FAVORITES": "Favorites",
"GAME_INVENTORY_INGREDIENTS": "Ingredients",
"GAME_INVENTORY_POTIONS": "Potions",
"GAME_INVENTORY_REGISTER": "Register",
"GAME_INVENTORY_WALLS": "Walls"
}

View File

@@ -1,18 +1,26 @@
{
"BLOCK_STONE_DEEP": "Deepstone",
"BLOCK_SCAFFOLDING_NORMAL": "Scaffolding",
"BLOCK_STONE_MARBLE": "Marble",
"ITEM_CALENDAR": "Calendar",
"ITEM_LOGIC_SIGNAL_EMITTER": "Logic Signal Emitter",
"ITEM_PICK_COPPER": "Copper Pickaxe",
"ITEM_PICK_IRON": "Iron Pickaxe",
"ITEM_PICK_STEEL": "Steel Pickaxe",
"ITEM_SLEDGEHAMMER_COPPER": "Copper Sledgehammer",
"ITEM_SLEDGEHAMMER_IRON": "Iron Sledgehammer",
"ITEM_SLEDGEHAMMER_STEEL": "Steel Sledgehammer",
"ITEM_STORAGE_CHEST": "Storage Chest",
"ITEM_TIKI_TORCH": "Tiki Torch",
"ITEM_TYPEWRITER": "Typewriter",
"ITEM_WIRE": "Wire",
"ITEM_WIRE_CUTTER": "Wire Cutter",
"ACTORBLOCK_ALLOW_MOVE_DOWN": "Urist Arôlcustith",
"ACTORBLOCK_FULL_COLLISION": "Urist Berdanrifot",
"ACTORBLOCK_NO_COLLISION": "Urist Zafal",
"ACTORBLOCK_NO_PASS_RIGHT": "Urist McPassLeft",
"ACTORBLOCK_NO_PASS_LEFT": "Urist McPassRight",
"ACTORBLOCK_TILING_PLACEHOLDER": "Urist Berdanurdim",
"BLOCK_STONE_DEEP": "Deepstone",
"BLOCK_SCAFFOLDING_NORMAL": "Scaffolding",
"BLOCK_STONE_MARBLE": "Marble",
"ITEM_STORAGE_CHEST": "Storage Chest",
"ITEM_WIRE": "Wire",
"ITEM_WIRE_CUTTER": "Wire Cutter",
"ITEM_LOGIC_SIGNAL_EMITTER": "Logic Signal Emitter",
"ITEM_TIKI_TORCH": "Tiki Torch"
"ACTORBLOCK_TILING_PLACEHOLDER": "Urist Berdanurdim"
}

View File

@@ -0,0 +1,12 @@
{
"CONTEXT_THIS_IS_A_WORLD_CURRENTLY_PLAYING": "This is a world currently playing.",
"CONTEXT_IMPORT_AVATAR_INSTRUCTION_1": "1. Place the Avatar file into the following directory:",
"CONTEXT_IMPORT_AVATAR_INSTRUCTION_2": "",
"CONTEXT_IMPORT_AVATAR_INSTRUCTION_3": "2. Enter the name of the file below, then press Import",
"CONTEXT_WORLD_CODE_SHARE_1": "Other people sharing the device can play on this",
"CONTEXT_WORLD_CODE_SHARE_2": "world when you are away.",
"CONTEXT_WORLD_CODE_SHARE_3": "",
"CONTEXT_WORLD_CODE_SHARE_4": "Share the code below so the other people can join!",
"ERROR_AVATAR_ALREADY_EXISTS": "The Avatar already exists.",
"ERROR_WORLD_NOT_FOUND": "World not found."
}

View File

@@ -1,14 +0,0 @@
{
"CONTEXT_WORLD_NEW": "あたらしい せかい",
"MENU_LABEL_DELETE_WORLD": "せかいを さくじょ",
"CONTEXT_WORLD_COUNT": "せかい: ",
"MENU_MONITOR_CALI_TITLE": "モニターチェック",
"GAME_INVENTORY_INGREDIENTS" : "ざいりょう",
"GAME_INVENTORY_POTIONS" : "すいやく",
"GAME_INVENTORY_BLOCKS" : "ブロック",
"GAME_INVENTORY_WALLS" : "かべ",
"CONTEXT_ITEM_TOOL_PLURAL" : "どうぐ",
"GAME_INVENTORY_FAVORITES" : "とうろく"
}

View File

@@ -0,0 +1,16 @@
{
"MENU_CALENDAR_CALENDAR": "달력",
"MENU_CALENDAR_EVENTS": "일정",
"MENU_CALENDAR_ADD_NEW_EVENT": "새 일정 추가",
"CONTEXT_CALENDAR_SEASON_SPRING": "봄",
"CONTEXT_CALENDAR_SEASON_SUMMER": "여름",
"CONTEXT_CALENDAR_SEASON_AUTUMN": "가을",
"CONTEXT_CALENDAR_SEASON_WINTER": "겨울",
"CONTEXT_CALENDAR_SEASON_SPRI": "봄",
"CONTEXT_CALENDAR_SEASON_SUMM": "여름",
"CONTEXT_CALENDAR_SEASON_AUTM": "가을",
"CONTEXT_CALENDAR_SEASON_WINT": "겨울",
"CONTEXT_CALENDAR_DATE_FORMAT_Y": "{0}년",
"CONTEXT_CALENDAR_DATE_FORMAT_YMD": "{0}년 {1} {2}일",
"CONTEXT_CALENDAR_DATE_FORMAT_YMD_DDD": "{0}년 {1} {2}일 {3}"
}

View File

@@ -1,21 +1,26 @@
{
"CONTEXT_GENERATOR_SEED": "시드",
"CONTEXT_ITEM_MAP": "지도",
"CONTEXT_ITEM_TOOL_PLURAL": "도구",
"CONTEXT_PLACE_COORDINATE": "좌표",
"CONTEXT_WORLD_COUNT": "새계: ",
"CONTEXT_WORLD_NEW": "새 세계",
"MENU_LABEL_DELETE_WORLD": "새계 삭제",
"CONTEXT_WORLD_COUNT": "새계: ",
"MENU_MONITOR_CALI_TITLE": "모니터 확인",
"GAME_INVENTORY_INGREDIENTS": "재료",
"GAME_INVENTORY_POTIONS": "물약",
"GAME_INVENTORY_BLOCKS": "블록",
"GAME_INVENTORY_WALLS": "벽지",
"CONTEXT_ITEM_TOOL_PLURAL": "도구",
"GAME_INVENTORY_FAVORITES": "즐겨찾기",
"GAME_INVENTORY_REGISTER": "등록하기",
"MENU_LABEL_MENU": "메뉴",
"CONTEXT_ITEM_MAP": "지도",
"CONTEXT_GENERATOR_SEED": "시드",
"MENU_LABEL_PREV_SAVES": "이전 세이브",
"MENU_LABEL_RENAME": "이름 바꾸기",
"MENU_LABEL_USE_CODE": "코드 사용",
"MENU_MONITOR_CALI_TITLE": "모니터 확인",
"GAME_ACTION_CRAFT": "제작하기",
"GAME_ACTION_GRAPPLE": "매달리기",
"GAME_ACTION_QUICKSEL": "빠른 선택",
"GAME_ACTION_CRAFT": "제작하기",
"GAME_ACTION_TELEPORT": "텔레포트하기",
"GAME_CRAFTABLE_ITEMS": "제작 가능한 아이템",
"GAME_CRAFTING": "제작",
"GAME_CRAFTABLE_ITEMS": "제작 가능한 아이템"
"GAME_INVENTORY_BLOCKS": "블록",
"GAME_INVENTORY_FAVORITES": "즐겨찾기",
"GAME_INVENTORY_INGREDIENTS": "재료",
"GAME_INVENTORY_POTIONS": "물약",
"GAME_INVENTORY_REGISTER": "등록하기",
"GAME_INVENTORY_WALLS": "벽지"
}

View File

@@ -3,9 +3,17 @@
"BLOCK_SCAFFOLDING_NORMAL": "발판",
"BLOCK_STONE_MARBLE": "대리석",
"ITEM_STORAGE_CHEST": "보관상자",
"ITEM_WIRE": "전선",
"ITEM_WIRE_CUTTER": "전선 절단기",
"ITEM_CALENDAR": "달력",
"ITEM_LOGIC_SIGNAL_EMITTER": "신호발생기",
"ITEM_TIKI_TORCH": "티키 토치"
"ITEM_PICK_COPPER": "구리 곡괭이",
"ITEM_PICK_IRON": "철 곡괭이",
"ITEM_PICK_STEEL": "강철 곡괭이",
"ITEM_SLEDGEHAMMER_COPPER": "구리 해머",
"ITEM_SLEDGEHAMMER_IRON": "철 해머",
"ITEM_SLEDGEHAMMER_STEEL": "강철 해머",
"ITEM_STORAGE_CHEST": "보관상자",
"ITEM_TIKI_TORCH": "티키 토치",
"ITEM_TYPEWRITER": "타자기",
"ITEM_WIRE": "전선",
"ITEM_WIRE_CUTTER": "전선 절단기"
}

View File

@@ -0,0 +1,11 @@
{
"CONTEXT_THIS_IS_A_WORLD_CURRENTLY_PLAYING": "현재 플레이 중인 세계입니다.",
"CONTEXT_IMPORT_AVATAR_INSTRUCTION_1": "1. 아바타 파일을 다음 폴더에 넣어주세요",
"CONTEXT_IMPORT_AVATAR_INSTRUCTION_3": "2. 아바타 파일 이름을 아래에 입력하고 가져오기를 눌러주세요",
"CONTEXT_WORLD_CODE_SHARE_1": "자리를 비운 동안 같은 기기를 공유하는 다른 사람이 이 세계를",
"CONTEXT_WORLD_CODE_SHARE_2": "플레이할 수 있도록 합니다.",
"CONTEXT_WORLD_CODE_SHARE_3": "",
"CONTEXT_WORLD_CODE_SHARE_4": "아래의 코드를 공유해 다른 사람을 초대하세요!",
"ERROR_AVATAR_ALREADY_EXISTS": "이미 존재하는 아바타입니다.",
"ERROR_WORLD_NOT_FOUND": "세계를 찾을 수 없습니다."
}

View File

@@ -1,78 +0,0 @@
{
"BLOCK_STONE": "도ᄅ",
"BLOCK_STONE_PLURAL": "도ᄅ",
"BLOCK_DIRT": "흐ᄅᄀ",
"BLOCK_DIRT_PLURAL": "흐ᄅᄀ",
"BLOCK_GRASS": "자ᄂ디",
"BLOCK_GRAS_PLURALS": "자ᄂ디",
"BLOCK_PLANK_NORMAL": "나무파ᄂ자",
"BLOCK_PLANK_NORMAL_PLURAL": "나무파ᄂ자",
"BLOCK_PLANK_EBONY": "거ᄆ저ᄋ 나무파ᄂ자",
"BLOCK_PLANK_EBONY_PLURAL": "거ᄆ저ᄋ 나무파ᄂ자",
"BLOCK_PLANK_BIRCH": "하야ᄋ 나무파ᄂ자",
"BLOCK_PLANK_BIRCH_PLURAL": "하야ᄋ 나무파ᄂ자",
"BLOCK_PLANK_BLOODROSE": "ᄇ바ᄅ가ᄋ 나무파ᄂ자",
"BLOCK_PLANK_BLOODROSE_PLURAL": "ᄇ바ᄅ가ᄋ 나무파ᄂ자",
"BLOCK_TRUNK_NORMAL": "토ᄋ나무",
"BLOCK_TRUNK_NORMAL_PLURAL": "토ᄋ나무",
"BLOCK_TRUNK_EBONY": "흐ᄀ다ᄂ나무",
"BLOCK_TRUNK_EBONY_PLURAL": "흐ᄀ다ᄂ나무",
"BLOCK_TRUNK_BIRCH": "자자ᄀ나무",
"BLOCK_TRUNK_BIRCH_PLURAL": "자자ᄀ나무",
"BLOCK_TRUNK_BLOODROSE": "자다ᄂ나무",
"BLOCK_TRUNK_BLOODROSE_PLURAL": "자다ᄂ나무",
"BLOCK_STONE_QUARRIED": "서ᄀ재",
"BLOCK_STONE_QUARRIED_PLURAL": "서ᄀ재",
"BLOCK_SAND": "모래",
"BLOCK_SAND_PLURAL": "모래",
"BLOCK_GRAVEL": "자가ᄅ",
"BLOCK_GRAVEL_PLURAL": "자가ᄅ",
"BLOCK_ORE_MALACHITE": "고ᄋ자ᄀ서ᄀ",
"BLOCK_ORE_MALACHITES": "고ᄋ자ᄀ서ᄀ",
"BLOCK_ORE_HEMATITE": "저ᄀ처ᄅ서ᄀ",
"BLOCK_ORE_HEMATITE_PLURAL": "저ᄀ처ᄅ서ᄀ",
"BLOCK_ORE_NATURAL_GOLD": "자여ᄂ그ᄆ",
"BLOCK_ORE_NATERAL_GOLD_PLURAL": "자여ᄂ그ᄆ",
"BLOCK_ORE_NATURAL_SILVER": "자여ᄂ으ᄂ",
"BLOCK_ORE_NATURAL_SILVER_PLURAL": "자여ᄂ으ᄂ",
"BLOCK_ORE_RUTILE": "그ᄆ호ᄋ서ᄀ",
"BLOCK_ORE_RUTILE_PLURAL": "그ᄆ호ᄋ서ᄀ",
"BLOCK_ORE_AURICHALCUMITE": "지ᄂ그ᄆ서ᄀ",
"BLOCK_ORE_AURICHALCUMITE_PLURAL": "지ᄂ그ᄆ서ᄀ",
"BLOCK_GEM_RUBY": "호ᄋ오ᄀ서ᄀ",
"BLOCK_GEM_RUBY_PLURAL": "호ᄋ오ᄀ서ᄀ",
"BLOCK_GEM_EMERALD": "추ᅵ오ᄀ서ᄀ",
"BLOCK_GEM_EMERALD_PLURAL": "추ᅵ오ᄀ서ᄀ",
"BLOCK_GEM_SAPPHIRE": "처ᄋ오ᄀ서ᄀ",
"BLOCK_GEM_SAPPHIRE_PLURAL": "처ᄋ오ᄀ서ᄀ",
"BLOCK_GEM_TOPAZ": "호ᅡᄋ오ᄀ서ᄀ",
"BLOCK_GEM_TOPAZ_PLURAL": "호ᅡᄋ오ᄀ서ᄀ",
"BLOCK_GEM_DIAMOND": "그ᄆ가ᄋ서ᄀ",
"BLOCK_GEM_DIAMOND_PLURAL": "그ᄆ가ᄋ서ᄀ",
"BLOCK_GEM_AMETHYST": "자수저ᄋ서ᄀ",
"BLOCK_GEM_AMETHYST_PLURAL": "자수저ᄋ서ᄀ",
"BLOCK_SNOW": "누ᄂ",
"BLOCK_SNOW_PLURAL": "누ᄂ",
"BLOCK_ICE_FRAGILE": "사ᄅ어ᄅ으ᄆ",
"BLOCK_ICE_FRAGILE_PLURAL": "사ᄅ어ᄅ으ᄆ",
"BLOCK_ICE_NATURAL": "어ᄅ으ᄆ",
"BLOCK_ICE_NATURAL_PLURAL": "어ᄅ으ᄆ",
"BLOCK_ICE_CLEAR_MAGICAL": "ᄀ개ᄀ그ᄉ하ᄂ 어ᄅ으ᄆ",
"BLOCK_ICE_CLEAR_MAGICAL_PLURAL": "ᄀ개ᄀ그ᄉ하ᄂ 어ᄅ으ᄆ",
"BLOCK_PLATFORM_STONE": "도ᄅ 바ᄅ파ᄂ",
"BLOCK_PLATFORM_STONE_PLURAL": "도ᄅ 바ᄅ파ᄂ",
"BLOCK_PLATFORM_WOODEN": "나무 바ᄅ파ᄂ",
"BLOCK_PLATFORM_WOODEN_PLURAL": "나무 바ᄅ파ᄂ",
"BLOCK_PLATFORM_EBONY": "흐ᄀ다ᄂ 바ᄅ파ᄂ",
"BLOCK_PLATFORM_EBONY_PLURAL": "흐ᄀ다ᄂ 바ᄅ파ᄂ",
"BLOCK_PLATFORM_BIRCH": "배ᄀ다ᄂ 바ᄅ파ᄂ",
"BLOCK_PLATFORM_BIRCH_PLURAL": "배ᄀ다ᄂ 바ᄅ파ᄂ",
"BLOCK_PLATFORM_BLOODROSE": "저ᄀ다ᄂ 바ᄅ파ᄂ",
"BLOCK_PLATFORM_BLOODROSE_PLURAL": "저ᄀ다ᄂ 바ᄅ파ᄂ",
"BLOCK_TORCH": "호ᅢᄉ부ᄅ",
"BLOCK_TORCH_PLURAL": "호ᅢᄉ부ᄅ",
"BLOCK_WATER": "무ᄅ",
"BLOCK_WATER_PLURAL": "무ᄅ",
"BLOCK_LAVA": "요ᄋ아ᄆ",
"BLOCK_LAVA_PLURAL": "요ᄋ아ᄆ"
}

View File

@@ -1,5 +0,0 @@
{
"DEV_MESSAGE_CONSOLE_CODEX": "사요ᄋ 가느ᄋ하ᄂ 며ᄋ려ᄋ어 모ᄀ로ᄀ으ᄅ 보려며ᄂ codex르ᄅ 이ᄇ려ᄀ해 주시ᄇ시오.",
"DEV_MESSAGE_CONSOLE_AVAILABLE_COMMANDS": "며ᄋ려ᄋ어 모ᄀ로ᄀ:",
"DEV_MESSAGE_CONSOLE_COMMAND_UNKNOWN": "%1$s: 아ᄅ 수 어ᄇᄉ느ᄂ 며ᄋ려ᄋ어"
}

View File

@@ -1,18 +0,0 @@
{
"CONTEXT_WORLD_NEW": "새 세계",
"MENU_LABEL_DELETE_WORLD": "새계 사ᄀ제",
"CONTEXT_WORLD_COUNT": "새계: ",
"MENU_MONITOR_CALI_TITLE": "모니터 호ᅡᄀ이ᄂ",
"GAME_INVENTORY_INGREDIENTS": "재료",
"GAME_INVENTORY_POTIONS": "무ᄅ야ᄀ",
"GAME_INVENTORY_BLOCKS": "브ᄅ로ᄀ",
"GAME_INVENTORY_WALLS": "벼ᄀ지",
"CONTEXT_ITEM_TOOL_PLURAL": "도구",
"GAME_INVENTORY_FAVORITES": "즈ᄅ겨차ᄌ기",
"GAME_INVENTORY_REGISTER": "드ᄋ로ᄀ하기",
"MENU_LABEL_MENU": "메뉴",
"CONTEXT_ITEM_MAP": "지도",
"CONTEXT_GENERATOR_SEED": "시드",
"GAME_ACTION_GRAPPLE": "매다ᄅ리기",
"GAME_ACTION_QUICKSEL": "빠르ᄂ 서ᄂ태ᄀ"
}

View File

@@ -1,3 +0,0 @@
{
"ITEM_STORAGE_CHEST": "보고ᅡᄂ사ᄋ자"
}

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,48 @@
# complete file name is: SPRITESHEET + bodypart name + EXTENSION
SPRITESHEET=mods/basegame/sprites/test_werebeastf2/taimu_
EXTENSION=.tga
# defines frame size and origin point. Origin point is given as: (originx, 0)
CONFIG=SIZE 64,98;ORIGINX 40
! A skeleton also defines what body parts (images) be used.
! You can also write multiline text using reverse solidus; this is a feature of .properties
! skeleton joints are ordered: foremost-drawn object comes first, which means lowermost object IN THIS LIST
! are painted first, and any object that comes before it will paint over it. In other words, this list is
! first reversed then being iterated.
! Some keywords are considered special within the game, they are:
! HEADGEAR, HELD_ITEM, BOOT_L, BOOT_R, GAUNTLET_L, GAUNTLET_R and ARMOUR_* (star means any number starting from zero)
BODYPARTS=HEADGEAR 13,14;\
HEAD 13,14;\
ARM_REST_RIGHT 10,4;\
ARM_REST_LEFT 9,3;\
LEG_REST_RIGHT 15,6;\
LEG_REST_LEFT 8,6;\
TORSO_0 18,19;\
TORSO_1 18,19;\
TAIL_0 30,2;\
BUST_0 11,2;\
HELD_ITEM 0,0
SKELETON_STAND=HEADGEAR 0,78;\
ARM_REST_RIGHT -16,66;\
HELD_ITEM -11,33;\
HEAD 0,78;\
BUST_0 0,63;\
TORSO_0 0,54;\
TORSO_1 0,54;\
LEG_REST_RIGHT -5,41;\
LEG_REST_LEFT 3,41;\
ARM_REST_LEFT 8,66;\
TAIL_0 2,40
! When you move the arms/hands, make sure you move the HELD_ITEM as well
# RUNNING might need its own skeleton...
ANIM_RUN=DELAY 0.18;ROW 2;SKELETON SKELETON_STAND
ANIM_RUN_1=LEG_REST_RIGHT 2,2;LEG_REST_LEFT -2,0;TAIL_0 1,0;TORSO_1 0,-999
ANIM_RUN_2=ALL 0,2;LEG_REST_RIGHT 0,-2;LEG_REST_LEFT 0,2;TAIL_0 -1,0;TORSO_1 0,-999
ANIM_RUN_3=LEG_REST_RIGHT -2,0;LEG_REST_LEFT 2,2;TAIL_0 -1,0;TORSO_1 0,-999
ANIM_RUN_4=ALL 0,2;LEG_REST_RIGHT 0,2;LEG_REST_LEFT 0,-2;TAIL_0 1,0;TORSO_1 0,-999
ANIM_IDLE=DELAY 2;ROW 1;SKELETON SKELETON_STAND
ANIM_IDLE_1=TORSO_1 0,-999
ANIM_IDLE_2=TORSO_0 0,-999;ARM_REST_LEFT 0,1;ARM_REST_RIGHT 0,1;HELD_ITEM 0,1;BUST_0 0,1;HEAD 0,1

View File

@@ -0,0 +1,48 @@
# complete file name is: SPRITESHEET + bodypart name + EXTENSION
SPRITESHEET=mods/basegame/sprites/test_werebeastf2/taimuglow_
EXTENSION=.tga
# defines frame size and origin point. Origin point is given as: (originx, 0)
CONFIG=SIZE 64,98;ORIGINX 40
! A skeleton also defines what body parts (images) be used.
! You can also write multiline text using reverse solidus; this is a feature of .properties
! skeleton joints are ordered: foremost-drawn object comes first, which means lowermost object IN THIS LIST
! are painted first, and any object that comes before it will paint over it. In other words, this list is
! first reversed then being iterated.
! Some keywords are considered special within the game, they are:
! HEADGEAR, HELD_ITEM, BOOT_L, BOOT_R, GAUNTLET_L, GAUNTLET_R and ARMOUR_* (star means any number starting from zero)
BODYPARTS=HEADGEAR 13,14;\
HEAD 13,14;\
ARM_REST_RIGHT 10,4;\
ARM_REST_LEFT 9,3;\
LEG_REST_RIGHT 15,6;\
LEG_REST_LEFT 8,6;\
TORSO_0 18,19;\
TORSO_1 18,19;\
TAIL_0 30,2;\
BUST_0 11,2;\
HELD_ITEM 0,0
SKELETON_STAND=HEADGEAR 0,78;\
ARM_REST_RIGHT -16,66;\
HELD_ITEM -11,33;\
HEAD 0,78;\
BUST_0 0,63;\
TORSO_0 0,54;\
TORSO_1 0,54;\
LEG_REST_RIGHT -5,41;\
LEG_REST_LEFT 3,41;\
ARM_REST_LEFT 8,66;\
TAIL_0 2,40
! When you move the arms/hands, make sure you move the HELD_ITEM as well
# RUNNING might need its own skeleton...
ANIM_RUN=DELAY 0.18;ROW 2;SKELETON SKELETON_STAND
ANIM_RUN_1=LEG_REST_RIGHT 2,2;LEG_REST_LEFT -2,0;TAIL_0 1,0;TORSO_1 0,-999
ANIM_RUN_2=ALL 0,2;LEG_REST_RIGHT 0,-2;LEG_REST_LEFT 0,2;TAIL_0 -1,0;TORSO_1 0,-999
ANIM_RUN_3=LEG_REST_RIGHT -2,0;LEG_REST_LEFT 2,2;TAIL_0 -1,0;TORSO_1 0,-999
ANIM_RUN_4=ALL 0,2;LEG_REST_RIGHT 0,2;LEG_REST_LEFT 0,-2;TAIL_0 1,0;TORSO_1 0,-999
ANIM_IDLE=DELAY 2;ROW 1;SKELETON SKELETON_STAND
ANIM_IDLE_1=TORSO_1 0,-999
ANIM_IDLE_2=TORSO_0 0,-999;ARM_REST_LEFT 0,1;ARM_REST_RIGHT 0,1;HELD_ITEM 0,1;BUST_0 0,1;HEAD 0,1

Binary file not shown.

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