Commit graph

200 commits

Author SHA1 Message Date
Gered ec9a4d6fad minor vertex count calculation fixes in GeometryDebugRenderer 2013-09-08 10:55:36 -04:00
Gered 4ef2082971 add random number generator helper extension methods 2013-09-07 14:18:08 -04:00
Gered 5a7532a598 add support for loading texture atlas animations from json files 2013-09-04 18:45:34 -04:00
Gered efb4090206 add texture atlas animation json POCOs 2013-09-04 17:33:43 -04:00
Gered bf8052f4b6 fix cached shader uniform values not being marked as "new" 2013-09-03 19:02:21 -04:00
Gered e70b7d8af5 add SkyBox helper class 2013-09-02 20:24:27 -04:00
Gered 17807036d4 add support for controling depth-writes in RenderState 2013-09-02 16:56:02 -04:00
Gered d06cba8263 add angle helper method 2013-09-02 14:14:25 -04:00
Gered 421ecc9f43 Camera class now abstract, split off into specific perspective cameras 2013-09-02 13:05:24 -04:00
Gered e5a12a4cb1 add static Random instance for convenience 2013-09-01 22:17:29 -04:00
Gered d1859c4804 new AddUsingPreset overloads allowing a Type to be passed in at runtime 2013-09-01 22:09:29 -04:00
Gered 543f3f7289 add entity preset support 2013-09-01 17:02:31 -04:00
Gered 1ab975d02e really fix the event queue post-process object pool freeing type issue 2013-09-01 09:30:39 -04:00
Gered 9bfdf46226 fix enumerator usage 2013-09-01 08:51:18 -04:00
Gered df2b49647c make Trigger and Queue methods generic to carry through full event type
Or at least, to carry it through without having to do a GetType() when
needed when we are freeing the event in the object pool.
2013-09-01 08:21:09 -04:00
Gered b5fd222063 these should be ref parameters in order to "return" min/max values 2013-09-01 08:16:49 -04:00
Gered 0a08631df6 GetAllWith() now by default clears the list before adding entities. new argument allow caller to specify behaviour
Because, holy shit, I just spent too long trying to figure out the most
bizarre bug that was being caused by the list *not* being cleared and
I forgot that I had to with the way this was written originally!
2013-09-01 03:43:15 -04:00
Gered b306101d89 add SDL app config support for setting the target update frequency 2013-09-01 03:04:38 -04:00
Gered ec6896ba63 forgot to implement - woops! 2013-08-31 20:49:21 -04:00
Gered 25c08c807a clean up some stream using code (using blocks, dispose calls, etc) 2013-08-29 23:18:37 -04:00
Gered bd55d43ab3 rename TileMapLoader and add saving support 2013-08-29 23:15:41 -04:00
Gered 9bd3a42744 add extremely basic support for opening files in more modes then reading
The "storage path" idea needs to be fleshed out quite a lot more still.
Ideally it should be pointing to OS-specific application-writeable
locations (e.g. ~/Library/Application Support/$APP_NAME/)
2013-08-29 23:14:56 -04:00
Gered da23265904 add TileMapLoader 2013-08-29 21:36:55 -04:00
Gered 47933222cd add tilemap POJO for json serialization/deserialization 2013-08-28 23:57:26 -04:00
Gered 7638eac510 add tile data container serialize/deserialize overloads 2013-08-28 23:55:31 -04:00
Gered fb7b85d6ab add basic Tile serialize/deserialize to binary methods 2013-08-28 23:52:57 -04:00
Gered 7435ccfaed move texture atlas json deserializing classes into separate namespace
For consistency with how we laid out the json deserializing stuff for
tile mesh collections
2013-08-28 23:42:52 -04:00
Gered ff46db9d90 add TileMeshCollectionLoader 2013-08-28 23:39:49 -04:00
Gered 420f134654 type changes 2013-08-28 23:26:02 -04:00
Gered d9511e5b46 incorrect field name 2013-08-28 23:01:45 -04:00
Gered 4d6fd90943 add POCO's for json deserialization of tile mesh collections
This includes some extras for tile meshes using arbitrary models which
haven't been implemented yet (as a subclass of TileMesh)
2013-08-28 22:48:00 -04:00
Gered 6ba60825ce add #regions 2013-08-28 18:33:38 -04:00
Gered 68ea526f34 set fields 2013-08-28 18:26:49 -04:00
Gered 4a1d80ce4f add TilePrefab 2013-08-28 18:22:09 -04:00
Gered 7118479528 add light source / sky light spreading lighter implementation (port) 2013-08-27 23:26:10 -04:00
Gered 6e2bb80b32 add LitChunkVertexGenerator (ported java code that wasn't working perfectly...) 2013-08-27 23:13:19 -04:00
Gered 71a9e92bc1 should be virtual 2013-08-27 22:39:34 -04:00
Gered 7b79d83b32 add basic tile map lighter implementations (sky lighting only) 2013-08-27 22:28:45 -04:00
Gered f86aa3059d use zero-size VBO's in ChunkVertexGenerator 2013-08-27 22:19:24 -04:00
Gered d3bff35dd8 use a zero-size initially for GeometryDebugRenderer 2013-08-27 22:19:02 -04:00
Gered 55f697ae6c change the way RemainingElements calculates and remove safety from MoveNext/Previous
This is mainly to fix a problem where it's not exactly intuitive to code
a loop which runs through a buffer using MoveNext() up until the end of
RemainingElements. When the loop ends, you'd expect to be able to take
that same buffer, Extend() it, and be able to immediately start running
through it again without calling MoveNext() one extra time inbetween
both loops. This fix makes it so this kind of "intuitive" usage pattern
works, at the expense of no automatic bounds safety with CurrentPosition
2013-08-27 22:10:03 -04:00
Gered 5a37b8bdfe update IndexBuffer to also allow zero-size 2013-08-27 21:34:28 -04:00
Gered 85f57cd733 more protections against invalid copy operations 2013-08-27 21:26:55 -04:00
Gered 68a401a463 don't allow zero length VBO's to be used as a source to copy from 2013-08-27 21:25:26 -04:00
Gered 07fd5baa8e allow zero length VBO
For when we, upon initially creating the object, don't know what the
size should be, but will need be calling Extend() when we do know.
2013-08-27 21:14:01 -04:00
Gered 7fcf8d88a0 crappy "fix" for vertex buffer sizing problem - manually track the "real" count of vertices
Need to properly fix this in VertexBuffer itself, problems with how
the extending / remaining space calculations work (or at least, our
current usage of them)
2013-08-25 22:28:08 -04:00
Gered c8be3f5c8f fix incorrect render call 2013-08-25 22:26:50 -04:00
Gered cb60306944 add TileMap and Chunk renderers 2013-08-25 21:50:27 -04:00
Gered 03c7a83471 missed probably the most important call ... 2013-08-25 19:57:20 -04:00
Gered c48e99127a add Tile.GetTransformationFor() overload returning a nullable Matrix4x4 2013-08-25 19:56:23 -04:00