@gamely/gly-engine-lite 0.2.7 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/main.lua +158 -82
  2. package/package.json +1 -1
package/dist/main.lua CHANGED
@@ -1,36 +1,37 @@
1
- local b247f = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
2
- local r247f = function(i, f)
1
+ local b259c = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
2
+ local r259c = function(i, f)
3
3
  return function()
4
4
  local c = f()
5
- b247f[i] = function() return c end
5
+ b259c[i] = function() return c end
6
6
  return c
7
7
  end
8
8
  end
9
9
  local math = ((function() local x, y = pcall(require, 'math'); return x and y end)()) or _G.math
10
- local function m247f()
11
- local version = b247f[1]('source_version')
12
- local loadcore = b247f[2]('source_shared_engine_loadcore')
13
- local loadgame = b247f[3]('source_shared_engine_loadgame')
14
- local engine_encoder = b247f[4]('source_engine_api_data_encoder')
15
- local engine_game = b247f[5]('source_engine_api_system_app')
16
- local engine_hash = b247f[6]('source_engine_api_data_hash')
17
- local engine_http = b247f[7]('source_engine_api_io_http')
18
- local engine_i18n = b247f[8]('source_engine_api_data_i18n')
19
- local engine_key = b247f[9]('source_engine_api_system_key')
20
- local engine_log = b247f[10]('source_engine_api_debug_log')
21
- local engine_math = b247f[11]('source_engine_api_math_basic')
22
- local engine_math_clib = b247f[12]('source_engine_api_math_clib')
23
- local engine_math_random = b247f[13]('source_engine_api_math_random')
24
- local engine_array = b247f[14]('source_engine_api_data_array')
25
- local engine_media = b247f[15]('source_engine_api_io_media')
26
- local engine_api_draw_fps = b247f[16]('source_engine_api_draw_fps')
27
- local engine_api_draw_text = b247f[17]('source_engine_api_draw_text')
28
- local engine_api_draw_poly = b247f[18]('source_engine_api_draw_poly')
29
- local engine_raw_memory = b247f[19]('source_engine_api_raw_memory')
30
- local callback_http = b247f[20]('source_engine_protocol_http_callback')
31
- local application_default = b247f[21]('source_shared_var_object_root')
32
- local color = b247f[22]('source_engine_api_system_color')
33
- local std = b247f[23]('source_shared_var_object_std')
10
+ local function m259c()
11
+ local version = b259c[1]('source_version')
12
+ local loadcore = b259c[2]('source_shared_engine_loadcore')
13
+ local loadgame = b259c[3]('source_shared_engine_loadgame')
14
+ local engine_encoder = b259c[4]('source_engine_api_data_encoder')
15
+ local engine_game = b259c[5]('source_engine_api_system_app')
16
+ local engine_hash = b259c[6]('source_engine_api_data_hash')
17
+ local engine_http = b259c[7]('source_engine_api_io_http')
18
+ local engine_i18n = b259c[8]('source_engine_api_data_i18n')
19
+ local engine_key = b259c[9]('source_engine_api_system_key')
20
+ local engine_env = b259c[10]('source_engine_api_system_getenv')
21
+ local engine_log = b259c[11]('source_engine_api_debug_log')
22
+ local engine_math = b259c[12]('source_engine_api_math_basic')
23
+ local engine_math_clib = b259c[13]('source_engine_api_math_clib')
24
+ local engine_math_random = b259c[14]('source_engine_api_math_random')
25
+ local engine_array = b259c[15]('source_engine_api_data_array')
26
+ local engine_media = b259c[16]('source_engine_api_io_media')
27
+ local engine_api_draw_fps = b259c[17]('source_engine_api_draw_fps')
28
+ local engine_api_draw_text = b259c[18]('source_engine_api_draw_text')
29
+ local engine_api_draw_poly = b259c[19]('source_engine_api_draw_poly')
30
+ local engine_raw_memory = b259c[20]('source_engine_api_raw_memory')
31
+ local callback_http = b259c[21]('source_engine_protocol_http_callback')
32
+ local application_default = b259c[22]('source_shared_var_object_root')
33
+ local color = b259c[23]('source_engine_api_system_color')
34
+ local std = b259c[24]('source_shared_var_object_std')
34
35
  local application = application_default
