2745a8e25a
Add simple animation scheduling infrastructure
2016-07-17 20:24:51 +10:00
88108bce19
Delete old assets, remove anim update in renderer
...
Begin to add notion of a hitbox entity size and the rendering size.
Dynamic entities such as players will have animations that should exceed
the size of the actual player, we should be able to render it at the
desired size even if larger than the actual size.
Collision still occurs on the entity size (i.e. hitbox). Remove the notion
of updating animation in the renderer, we update in WorldTraveller,
removing any concept of passing a "deltatime" to the renderer. The
renderer's purpose is to draw not parse animation logic.
2016-07-17 19:24:19 +10:00
62c5fe0629
Switch animation indexing to enum, toggle anim on spacebar
2016-07-17 17:16:09 +10:00
ca6790cb1c
Add entity action timer to schedule commands
2016-07-17 15:27:37 +10:00
a426461dad
Fix up include headers, try to reduce dependencies
...
Ensure that all headers are self-sufficient instead of relying on included
headers to include headers for execution.
2016-07-16 23:27:52 +10:00
6da8eff9b1
Fix hero avatar moving with camera
2016-07-16 21:08:30 +10:00
2d9fded235
Group texture & texture rect together in renderer
2016-07-16 20:21:49 +10:00
0d5725eb97
Entities now have health values associated
2016-07-16 20:06:52 +10:00
6c3ef63a65
Draw hero status on side with profile
...
Make hero texture rects start using the atlas data structure. Reduce the
number of slots for assets for now to minimise room for error.
2016-07-16 18:51:26 +10:00
d74cabf5c6
Fix rendering of rects, draw debug target reticule
2016-07-16 17:41:17 +10:00
d0b4c99787
Create empty texture idea, change function scopes
...
Some functions which should not be exposed in the API have been switched
to INTERNAL scope. We have a notion of an empty texture in World Traveller
that we can pass in situations where we just want to render a solid
colour with no associated texture.
The alternative to this was creating a separate shader for rendering
primitives but would require at some point to expose the AssetManager to
the renderer or the user on behalf has to manually switch shaders before
rendering (non-intuitive).
2016-07-16 17:15:03 +10:00
86b4d1e206
Add distance to battle range metric in pixels
2016-07-16 02:34:44 +10:00
12fbc1000e
Basic framework for scaling text, unimplemented
2016-07-15 18:34:23 +10:00
0551f05e73
Rotate around entity center, update math notation
...
Change #define math functions to uppercase for consistency
2016-07-14 23:15:42 +10:00
b1875077b7
Additional debug string rendering infrastructure
...
Separate notion of rendering a static string, i.e. for debug display that
is absolutely positioned, and rendering of a regular string that moves
with the game camera.
2016-07-12 18:11:31 +10:00
d82afe49d0
Add memory allocation tracking data to debug state
2016-07-09 21:42:36 +10:00
54ecddad2f
Add function call counting to debug infrastructure
2016-07-09 20:59:54 +10:00
1f364f7024
Update debug data architecture and methods
2016-07-09 20:46:04 +10:00
ea50aeb44e
Allow color modulation of sprites, refactor renderer init
2016-07-09 16:08:03 +10:00
ea2656c0bd
Fix bug accumulating debug strings without resetting
2016-07-08 21:36:26 +10:00
ebcdd779b9
Lock camera to the bounds of the world
2016-07-08 21:21:49 +10:00
f6ada44b41
Add rudimentary camera and side scrolling support
2016-07-08 21:06:43 +10:00
ad48dd5062
Add notion of entity type identifier to entities
2016-07-08 17:54:56 +10:00
fa7947fb90
Abstract add entity and animation into functions
2016-07-08 17:44:41 +10:00
c9fc34aee1
Move rendering of tiles into rendering of entities
...
Downgraded background rendering to each tile individually (no batching)
temporarily such that we can render all entities in one function.
2016-07-08 16:09:18 +10:00
4b74bb9474
Delay update of debug string rendering
...
More meaningful to see values update over a larger period of time than
instantaneously.
2016-07-08 14:37:18 +10:00
46629a489a
Add debug rendering, fix misaligned pos render bug
...
Rendering using a non-default quad specifies normalised coordinates
relative to the frame buffer size. Hence each render of these frames
should origin from (0,0) any other value is invalid.
2016-07-08 02:45:37 +10:00
a04c43681d
Removed rounding in glyphs per row overestimating
2016-07-07 22:44:22 +10:00
13a2152bf6
Correctly align text rendering to baseline
2016-07-07 22:30:06 +10:00
5ef54e16be
Improved string rendering with text advance metric
2016-06-30 00:14:07 +10:00
d8ee46611f
Renderer calculates NDC coordinates from screen coords
2016-06-29 20:44:35 +10:00
fa83daac60
Text rendering to screen, assetmanager merged to gamestate
2016-06-29 18:23:51 +10:00
ef112fa4cb
Flip font texture vertically on atlas creation
2016-06-29 14:04:35 +10:00
e03d3fd14a
Rudimentary font rasterisation at runtime with STB
2016-06-29 03:17:03 +10:00
76d6dfcf2f
Change notation for dengine headers
2016-06-28 16:00:03 +10:00
26cec05ff0
Applied const to more vars, change tile size to 64
2016-06-28 15:03:04 +10:00
f53325cc6a
Batch tiles to single vbo at render pass
2016-06-28 02:28:57 +10:00
fd3a353fdd
Call renderer on tiles only-if tile on screen
...
OpenGL automatically clips objects outside of the view space but we were
still using up a lot of useless glDraw calls which impacts performance.
This change is temporary and will change when we get to scrolling the
world.
2016-06-25 21:51:35 +10:00
e638724c75
Add tile grid and atlas concept to game
2016-06-25 21:23:15 +10:00
b7063963b8
Add basic AABB collision detection
2016-06-25 19:12:25 +10:00
7acf36cd59
Basic multi animation support, with walking transition
2016-06-23 21:34:38 +10:00
7a2dc3da41
Add game entity list rendering, create animations
2016-06-23 18:40:00 +10:00
eda06bcfe9
Rudimentary animated sprite capabilities
2016-06-19 02:16:16 +10:00
d44ddf9371
Sprite switches direction, update vbo on render
2016-06-19 00:34:20 +10:00
bb57f080c9
Draw sprite from offset into tilesheet
2016-06-18 20:45:14 +10:00
753d700ca6
Complete port over to C, replace glm math lib
2016-06-18 19:12:09 +10:00
d4117ea729
Start math library by preprocessor templating
2016-06-18 03:15:02 +10:00
6251e105c8
Remove stdstring, use platform layer to open files
2016-06-18 02:01:43 +10:00
3c51010e77
Port project over to C, some C++ left
2016-06-18 00:40:40 +10:00
bcb847c18c
Add acceleration to movement code
2016-06-17 18:11:23 +10:00