- 7cf14ed charger texture and fixed power distributor synchronization when the max failed as well as when there are multiple distributors in a network by Florian Nücke · 11 years ago
- 45ba7b0 pageup/pagedown support for edit by Florian Nücke · 11 years ago
- ac5fe3c added capability to send http requests with wireless network cards, if allowed in the config (with domain white and black list); fixed nil printing when ls-ing an invalid dir, returning an error message instead; config doesn't support backslashes and since it might disappear in the future, anyway, I decided to switch to the typesafe config library; renamed config class to Settings to avoid name conflicts with typesafe config by Florian Nücke · 11 years ago
- 5f0f5d7 configurable robot names; showing robot name and owner in analyzer result by Florian Nücke · 11 years ago
- ad8ff5d made the shortened tooltip localizable; swinging item when clearing it by Florian Nücke · 11 years ago
- 9a36667 tooltipocalypse! that has to be enough for now... by Florian Nücke · 11 years ago
- b751fe0 tooltips via localization files, with support for custom formatting (colors and text formats) by Florian Nücke · 11 years ago
- eb2778d keyboard rendering in inventory now respects block bounds, making it look a little nicer; reworked keyboard texture to use same color theme as other blocks; fixed keyboard pop-off logic by Florian Nücke · 11 years ago
- 1e3a14a keyboard rendering by Johannes Lohrer · 11 years ago
- 8fa4f39 Merge branch 'master' of cil.li:oc by Johannes Lohrer · 11 years ago
- 27739bb keyboard test by Johannes Lohrer · 11 years ago
- 1996332 fixed last char in a row disappearing when it should have been shifted to the right in term.read and editor; fixed computers not properly reporting errors that occur if kernel is crashing during startup; added simple serialize/unserialize methods to text lib to make networking easier by Florian Nücke · 11 years ago
- 26c04f1 made ram and disk sizes for the three tiers configurable and generalized their localization method (not one per tier but one for all that gets extended based on the tier); more informative status bare messages for text editor by Florian Nücke · 11 years ago
- 594dffd proper clipboard pasting in editor and fixed no-arg check by Florian Nücke · 11 years ago
- f7f75d5 added a "status bar" for the editor and reduced some surplus copying by Florian Nücke · 11 years ago
- 175f070 fixed a display error when scrolling in editor lead to a horizontal scroll due to the new line being shorter than the previous one by Florian Nücke · 11 years ago
- 4bc0b89 cleaned up term some more and reused most of the logic by expanding it to multiple lines to create a... dun dun dun... basic file editor! by Florian Nücke · 11 years ago
- 374d66d moved string.trim to text.trim; made some more Lua functions use get/set prefix after all (got too used to dropping it from Scala, but since most callbacks will use this, too, I'd like to keep it uniform); major cleanup of term's readline implementation by Florian Nücke · 11 years ago
- e674f49 localized power tooltip in robots by Florian Nücke · 11 years ago
- ffd3ff4 made it so that robots only accept floppies (no hard drives) and added background icon for floppy slots by Florian Nücke · 11 years ago
- cb4c439 allowing robots to use items for specifiable durations. this allows robots to use bows or throw flasks. can be disabled; exhaustion is now converted into energy cost. one to one per default for now, will need some testing/calculations; fixed render glitch in nei when hovering power tooltip; showing absolute power value in power tooltip; made robot buffer configurable; made moves and turns cost energy and the amount configurable by Florian Nücke · 11 years ago
- c26fc97 analyzable is expected to return a node now and doesn't extend environment any more, allowing more flexible use (e.g. also for sided environments); checking for sided environment in analyzer for blocks with no analyzable interface; rendering power level of robots in their gui now; screens now consume more or less power, depending on the number of lit pixels (non ' ') by Florian Nücke · 11 years ago
- 7f40926 router works, apparently; changed network api to take a tile entity instead of world + coords which were just used to fetch a tile entity anyway; cable and router block use a block tick when validated to initialize their nodes, so they don't need tile entity updates (less unnecessary spamming of the tile entity list, yay!) by Florian Nücke · 11 years ago
- 0f0418b sided environments (a la sided inventory) to allow blocks to not connect to the network on some sides (e.g. screens on the front) or to provide different nodes to different sides (e.g. for - wip - routers); fixed state stack saving in computers... bloody stacks saving their values in the inverse bloody order; by Florian Nücke · 11 years ago
- 71cfa61 general cleanup, making stuff a bit more uniform; cleaned up term lib a bit; fixed redstone. again -.-; small network fix and renamed signal to 'modem_message'; converting tabs to align to properly instead of just replacing them with two spaces; word wrapping when writing to term with wrap enabled by Florian Nücke · 11 years ago
- 16a6243 better lighting. finally got around to adding normals for cables and now robots, too by Florian Nücke · 11 years ago
- ca60668 wrapped robot tile entity in a proxy that gets placed into the world instead, which allows more natural cleanup in minecraft (meaning we don't have to use cheap tricks like manipulating the tile entity list directly); robot rendering and animations by Florian Nücke · 11 years ago
- dff73c9 basic animation logic stuff. added fake block that is used as a robot's "afterimage" when it moves, to ensure proper collision bound handling; fixed breaking pause when activating computer blocks; by Florian Nücke · 11 years ago
- ba1f66e added setting to emulate CC turtle placing behavior (allow placing blocks in thin air, without any reference point - and no, the bot itself doesn't count!); properly ensuring placement is only possible on existing blocks for robot.place() (if the setting is false); robot Lua library wrapping the low level callbacks a bit by Florian Nücke · 11 years ago
- b1d96a3 synchronizing selected slot in robots to client and rendering a selection marker in the gui by Florian Nücke · 11 years ago
- 5f6a9cf made computers self-aware; added some basic interaction of robots with their inventory and the world (select, detect, compare, drop); generalized item dropping from containers on destruction; some redstone "fixes" for problems that kinda didn't exist before: output is now stored as "local", i.e. it is converted to global as needed, which makes changing the rotation of a block with redstone info a non-issue (computers could be rotated, where that problem also existed, sorta, just didn't think about it like this before) by Florian Nücke · 11 years ago
- 9b4476a moved gui updating/closing logic in screens to parent class (environment) and moved it to the tileentity package; larger robot inventory by Florian Nücke · 11 years ago
- f135d86 made power distributor logic a component to be re-usable in robots; general shuffling for robot stuff, now building an "internal" network for each robot that is *not* connected to the outside world. this will limit some cards installed in the robot (e.g. gpus won't work with external screens) but makes it much easier to re-use components without having the issue that they interfere with external stuff (also, it makes robots less of a complete replacement for normal computers, which they should not be, they have a very specific role, after all); reworked how stuff gets saved a bit more, nodes are now generally saved by their host - in particular the base tile entity we use (Environment) will now only automatically save its `node` if it is that node's host by Florian Nücke · 11 years ago
- 077bc98 fleshing out the robot block a bit, adding the gui and inventory by Florian Nücke · 11 years ago
- c8bcc59 messed with synchronization of network a bit, mostly removing the synchronizations, meaning using the network in direct lua callbacks is *not safe* anymore. consuming / producing power however should be, that's synchronized (and hopefully won't deadlock, unless I forgot some case); fixed opengl errors when moving screens using RIM by checking if a display list is currently being compiled, and not trying to compile again if so, but simple rendering what we currently have. also reduced the keep-alive time of the cache a bit. by Florian Nücke · 11 years ago
- e286fb7 added new concept for LuaCallback annotation: limited direct calls. this allows defining the number of times a method may be called directly per tick, to limit the load Lua programs can but on the game, for example if the method has to use some expensive resource or generates network traffic. used for gpus, to allow different tiers to be updated with different speeds: set/fill/copy are now direct until they hit the limit. this makes for a much more responsive experience while still making sure Lua cannot completely blow the net traffic off the charts; also made some more getter methods in filesystem direct (in particular `size` which slowed down ls -l way too much); fixed a deadlock, possibly; screens now consume a constant amount of power and will stop displaying stuff when unpowered (won't lose the buffer, though) by Florian Nücke · 11 years ago
- 1b7eebf fixed redstone program always setting bundled output; now reading input from isolated red alloy wires (redlogic); general clean up; triggering persistable.save/load form environment class now (our base tile entity class); by Florian Nücke · 11 years ago
- 1aa60d2 made analyzer localizable; removed buffer from most components - only producers (converter, power supply) and a new block, the capacitor now have a buffer; tweaked power values a bit (I even made a spreadsheet!); file i/o now needs power (i.e. reading and writing files, all the "info" stuff doesn't); multi-block screens now require more power the larger they are by Florian Nücke · 11 years ago
- ac72c27 world breaker! weeeee. massive renaming of stuff that I waited for to accumulate to do all in one big change, since it breaks my test world due to id changes. also a bit of refactoring here and there, e.g. the block previously called computer is now called case. computer is now the base class which will hopefully be generic enough to be re-used for bots. hopefully didn't break anything... by Florian Nücke · 11 years ago
- 584cec0 cables; changed things around a bit with regards to tile entities: environment is now the tile entity whereas rotatable is now a trait. this makes a lot of things less redundant in tile entities, in particular after cleaning up tile entity connect/disconnect logic (disconnect now purely via invalidate/onUnload); fixed default case for shouldSideBeRendered in special block; by Florian Nücke · 11 years ago
- b1ac3e8 updated eris; increased screen buffer size because tier 3 screens failed to clear way too often; displaying power state of nodes via analyzer; fixed power getting lost when changing multi-screens (screens were cleared via same functions as those called from Lua, now they're cleared directly) by Florian Nücke · 11 years ago
- b169748 updated eris version by Florian Nücke · 11 years ago
- 0c8347d more color screen stuff; made advanced screen 4 bit, pro screen 8 bit (which is actually pretty much for a pseudo computer in a game with 16x16 textures...); depth can be dynamically changed; colors are always provided as 32bit rgb from the lua side to make things easier, so it's ok to call these even on a color-less gpu+screen; added vertical gap between chars in char texture to avoid bleeding when interpolating due to downscaling; made some programs use colors (sh, lua and ls); screw scanlines, aliasing is too much of a pain by Florian Nücke · 11 years ago
- 39b2c97 added analyzer tool: right click on a block show its address. for computers it also shows the last error message, if any (if the computer crashed). for multi screens it always shows the address of the origin. shift-rightclick copies the address to the clipboard. by Florian Nücke · 11 years ago
- 35d8e07 computer no longer uses power based on cpu time, since this caused massive power spikes when loading (and possible when the world lagged a lot), because the worker thread runs on low priority and could therefore be stalled by the host os for a while if something else takes priority; managed item environments now get their container passed along (usually the tile entity with the inventory they reside in), used by redstone card from now on to determine the block to read/write from/to (instead of the message sender, which should always be that same block, but it's clearer like this). also used for the new wireless network cards so they know where they are; added wireless network cards. they act as an upgrade to normal network cards, i.e. they still send "normal" network messages in addition to looking for receivers in range. the signal strength for sending can be adjusted via the api, the higher the further we look for receivers, but the more power it will cost (this isn't in, yet). in addition we sample a few blocks between sender and receiver to check if the signal may have been blocked. by Florian Nücke · 11 years ago
- bccee0c added basic "ownership" implementation: computers now have a list of users, and only users can perform direct operations on the computer, such as typing, changing the inventory and breaking the computer block. this does not apply to operators or in single player mode; added a new network message for computers `computer.checked_signal`, which expects an `EntityPlayer` as the first parameter and checks if the player is a user before pushing the signal. used by the keyboard for now; finally added custom implementation of 'mergeItemStack' that properly respects a slot's item validity (Slot.isItemValid) so shift clicking now inserts components into the right slots for computers; some small changes to Lua shell lib; added -b option to redstone Lua program to allow reading/setting bundled input and output; added programs to manage users from the shell by Florian Nücke · 11 years ago
- 2a48cb2 fixed timers firing continuously after setting the time to a future date; fixed date stuff after realizing /time set sets world time absolutely (too used to nei by far...); added proper os.date implementation; by Florian Nücke · 11 years ago
- eb3a8e1 added bundled redstone support, only support for immibis' RedLogic mod for now by Florian Nücke · 11 years ago
- bb7684a cleaned up included apis some, removing all the unnecessary interfaces; made carriage component completely async; reworked state logic in computer some, probably broke something along the way; made startup delay after loading a setting; by Florian Nücke · 11 years ago
- ab785eb forbid access to string metatable for sandbox; minor restructuring of libraries (mostly sorting by name); saving managed environments attached to an adapter. this is not very reliable, sadly, since there are way too many ways neighbors can change outside our control (chunks only partially loaded, types removed across games due to other mod changes, mods that move blocks such as RIM, ...); making some effort to re-attach peripherals using their previous address; removed connection code on chunk load in network manager, since this is also handled by the check in the tile entities' update function by Florian Nücke · 11 years ago
- 60447a0 localizations for power supply by Florian Nücke · 11 years ago
- fd67e24 added a simple power supply that generates power out of thin air for testing by Florian Nücke · 11 years ago
- 734b1bd made the node factory stuff nicer to use. the backing code has become somewhat ugly, but that's just java's fault so whatever. it is now possible to write something along the lines of api.Network.newNode(host, name, visibility).withComponent().withConnector(bufferSize).create(), which reads pretty nicely; power is back, but with a few changes. for one, the "running cost" is gone, since that was really just confusing, and would have resulted in frequent updates once the buffers are full/empty anyway (once because we'd have to check whether to fill up or not, once to check if we have enough power or not). it's just much more intuitive to just have a buffer per powered entity that can be filled/emptied as needed. also, there's no differentiation between consumers and producers anymore. producers just fill up their buffers, while consumers empty their buffers. the power distributor now simply takes care of balancing the amount of energy in all buffers connected to the same network it is connected to. multiple distributors don't need any special logic this way, either, since the first one to update simply marks all processed buffers as clean (if they were dirty due to changes); renamed PowerSupply to PowerConverter by Florian Nücke · 11 years ago
- f9e6439 using default pcall and xpcall again in sandbox, using a trick seen in corowatch (setting hook count to 1 on timeout) by Florian Nücke · 11 years ago
- d92257d fixed network messaging; pulled persist logic completely to the scala side, doing away with the boot lua script; by Florian Nücke · 11 years ago
- 5aad6d6 cleaned up component visibility updating; some fixes by Florian Nücke · 11 years ago
- d886527 renamed event.wait to event.pull; removed event.fire, instead allowing generating/queuing signals from the Lua side, adding os.pushSignal and renaming os.signal to os.pullSignal. pullSignal now has no filtering capabilities, only a timeout, all filtering is done via event.pull by Florian Nücke · 11 years ago
- 1fd375f screw it, events are now global, i.e. they will *not* automatically be cleaned up when the program that registered them dies. instead, resort to event pulling for most cases, the nice filtering in event.wait should make that feasible for most scenarios; on the upside, waits can now be canceled (customizable via event.shouldInterrupt, queried each time os.signal returns to event.wait, defaults to ctr+alt+c being pressed), event.wait will throw an "interrupted" error in that case. this means os.sleep is also interruptable since it just calls event.wait; also updated eris to latest version by Florian Nücke · 11 years ago
- d52a099 less derpy environment "sandboxing" for shell.execute, instead tracking events per thread now, and removing those of dead threads; thus, programs are now run in their own coroutines, which also allows emulation of cc's yield behavior (pulling events = signals); no label = null instead of empty string now by Florian Nücke · 11 years ago
- 7cf9fad allow settings fs label on construction and added read-only flag (used to forbid label change on ro systems); forbid setting label on volatile systems (in particular tmpfs); added program to manipulate fs labels; added program to display disk usage by Florian Nücke · 11 years ago
- c51d551 cleaned up lua stuff a bit; split off unicode stuff into extra table; some fixes (fs.exists for non-existent virtual objects, `less` program, other stuff i forgot); added mount and umount programs by Florian Nücke · 11 years ago
- 78a426c metric ton of fixes. somehow the number of touches files feels too low... anyway, also added option to LuaCallback annotation to mark callbacks as asynchronous (meaning they will be called directly from the executor thread) and synchronized the sh*t out of the network manager in the hopes that not all will crumble to pieces due to sending messages around while someone meddles with the network (program calls sth while player places/breaks block e.g.); oh, and we now take the memory baseline after loading the libs, meaning 32k is enough to run a computer again. also, loading libs is done asynchronously now, since it's loaded from the rom and nobody else should be able to access that anyway, meaning fast boot-times; command line program to manipulate redstone output and read input by Florian Nücke · 11 years ago
- a7ec5c0 things are slowly beginning to work again... it's still all a big mess, though by Florian Nücke · 11 years ago
- c556f40 simplified redstone driver (just using the message source as the redstone input/output provider) by Florian Nücke · 11 years ago
- 1454512 pcall for event error handler; super-hacky low-level boot progress feedback (as soon as any gpu in the pc has been bound, so it'll only work after the first boot and if the hardware doesn't change between boots, but hey!); keeping leading / in absolute paths in fs.canonical; prefixing paths specified to shell.path with a / if there is none already (making them explicitly absolute); moved file handle gc to the file stream, which is more logical; increased width of minimal resolution a bit (mainly so that the lua copyright notice fits into one line :P); made more gpu driver functions return a true boolean if they were called successfully; limiting the number of open handles a single computer can have per filesystem by Florian Nücke · 11 years ago
- a628822 changed garbage collection of file handles a bit. although it was working, in hindsight i'm really not quite sure *how*, or rather: Lua seems to be smarter than I already gave it credit for. it apparently realized that a new reference to the object to be gc'ed was created in its finalizer, so it let it live. however, i'm not quite sure why that didn't lead to a pseudo-infinite loop. now we just keep the stream as an upvalue for the timer callback that actually closes the stream; also, removed the checks if event.timer exists. if people remove that it's really their own problem by Florian Nücke · 11 years ago
- 4a664bb some cleanup; automatically restarting the shell if it stops (avoids the occasional ctrl+c shutting down the computer); added os.sleep and extended event.wait to take a filter, which basically makes it similar to cc's pullEvent with an optional timeout; determining io buffer size based on current free ram and added a minimum size; some better "sandboxing" for programs (which really isn't that, just making automatic listener cleanup as consistent as possible); using error messages in (uncaught) exceptions where possible, making for some nicer error messages, for example for out of memory errors when pushing results from the host side; made difftime a lua function; properly initializing text renderer on multi-screens; added program for paged file viewing by Florian Nücke · 11 years ago
- a8288b2 ctrl+d for soft and ctrl+c for hard abort in term.read, resulting in 'nil' being read, signalling an eof and thus allowing the lua program to be quit that way; removed the exit() function from the lua function; added `shell.parse` for rudimentary argument parsing (anything starting with `-` is treated as an option or a list of option (each option name must be exactly one char); added key state tracking and keyboard library by Florian Nücke · 11 years ago
- 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
- 519afa4 minor tweaks to alias programs by Florian Nücke · 11 years ago
- d25c824 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 by Florian Nücke · 11 years ago
- 60118f1 lua program can now be quit using 'exit()' function by Florian Nücke · 11 years ago
- b52cc44 eris fixes (remind me to also compile for linux later...) by Florian Nücke · 11 years ago
- d083f34 some more and init cleanup 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
- 728b428 made screen background (non-gui) ever so slightly less pitch-black, so it doesn't look like a black hole that much... by Florian Nücke · 11 years ago
- 0320935 progress on multi-block screens 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
- 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
- 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
- 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
- ac833cf implemented os.tmpname and io.tmpfile (sort of as they should be) 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
- db0e649 labels for disks by Florian Nücke · 11 years ago
- dfde3d9 fixed shell crashing when monitor was removed; fixed empty entries being added to history when monitor was removed 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
- 7b4e15c redstone cards are working, both input and output. i think. mostly, anyway. 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