├── .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 |
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 |
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 |
--------------------------------------------------------------------------------