├── .gitignore ├── JPS - Handout ├── Game │ ├── EasyHook32.dll │ ├── JPS - Solution.exe │ ├── ProfilerCore32.dll │ ├── SDL2.dll │ ├── SDL2_image.dll │ ├── SDL2_mixer.dll │ ├── SDL2_ttf.dll │ ├── config.xml │ ├── fonts │ │ ├── molot │ │ │ └── Molot.OTF │ │ ├── open_sans │ │ │ ├── LICENSE.txt │ │ │ ├── OpenSans-Bold.ttf │ │ │ ├── OpenSans-BoldItalic.ttf │ │ │ ├── OpenSans-ExtraBold.ttf │ │ │ ├── OpenSans-ExtraBoldItalic.ttf │ │ │ ├── OpenSans-Italic.ttf │ │ │ ├── OpenSans-Light.ttf │ │ │ ├── OpenSans-LightItalic.ttf │ │ │ ├── OpenSans-Regular.ttf │ │ │ ├── OpenSans-Semibold.ttf │ │ │ └── OpenSans-SemiboldItalic.ttf │ │ └── russian │ │ │ └── Russian.TTF │ ├── libFLAC-8.dll │ ├── libfreetype-6.dll │ ├── libjpeg-9.dll │ ├── libmikmod-2.dll │ ├── libmodplug-1.dll │ ├── libogg-0.dll │ ├── libpng16-16.dll │ ├── libtiff-5.dll │ ├── libvorbis-0.dll │ ├── libvorbisfile-3.dll │ ├── libwebp-4.dll │ ├── maps │ │ ├── Tileset_Terrain.png │ │ ├── iso.tmx │ │ ├── iso_walk.tmx │ │ ├── isometric_grass_and_water.png │ │ ├── meta2.png │ │ └── path2.png │ ├── smpeg2.dll │ └── zlib1.dll ├── JumpPointSearch.sln └── Motor2D │ ├── Fonts.cpp │ ├── Fonts.h │ ├── Motor2D.vcxproj │ ├── Motor2D.vcxproj.filters │ ├── PugiXml │ ├── readme.txt │ └── src │ │ ├── pugiconfig.hpp │ │ ├── pugixml.cpp │ │ └── pugixml.hpp │ ├── SDL │ ├── BUGS.txt │ ├── COPYING.txt │ ├── README-SDL.txt │ ├── README.txt │ ├── WhatsNew.txt │ ├── include │ │ ├── SDL.h │ │ ├── SDL_assert.h │ │ ├── SDL_atomic.h │ │ ├── SDL_audio.h │ │ ├── SDL_bits.h │ │ ├── SDL_blendmode.h │ │ ├── SDL_clipboard.h │ │ ├── SDL_config.h │ │ ├── SDL_cpuinfo.h │ │ ├── SDL_egl.h │ │ ├── SDL_endian.h │ │ ├── SDL_error.h │ │ ├── SDL_events.h │ │ ├── SDL_filesystem.h │ │ ├── SDL_gamecontroller.h │ │ ├── SDL_gesture.h │ │ ├── SDL_haptic.h │ │ ├── SDL_hints.h │ │ ├── SDL_joystick.h │ │ ├── SDL_keyboard.h │ │ ├── SDL_keycode.h │ │ ├── SDL_loadso.h │ │ ├── SDL_log.h │ │ ├── SDL_main.h │ │ ├── SDL_messagebox.h │ │ ├── SDL_mouse.h │ │ ├── SDL_mutex.h │ │ ├── SDL_name.h │ │ ├── SDL_opengl.h │ │ ├── SDL_opengl_glext.h │ │ ├── SDL_opengles.h │ │ ├── SDL_opengles2.h │ │ ├── SDL_opengles2_gl2.h │ │ ├── SDL_opengles2_gl2ext.h │ │ ├── SDL_opengles2_gl2platform.h │ │ ├── SDL_opengles2_khrplatform.h │ │ ├── SDL_pixels.h │ │ ├── SDL_platform.h │ │ ├── SDL_power.h │ │ ├── SDL_quit.h │ │ ├── SDL_rect.h │ │ ├── SDL_render.h │ │ ├── SDL_revision.h │ │ ├── SDL_rwops.h │ │ ├── SDL_scancode.h │ │ ├── SDL_shape.h │ │ ├── SDL_stdinc.h │ │ ├── SDL_surface.h │ │ ├── SDL_system.h │ │ ├── SDL_syswm.h │ │ ├── SDL_test.h │ │ ├── SDL_test_assert.h │ │ ├── SDL_test_common.h │ │ ├── SDL_test_compare.h │ │ ├── SDL_test_crc32.h │ │ ├── SDL_test_font.h │ │ ├── SDL_test_fuzzer.h │ │ ├── SDL_test_harness.h │ │ ├── SDL_test_images.h │ │ ├── SDL_test_log.h │ │ ├── SDL_test_md5.h │ │ ├── SDL_test_random.h │ │ ├── SDL_thread.h │ │ ├── SDL_timer.h │ │ ├── SDL_touch.h │ │ ├── SDL_types.h │ │ ├── SDL_version.h │ │ ├── SDL_video.h │ │ ├── begin_code.h │ │ └── close_code.h │ └── libx86 │ │ ├── SDL2.lib │ │ └── SDL2main.lib │ ├── SDL_image │ ├── CHANGES.txt │ ├── COPYING.txt │ ├── README.txt │ ├── include │ │ └── SDL_image.h │ └── libx86 │ │ └── SDL2_image.lib │ ├── SDL_mixer │ ├── CHANGES.txt │ ├── COPYING.txt │ ├── README.txt │ ├── include │ │ └── SDL_mixer.h │ └── libx86 │ │ └── SDL2_mixer.lib │ ├── SDL_ttf │ ├── CHANGES.txt │ ├── COPYING.txt │ ├── README.txt │ ├── include │ │ └── SDL_ttf.h │ └── libx86 │ │ └── SDL2_ttf.lib │ ├── j1App.cpp │ ├── j1App.h │ ├── j1Input.cpp │ ├── j1Input.h │ ├── j1Main.cpp │ ├── j1Map.cpp │ ├── j1Map.h │ ├── j1Module.h │ ├── j1Pathfinding.cpp │ ├── j1Pathfinding.h │ ├── j1PerfTimer.cpp │ ├── j1PerfTimer.h │ ├── j1Render.cpp │ ├── j1Render.h │ ├── j1Scene.cpp │ ├── j1Scene.h │ ├── j1Textures.cpp │ ├── j1Textures.h │ ├── j1Timer.cpp │ ├── j1Timer.h │ ├── j1Window.cpp │ ├── j1Window.h │ ├── p2Defs.h │ ├── p2Log.cpp │ ├── p2Log.h │ ├── p2PQueue.h │ └── p2Point.h ├── JPS - Solution ├── Game │ ├── EasyHook32.dll │ ├── JPS.exe │ ├── ProfilerCore32.dll │ ├── SDL2.dll │ ├── SDL2_image.dll │ ├── SDL2_mixer.dll │ ├── SDL2_ttf.dll │ ├── config.xml │ ├── fonts │ │ ├── molot │ │ │ └── Molot.OTF │ │ ├── open_sans │ │ │ ├── LICENSE.txt │ │ │ ├── OpenSans-Bold.ttf │ │ │ ├── OpenSans-BoldItalic.ttf │ │ │ ├── OpenSans-ExtraBold.ttf │ │ │ ├── OpenSans-ExtraBoldItalic.ttf │ │ │ ├── OpenSans-Italic.ttf │ │ │ ├── OpenSans-Light.ttf │ │ │ ├── OpenSans-LightItalic.ttf │ │ │ ├── OpenSans-Regular.ttf │ │ │ ├── OpenSans-Semibold.ttf │ │ │ └── OpenSans-SemiboldItalic.ttf │ │ └── russian │ │ │ └── Russian.TTF │ ├── libFLAC-8.dll │ ├── libfreetype-6.dll │ ├── libjpeg-9.dll │ ├── libmikmod-2.dll │ ├── libmodplug-1.dll │ ├── libogg-0.dll │ ├── libpng16-16.dll │ ├── libtiff-5.dll │ ├── libvorbis-0.dll │ ├── libvorbisfile-3.dll │ ├── libwebp-4.dll │ ├── maps │ │ ├── Tileset_Terrain.png │ │ ├── iso.tmx │ │ ├── iso_walk.tmx │ │ ├── isometric_grass_and_water.png │ │ ├── meta2.png │ │ └── path2.png │ ├── smpeg2.dll │ └── zlib1.dll ├── JumpPointSearch.sln └── Motor2D │ ├── Fonts.cpp │ ├── Fonts.h │ ├── Motor2D.vcxproj │ ├── Motor2D.vcxproj.filters │ ├── PugiXml │ ├── readme.txt │ └── src │ │ ├── pugiconfig.hpp │ │ ├── pugixml.cpp │ │ └── pugixml.hpp │ ├── SDL │ ├── BUGS.txt │ ├── COPYING.txt │ ├── README-SDL.txt │ ├── README.txt │ ├── WhatsNew.txt │ ├── include │ │ ├── SDL.h │ │ ├── SDL_assert.h │ │ ├── SDL_atomic.h │ │ ├── SDL_audio.h │ │ ├── SDL_bits.h │ │ ├── SDL_blendmode.h │ │ ├── SDL_clipboard.h │ │ ├── SDL_config.h │ │ ├── SDL_cpuinfo.h │ │ ├── SDL_egl.h │ │ ├── SDL_endian.h │ │ ├── SDL_error.h │ │ ├── SDL_events.h │ │ ├── SDL_filesystem.h │ │ ├── SDL_gamecontroller.h │ │ ├── SDL_gesture.h │ │ ├── SDL_haptic.h │ │ ├── SDL_hints.h │ │ ├── SDL_joystick.h │ │ ├── SDL_keyboard.h │ │ ├── SDL_keycode.h │ │ ├── SDL_loadso.h │ │ ├── SDL_log.h │ │ ├── SDL_main.h │ │ ├── SDL_messagebox.h │ │ ├── SDL_mouse.h │ │ ├── SDL_mutex.h │ │ ├── SDL_name.h │ │ ├── SDL_opengl.h │ │ ├── SDL_opengl_glext.h │ │ ├── SDL_opengles.h │ │ ├── SDL_opengles2.h │ │ ├── SDL_opengles2_gl2.h │ │ ├── SDL_opengles2_gl2ext.h │ │ ├── SDL_opengles2_gl2platform.h │ │ ├── SDL_opengles2_khrplatform.h │ │ ├── SDL_pixels.h │ │ ├── SDL_platform.h │ │ ├── SDL_power.h │ │ ├── SDL_quit.h │ │ ├── SDL_rect.h │ │ ├── SDL_render.h │ │ ├── SDL_revision.h │ │ ├── SDL_rwops.h │ │ ├── SDL_scancode.h │ │ ├── SDL_shape.h │ │ ├── SDL_stdinc.h │ │ ├── SDL_surface.h │ │ ├── SDL_system.h │ │ ├── SDL_syswm.h │ │ ├── SDL_test.h │ │ ├── SDL_test_assert.h │ │ ├── SDL_test_common.h │ │ ├── SDL_test_compare.h │ │ ├── SDL_test_crc32.h │ │ ├── SDL_test_font.h │ │ ├── SDL_test_fuzzer.h │ │ ├── SDL_test_harness.h │ │ ├── SDL_test_images.h │ │ ├── SDL_test_log.h │ │ ├── SDL_test_md5.h │ │ ├── SDL_test_random.h │ │ ├── SDL_thread.h │ │ ├── SDL_timer.h │ │ ├── SDL_touch.h │ │ ├── SDL_types.h │ │ ├── SDL_version.h │ │ ├── SDL_video.h │ │ ├── begin_code.h │ │ └── close_code.h │ └── libx86 │ │ ├── SDL2.lib │ │ └── SDL2main.lib │ ├── SDL_image │ ├── CHANGES.txt │ ├── COPYING.txt │ ├── README.txt │ ├── include │ │ └── SDL_image.h │ └── libx86 │ │ └── SDL2_image.lib │ ├── SDL_mixer │ ├── CHANGES.txt │ ├── COPYING.txt │ ├── README.txt │ ├── include │ │ └── SDL_mixer.h │ └── libx86 │ │ └── SDL2_mixer.lib │ ├── SDL_ttf │ ├── CHANGES.txt │ ├── COPYING.txt │ ├── README.txt │ ├── include │ │ └── SDL_ttf.h │ └── libx86 │ │ └── SDL2_ttf.lib │ ├── j1App.cpp │ ├── j1App.h │ ├── j1Input.cpp │ ├── j1Input.h │ ├── j1Main.cpp │ ├── j1Map.cpp │ ├── j1Map.h │ ├── j1Module.h │ ├── j1Pathfinding.cpp │ ├── j1Pathfinding.h │ ├── j1PerfTimer.cpp │ ├── j1PerfTimer.h │ ├── j1Render.cpp │ ├── j1Render.h │ ├── j1Scene.cpp │ ├── j1Scene.h │ ├── j1Textures.cpp │ ├── j1Textures.h │ ├── j1Timer.cpp │ ├── j1Timer.h │ ├── j1Window.cpp │ ├── j1Window.h │ ├── p2Defs.h │ ├── p2Log.cpp │ ├── p2Log.h │ ├── p2PQueue.h │ └── p2Point.h ├── LICENSE ├── README.md └── docs ├── Images ├── Alain_Benoit_HierarchicalDynamicPathfinding.pdf ├── Astar Trap1.png ├── Astar Trap2.png ├── D.jpg ├── DLite.png ├── Mars1.jpeg ├── WALLE.jpeg ├── angle.png ├── angledpath.png ├── austronauteMARS.jpg ├── bostondynamics-640x353.jpg ├── generalpathfinding.png ├── haa │ ├── haa1.PNG │ ├── haa2.PNG │ ├── haa3.PNG │ ├── haa4.PNG │ ├── haa5.PNG │ ├── haa6.PNG │ └── haa7.PNG ├── hierarchy.jpg ├── hierarchyPF1.png ├── hierarchyPF2.png ├── hierarchyPF3.png ├── hpa │ └── grid-hierarchy.png ├── incremental.jpg ├── iuWB2NM48R2r9q7QhyJfhe-320-80.jpg ├── jps │ ├── 184850-425x283-man-pruning-trees.jpg │ ├── AlgoritmosConcurso.PNG │ ├── Implementation │ │ ├── diagonal1.png │ │ ├── diagonal2.png │ │ ├── explanation │ │ │ ├── todo1EXP.PNG │ │ │ ├── todo234EXP.PNG │ │ │ └── todo5EXP.PNG │ │ ├── hor1.png │ │ ├── hor2.png │ │ ├── pathfindings.PNG │ │ ├── todosResults │ │ │ ├── todo4result.PNG │ │ │ ├── todo4resultjps.PNG │ │ │ ├── todo4resultjps2.PNG │ │ │ ├── todo5RES-As.PNG │ │ │ ├── todo5RES.PNG │ │ │ ├── todo5RES2-As.PNG │ │ │ ├── todo5RES2.PNG │ │ │ ├── todo6result.PNG │ │ │ └── todo6resultjps.PNG │ │ ├── todosSolutions │ │ │ ├── todo1.PNG │ │ │ ├── todo234.PNG │ │ │ ├── todo5.PNG │ │ │ └── todo6.PNG │ │ ├── vert1.png │ │ └── vert2.png │ ├── JPSresults1H.PNG │ ├── JPSresults2H.PNG │ ├── JPSresults3H.PNG │ ├── explanationJPS1.jpg │ ├── healthy-tree-trimming-texas.jpg │ ├── jps1.PNG │ ├── jpsPruning.PNG │ ├── pathSymmetries.PNG │ ├── pathSymmetries2.PNG │ ├── performanceTests │ │ ├── deb │ │ │ ├── pt1AS.PNG │ │ │ ├── pt1JPS.PNG │ │ │ ├── pt2AS.PNG │ │ │ ├── pt2JPS.PNG │ │ │ ├── pt3AS.PNG │ │ │ └── pt3JPS.PNG │ │ └── rel │ │ │ ├── bigmap │ │ │ ├── PT1AS.PNG │ │ │ ├── PT1JP.PNG │ │ │ ├── PT2AS.PNG │ │ │ └── PT2JP.PNG │ │ │ ├── pt1AS.PNG │ │ │ ├── pt1JPS.PNG │ │ │ ├── pt2AS.PNG │ │ │ ├── pt2JPS.PNG │ │ │ ├── pt3AS.PNG │ │ │ └── pt3JPS.PNG │ ├── rsr.png │ └── tree-pruning.jpg ├── love.jpg ├── lpa.png ├── movingtargetGIF.gif ├── other games │ ├── Castle Story │ │ ├── hierarcy1.PNG │ │ ├── hierarcy2.PNG │ │ ├── hierarcy3.PNG │ │ ├── hierarcy4.PNG │ │ ├── hierarcy5.PNG │ │ ├── hierarcy6.PNG │ │ ├── hierarcy7.PNG │ │ └── hierarcy8.PNG │ ├── HotM │ │ ├── AbstractGraphSol.png │ │ ├── DAOAbstractGraph.png │ │ ├── DAOLevelsAbs.png │ │ ├── LowLevelSolution.png │ │ ├── NavMesh.png │ │ ├── NavMeshintoClusters.png │ │ └── NodesofNavMesh.png │ ├── Killzone │ │ ├── killzone1.PNG │ │ ├── killzone2.PNG │ │ ├── killzone3.PNG │ │ ├── killzone4.PNG │ │ ├── killzone5.PNG │ │ ├── killzone6.PNG │ │ └── killzone7.PNG │ ├── companyofheroes.jpg │ ├── dawnofwar.jpg │ ├── professor-lupo-and-his-horrible-pets-2017118121656_1.jpg │ ├── starcraftTriangulation.png │ └── supernauts.jpg ├── robotPATH.png ├── robotpath.jpg ├── thetavsa.png ├── thetavslazytheta.png ├── thetavslazytheta2.png └── unity.jpg ├── LANoirePathfindingFAIL.mp4 ├── README.md └── _config.yml /JPS - Handout/Game/EasyHook32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/EasyHook32.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/JPS - Solution.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/JPS - Solution.exe -------------------------------------------------------------------------------- /JPS - Handout/Game/ProfilerCore32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/ProfilerCore32.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/SDL2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/SDL2.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/SDL2_image.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/SDL2_image.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/SDL2_mixer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/SDL2_mixer.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/SDL2_ttf.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/SDL2_ttf.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | JPS - AStar Optimizations 6 | UPC/Project II - Lucho Suaya 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | data.zip 23 | 24 | 25 | 26 | maps/ 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /JPS - Handout/Game/fonts/molot/Molot.OTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/fonts/molot/Molot.OTF -------------------------------------------------------------------------------- /JPS - Handout/Game/fonts/open_sans/OpenSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/fonts/open_sans/OpenSans-Bold.ttf -------------------------------------------------------------------------------- /JPS - Handout/Game/fonts/open_sans/OpenSans-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/fonts/open_sans/OpenSans-BoldItalic.ttf -------------------------------------------------------------------------------- /JPS - Handout/Game/fonts/open_sans/OpenSans-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/fonts/open_sans/OpenSans-ExtraBold.ttf -------------------------------------------------------------------------------- /JPS - Handout/Game/fonts/open_sans/OpenSans-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/fonts/open_sans/OpenSans-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /JPS - Handout/Game/fonts/open_sans/OpenSans-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/fonts/open_sans/OpenSans-Italic.ttf -------------------------------------------------------------------------------- /JPS - Handout/Game/fonts/open_sans/OpenSans-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/fonts/open_sans/OpenSans-Light.ttf -------------------------------------------------------------------------------- /JPS - Handout/Game/fonts/open_sans/OpenSans-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/fonts/open_sans/OpenSans-LightItalic.ttf -------------------------------------------------------------------------------- /JPS - Handout/Game/fonts/open_sans/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/fonts/open_sans/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /JPS - Handout/Game/fonts/open_sans/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/fonts/open_sans/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /JPS - Handout/Game/fonts/open_sans/OpenSans-SemiboldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/fonts/open_sans/OpenSans-SemiboldItalic.ttf -------------------------------------------------------------------------------- /JPS - Handout/Game/fonts/russian/Russian.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/fonts/russian/Russian.TTF -------------------------------------------------------------------------------- /JPS - Handout/Game/libFLAC-8.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/libFLAC-8.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/libfreetype-6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/libfreetype-6.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/libjpeg-9.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/libjpeg-9.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/libmikmod-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/libmikmod-2.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/libmodplug-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/libmodplug-1.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/libogg-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/libogg-0.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/libpng16-16.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/libpng16-16.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/libtiff-5.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/libtiff-5.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/libvorbis-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/libvorbis-0.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/libvorbisfile-3.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/libvorbisfile-3.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/libwebp-4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/libwebp-4.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/maps/Tileset_Terrain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/maps/Tileset_Terrain.png -------------------------------------------------------------------------------- /JPS - Handout/Game/maps/isometric_grass_and_water.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/maps/isometric_grass_and_water.png -------------------------------------------------------------------------------- /JPS - Handout/Game/maps/meta2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/maps/meta2.png -------------------------------------------------------------------------------- /JPS - Handout/Game/maps/path2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/maps/path2.png -------------------------------------------------------------------------------- /JPS - Handout/Game/smpeg2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/smpeg2.dll -------------------------------------------------------------------------------- /JPS - Handout/Game/zlib1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Game/zlib1.dll -------------------------------------------------------------------------------- /JPS - Handout/JumpPointSearch.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Express 2013 for Windows Desktop 4 | VisualStudioVersion = 12.0.31101.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Motor 2D", "Motor2D\Motor2D.vcxproj", "{2AF9969B-F202-497B-AF30-7BEF9CE8005E}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Release|Win32 = Release|Win32 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {2AF9969B-F202-497B-AF30-7BEF9CE8005E}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {2AF9969B-F202-497B-AF30-7BEF9CE8005E}.Debug|Win32.Build.0 = Debug|Win32 16 | {2AF9969B-F202-497B-AF30-7BEF9CE8005E}.Release|Win32.ActiveCfg = Release|Win32 17 | {2AF9969B-F202-497B-AF30-7BEF9CE8005E}.Release|Win32.Build.0 = Release|Win32 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/Fonts.h: -------------------------------------------------------------------------------- 1 | #ifndef FONTS_H 2 | #define FONTS_H 3 | 4 | #include "j1Module.h" 5 | #include "SDL\include\SDL_pixels.h" 6 | 7 | #define DEFAULT_FONT_PATH "fonts/open_sans/OpenSans-Regular.ttf" 8 | #define DEFAULT_FONT_SIZE 6 9 | #define DEFAULT_FONT_COLOR { 255, 255, 255, 255 } 10 | 11 | struct SDL_Texture; 12 | struct _TTF_Font; 13 | 14 | enum class font_id { 15 | 16 | DEFAULT, 17 | 18 | MAX_FONTS 19 | }; 20 | 21 | struct text_font { 22 | 23 | font_id id; 24 | std::string path; 25 | int size; 26 | _TTF_Font* fontPtr; 27 | }; 28 | 29 | class Fonts : public j1Module 30 | { 31 | public: 32 | 33 | Fonts(); 34 | 35 | // Destructor 36 | virtual ~Fonts(); 37 | 38 | // Called before render is available 39 | bool Awake(pugi::xml_node&); 40 | 41 | // Called before quitting 42 | bool CleanUp(); 43 | 44 | // Load Font 45 | _TTF_Font* const Load(const char* path, int size); 46 | 47 | // Create a surface from text 48 | SDL_Texture* Print(const char* text, SDL_Color color = DEFAULT_FONT_COLOR, _TTF_Font* font = NULL); 49 | 50 | bool CalcSize(const char* text, int& width, int& height, _TTF_Font* font = NULL) const; 51 | 52 | public: 53 | 54 | text_font* fontsList[(int)font_id::MAX_FONTS]; 55 | _TTF_Font* defaultFont = nullptr; 56 | 57 | }; 58 | 59 | 60 | #endif // FONTS_H -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/PugiXml/readme.txt: -------------------------------------------------------------------------------- 1 | pugixml 1.6 - an XML processing library 2 | 3 | Copyright (C) 2006-2015, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com) 4 | Report bugs and download new versions at http://pugixml.org/ 5 | 6 | This is the distribution of pugixml, which is a C++ XML processing library, 7 | which consists of a DOM-like interface with rich traversal/modification 8 | capabilities, an extremely fast XML parser which constructs the DOM tree from 9 | an XML file/buffer, and an XPath 1.0 implementation for complex data-driven 10 | tree queries. Full Unicode support is also available, with Unicode interface 11 | variants and conversions between different Unicode encodings (which happen 12 | automatically during parsing/saving). 13 | 14 | The distribution contains the following folders: 15 | 16 | contrib/ - various contributions to pugixml 17 | 18 | docs/ - documentation 19 | docs/samples - pugixml usage examples 20 | docs/quickstart.html - quick start guide 21 | docs/manual.html - complete manual 22 | 23 | scripts/ - project files for IDE/build systems 24 | 25 | src/ - header and source files 26 | 27 | readme.txt - this file. 28 | 29 | This library is distributed under the MIT License: 30 | 31 | Copyright (c) 2006-2015 Arseny Kapoulkine 32 | 33 | Permission is hereby granted, free of charge, to any person 34 | obtaining a copy of this software and associated documentation 35 | files (the "Software"), to deal in the Software without 36 | restriction, including without limitation the rights to use, 37 | copy, modify, merge, publish, distribute, sublicense, and/or sell 38 | copies of the Software, and to permit persons to whom the 39 | Software is furnished to do so, subject to the following 40 | conditions: 41 | 42 | The above copyright notice and this permission notice shall be 43 | included in all copies or substantial portions of the Software. 44 | 45 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 46 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 47 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 48 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 49 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 50 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 51 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 52 | OTHER DEALINGS IN THE SOFTWARE. 53 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/BUGS.txt: -------------------------------------------------------------------------------- 1 | 2 | Bugs are now managed in the SDL bug tracker, here: 3 | 4 | http://bugzilla.libsdl.org/ 5 | 6 | You may report bugs there, and search to see if a given issue has already 7 | been reported, discussed, and maybe even fixed. 8 | 9 | 10 | You may also find help on the SDL mailing list. Subscription information: 11 | 12 | http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org 13 | 14 | Bug reports are welcome here, but we really appreciate if you use Bugzilla, as 15 | bugs discussed on the mailing list may be forgotten or missed. 16 | 17 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/COPYING.txt: -------------------------------------------------------------------------------- 1 | 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | 21 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/README-SDL.txt: -------------------------------------------------------------------------------- 1 | 2 | Please distribute this file with the SDL runtime environment: 3 | 4 | The Simple DirectMedia Layer (SDL for short) is a cross-platform library 5 | designed to make it easy to write multi-media software, such as games and 6 | emulators. 7 | 8 | The Simple DirectMedia Layer library source code is available from: 9 | http://www.libsdl.org/ 10 | 11 | This library is distributed under the terms of the zlib license: 12 | http://www.zlib.net/zlib_license.html 13 | 14 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/README.txt: -------------------------------------------------------------------------------- 1 | 2 | Simple DirectMedia Layer 3 | 4 | (SDL) 5 | 6 | Version 2.0 7 | 8 | --- 9 | http://www.libsdl.org/ 10 | 11 | Simple DirectMedia Layer is a cross-platform development library designed 12 | to provide low level access to audio, keyboard, mouse, joystick, and graphics 13 | hardware via OpenGL and Direct3D. It is used by video playback software, 14 | emulators, and popular games including Valve's award winning catalog 15 | and many Humble Bundle games. 16 | 17 | More extensive documentation is available in the docs directory, starting 18 | with README.md 19 | 20 | Enjoy! 21 | Sam Lantinga (slouken@libsdl.org) 22 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_blendmode.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_blendmode.h 24 | * 25 | * Header file declaring the SDL_BlendMode enumeration 26 | */ 27 | 28 | #ifndef _SDL_blendmode_h 29 | #define _SDL_blendmode_h 30 | 31 | #include "begin_code.h" 32 | /* Set up for C function definitions, even when using C++ */ 33 | #ifdef __cplusplus 34 | extern "C" { 35 | #endif 36 | 37 | /** 38 | * \brief The blend mode used in SDL_RenderCopy() and drawing operations. 39 | */ 40 | typedef enum 41 | { 42 | SDL_BLENDMODE_NONE = 0x00000000, /**< no blending 43 | dstRGBA = srcRGBA */ 44 | SDL_BLENDMODE_BLEND = 0x00000001, /**< alpha blending 45 | dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA)) 46 | dstA = srcA + (dstA * (1-srcA)) */ 47 | SDL_BLENDMODE_ADD = 0x00000002, /**< additive blending 48 | dstRGB = (srcRGB * srcA) + dstRGB 49 | dstA = dstA */ 50 | SDL_BLENDMODE_MOD = 0x00000004 /**< color modulate 51 | dstRGB = srcRGB * dstRGB 52 | dstA = dstA */ 53 | } SDL_BlendMode; 54 | 55 | /* Ends C function definitions when using C++ */ 56 | #ifdef __cplusplus 57 | } 58 | #endif 59 | #include "close_code.h" 60 | 61 | #endif /* _SDL_blendmode_h */ 62 | 63 | /* vi: set ts=4 sw=4 expandtab: */ 64 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_clipboard.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_clipboard.h 24 | * 25 | * Include file for SDL clipboard handling 26 | */ 27 | 28 | #ifndef _SDL_clipboard_h 29 | #define _SDL_clipboard_h 30 | 31 | #include "SDL_stdinc.h" 32 | 33 | #include "begin_code.h" 34 | /* Set up for C function definitions, even when using C++ */ 35 | #ifdef __cplusplus 36 | extern "C" { 37 | #endif 38 | 39 | /* Function prototypes */ 40 | 41 | /** 42 | * \brief Put UTF-8 text into the clipboard 43 | * 44 | * \sa SDL_GetClipboardText() 45 | */ 46 | extern DECLSPEC int SDLCALL SDL_SetClipboardText(const char *text); 47 | 48 | /** 49 | * \brief Get UTF-8 text from the clipboard, which must be freed with SDL_free() 50 | * 51 | * \sa SDL_SetClipboardText() 52 | */ 53 | extern DECLSPEC char * SDLCALL SDL_GetClipboardText(void); 54 | 55 | /** 56 | * \brief Returns a flag indicating whether the clipboard exists and contains a text string that is non-empty 57 | * 58 | * \sa SDL_GetClipboardText() 59 | */ 60 | extern DECLSPEC SDL_bool SDLCALL SDL_HasClipboardText(void); 61 | 62 | 63 | /* Ends C function definitions when using C++ */ 64 | #ifdef __cplusplus 65 | } 66 | #endif 67 | #include "close_code.h" 68 | 69 | #endif /* _SDL_clipboard_h */ 70 | 71 | /* vi: set ts=4 sw=4 expandtab: */ 72 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_error.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_error.h 24 | * 25 | * Simple error message routines for SDL. 26 | */ 27 | 28 | #ifndef _SDL_error_h 29 | #define _SDL_error_h 30 | 31 | #include "SDL_stdinc.h" 32 | 33 | #include "begin_code.h" 34 | /* Set up for C function definitions, even when using C++ */ 35 | #ifdef __cplusplus 36 | extern "C" { 37 | #endif 38 | 39 | /* Public functions */ 40 | /* SDL_SetError() unconditionally returns -1. */ 41 | extern DECLSPEC int SDLCALL SDL_SetError(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1); 42 | extern DECLSPEC const char *SDLCALL SDL_GetError(void); 43 | extern DECLSPEC void SDLCALL SDL_ClearError(void); 44 | 45 | /** 46 | * \name Internal error functions 47 | * 48 | * \internal 49 | * Private error reporting function - used internally. 50 | */ 51 | /* @{ */ 52 | #define SDL_OutOfMemory() SDL_Error(SDL_ENOMEM) 53 | #define SDL_Unsupported() SDL_Error(SDL_UNSUPPORTED) 54 | #define SDL_InvalidParamError(param) SDL_SetError("Parameter '%s' is invalid", (param)) 55 | typedef enum 56 | { 57 | SDL_ENOMEM, 58 | SDL_EFREAD, 59 | SDL_EFWRITE, 60 | SDL_EFSEEK, 61 | SDL_UNSUPPORTED, 62 | SDL_LASTERROR 63 | } SDL_errorcode; 64 | /* SDL_Error() unconditionally returns -1. */ 65 | extern DECLSPEC int SDLCALL SDL_Error(SDL_errorcode code); 66 | /* @} *//* Internal error functions */ 67 | 68 | /* Ends C function definitions when using C++ */ 69 | #ifdef __cplusplus 70 | } 71 | #endif 72 | #include "close_code.h" 73 | 74 | #endif /* _SDL_error_h */ 75 | 76 | /* vi: set ts=4 sw=4 expandtab: */ 77 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_gesture.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_gesture.h 24 | * 25 | * Include file for SDL gesture event handling. 26 | */ 27 | 28 | #ifndef _SDL_gesture_h 29 | #define _SDL_gesture_h 30 | 31 | #include "SDL_stdinc.h" 32 | #include "SDL_error.h" 33 | #include "SDL_video.h" 34 | 35 | #include "SDL_touch.h" 36 | 37 | 38 | #include "begin_code.h" 39 | /* Set up for C function definitions, even when using C++ */ 40 | #ifdef __cplusplus 41 | extern "C" { 42 | #endif 43 | 44 | typedef Sint64 SDL_GestureID; 45 | 46 | /* Function prototypes */ 47 | 48 | /** 49 | * \brief Begin Recording a gesture on the specified touch, or all touches (-1) 50 | * 51 | * 52 | */ 53 | extern DECLSPEC int SDLCALL SDL_RecordGesture(SDL_TouchID touchId); 54 | 55 | 56 | /** 57 | * \brief Save all currently loaded Dollar Gesture templates 58 | * 59 | * 60 | */ 61 | extern DECLSPEC int SDLCALL SDL_SaveAllDollarTemplates(SDL_RWops *dst); 62 | 63 | /** 64 | * \brief Save a currently loaded Dollar Gesture template 65 | * 66 | * 67 | */ 68 | extern DECLSPEC int SDLCALL SDL_SaveDollarTemplate(SDL_GestureID gestureId,SDL_RWops *dst); 69 | 70 | 71 | /** 72 | * \brief Load Dollar Gesture templates from a file 73 | * 74 | * 75 | */ 76 | extern DECLSPEC int SDLCALL SDL_LoadDollarTemplates(SDL_TouchID touchId, SDL_RWops *src); 77 | 78 | 79 | /* Ends C function definitions when using C++ */ 80 | #ifdef __cplusplus 81 | } 82 | #endif 83 | #include "close_code.h" 84 | 85 | #endif /* _SDL_gesture_h */ 86 | 87 | /* vi: set ts=4 sw=4 expandtab: */ 88 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_name.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | #ifndef _SDLname_h_ 23 | #define _SDLname_h_ 24 | 25 | #if defined(__STDC__) || defined(__cplusplus) 26 | #define NeedFunctionPrototypes 1 27 | #endif 28 | 29 | #define SDL_NAME(X) SDL_##X 30 | 31 | #endif /* _SDLname_h_ */ 32 | 33 | /* vi: set ts=4 sw=4 expandtab: */ 34 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_opengles.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_opengles.h 24 | * 25 | * This is a simple file to encapsulate the OpenGL ES 1.X API headers. 26 | */ 27 | 28 | #ifdef __IPHONEOS__ 29 | #include 30 | #include 31 | #else 32 | #include 33 | #include 34 | #endif 35 | 36 | #ifndef APIENTRY 37 | #define APIENTRY 38 | #endif 39 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_opengles2.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_opengles2.h 24 | * 25 | * This is a simple file to encapsulate the OpenGL ES 2.0 API headers. 26 | */ 27 | #ifndef _MSC_VER 28 | 29 | #ifdef __IPHONEOS__ 30 | #include 31 | #include 32 | #else 33 | #include 34 | #include 35 | #include 36 | #endif 37 | 38 | #else /* _MSC_VER */ 39 | 40 | /* OpenGL ES2 headers for Visual Studio */ 41 | #include "SDL_opengles2_khrplatform.h" 42 | #include "SDL_opengles2_gl2platform.h" 43 | #include "SDL_opengles2_gl2.h" 44 | #include "SDL_opengles2_gl2ext.h" 45 | 46 | #endif /* _MSC_VER */ 47 | 48 | #ifndef APIENTRY 49 | #define APIENTRY GL_APIENTRY 50 | #endif 51 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_opengles2_gl2platform.h: -------------------------------------------------------------------------------- 1 | #ifndef __gl2platform_h_ 2 | #define __gl2platform_h_ 3 | 4 | /* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */ 5 | 6 | /* 7 | * This document is licensed under the SGI Free Software B License Version 8 | * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . 9 | */ 10 | 11 | /* Platform-specific types and definitions for OpenGL ES 2.X gl2.h 12 | * 13 | * Adopters may modify khrplatform.h and this file to suit their platform. 14 | * You are encouraged to submit all modifications to the Khronos group so that 15 | * they can be included in future versions of this file. Please submit changes 16 | * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) 17 | * by filing a bug against product "OpenGL-ES" component "Registry". 18 | */ 19 | 20 | /*#include */ 21 | 22 | #ifndef GL_APICALL 23 | #define GL_APICALL KHRONOS_APICALL 24 | #endif 25 | 26 | #ifndef GL_APIENTRY 27 | #define GL_APIENTRY KHRONOS_APIENTRY 28 | #endif 29 | 30 | #endif /* __gl2platform_h_ */ 31 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_power.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | #ifndef _SDL_power_h 23 | #define _SDL_power_h 24 | 25 | /** 26 | * \file SDL_power.h 27 | * 28 | * Header for the SDL power management routines. 29 | */ 30 | 31 | #include "SDL_stdinc.h" 32 | 33 | #include "begin_code.h" 34 | /* Set up for C function definitions, even when using C++ */ 35 | #ifdef __cplusplus 36 | extern "C" { 37 | #endif 38 | 39 | /** 40 | * \brief The basic state for the system's power supply. 41 | */ 42 | typedef enum 43 | { 44 | SDL_POWERSTATE_UNKNOWN, /**< cannot determine power status */ 45 | SDL_POWERSTATE_ON_BATTERY, /**< Not plugged in, running on the battery */ 46 | SDL_POWERSTATE_NO_BATTERY, /**< Plugged in, no battery available */ 47 | SDL_POWERSTATE_CHARGING, /**< Plugged in, charging battery */ 48 | SDL_POWERSTATE_CHARGED /**< Plugged in, battery charged */ 49 | } SDL_PowerState; 50 | 51 | 52 | /** 53 | * \brief Get the current power supply details. 54 | * 55 | * \param secs Seconds of battery life left. You can pass a NULL here if 56 | * you don't care. Will return -1 if we can't determine a 57 | * value, or we're not running on a battery. 58 | * 59 | * \param pct Percentage of battery life left, between 0 and 100. You can 60 | * pass a NULL here if you don't care. Will return -1 if we 61 | * can't determine a value, or we're not running on a battery. 62 | * 63 | * \return The state of the battery (if any). 64 | */ 65 | extern DECLSPEC SDL_PowerState SDLCALL SDL_GetPowerInfo(int *secs, int *pct); 66 | 67 | /* Ends C function definitions when using C++ */ 68 | #ifdef __cplusplus 69 | } 70 | #endif 71 | #include "close_code.h" 72 | 73 | #endif /* _SDL_power_h */ 74 | 75 | /* vi: set ts=4 sw=4 expandtab: */ 76 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_quit.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_quit.h 24 | * 25 | * Include file for SDL quit event handling. 26 | */ 27 | 28 | #ifndef _SDL_quit_h 29 | #define _SDL_quit_h 30 | 31 | #include "SDL_stdinc.h" 32 | #include "SDL_error.h" 33 | 34 | /** 35 | * \file SDL_quit.h 36 | * 37 | * An ::SDL_QUIT event is generated when the user tries to close the application 38 | * window. If it is ignored or filtered out, the window will remain open. 39 | * If it is not ignored or filtered, it is queued normally and the window 40 | * is allowed to close. When the window is closed, screen updates will 41 | * complete, but have no effect. 42 | * 43 | * SDL_Init() installs signal handlers for SIGINT (keyboard interrupt) 44 | * and SIGTERM (system termination request), if handlers do not already 45 | * exist, that generate ::SDL_QUIT events as well. There is no way 46 | * to determine the cause of an ::SDL_QUIT event, but setting a signal 47 | * handler in your application will override the default generation of 48 | * quit events for that signal. 49 | * 50 | * \sa SDL_Quit() 51 | */ 52 | 53 | /* There are no functions directly affecting the quit event */ 54 | 55 | #define SDL_QuitRequested() \ 56 | (SDL_PumpEvents(), (SDL_PeepEvents(NULL,0,SDL_PEEKEVENT,SDL_QUIT,SDL_QUIT) > 0)) 57 | 58 | #endif /* _SDL_quit_h */ 59 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_revision.h: -------------------------------------------------------------------------------- 1 | #define SDL_REVISION "hg-10001:e12c38730512" 2 | #define SDL_REVISION_NUMBER 10001 3 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_test.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_test.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | #ifndef _SDL_test_h 31 | #define _SDL_test_h 32 | 33 | #include "SDL.h" 34 | #include "SDL_test_common.h" 35 | #include "SDL_test_font.h" 36 | #include "SDL_test_random.h" 37 | #include "SDL_test_fuzzer.h" 38 | #include "SDL_test_crc32.h" 39 | #include "SDL_test_md5.h" 40 | #include "SDL_test_log.h" 41 | #include "SDL_test_assert.h" 42 | #include "SDL_test_harness.h" 43 | #include "SDL_test_images.h" 44 | #include "SDL_test_compare.h" 45 | 46 | #include "begin_code.h" 47 | /* Set up for C function definitions, even when using C++ */ 48 | #ifdef __cplusplus 49 | extern "C" { 50 | #endif 51 | 52 | /* Global definitions */ 53 | 54 | /* 55 | * Note: Maximum size of SDLTest log message is less than SDL's limit 56 | * to ensure we can fit additional information such as the timestamp. 57 | */ 58 | #define SDLTEST_MAX_LOGMESSAGE_LENGTH 3584 59 | 60 | /* Ends C function definitions when using C++ */ 61 | #ifdef __cplusplus 62 | } 63 | #endif 64 | #include "close_code.h" 65 | 66 | #endif /* _SDL_test_h */ 67 | 68 | /* vi: set ts=4 sw=4 expandtab: */ 69 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_test_compare.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_test_compare.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | /* 31 | 32 | Defines comparison functions (i.e. for surfaces). 33 | 34 | */ 35 | 36 | #ifndef _SDL_test_compare_h 37 | #define _SDL_test_compare_h 38 | 39 | #include "SDL.h" 40 | 41 | #include "SDL_test_images.h" 42 | 43 | #include "begin_code.h" 44 | /* Set up for C function definitions, even when using C++ */ 45 | #ifdef __cplusplus 46 | extern "C" { 47 | #endif 48 | 49 | /** 50 | * \brief Compares a surface and with reference image data for equality 51 | * 52 | * \param surface Surface used in comparison 53 | * \param referenceSurface Test Surface used in comparison 54 | * \param allowable_error Allowable difference (=sum of squared difference for each RGB component) in blending accuracy. 55 | * 56 | * \returns 0 if comparison succeeded, >0 (=number of pixels for which the comparison failed) if comparison failed, -1 if any of the surfaces were NULL, -2 if the surface sizes differ. 57 | */ 58 | int SDLTest_CompareSurfaces(SDL_Surface *surface, SDL_Surface *referenceSurface, int allowable_error); 59 | 60 | 61 | /* Ends C function definitions when using C++ */ 62 | #ifdef __cplusplus 63 | } 64 | #endif 65 | #include "close_code.h" 66 | 67 | #endif /* _SDL_test_compare_h */ 68 | 69 | /* vi: set ts=4 sw=4 expandtab: */ 70 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_test_font.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_test_font.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | #ifndef _SDL_test_font_h 31 | #define _SDL_test_font_h 32 | 33 | #include "begin_code.h" 34 | /* Set up for C function definitions, even when using C++ */ 35 | #ifdef __cplusplus 36 | extern "C" { 37 | #endif 38 | 39 | /* Function prototypes */ 40 | 41 | #define FONT_CHARACTER_SIZE 8 42 | 43 | /** 44 | * \brief Draw a string in the currently set font. 45 | * 46 | * \param renderer The renderer to draw on. 47 | * \param x The X coordinate of the upper left corner of the character. 48 | * \param y The Y coordinate of the upper left corner of the character. 49 | * \param c The character to draw. 50 | * 51 | * \returns Returns 0 on success, -1 on failure. 52 | */ 53 | int SDLTest_DrawCharacter( SDL_Renderer *renderer, int x, int y, char c ); 54 | 55 | /** 56 | * \brief Draw a string in the currently set font. 57 | * 58 | * \param renderer The renderer to draw on. 59 | * \param x The X coordinate of the upper left corner of the string. 60 | * \param y The Y coordinate of the upper left corner of the string. 61 | * \param s The string to draw. 62 | * 63 | * \returns Returns 0 on success, -1 on failure. 64 | */ 65 | int SDLTest_DrawString( SDL_Renderer * renderer, int x, int y, const char *s ); 66 | 67 | 68 | /* Ends C function definitions when using C++ */ 69 | #ifdef __cplusplus 70 | } 71 | #endif 72 | #include "close_code.h" 73 | 74 | #endif /* _SDL_test_font_h */ 75 | 76 | /* vi: set ts=4 sw=4 expandtab: */ 77 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_test_images.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_test_images.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | /* 31 | 32 | Defines some images for tests. 33 | 34 | */ 35 | 36 | #ifndef _SDL_test_images_h 37 | #define _SDL_test_images_h 38 | 39 | #include "SDL.h" 40 | 41 | #include "begin_code.h" 42 | /* Set up for C function definitions, even when using C++ */ 43 | #ifdef __cplusplus 44 | extern "C" { 45 | #endif 46 | 47 | /** 48 | *Type for test images. 49 | */ 50 | typedef struct SDLTest_SurfaceImage_s { 51 | int width; 52 | int height; 53 | unsigned int bytes_per_pixel; /* 3:RGB, 4:RGBA */ 54 | const char *pixel_data; 55 | } SDLTest_SurfaceImage_t; 56 | 57 | /* Test images */ 58 | SDL_Surface *SDLTest_ImageBlit(); 59 | SDL_Surface *SDLTest_ImageBlitColor(); 60 | SDL_Surface *SDLTest_ImageBlitAlpha(); 61 | SDL_Surface *SDLTest_ImageBlitBlendAdd(); 62 | SDL_Surface *SDLTest_ImageBlitBlend(); 63 | SDL_Surface *SDLTest_ImageBlitBlendMod(); 64 | SDL_Surface *SDLTest_ImageBlitBlendNone(); 65 | SDL_Surface *SDLTest_ImageBlitBlendAll(); 66 | SDL_Surface *SDLTest_ImageFace(); 67 | SDL_Surface *SDLTest_ImagePrimitives(); 68 | SDL_Surface *SDLTest_ImagePrimitivesBlend(); 69 | 70 | /* Ends C function definitions when using C++ */ 71 | #ifdef __cplusplus 72 | } 73 | #endif 74 | #include "close_code.h" 75 | 76 | #endif /* _SDL_test_images_h */ 77 | 78 | /* vi: set ts=4 sw=4 expandtab: */ 79 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_test_log.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_test_log.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | /* 31 | * 32 | * Wrapper to log in the TEST category 33 | * 34 | */ 35 | 36 | #ifndef _SDL_test_log_h 37 | #define _SDL_test_log_h 38 | 39 | #include "begin_code.h" 40 | /* Set up for C function definitions, even when using C++ */ 41 | #ifdef __cplusplus 42 | extern "C" { 43 | #endif 44 | 45 | /** 46 | * \brief Prints given message with a timestamp in the TEST category and INFO priority. 47 | * 48 | * \param fmt Message to be logged 49 | */ 50 | void SDLTest_Log(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1); 51 | 52 | /** 53 | * \brief Prints given message with a timestamp in the TEST category and the ERROR priority. 54 | * 55 | * \param fmt Message to be logged 56 | */ 57 | void SDLTest_LogError(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1); 58 | 59 | /* Ends C function definitions when using C++ */ 60 | #ifdef __cplusplus 61 | } 62 | #endif 63 | #include "close_code.h" 64 | 65 | #endif /* _SDL_test_log_h */ 66 | 67 | /* vi: set ts=4 sw=4 expandtab: */ 68 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_touch.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_touch.h 24 | * 25 | * Include file for SDL touch event handling. 26 | */ 27 | 28 | #ifndef _SDL_touch_h 29 | #define _SDL_touch_h 30 | 31 | #include "SDL_stdinc.h" 32 | #include "SDL_error.h" 33 | #include "SDL_video.h" 34 | 35 | #include "begin_code.h" 36 | /* Set up for C function definitions, even when using C++ */ 37 | #ifdef __cplusplus 38 | extern "C" { 39 | #endif 40 | 41 | typedef Sint64 SDL_TouchID; 42 | typedef Sint64 SDL_FingerID; 43 | 44 | typedef struct SDL_Finger 45 | { 46 | SDL_FingerID id; 47 | float x; 48 | float y; 49 | float pressure; 50 | } SDL_Finger; 51 | 52 | /* Used as the device ID for mouse events simulated with touch input */ 53 | #define SDL_TOUCH_MOUSEID ((Uint32)-1) 54 | 55 | 56 | /* Function prototypes */ 57 | 58 | /** 59 | * \brief Get the number of registered touch devices. 60 | */ 61 | extern DECLSPEC int SDLCALL SDL_GetNumTouchDevices(void); 62 | 63 | /** 64 | * \brief Get the touch ID with the given index, or 0 if the index is invalid. 65 | */ 66 | extern DECLSPEC SDL_TouchID SDLCALL SDL_GetTouchDevice(int index); 67 | 68 | /** 69 | * \brief Get the number of active fingers for a given touch device. 70 | */ 71 | extern DECLSPEC int SDLCALL SDL_GetNumTouchFingers(SDL_TouchID touchID); 72 | 73 | /** 74 | * \brief Get the finger object of the given touch, with the given index. 75 | */ 76 | extern DECLSPEC SDL_Finger * SDLCALL SDL_GetTouchFinger(SDL_TouchID touchID, int index); 77 | 78 | /* Ends C function definitions when using C++ */ 79 | #ifdef __cplusplus 80 | } 81 | #endif 82 | #include "close_code.h" 83 | 84 | #endif /* _SDL_touch_h */ 85 | 86 | /* vi: set ts=4 sw=4 expandtab: */ 87 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/SDL_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_types.h 24 | * 25 | * \deprecated 26 | */ 27 | 28 | /* DEPRECATED */ 29 | #include "SDL_stdinc.h" 30 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/include/close_code.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file close_code.h 24 | * 25 | * This file reverses the effects of begin_code.h and should be included 26 | * after you finish any function and structure declarations in your headers 27 | */ 28 | 29 | #undef _begin_code_h 30 | 31 | /* Reset structure packing at previous byte alignment */ 32 | #if defined(_MSC_VER) || defined(__MWERKS__) || defined(__WATCOMC__) || defined(__BORLANDC__) 33 | #ifdef __BORLANDC__ 34 | #pragma nopackwarning 35 | #endif 36 | #pragma pack(pop) 37 | #endif /* Compiler needs structure packing set */ 38 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/libx86/SDL2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Motor2D/SDL/libx86/SDL2.lib -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL/libx86/SDL2main.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Motor2D/SDL/libx86/SDL2main.lib -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL_image/COPYING.txt: -------------------------------------------------------------------------------- 1 | /* 2 | SDL_image: An example image loading library for use with SDL 3 | Copyright (C) 1997-2013 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL_image/README.txt: -------------------------------------------------------------------------------- 1 | 2 | SDL_image 2.0 3 | 4 | The latest version of this library is available from: 5 | http://www.libsdl.org/projects/SDL_image/ 6 | 7 | This is a simple library to load images of various formats as SDL surfaces. 8 | This library supports BMP, PNM (PPM/PGM/PBM), XPM, LBM, PCX, GIF, JPEG, PNG, 9 | TGA, and TIFF formats. 10 | 11 | API: 12 | #include "SDL_image.h" 13 | 14 | SDL_Surface *IMG_Load(const char *file); 15 | or 16 | SDL_Surface *IMG_Load_RW(SDL_RWops *src, int freesrc); 17 | or 18 | SDL_Surface *IMG_LoadTyped_RW(SDL_RWops *src, int freesrc, char *type); 19 | 20 | where type is a string specifying the format (i.e. "PNG" or "pcx"). 21 | Note that IMG_Load_RW cannot load TGA images. 22 | 23 | To create a surface from an XPM image included in C source, use: 24 | 25 | SDL_Surface *IMG_ReadXPMFromArray(char **xpm); 26 | 27 | An example program 'showimage' is included, with source in showimage.c 28 | 29 | JPEG support requires the JPEG library: http://www.ijg.org/ 30 | PNG support requires the PNG library: http://www.libpng.org/pub/png/libpng.html 31 | and the Zlib library: http://www.gzip.org/zlib/ 32 | TIFF support requires the TIFF library: ftp://ftp.sgi.com/graphics/tiff/ 33 | 34 | If you have these libraries installed in non-standard places, you can 35 | try adding those paths to the configure script, e.g. 36 | sh ./configure CPPFLAGS="-I/somewhere/include" LDFLAGS="-L/somewhere/lib" 37 | If this works, you may need to add /somewhere/lib to your LD_LIBRARY_PATH 38 | so shared library loading works correctly. 39 | 40 | This library is under the zlib License, see the file "COPYING.txt" for details. 41 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL_image/libx86/SDL2_image.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Motor2D/SDL_image/libx86/SDL2_image.lib -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL_mixer/COPYING.txt: -------------------------------------------------------------------------------- 1 | /* 2 | SDL_mixer: An audio mixer library based on the SDL library 3 | Copyright (C) 1997-2013 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL_mixer/README.txt: -------------------------------------------------------------------------------- 1 | 2 | SDL_mixer 2.0 3 | 4 | The latest version of this library is available from: 5 | http://www.libsdl.org/projects/SDL_mixer/ 6 | 7 | Due to popular demand, here is a simple multi-channel audio mixer. 8 | It supports 8 channels of 16 bit stereo audio, plus a single channel 9 | of music, mixed by the popular MikMod MOD, Timidity MIDI and SMPEG MP3 10 | libraries. 11 | 12 | See the header file SDL_mixer.h and the examples playwave.c and playmus.c 13 | for documentation on this mixer library. 14 | 15 | The mixer can currently load Microsoft WAVE files and Creative Labs VOC 16 | files as audio samples, and can load MIDI files via Timidity and the 17 | following music formats via MikMod: .MOD .S3M .IT .XM. It can load 18 | Ogg Vorbis streams as music if built with Ogg Vorbis or Tremor libraries, 19 | and finally it can load MP3 music using the SMPEG or libmad libraries. 20 | 21 | Tremor decoding is disabled by default; you can enable it by passing 22 | --enable-music-ogg-tremor 23 | to configure, or by defining OGG_MUSIC and OGG_USE_TREMOR. 24 | 25 | libmad decoding is disabled by default; you can enable it by passing 26 | --enable-music-mp3-mad 27 | to configure, or by defining MP3_MAD_MUSIC 28 | vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv 29 | WARNING: The license for libmad is GPL, which means that in order to 30 | use it your application must also be GPL! 31 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 32 | 33 | The process of mixing MIDI files to wave output is very CPU intensive, 34 | so if playing regular WAVE files sound great, but playing MIDI files 35 | sound choppy, try using 8-bit audio, mono audio, or lower frequencies. 36 | 37 | To play MIDI files, you'll need to get a complete set of GUS patches 38 | from: 39 | http://www.libsdl.org/projects/mixer/timidity/timidity.tar.gz 40 | and unpack them in /usr/local/lib under UNIX, and C:\ under Win32. 41 | 42 | This library is under the zlib license, see the file "COPYING.txt" for details. 43 | 44 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL_mixer/libx86/SDL2_mixer.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Motor2D/SDL_mixer/libx86/SDL2_mixer.lib -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL_ttf/CHANGES.txt: -------------------------------------------------------------------------------- 1 | 2.0.12: 2 | Sam Lantinga - Sat Jun 1 19:11:26 PDT 2013 3 | * Updated for SDL 2.0 release 4 | 5 | 2.0.11: 6 | Sam Lantinga - Sat Dec 31 10:49:42 EST 2011 7 | * SDL_ttf is now under the zlib license 8 | Peter Kosyh - Mon Feb 28 14:57:03 PST 2011 9 | * Improved font glyph caching for non-latin languages 10 | Erik Snoek - Wed Jan 12 09:10:15 PST 2011 11 | * Added API to get kerning info: TTF_GetFontKerningSize() 12 | Sam Lantinga - Mon Jan 10 10:58:34 2011 -0800 13 | * Added Android.mk to build on the Android platform 14 | 15 | 2.0.10: 16 | Adam Strzelecki - Wed Oct 21 21:02:37 PDT 2009 17 | * Find the Unicode or symbol character map if it's available in the font 18 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL_ttf/COPYING.txt: -------------------------------------------------------------------------------- 1 | /* 2 | SDL_ttf: A companion library to SDL for working with TrueType (tm) fonts 3 | Copyright (C) 1997-2013 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL_ttf/README.txt: -------------------------------------------------------------------------------- 1 | 2 | This library is a wrapper around the excellent FreeType 2.0 library, 3 | available at: 4 | http://www.freetype.org/ 5 | 6 | This library allows you to use TrueType fonts to render text in SDL 7 | applications. 8 | 9 | To make the library, first install the FreeType library, then type 10 | './configure' then 'make' to build the SDL truetype library and the 11 | showfont and glfont example applications. 12 | 13 | Be careful when including fonts with your application, as many of them 14 | are copyrighted. The Microsoft fonts, for example, are not freely 15 | redistributable and even the free "web" fonts they provide are only 16 | redistributable in their special executable installer form (May 1998). 17 | There are plenty of freeware and shareware fonts available on the Internet 18 | though, and may suit your purposes. 19 | 20 | This library is under the zlib license, see the file "COPYING.txt" for details. 21 | 22 | Portions of this software are copyright © 2013 The FreeType Project (www.freetype.org). All rights reserved. 23 | 24 | Enjoy! 25 | -Sam Lantinga (6/20/2001) 26 | -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/SDL_ttf/libx86/SDL2_ttf.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Handout/Motor2D/SDL_ttf/libx86/SDL2_ttf.lib -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/j1App.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1APP_H__ 2 | #define __j1APP_H__ 3 | 4 | #include "j1Module.h" 5 | #include "PugiXml\src\pugixml.hpp" 6 | 7 | #include 8 | 9 | // Modules 10 | class j1Window; 11 | class j1Input; 12 | class j1Render; 13 | class j1Textures; 14 | class j1Scene; 15 | class j1Map; 16 | class j1PathFinding; 17 | class Fonts; 18 | 19 | class j1App 20 | { 21 | public: 22 | 23 | // Constructor 24 | j1App(int argc, char* args[]); 25 | 26 | // Destructor 27 | virtual ~j1App(); 28 | 29 | // Called before render is available 30 | bool Awake(); 31 | 32 | // Called before the first frame 33 | bool Start(); 34 | 35 | // Called each loop iteration 36 | bool Update(); 37 | 38 | // Called before quitting 39 | bool CleanUp(); 40 | 41 | // Add a new module to handle 42 | void AddModule(j1Module* module); 43 | 44 | // Exposing some properties for reading 45 | int GetArgc() const; 46 | const char* GetArgv(int index) const; 47 | const char* GetTitle() const; 48 | const char* GetOrganization() const; 49 | 50 | private: 51 | 52 | // Load config file 53 | pugi::xml_node LoadConfig(pugi::xml_document&) const; 54 | 55 | // Call modules before each loop iteration 56 | void PrepareUpdate(); 57 | 58 | // Call modules before each loop iteration 59 | void FinishUpdate(); 60 | 61 | // Call modules before each loop iteration 62 | bool PreUpdate(); 63 | 64 | // Call modules on each loop iteration 65 | bool DoUpdate(); 66 | 67 | // Call modules after each loop iteration 68 | bool PostUpdate(); 69 | 70 | public: 71 | 72 | // Modules 73 | j1Window* win; 74 | j1Input* input; 75 | j1Render* render; 76 | j1Textures* tex; 77 | j1Scene* scene; 78 | j1Map* map; 79 | j1PathFinding* pathfinding; 80 | Fonts* fonts; 81 | 82 | private: 83 | 84 | std::listmodules; 85 | uint frames; 86 | float dt; 87 | int argc; 88 | char** args; 89 | 90 | std::string title; 91 | std::string organization; 92 | 93 | }; 94 | 95 | extern j1App* App; 96 | 97 | #endif -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/j1Input.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1INPUT_H__ 2 | #define __j1INPUT_H__ 3 | 4 | #include "j1Module.h" 5 | 6 | //#define NUM_KEYS 352 7 | #define NUM_MOUSE_BUTTONS 5 8 | //#define LAST_KEYS_PRESSED_BUFFER 50 9 | 10 | struct SDL_Rect; 11 | 12 | enum j1EventWindow 13 | { 14 | WE_QUIT = 0, 15 | WE_HIDE = 1, 16 | WE_SHOW = 2, 17 | WE_COUNT 18 | }; 19 | 20 | enum j1KeyState 21 | { 22 | KEY_IDLE = 0, 23 | KEY_DOWN, 24 | KEY_REPEAT, 25 | KEY_UP 26 | }; 27 | 28 | class j1Input : public j1Module 29 | { 30 | 31 | public: 32 | 33 | j1Input(); 34 | 35 | // Destructor 36 | virtual ~j1Input(); 37 | 38 | // Called before render is available 39 | bool Awake(pugi::xml_node&); 40 | 41 | // Called before the first frame 42 | bool Start(); 43 | 44 | // Called each loop iteration 45 | bool PreUpdate(); 46 | 47 | // Called before quitting 48 | bool CleanUp(); 49 | 50 | // Gather relevant win events 51 | bool GetWindowEvent(j1EventWindow ev); 52 | 53 | // Check key states (includes mouse and joy buttons) 54 | j1KeyState GetKey(int id) const 55 | { 56 | return keyboard[id]; 57 | } 58 | 59 | j1KeyState GetMouseButtonDown(int id) const 60 | { 61 | return mouse_buttons[id - 1]; 62 | } 63 | 64 | // Check if a certain window event happened 65 | bool GetWindowEvent(int code); 66 | 67 | // Get mouse / axis position 68 | void GetMousePosition(int &x, int &y); 69 | void GetMouseMotion(int& x, int& y); 70 | 71 | private: 72 | bool windowEvents[WE_COUNT]; 73 | j1KeyState* keyboard; 74 | j1KeyState mouse_buttons[NUM_MOUSE_BUTTONS]; 75 | int mouse_motion_x; 76 | int mouse_motion_y; 77 | int mouse_x; 78 | int mouse_y; 79 | }; 80 | 81 | #endif // __j1INPUT_H__ -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/j1Main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "p2Defs.h" 4 | #include "p2Log.h" 5 | #include "j1App.h" 6 | 7 | // This is needed here because SDL redefines main function 8 | // do not add any other libraries here, instead put them in their modules 9 | #include "SDL/include/SDL.h" 10 | #pragma comment( lib, "SDL/libx86/SDL2.lib" ) 11 | #pragma comment( lib, "SDL/libx86/SDL2main.lib" ) 12 | 13 | enum MainState 14 | { 15 | CREATE = 1, 16 | AWAKE, 17 | START, 18 | LOOP, 19 | CLEAN, 20 | FAIL, 21 | EXIT 22 | }; 23 | 24 | j1App* App = NULL; 25 | 26 | int main(int argc, char* args[]) 27 | { 28 | LOG("Engine starting ... %d"); 29 | 30 | MainState state = MainState::CREATE; 31 | int result = EXIT_FAILURE; 32 | 33 | while(state != EXIT) 34 | { 35 | switch(state) 36 | { 37 | 38 | // Allocate the engine -------------------------------------------- 39 | case CREATE: 40 | LOG("CREATION PHASE ==============================="); 41 | 42 | App = new j1App(argc, args); 43 | 44 | if(App != NULL) 45 | state = AWAKE; 46 | else 47 | state = FAIL; 48 | 49 | break; 50 | 51 | // Awake all modules ----------------------------------------------- 52 | case AWAKE: 53 | LOG("AWAKE PHASE ==============================="); 54 | if(App->Awake() == true) 55 | state = START; 56 | else 57 | { 58 | LOG("ERROR: Awake failed"); 59 | state = FAIL; 60 | } 61 | 62 | break; 63 | 64 | // Call all modules before first frame ---------------------------- 65 | case START: 66 | LOG("START PHASE ==============================="); 67 | if(App->Start() == true) 68 | { 69 | state = LOOP; 70 | LOG("UPDATE PHASE ==============================="); 71 | } 72 | else 73 | { 74 | state = FAIL; 75 | LOG("ERROR: Start failed"); 76 | } 77 | break; 78 | 79 | // Loop all modules until we are asked to leave --------------------- 80 | case LOOP: 81 | if(App->Update() == false) 82 | state = CLEAN; 83 | break; 84 | 85 | // Cleanup allocated memory ----------------------------------------- 86 | case CLEAN: 87 | LOG("CLEANUP PHASE ==============================="); 88 | if(App->CleanUp() == true) 89 | { 90 | RELEASE(App); 91 | result = EXIT_SUCCESS; 92 | state = EXIT; 93 | } 94 | else 95 | state = FAIL; 96 | 97 | break; 98 | 99 | // Exit with errors and shame --------------------------------------- 100 | case FAIL: 101 | LOG("Exiting with errors :("); 102 | result = EXIT_FAILURE; 103 | state = EXIT; 104 | break; 105 | } 106 | } 107 | 108 | LOG("... Bye! :)\n"); 109 | 110 | // Dump memory leaks 111 | return result; 112 | } -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/j1Module.h: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------- 2 | // j1Module.h 3 | // Interface for all engine modules 4 | // ---------------------------------------------------- 5 | 6 | #ifndef __j1MODULE_H__ 7 | #define __j1MODULE_H__ 8 | 9 | #include 10 | #include "PugiXml\src\pugixml.hpp" 11 | 12 | class j1App; 13 | 14 | class j1Module 15 | { 16 | public: 17 | 18 | j1Module() : active(false) 19 | {} 20 | 21 | virtual ~j1Module() 22 | {} 23 | 24 | void Init() 25 | { 26 | active = true; 27 | } 28 | 29 | // Called before render is available 30 | virtual bool Awake(pugi::xml_node&) 31 | { 32 | return true; 33 | } 34 | 35 | // Called before the first frame 36 | virtual bool Start() 37 | { 38 | return true; 39 | } 40 | 41 | // Called each loop iteration 42 | virtual bool PreUpdate() 43 | { 44 | return true; 45 | } 46 | 47 | // Called each loop iteration 48 | virtual bool Update(float dt) 49 | { 50 | return true; 51 | } 52 | 53 | // Called each loop iteration 54 | virtual bool PostUpdate() 55 | { 56 | return true; 57 | } 58 | 59 | // Called before quitting 60 | virtual bool CleanUp() 61 | { 62 | return true; 63 | } 64 | 65 | public: 66 | 67 | std::string name; 68 | bool active; 69 | 70 | }; 71 | 72 | #endif // __j1MODULE_H__ -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/j1PerfTimer.cpp: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------- 2 | // j1PerfTimer.cpp 3 | // Slow timer with microsecond precision 4 | // ---------------------------------------------------- 5 | 6 | #include "j1PerfTimer.h" 7 | #include "SDL\include\SDL_timer.h" 8 | 9 | uint64 j1PerfTimer::frequency = 0; 10 | 11 | // --------------------------------------------- 12 | j1PerfTimer::j1PerfTimer() 13 | { 14 | if (frequency == 0) 15 | frequency = SDL_GetPerformanceFrequency(); 16 | 17 | Start(); 18 | } 19 | 20 | // --------------------------------------------- 21 | void j1PerfTimer::Start() 22 | { 23 | started_at = SDL_GetPerformanceCounter(); 24 | } 25 | 26 | // --------------------------------------------- 27 | double j1PerfTimer::ReadMs() const 28 | { 29 | return 1000.0 * (double(SDL_GetPerformanceCounter() - started_at) / double(frequency)); 30 | } 31 | 32 | // --------------------------------------------- 33 | uint64 j1PerfTimer::ReadTicks() const 34 | { 35 | return (SDL_GetPerformanceCounter() - started_at); 36 | } -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/j1PerfTimer.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1PERFTIMER_H__ 2 | #define __j1PERFTIMER_H__ 3 | 4 | #include "p2Defs.h" 5 | 6 | class j1PerfTimer 7 | { 8 | public: 9 | 10 | // Constructor 11 | j1PerfTimer(); 12 | 13 | void Start(); 14 | double ReadMs() const; 15 | uint64 ReadTicks() const; 16 | 17 | private: 18 | uint64 started_at; 19 | static uint64 frequency; 20 | }; 21 | 22 | #endif //__j1PERFTIMER_H__ -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/j1Render.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1RENDER_H__ 2 | #define __j1RENDER_H__ 3 | 4 | #include "SDL/include/SDL.h" 5 | #include "p2Point.h" 6 | #include "j1Module.h" 7 | 8 | class j1Render : public j1Module 9 | { 10 | public: 11 | 12 | j1Render(); 13 | 14 | // Destructor 15 | virtual ~j1Render(); 16 | 17 | // Called before render is available 18 | bool Awake(pugi::xml_node&); 19 | 20 | // Called before the first frame 21 | bool Start(); 22 | 23 | // Called each loop iteration 24 | bool PreUpdate(); 25 | bool Update(float dt); 26 | bool PostUpdate(); 27 | 28 | // Called before quitting 29 | bool CleanUp(); 30 | 31 | // Utils 32 | void SetViewPort(const SDL_Rect& rect); 33 | void ResetViewPort(); 34 | iPoint ScreenToWorld(int x, int y) const; 35 | 36 | // Draw & Blit 37 | bool Blit(SDL_Texture* texture, int x, int y, const SDL_Rect* section = NULL, float speed = 1.0f, double angle = 0, int pivot_x = INT_MAX, int pivot_y = INT_MAX) const; 38 | bool DrawQuad(const SDL_Rect& rect, Uint8 r, Uint8 g, Uint8 b, Uint8 a = 255, bool filled = true, bool use_camera = true) const; 39 | bool DrawLine(int x1, int y1, int x2, int y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a = 255, bool use_camera = true) const; 40 | bool DrawCircle(int x1, int y1, int redius, Uint8 r, Uint8 g, Uint8 b, Uint8 a = 255, bool use_camera = true) const; 41 | 42 | // Set background color 43 | void SetBackgroundColor(SDL_Color color); 44 | 45 | public: 46 | 47 | SDL_Renderer* renderer; 48 | SDL_Rect camera; 49 | SDL_Rect viewport; 50 | SDL_Color background; 51 | }; 52 | 53 | #endif // __j1RENDER_H__ -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/j1Scene.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1SCENE_H__ 2 | #define __j1SCENE_H__ 3 | 4 | #include "j1Module.h" 5 | #include "j1PerfTimer.h" 6 | 7 | struct SDL_Texture; 8 | 9 | class j1Scene : public j1Module 10 | { 11 | public: 12 | 13 | j1Scene(); 14 | 15 | // Destructor 16 | virtual ~j1Scene(); 17 | 18 | // Called before render is available 19 | bool Awake(); 20 | 21 | // Called before the first frame 22 | bool Start(); 23 | 24 | // Called before all Updates 25 | bool PreUpdate(); 26 | 27 | // Called each loop iteration 28 | bool Update(float dt); 29 | 30 | // Called before all Updates 31 | bool PostUpdate(); 32 | 33 | // Called before quitting 34 | bool CleanUp(); 35 | 36 | private: 37 | 38 | //Pathfinding Debug Stuff 39 | SDL_Texture* debug_tex; 40 | bool activateJPS = false; 41 | j1PerfTimer PathfindingTimer; 42 | double Ptime; 43 | 44 | //Performance Test Showing (Debug Purposes) 45 | char* AlgorithmUsed = "Algorithm Used: A-Star (press F to change)"; 46 | SDL_Rect algorithmUsed_rect = {0, 0, 1, 1}; 47 | SDL_Texture* algorithmUsed_text = nullptr; 48 | 49 | char* ms_char = "Lasted Time (ms): "; 50 | SDL_Rect ms_charRect = { 0, 0, 1, 1 }; 51 | SDL_Texture* ms_charText = nullptr; 52 | 53 | char number_ms[10]; 54 | SDL_Texture *number_msTexture = nullptr; 55 | SDL_Rect number_ms_rect = { 0, 0, 1, 1 }; 56 | 57 | }; 58 | 59 | #endif // __j1SCENE_H__ -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/j1Textures.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1TEXTURES_H__ 2 | #define __j1TEXTURES_H__ 3 | 4 | #include "j1Module.h" 5 | #include 6 | 7 | struct SDL_Texture; 8 | struct SDL_Surface; 9 | 10 | class j1Textures : public j1Module 11 | { 12 | public: 13 | 14 | j1Textures(); 15 | 16 | // Destructor 17 | virtual ~j1Textures(); 18 | 19 | // Called before render is available 20 | bool Awake(pugi::xml_node&); 21 | 22 | // Called before the first frame 23 | bool Start(); 24 | 25 | // Called before quitting 26 | bool CleanUp(); 27 | 28 | // Load Texture 29 | SDL_Texture* const Load(const char* path); 30 | bool UnLoad(SDL_Texture* texture); 31 | SDL_Texture* const LoadSurface(SDL_Surface* surface); 32 | void GetSize(const SDL_Texture* texture, uint& width, uint& height) const; 33 | 34 | public: 35 | 36 | std::list textures; 37 | }; 38 | 39 | 40 | #endif // __j1TEXTURES_H__ -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/j1Timer.cpp: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------- 2 | // j1Timer.cpp 3 | // Fast timer with milisecons precision 4 | // ---------------------------------------------------- 5 | 6 | #include "j1Timer.h" 7 | #include "SDL\include\SDL_timer.h" 8 | 9 | // --------------------------------------------- 10 | j1Timer::j1Timer() 11 | { 12 | Start(); 13 | } 14 | 15 | void j1Timer::StartFrom(uint32 ms) { 16 | 17 | running = true; 18 | started_at = SDL_GetTicks() + (ms); 19 | } 20 | 21 | // --------------------------------------------- 22 | void j1Timer::Start() 23 | { 24 | started_at = SDL_GetTicks(); 25 | } 26 | 27 | void j1Timer::Stop() { 28 | 29 | running = false; 30 | stopped_at = SDL_GetTicks(); 31 | } 32 | 33 | // --------------------------------------------- 34 | uint32 j1Timer::Read() const 35 | { 36 | 37 | if (running == true) 38 | return (SDL_GetTicks() - started_at); 39 | else 40 | return stopped_at - started_at; 41 | } 42 | 43 | // --------------------------------------------- 44 | float j1Timer::ReadSec() const 45 | { 46 | 47 | if (running == true) 48 | return (float)(SDL_GetTicks() - started_at) / 1000.0f; 49 | else 50 | return (float)(stopped_at - started_at) / 1000.0f; 51 | } -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/j1Timer.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1TIMER_H__ 2 | #define __j1TIMER_H__ 3 | 4 | #include "p2Defs.h" 5 | 6 | class j1Timer 7 | { 8 | public: 9 | 10 | // Constructor 11 | j1Timer(); 12 | 13 | void Start(); 14 | void Stop(); 15 | void StartFrom(uint32 secs); 16 | 17 | uint32 Read() const; 18 | float ReadSec() const; 19 | 20 | private: 21 | 22 | uint32 started_at; 23 | uint32 stopped_at; 24 | bool running; 25 | 26 | 27 | }; 28 | 29 | #endif //__j1TIMER_H__ -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/j1Window.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1WINDOW_H__ 2 | #define __j1WINDOW_H__ 3 | 4 | #include "j1Module.h" 5 | 6 | struct SDL_Window; 7 | struct SDL_Surface; 8 | 9 | class j1Window : public j1Module 10 | { 11 | public: 12 | 13 | j1Window(); 14 | 15 | // Destructor 16 | virtual ~j1Window(); 17 | 18 | // Called before render is available 19 | bool Awake(pugi::xml_node&); 20 | 21 | // Called before quitting 22 | bool CleanUp(); 23 | 24 | // Changae title 25 | void SetTitle(const char* new_title); 26 | 27 | // Retrive window size 28 | void GetWindowSize(uint& width, uint& height) const; 29 | 30 | // Retrieve window scale 31 | uint GetScale() const; 32 | 33 | public: 34 | //The window we'll be rendering to 35 | SDL_Window* window; 36 | 37 | //The surface contained by the window 38 | SDL_Surface* screen_surface; 39 | 40 | private: 41 | std::string title; 42 | uint width; 43 | uint height; 44 | uint scale; 45 | }; 46 | 47 | #endif // __j1WINDOW_H__ -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/p2Defs.h: -------------------------------------------------------------------------------- 1 | #ifndef __P2DEFS_H__ 2 | #define __P2DEFS_H__ 3 | 4 | #include 5 | 6 | // NULL just in case ---------------------- 7 | 8 | #ifdef NULL 9 | #undef NULL 10 | #endif 11 | #define NULL 0 12 | 13 | // Deletes a buffer 14 | #define RELEASE( x ) \ 15 | { \ 16 | if( x != NULL ) \ 17 | { \ 18 | delete x; \ 19 | x = NULL; \ 20 | } \ 21 | } 22 | 23 | // Deletes an array of buffers 24 | #define RELEASE_ARRAY( x ) \ 25 | { \ 26 | if( x != NULL ) \ 27 | { \ 28 | delete[] x; \ 29 | x = NULL; \ 30 | } \ 31 | \ 32 | } 33 | 34 | #define IN_RANGE( value, min, max ) ( ((value) >= (min) && (value) <= (max)) ? 1 : 0 ) 35 | #define MIN( a, b ) ( ((a) < (b)) ? (a) : (b) ) 36 | #define MAX( a, b ) ( ((a) > (b)) ? (a) : (b) ) 37 | #define TO_BOOL( a ) ( (a != 0) ? true : false ) 38 | 39 | //Clamp: https://en.cppreference.com/w/cpp/algorithm/clamp 40 | //If X is between lower and upper, returns X. Else, if X < lower, returns lower. Else, if X > upper, returns upper. 41 | #define CLAMP(x, upper, lower) (MIN(upper, MAX(x, lower))) 42 | 43 | typedef unsigned int uint; 44 | typedef unsigned char uchar; 45 | typedef unsigned __int32 uint32; 46 | typedef unsigned __int64 uint64; 47 | 48 | template void SWAP(VALUE_TYPE& a, VALUE_TYPE& b) 49 | { 50 | VALUE_TYPE tmp = a; 51 | a = b; 52 | b = tmp; 53 | } 54 | 55 | // Standard string size 56 | #define SHORT_STR 32 57 | #define MID_STR 255 58 | #define HUGE_STR 8192 59 | 60 | // Joins a path and file 61 | inline const char* const PATH(const char* folder, const char* file) 62 | { 63 | static char path[MID_STR]; 64 | sprintf_s(path, MID_STR, "%s/%s", folder, file); 65 | return path; 66 | } 67 | 68 | // Performance macros 69 | #define PERF_START(timer) timer.Start() 70 | #define PERF_PEEK(timer) LOG("%s took %f ms", __FUNCTION__, timer.ReadMs()) 71 | 72 | #endif -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/p2Log.cpp: -------------------------------------------------------------------------------- 1 | #include "p2Log.h" 2 | 3 | void log(const char file[], int line, const char* format, ...) 4 | { 5 | static char tmp_string[4096]; 6 | static char tmp_string2[4096]; 7 | static va_list ap; 8 | 9 | // Construct the string from variable arguments 10 | va_start(ap, format); 11 | vsprintf_s(tmp_string, 4096, format, ap); 12 | va_end(ap); 13 | sprintf_s(tmp_string2, 4096, "\n%s(%d) : %s", file, line, tmp_string); 14 | OutputDebugString(tmp_string2); 15 | } -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/p2Log.h: -------------------------------------------------------------------------------- 1 | #ifndef __p2Log_H__ 2 | #define __p2Log_H__ 3 | 4 | #include 5 | #include 6 | 7 | #define LOG(format, ...) log(__FILE__, __LINE__, format, __VA_ARGS__) 8 | 9 | void log(const char file[], int line, const char* format, ...); 10 | 11 | #endif -------------------------------------------------------------------------------- /JPS - Handout/Motor2D/p2Point.h: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------- 2 | // Point class ----------- 3 | // ---------------------------------------------------- 4 | 5 | #ifndef __P2POINT_H__ 6 | #define __P2POINT_H__ 7 | 8 | #include "p2Defs.h" 9 | #include 10 | 11 | template 12 | class p2Point 13 | { 14 | public: 15 | 16 | TYPE x, y; 17 | 18 | p2Point() 19 | {} 20 | 21 | p2Point(const p2Point& v) 22 | { 23 | this->x = v.x; 24 | this->y = v.y; 25 | } 26 | 27 | p2Point(const TYPE& x, const TYPE& y) 28 | { 29 | this->x = x; 30 | this->y = y; 31 | } 32 | 33 | p2Point& create(const TYPE& x, const TYPE& y) 34 | { 35 | this->x = x; 36 | this->y = y; 37 | 38 | return(*this); 39 | } 40 | 41 | // Math ------------------------------------------------ 42 | p2Point operator -(const p2Point &v) const 43 | { 44 | p2Vector2 r; 45 | 46 | r.x = x - v.x; 47 | r.y = y - v.y; 48 | 49 | return(r); 50 | } 51 | 52 | p2Point operator + (const p2Point &v) const 53 | { 54 | p2Point r; 55 | 56 | r.x = x + v.x; 57 | r.y = y + v.y; 58 | 59 | return(r); 60 | } 61 | 62 | const p2Point& operator -=(const p2Point &v) 63 | { 64 | x -= v.x; 65 | y -= v.y; 66 | 67 | return(*this); 68 | } 69 | 70 | const p2Point& operator +=(const p2Point &v) 71 | { 72 | x += v.x; 73 | y += v.y; 74 | 75 | return(*this); 76 | } 77 | 78 | bool operator ==(const p2Point& v) const 79 | { 80 | return (x == v.x && y == v.y); 81 | } 82 | 83 | bool operator !=(const p2Point& v) const 84 | { 85 | return (x != v.x || y != v.y); 86 | } 87 | 88 | // Utils ------------------------------------------------ 89 | bool IsZero() const 90 | { 91 | return (x == 0 && y == 0); 92 | } 93 | 94 | p2Point& SetToZero() 95 | { 96 | x = y = 0; 97 | return(*this); 98 | } 99 | 100 | p2Point& Negate() 101 | { 102 | x = -x; 103 | y = -y; 104 | 105 | return(*this); 106 | } 107 | 108 | // Distances --------------------------------------------- 109 | TYPE DistanceTo(const p2Point& v) const 110 | { 111 | TYPE fx = x - v.x; 112 | TYPE fy = y - v.y; 113 | 114 | return sqrtf((fx*fx) + (fy*fy)); 115 | } 116 | 117 | TYPE DistanceNoSqrt(const p2Point& v) const 118 | { 119 | TYPE fx = x - v.x; 120 | TYPE fy = y - v.y; 121 | 122 | return (fx*fx) + (fy*fy); 123 | } 124 | 125 | TYPE DistanceManhattan(const p2Point& v) const 126 | { 127 | return abs(v.x - x) + abs(v.y - y); 128 | } 129 | 130 | TYPE DiagonalDistance(const p2Point& v) const 131 | { 132 | 133 | TYPE fx = abs(v.x - x); 134 | TYPE fy = abs(v.y - y); 135 | 136 | return (fx + fy)*min(fx, fy); 137 | 138 | } 139 | }; 140 | 141 | typedef p2Point iPoint; 142 | typedef p2Point fPoint; 143 | 144 | #endif // __P2POINT_H__ -------------------------------------------------------------------------------- /JPS - Solution/Game/EasyHook32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/EasyHook32.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/JPS.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/JPS.exe -------------------------------------------------------------------------------- /JPS - Solution/Game/ProfilerCore32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/ProfilerCore32.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/SDL2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/SDL2.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/SDL2_image.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/SDL2_image.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/SDL2_mixer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/SDL2_mixer.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/SDL2_ttf.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/SDL2_ttf.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | JPS - AStar Optimizations 6 | UPC/Project II - Lucho Suaya 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | data.zip 23 | 24 | 25 | 26 | maps/ 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /JPS - Solution/Game/fonts/molot/Molot.OTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/fonts/molot/Molot.OTF -------------------------------------------------------------------------------- /JPS - Solution/Game/fonts/open_sans/OpenSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/fonts/open_sans/OpenSans-Bold.ttf -------------------------------------------------------------------------------- /JPS - Solution/Game/fonts/open_sans/OpenSans-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/fonts/open_sans/OpenSans-BoldItalic.ttf -------------------------------------------------------------------------------- /JPS - Solution/Game/fonts/open_sans/OpenSans-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/fonts/open_sans/OpenSans-ExtraBold.ttf -------------------------------------------------------------------------------- /JPS - Solution/Game/fonts/open_sans/OpenSans-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/fonts/open_sans/OpenSans-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /JPS - Solution/Game/fonts/open_sans/OpenSans-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/fonts/open_sans/OpenSans-Italic.ttf -------------------------------------------------------------------------------- /JPS - Solution/Game/fonts/open_sans/OpenSans-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/fonts/open_sans/OpenSans-Light.ttf -------------------------------------------------------------------------------- /JPS - Solution/Game/fonts/open_sans/OpenSans-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/fonts/open_sans/OpenSans-LightItalic.ttf -------------------------------------------------------------------------------- /JPS - Solution/Game/fonts/open_sans/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/fonts/open_sans/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /JPS - Solution/Game/fonts/open_sans/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/fonts/open_sans/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /JPS - Solution/Game/fonts/open_sans/OpenSans-SemiboldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/fonts/open_sans/OpenSans-SemiboldItalic.ttf -------------------------------------------------------------------------------- /JPS - Solution/Game/fonts/russian/Russian.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/fonts/russian/Russian.TTF -------------------------------------------------------------------------------- /JPS - Solution/Game/libFLAC-8.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/libFLAC-8.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/libfreetype-6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/libfreetype-6.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/libjpeg-9.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/libjpeg-9.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/libmikmod-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/libmikmod-2.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/libmodplug-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/libmodplug-1.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/libogg-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/libogg-0.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/libpng16-16.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/libpng16-16.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/libtiff-5.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/libtiff-5.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/libvorbis-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/libvorbis-0.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/libvorbisfile-3.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/libvorbisfile-3.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/libwebp-4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/libwebp-4.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/maps/Tileset_Terrain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/maps/Tileset_Terrain.png -------------------------------------------------------------------------------- /JPS - Solution/Game/maps/isometric_grass_and_water.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/maps/isometric_grass_and_water.png -------------------------------------------------------------------------------- /JPS - Solution/Game/maps/meta2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/maps/meta2.png -------------------------------------------------------------------------------- /JPS - Solution/Game/maps/path2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/maps/path2.png -------------------------------------------------------------------------------- /JPS - Solution/Game/smpeg2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/smpeg2.dll -------------------------------------------------------------------------------- /JPS - Solution/Game/zlib1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Game/zlib1.dll -------------------------------------------------------------------------------- /JPS - Solution/JumpPointSearch.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.32228.343 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JPS", "Motor2D\Motor2D.vcxproj", "{2AF9969B-F202-497B-AF30-7BEF9CE8005E}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Release|Win32 = Release|Win32 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {2AF9969B-F202-497B-AF30-7BEF9CE8005E}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {2AF9969B-F202-497B-AF30-7BEF9CE8005E}.Debug|Win32.Build.0 = Debug|Win32 16 | {2AF9969B-F202-497B-AF30-7BEF9CE8005E}.Release|Win32.ActiveCfg = Release|Win32 17 | {2AF9969B-F202-497B-AF30-7BEF9CE8005E}.Release|Win32.Build.0 = Release|Win32 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {432E23C8-DB7A-43B9-A473-C171CDDEA85C} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/Fonts.h: -------------------------------------------------------------------------------- 1 | #ifndef FONTS_H 2 | #define FONTS_H 3 | 4 | #include "j1Module.h" 5 | #include "SDL\include\SDL_pixels.h" 6 | 7 | #define DEFAULT_FONT_PATH "fonts/open_sans/OpenSans-Regular.ttf" 8 | #define DEFAULT_FONT_SIZE 6 9 | #define DEFAULT_FONT_COLOR { 255, 255, 255, 255 } 10 | 11 | struct SDL_Texture; 12 | struct _TTF_Font; 13 | 14 | enum class font_id { 15 | 16 | DEFAULT, 17 | 18 | MAX_FONTS 19 | }; 20 | 21 | struct text_font { 22 | 23 | font_id id; 24 | std::string path; 25 | int size; 26 | _TTF_Font* fontPtr; 27 | }; 28 | 29 | class Fonts : public j1Module 30 | { 31 | public: 32 | 33 | Fonts(); 34 | 35 | // Destructor 36 | virtual ~Fonts(); 37 | 38 | // Called before render is available 39 | bool Awake(pugi::xml_node&); 40 | 41 | // Called before quitting 42 | bool CleanUp(); 43 | 44 | // Load Font 45 | _TTF_Font* const Load(const char* path, int size); 46 | 47 | // Create a surface from text 48 | SDL_Texture* Print(const char* text, SDL_Color color = DEFAULT_FONT_COLOR, _TTF_Font* font = NULL); 49 | 50 | bool CalcSize(const char* text, int& width, int& height, _TTF_Font* font = NULL) const; 51 | 52 | public: 53 | 54 | text_font* fontsList[(int)font_id::MAX_FONTS]; 55 | _TTF_Font* defaultFont = nullptr; 56 | 57 | }; 58 | 59 | 60 | #endif // FONTS_H -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/PugiXml/readme.txt: -------------------------------------------------------------------------------- 1 | pugixml 1.6 - an XML processing library 2 | 3 | Copyright (C) 2006-2015, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com) 4 | Report bugs and download new versions at http://pugixml.org/ 5 | 6 | This is the distribution of pugixml, which is a C++ XML processing library, 7 | which consists of a DOM-like interface with rich traversal/modification 8 | capabilities, an extremely fast XML parser which constructs the DOM tree from 9 | an XML file/buffer, and an XPath 1.0 implementation for complex data-driven 10 | tree queries. Full Unicode support is also available, with Unicode interface 11 | variants and conversions between different Unicode encodings (which happen 12 | automatically during parsing/saving). 13 | 14 | The distribution contains the following folders: 15 | 16 | contrib/ - various contributions to pugixml 17 | 18 | docs/ - documentation 19 | docs/samples - pugixml usage examples 20 | docs/quickstart.html - quick start guide 21 | docs/manual.html - complete manual 22 | 23 | scripts/ - project files for IDE/build systems 24 | 25 | src/ - header and source files 26 | 27 | readme.txt - this file. 28 | 29 | This library is distributed under the MIT License: 30 | 31 | Copyright (c) 2006-2015 Arseny Kapoulkine 32 | 33 | Permission is hereby granted, free of charge, to any person 34 | obtaining a copy of this software and associated documentation 35 | files (the "Software"), to deal in the Software without 36 | restriction, including without limitation the rights to use, 37 | copy, modify, merge, publish, distribute, sublicense, and/or sell 38 | copies of the Software, and to permit persons to whom the 39 | Software is furnished to do so, subject to the following 40 | conditions: 41 | 42 | The above copyright notice and this permission notice shall be 43 | included in all copies or substantial portions of the Software. 44 | 45 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 46 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 47 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 48 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 49 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 50 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 51 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 52 | OTHER DEALINGS IN THE SOFTWARE. 53 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/BUGS.txt: -------------------------------------------------------------------------------- 1 | 2 | Bugs are now managed in the SDL bug tracker, here: 3 | 4 | http://bugzilla.libsdl.org/ 5 | 6 | You may report bugs there, and search to see if a given issue has already 7 | been reported, discussed, and maybe even fixed. 8 | 9 | 10 | You may also find help on the SDL mailing list. Subscription information: 11 | 12 | http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org 13 | 14 | Bug reports are welcome here, but we really appreciate if you use Bugzilla, as 15 | bugs discussed on the mailing list may be forgotten or missed. 16 | 17 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/COPYING.txt: -------------------------------------------------------------------------------- 1 | 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | 21 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/README-SDL.txt: -------------------------------------------------------------------------------- 1 | 2 | Please distribute this file with the SDL runtime environment: 3 | 4 | The Simple DirectMedia Layer (SDL for short) is a cross-platform library 5 | designed to make it easy to write multi-media software, such as games and 6 | emulators. 7 | 8 | The Simple DirectMedia Layer library source code is available from: 9 | http://www.libsdl.org/ 10 | 11 | This library is distributed under the terms of the zlib license: 12 | http://www.zlib.net/zlib_license.html 13 | 14 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/README.txt: -------------------------------------------------------------------------------- 1 | 2 | Simple DirectMedia Layer 3 | 4 | (SDL) 5 | 6 | Version 2.0 7 | 8 | --- 9 | http://www.libsdl.org/ 10 | 11 | Simple DirectMedia Layer is a cross-platform development library designed 12 | to provide low level access to audio, keyboard, mouse, joystick, and graphics 13 | hardware via OpenGL and Direct3D. It is used by video playback software, 14 | emulators, and popular games including Valve's award winning catalog 15 | and many Humble Bundle games. 16 | 17 | More extensive documentation is available in the docs directory, starting 18 | with README.md 19 | 20 | Enjoy! 21 | Sam Lantinga (slouken@libsdl.org) 22 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_blendmode.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_blendmode.h 24 | * 25 | * Header file declaring the SDL_BlendMode enumeration 26 | */ 27 | 28 | #ifndef _SDL_blendmode_h 29 | #define _SDL_blendmode_h 30 | 31 | #include "begin_code.h" 32 | /* Set up for C function definitions, even when using C++ */ 33 | #ifdef __cplusplus 34 | extern "C" { 35 | #endif 36 | 37 | /** 38 | * \brief The blend mode used in SDL_RenderCopy() and drawing operations. 39 | */ 40 | typedef enum 41 | { 42 | SDL_BLENDMODE_NONE = 0x00000000, /**< no blending 43 | dstRGBA = srcRGBA */ 44 | SDL_BLENDMODE_BLEND = 0x00000001, /**< alpha blending 45 | dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA)) 46 | dstA = srcA + (dstA * (1-srcA)) */ 47 | SDL_BLENDMODE_ADD = 0x00000002, /**< additive blending 48 | dstRGB = (srcRGB * srcA) + dstRGB 49 | dstA = dstA */ 50 | SDL_BLENDMODE_MOD = 0x00000004 /**< color modulate 51 | dstRGB = srcRGB * dstRGB 52 | dstA = dstA */ 53 | } SDL_BlendMode; 54 | 55 | /* Ends C function definitions when using C++ */ 56 | #ifdef __cplusplus 57 | } 58 | #endif 59 | #include "close_code.h" 60 | 61 | #endif /* _SDL_blendmode_h */ 62 | 63 | /* vi: set ts=4 sw=4 expandtab: */ 64 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_clipboard.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_clipboard.h 24 | * 25 | * Include file for SDL clipboard handling 26 | */ 27 | 28 | #ifndef _SDL_clipboard_h 29 | #define _SDL_clipboard_h 30 | 31 | #include "SDL_stdinc.h" 32 | 33 | #include "begin_code.h" 34 | /* Set up for C function definitions, even when using C++ */ 35 | #ifdef __cplusplus 36 | extern "C" { 37 | #endif 38 | 39 | /* Function prototypes */ 40 | 41 | /** 42 | * \brief Put UTF-8 text into the clipboard 43 | * 44 | * \sa SDL_GetClipboardText() 45 | */ 46 | extern DECLSPEC int SDLCALL SDL_SetClipboardText(const char *text); 47 | 48 | /** 49 | * \brief Get UTF-8 text from the clipboard, which must be freed with SDL_free() 50 | * 51 | * \sa SDL_SetClipboardText() 52 | */ 53 | extern DECLSPEC char * SDLCALL SDL_GetClipboardText(void); 54 | 55 | /** 56 | * \brief Returns a flag indicating whether the clipboard exists and contains a text string that is non-empty 57 | * 58 | * \sa SDL_GetClipboardText() 59 | */ 60 | extern DECLSPEC SDL_bool SDLCALL SDL_HasClipboardText(void); 61 | 62 | 63 | /* Ends C function definitions when using C++ */ 64 | #ifdef __cplusplus 65 | } 66 | #endif 67 | #include "close_code.h" 68 | 69 | #endif /* _SDL_clipboard_h */ 70 | 71 | /* vi: set ts=4 sw=4 expandtab: */ 72 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_error.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_error.h 24 | * 25 | * Simple error message routines for SDL. 26 | */ 27 | 28 | #ifndef _SDL_error_h 29 | #define _SDL_error_h 30 | 31 | #include "SDL_stdinc.h" 32 | 33 | #include "begin_code.h" 34 | /* Set up for C function definitions, even when using C++ */ 35 | #ifdef __cplusplus 36 | extern "C" { 37 | #endif 38 | 39 | /* Public functions */ 40 | /* SDL_SetError() unconditionally returns -1. */ 41 | extern DECLSPEC int SDLCALL SDL_SetError(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1); 42 | extern DECLSPEC const char *SDLCALL SDL_GetError(void); 43 | extern DECLSPEC void SDLCALL SDL_ClearError(void); 44 | 45 | /** 46 | * \name Internal error functions 47 | * 48 | * \internal 49 | * Private error reporting function - used internally. 50 | */ 51 | /* @{ */ 52 | #define SDL_OutOfMemory() SDL_Error(SDL_ENOMEM) 53 | #define SDL_Unsupported() SDL_Error(SDL_UNSUPPORTED) 54 | #define SDL_InvalidParamError(param) SDL_SetError("Parameter '%s' is invalid", (param)) 55 | typedef enum 56 | { 57 | SDL_ENOMEM, 58 | SDL_EFREAD, 59 | SDL_EFWRITE, 60 | SDL_EFSEEK, 61 | SDL_UNSUPPORTED, 62 | SDL_LASTERROR 63 | } SDL_errorcode; 64 | /* SDL_Error() unconditionally returns -1. */ 65 | extern DECLSPEC int SDLCALL SDL_Error(SDL_errorcode code); 66 | /* @} *//* Internal error functions */ 67 | 68 | /* Ends C function definitions when using C++ */ 69 | #ifdef __cplusplus 70 | } 71 | #endif 72 | #include "close_code.h" 73 | 74 | #endif /* _SDL_error_h */ 75 | 76 | /* vi: set ts=4 sw=4 expandtab: */ 77 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_gesture.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_gesture.h 24 | * 25 | * Include file for SDL gesture event handling. 26 | */ 27 | 28 | #ifndef _SDL_gesture_h 29 | #define _SDL_gesture_h 30 | 31 | #include "SDL_stdinc.h" 32 | #include "SDL_error.h" 33 | #include "SDL_video.h" 34 | 35 | #include "SDL_touch.h" 36 | 37 | 38 | #include "begin_code.h" 39 | /* Set up for C function definitions, even when using C++ */ 40 | #ifdef __cplusplus 41 | extern "C" { 42 | #endif 43 | 44 | typedef Sint64 SDL_GestureID; 45 | 46 | /* Function prototypes */ 47 | 48 | /** 49 | * \brief Begin Recording a gesture on the specified touch, or all touches (-1) 50 | * 51 | * 52 | */ 53 | extern DECLSPEC int SDLCALL SDL_RecordGesture(SDL_TouchID touchId); 54 | 55 | 56 | /** 57 | * \brief Save all currently loaded Dollar Gesture templates 58 | * 59 | * 60 | */ 61 | extern DECLSPEC int SDLCALL SDL_SaveAllDollarTemplates(SDL_RWops *dst); 62 | 63 | /** 64 | * \brief Save a currently loaded Dollar Gesture template 65 | * 66 | * 67 | */ 68 | extern DECLSPEC int SDLCALL SDL_SaveDollarTemplate(SDL_GestureID gestureId,SDL_RWops *dst); 69 | 70 | 71 | /** 72 | * \brief Load Dollar Gesture templates from a file 73 | * 74 | * 75 | */ 76 | extern DECLSPEC int SDLCALL SDL_LoadDollarTemplates(SDL_TouchID touchId, SDL_RWops *src); 77 | 78 | 79 | /* Ends C function definitions when using C++ */ 80 | #ifdef __cplusplus 81 | } 82 | #endif 83 | #include "close_code.h" 84 | 85 | #endif /* _SDL_gesture_h */ 86 | 87 | /* vi: set ts=4 sw=4 expandtab: */ 88 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_name.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | #ifndef _SDLname_h_ 23 | #define _SDLname_h_ 24 | 25 | #if defined(__STDC__) || defined(__cplusplus) 26 | #define NeedFunctionPrototypes 1 27 | #endif 28 | 29 | #define SDL_NAME(X) SDL_##X 30 | 31 | #endif /* _SDLname_h_ */ 32 | 33 | /* vi: set ts=4 sw=4 expandtab: */ 34 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_opengles.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_opengles.h 24 | * 25 | * This is a simple file to encapsulate the OpenGL ES 1.X API headers. 26 | */ 27 | 28 | #ifdef __IPHONEOS__ 29 | #include 30 | #include 31 | #else 32 | #include 33 | #include 34 | #endif 35 | 36 | #ifndef APIENTRY 37 | #define APIENTRY 38 | #endif 39 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_opengles2.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_opengles2.h 24 | * 25 | * This is a simple file to encapsulate the OpenGL ES 2.0 API headers. 26 | */ 27 | #ifndef _MSC_VER 28 | 29 | #ifdef __IPHONEOS__ 30 | #include 31 | #include 32 | #else 33 | #include 34 | #include 35 | #include 36 | #endif 37 | 38 | #else /* _MSC_VER */ 39 | 40 | /* OpenGL ES2 headers for Visual Studio */ 41 | #include "SDL_opengles2_khrplatform.h" 42 | #include "SDL_opengles2_gl2platform.h" 43 | #include "SDL_opengles2_gl2.h" 44 | #include "SDL_opengles2_gl2ext.h" 45 | 46 | #endif /* _MSC_VER */ 47 | 48 | #ifndef APIENTRY 49 | #define APIENTRY GL_APIENTRY 50 | #endif 51 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_opengles2_gl2platform.h: -------------------------------------------------------------------------------- 1 | #ifndef __gl2platform_h_ 2 | #define __gl2platform_h_ 3 | 4 | /* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */ 5 | 6 | /* 7 | * This document is licensed under the SGI Free Software B License Version 8 | * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . 9 | */ 10 | 11 | /* Platform-specific types and definitions for OpenGL ES 2.X gl2.h 12 | * 13 | * Adopters may modify khrplatform.h and this file to suit their platform. 14 | * You are encouraged to submit all modifications to the Khronos group so that 15 | * they can be included in future versions of this file. Please submit changes 16 | * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) 17 | * by filing a bug against product "OpenGL-ES" component "Registry". 18 | */ 19 | 20 | /*#include */ 21 | 22 | #ifndef GL_APICALL 23 | #define GL_APICALL KHRONOS_APICALL 24 | #endif 25 | 26 | #ifndef GL_APIENTRY 27 | #define GL_APIENTRY KHRONOS_APIENTRY 28 | #endif 29 | 30 | #endif /* __gl2platform_h_ */ 31 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_power.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | #ifndef _SDL_power_h 23 | #define _SDL_power_h 24 | 25 | /** 26 | * \file SDL_power.h 27 | * 28 | * Header for the SDL power management routines. 29 | */ 30 | 31 | #include "SDL_stdinc.h" 32 | 33 | #include "begin_code.h" 34 | /* Set up for C function definitions, even when using C++ */ 35 | #ifdef __cplusplus 36 | extern "C" { 37 | #endif 38 | 39 | /** 40 | * \brief The basic state for the system's power supply. 41 | */ 42 | typedef enum 43 | { 44 | SDL_POWERSTATE_UNKNOWN, /**< cannot determine power status */ 45 | SDL_POWERSTATE_ON_BATTERY, /**< Not plugged in, running on the battery */ 46 | SDL_POWERSTATE_NO_BATTERY, /**< Plugged in, no battery available */ 47 | SDL_POWERSTATE_CHARGING, /**< Plugged in, charging battery */ 48 | SDL_POWERSTATE_CHARGED /**< Plugged in, battery charged */ 49 | } SDL_PowerState; 50 | 51 | 52 | /** 53 | * \brief Get the current power supply details. 54 | * 55 | * \param secs Seconds of battery life left. You can pass a NULL here if 56 | * you don't care. Will return -1 if we can't determine a 57 | * value, or we're not running on a battery. 58 | * 59 | * \param pct Percentage of battery life left, between 0 and 100. You can 60 | * pass a NULL here if you don't care. Will return -1 if we 61 | * can't determine a value, or we're not running on a battery. 62 | * 63 | * \return The state of the battery (if any). 64 | */ 65 | extern DECLSPEC SDL_PowerState SDLCALL SDL_GetPowerInfo(int *secs, int *pct); 66 | 67 | /* Ends C function definitions when using C++ */ 68 | #ifdef __cplusplus 69 | } 70 | #endif 71 | #include "close_code.h" 72 | 73 | #endif /* _SDL_power_h */ 74 | 75 | /* vi: set ts=4 sw=4 expandtab: */ 76 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_quit.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_quit.h 24 | * 25 | * Include file for SDL quit event handling. 26 | */ 27 | 28 | #ifndef _SDL_quit_h 29 | #define _SDL_quit_h 30 | 31 | #include "SDL_stdinc.h" 32 | #include "SDL_error.h" 33 | 34 | /** 35 | * \file SDL_quit.h 36 | * 37 | * An ::SDL_QUIT event is generated when the user tries to close the application 38 | * window. If it is ignored or filtered out, the window will remain open. 39 | * If it is not ignored or filtered, it is queued normally and the window 40 | * is allowed to close. When the window is closed, screen updates will 41 | * complete, but have no effect. 42 | * 43 | * SDL_Init() installs signal handlers for SIGINT (keyboard interrupt) 44 | * and SIGTERM (system termination request), if handlers do not already 45 | * exist, that generate ::SDL_QUIT events as well. There is no way 46 | * to determine the cause of an ::SDL_QUIT event, but setting a signal 47 | * handler in your application will override the default generation of 48 | * quit events for that signal. 49 | * 50 | * \sa SDL_Quit() 51 | */ 52 | 53 | /* There are no functions directly affecting the quit event */ 54 | 55 | #define SDL_QuitRequested() \ 56 | (SDL_PumpEvents(), (SDL_PeepEvents(NULL,0,SDL_PEEKEVENT,SDL_QUIT,SDL_QUIT) > 0)) 57 | 58 | #endif /* _SDL_quit_h */ 59 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_revision.h: -------------------------------------------------------------------------------- 1 | #define SDL_REVISION "hg-10001:e12c38730512" 2 | #define SDL_REVISION_NUMBER 10001 3 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_test.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_test.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | #ifndef _SDL_test_h 31 | #define _SDL_test_h 32 | 33 | #include "SDL.h" 34 | #include "SDL_test_common.h" 35 | #include "SDL_test_font.h" 36 | #include "SDL_test_random.h" 37 | #include "SDL_test_fuzzer.h" 38 | #include "SDL_test_crc32.h" 39 | #include "SDL_test_md5.h" 40 | #include "SDL_test_log.h" 41 | #include "SDL_test_assert.h" 42 | #include "SDL_test_harness.h" 43 | #include "SDL_test_images.h" 44 | #include "SDL_test_compare.h" 45 | 46 | #include "begin_code.h" 47 | /* Set up for C function definitions, even when using C++ */ 48 | #ifdef __cplusplus 49 | extern "C" { 50 | #endif 51 | 52 | /* Global definitions */ 53 | 54 | /* 55 | * Note: Maximum size of SDLTest log message is less than SDL's limit 56 | * to ensure we can fit additional information such as the timestamp. 57 | */ 58 | #define SDLTEST_MAX_LOGMESSAGE_LENGTH 3584 59 | 60 | /* Ends C function definitions when using C++ */ 61 | #ifdef __cplusplus 62 | } 63 | #endif 64 | #include "close_code.h" 65 | 66 | #endif /* _SDL_test_h */ 67 | 68 | /* vi: set ts=4 sw=4 expandtab: */ 69 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_test_compare.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_test_compare.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | /* 31 | 32 | Defines comparison functions (i.e. for surfaces). 33 | 34 | */ 35 | 36 | #ifndef _SDL_test_compare_h 37 | #define _SDL_test_compare_h 38 | 39 | #include "SDL.h" 40 | 41 | #include "SDL_test_images.h" 42 | 43 | #include "begin_code.h" 44 | /* Set up for C function definitions, even when using C++ */ 45 | #ifdef __cplusplus 46 | extern "C" { 47 | #endif 48 | 49 | /** 50 | * \brief Compares a surface and with reference image data for equality 51 | * 52 | * \param surface Surface used in comparison 53 | * \param referenceSurface Test Surface used in comparison 54 | * \param allowable_error Allowable difference (=sum of squared difference for each RGB component) in blending accuracy. 55 | * 56 | * \returns 0 if comparison succeeded, >0 (=number of pixels for which the comparison failed) if comparison failed, -1 if any of the surfaces were NULL, -2 if the surface sizes differ. 57 | */ 58 | int SDLTest_CompareSurfaces(SDL_Surface *surface, SDL_Surface *referenceSurface, int allowable_error); 59 | 60 | 61 | /* Ends C function definitions when using C++ */ 62 | #ifdef __cplusplus 63 | } 64 | #endif 65 | #include "close_code.h" 66 | 67 | #endif /* _SDL_test_compare_h */ 68 | 69 | /* vi: set ts=4 sw=4 expandtab: */ 70 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_test_font.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_test_font.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | #ifndef _SDL_test_font_h 31 | #define _SDL_test_font_h 32 | 33 | #include "begin_code.h" 34 | /* Set up for C function definitions, even when using C++ */ 35 | #ifdef __cplusplus 36 | extern "C" { 37 | #endif 38 | 39 | /* Function prototypes */ 40 | 41 | #define FONT_CHARACTER_SIZE 8 42 | 43 | /** 44 | * \brief Draw a string in the currently set font. 45 | * 46 | * \param renderer The renderer to draw on. 47 | * \param x The X coordinate of the upper left corner of the character. 48 | * \param y The Y coordinate of the upper left corner of the character. 49 | * \param c The character to draw. 50 | * 51 | * \returns Returns 0 on success, -1 on failure. 52 | */ 53 | int SDLTest_DrawCharacter( SDL_Renderer *renderer, int x, int y, char c ); 54 | 55 | /** 56 | * \brief Draw a string in the currently set font. 57 | * 58 | * \param renderer The renderer to draw on. 59 | * \param x The X coordinate of the upper left corner of the string. 60 | * \param y The Y coordinate of the upper left corner of the string. 61 | * \param s The string to draw. 62 | * 63 | * \returns Returns 0 on success, -1 on failure. 64 | */ 65 | int SDLTest_DrawString( SDL_Renderer * renderer, int x, int y, const char *s ); 66 | 67 | 68 | /* Ends C function definitions when using C++ */ 69 | #ifdef __cplusplus 70 | } 71 | #endif 72 | #include "close_code.h" 73 | 74 | #endif /* _SDL_test_font_h */ 75 | 76 | /* vi: set ts=4 sw=4 expandtab: */ 77 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_test_images.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_test_images.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | /* 31 | 32 | Defines some images for tests. 33 | 34 | */ 35 | 36 | #ifndef _SDL_test_images_h 37 | #define _SDL_test_images_h 38 | 39 | #include "SDL.h" 40 | 41 | #include "begin_code.h" 42 | /* Set up for C function definitions, even when using C++ */ 43 | #ifdef __cplusplus 44 | extern "C" { 45 | #endif 46 | 47 | /** 48 | *Type for test images. 49 | */ 50 | typedef struct SDLTest_SurfaceImage_s { 51 | int width; 52 | int height; 53 | unsigned int bytes_per_pixel; /* 3:RGB, 4:RGBA */ 54 | const char *pixel_data; 55 | } SDLTest_SurfaceImage_t; 56 | 57 | /* Test images */ 58 | SDL_Surface *SDLTest_ImageBlit(); 59 | SDL_Surface *SDLTest_ImageBlitColor(); 60 | SDL_Surface *SDLTest_ImageBlitAlpha(); 61 | SDL_Surface *SDLTest_ImageBlitBlendAdd(); 62 | SDL_Surface *SDLTest_ImageBlitBlend(); 63 | SDL_Surface *SDLTest_ImageBlitBlendMod(); 64 | SDL_Surface *SDLTest_ImageBlitBlendNone(); 65 | SDL_Surface *SDLTest_ImageBlitBlendAll(); 66 | SDL_Surface *SDLTest_ImageFace(); 67 | SDL_Surface *SDLTest_ImagePrimitives(); 68 | SDL_Surface *SDLTest_ImagePrimitivesBlend(); 69 | 70 | /* Ends C function definitions when using C++ */ 71 | #ifdef __cplusplus 72 | } 73 | #endif 74 | #include "close_code.h" 75 | 76 | #endif /* _SDL_test_images_h */ 77 | 78 | /* vi: set ts=4 sw=4 expandtab: */ 79 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_test_log.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_test_log.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | /* 31 | * 32 | * Wrapper to log in the TEST category 33 | * 34 | */ 35 | 36 | #ifndef _SDL_test_log_h 37 | #define _SDL_test_log_h 38 | 39 | #include "begin_code.h" 40 | /* Set up for C function definitions, even when using C++ */ 41 | #ifdef __cplusplus 42 | extern "C" { 43 | #endif 44 | 45 | /** 46 | * \brief Prints given message with a timestamp in the TEST category and INFO priority. 47 | * 48 | * \param fmt Message to be logged 49 | */ 50 | void SDLTest_Log(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1); 51 | 52 | /** 53 | * \brief Prints given message with a timestamp in the TEST category and the ERROR priority. 54 | * 55 | * \param fmt Message to be logged 56 | */ 57 | void SDLTest_LogError(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1); 58 | 59 | /* Ends C function definitions when using C++ */ 60 | #ifdef __cplusplus 61 | } 62 | #endif 63 | #include "close_code.h" 64 | 65 | #endif /* _SDL_test_log_h */ 66 | 67 | /* vi: set ts=4 sw=4 expandtab: */ 68 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_touch.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_touch.h 24 | * 25 | * Include file for SDL touch event handling. 26 | */ 27 | 28 | #ifndef _SDL_touch_h 29 | #define _SDL_touch_h 30 | 31 | #include "SDL_stdinc.h" 32 | #include "SDL_error.h" 33 | #include "SDL_video.h" 34 | 35 | #include "begin_code.h" 36 | /* Set up for C function definitions, even when using C++ */ 37 | #ifdef __cplusplus 38 | extern "C" { 39 | #endif 40 | 41 | typedef Sint64 SDL_TouchID; 42 | typedef Sint64 SDL_FingerID; 43 | 44 | typedef struct SDL_Finger 45 | { 46 | SDL_FingerID id; 47 | float x; 48 | float y; 49 | float pressure; 50 | } SDL_Finger; 51 | 52 | /* Used as the device ID for mouse events simulated with touch input */ 53 | #define SDL_TOUCH_MOUSEID ((Uint32)-1) 54 | 55 | 56 | /* Function prototypes */ 57 | 58 | /** 59 | * \brief Get the number of registered touch devices. 60 | */ 61 | extern DECLSPEC int SDLCALL SDL_GetNumTouchDevices(void); 62 | 63 | /** 64 | * \brief Get the touch ID with the given index, or 0 if the index is invalid. 65 | */ 66 | extern DECLSPEC SDL_TouchID SDLCALL SDL_GetTouchDevice(int index); 67 | 68 | /** 69 | * \brief Get the number of active fingers for a given touch device. 70 | */ 71 | extern DECLSPEC int SDLCALL SDL_GetNumTouchFingers(SDL_TouchID touchID); 72 | 73 | /** 74 | * \brief Get the finger object of the given touch, with the given index. 75 | */ 76 | extern DECLSPEC SDL_Finger * SDLCALL SDL_GetTouchFinger(SDL_TouchID touchID, int index); 77 | 78 | /* Ends C function definitions when using C++ */ 79 | #ifdef __cplusplus 80 | } 81 | #endif 82 | #include "close_code.h" 83 | 84 | #endif /* _SDL_touch_h */ 85 | 86 | /* vi: set ts=4 sw=4 expandtab: */ 87 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/SDL_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_types.h 24 | * 25 | * \deprecated 26 | */ 27 | 28 | /* DEPRECATED */ 29 | #include "SDL_stdinc.h" 30 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/include/close_code.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2016 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file close_code.h 24 | * 25 | * This file reverses the effects of begin_code.h and should be included 26 | * after you finish any function and structure declarations in your headers 27 | */ 28 | 29 | #undef _begin_code_h 30 | 31 | /* Reset structure packing at previous byte alignment */ 32 | #if defined(_MSC_VER) || defined(__MWERKS__) || defined(__WATCOMC__) || defined(__BORLANDC__) 33 | #ifdef __BORLANDC__ 34 | #pragma nopackwarning 35 | #endif 36 | #pragma pack(pop) 37 | #endif /* Compiler needs structure packing set */ 38 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/libx86/SDL2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Motor2D/SDL/libx86/SDL2.lib -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL/libx86/SDL2main.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Motor2D/SDL/libx86/SDL2main.lib -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL_image/COPYING.txt: -------------------------------------------------------------------------------- 1 | /* 2 | SDL_image: An example image loading library for use with SDL 3 | Copyright (C) 1997-2013 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL_image/README.txt: -------------------------------------------------------------------------------- 1 | 2 | SDL_image 2.0 3 | 4 | The latest version of this library is available from: 5 | http://www.libsdl.org/projects/SDL_image/ 6 | 7 | This is a simple library to load images of various formats as SDL surfaces. 8 | This library supports BMP, PNM (PPM/PGM/PBM), XPM, LBM, PCX, GIF, JPEG, PNG, 9 | TGA, and TIFF formats. 10 | 11 | API: 12 | #include "SDL_image.h" 13 | 14 | SDL_Surface *IMG_Load(const char *file); 15 | or 16 | SDL_Surface *IMG_Load_RW(SDL_RWops *src, int freesrc); 17 | or 18 | SDL_Surface *IMG_LoadTyped_RW(SDL_RWops *src, int freesrc, char *type); 19 | 20 | where type is a string specifying the format (i.e. "PNG" or "pcx"). 21 | Note that IMG_Load_RW cannot load TGA images. 22 | 23 | To create a surface from an XPM image included in C source, use: 24 | 25 | SDL_Surface *IMG_ReadXPMFromArray(char **xpm); 26 | 27 | An example program 'showimage' is included, with source in showimage.c 28 | 29 | JPEG support requires the JPEG library: http://www.ijg.org/ 30 | PNG support requires the PNG library: http://www.libpng.org/pub/png/libpng.html 31 | and the Zlib library: http://www.gzip.org/zlib/ 32 | TIFF support requires the TIFF library: ftp://ftp.sgi.com/graphics/tiff/ 33 | 34 | If you have these libraries installed in non-standard places, you can 35 | try adding those paths to the configure script, e.g. 36 | sh ./configure CPPFLAGS="-I/somewhere/include" LDFLAGS="-L/somewhere/lib" 37 | If this works, you may need to add /somewhere/lib to your LD_LIBRARY_PATH 38 | so shared library loading works correctly. 39 | 40 | This library is under the zlib License, see the file "COPYING.txt" for details. 41 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL_image/libx86/SDL2_image.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Motor2D/SDL_image/libx86/SDL2_image.lib -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL_mixer/COPYING.txt: -------------------------------------------------------------------------------- 1 | /* 2 | SDL_mixer: An audio mixer library based on the SDL library 3 | Copyright (C) 1997-2013 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL_mixer/README.txt: -------------------------------------------------------------------------------- 1 | 2 | SDL_mixer 2.0 3 | 4 | The latest version of this library is available from: 5 | http://www.libsdl.org/projects/SDL_mixer/ 6 | 7 | Due to popular demand, here is a simple multi-channel audio mixer. 8 | It supports 8 channels of 16 bit stereo audio, plus a single channel 9 | of music, mixed by the popular MikMod MOD, Timidity MIDI and SMPEG MP3 10 | libraries. 11 | 12 | See the header file SDL_mixer.h and the examples playwave.c and playmus.c 13 | for documentation on this mixer library. 14 | 15 | The mixer can currently load Microsoft WAVE files and Creative Labs VOC 16 | files as audio samples, and can load MIDI files via Timidity and the 17 | following music formats via MikMod: .MOD .S3M .IT .XM. It can load 18 | Ogg Vorbis streams as music if built with Ogg Vorbis or Tremor libraries, 19 | and finally it can load MP3 music using the SMPEG or libmad libraries. 20 | 21 | Tremor decoding is disabled by default; you can enable it by passing 22 | --enable-music-ogg-tremor 23 | to configure, or by defining OGG_MUSIC and OGG_USE_TREMOR. 24 | 25 | libmad decoding is disabled by default; you can enable it by passing 26 | --enable-music-mp3-mad 27 | to configure, or by defining MP3_MAD_MUSIC 28 | vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv 29 | WARNING: The license for libmad is GPL, which means that in order to 30 | use it your application must also be GPL! 31 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 32 | 33 | The process of mixing MIDI files to wave output is very CPU intensive, 34 | so if playing regular WAVE files sound great, but playing MIDI files 35 | sound choppy, try using 8-bit audio, mono audio, or lower frequencies. 36 | 37 | To play MIDI files, you'll need to get a complete set of GUS patches 38 | from: 39 | http://www.libsdl.org/projects/mixer/timidity/timidity.tar.gz 40 | and unpack them in /usr/local/lib under UNIX, and C:\ under Win32. 41 | 42 | This library is under the zlib license, see the file "COPYING.txt" for details. 43 | 44 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL_mixer/libx86/SDL2_mixer.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Motor2D/SDL_mixer/libx86/SDL2_mixer.lib -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL_ttf/CHANGES.txt: -------------------------------------------------------------------------------- 1 | 2.0.12: 2 | Sam Lantinga - Sat Jun 1 19:11:26 PDT 2013 3 | * Updated for SDL 2.0 release 4 | 5 | 2.0.11: 6 | Sam Lantinga - Sat Dec 31 10:49:42 EST 2011 7 | * SDL_ttf is now under the zlib license 8 | Peter Kosyh - Mon Feb 28 14:57:03 PST 2011 9 | * Improved font glyph caching for non-latin languages 10 | Erik Snoek - Wed Jan 12 09:10:15 PST 2011 11 | * Added API to get kerning info: TTF_GetFontKerningSize() 12 | Sam Lantinga - Mon Jan 10 10:58:34 2011 -0800 13 | * Added Android.mk to build on the Android platform 14 | 15 | 2.0.10: 16 | Adam Strzelecki - Wed Oct 21 21:02:37 PDT 2009 17 | * Find the Unicode or symbol character map if it's available in the font 18 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL_ttf/COPYING.txt: -------------------------------------------------------------------------------- 1 | /* 2 | SDL_ttf: A companion library to SDL for working with TrueType (tm) fonts 3 | Copyright (C) 1997-2013 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL_ttf/README.txt: -------------------------------------------------------------------------------- 1 | 2 | This library is a wrapper around the excellent FreeType 2.0 library, 3 | available at: 4 | http://www.freetype.org/ 5 | 6 | This library allows you to use TrueType fonts to render text in SDL 7 | applications. 8 | 9 | To make the library, first install the FreeType library, then type 10 | './configure' then 'make' to build the SDL truetype library and the 11 | showfont and glfont example applications. 12 | 13 | Be careful when including fonts with your application, as many of them 14 | are copyrighted. The Microsoft fonts, for example, are not freely 15 | redistributable and even the free "web" fonts they provide are only 16 | redistributable in their special executable installer form (May 1998). 17 | There are plenty of freeware and shareware fonts available on the Internet 18 | though, and may suit your purposes. 19 | 20 | This library is under the zlib license, see the file "COPYING.txt" for details. 21 | 22 | Portions of this software are copyright © 2013 The FreeType Project (www.freetype.org). All rights reserved. 23 | 24 | Enjoy! 25 | -Sam Lantinga (6/20/2001) 26 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/SDL_ttf/libx86/SDL2_ttf.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/JPS - Solution/Motor2D/SDL_ttf/libx86/SDL2_ttf.lib -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/j1App.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1APP_H__ 2 | #define __j1APP_H__ 3 | 4 | #include "j1Module.h" 5 | #include "PugiXml\src\pugixml.hpp" 6 | 7 | #include 8 | 9 | // Modules 10 | class j1Window; 11 | class j1Input; 12 | class j1Render; 13 | class j1Textures; 14 | class j1Scene; 15 | class j1Map; 16 | class j1PathFinding; 17 | class Fonts; 18 | 19 | class j1App 20 | { 21 | public: 22 | 23 | // Constructor 24 | j1App(int argc, char* args[]); 25 | 26 | // Destructor 27 | virtual ~j1App(); 28 | 29 | // Called before render is available 30 | bool Awake(); 31 | 32 | // Called before the first frame 33 | bool Start(); 34 | 35 | // Called each loop iteration 36 | bool Update(); 37 | 38 | // Called before quitting 39 | bool CleanUp(); 40 | 41 | // Add a new module to handle 42 | void AddModule(j1Module* module); 43 | 44 | // Exposing some properties for reading 45 | int GetArgc() const; 46 | const char* GetArgv(int index) const; 47 | const char* GetTitle() const; 48 | const char* GetOrganization() const; 49 | 50 | private: 51 | 52 | // Load config file 53 | pugi::xml_node LoadConfig(pugi::xml_document&) const; 54 | 55 | // Call modules before each loop iteration 56 | void PrepareUpdate(); 57 | 58 | // Call modules before each loop iteration 59 | void FinishUpdate(); 60 | 61 | // Call modules before each loop iteration 62 | bool PreUpdate(); 63 | 64 | // Call modules on each loop iteration 65 | bool DoUpdate(); 66 | 67 | // Call modules after each loop iteration 68 | bool PostUpdate(); 69 | 70 | public: 71 | 72 | // Modules 73 | j1Window* win; 74 | j1Input* input; 75 | j1Render* render; 76 | j1Textures* tex; 77 | j1Scene* scene; 78 | j1Map* map; 79 | j1PathFinding* pathfinding; 80 | Fonts* fonts; 81 | 82 | private: 83 | 84 | std::listmodules; 85 | uint frames; 86 | float dt; 87 | int argc; 88 | char** args; 89 | 90 | std::string title; 91 | std::string organization; 92 | 93 | }; 94 | 95 | extern j1App* App; 96 | 97 | #endif -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/j1Input.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1INPUT_H__ 2 | #define __j1INPUT_H__ 3 | 4 | #include "j1Module.h" 5 | 6 | //#define NUM_KEYS 352 7 | #define NUM_MOUSE_BUTTONS 5 8 | //#define LAST_KEYS_PRESSED_BUFFER 50 9 | 10 | struct SDL_Rect; 11 | 12 | enum j1EventWindow 13 | { 14 | WE_QUIT = 0, 15 | WE_HIDE = 1, 16 | WE_SHOW = 2, 17 | WE_COUNT 18 | }; 19 | 20 | enum j1KeyState 21 | { 22 | KEY_IDLE = 0, 23 | KEY_DOWN, 24 | KEY_REPEAT, 25 | KEY_UP 26 | }; 27 | 28 | class j1Input : public j1Module 29 | { 30 | 31 | public: 32 | 33 | j1Input(); 34 | 35 | // Destructor 36 | virtual ~j1Input(); 37 | 38 | // Called before render is available 39 | bool Awake(pugi::xml_node&); 40 | 41 | // Called before the first frame 42 | bool Start(); 43 | 44 | // Called each loop iteration 45 | bool PreUpdate(); 46 | 47 | // Called before quitting 48 | bool CleanUp(); 49 | 50 | // Gather relevant win events 51 | bool GetWindowEvent(j1EventWindow ev); 52 | 53 | // Check key states (includes mouse and joy buttons) 54 | j1KeyState GetKey(int id) const 55 | { 56 | return keyboard[id]; 57 | } 58 | 59 | j1KeyState GetMouseButtonDown(int id) const 60 | { 61 | return mouse_buttons[id - 1]; 62 | } 63 | 64 | // Check if a certain window event happened 65 | bool GetWindowEvent(int code); 66 | 67 | // Get mouse / axis position 68 | void GetMousePosition(int &x, int &y); 69 | void GetMouseMotion(int& x, int& y); 70 | 71 | private: 72 | bool windowEvents[WE_COUNT]; 73 | j1KeyState* keyboard; 74 | j1KeyState mouse_buttons[NUM_MOUSE_BUTTONS]; 75 | int mouse_motion_x; 76 | int mouse_motion_y; 77 | int mouse_x; 78 | int mouse_y; 79 | }; 80 | 81 | #endif // __j1INPUT_H__ -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/j1Main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "p2Defs.h" 4 | #include "p2Log.h" 5 | #include "j1App.h" 6 | 7 | // This is needed here because SDL redefines main function 8 | // do not add any other libraries here, instead put them in their modules 9 | #include "SDL/include/SDL.h" 10 | #pragma comment( lib, "SDL/libx86/SDL2.lib" ) 11 | #pragma comment( lib, "SDL/libx86/SDL2main.lib" ) 12 | 13 | enum MainState 14 | { 15 | CREATE = 1, 16 | AWAKE, 17 | START, 18 | LOOP, 19 | CLEAN, 20 | FAIL, 21 | EXIT 22 | }; 23 | 24 | j1App* App = NULL; 25 | 26 | int main(int argc, char* args[]) 27 | { 28 | LOG("Engine starting ... %d"); 29 | 30 | MainState state = MainState::CREATE; 31 | int result = EXIT_FAILURE; 32 | 33 | while(state != EXIT) 34 | { 35 | switch(state) 36 | { 37 | 38 | // Allocate the engine -------------------------------------------- 39 | case CREATE: 40 | LOG("CREATION PHASE ==============================="); 41 | 42 | App = new j1App(argc, args); 43 | 44 | if(App != NULL) 45 | state = AWAKE; 46 | else 47 | state = FAIL; 48 | 49 | break; 50 | 51 | // Awake all modules ----------------------------------------------- 52 | case AWAKE: 53 | LOG("AWAKE PHASE ==============================="); 54 | if(App->Awake() == true) 55 | state = START; 56 | else 57 | { 58 | LOG("ERROR: Awake failed"); 59 | state = FAIL; 60 | } 61 | 62 | break; 63 | 64 | // Call all modules before first frame ---------------------------- 65 | case START: 66 | LOG("START PHASE ==============================="); 67 | if(App->Start() == true) 68 | { 69 | state = LOOP; 70 | LOG("UPDATE PHASE ==============================="); 71 | } 72 | else 73 | { 74 | state = FAIL; 75 | LOG("ERROR: Start failed"); 76 | } 77 | break; 78 | 79 | // Loop all modules until we are asked to leave --------------------- 80 | case LOOP: 81 | if(App->Update() == false) 82 | state = CLEAN; 83 | break; 84 | 85 | // Cleanup allocated memory ----------------------------------------- 86 | case CLEAN: 87 | LOG("CLEANUP PHASE ==============================="); 88 | if(App->CleanUp() == true) 89 | { 90 | RELEASE(App); 91 | result = EXIT_SUCCESS; 92 | state = EXIT; 93 | } 94 | else 95 | state = FAIL; 96 | 97 | break; 98 | 99 | // Exit with errors and shame --------------------------------------- 100 | case FAIL: 101 | LOG("Exiting with errors :("); 102 | result = EXIT_FAILURE; 103 | state = EXIT; 104 | break; 105 | } 106 | } 107 | 108 | LOG("Quitting Program...\n"); 109 | LOG("... Bye! :)\n"); 110 | saveLogFile(); 111 | 112 | // Dump memory leaks 113 | return result; 114 | } -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/j1Module.h: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------- 2 | // j1Module.h 3 | // Interface for all engine modules 4 | // ---------------------------------------------------- 5 | 6 | #ifndef __j1MODULE_H__ 7 | #define __j1MODULE_H__ 8 | 9 | #include 10 | #include "PugiXml\src\pugixml.hpp" 11 | 12 | class j1App; 13 | 14 | class j1Module 15 | { 16 | public: 17 | 18 | j1Module() : active(false) 19 | {} 20 | 21 | virtual ~j1Module() 22 | {} 23 | 24 | void Init() 25 | { 26 | active = true; 27 | } 28 | 29 | // Called before render is available 30 | virtual bool Awake(pugi::xml_node&) 31 | { 32 | return true; 33 | } 34 | 35 | // Called before the first frame 36 | virtual bool Start() 37 | { 38 | return true; 39 | } 40 | 41 | // Called each loop iteration 42 | virtual bool PreUpdate() 43 | { 44 | return true; 45 | } 46 | 47 | // Called each loop iteration 48 | virtual bool Update(float dt) 49 | { 50 | return true; 51 | } 52 | 53 | // Called each loop iteration 54 | virtual bool PostUpdate() 55 | { 56 | return true; 57 | } 58 | 59 | // Called before quitting 60 | virtual bool CleanUp() 61 | { 62 | return true; 63 | } 64 | 65 | public: 66 | 67 | std::string name; 68 | bool active; 69 | 70 | }; 71 | 72 | #endif // __j1MODULE_H__ -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/j1PerfTimer.cpp: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------- 2 | // j1PerfTimer.cpp 3 | // Slow timer with microsecond precision 4 | // ---------------------------------------------------- 5 | 6 | #include "j1PerfTimer.h" 7 | #include "SDL\include\SDL_timer.h" 8 | 9 | uint64 j1PerfTimer::frequency = 0; 10 | 11 | // --------------------------------------------- 12 | j1PerfTimer::j1PerfTimer() 13 | { 14 | if (frequency == 0) 15 | frequency = SDL_GetPerformanceFrequency(); 16 | 17 | Start(); 18 | } 19 | 20 | // --------------------------------------------- 21 | void j1PerfTimer::Start() 22 | { 23 | started_at = SDL_GetPerformanceCounter(); 24 | } 25 | 26 | // --------------------------------------------- 27 | double j1PerfTimer::ReadMs() const 28 | { 29 | return 1000.0 * (double(SDL_GetPerformanceCounter() - started_at) / double(frequency)); 30 | } 31 | 32 | // --------------------------------------------- 33 | uint64 j1PerfTimer::ReadTicks() const 34 | { 35 | return (SDL_GetPerformanceCounter() - started_at); 36 | } -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/j1PerfTimer.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1PERFTIMER_H__ 2 | #define __j1PERFTIMER_H__ 3 | 4 | #include "p2Defs.h" 5 | 6 | class j1PerfTimer 7 | { 8 | public: 9 | 10 | // Constructor 11 | j1PerfTimer(); 12 | 13 | void Start(); 14 | double ReadMs() const; 15 | uint64 ReadTicks() const; 16 | 17 | private: 18 | uint64 started_at; 19 | static uint64 frequency; 20 | }; 21 | 22 | #endif //__j1PERFTIMER_H__ -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/j1Render.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1RENDER_H__ 2 | #define __j1RENDER_H__ 3 | 4 | #include "SDL/include/SDL.h" 5 | #include "p2Point.h" 6 | #include "j1Module.h" 7 | 8 | class j1Render : public j1Module 9 | { 10 | public: 11 | 12 | j1Render(); 13 | 14 | // Destructor 15 | virtual ~j1Render(); 16 | 17 | // Called before render is available 18 | bool Awake(pugi::xml_node&); 19 | 20 | // Called before the first frame 21 | bool Start(); 22 | 23 | // Called each loop iteration 24 | bool PreUpdate(); 25 | bool Update(float dt); 26 | bool PostUpdate(); 27 | 28 | // Called before quitting 29 | bool CleanUp(); 30 | 31 | // Utils 32 | void SetViewPort(const SDL_Rect& rect); 33 | void ResetViewPort(); 34 | iPoint ScreenToWorld(int x, int y) const; 35 | 36 | // Draw & Blit 37 | bool Blit(SDL_Texture* texture, int x, int y, const SDL_Rect* section = NULL, float speed = 1.0f, double angle = 0, int pivot_x = INT_MAX, int pivot_y = INT_MAX) const; 38 | bool DrawQuad(const SDL_Rect& rect, Uint8 r, Uint8 g, Uint8 b, Uint8 a = 255, bool filled = true, bool use_camera = true) const; 39 | bool DrawLine(int x1, int y1, int x2, int y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a = 255, bool use_camera = true) const; 40 | bool DrawCircle(int x1, int y1, int redius, Uint8 r, Uint8 g, Uint8 b, Uint8 a = 255, bool use_camera = true) const; 41 | 42 | // Set background color 43 | void SetBackgroundColor(SDL_Color color); 44 | 45 | // Camera 46 | void ResetCameraPosition(); 47 | 48 | public: 49 | 50 | SDL_Renderer* renderer; 51 | SDL_Rect camera; 52 | SDL_Rect viewport; 53 | SDL_Color background; 54 | }; 55 | 56 | #endif // __j1RENDER_H__ -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/j1Scene.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1SCENE_H__ 2 | #define __j1SCENE_H__ 3 | 4 | #include "j1Module.h" 5 | #include "j1PerfTimer.h" 6 | #include "j1Timer.h" 7 | 8 | struct SDL_Texture; 9 | 10 | struct FontTexture 11 | { 12 | FontTexture(const std::string& text) : fontText(text) {} 13 | 14 | std::string fontText = ""; 15 | SDL_Rect fontRect = { 0, 0, 1, 1 }; 16 | SDL_Texture* fontTexture = nullptr; 17 | }; 18 | 19 | class j1Scene : public j1Module 20 | { 21 | public: 22 | 23 | j1Scene(); 24 | 25 | // Destructor 26 | virtual ~j1Scene(); 27 | 28 | // Called before render is available 29 | bool Awake(); 30 | 31 | // Called before the first frame 32 | bool Start(); 33 | 34 | // Called before all Updates 35 | bool PreUpdate(); 36 | 37 | // Called each loop iteration 38 | bool Update(float dt); 39 | 40 | // Called before all Updates 41 | bool PostUpdate(); 42 | 43 | // Called before quitting 44 | bool CleanUp(); 45 | 46 | 47 | private: 48 | 49 | // Fonts 50 | SDL_Texture* SetupFontText(const std::string& text, SDL_Rect* textRect); 51 | 52 | // Map setup 53 | bool LoadMap(const char* mapFilepath); 54 | void SetupMap(const char* mapFilepath); 55 | std::string GetCurrentMapBlitText(); 56 | 57 | // Switch maps 58 | void SwitchMap(); 59 | 60 | 61 | private: 62 | 63 | //Pathfinding Debug Stuff 64 | SDL_Texture* debug_tex; 65 | bool activateJPS = false; 66 | j1PerfTimer PathfindingTimer; 67 | 68 | //Performance Test Showing 69 | FontTexture algorithmInfo = "Algorithm Used: A-Star (press F to change)"; 70 | FontTexture timeInfo = "Lasted Time (ms): "; 71 | FontTexture millisecondsInfo = "0000"; 72 | 73 | // Maps 74 | const char* map1 = "iso_walk.tmx"; 75 | const char* map2 = "iso.tmx"; 76 | 77 | // Map Info 78 | FontTexture cameraInfo = "Press C to reset the Camera position"; 79 | FontTexture cameraMoveInfo = "Move with WASD or Arrows - Shift to speed up"; 80 | FontTexture currentMap = "none"; 81 | FontTexture mapLoadError = "dummy error"; 82 | FontTexture mapLoadFatal = "dummy fatal error"; 83 | FontTexture quitInfo = "Press ESC to close program"; 84 | 85 | j1Timer errorMessageTimer; 86 | bool showMapFatal = false; 87 | }; 88 | 89 | #endif // __j1SCENE_H__ -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/j1Textures.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1TEXTURES_H__ 2 | #define __j1TEXTURES_H__ 3 | 4 | #include "j1Module.h" 5 | #include 6 | 7 | struct SDL_Texture; 8 | struct SDL_Surface; 9 | 10 | class j1Textures : public j1Module 11 | { 12 | public: 13 | 14 | j1Textures(); 15 | 16 | // Destructor 17 | virtual ~j1Textures(); 18 | 19 | // Called before render is available 20 | bool Awake(pugi::xml_node&); 21 | 22 | // Called before the first frame 23 | bool Start(); 24 | 25 | // Called before quitting 26 | bool CleanUp(); 27 | 28 | // Load Texture 29 | SDL_Texture* const Load(const char* path); 30 | bool UnLoad(SDL_Texture* texture); 31 | SDL_Texture* const LoadSurface(SDL_Surface* surface); 32 | void GetSize(const SDL_Texture* texture, uint& width, uint& height) const; 33 | 34 | public: 35 | 36 | std::list textures; 37 | }; 38 | 39 | 40 | #endif // __j1TEXTURES_H__ -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/j1Timer.cpp: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------- 2 | // j1Timer.cpp 3 | // Fast timer with milisecons precision 4 | // ---------------------------------------------------- 5 | 6 | #include "j1Timer.h" 7 | #include "SDL\include\SDL_timer.h" 8 | 9 | // --------------------------------------------- 10 | j1Timer::j1Timer() 11 | { 12 | } 13 | 14 | void j1Timer::StartFrom(uint32 ms) 15 | { 16 | running = true; 17 | started_at = SDL_GetTicks() + (ms); 18 | } 19 | 20 | // --------------------------------------------- 21 | void j1Timer::Start() 22 | { 23 | running = true; 24 | started_at = SDL_GetTicks(); 25 | } 26 | 27 | void j1Timer::Stop() 28 | { 29 | running = false; 30 | stopped_at = SDL_GetTicks(); 31 | } 32 | 33 | // --------------------------------------------- 34 | uint32 j1Timer::Read() const 35 | { 36 | if (running) 37 | return (SDL_GetTicks() - started_at); 38 | else 39 | return stopped_at - started_at; 40 | } 41 | 42 | // --------------------------------------------- 43 | float j1Timer::ReadSec() const 44 | { 45 | if (running) 46 | return (float)(SDL_GetTicks() - started_at) / 1000.0f; 47 | else 48 | return (float)(stopped_at - started_at) / 1000.0f; 49 | } 50 | 51 | bool j1Timer::IsRunning() const 52 | { 53 | return running; 54 | } 55 | -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/j1Timer.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1TIMER_H__ 2 | #define __j1TIMER_H__ 3 | 4 | #include "p2Defs.h" 5 | 6 | class j1Timer 7 | { 8 | public: 9 | 10 | // Constructor 11 | j1Timer(); 12 | 13 | void Start(); 14 | void Stop(); 15 | void StartFrom(uint32 secs); 16 | 17 | uint32 Read() const; 18 | float ReadSec() const; 19 | 20 | bool IsRunning() const; 21 | 22 | private: 23 | 24 | uint32 started_at = 0; 25 | uint32 stopped_at = 0; 26 | bool running = false; 27 | }; 28 | 29 | #endif //__j1TIMER_H__ -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/j1Window.h: -------------------------------------------------------------------------------- 1 | #ifndef __j1WINDOW_H__ 2 | #define __j1WINDOW_H__ 3 | 4 | #include "j1Module.h" 5 | 6 | struct SDL_Window; 7 | struct SDL_Surface; 8 | 9 | class j1Window : public j1Module 10 | { 11 | public: 12 | 13 | j1Window(); 14 | 15 | // Destructor 16 | virtual ~j1Window(); 17 | 18 | // Called before render is available 19 | bool Awake(pugi::xml_node&); 20 | 21 | // Called before quitting 22 | bool CleanUp(); 23 | 24 | // Changae title 25 | void SetTitle(const char* new_title); 26 | 27 | // Retrive window size 28 | void GetWindowSize(uint& width, uint& height) const; 29 | 30 | // Retrieve window scale 31 | uint GetScale() const; 32 | 33 | public: 34 | //The window we'll be rendering to 35 | SDL_Window* window; 36 | 37 | //The surface contained by the window 38 | SDL_Surface* screen_surface; 39 | 40 | private: 41 | std::string title; 42 | uint width; 43 | uint height; 44 | uint scale; 45 | }; 46 | 47 | #endif // __j1WINDOW_H__ -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/p2Defs.h: -------------------------------------------------------------------------------- 1 | #ifndef __P2DEFS_H__ 2 | #define __P2DEFS_H__ 3 | 4 | #include 5 | 6 | // NULL just in case ---------------------- 7 | 8 | #ifdef NULL 9 | #undef NULL 10 | #endif 11 | #define NULL 0 12 | 13 | // Deletes a buffer 14 | #define RELEASE( x ) \ 15 | { \ 16 | if( x != NULL ) \ 17 | { \ 18 | delete x; \ 19 | x = NULL; \ 20 | } \ 21 | } 22 | 23 | // Deletes an array of buffers 24 | #define RELEASE_ARRAY( x ) \ 25 | { \ 26 | if( x != NULL ) \ 27 | { \ 28 | delete[] x; \ 29 | x = NULL; \ 30 | } \ 31 | \ 32 | } 33 | 34 | #define IN_RANGE( value, min, max ) ( ((value) >= (min) && (value) <= (max)) ? 1 : 0 ) 35 | #define MIN( a, b ) ( ((a) < (b)) ? (a) : (b) ) 36 | #define MAX( a, b ) ( ((a) > (b)) ? (a) : (b) ) 37 | #define TO_BOOL( a ) ( (a != 0) ? true : false ) 38 | 39 | //Clamp: https://en.cppreference.com/w/cpp/algorithm/clamp 40 | //If X is between lower and upper, returns X. Else, if X < lower, returns lower. Else, if X > upper, returns upper. 41 | #define CLAMP(x, upper, lower) (MIN(upper, MAX(x, lower))) 42 | 43 | typedef unsigned int uint; 44 | typedef unsigned char uchar; 45 | typedef unsigned __int32 uint32; 46 | typedef unsigned __int64 uint64; 47 | 48 | template void SWAP(VALUE_TYPE& a, VALUE_TYPE& b) 49 | { 50 | VALUE_TYPE tmp = a; 51 | a = b; 52 | b = tmp; 53 | } 54 | 55 | // Standard string size 56 | #define SHORT_STR 32 57 | #define MID_STR 255 58 | #define HUGE_STR 8192 59 | 60 | // Joins a path and file 61 | inline const char* const PATH(const char* folder, const char* file) 62 | { 63 | static char path[MID_STR]; 64 | sprintf_s(path, MID_STR, "%s/%s", folder, file); 65 | return path; 66 | } 67 | 68 | // Performance macros 69 | #define PERF_START(timer) timer.Start() 70 | #define PERF_PEEK(timer) LOG("%s took %f ms", __FUNCTION__, timer.ReadMs()) 71 | 72 | #endif -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/p2Log.cpp: -------------------------------------------------------------------------------- 1 | #include "p2Log.h" 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | 10 | std::vector logs; 11 | 12 | 13 | void log(const char file[], int line, const char* format, ...) 14 | { 15 | static char tmp_string[4096]; 16 | static char tmp_string2[4096]; 17 | static va_list ap; 18 | 19 | // Construct the string from variable arguments 20 | va_start(ap, format); 21 | vsprintf_s(tmp_string, 4096, format, ap); 22 | va_end(ap); 23 | 24 | sprintf_s(tmp_string2, 4096, "\n%s(%d) : %s", file, line, tmp_string); 25 | OutputDebugString(tmp_string2); 26 | 27 | logs.push_back(tmp_string2); 28 | } 29 | 30 | void saveLogFile() 31 | { 32 | const std::string targetDir = std::filesystem::current_path().u8string() + "\\output"; 33 | const std::string filepath = targetDir + "\\logs.txt"; 34 | 35 | if(!std::filesystem::exists(targetDir) || !std::filesystem::is_directory(targetDir)) 36 | std::filesystem::create_directory(targetDir); 37 | 38 | std::ofstream ofs(filepath.c_str(), std::ios_base::out | std::ios_base::trunc); 39 | for (const std::string& message : logs) 40 | ofs << message.c_str() << "\n"; 41 | 42 | ofs.close(); 43 | } -------------------------------------------------------------------------------- /JPS - Solution/Motor2D/p2Log.h: -------------------------------------------------------------------------------- 1 | #ifndef __p2Log_H__ 2 | #define __p2Log_H__ 3 | 4 | #include 5 | #include 6 | 7 | #define LOG(format, ...) log(__FILE__, __LINE__, format, __VA_ARGS__) 8 | 9 | void log(const char file[], int line, const char* format, ...); 10 | void saveLogFile(); 11 | 12 | #endif -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 lucho1 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Jump Point Search 2 | Research explaining and exposing different improvements for A* algorithm (used for pathfinding), resulting on JPS algorithm, giving a coded example on how to do it (also with an exercise!). 3 | 4 | Investigation made by Lucho Suaya for Project II subject of Videogames Design and Development (CITM-UPC). 5 | Checkout the page with the whole research at: https://lucho1.github.io/JumpPointSearch/ 6 | 7 | I am Lucho Suaya, a student of the Bachelor’s Degree in Video Games by UPC at CITM. This content is generated for the second year’s subject Project 2, under the supervision of lecturers Ricard Pillosu and Marc Garrigó. 8 | -------------------------------------------------------------------------------- /docs/Images/Alain_Benoit_HierarchicalDynamicPathfinding.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/Alain_Benoit_HierarchicalDynamicPathfinding.pdf -------------------------------------------------------------------------------- /docs/Images/Astar Trap1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/Astar Trap1.png -------------------------------------------------------------------------------- /docs/Images/Astar Trap2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/Astar Trap2.png -------------------------------------------------------------------------------- /docs/Images/D.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/D.jpg -------------------------------------------------------------------------------- /docs/Images/DLite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/DLite.png -------------------------------------------------------------------------------- /docs/Images/Mars1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/Mars1.jpeg -------------------------------------------------------------------------------- /docs/Images/WALLE.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/WALLE.jpeg -------------------------------------------------------------------------------- /docs/Images/angle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/angle.png -------------------------------------------------------------------------------- /docs/Images/angledpath.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/angledpath.png -------------------------------------------------------------------------------- /docs/Images/austronauteMARS.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/austronauteMARS.jpg -------------------------------------------------------------------------------- /docs/Images/bostondynamics-640x353.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/bostondynamics-640x353.jpg -------------------------------------------------------------------------------- /docs/Images/generalpathfinding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/generalpathfinding.png -------------------------------------------------------------------------------- /docs/Images/haa/haa1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/haa/haa1.PNG -------------------------------------------------------------------------------- /docs/Images/haa/haa2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/haa/haa2.PNG -------------------------------------------------------------------------------- /docs/Images/haa/haa3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/haa/haa3.PNG -------------------------------------------------------------------------------- /docs/Images/haa/haa4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/haa/haa4.PNG -------------------------------------------------------------------------------- /docs/Images/haa/haa5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/haa/haa5.PNG -------------------------------------------------------------------------------- /docs/Images/haa/haa6.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/haa/haa6.PNG -------------------------------------------------------------------------------- /docs/Images/haa/haa7.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/haa/haa7.PNG -------------------------------------------------------------------------------- /docs/Images/hierarchy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/hierarchy.jpg -------------------------------------------------------------------------------- /docs/Images/hierarchyPF1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/hierarchyPF1.png -------------------------------------------------------------------------------- /docs/Images/hierarchyPF2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/hierarchyPF2.png -------------------------------------------------------------------------------- /docs/Images/hierarchyPF3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/hierarchyPF3.png -------------------------------------------------------------------------------- /docs/Images/hpa/grid-hierarchy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/hpa/grid-hierarchy.png -------------------------------------------------------------------------------- /docs/Images/incremental.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/incremental.jpg -------------------------------------------------------------------------------- /docs/Images/iuWB2NM48R2r9q7QhyJfhe-320-80.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/iuWB2NM48R2r9q7QhyJfhe-320-80.jpg -------------------------------------------------------------------------------- /docs/Images/jps/184850-425x283-man-pruning-trees.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/184850-425x283-man-pruning-trees.jpg -------------------------------------------------------------------------------- /docs/Images/jps/AlgoritmosConcurso.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/AlgoritmosConcurso.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/diagonal1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/diagonal1.png -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/diagonal2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/diagonal2.png -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/explanation/todo1EXP.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/explanation/todo1EXP.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/explanation/todo234EXP.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/explanation/todo234EXP.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/explanation/todo5EXP.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/explanation/todo5EXP.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/hor1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/hor1.png -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/hor2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/hor2.png -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/pathfindings.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/pathfindings.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/todosResults/todo4result.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/todosResults/todo4result.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/todosResults/todo4resultjps.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/todosResults/todo4resultjps.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/todosResults/todo4resultjps2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/todosResults/todo4resultjps2.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/todosResults/todo5RES-As.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/todosResults/todo5RES-As.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/todosResults/todo5RES.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/todosResults/todo5RES.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/todosResults/todo5RES2-As.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/todosResults/todo5RES2-As.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/todosResults/todo5RES2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/todosResults/todo5RES2.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/todosResults/todo6result.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/todosResults/todo6result.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/todosResults/todo6resultjps.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/todosResults/todo6resultjps.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/todosSolutions/todo1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/todosSolutions/todo1.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/todosSolutions/todo234.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/todosSolutions/todo234.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/todosSolutions/todo5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/todosSolutions/todo5.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/todosSolutions/todo6.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/todosSolutions/todo6.PNG -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/vert1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/vert1.png -------------------------------------------------------------------------------- /docs/Images/jps/Implementation/vert2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/Implementation/vert2.png -------------------------------------------------------------------------------- /docs/Images/jps/JPSresults1H.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/JPSresults1H.PNG -------------------------------------------------------------------------------- /docs/Images/jps/JPSresults2H.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/JPSresults2H.PNG -------------------------------------------------------------------------------- /docs/Images/jps/JPSresults3H.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/JPSresults3H.PNG -------------------------------------------------------------------------------- /docs/Images/jps/explanationJPS1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/explanationJPS1.jpg -------------------------------------------------------------------------------- /docs/Images/jps/healthy-tree-trimming-texas.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/healthy-tree-trimming-texas.jpg -------------------------------------------------------------------------------- /docs/Images/jps/jps1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/jps1.PNG -------------------------------------------------------------------------------- /docs/Images/jps/jpsPruning.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/jpsPruning.PNG -------------------------------------------------------------------------------- /docs/Images/jps/pathSymmetries.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/pathSymmetries.PNG -------------------------------------------------------------------------------- /docs/Images/jps/pathSymmetries2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/pathSymmetries2.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/deb/pt1AS.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/deb/pt1AS.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/deb/pt1JPS.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/deb/pt1JPS.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/deb/pt2AS.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/deb/pt2AS.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/deb/pt2JPS.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/deb/pt2JPS.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/deb/pt3AS.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/deb/pt3AS.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/deb/pt3JPS.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/deb/pt3JPS.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/rel/bigmap/PT1AS.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/rel/bigmap/PT1AS.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/rel/bigmap/PT1JP.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/rel/bigmap/PT1JP.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/rel/bigmap/PT2AS.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/rel/bigmap/PT2AS.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/rel/bigmap/PT2JP.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/rel/bigmap/PT2JP.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/rel/pt1AS.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/rel/pt1AS.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/rel/pt1JPS.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/rel/pt1JPS.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/rel/pt2AS.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/rel/pt2AS.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/rel/pt2JPS.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/rel/pt2JPS.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/rel/pt3AS.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/rel/pt3AS.PNG -------------------------------------------------------------------------------- /docs/Images/jps/performanceTests/rel/pt3JPS.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/performanceTests/rel/pt3JPS.PNG -------------------------------------------------------------------------------- /docs/Images/jps/rsr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/rsr.png -------------------------------------------------------------------------------- /docs/Images/jps/tree-pruning.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/jps/tree-pruning.jpg -------------------------------------------------------------------------------- /docs/Images/love.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/love.jpg -------------------------------------------------------------------------------- /docs/Images/lpa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/lpa.png -------------------------------------------------------------------------------- /docs/Images/movingtargetGIF.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/movingtargetGIF.gif -------------------------------------------------------------------------------- /docs/Images/other games/Castle Story/hierarcy1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/Castle Story/hierarcy1.PNG -------------------------------------------------------------------------------- /docs/Images/other games/Castle Story/hierarcy2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/Castle Story/hierarcy2.PNG -------------------------------------------------------------------------------- /docs/Images/other games/Castle Story/hierarcy3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/Castle Story/hierarcy3.PNG -------------------------------------------------------------------------------- /docs/Images/other games/Castle Story/hierarcy4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/Castle Story/hierarcy4.PNG -------------------------------------------------------------------------------- /docs/Images/other games/Castle Story/hierarcy5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/Castle Story/hierarcy5.PNG -------------------------------------------------------------------------------- /docs/Images/other games/Castle Story/hierarcy6.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/Castle Story/hierarcy6.PNG -------------------------------------------------------------------------------- /docs/Images/other games/Castle Story/hierarcy7.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/Castle Story/hierarcy7.PNG -------------------------------------------------------------------------------- /docs/Images/other games/Castle Story/hierarcy8.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/Castle Story/hierarcy8.PNG -------------------------------------------------------------------------------- /docs/Images/other games/HotM/AbstractGraphSol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/HotM/AbstractGraphSol.png -------------------------------------------------------------------------------- /docs/Images/other games/HotM/DAOAbstractGraph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/HotM/DAOAbstractGraph.png -------------------------------------------------------------------------------- /docs/Images/other games/HotM/DAOLevelsAbs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/HotM/DAOLevelsAbs.png -------------------------------------------------------------------------------- /docs/Images/other games/HotM/LowLevelSolution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/HotM/LowLevelSolution.png -------------------------------------------------------------------------------- /docs/Images/other games/HotM/NavMesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/HotM/NavMesh.png -------------------------------------------------------------------------------- /docs/Images/other games/HotM/NavMeshintoClusters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/HotM/NavMeshintoClusters.png -------------------------------------------------------------------------------- /docs/Images/other games/HotM/NodesofNavMesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/HotM/NodesofNavMesh.png -------------------------------------------------------------------------------- /docs/Images/other games/Killzone/killzone1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/Killzone/killzone1.PNG -------------------------------------------------------------------------------- /docs/Images/other games/Killzone/killzone2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/Killzone/killzone2.PNG -------------------------------------------------------------------------------- /docs/Images/other games/Killzone/killzone3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/Killzone/killzone3.PNG -------------------------------------------------------------------------------- /docs/Images/other games/Killzone/killzone4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/Killzone/killzone4.PNG -------------------------------------------------------------------------------- /docs/Images/other games/Killzone/killzone5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/Killzone/killzone5.PNG -------------------------------------------------------------------------------- /docs/Images/other games/Killzone/killzone6.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/Killzone/killzone6.PNG -------------------------------------------------------------------------------- /docs/Images/other games/Killzone/killzone7.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/Killzone/killzone7.PNG -------------------------------------------------------------------------------- /docs/Images/other games/companyofheroes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/companyofheroes.jpg -------------------------------------------------------------------------------- /docs/Images/other games/dawnofwar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/dawnofwar.jpg -------------------------------------------------------------------------------- /docs/Images/other games/professor-lupo-and-his-horrible-pets-2017118121656_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/professor-lupo-and-his-horrible-pets-2017118121656_1.jpg -------------------------------------------------------------------------------- /docs/Images/other games/starcraftTriangulation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/starcraftTriangulation.png -------------------------------------------------------------------------------- /docs/Images/other games/supernauts.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/other games/supernauts.jpg -------------------------------------------------------------------------------- /docs/Images/robotPATH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/robotPATH.png -------------------------------------------------------------------------------- /docs/Images/robotpath.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/robotpath.jpg -------------------------------------------------------------------------------- /docs/Images/thetavsa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/thetavsa.png -------------------------------------------------------------------------------- /docs/Images/thetavslazytheta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/thetavslazytheta.png -------------------------------------------------------------------------------- /docs/Images/thetavslazytheta2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/thetavslazytheta2.png -------------------------------------------------------------------------------- /docs/Images/unity.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/Images/unity.jpg -------------------------------------------------------------------------------- /docs/LANoirePathfindingFAIL.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lucho1/JumpPointSearch/c574b6072a4c9841ebd11be0ce8d2c8567dd208e/docs/LANoirePathfindingFAIL.mp4 -------------------------------------------------------------------------------- /docs/_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-slate 2 | show_downloads: true 3 | github: 4 | zip_url: https://github.com/lucho1/JumpPointSearch/releases/download/v1.0/Jump.Point.Search.zip 5 | --------------------------------------------------------------------------------