4671 Commits

Author SHA1 Message Date
Florian Nücke
a3c0ae683e define languages via pack.mcmeta (not hardcoded in proxy) 2013-10-21 13:50:10 +02:00
Florian Nücke
519afa4d11 minor tweaks to alias programs 2013-10-21 02:47:27 +02:00
Florian Nücke
d25c824e1a multi dir ls and -l option for ls; using shell.execute for autorun; aliases for shell; fixed interval not being cleared from shell.exec'd programs; immediately show cursor blink again when moving the cursor (left, right, home, end), makes navigating easier 2013-10-21 02:41:00 +02:00
Florian Nücke
60118f19cc lua program can now be quit using 'exit()' function 2013-10-20 18:34:32 +02:00
Florian Nücke
b52cc44598 eris fixes (remind me to also compile for linux later...) 2013-10-20 18:30:32 +02:00
Florian Nücke
d083f34a18 some more and init cleanup 2013-10-20 14:02:26 +02:00
Florian Nücke
9785ab4546 proper shell and a bunch of utility programs 2013-10-20 13:35:34 +02:00
Florian Nücke
e582fe6259 changed the Persistable interface a bit to now use names "compatible" with tile entities (readFromNBT and writeToNBT) and made the overrides in the Node trait abstract. this way tile entities will *have* to implement these two functions, making it less likely to ... forget calling save on nodes. the only negative is that one still has to manually call the two different "super" implementations, the one on the tile entity explicitly (in our case usually super[Rotatable].read/write...) in addition to the usual super call. seems to work so far. 2013-10-19 19:02:43 +02:00
Florian Nücke
ccf53d6b85 defaulting to standard lua string functions and making unicode ones available prefixed with a u (uchar, ulen, usub, ureverse); fixed event erroring being weird; fixed wrong case check order in kernel; fixed error when netsplitting a component from a computer; fixed localization for disk drive; config for name to provide when running command in command block; increased range of keyboards; adapter blocks re-use the same addresses for the blocks attached to them to avoid computers losing track of those nodes after reloading 2013-10-19 15:55:59 +02:00
Florian Nücke
87aa1f44a9 redstone, oh how i loathe ye 2013-10-18 21:48:41 +02:00
Florian Nücke
7d73f3afc5 slight concept change in naming: "components" are now nodes that can be seen/addressed by computers via some driver; signal when redstone input changes 2013-10-18 20:38:44 +02:00
Florian Nücke
728b4281b8 made screen background (non-gui) ever so slightly less pitch-black, so it doesn't look like a black hole that much... 2013-10-18 18:59:19 +02:00
Florian Nücke
b1a9ef69c7 split computer visibility into a separate trait, to allow more standardized dynamic changing of said visibility. only used by multi-block screens for now (so that only the origin of a multi-block screen shows up in the component list); made monitor merge algorithm (more) deterministic, to avoid possibly desyncs in server and client state (it depended on the tile entity update order before). this also guarantees screens are merged the same way after loading a previously saved game 2013-10-18 18:50:29 +02:00
Florian Nücke
4556f37e7c better distance computation for screens, based on center of its bounding box and being the minimal distance to the bounding box, instead of the origin and the distance to the center of it 2013-10-17 23:17:08 +02:00
Florian Nücke
c1d247341a made some screen settings available in config; fixed monitor size limits based on config being one too small; properly sized bounding box for screen tile entity when it's a multi-block; re-added render check for screen text, this time based on player position instead of look direction 2013-10-17 22:11:23 +02:00
Florian Nücke
0320935f9a progress on multi-block screens 2013-10-17 20:31:04 +02:00
Florian Nücke
efb8f297db minor refactoring moving power related stuff to its own package; made receiver trait use provider trait instead of internal distributor implementation; made some minor things more scala-ish 2013-10-14 17:25:32 +02:00
Florian Nücke
efe25b35e8 Merge branch 'master' of cil.li:oc
Conflicts:
	li/cil/oc/common/tileentity/ComponentInventory.scala
	li/cil/oc/common/tileentity/Screen.scala
