4671 Commits

Author SHA1 Message Date
Florian Nücke
d24f726632 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). 2013-09-28 17:32:23 +02:00
Florian Nücke
90f4b2d96f lua allocator memory tracking fix; mutliitem (multiple items sharing same id) 2013-09-27 14:49:16 +02:00
Florian Nücke
3ee9f8cb40 Merge branch 'master' of cil.li:oc 2013-09-27 09:01:34 +02:00
Florian Nücke
cae5bf3103 added getter for neighbors of a network node 2013-09-27 09:01:04 +02:00
Florian Nücke
d7905fe737 timer implementation on the lua side (driven via event.fire) 2013-09-27 08:33:55 +02:00
Florian Nücke
12da32bc6c started working on redstone interfacing; improved term.write performance by caching the screen's resolution and added a signal for screen size changes 2013-09-27 07:12:33 +02:00
Florian Nücke
484dfd6a83 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 2013-09-26 16:15:08 +02:00
Florian Nücke
887a21941d 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 2013-09-26 12:12:15 +02:00
Florian Nücke
cca693da31 fixed resuming of paused computers originally in SynchronizedReturn state; fixed items saving their address (graphics cards i.e.) 2013-09-26 10:48:30 +02:00
Florian Nücke
86b7b8441b moved event handlers to a more local scope; some fixes in lua scripts; fixed background worker being spawned twice when starting a computer (automatically triggered via first signal, no need to start one manually) 2013-09-26 09:21:14 +02:00
Florian Nücke
4dfa9ab316 yet more network related fixes 2013-09-25 17:24:40 +02:00
Florian Nücke
6ce3da241d fixed underscore being too under (was cut off); a couple of tweaks for the command line; clipboard support 2013-09-25 13:19:10 +02:00
Florian Nücke
5936c0d81f hell yeah, interactive command line is working 2013-09-25 11:17:21 +02:00
Florian Nücke
75ec692b74 yet more network reworking and starting to work on the Lua side again 2013-09-25 09:37:24 +02:00
Florian Nücke
209ba2ce7e underped network quite a bit 2013-09-25 03:59:12 +02:00
Florian Nücke
2b1d410da3 some eris fixes; compiling with /02 instead of /Ox seems to have solved remaining crashes, we'll see...; yet another lib move, the final one I think 2013-09-24 05:21:59 +02:00
Johannes Lohrer
fe6cc8cc44 IC2 API 2013-09-23 22:24:26 +02:00
Florian Nücke
29a79b5ed0 rudimentary keyboard input is working 2013-09-23 18:13:24 +02:00
Florian Nücke
48cf012d67 messages working it would seem (screen printing works again, some quirks still) 2013-09-23 15:08:27 +02:00
Florian Nücke
f3373710c2 allowing message handlers to return results, which allows for messages with results (e.g. to query information from nodes such as a gpu's current resolution) 2013-09-23 05:38:51 +02:00
Florian Nücke
0930f895c2 screw this, api will be in scala, the pain from java<->Any incompatibilities is too big; still far from done but at least it builds again 2013-09-23 01:30:57 +02:00
Florian Nücke
5aea2ef316 more shifting from pure drivers to network (drivers will still be used for items and "external" blocks) 2013-09-22 23:20:30 +02:00
Florian Nücke
6bcfab2c5e cleanup 2013-09-22 16:59:37 +02:00
Florian Nücke
5871731b7a working on network layer, to replace most driver api logic: everything will be "networked", no direct references to anything anywhere, callbacks will all be via network messages; changed library folder structure and keeping everything in a single library now to avoid issues with dependencies (in particular under linux where dlopen tries to be clever) 2013-09-22 14:58:14 +02:00
Florian Nücke
0e218d99ab updated eris and added (untested!) linux libraries 2013-09-22 06:11:01 +02:00
Florian Nücke
a99f7f0136 computer gui 2013-09-21 01:49:51 +02:00
Florian Nücke
16ec4f6acd display lists for screen gui and general performance improvement in monospace font renderer (not rendering spaces, just translate) 2013-09-20 23:34:25 +02:00
Florian Nücke
20028c99ed fixes in monospace font renderer and gui for screen 2013-09-20 22:42:09 +02:00
Florian Nücke
93a38a3da0 minor cleanup in driver wrapping code 2013-09-20 19:19:01 +02:00
Florian Nücke
acd00aa84d fixed driver callback persistence 2013-09-20 19:16:30 +02:00
Florian Nücke
5b817e3d99 couple of fixes here and there; tile entity renderers for computer (environment light independent "on" light) and screen (text, for testing / preparation for multiblock screens). hardly efficient at this time, display lists will come later. 2013-09-20 18:59:45 +02:00
Florian Nücke
8fed193702 screen block textures 2013-09-20 04:15:08 +02:00
Florian Nücke
551fd3bcbe remembered that blocks' metadata is only four bit, so moved rotation logic to a tileentity base class and also made it more flexible (supporting all 6 facings via pitch/yaw); added block textures for for computer (different for on/off) 2013-09-20 02:31:24 +02:00
Florian Nücke
b98b029949 localization in file; fixed ascii font texture (was missed one char, 223 i think); switched from multiple "real" blocks to one proxy block with many sub-blocks, so we only need one block ID (todo: same for items, if possible) 2013-09-19 07:01:15 +02:00
Florian Nücke
ae0a865bb1 monospace font (mix of bitstream vera and andale mono) and renderer, renders at half scale for antialiased font 2013-09-16 21:24:19 +02:00
Florian Nücke
978e413233 gui refactoring 2013-09-16 12:14:52 +02:00
Florian Nücke
a88b4f5dab merged renderer used for screen into screen gui class 2013-09-16 12:09:06 +02:00
Florian Nücke
c90d7d1865 renamed proxies to be symmetric 2013-09-16 11:45:10 +02:00
Florian Nücke
2b25bc2105 happy shuffling... let's see. moved textbuffer from graphicscard to screen on the server side, because it a) makes sense b) makes it much less painful to synchronize server and client screens. expanded networking a bit, with a sender and handler class for server and client. centralized for now, until I can think of an elegant, symmetric way of decentralizing it. initializing screens on client side when created. dynamically retrieving component instances when needed (not storing them anywhere) which *should* work around any issues related to installed block components living in unloaded chunks. 2013-09-16 11:42:02 +02:00
Florian Nücke
c5e3b7ea21 textbox tweaks 2013-09-14 17:42:36 +02:00
Florian Nücke
ae5a793a6b cleanup and some fixes 2013-09-14 17:17:32 +02:00
Florian Nücke
75d8a52354 Merge branch 'master' of cil.li:oc
Conflicts:
	li/cil/oc/common/components/IScreen.scala
	li/cil/oc/server/components/Screen.scala
2013-09-14 16:49:43 +02:00
Florian Nücke
87892c32fa basic 'write' implementation for lua (writing stuff to the screen); fixed/added array return value support (jnlua only supports tables -> java, not the other way around as it turns out) 2013-09-14 16:47:21 +02:00
Johannes Lohrer
677f0757bf made display resolution dependent
only display text if within the textfield
2013-09-13 23:48:03 +02:00
Johannes Lohrer
95a15ede56 new ScreenGui.scala 2013-09-13 22:03:37 +02:00
Johannes Lohrer
e55dfe985f Automatic linebreaks 2013-09-13 10:38:27 +02:00
Florian Nücke
ca16ac2ad5 resolved conflicts 2013-09-12 23:00:41 +02:00
Johannes Lohrer
3754ee1241 Merge branch 'master' of cil.li:oc
Conflicts:
	li/cil/oc/gui/GuiComputer.scala
	li/cil/oc/server/components/IComponent.scala
2013-09-12 22:48:42 +02:00
Johannes Lohrer
1fc8d00b54 own text field 2013-09-12 22:26:32 +02:00
Florian Nücke
2cabc85ab2 type constraint for tileentity reader in client packethandler 2013-09-12 22:06:11 +02:00