1496 Commits

Author SHA1 Message Date
Florian Nücke
2b709eee3c Refactored the hologram renderer a bit (split phases into separate functions - init [create common buffer], validate [check if dirty, rebuild as needed] and publish [do the actual rendering]).
Also caching the buffer used for the color data and indexes to avoid spamming the GC with instances of those (can't hurt, right?)
2014-06-10 16:54:47 +02:00
Florian Nücke
234b33f474 Merge branch 'VBO_hologram' of https://github.com/evg-zhabotinsky/OpenComputers
Conflicts:
	src/main/resources/reference.conf
	src/main/scala/li/cil/oc/client/renderer/tileentity/HologramRenderer.scala
2014-06-10 15:43:10 +02:00
Florian Nücke
91cbd5fde1 More OpenGL error checking all over the place. 2014-06-10 14:29:19 +02:00
Florian Nücke
5c81f83688 Renamed capacitor upgrade to battery upgrade and introduced two additional tiers. Closes #280.
Generalized rarity computation for items (less code per item, yay).
2014-06-10 14:09:56 +02:00
evg-zhabotinsky
f480dca78d Reenable hologram lighting 2014-06-10 04:08:51 +04:00
Florian Nücke
84a6aa18d7 Pushing all attribs in font renderer, let's see if this helps...
Also no tessellator in another display list.
2014-06-10 02:02:49 +02:00
Florian Nücke
5e365572eb Error formatting. 2014-06-10 01:40:57 +02:00
Florian Nücke
51acb6046e Fixed robots using items. 2014-06-10 01:37:42 +02:00
Florian Nücke
31636a1410 Sprinkled some OpenGL error checking over the render code. 2014-06-10 01:11:15 +02:00
Florian Nücke
84cdff345a More constants, less magic numbers! 2014-06-10 00:55:48 +02:00
Florian Nücke
b4b7678c8a Fixed upgrade renderer being overwritten by floppy renderer.
Ensure robot fake player is only created on the server.
2014-06-10 00:39:34 +02:00
Florian Nücke
c38803cff0 Using FakePlayer as base class for robot base class... seems to work, although I remember some things breaking when I last tried... well, it's unstable right now anyway so let's do this. 2014-06-09 23:23:17 +02:00
Florian Nücke
eacaa45372 Also clean up component lookup map on client manually on chunk and world unload.
Made the component lookup map use weak keys instead of weak keys, as originally intended.
2014-06-09 23:08:41 +02:00
Florian Nücke
f288a02296 Added setting to control hologram flicker frequency. 2014-06-09 21:05:49 +02:00
Florian Nücke
9d430b1869 Made oredict lookup for dyes more stable, triggered by 1.7 adding some alternative names for some dyes *before* the actual dyes, making the previous method fail. 2014-06-09 19:25:27 +02:00
Florian Nücke
cabc6d0aeb Organized imports. 2014-06-09 18:09:19 +02:00
Florian Nücke
dbc4d38a4a Merge branch 'ScreenCrashFix' of git://github.com/evg-zhabotinsky/OpenComputers 2014-06-09 18:04:37 +02:00
Florian Nücke
70964e0e32 Make edit strip '\r's from line endings when opening files to avoid the '?'s. See #269. 2014-06-09 17:38:00 +02:00
Florian Nücke
9eb445b4aa oh ffs... 2014-06-09 17:13:32 +02:00
Florian Nücke
3fdea0e2f0 Merge pull request #308 from Adaptivity/patch-1
Update ru_RU.lang
2014-06-09 17:05:02 +02:00
Florian Nücke
f79287e81e Made the palette indicator returned by gpu.setForeground/setBackground as well as gpu.get the actual index or nil instead of true/false. 2014-06-09 16:56:35 +02:00
Anton
4c3542ac2e Update ru_RU.lang 2014-06-09 18:53:59 +04:00
Florian Nücke
67b4ebf39d Looking palette of t3 gpu/screen when setting simple color for better matches. Closes #292. 2014-06-09 16:13:48 +02:00
Florian Nücke
8f969e5a64 Spaces. 2014-06-09 13:56:57 +02:00
Florian Nücke
b21df2462c Merge git://github.com/gamax92/OpenComputers 2014-06-09 13:55:15 +02:00
Florian Nücke
12ae22eb30 Updated native lib with a couple of bugfixes (for Windows for now, others will be recompiled and updated after it's confirmed that the fixes actually work). 2014-06-08 23:45:11 +02:00
gamax92
7d2e1c77fb Reduce memory usage 2014-06-08 11:34:14 -06:00
evg-zhabotinsky
2e00640839 Fixes #31 for current 1.3 upstream.
Removed nested display lists from screen renderer.
2014-06-08 16:25:18 +04:00
evg-zhabotinsky
29fdc07410 Fix "reverse" color component order for holograms. It is 0xRRGGBB again. 2014-06-08 14:25:44 +04:00
evg-zhabotinsky
ebbd3c2ea6 Mimic screen text fading for holograms.
Performance might be affected (definitely improved but I can't notice it)
2014-06-07 02:36:04 +04:00
evg-zhabotinsky
c4105d5197 Compact hologram update code (decrease Java overhead).
Also remove `dirty=true` on NBT read since privateBuf caching already takes care of it. (I hope so)
That is, d99bc5815c680198dfa7cd94eede40e5b4e66296 no longer affects hologram performance.
2014-06-07 00:02:46 +04:00
evg-zhabotinsky
5e64a27a0d Now it really works. Need to read documentation more carefully. (#259) 2014-06-06 21:18:14 +04:00
evg-zhabotinsky
83377b4ae0 Rewrite hologram renderer using VBOs for better performance (issue #259) 2014-06-06 20:37:29 +04:00
Florian Nücke
ac811de85d More palette index checks to avoid getting into a derpy state. 2014-06-06 13:15:32 +02:00
Florian Nücke
bc202641e8 Throwing an actual error back to Lua if palette index is invalid (instead of returning nil, message). 2014-06-06 12:48:49 +02:00
Florian Nücke
1eae552aeb Added setting for hologram render distance.
Added some settings for easier debugging.
Minor refactoring.
2014-06-05 23:14:53 +02:00
Florian Nücke
fdf0f8f2bc Import cleanup. 2014-06-04 22:53:10 +02:00
Florian Nücke
55b5041149 The copy-paste strikes again. 2014-06-04 22:42:54 +02:00
Florian Nücke
254f48c208 Fixed abstract bus card recipe.
Fixed array converter.
2014-06-04 22:25:28 +02:00
Florian Nücke
0e6963d3d9 Added scan method for abstract bus. 2014-06-04 20:46:50 +02:00
Florian Nücke
d55343116a Updated SGT2 API. 2014-06-04 20:28:15 +02:00
Florian Nücke
f123a41d2d Added screen.getKeyboards() to allow listing keyboards attached to a screen.
Generating new random key for special persistence whenever a computer is started, making it pretty much impossible for users to inject custom code into the persistence logic.
Fixed font texture.
2014-06-04 20:09:02 +02:00
Florian Nücke
dca93b0627 Got rid of the 'magic pixel' in the font texture. 2014-06-04 19:05:59 +02:00
Florian Nücke
9b15478e14 Made HTTP requests not use userdata, instead the handle it returns can now be used the same way as sockets (except it can't be written to).
Disabled userdata for the time being, looks like it will need some major time investment to track down that crash...
Removed active GC before resuming states, since that could cause execution of user code (__gc metamethod), and sandboxed __gc metamethod some more.
2014-06-04 18:55:41 +02:00
Florian Nücke
cb5a83ebbe Fixed pure userdata being left on the stack during synchronized calls, potentially leading to unpersistable states. 2014-06-04 14:55:20 +02:00
Florian Nücke
cb69a4b386 Fixed blacklist not working when empty (because, exists is true if the list is empty...) 2014-06-04 12:58:26 +02:00
Florian Nücke
4931f8e84a Fixed access to client-only method in screen click logic. 2014-06-03 22:21:10 +02:00
Florian Nücke
8642a4a559 Another go at fixing that native crash, better luck this time? 2014-06-03 20:58:10 +02:00
Florian Nücke
7cc239ebe3 Fixed LuaJ fallback.
Fixed boot address not being saved.
2014-06-03 17:36:21 +02:00
Florian Nücke
9991f4a5fc Should fix crash in native lib by avoiding the crashing JNLua metacall.
Rendering floppy labels on the floppy in the inventory.
2014-06-03 16:58:11 +02:00