2013-10-14 16:46:45 +02:00
Florian Nücke
cbfbc2f152 refactored screen env into screen's companion object (same as already done with computer); keeping track of pressed keys client-side to send char on key-up (lwjgl doesn't seem to properly provide that, code and char always seem to be 0 on key up) and to send key up events for all still pressed keys when closing the gui. server will have to keep track of all key presses (and the players that did them) at some point, too, since clients may just disconnect, for example (or be malicious) 2013-10-14 16:43:22 +02:00
Florian Nücke
deb45f374f nicer native library loading (in particular nicer failure case) 2013-10-14 14:14:17 +02:00
Florian Nücke
db139a16a9 using slot's built-in background icon functionality in computer gui now 2013-10-14 13:51:15 +02:00
Florian Nücke
8ed48750a3 disk drive and floppy disks (disk drives are mountable and act as a "proxy" for the item in them); minor refactoring; 2013-10-14 13:26:13 +02:00
Johannes Lohrer
56cc2c3dfd updated energy distribution but not with final values 2013-10-13 19:13:04 +02:00
Johannes Lohrer
a3fa83b037 Merge branch 'master' of cil.li:oc 2013-10-13 16:25:59 +02:00
Johannes Lohrer
1c8927f45e made traits for all possibilities 2013-10-13 16:25:44 +02:00
Florian Nücke
c3ae449242 update method in node; adapter is a computercraft peripheral now (untested obviously since cc isn't 1.64 yet); some more access options for network cards 2013-10-13 12:59:43 +02:00
Johannes Lohrer
53aff13ed9 Merge branch 'master' of cil.li:oc
Conflicts:
	li/cil/oc/common/tileentity/PowerDistributor.scala
	li/cil/oc/common/tileentity/PowerSupply.scala
2013-10-12 10:20:53 +02:00
Johannes Lohrer
1ca4b92e31 some changes (upload for pull) 2013-10-12 10:19:35 +02:00
Florian Nücke
2dadc4b3b6 adapter block and driver for command block 2013-10-11 16:59:16 +02:00
Florian Nücke
1e8d48cf11 added textures for power blocks and reworked rendering of tile entity overlays a little (better way of ignoring lighting now) 2013-10-11 15:09:54 +02:00
Florian Nücke
266732f799 new node concept: computer visibility. this allows components to be visible across the network but not pop up as components in computers (component_added signal), which is useful for a couple of components, such as power related stuff or the newly added network cards; network cards! kind of trivial with all the networking infrastructure already in place; renamed network.connect/disconnect to system.connect/disconnect to make the network.* "namespace" usable for network cards 2013-10-10 23:54:54 +02:00
Johannes Lohrer
07719c3d95 some changes to power 2013-10-10 22:44:11 +02:00
Florian Nücke
ac833cf3bc implemented os.tmpname and io.tmpfile (sort of as they should be) 2013-10-10 18:35:47 +02:00
Florian Nücke
4cdc0757b5 factory functions for file systems based on cc mounts (totally untested) 2013-10-10 18:18:09 +02:00
Florian Nücke
f0f3c96567 Merge branch 'master' of cil.li:oc 2013-10-10 17:47:14 +02:00
Florian Nücke
546a9d419e fading out text rendered on screens in the world instead of immediately cutting off when too far away 2013-10-10 17:45:40 +02:00
Florian Nücke
6485dca78e introduced modification time for file systems; using that to do some checks when synchronizing a real file system with a virtual file system (won't overwrite or delete newer files anymore); cleanup up vfs implementation a little 2013-10-10 16:57:26 +02:00
Florian Nücke
ee5a8a0618 fixed line buffer mode; removed term.screen, term.gpu and term.keyboard and introduced the concept of "primary" components in the component api (via component.isAvailable and component.primary) as a replacement; renamed coroutine.sleep to event.wait and changed the logic so that passing math.huge waits indefinitely (will never return); documented config entries more extensively; added basememory to kernel memory so that it's hidden from os.totalMemory; rs and gpu apis that use the primary redstone/gpu component to avoid having to pass the address everywhere 2013-10-10 14:59:30 +02:00
Johannes Lohrer
89befa20ab new logic for power request (no usage or production still) 2013-10-09 23:20:41 +02:00
Florian Nücke
db0e649b6f labels for disks 2013-10-09 19:46:40 +02:00
Florian Nücke
dfde3d9620 fixed shell crashing when monitor was removed; fixed empty entries being added to history when monitor was removed 2013-10-09 19:32:45 +02:00
Florian Nücke
22ae984b36 buffered file systems (only save data to disk when the world is saving); the data stored to disk directly is really just a copy of the data, which is also stored in the world, since we use a virtual file system for that (same as for /tmp) 2013-10-09 19:26:12 +02:00
Florian Nücke
9459366a06 fixed some issues with file:seek; added a virtual file system implementation that keeps all files in memory, used for a volatile /tmp mount in computers for now (512KB of writable memory that gets wiped on reboot) 2013-10-09 16:38:21 +02:00
Florian Nücke
14bdba937d fixed gui breaking pure servers 2013-10-08 19:37:28 +02:00
Florian Nücke
7b4e15c2f2 redstone cards are working, both input and output. i think. mostly, anyway. 2013-10-08 18:14:06 +02:00
Florian Nücke
67792fc992 hdd capacity info in tooltip only in advanced tooltips 2013-10-07 19:53:22 +02:00
Florian Nücke
e4ef181704 fixed capacity adjustment when creating dirs; copy implementation; fixed bug when opening multiple files at once 2013-10-07 17:20:42 +02:00
Florian Nücke
fa2052ecb0 hard drive tooltips (if initialized; added mkdir to fs driver on lua side; fixed recursive delete (folders) 2013-10-07 16:21:57 +02:00
Florian Nücke
2888ba53e6 some fixes and folder renaming; keeping the rom mounted as root now 2013-10-07 14:44:27 +02:00
Florian Nücke
acd5603844 re-added clipboard pasting (now for term.read()) and fixed clipboard being sent twice (only on key down again now) 2013-10-07 05:05:51 +02:00