├── CMakeLists.txt
├── COPYING
├── Doxyfile
├── FindAssimp.cmake
├── FindGLEW.cmake
├── FindOggVorbis.cmake
├── FindOpenAL.cmake
├── FindOpenVR.cmake
├── FindTinyXML.cmake
├── README.md
├── build_win32
├── Rpg
│ ├── Rpg.vcxproj
│ ├── Rpg.vcxproj.filters
│ └── Rpg.vcxproj.user
├── Tanks
│ ├── Tanks.vcxproj
│ ├── Tanks.vcxproj.filters
│ └── Tanks.vcxproj.user
├── TestTerrainFancy
│ ├── TestTerrainFancy.vcxproj
│ ├── TestTerrainFancy.vcxproj.filters
│ └── TestTerrainFancy.vcxproj.user
├── TestTerrainFancyOpenVR
│ ├── TestTerrainFancyOpenVR.vcxproj
│ └── TestTerrainFancyOpenVR.vcxproj.filters
├── TinyGameEngine.sln
├── TinyGameEngine.vcxproj
├── TinyGameEngine.vcxproj.filters
├── TinyGameEngine.vcxproj.user
├── TinyGameEngineOpenVR.vcxproj
├── TinyGameEngineOpenVR.vcxproj.filters
└── TinyGameEngineOpenVR.vcxproj.user
├── config.h.cmake
├── data
├── SOURCES
├── font
│ ├── OpenBaskerville-0.0.75.ttf
│ └── mensch.ttf
├── img
│ ├── 512hills.png
│ ├── bullet
│ │ └── plasma.png
│ ├── cm_clay_top.png
│ ├── cm_cliff.png
│ ├── cm_cliff2.png
│ ├── cm_cliff_desert.png
│ ├── cm_cliff_desert2.png
│ ├── cm_cliff_snow.png
│ ├── cm_desert_plants.png
│ ├── cm_desert_tile.png
│ ├── cm_dirt.png
│ ├── cm_dirt_cracked.png
│ ├── cm_dirt_desert.png
│ ├── cm_dirt_desert2.png
│ ├── cm_forest_floor.png
│ ├── cm_forest_leaves.png
│ ├── cm_forest_pine.png
│ ├── cm_grass.png
│ ├── cm_grass2.png
│ ├── cm_grass3.png
│ ├── cm_lakebed_desert.png
│ ├── cm_lava.png
│ ├── cm_mosaic.png
│ ├── cm_moss.png
│ ├── cm_mud.png
│ ├── cm_pavement.png
│ ├── cm_pavement2.png
│ ├── cm_pavement3.png
│ ├── cm_pavement4.png
│ ├── cm_pavement5.png
│ ├── cm_planks.png
│ ├── cm_planks2.png
│ ├── cm_planks3.png
│ ├── cm_planks4.png
│ ├── cm_planks5.png
│ ├── cm_poplar_side.png
│ ├── cm_roof.png
│ ├── cm_sand.png
│ ├── cm_snow.png
│ ├── cm_stones.png
│ ├── cm_tile_red.png
│ ├── cm_tile_white.png
│ ├── cm_wall.png
│ ├── cm_wall2.png
│ ├── cm_wall3.png
│ ├── cm_wall4.png
│ ├── cm_water.png
│ ├── flat.png
│ ├── quadbody.png
│ ├── quadwheel.png
│ ├── sky.png
│ ├── tank1.png
│ ├── tasmania.png
│ ├── terrain
│ │ ├── desert_cliff_egypt_2.png
│ │ ├── desert_cliff_egypt_2_norm.png
│ │ ├── desert_cliff_egypt_2_spec.png
│ │ ├── desert_lakebed_dry_b.png
│ │ ├── desert_lakebed_dry_b_norm.png
│ │ ├── desert_lakebed_dry_b_spec.png
│ │ ├── desert_sand_smooth_b.png
│ │ ├── desert_sand_smooth_b_norm.png
│ │ ├── desert_sand_smooth_b_spec.png
│ │ ├── desert_sand_stones.png
│ │ ├── desert_sand_stones_norm.png
│ │ ├── desert_sand_stones_spec.png
│ │ ├── dirt.jpg
│ │ ├── dirt_normal.jpg
│ │ ├── forest.jpg
│ │ ├── forest_normal.jpg
│ │ ├── grass.jpg
│ │ ├── grass_normal.jpg
│ │ ├── rocks.jpg
│ │ └── rocks_normal.jpg
│ ├── testb.png
│ ├── testc.png
│ ├── testg.png
│ ├── testp.png
│ ├── testr.png
│ ├── testw.png
│ ├── testy.png
│ ├── tree0_leaves.png
│ ├── tree0_sprite.png
│ ├── tree0_trunk.png
│ └── tree0_trunk_normal.png
├── mesh
│ ├── cubes.dae
│ ├── quadbody.dae
│ ├── quadwheel.dae
│ ├── tank1.dae
│ ├── tree0_leaves.obj
│ └── tree0_trunk.obj
├── moba
│ ├── League_of_Sints_logo.png
│ ├── cliff_diffuse.png
│ ├── cliff_norm.png
│ ├── dire_nexus.dae
│ ├── dire_tower.dae
│ ├── dire_tower_diffuse.png
│ ├── dire_tower_norm.png
│ ├── dirt_diffuse.png
│ ├── forest_diffuse.png
│ ├── forest_norm.png
│ ├── gift.png
│ ├── grass_diffuse.png
│ ├── grass_norm.png
│ ├── map.png
│ ├── map_attr_dirt.png
│ ├── map_attr_forest.png
│ ├── map_attr_tile.png
│ ├── map_attributes.glsl
│ ├── moba.xml
│ ├── pine.dae
│ ├── pine_diffuse.png
│ ├── pine_sprite.png
│ ├── radiant_nexus.dae
│ ├── radiant_tower.dae
│ ├── radiant_tower_diffuse.png
│ ├── radiant_tower_norm.png
│ ├── sky.png
│ ├── tile_diffuse.png
│ ├── tile_norm.png
│ ├── wolf_diffuse.png
│ └── wolf_run.dae
├── rpg.xml
├── rpg
│ ├── Achaeus.dae
│ ├── Acolyte.dae
│ ├── Adult_Red_Dragon.dae
│ ├── Arch_Mage.dae
│ ├── Boar_Updated.dae
│ ├── Cultist.dae
│ ├── CyclopsGeneric.dae
│ ├── DwarfPaladinFigure.dae
│ ├── Dwarf_Bard.dae
│ ├── ElfRangerFigure.dae
│ ├── ElfRanger_28mm.dae
│ ├── ElvenSorcererFigure.dae
│ ├── EpicDwarfFigure.dae
│ ├── FirbolgDruidFigure.dae
│ ├── Giant_Elk.dae
│ ├── GrumpRangerFigure.dae
│ ├── Hoplite45deg.dae
│ ├── Julias_boar200.dae
│ ├── Kraken_Tentacle.dae
│ ├── Kraken_for_Print3.dae
│ ├── Large_Shell.dae
│ ├── Merfolk_DandD_character.dae
│ ├── Merrow_updated_sculpted.dae
│ ├── Pegasus_Updated.dae
│ ├── SeaElfPriest.dae
│ ├── Simple_Pine_Tree.dae
│ ├── Spider_Thin.dae
│ ├── VictorianGentleman.dae
│ ├── Viking.dae
│ ├── Weasel.dae
│ ├── assassin_crossbow_ready.dae
│ ├── bear_optimize.dae
│ ├── buffalo.dae
│ ├── dwarven_warrior_by_kevin_mic.dae
│ ├── dwarven_warrior_heft_axe.dae
│ ├── elf_mage_by_nicoledelancret.dae
│ ├── great_white_2.dae
│ ├── gryphonflying.dae
│ ├── gryphonstanding.dae
│ ├── horse.dae
│ ├── old_man_staff_out.dae
│ ├── old_man_standing_ready.dae
│ ├── paladin_drinking_sword_out.dae
│ ├── paladin_sword_down.dae
│ ├── roman_legionary_spear.dae
│ ├── roman_legionary_sword.dae
│ ├── spartan.dae
│ ├── tiefling_swashbuckler_crouching.dae
│ ├── wererat.dae
│ └── winged_guardian_defensive.dae
├── shader
│ ├── desert.glsl
│ └── temperate.glsl
└── tanks.xml
├── doc
├── manual.bib
└── manual.tex
├── moba
├── CMakeLists.txt
└── src
│ ├── faction.cpp
│ ├── faction.h
│ ├── forest.cpp
│ ├── forest.h
│ ├── game.cpp
│ ├── game.h
│ ├── minion_type.cpp
│ ├── minion_type.h
│ ├── moba.cpp
│ ├── terrain.cpp
│ └── terrain.h
├── rpg
├── CMakeLists.txt
└── src
│ ├── character.cpp
│ ├── character.h
│ ├── game.cpp
│ ├── game.h
│ ├── game_msg.cpp
│ ├── messages.cpp
│ ├── messages.h
│ ├── network.cpp
│ ├── network.h
│ ├── rpg.cpp
│ ├── terrain.cpp
│ ├── terrain.h
│ ├── voxel.cpp
│ └── voxel.h
├── src
├── test_AddRemove.cpp
├── test_AnimatedMeshHorde.cpp
├── test_ComputeTexture.cpp
├── test_Console.cpp
├── test_Font.cpp
├── test_Forest.cpp
├── test_Network.cpp
├── test_Quadtree.cpp
├── test_ReadAnimatedMesh.cpp
├── test_ReadSample.cpp
├── test_ReadStaticMesh.cpp
├── test_RigidBodyCollision.cpp
├── test_RigidBodyPendulum.cpp
├── test_RigidBodySystem.cpp
├── test_SDLApplication.cpp
├── test_ShaderHashing.cpp
├── test_SoundSource.cpp
├── test_StaticMesh.cpp
├── test_StaticMeshHorde.cpp
├── test_Terrain.cpp
├── test_TerrainFancy.cpp
├── test_TerrainFancyEGA.cpp
├── test_TerrainFar.cpp
└── test_WorldIconHorde.cpp
├── tanks
├── CMakeLists.txt
└── src
│ ├── game.cpp
│ ├── game.h
│ ├── game_msg.cpp
│ ├── messages.cpp
│ ├── messages.h
│ ├── network.cpp
│ ├── network.h
│ ├── soldier.cpp
│ ├── soldier.h
│ ├── tank.cpp
│ ├── tank.h
│ ├── tanks.cpp
│ ├── terrain.cpp
│ └── terrain.h
└── tiny
├── CMakeLists.txt
├── algo
├── gridmap.h
└── typecluster.h
├── draw
├── animatedmesh.cpp
├── animatedmesh.h
├── animatedmeshhorde.cpp
├── animatedmeshhorde.h
├── buffer.cpp
├── buffer.h
├── colour.h
├── computetexture.cpp
├── computetexture.h
├── detail
│ ├── formats.h
│ ├── worldrenderer.cpp
│ └── worldrenderer.h
├── effects
│ ├── diffuse.cpp
│ ├── diffuse.h
│ ├── lambert.cpp
│ ├── lambert.h
│ ├── normals.cpp
│ ├── normals.h
│ ├── showimage.cpp
│ ├── showimage.h
│ ├── solid.cpp
│ ├── solid.h
│ ├── sunsky.cpp
│ ├── sunsky.h
│ ├── sunskyega.cpp
│ ├── sunskyega.h
│ ├── sunskyvoxelmap.cpp
│ └── sunskyvoxelmap.h
├── glcheck.cpp
├── glcheck.h
├── heightmap
│ ├── diamondsquare.h
│ ├── heighttocolour.h
│ ├── normalmap.h
│ ├── resize.h
│ ├── scale.h
│ └── tangentmap.h
├── iconhorde.cpp
├── iconhorde.h
├── icontexture2d.cpp
├── icontexture2d.h
├── indexbuffer.h
├── lighthorde.cpp
├── lighthorde.h
├── renderable.cpp
├── renderable.h
├── renderer.cpp
├── renderer.h
├── rendererwithcamera.cpp
├── rendererwithcamera.h
├── screensquare.cpp
├── screensquare.h
├── shader.cpp
├── shader.h
├── shaderprogram.cpp
├── shaderprogram.h
├── staticmesh.cpp
├── staticmesh.h
├── staticmeshhorde.cpp
├── staticmeshhorde.h
├── staticmeshhordetexturearray.cpp
├── staticmeshhordetexturearray.h
├── terrain.cpp
├── terrain.h
├── textbox.cpp
├── textbox.h
├── texture.cpp
├── texture.h
├── texture1d.h
├── texture2d.h
├── texture2darray.h
├── texture2dcubearray.h
├── texture3d.h
├── texturebuffer.h
├── tiledhorde.h
├── uniformmap.cpp
├── uniformmap.h
├── vertexbuffer.h
├── vertexbufferinterpreter.h
├── voxelmap.cpp
├── voxelmap.h
├── worldrenderer.cpp
└── worldrenderer.h
├── hash
├── md5.cpp
└── md5.h
├── img
├── image.cpp
├── image.h
└── io
│ ├── image.cpp
│ └── image.h
├── lod
├── quadtree.cpp
└── quadtree.h
├── math
├── genmat.h
├── vec.cpp
└── vec.h
├── mesh
├── animatedmesh.cpp
├── animatedmesh.h
├── io
│ ├── animatedmesh.cpp
│ ├── animatedmesh.h
│ ├── detail
│ │ └── aimesh.h
│ ├── staticmesh.cpp
│ └── staticmesh.h
├── staticmesh.cpp
└── staticmesh.h
├── net
├── client.cpp
├── client.h
├── console.cpp
├── console.h
├── host.cpp
├── host.h
├── message.cpp
└── message.h
├── os
├── application.cpp
├── application.h
├── sdlapplication.cpp
└── sdlapplication.h
├── rigid
├── aabbtree.cpp
├── aabbtree.h
├── rigidbody.cpp
├── rigidbody.h
├── triangle.cpp
└── triangle.h
├── smp
├── io
│ ├── sample.cpp
│ └── sample.h
├── sample.cpp
└── sample.h
└── snd
├── alcheck.cpp
├── alcheck.h
├── buffer.cpp
├── buffer.h
├── detail
└── formats.h
├── source.cpp
├── source.h
├── worldsounderer.cpp
└── worldsounderer.h
/FindAssimp.cmake:
--------------------------------------------------------------------------------
1 | # Based on http://www.openengine.dk/code/extensions/Assimp/FindAssimp.cmake.
2 | # - Try to find Assimp
3 | # Once done this will define
4 | #
5 | # ASSIMP_FOUND - system has Assimp
6 | # ASSIMP_INCLUDE_DIR - the Assimp include directory
7 | # ASSIMP_LIBRARIES - Link these to use Assimp
8 | #
9 |
10 | SET(ASSIMP "assimp")
11 |
12 | FIND_PATH(ASSIMP_INCLUDE_DIR NAMES assimp/scene.h
13 | PATHS
14 | ${ASSIMP_DEPS_INCLUDE_DIR}
15 | ${PROJECT_BINARY_DIR}/include
16 | ${PROJECT_SOURCE_DIR}/include
17 | ${PROJECT_SOURCE_DIR}/libraries/assimp/include
18 | ENV CPATH
19 | /usr/include
20 | /usr/local/include
21 | /opt/local/include
22 | NO_DEFAULT_PATH
23 | )
24 |
25 |
26 | FIND_LIBRARY(LIBASSIMP
27 | NAMES
28 | ${ASSIMP}
29 | PATHS
30 | ${ASSIMP_DEPS_LIB_DIR}
31 | ${PROJECT_SOURCE_DIR}/libraries/assimp/lib
32 | ENV LD_LIBRARY_PATH
33 | ENV LIBRARY_PATH
34 | /usr/lib
35 | /usr/lib/x86_64-linux-gnu
36 | /usr/local/lib
37 | /opt/local/lib
38 | NO_DEFAULT_PATH
39 | )
40 |
41 | SET (ASSIMP_LIBRARIES
42 | ${LIBASSIMP}
43 | )
44 |
45 | IF(ASSIMP_INCLUDE_DIR AND ASSIMP_LIBRARIES)
46 | SET(ASSIMP_FOUND TRUE)
47 | ENDIF(ASSIMP_INCLUDE_DIR AND ASSIMP_LIBRARIES)
48 |
49 | # show the COLLADA_DOM_INCLUDE_DIR and COLLADA_DOM_LIBRARIES variables only in the advanced view
50 | IF(ASSIMP_FOUND)
51 | MARK_AS_ADVANCED(ASSIMP_INCLUDE_DIR ASSIMP_LIBRARIES )
52 | ENDIF(ASSIMP_FOUND)
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/FindGLEW.cmake:
--------------------------------------------------------------------------------
1 | #
2 | # Try to find GLEW library and include path.
3 | # Once done this will define
4 | #
5 | # GLEW_FOUND
6 | # GLEW_INCLUDE_PATH
7 | # GLEW_LIBRARY
8 | #
9 |
10 | IF (WIN32)
11 | FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h
12 | PATHS
13 | $ENV{PROGRAMFILES}/GLEW/include
14 | ${PROJECT_SOURCE_DIR}/src/nvgl/glew/include
15 | DOC "The directory where GL/glew.h resides")
16 | FIND_LIBRARY( GLEW_LIBRARY
17 | NAMES glew GLEW glew32 glew32s
18 | PATHS
19 | $ENV{PROGRAMFILES}/GLEW/lib
20 | ${PROJECT_SOURCE_DIR}/src/nvgl/glew/bin
21 | ${PROJECT_SOURCE_DIR}/src/nvgl/glew/lib
22 | DOC "The GLEW library")
23 | ELSE (WIN32)
24 | FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h
25 | /usr/include
26 | /usr/local/include
27 | /sw/include
28 | /opt/local/include
29 | DOC "The directory where GL/glew.h resides")
30 | FIND_LIBRARY( GLEW_LIBRARY
31 | NAMES GLEW glew
32 | PATHS
33 | /usr/lib64
34 | /usr/lib
35 | /usr/local/lib64
36 | /usr/local/lib
37 | /sw/lib
38 | /opt/local/lib
39 | DOC "The GLEW library")
40 | ENDIF (WIN32)
41 |
42 | IF (GLEW_INCLUDE_PATH)
43 | SET( GLEW_FOUND 1 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
44 | ELSE (GLEW_INCLUDE_PATH)
45 | SET( GLEW_FOUND 0 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
46 | ENDIF (GLEW_INCLUDE_PATH)
47 |
48 | MARK_AS_ADVANCED( GLEW_FOUND )
--------------------------------------------------------------------------------
/FindTinyXML.cmake:
--------------------------------------------------------------------------------
1 | # - Find TinyXML
2 | # Find the native TinyXML includes and library
3 | #
4 | # TINYXML_FOUND - True if TinyXML found.
5 | # TINYXML_INCLUDE_DIR - where to find tinyxml.h, etc.
6 | # TINYXML_LIBRARIES - List of libraries when using TinyXML.
7 | #
8 |
9 | IF( TINYXML_INCLUDE_DIR )
10 | # Already in cache, be silent
11 | SET( TinyXML_FIND_QUIETLY TRUE )
12 | ENDIF( TINYXML_INCLUDE_DIR )
13 |
14 | FIND_PATH( TINYXML_INCLUDE_DIR "tinyxml.h"
15 | PATH_SUFFIXES "tinyxml" )
16 |
17 | FIND_LIBRARY( TINYXML_LIBRARIES
18 | NAMES "tinyxml"
19 | PATH_SUFFIXES "tinyxml" )
20 |
21 | # handle the QUIETLY and REQUIRED arguments and set TINYXML_FOUND to TRUE if
22 | # all listed variables are TRUE
23 | INCLUDE( "FindPackageHandleStandardArgs" )
24 | FIND_PACKAGE_HANDLE_STANDARD_ARGS( "TinyXML" DEFAULT_MSG TINYXML_INCLUDE_DIR TINYXML_LIBRARIES )
25 |
26 | MARK_AS_ADVANCED( TINYXML_INCLUDE_DIR TINYXML_LIBRARIES )
27 |
--------------------------------------------------------------------------------
/build_win32/Rpg/Rpg.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 | Source Files
23 |
24 |
25 | Source Files
26 |
27 |
28 | Source Files
29 |
30 |
31 | Source Files
32 |
33 |
34 | Source Files
35 |
36 |
37 | Source Files
38 |
39 |
40 | Source Files
41 |
42 |
43 |
44 |
45 | Source Files
46 |
47 |
48 | Source Files
49 |
50 |
51 | Source Files
52 |
53 |
54 | Source Files
55 |
56 |
57 | Source Files
58 |
59 |
60 | Source Files
61 |
62 |
63 |
--------------------------------------------------------------------------------
/build_win32/Rpg/Rpg.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build_win32/Tanks/Tanks.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 | Source Files
23 |
24 |
25 | Source Files
26 |
27 |
28 | Source Files
29 |
30 |
31 | Source Files
32 |
33 |
34 | Source Files
35 |
36 |
37 | Source Files
38 |
39 |
40 | Source Files
41 |
42 |
43 |
44 |
45 | Source Files
46 |
47 |
48 | Source Files
49 |
50 |
51 | Source Files
52 |
53 |
54 | Source Files
55 |
56 |
57 | Source Files
58 |
59 |
60 | Source Files
61 |
62 |
63 |
--------------------------------------------------------------------------------
/build_win32/Tanks/Tanks.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build_win32/TestTerrainFancy/TestTerrainFancy.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 |
--------------------------------------------------------------------------------
/build_win32/TestTerrainFancy/TestTerrainFancy.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build_win32/TestTerrainFancyOpenVR/TestTerrainFancyOpenVR.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 |
--------------------------------------------------------------------------------
/build_win32/TinyGameEngine.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | true
5 |
6 |
--------------------------------------------------------------------------------
/build_win32/TinyGameEngineOpenVR.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | true
5 |
6 |
--------------------------------------------------------------------------------
/config.h.cmake:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | #define SCREEN_WIDTH 1920
6 | #define SCREEN_HEIGHT 980
7 | #define DATA_DIRECTORY std::string("${TINY_SOURCE_DIR}/data/")
8 |
9 | #ifndef NDEBUG
10 | #cmakedefine DEBUG
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/data/font/OpenBaskerville-0.0.75.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/font/OpenBaskerville-0.0.75.ttf
--------------------------------------------------------------------------------
/data/font/mensch.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/font/mensch.ttf
--------------------------------------------------------------------------------
/data/img/512hills.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/512hills.png
--------------------------------------------------------------------------------
/data/img/bullet/plasma.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/bullet/plasma.png
--------------------------------------------------------------------------------
/data/img/cm_clay_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_clay_top.png
--------------------------------------------------------------------------------
/data/img/cm_cliff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_cliff.png
--------------------------------------------------------------------------------
/data/img/cm_cliff2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_cliff2.png
--------------------------------------------------------------------------------
/data/img/cm_cliff_desert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_cliff_desert.png
--------------------------------------------------------------------------------
/data/img/cm_cliff_desert2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_cliff_desert2.png
--------------------------------------------------------------------------------
/data/img/cm_cliff_snow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_cliff_snow.png
--------------------------------------------------------------------------------
/data/img/cm_desert_plants.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_desert_plants.png
--------------------------------------------------------------------------------
/data/img/cm_desert_tile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_desert_tile.png
--------------------------------------------------------------------------------
/data/img/cm_dirt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_dirt.png
--------------------------------------------------------------------------------
/data/img/cm_dirt_cracked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_dirt_cracked.png
--------------------------------------------------------------------------------
/data/img/cm_dirt_desert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_dirt_desert.png
--------------------------------------------------------------------------------
/data/img/cm_dirt_desert2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_dirt_desert2.png
--------------------------------------------------------------------------------
/data/img/cm_forest_floor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_forest_floor.png
--------------------------------------------------------------------------------
/data/img/cm_forest_leaves.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_forest_leaves.png
--------------------------------------------------------------------------------
/data/img/cm_forest_pine.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_forest_pine.png
--------------------------------------------------------------------------------
/data/img/cm_grass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_grass.png
--------------------------------------------------------------------------------
/data/img/cm_grass2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_grass2.png
--------------------------------------------------------------------------------
/data/img/cm_grass3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_grass3.png
--------------------------------------------------------------------------------
/data/img/cm_lakebed_desert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_lakebed_desert.png
--------------------------------------------------------------------------------
/data/img/cm_lava.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_lava.png
--------------------------------------------------------------------------------
/data/img/cm_mosaic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_mosaic.png
--------------------------------------------------------------------------------
/data/img/cm_moss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_moss.png
--------------------------------------------------------------------------------
/data/img/cm_mud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_mud.png
--------------------------------------------------------------------------------
/data/img/cm_pavement.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_pavement.png
--------------------------------------------------------------------------------
/data/img/cm_pavement2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_pavement2.png
--------------------------------------------------------------------------------
/data/img/cm_pavement3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_pavement3.png
--------------------------------------------------------------------------------
/data/img/cm_pavement4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_pavement4.png
--------------------------------------------------------------------------------
/data/img/cm_pavement5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_pavement5.png
--------------------------------------------------------------------------------
/data/img/cm_planks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_planks.png
--------------------------------------------------------------------------------
/data/img/cm_planks2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_planks2.png
--------------------------------------------------------------------------------
/data/img/cm_planks3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_planks3.png
--------------------------------------------------------------------------------
/data/img/cm_planks4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_planks4.png
--------------------------------------------------------------------------------
/data/img/cm_planks5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_planks5.png
--------------------------------------------------------------------------------
/data/img/cm_poplar_side.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_poplar_side.png
--------------------------------------------------------------------------------
/data/img/cm_roof.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_roof.png
--------------------------------------------------------------------------------
/data/img/cm_sand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_sand.png
--------------------------------------------------------------------------------
/data/img/cm_snow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_snow.png
--------------------------------------------------------------------------------
/data/img/cm_stones.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_stones.png
--------------------------------------------------------------------------------
/data/img/cm_tile_red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_tile_red.png
--------------------------------------------------------------------------------
/data/img/cm_tile_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_tile_white.png
--------------------------------------------------------------------------------
/data/img/cm_wall.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_wall.png
--------------------------------------------------------------------------------
/data/img/cm_wall2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_wall2.png
--------------------------------------------------------------------------------
/data/img/cm_wall3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_wall3.png
--------------------------------------------------------------------------------
/data/img/cm_wall4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_wall4.png
--------------------------------------------------------------------------------
/data/img/cm_water.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/cm_water.png
--------------------------------------------------------------------------------
/data/img/flat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/flat.png
--------------------------------------------------------------------------------
/data/img/quadbody.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/quadbody.png
--------------------------------------------------------------------------------
/data/img/quadwheel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/quadwheel.png
--------------------------------------------------------------------------------
/data/img/sky.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/sky.png
--------------------------------------------------------------------------------
/data/img/tank1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/tank1.png
--------------------------------------------------------------------------------
/data/img/tasmania.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/tasmania.png
--------------------------------------------------------------------------------
/data/img/terrain/desert_cliff_egypt_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/desert_cliff_egypt_2.png
--------------------------------------------------------------------------------
/data/img/terrain/desert_cliff_egypt_2_norm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/desert_cliff_egypt_2_norm.png
--------------------------------------------------------------------------------
/data/img/terrain/desert_cliff_egypt_2_spec.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/desert_cliff_egypt_2_spec.png
--------------------------------------------------------------------------------
/data/img/terrain/desert_lakebed_dry_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/desert_lakebed_dry_b.png
--------------------------------------------------------------------------------
/data/img/terrain/desert_lakebed_dry_b_norm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/desert_lakebed_dry_b_norm.png
--------------------------------------------------------------------------------
/data/img/terrain/desert_lakebed_dry_b_spec.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/desert_lakebed_dry_b_spec.png
--------------------------------------------------------------------------------
/data/img/terrain/desert_sand_smooth_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/desert_sand_smooth_b.png
--------------------------------------------------------------------------------
/data/img/terrain/desert_sand_smooth_b_norm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/desert_sand_smooth_b_norm.png
--------------------------------------------------------------------------------
/data/img/terrain/desert_sand_smooth_b_spec.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/desert_sand_smooth_b_spec.png
--------------------------------------------------------------------------------
/data/img/terrain/desert_sand_stones.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/desert_sand_stones.png
--------------------------------------------------------------------------------
/data/img/terrain/desert_sand_stones_norm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/desert_sand_stones_norm.png
--------------------------------------------------------------------------------
/data/img/terrain/desert_sand_stones_spec.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/desert_sand_stones_spec.png
--------------------------------------------------------------------------------
/data/img/terrain/dirt.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/dirt.jpg
--------------------------------------------------------------------------------
/data/img/terrain/dirt_normal.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/dirt_normal.jpg
--------------------------------------------------------------------------------
/data/img/terrain/forest.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/forest.jpg
--------------------------------------------------------------------------------
/data/img/terrain/forest_normal.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/forest_normal.jpg
--------------------------------------------------------------------------------
/data/img/terrain/grass.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/grass.jpg
--------------------------------------------------------------------------------
/data/img/terrain/grass_normal.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/grass_normal.jpg
--------------------------------------------------------------------------------
/data/img/terrain/rocks.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/rocks.jpg
--------------------------------------------------------------------------------
/data/img/terrain/rocks_normal.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/terrain/rocks_normal.jpg
--------------------------------------------------------------------------------
/data/img/testb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/testb.png
--------------------------------------------------------------------------------
/data/img/testc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/testc.png
--------------------------------------------------------------------------------
/data/img/testg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/testg.png
--------------------------------------------------------------------------------
/data/img/testp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/testp.png
--------------------------------------------------------------------------------
/data/img/testr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/testr.png
--------------------------------------------------------------------------------
/data/img/testw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/testw.png
--------------------------------------------------------------------------------
/data/img/testy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/testy.png
--------------------------------------------------------------------------------
/data/img/tree0_leaves.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/tree0_leaves.png
--------------------------------------------------------------------------------
/data/img/tree0_sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/tree0_sprite.png
--------------------------------------------------------------------------------
/data/img/tree0_trunk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/tree0_trunk.png
--------------------------------------------------------------------------------
/data/img/tree0_trunk_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/img/tree0_trunk_normal.png
--------------------------------------------------------------------------------
/data/moba/League_of_Sints_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/League_of_Sints_logo.png
--------------------------------------------------------------------------------
/data/moba/cliff_diffuse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/cliff_diffuse.png
--------------------------------------------------------------------------------
/data/moba/cliff_norm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/cliff_norm.png
--------------------------------------------------------------------------------
/data/moba/dire_tower_diffuse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/dire_tower_diffuse.png
--------------------------------------------------------------------------------
/data/moba/dire_tower_norm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/dire_tower_norm.png
--------------------------------------------------------------------------------
/data/moba/dirt_diffuse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/dirt_diffuse.png
--------------------------------------------------------------------------------
/data/moba/forest_diffuse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/forest_diffuse.png
--------------------------------------------------------------------------------
/data/moba/forest_norm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/forest_norm.png
--------------------------------------------------------------------------------
/data/moba/gift.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/gift.png
--------------------------------------------------------------------------------
/data/moba/grass_diffuse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/grass_diffuse.png
--------------------------------------------------------------------------------
/data/moba/grass_norm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/grass_norm.png
--------------------------------------------------------------------------------
/data/moba/map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/map.png
--------------------------------------------------------------------------------
/data/moba/map_attr_dirt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/map_attr_dirt.png
--------------------------------------------------------------------------------
/data/moba/map_attr_forest.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/map_attr_forest.png
--------------------------------------------------------------------------------
/data/moba/map_attr_tile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/map_attr_tile.png
--------------------------------------------------------------------------------
/data/moba/map_attributes.glsl:
--------------------------------------------------------------------------------
1 | #version 150
2 |
3 | precision highp float;
4 |
5 | uniform sampler2D source;
6 | uniform vec2 sourceInverseSize;
7 | uniform float mapScale;
8 |
9 | in vec2 tex;
10 | out vec4 colour;
11 |
12 | void main(void)
13 | {
14 | float height = texture(source, tex).x;
15 | float east = texture(source, tex + vec2(sourceInverseSize.x, 0.0f)).x;
16 | float west = texture(source, tex - vec2(sourceInverseSize.x, 0.0f)).x;
17 | float north = texture(source, tex + vec2(0.0f, sourceInverseSize.y)).x;
18 | float south = texture(source, tex - vec2(0.0f, sourceInverseSize.y)).x;
19 |
20 | vec3 normal = normalize(vec3(west - east, mapScale, south - north));
21 |
22 | float slope = 1.0f - normal.y;
23 | float type = 0.0f;
24 |
25 | if (slope > 0.1f)
26 | {
27 | type = 0.0f;
28 | }
29 | else
30 | {
31 | type = 2.0f;
32 | }
33 |
34 | colour = vec4(type/255.0f, 0.0f, 0.0f, 0.0f);
35 | }
36 |
--------------------------------------------------------------------------------
/data/moba/pine_diffuse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/pine_diffuse.png
--------------------------------------------------------------------------------
/data/moba/pine_sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/pine_sprite.png
--------------------------------------------------------------------------------
/data/moba/radiant_tower_diffuse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/radiant_tower_diffuse.png
--------------------------------------------------------------------------------
/data/moba/radiant_tower_norm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/radiant_tower_norm.png
--------------------------------------------------------------------------------
/data/moba/sky.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/sky.png
--------------------------------------------------------------------------------
/data/moba/tile_diffuse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/tile_diffuse.png
--------------------------------------------------------------------------------
/data/moba/tile_norm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/tile_norm.png
--------------------------------------------------------------------------------
/data/moba/wolf_diffuse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BasFaggingerAuer/tiny-game-engine/922f407f065e9e691f0b71f35355118330f6180a/data/moba/wolf_diffuse.png
--------------------------------------------------------------------------------
/data/shader/desert.glsl:
--------------------------------------------------------------------------------
1 | #version 150
2 |
3 | precision highp float;
4 |
5 | uniform sampler2D source;
6 | uniform vec2 sourceInverseSize;
7 | uniform float mapScale;
8 |
9 | in vec2 tex;
10 | out vec4 colour;
11 |
12 | void main(void)
13 | {
14 | float height = texture(source, tex).x;
15 | float east = texture(source, tex + vec2(sourceInverseSize.x, 0.0f)).x;
16 | float west = texture(source, tex - vec2(sourceInverseSize.x, 0.0f)).x;
17 | float north = texture(source, tex + vec2(0.0f, sourceInverseSize.y)).x;
18 | float south = texture(source, tex - vec2(0.0f, sourceInverseSize.y)).x;
19 |
20 | vec3 normal = normalize(vec3(west - east, mapScale, south - north));
21 |
22 | float slope = 1.0f - normal.y;
23 | float type = 0.0f;
24 |
25 | if (slope > 0.5f)
26 | {
27 | type = 3.0f;
28 | }
29 | else if (slope > 0.1f)
30 | {
31 | type = 2.0f;
32 | }
33 | else if (slope > 0.05f || height > 10.0f)
34 | {
35 | type = 1.0f;
36 | }
37 | else
38 | {
39 | type = 0.0f;
40 | }
41 |
42 | colour = vec4(type/255.0f, 0.0f, 0.0f, 0.0f);
43 | }
44 |
--------------------------------------------------------------------------------
/data/shader/temperate.glsl:
--------------------------------------------------------------------------------
1 | #version 150
2 |
3 | precision highp float;
4 |
5 | uniform sampler2D source;
6 | uniform vec2 sourceInverseSize;
7 | uniform float mapScale;
8 |
9 | in vec2 tex;
10 | out vec4 colour;
11 |
12 | void main(void)
13 | {
14 | float height = texture(source, tex).x;
15 | float east = texture(source, tex + vec2(sourceInverseSize.x, 0.0f)).x;
16 | float west = texture(source, tex - vec2(sourceInverseSize.x, 0.0f)).x;
17 | float north = texture(source, tex + vec2(0.0f, sourceInverseSize.y)).x;
18 | float south = texture(source, tex - vec2(0.0f, sourceInverseSize.y)).x;
19 |
20 | vec3 normal = normalize(vec3(west - east, mapScale, south - north));
21 |
22 | float slope = 1.0f - normal.y;
23 | float forestFrac = clamp(max(0.0f, 1.0f - 9.0f*slope)*max(0.0f, 1.0f - 0.1f*(height - 450.0f)), 0.0f, 1.0f);
24 | float grassFrac = (1.0f - forestFrac)*clamp(max(0.0f, 1.0f - 7.0f*slope)*max(0.0f, 1.0f - 0.1f*(height - 1200.0f)), 0.0f, 1.0f);
25 | float mudFrac = (1.0f - grassFrac - forestFrac)*clamp(max(0.0f, 1.0f - 1.0f*slope), 0.0f, 1.0f);
26 | float rockFrac = 1.0f - forestFrac - grassFrac - mudFrac;
27 |
28 | colour = vec4(0.0f);
29 | colour.x = (0.0f*forestFrac + 1.0f*grassFrac + 2.0f*mudFrac + 3.0f*rockFrac)/255.0f;
30 | }
31 |
--------------------------------------------------------------------------------
/data/tanks.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/doc/manual.bib:
--------------------------------------------------------------------------------
1 | @InProceedings{Oren1994,
2 | author = {M. Oren and S.K. Nayar},
3 | title = {{G}eneralization of {L}ambert's {R}eflectance {M}odel},
4 | booktitle = {ACM 21st Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH)},
5 | pages = {239--246},
6 | month = {Jul},
7 | year = {1994}
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/moba/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | find_package(TinyXML REQUIRED)
2 |
3 | include_directories(${OPENGL_INCLUDE_DIR})
4 | link_directories(${OPENGL_LIBRARY_DIR})
5 | include_directories(${GLEW_INCLUDE_DIR})
6 | link_directories(${GLEW_LIBRARY_DIR})
7 | include_directories(${OPENAL_INCLUDE_DIR})
8 | include_directories(${OGGVORBIS_INCLUDE_DIR})
9 | include_directories(${ASSIMP_INCLUDE_DIR})
10 | link_directories(${ASSIMP_LIBRARY_DIR})
11 | include_directories(${SDL2_INCLUDE_DIRS})
12 | link_directories(${SDL2_LIBRARY_DIRS})
13 | include_directories(${SDL2_IMAGE_INCLUDE_DIRS})
14 | link_directories(${SDL2_IMAGE_LIBRARY_DIRS})
15 | include_directories(${SDL2_TTF_INCLUDE_DIRS})
16 | link_directories(${SDL2_TTF_LIBRARY_DIRS})
17 | include_directories(${SDL2_NET_INCLUDE_DIRS})
18 | link_directories(${SDL2_NET_LIBRARY_DIRS})
19 | include_directories(${TINYXML_INCLUDE_DIR})
20 | link_directories(${TINYXML_LIBRARY_DIR})
21 | include_directories(${TINY_SOURCE_DIR})
22 | include_directories(${TINY_BINARY_DIR})
23 |
24 | set(MOBA_LIBS
25 | tinygame
26 | ${ASSIMP_LIBRARIES}
27 | ${OPENGL_LIBRARY}
28 | ${GLEW_LIBRARY}
29 | ${OPENAL_LIBRARY}
30 | ${OGGVORBIS_LIBRARIES}
31 | ${SDL2_LIBRARIES}
32 | ${SDL2IMAGE_LIBRARIES}
33 | ${SDL2TTF_LIBRARIES}
34 | ${SDL2NET_LIBRARIES}
35 | ${TINYXML_LIBRARIES})
36 |
37 | add_executable(moba src/moba.cpp
38 | src/terrain.cpp
39 | src/forest.cpp
40 | src/minion_type.cpp
41 | src/faction.cpp
42 | src/game.cpp)
43 |
44 | target_link_libraries(moba ${MOBA_LIBS})
45 |
46 |
--------------------------------------------------------------------------------
/moba/src/faction.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2012, Bas Fagginger Auer.
3 |
4 | This program is free software: you can redistribute it and/or modify
5 | it under the terms of the GNU General Public License as published by
6 | the Free Software Foundation, either version 3 of the License, or
7 | (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program. If not, see .
16 | */
17 | #pragma once
18 |
19 | #include
20 | #include
21 |
22 | #include
23 |
24 | #include
25 | #include
26 | #include
27 | #include
28 | #include
29 |
30 | #include "terrain.h"
31 |
32 | namespace moba
33 | {
34 |
35 | class MinionSpawner
36 | {
37 | public:
38 | MinionSpawner(const std::string &, TiXmlElement *);
39 | ~MinionSpawner();
40 |
41 | std::string minionType;
42 | std::string pathName;
43 | int nrSpawn;
44 | float radius;
45 | float cooldownTime;
46 | float currentTime;
47 | };
48 |
49 | class Faction
50 | {
51 | public:
52 | Faction(const std::string &, TiXmlElement *);
53 | ~Faction();
54 |
55 | std::list plantBuildings(const GameTerrain *terrain);
56 |
57 | std::string name;
58 |
59 | float nexusScale;
60 | float nexusRadius;
61 | tiny::vec4 nexusPosition;
62 | tiny::draw::StaticMeshHorde *nexusMesh;
63 | tiny::draw::RGBATexture2D *nexusDiffuseTexture;
64 | tiny::draw::RGBATexture2D *nexusNormalTexture;
65 |
66 | float towerScale;
67 | float towerRadius;
68 | std::list towerPositions;
69 | tiny::draw::StaticMeshHorde *towerMeshes;
70 | tiny::draw::RGBATexture2D *towerDiffuseTexture;
71 | tiny::draw::RGBATexture2D *towerNormalTexture;
72 |
73 | std::list minionSpawners;
74 | };
75 |
76 | } //namespace moba
77 |
78 |
--------------------------------------------------------------------------------
/moba/src/forest.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2012, Bas Fagginger Auer.
3 |
4 | This program is free software: you can redistribute it and/or modify
5 | it under the terms of the GNU General Public License as published by
6 | the Free Software Foundation, either version 3 of the License, or
7 | (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program. If not, see .
16 | */
17 | #pragma once
18 |
19 | #include
20 | #include
21 | #include
22 |
23 | #include
24 |
25 | #include
26 | #include
27 | #include
28 | #include
29 |
30 | #include
31 |
32 | #include "terrain.h"
33 |
34 | namespace moba
35 | {
36 |
37 | class GameForest
38 | {
39 | public:
40 | GameForest(const std::string &, TiXmlElement *);
41 | ~GameForest();
42 |
43 | std::list plantTrees(const GameTerrain *terrain);
44 | void setCameraPosition(const tiny::vec3 &);
45 |
46 | tiny::draw::StaticMeshHorde *treeMeshes;
47 | tiny::draw::WorldIconHorde *treeSprites;
48 |
49 | private:
50 | int nrPlantedTrees;
51 | int maxNrHighDetailTrees;
52 | int maxNrLowDetailTrees;
53 | int biomeIndex;
54 | float collisionRadius;
55 | float treeHighDetailRadius;
56 | float treeLowDetailRadius;
57 |
58 | tiny::lod::Quadtree *quadtree;
59 |
60 | tiny::draw::RGBATexture2D *treeDiffuseTexture;
61 | tiny::draw::RGBATexture2D *treeSpriteTexture;
62 | tiny::vec2 treeSpriteSize;
63 |
64 | std::vector allTreeHighDetailInstances;
65 | std::vector allTreeLowDetailInstances;
66 |
67 | std::vector visibleTreeInstanceIndices;
68 | std::vector visibleTreeHighDetailInstances;
69 | std::vector visibleTreeLowDetailInstances;
70 |
71 | std::vector treePositions;
72 | };
73 |
74 | } //namespace moba
75 |
76 |
--------------------------------------------------------------------------------
/moba/src/minion_type.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2012, Bas Fagginger Auer.
3 |
4 | This program is free software: you can redistribute it and/or modify
5 | it under the terms of the GNU General Public License as published by
6 | the Free Software Foundation, either version 3 of the License, or
7 | (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program. If not, see .
16 | */
17 | #pragma once
18 |
19 | #include
20 | #include
21 |
22 | #include
23 |
24 | #include
25 | #include
26 | #include
27 |
28 | #include "terrain.h"
29 |
30 | namespace moba
31 | {
32 |
33 | class MinionType
34 | {
35 | public:
36 | MinionType(const std::string &, TiXmlElement *);
37 | ~MinionType();
38 |
39 | void updateInstances();
40 |
41 | std::string name;
42 |
43 | float maxSpeed;
44 | float radius;
45 |
46 | int maxNrInstances;
47 | tiny::mesh::AnimatedMesh mesh;
48 | tiny::draw::RGBTexture2D *diffuseTexture;
49 | tiny::draw::RGBTexture2D *normalTexture;
50 | tiny::draw::AnimationTextureBuffer *animationTexture;
51 | tiny::draw::AnimatedMeshHorde *horde;
52 |
53 | std::list instances;
54 | };
55 |
56 | class MinionPath
57 | {
58 | public:
59 | MinionPath(const std::string &, TiXmlElement *);
60 | ~MinionPath();
61 |
62 | void plantNodes(const GameTerrain *);
63 |
64 | std::string name;
65 | std::vector nodes;
66 | };
67 |
68 | class Minion
69 | {
70 | public:
71 | Minion(const std::string &, const std::string &, const tiny::vec2 &);
72 | ~Minion();
73 |
74 | std::string name;
75 | std::string type;
76 |
77 | std::string path;
78 | unsigned int pathIndex;
79 |
80 | tiny::vec2 pos;
81 | float angle;
82 |
83 | std::string action;
84 | float actionTime;
85 | };
86 |
87 | } //namespace moba
88 |
89 |
--------------------------------------------------------------------------------
/moba/src/moba.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2015, Bas Fagginger Auer.
3 |
4 | This program is free software: you can redistribute it and/or modify
5 | it under the terms of the GNU General Public License as published by
6 | the Free Software Foundation, either version 3 of the License, or
7 | (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program. If not, see .
16 | */
17 | #include
18 | #include
19 | #include