- e9f2fac cleaned up some on the lua side, moving a couple of things in to 'lib' files that they belong to (in particular io api moved over from the filesystem driver, os api reimplementation stuff and base api); switched from a set of resolutions to a maximum resolution per tier; removed the magic ram bonus that was used to avoid standard lib stuff hitting the ram requirements too much, but that got too wonky. downside is that right now we need 96k to boot a computer, will either have to bump the ram module sizes or try to reduce that. by Florian Nücke · 11 years ago
- 010e4cc fixed screen.fill; corrected screen aspect ratio and added code for stretched rendering by Florian Nücke · 11 years ago
- 95e9997 fixed two string.* functions (were still bxxx instead of uxxx); fixed tmp not being cleared properly. again; stripped some implementations from api traits, to make it easier to transition them to Java (which I think we should do in the long run, after all) by Florian Nücke · 11 years ago
- e6bbfdc multi-tier screens and gpus. three tiers, with increasing resolutions and (at some point) color starting with the second tierl; custom "Ordering" implementation so we can just sort screens by their coordinates one by one instead of hashing them; Tuple (and untested Seq) return values supported for driver callbacks (converted to tables); added a field called "n" to all "arrays" returned from driver calls (so also tuples and seqs) mimicking Lua's table.pack by Florian Nücke · 11 years ago
- a3c0ae6 define languages via pack.mcmeta (not hardcoded in proxy) by Florian Nücke · 11 years ago
- 9785ab4 proper shell and a bunch of utility programs by Florian Nücke · 11 years ago
- e582fe6 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. by Florian Nücke · 11 years ago
- ccf53d6 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 by Florian Nücke · 11 years ago
- 87aa1f4 redstone, oh how i loathe ye by Florian Nücke · 11 years ago
- 7d73f3a slight concept change in naming: "components" are now nodes that can be seen/addressed by computers via some driver; signal when redstone input changes by Florian Nücke · 11 years ago
- b1a9ef6 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 by Florian Nücke · 11 years ago
- 4556f37 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 by Florian Nücke · 11 years ago
- c1d2473 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 by Florian Nücke · 11 years ago
- 0320935 progress on multi-block screens by Florian Nücke · 11 years ago
- efb8f29 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 by Florian Nücke · 11 years ago
- efe25b3 Merge branch 'master' of cil.li:oc by Florian Nücke · 11 years ago
- cbfbc2f 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) by Florian Nücke · 11 years ago
- deb45f3 nicer native library loading (in particular nicer failure case) by Florian Nücke · 11 years ago
- db139a1 using slot's built-in background icon functionality in computer gui now by Florian Nücke · 11 years ago
- 8ed4875 disk drive and floppy disks (disk drives are mountable and act as a "proxy" for the item in them); minor refactoring; by Florian Nücke · 11 years ago
- 56cc2c3 updated energy distribution but not with final values by Johannes Lohrer · 11 years ago
- a3fa83b Merge branch 'master' of cil.li:oc by Johannes Lohrer · 11 years ago
- 1c8927f made traits for all possibilities by Johannes Lohrer · 11 years ago
- c3ae449 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 by Florian Nücke · 11 years ago
- 53aff13 Merge branch 'master' of cil.li:oc by Johannes Lohrer · 11 years ago
- 1ca4b92 some changes (upload for pull) by Johannes Lohrer · 11 years ago
- 2dadc4b adapter block and driver for command block by Florian Nücke · 11 years ago
- 1e8d48c added textures for power blocks and reworked rendering of tile entity overlays a little (better way of ignoring lighting now) by Florian Nücke · 11 years ago
- 266732f 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 by Florian Nücke · 11 years ago
- 07719c3 some changes to power by Johannes Lohrer · 11 years ago
- 4cdc075 factory functions for file systems based on cc mounts (totally untested) by Florian Nücke · 11 years ago
- f0f3c96 Merge branch 'master' of cil.li:oc by Florian Nücke · 11 years ago
- 546a9d4 fading out text rendered on screens in the world instead of immediately cutting off when too far away by Florian Nücke · 11 years ago
- 6485dca 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 by Florian Nücke · 11 years ago
- ee5a8a0 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 by Florian Nücke · 11 years ago
- 89befa2 new logic for power request (no usage or production still) by Johannes Lohrer · 11 years ago
- db0e649 labels for disks by Florian Nücke · 11 years ago
- 22ae984 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) by Florian Nücke · 11 years ago
- 9459366 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) by Florian Nücke · 11 years ago
- 14bdba9 fixed gui breaking pure servers by Florian Nücke · 11 years ago
- 7b4e15c redstone cards are working, both input and output. i think. mostly, anyway. by Florian Nücke · 11 years ago
- 67792fc hdd capacity info in tooltip only in advanced tooltips by Florian Nücke · 11 years ago
- e4ef181 fixed capacity adjustment when creating dirs; copy implementation; fixed bug when opening multiple files at once by Florian Nücke · 11 years ago
- fa2052e hard drive tooltips (if initialized; added mkdir to fs driver on lua side; fixed recursive delete (folders) by Florian Nücke · 11 years ago
- 2888ba5 some fixes and folder renaming; keeping the rom mounted as root now by Florian Nücke · 11 years ago
- acd5603 re-added clipboard pasting (now for term.read()) and fixed clipboard being sent twice (only on key down again now) by Florian Nücke · 11 years ago
- bc74377 Merge branch 'master' of cil.li:oc by Florian Nücke · 11 years ago
- 6544161 fixed option stringness check in file:read; key up is now sent; much improved input handler, available as term.read, which supports side scrolling, arbitrary length history via a passable table, cursor movement to edit in-line, and general awesomeness; using that reader as the backend for stdin's chunk reader and using io.read() in sh by Florian Nücke · 11 years ago
- 4489781 Merge branch 'master' of cil.li:oc by Johannes Lohrer · 11 years ago
- 35eae71 power calculation on merge splitting and removing nodes by Johannes Lohrer · 11 years ago
- d460fe9 properly returning nil when at eof when reading from files in lua; fixed binary read by Florian Nücke · 11 years ago
- d363d03 changed os.clock to be the actual cpu time of the computer and introduced os.uptime as the replacement of the old functionality; dofile now properly throws when loading fails; graphicscard now stores the screen its bound to in the component, which allows for the computer to display messages after it crashed (by sending a display request to neighbors -> graphicscards installed in it); fixed potential timeout in os.signal; wrappers for pcall and xpcall to enforce timeout when they return, too by Florian Nücke · 11 years ago
- 9886e64 better lua default io lib emulation (with stdin and stdout); fixed idling to use infinite sleep instead of busy idling; some other small fixes on the lua side of things by Florian Nücke · 11 years ago
- 4d7c960 minor renaming by Florian Nücke · 11 years ago
- 5c29bd9 file system cleanup; access to total and used space for capped file systems by Florian Nücke · 11 years ago
- 26dbecd Merge branch 'master' of cil.li:oc by Johannes Lohrer · 11 years ago
- 26574bf basic computer network just registering for now by Johannes Lohrer · 11 years ago
- 9805828 allowing to return stuff from multi-receiver network messages again; capactiy for file systems and saving handles in fs node; some other minor fixes by Florian Nücke · 11 years ago
- 0441f10 hard drive graphics by Florian Nücke · 11 years ago
- 25b9f28 not automounting rom; error message for invalid listdirs; autorun for automounted file systems by Florian Nücke · 11 years ago
- 7ef9798 made checkarg a kernel provided function again after all; cleaned up some by Florian Nücke · 11 years ago
- e85afe8 hard drives. writable frikkin hardrives. next up: limiting their capacity... by Florian Nücke · 11 years ago
- 0927f07 some more prep work for writable file systems based in save dir; reworked computer code structure a bit, moving more semi-internal stuff into the environment trait by Florian Nücke · 11 years ago
- 2c14ec9 cleaned up file system stuff a bit and preparing for writable file systems by Florian Nücke · 11 years ago
- 6689fda fixed computer top texture when on; not sending item tag info to clients anymore (usually only the associated node's address. generally nothing the client needs to know); removed neighbor logic from item component nodes since that is taken care of in sentToVisible now; improved screen rendering performance a bit by caching the display list and updating it when the screen's display changes and not rendering at all when too far away or looking at the screen from a direction where it's impossible to see the text; added some classes that guava needs to compile in scala (only needed at compile time afaik) by Florian Nücke · 11 years ago
- 17476c3 documentation by Florian Nücke · 11 years ago
- f1fd063 Merge branch 'master' of cil.li:oc by Florian Nücke · 11 years ago
- f4f7bd5 fixed event.timer ids; fixed file __gc; fixed render glitch when calling up the interpreter history; fixed folders not being postfixed with "/" in file based filesystem; better error messages (no java class part in the message) by Florian Nücke · 11 years ago
- 1a20aed increased ram sizes by one bit shift (reading files - and loading them as scripts - takes quite a bit of ram); network fixes; filesystem fixes by Florian Nücke · 11 years ago
- 90bbdc2 more work on filesystem stuff by Florian Nücke · 11 years ago
- 57c1b0f BC and UE support by Johannes Lohrer · 11 years ago
- 59febb0 network rewrite to use uuids as node addresses. this way we won't have to expect addresses to change on network merges, which make a lot of things a much easier (in particular on the Lua side) by Florian Nücke · 11 years ago
- 06eac92 some import organizing (sorting); switched to converting all strings lua sends via messages to byte arrays instead of strings, since for lua strings are essentially just binary data. this means they have to be converted to strings where appropriate from now on (e.g. the graphics card will convert byte array to utf8 strings for gpu.set) by Florian Nücke · 11 years ago
- 6f18353 fixed picking of blocks (creative mode) by Florian Nücke · 11 years ago
- dff6cfa removed some reflective calls and similar after making scalac a bit more verbose by Florian Nücke · 11 years ago
- 1da52f8 removed the overly generic component saving again, items just have to be saved by their inventories. way too many problems with figuring out when to save otherwise (e.g. world unload triggers for each "sub-world", so when going from overworld to nether clearing the cache didn't really make sense; quite the opposite) by Florian Nücke · 11 years ago
- 814f49b Merge branch 'master' of cil.li:oc by Florian Nücke · 11 years ago
- 4ef5e3a removed methods that were only there to make it clear what the obfuscated ones were doing by Florian Nücke · 11 years ago
- b2093a9 added energy net integration to powersupply by Johannes Lohrer · 11 years ago
- b5d1bef Merge branch 'master' of cil.li:oc by Johannes Lohrer · 11 years ago
- 249ae14 Merge branch 'master' of cil.li:oc by Johannes Lohrer · 11 years ago
- f2f6d0f some preparation for file system stuff; changed the way item components are stored (more generic, automatically save on world save, no more manual updating in node.address_=) by Florian Nücke · 11 years ago
- a4546d0 updated to 1.6.4 by Johannes Lohrer · 11 years ago
- b248174 added some textures for items; added german localization file; pulled resource pack name into a constant (may split later to natively support texture packs or something, but mainly for when the mod name changes) by Florian Nücke · 11 years ago
- b97f578 ensuring sleeping computers are resumed properly by Florian Nücke · 11 years ago
- 88a65bd added middle mouse button pasting by Florian Nücke · 11 years ago
- 41c1f40 underped computer tileentity (no updates on client anymore); ram is now evaluated, computers start with none built-in by Florian Nücke · 11 years ago
- 585d62f fixed util package by Florian Nücke · 11 years ago
- c1fd2c0 refactor run for tile entities by Florian Nücke · 11 years ago
- bb491ec some more minor refactoring; preparing memory items by Florian Nücke · 11 years ago
- abddfae some more refactoring; switched up driver loading a bit: they're now loaded from the kernel, by it requesting the list of drivers. this way they're loaded into the sandbox (with the network sending function available, in addition to what the normal sandbox can do); doing primary init of kernel in computer init to get a better idea of how much memory our os stuff needs, in particular the driver table; saving the kernel size now, since the baseline is primarily dependent on the kernel, not what we provide aside from that. this way the "user" memory that comes free is now limitable to 16k with much less variance (init takes around 9k, apparently, the rest is free) by Florian Nücke · 11 years ago
- d931b6c massive refactoring by Florian Nücke · 11 years ago
- d24f726 os.reboot() and os.shutdown(); term.keyboardId to control which keyboard's input to listen to; added network "visibility" flag for nodes, controls which other nodes receive connect/reconnect messages from them; some more validation of network node validation (i.e. not sending to / receiving from nodes with address < 1 or visibility == none); fixed margin rendering for screen gui; always injecting the address of a sender for a signal received via the network; fixed item localization; made computers start/stop/queryable via network; major overhaul of multi-threading in computer class, not relying on future.cancel anymore (which apparently didn't interrupt running threads even though it should have) and centralized the state switching a bit (no longer any in signal() for example). removed the saveMonitor (if someone calls us from something other than the server thread its their fault). by Florian Nücke · 11 years ago
- 90f4b2d lua allocator memory tracking fix; mutliitem (multiple items sharing same id) by Florian Nücke · 11 years ago
- cae5bf3 added getter for neighbors of a network node by Florian Nücke · 11 years ago
- d7905fe timer implementation on the lua side (driven via event.fire) by Florian Nücke · 11 years ago
- 12da32b started working on redstone interfacing; improved term.write performance by caching the screen's resolution and added a signal for screen size changes by Florian Nücke · 11 years ago
- 484dfd6 allowing "control characters" in text buffer, too, now (it only works on chars so it really doesn't care, plus our renderer does, too); since java works on unicode strings and conversions are a pain lua will have to live with those. added a couple of unicode-aware replacements for string lib functions, the more complex ones are still todo by Florian Nücke · 11 years ago
- 887a219 redid font texture to include all ascii chars, even special chars for control characters since there was padding anyway and in particular umlaut chars and such; simplified initialization of renderer a tad, too by Florian Nücke · 11 years ago
- cca693d fixed resuming of paused computers originally in SynchronizedReturn state; fixed items saving their address (graphics cards i.e.) by Florian Nücke · 11 years ago