35
36
  local engine = {
36
37
  keyboard = function(a, b, c, d) end,
@@ -96,6 +97,9 @@ local cfg_xml = {
96
97
  decode = native_xml_decode,
97
98
  encode = native_xml_encode
98
99
  }
100
+ local cfg_env = {
101
+ get_env = native_system_get_env
102
+ }
99
103
  function native_callback_loop(dt)
100
104
  std.milis = std.milis + dt
101
105
  std.delta = dt
@@ -160,6 +164,7 @@ loadcore.setup(std, application, engine)
160
164
  :package('@draw.poly', engine_api_draw_poly, cfg_poly)
161
165
  :package('@color', color)
162
166
  :package('@log', engine_log, cfg_log)
167
+ :package('@env', engine_env, cfg_env)
163
168
  :package('math', engine_math_clib)
164
169
  :package('math.random', engine_math_random)
165
170
  :package('http', engine_http, cfg_http)
@@ -188,12 +193,12 @@ version=version
188
193
  }
189
194
  return P
190
195
  end
191
- b247f[1] = r247f(1, function()
192
- return '0.2.7'
196
+ b259c[1] = r259c(1, function()
197
+ return '0.3.1'
193
198
  end)
194
- b247f[2] = r247f(2, function()
195
- local zeebo_pipeline = b247f[24]('source_shared_functional_pipeline')
196
- local requires = b247f[25]('source_shared_string_dsl_requires')
199
+ b259c[2] = r259c(2, function()
200
+ local zeebo_pipeline = b259c[25]('source_shared_functional_pipeline')
201
+ local requires = b259c[26]('source_shared_string_dsl_requires')
197
202
  local function step_install_libsys(self, lib_name, library, custom, is_system)
198
203
  if not is_system then return end
199
204
  local ok, msg = pcall(function()
@@ -274,9 +279,9 @@ setup = setup
274
279
  }
275
280
  return P
276
281
  end)
277
- b247f[3] = r247f(3, function()
278
- local eval_file = b247f[26]('source_shared_string_eval_file')
279
- local eval_code = b247f[27]('source_shared_string_eval_code')
282
+ b259c[3] = r259c(3, function()
283
+ local eval_file = b259c[27]('source_shared_string_eval_file')
284
+ local eval_code = b259c[28]('source_shared_string_eval_code')
280
285
  local has_io_open = io and io.open
281
286
  local function normalize(app, base)
282
287
  if not app then return nil end
@@ -348,7 +353,7 @@ script = script
348
353
  }
349
354
  return P
350
355
  end)
351
- b247f[4] = r247f(4, function()
356
+ b259c[4] = r259c(4, function()
352
357
  local function install(std, engine, library, name)
353
358
  std = std or {}
354
359
  std[name] = {
@@ -362,26 +367,32 @@ install=install
362
367
  }
363
368
  return P
364
369
  end)
365
- b247f[5] = r247f(5, function()
366
- local util_decorator = b247f[28]('source_shared_functional_decorator')
370
+ b259c[5] = r259c(5, function()
367
371
  local function reset(std, engine)
368
372
  if std.node then
373
+ return function()
369
374
  std.bus.emit('exit')
370
375
  std.bus.emit('init')
371
- else
376
+ end
377
+ end
378
+ return function()
372
379
  engine.root.callbacks.exit(engine.root.data, std)
373
380
  engine.root.callbacks.init(engine.root.data, std)
374
381
  end
375
382
  end
376
383
  local function exit(std)
384
+ return function()
377
385
  std.bus.emit('exit')
378
386
  std.bus.emit('quit')
379
387
  end
380
- local function title(func, window_name)
388
+ end
389
+ local function title(func)
390
+ return function(window_name)
381
391
  if func then
382
392
  func(window_name)
383
393
  end
384
394
  end
395
+ end
385
396
  local function install(std, engine, config)
386
397
  std = std or {}
387
398
  config = config or {}
@@ -391,9 +402,9 @@ if config.quit then
391
402
  config.quit()
392
403
  end
393
404
  end)
394
- std.app.title = util_decorator.prefix1(config.set_title, title)
395
- std.app.exit = util_decorator.prefix1(std, exit)
396
- std.app.reset = util_decorator.prefix2(std, engine, reset)
405
+ std.app.title = title(config.set_title)
406
+ std.app.exit = exit(std)
407
+ std.app.reset = reset(std, engine)
397
408
  std.app.get_fps = config.get_fps
398
409
  return std.app
399
410
  end
@@ -402,7 +413,7 @@ install=install
402
413
  }
403
414
  return P
404
415
  end)
405
- b247f[6] = r247f(6, function()
416
+ b259c[6] = r259c(6, function()
406
417
  local function djb2(digest)
407
418
  local index = 1
408
419
  local hash = 5381
@@ -425,8 +436,8 @@ install = install
425
436
  }
426
437
  return P
427
438
  end)
428
- b247f[7] = r247f(7, function()
429
- local zeebo_pipeline = b247f[24]('source_shared_functional_pipeline')
439
+ b259c[7] = r259c(7, function()
440
+ local zeebo_pipeline = b259c[25]('source_shared_functional_pipeline')
430
441
  local function json(self)
431
442
  self.options['json'] = true
432
443
  return self
@@ -535,6 +546,11 @@ local new_body = json_decode(std.http.body)
535
546
  std.http.body = new_body
536
547
  end)
537
548
  end
549
+ local lower_header = {}
550
+ for k, v in pairs(std.http.headers or {}) do
551
+ lower_header[string.lower(k)] = v
552
+ end
553
+ std.http.headers = lower_header
538
554
  end,
539
555
  function()
540
556
  callback_handler(std, game)
@@ -583,7 +599,7 @@ install=install
583
599
  }
584
600
  return P
585
601
  end)
586
- b247f[8] = r247f(8, function()
602
+ b259c[8] = r259c(8, function()
587
603
  local language = 'en-US'
588
604
  local language_default = 'en-US'
589
605
  local language_list = {}
@@ -674,10 +690,15 @@ install=install
674
690
  }
675
691
  return P
676
692
  end)
677
- b247f[9] = r247f(9, function()
693
+ b259c[9] = r259c(9, function()
678
694
  local function real_key(std, engine, rkey, rvalue)
679
- local value = rvalue == 1 or rvalue == true
695
+ local value = (rvalue == 1 or rvalue == true) or false
680
696
  local key = engine.key_bindings[rkey] or (std.key.axis[rkey] and rkey)
697
+ local key_media = std.key.media and std.key.media[rkey] ~= nil and rkey
698
+ if key_media then
699
+ std.key.media[key_media] = value
700
+ std.bus.emit('key_media')
701
+ end
681
702
  if key then
682
703
  std.key.axis[key] = value and 1 or 0
683
704
  std.key.press[key] = value
@@ -698,20 +719,71 @@ end
698
719
  local function real_keyup(std, engine, key)
699
720
  real_key(std, engine, key, 0)
700
721
  end
701
- local function install(std, engine, key_bindings)
702
- engine.key_bindings = key_bindings or {}
722
+ local function install(std, engine, config)
723
+ config = config or {}
724
+ engine.key_bindings = config.bindings or {}
703
725
  engine.keyboard = real_key
726
+ if config.has_media then
727
+ std.key.media = {
728
+ ch_up = false,
729
+ ch_down = false,
730
+ vol_up = false,
731
+ vol_down = false
732
+ }
733
+ end
704
734
  std.bus.listen_std_engine('rkey', real_key)
705
735
  std.bus.listen_std_engine('rkey1', real_keydown)
706
736
  std.bus.listen_std_engine('rkey0', real_keyup)
707
737
  end
738
+ return {
739
+ install = install
740
+ }
741
+ end)
742
+ b259c[10] = r259c(10, function()
743
+ local function setenv(engine)
744
+ return function(varname, value)
745
+ if engine.root ~= engine.current then
746
+ error('unauthorized set environment', 0)
747
+ end
748
+ if varname then
749
+ engine.overrides_envs[varname] = tostring(value)
750
+ end
751
+ end
752
+ end
753
+ local function getenv(engine, get_env)
754
+ return function(varname)
755
+ local game_envs = engine.root and engine.root.envs
756
+ local core_envs = engine.envs
757
+ if not (varname or #varname > 0) then
758
+ return nil
759
+ end
760
+ if engine.overrides_envs[varname] then
761
+ return engine.overrides_envs[varname]
762
+ end
763
+ if game_envs and game_envs[varname] then
764
+ return game_envs[varname]
765
+ end
766
+ if core_envs and core_envs[varname] then
767
+ return core_envs[varname]
768
+ end
769
+ if get_env then
770
+ return get_env(varname)
771
+ end
772
+ return nil
773
+ end
774
+ end
775
+ local function install(std, engine, cfg)
776
+ engine.overrides_envs = {}
777
+ std.getenv = getenv(engine, cfg.get_env)
778
+ std.setenv = setenv(engine)
779
+ end
708
780
  local P = {
709
781
  install = install
710
782
  }
711
783
  return P
712
784
  end)
713
- b247f[10] = r247f(10, function()
714
- local util_decorator = b247f[28]('source_shared_functional_decorator')
785
+ b259c[11] = r259c(11, function()
786
+ local util_decorator = b259c[29]('source_shared_functional_decorator')
715
787
  local logging_types = {
716
788
  'none', 'fatal', 'error', 'warn', 'debug', 'info'
717
789
  }
@@ -756,7 +828,7 @@ install = install
756
828
  }
757
829
  return P
758
830
  end)
759
- b247f[11] = r247f(11, function()
831
+ b259c[12] = r259c(12, function()
760
832
  local function abs(value)
761
833
  if value < 0 then
762
834
  return -value
@@ -854,7 +926,7 @@ install = install
854
926
  }
855
927
  return P
856
928
  end)
857
- b247f[12] = r247f(12, function()
929
+ b259c[13] = r259c(13, function()
858
930
  local function install(std)
859
931
  assert(math and (1/2 ~= 0))
860
932
  std.math = std.math or {}
@@ -889,7 +961,7 @@ install = install
889
961
  }
890
962
  return P
891
963
  end)
892
- b247f[13] = r247f(13, function()
964
+ b259c[14] = r259c(14, function()
893
965
  local function install(std)
894
966
  assert(math and (1/2 ~= 0))
895
967
  std.math = std.math or {}
@@ -905,8 +977,8 @@ install = install
905
977
  }
906
978
  return P
907
979
  end)
908
- b247f[14] = r247f(14, function()
909
- local util_decorator = b247f[28]('source_shared_functional_decorator')
980
+ b259c[15] = r259c(15, function()
981
+ local util_decorator = b259c[29]('source_shared_functional_decorator')
910
982
  local function array_map(array, func)
911
983
  local res = {}
912
984
  local index = 1
@@ -1066,7 +1138,7 @@ install = install
1066
1138
  }
1067
1139
  return P
1068
1140
  end)
1069
- b247f[15] = r247f(15, function()
1141
+ b259c[16] = r259c(16, function()
1070
1142
  local function media_create(node, channels, handler)
1071
1143
  local decorator = function(func)
1072
1144
  func = func or function() end
@@ -1078,6 +1150,7 @@ end
1078
1150
  local self = {
1079
1151
  src = decorator(handler.source),
1080
1152
  play = decorator(handler.play),
1153
+ prepare = decorator(handler.prepare),
1081
1154
  pause = decorator(handler.pause),
1082
1155
  resume = decorator(handler.resume),
1083
1156
  stop = decorator(handler.stop),
@@ -1111,7 +1184,7 @@ install=install
1111
1184
  }
1112
1185
  return P
1113
1186
  end)
1114
- b247f[16] = r247f(16, function()
1187
+ b259c[17] = r259c(17, function()
1115
1188
  local function draw_fps(std, engine, show, pos_x, pos_y)
1116
1189
  if show < 1 then return end
1117
1190
  local x = engine.current.config.offset_x + pos_x
@@ -1159,9 +1232,9 @@ install=install
1159
1232
  }
1160
1233
  return P
1161
1234
  end)
1162
- b247f[17] = r247f(17, function()
1163
- local util_decorator = b247f[28]('source_shared_functional_decorator')
1164
- local function text_put(std, engine, font_previous, pos_x, pos_y, text, size)
1235
+ b259c[18] = r259c(18, function()
1236
+ local function text_put(std, engine, font_previous)
1237
+ return function(pos_x, pos_y, text, size)
1165
1238
  size = size or 2
1166
1239
  local hem = engine.current.data.width / 80
1167
1240
  local vem = engine.current.data.height / 24
@@ -1171,24 +1244,27 @@ std.text.font_size(font_size)
1171
1244
  std.text.print(pos_x * hem, pos_y * vem, text)
1172
1245
  font_previous()
1173
1246
  end
1174
- local function text_print_ex(std, engine, x, y, text, align_x, align_y)
1247
+ end
1248
+ local function text_print_ex(std, engine)
1249
+ return function(x, y, text, align_x, align_y)
1175
1250
  local w, h = std.text.mensure(text)
1176
1251
  local aligns_x, aligns_y = {w, w/2, 0}, {h, h/2, 0}
1177
1252
  std.text.print(x - aligns_x[(align_x or 1) + 2], y - aligns_y[(align_y or 1) + 2], text)
1178
1253
  return w, h
1179
1254
  end
1255
+ end
1180
1256
  local function install(std, engine, config)
1181
1257
  std.text.font_previous = config.font_previous
1182
1258
  std.text.is_tui = config.is_tui or function() return false end
1183
- std.text.print_ex = util_decorator.prefix2(std, engine, text_print_ex)
1184
- std.text.put = util_decorator.prefix3(std, engine, config.font_previous, text_put)
1259
+ std.text.print_ex = text_print_ex(std, engine)
1260
+ std.text.put = text_put(std, engine, config.font_previous)
1185
1261
  end
1186
1262
  local P = {
1187
1263
  install=install
1188
1264
  }
1189
1265
  return P
1190
1266
  end)
1191
- b247f[18] = r247f(18, function()
1267
+ b259c[19] = r259c(19, function()
1192
1268
  local function decorator_poo(object, func)
1193
1269
  if not object or not func then return func end
1194
1270
  return function(a, b, c, d)
@@ -1294,7 +1370,7 @@ install=install
1294
1370
  }
1295
1371
  return P
1296
1372
  end)
1297
- b247f[19] = r247f(19, function()
1373
+ b259c[20] = r259c(20, function()
1298
1374
  local memory_dict_unload = {}
1299
1375
  local memory_dict = {}
1300
1376
  local memory_list = {}
@@ -1348,9 +1424,9 @@ install=install
1348
1424
  }
1349
1425
  return P
1350
1426
  end)
1351
- b247f[20] = r247f(20, function()
1352
- local str_http = b247f[30]('source_shared_string_encode_http')
1353
- local str_url = b247f[31]('source_shared_string_encode_url')
1427
+ b259c[21] = r259c(21, function()
1428
+ local str_http = b259c[31]('source_shared_string_encode_http')
1429
+ local str_url = b259c[32]('source_shared_string_encode_url')
1354
1430
  local callbacks = {
1355
1431
  ['async-promise'] = function(self)
1356
1432
  return self:promise()
@@ -1419,7 +1495,7 @@ func = native_http_callback
1419
1495
  }
1420
1496
  return P
1421
1497
  end)
1422
- b247f[21] = r247f(21, function()
1498
+ b259c[22] = r259c(22, function()
1423
1499
  local P = {
1424
1500
  data={
1425
1501
  width=1280,
@@ -1448,7 +1524,7 @@ callbacks={
1448
1524
  }
1449
1525
  return P;
1450
1526
  end)
1451
- b247f[22] = r247f(22, function()
1527
+ b259c[23] = r259c(23, function()
1452
1528
  local function install(std)
1453
1529
  std.color = std.color or {}
1454
1530
  std.color.white = 0xFFFFFFFF
@@ -1482,7 +1558,7 @@ install = install
1482
1558
  }
1483
1559
  return P
1484
1560
  end)
1485
- b247f[23] = r247f(23, function()
1561
+ b259c[24] = r259c(24, function()
1486
1562
  local P = {
1487
1563
  milis = 0,
1488
1564
  delta = 0,
@@ -1549,7 +1625,7 @@ any=false
1549
1625
  }
1550
1626
  return P;
1551
1627
  end)
1552
- b247f[24] = r247f(24, function()
1628
+ b259c[25] = r259c(25, function()
1553
1629
  local function pipe(self)
1554
1630
  return function()
1555
1631
  self:run()
@@ -1598,7 +1674,7 @@ run=run
1598
1674
  }
1599
1675
  return P
1600
1676
  end)
1601
- b247f[25] = r247f(25, function()
1677
+ b259c[26] = r259c(26, function()
1602
1678
  local function encode(dsl_string)
1603
1679
  local spec = {
1604
1680
  list = {},
@@ -1646,7 +1722,7 @@ should_import = should_import
1646
1722
  }
1647
1723
  return P
1648
1724
  end)
1649
- b247f[26] = r247f(26, function()
1725
+ b259c[27] = r259c(27, function()
1650
1726
  local function script(src)
1651
1727
  local ok, app = false, nil
1652
1728
  if require then
@@ -1671,7 +1747,7 @@ script = script,
1671
1747
  }
1672
1748
  return P
1673
1749
  end)
1674
- b247f[27] = r247f(27, function()
1750
+ b259c[28] = r259c(28, function()
1675
1751
  local function script(src)
1676
1752
  local loader = loadstring or load
1677
1753
  if not loader then
@@ -1691,7 +1767,7 @@ script = script,
1691
1767
  }
1692
1768
  return P
1693
1769
  end)
1694
- b247f[28] = r247f(28, function()
1770
+ b259c[29] = r259c(29, function()
1695
1771
  local function decorator_prefix3(zig, zag, zom, func)
1696
1772
  return function (a, b, c, d, e, f)
1697
1773
  return func(zig, zag, zom, a, b, c, d, e, f)
@@ -1748,7 +1824,7 @@ prefix1_t = table_prefix1
1748
1824
  }
1749
1825
  return P
1750
1826
  end)
1751
- b247f[30] = r247f(30, function()
1827
+ b259c[31] = r259c(31, function()
1752
1828
  local function is_ok(status)
1753
1829
  return (status and 200 <= status and status < 300) or false
1754
1830
  end
@@ -1894,7 +1970,7 @@ get_user_agent=get_user_agent,
1894
1970
  create_request=create_request
1895
1971
  }
1896
1972
  end)
1897
- b247f[31] = r247f(31, function()
1973
+ b259c[32] = r259c(32, function()
1898
1974
  local function search_param(param_list, param_dict)
1899
1975
  local index, params = 1, ''
1900
1976
  while param_list and param_dict and index <= #param_list do
@@ -1915,4 +1991,4 @@ search_param = search_param
1915
1991
  }
1916
1992
  return P
1917
1993
  end)
1918
- return m247f()
1994
+ return m259c()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamely/gly-engine-lite",
3
- "version": "0.2.7",
3
+ "version": "0.3.1",
4
4
  "author": "RodrigoDornelles",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://docs.gamely.com.br",