Commit graph

1405 commits

Author SHA1 Message Date
UnknownShadow200
6df70aa383 Don't use face culling for translucent liquids, fixes #55. 2015-09-06 17:33:00 +10:00
UnknownShadow200
03b21b62a7 Do not use our own special packed atlas, use the standard atlas in preparation for #42. 2015-09-06 08:13:21 +10:00
UnknownShadow200
d95272f4a7 Read saved environment metadata from maps in singleplayer mode. 2015-09-05 20:24:54 +10:00
UnknownShadow200
81906c75ed Mention in readme that you don't really need to turn off VSync anymore for faster chunk mesh building. 2015-09-05 09:39:46 +10:00
UnknownShadow200
b6289b6b79 Increase number of chunks built per frame if we can. 2015-09-05 09:35:27 +10:00
UnknownShadow200
0c7dec86e4 Sadly, it turns out that our memory string optimisation procedures corrupted the headp after the GC was run. Turns out because (I might be wrong though) that the GC appears to try to use leftover string space for heap allocations, which sometimes caused random corruptions but mostly crashes as were directly modifying the underlying string length. Fixes #51. 2015-09-05 07:36:51 +10:00
UnknownShadow200
4769e7dbbd Implement cursor hiding on Windows to partially address #36. (Will do Linux backend next) 2015-09-04 06:55:12 +10:00
UnknownShadow200
875ec23b5b Add proper brightness to entities, closes #45. (Thanks Goodlyay) 2015-09-03 20:14:10 +10:00
UnknownShadow200
9a69dba8c5 And get player animations working again. 2015-09-03 20:06:30 +10:00
UnknownShadow200
afb758eb3e Hats should be 0.5 pixels bigger, not 1, fixes #49. (Thanks Goodlyay) Also use nicer constants in PlayerModel. 2015-09-03 19:32:41 +10:00
UnknownShadow200
60c753a2fd Make entity models dynamic in preparation for #45, also means we make a lot less matrix multiplications. Still broken! 2015-09-03 19:20:08 +10:00
UnknownShadow200
ad18567f69 Fix bug with StringBuffer/UnsafeString being drawn way too wide on some Windows versions, fixes #46. (Thanks Cheesse) 2015-09-03 18:40:25 +10:00
UnknownShadow200
4371246f96 Add support for drawing indexed dynamic VBs - use less memory in WeatherRenderer and can draw more particles in ParticleManager. 2015-09-03 06:32:28 +10:00
UnknownShadow200
9394ce1794 Use more flexible dynamic vertex buffers in Direct3D9 api, in preparation for #45. 2015-09-02 20:27:41 +10:00
UnknownShadow200
c163ebcb59 Proper fix of UnsafeString on windows platforms - should fix input text and block info string. 2015-09-02 19:44:24 +10:00
UnknownShadow200
f33428a531 Implement ability to perform partial update of textures on both graphics api backends. Partially addresses #44. 2015-09-02 18:33:13 +10:00
UnknownShadow200
1aff357e80 Make sure we don't overwrite existing map files when saving, because we permanently lose some of the original map's metadata when the client loads a map. 2015-09-01 20:05:53 +10:00
UnknownShadow200
c8c8b8072d Partial support for saving and loading maps. 2015-09-01 19:58:21 +10:00
UnknownShadow200
7826f84b55 Consistency of Game/Window - now just use game. Start work on adding crosshairs. 2015-09-01 18:03:36 +10:00
UnknownShadow200
7baf64051f Add proper singleplayer support. Can generate new flatgrass worlds with /client gen, also the client starts singleplayer when no arguments are provided. 2015-09-01 17:24:01 +10:00
UnknownShadow200
db800f3b32 Slightly optimise ChunkMeshBuilder, fix lava not being fully lit on all tile sides. 2015-09-01 16:33:05 +10:00
UnknownShadow200
6ebed77929 Add basic singleplayer support. Generates a flatgrass map, but has no support for saving. Partially addresses #40. 2015-09-01 06:50:20 +10:00
UnknownShadow200
385c46e21d Make sure to set the MinIndex in Direct3D9 api, as according to various obscure posts, AMD cards require this to be properly filled out, should fix #34. (Thanks Cheesse for reporting this bug) 2015-08-30 12:09:23 +10:00
UnknownShadow200
d053a3bf90 Fix Direct3D9Api not building, print graphics info in more concise way and print adapter description for Direct3D 9. Fixes chunk visibility not being recalculated after terrain atlas size changes, closes #34. 2015-08-30 06:48:53 +10:00
UnknownShadow200
dab0e31bfc More code XML comments. 2015-08-29 11:54:55 +10:00
UnknownShadow200
ffa96b651b Some stylistic cleanup in BlockInfo.Culling, use TileSide.Sides instead of an apparent magical constant, minor simplifications in mesh building code. 2015-08-29 08:16:49 +10:00
UnknownShadow200
fece6e6da0 Minor optimisations in ChunkMeshBuilder, store (y - 1) in heightmap so we don't have to also check against block height. 2015-08-28 06:13:18 +10:00
UnknownShadow200
2ffa078e75 Experimental heightmap optimisation. Runs a lot quicker. (750ms to 600ms for 256 sized map, 24s to 12s for 512 sized map. 2015-08-25 06:39:54 +10:00
UnknownShadow200
bea5c34691 Try to minimise api overhead with MapRenderer. 2015-08-23 09:13:28 +10:00
UnknownShadow200
dfac67c652 Treat terrain particles as billboards, fixes issue #32 (thanks andrewphorn). 2015-08-23 08:41:43 +10:00
UnknownShadow200
2f9d32fdfd Fix compilation with Direct3D9 api, fix launcher title not being correct version. 2015-08-22 14:52:03 +10:00
UnknownShadow200
997a6c1eb6 Version 0.9. 2015-08-22 14:38:12 +10:00
UnknownShadow200
c6d797aebc Properly respond to changes in yaw and pitch sent by server. Fix bug with InterpAngle when passing from <90 to >270 degrees. 2015-08-22 14:01:12 +10:00
UnknownShadow200
a67d44a25c Finally get the solution to properly compile with MonoDevelop. 2015-08-22 08:04:01 +10:00
UnknownShadow200
9d9ca55a7c Make everything in OpenTK have consistent whitespace, simplified detecting unix kernel, combined INativeWindow and IInputDriver. 2015-08-22 06:50:23 +10:00
UnknownShadow200
53fbe02e42 More cleanup in OpenTK. Avoid calling PeekMessage then GetMessage in WinGLNative, we can just use PeekMessage with PM_Remove. 2015-08-18 18:58:35 +10:00
UnknownShadow200
09939603de Simplify Vector and Matrix structs. 2015-08-16 10:51:14 +10:00
UnknownShadow200
9d73e2492d Integrate SharpDX into OpenTK. 2015-08-16 10:16:59 +10:00
UnknownShadow200
54afbcdb65 Combine IndexBuffer and VertexBuffer, simplify methods of setting data, use inlined fixed instead of GCHandles. 2015-08-16 06:43:37 +10:00
UnknownShadow200
cfeabc612a Remove Result struct and just use int return code. 2015-08-15 14:32:56 +10:00
UnknownShadow200
4e34637a05 Minor code cleanup. 2015-08-15 13:51:22 +10:00
UnknownShadow200
8e19e6d2fc Models now use indexed drawing. 2015-08-04 11:43:19 +10:00
UnknownShadow200
96b508a2ce Optimise even further, fix bug with sky drawing with OpenGL api. 2015-08-04 11:35:57 +10:00
UnknownShadow200
0fe78fdf3b Use indexed drawing and stackalloc in StandardEnvRenderer. 2015-08-04 08:33:00 +10:00
UnknownShadow200
1590664f68 Make IGraphicsApi even more consistent. 2015-08-04 07:17:20 +10:00
UnknownShadow200
749a1b0436 Simplify API further. 2015-08-04 07:03:20 +10:00
UnknownShadow200
efc7b0bfe6 Use stackalloc to avoid allocating index buffer on LOH, remove Is<X> methods in IGraphicsApi and make IGraphicsApi more consistent. 2015-08-04 06:32:12 +10:00
UnknownShadow200
281e815125 Significantly reduce allocation of GCHandles, replace with inlined fixed statement in GL class. 2015-08-03 20:08:04 +10:00
UnknownShadow200
dd2eb1105a Use single index buffer for all chunks. Very minor increase in performance, but does slightly reduce memory usage. 2015-08-03 19:17:53 +10:00
UnknownShadow200
618ded14e0 Add experimental optimisation of grouping vertices by faces, then skipping all vertices of a face if that face is always back facing. Improves FPS by 50 - 100 in some cases. On slower card, imrpvoed FPS by 5-30. 2015-08-03 17:25:42 +10:00