Commit Graph

20 Commits

Author SHA1 Message Date
22973ef51d Add text field draft implementation 2016-08-10 21:52:05 +10:00
eb1962e05e IMGUI use data from Gamestate, fix pointInRect bug
Wrong if logic causing point-in-rect to be valid if only x or y is
valid, where correct logic is both x and y need to be within the rect.
2016-08-04 21:17:16 +10:00
aa505ed0b3 Remove input dependency on GLFW in game code
Create own platform abstraction for keyboard input for use in game code.
2016-08-04 18:19:02 +10:00
85becdfd6c Merge the game to dengine, reduce header coupling
Until engine architecture can clearly be separated from the game, i.e.
notion of entity storage belonging to game and concept of entity belonging
to engine, worlds/scenes belonging to game or engine- the project will
only refer to Dengine.
2016-07-28 15:19:23 +10:00
630f2eaa5d Add audio looping, simplify audio API
Audio can be played with 1 call, audio_beginVorbisStream which
encapsulates the initialisation of the renderer and release on finish.
OpenAL is quoted to have a limitation of around 32 sources. Audio
renderers hence acquire a source slot on playback and immediately release
on finish. This ensures that sources are held optimally and minimises the
possibility of saturating the available sources.

Renderers hold an index to the source list, which the index reveals the
source ID for their use.
2016-07-27 22:50:14 +10:00
824d8fd8a0 Initial integration of audio to entity structure 2016-07-27 18:39:51 +10:00
54dd5c84fa Enumerate audio devices, add multi-audio rendering 2016-07-27 16:52:10 +10:00
84a0f755ea Abstract audio playback into own file 2016-07-27 01:34:26 +10:00
99a700ca13 Add audio-streaming and loop support 2016-07-26 18:47:55 +10:00
6b2e759257 Basic audio with stb_vorbis decoding and openal 2016-07-25 22:10:50 +10:00
71faaa78c4 Add openal-soft dependency, update opengl macro 2016-07-24 22:19:25 +10:00
fd94eb5afd Mobs battle with hero, engine architect. changes
Mobs battle in real-time with the hero when in range. Start encapsulating
logic into entityStateSwitch() to organise entity properties changing
between different states.

Introduce basic concept of memory management in MemoryArena. Begin passing
around a memory object to track memory usage and eventually delegate
memory allocations through. Remove the old memory tracker in the debug
object and incorporate into engine primarily.

Add a debug console for logging information and events to the screen in
a console-like fashion. Debug is now initialised after the game, this is
so that you can pass the game's memory arena and font file to the debug
services. Debug services now properly initialise debug element positions
from this information and not through the update routine.
2016-07-19 21:19:26 +10:00
7971b10b74 Remove int v2 type, change V2i to cast i32 to f32
Mixing and matching V2 int and float types in the code creates too much
necessary work when an integer implementation has to interact with float
implementation. Let V2i create the cast for us and use floats for all
vector operations since they are mostly mathematic.
2016-07-17 23:45:59 +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
1f364f7024 Update debug data architecture and methods 2016-07-09 20:46:04 +10:00
d8ee46611f Renderer calculates NDC coordinates from screen coords 2016-06-29 20:44: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
e638724c75 Add tile grid and atlas concept to game 2016-06-25 21:23:15 +10:00
753d700ca6 Complete port over to C, replace glm math lib 2016-06-18 19:12:09 +10:00