Since the iPhone happened in 2007, touch input has been at the forefront of human interaction with machines. But Game Engines have existed for a reasonable long life, preceding the mobile boom. Touch as a means of interaction with the game world in engines is provided in many ways. Below, we are going to look at different touch APIs to see how they have been provided to enable gaming on our phones. Tilt, camera, and other sensors are going to be ignored so we can focus on touch.
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 1 "glm-amalgamated/glm.h" | |
| # 16 "glm-amalgamated/glm.h" | |
| #ifndef GLM_SETUP_INCLUDED | |
| #include <cassert> | |
| #include <cstddef> | |
| #define GLM_VERSION_MAJOR 0 | |
| #define GLM_VERSION_MINOR 9 | |
| #define GLM_VERSION_PATCH 9 | |
| #define GLM_VERSION_REVISION 8 | |
| #define GLM_VERSION 998 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include "glm.h" | |
| /// @ref core | |
| /// @file glm/glm.cpp | |
| #include <glm/gtx/dual_quaternion.hpp> | |
| #include <glm/gtc/vec1.hpp> | |
| #include <glm/gtc/quaternion.hpp> | |
| #include <glm/ext/scalar_int_sized.hpp> | |
| #include <glm/ext/scalar_uint_sized.hpp> | |
| #include <glm/glm.hpp> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| echo | |
| set BUILD_CONFIG=Release | |
| set AGS_SDL_SOUND_LIB=C:\Lib\SDL_sound\build\Release | |
| set AGS_SDL_SOUND_INCLUDE=C:\Lib\SDL_sound\src | |
| set AGS_SDL_LIB=C:\Lib\SDL2\lib\x86 | |
| set AGS_SDL_INCLUDE=C:\Lib\SDL2\include | |
| set AGS_LIBVORBIS_LIB=C:\Lib\Xiph | |
| set AGS_LIBTHEORA_LIB=C:\Lib\Xiph | |
| set AGS_LIBOGG_LIB=C:\Lib\Xiph | |
| set AGS_DIRECTX_LIB=C:\Lib\DirectX |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| cmd /S /C pushd %TEMP% && git clone https://github.com/Microsoft/vcpkg.git && pushd vcpkg && if not exist vcpkg.exe call bootstrap-vcpkg.bat && vcpkg install libogg:x86-windows-static libtheora:x86-windows-static libvorbis:x86-windows-static && popd && popd && mkdir Lib\Xiph && copy %TEMP%\vcpkg\installed\x86-windows-static\lib\ogg.lib Lib\Xiph\libogg_static.lib && copy %TEMP%\vcpkg\installed\x86-windows-static\lib\theora.lib Lib\Xiph\libtheora_static.lib && copy %TEMP%\vcpkg\installed\x86-windows-static\lib\vorbis.lib Lib\Xiph\libvorbis_static.lib && copy %TEMP%\vcpkg\installed\x86-windows-static\lib\vorbisfile.lib Lib\Xiph\libvorbisfile_static.lib | |
| Cloning into 'vcpkg'... | |
| remote: Enumerating objects: 65, done. | |
| remote: Counting objects: 100% (65/65), done. | |
| remote: Compressing objects: 100% (61/61), done. | |
| remote: Total 95587 (delta 24), reused 20 (delta 4), pack-reused 95522 | |
| Receiving objects: 100% (95587/95587), 28.92 MiB | 5.56 MiB/s, done. | |
| Resolving deltas: 100% (59207/59207), done. | |
| Ch |
Download and Install Emscripten
- My preferred installation location is
/home/user - Get the latest sdk:
git clone https://github.com/emscripten-core/emsdk.git - Enter the cloned directory:
cd emsdk - Install the lastest sdk tools:
./emsdk install latest - Activate the latest sdk tools:
./emsdk activate latest - Activate path variables:
source ./emsdk_env.sh - Configure emsdk in your bash profile by running:
echo 'source "/home/user/emsdk/emsdk_env.sh"' >> $HOME/.bash_profile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| SDL_Keysym SDLKeysymFromAgsKey (int key) | |
| { | |
| SDL_Keysym sk; | |
| sk.scancode = SDL_SCANCODE_UNKNOWN; | |
| sk.sym = SDLK_UNKNOWN; | |
| switch (key) { | |
| // ctrl-[A-Z] keys are numbered 1-26 for A-Z | |
| case eAGSKeyCodeCtrlA: { sk.scancode = SDL_SCANCODE_A; sk.sym = SDLK_a; sk.mod = KMOD_CTRL; } break; | |
| case eAGSKeyCodeCtrlB: { sk.scancode = SDL_SCANCODE_B; sk.sym = SDLK_b; sk.mod = KMOD_CTRL; } break; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Rellax | |
| // 0.1.5~ | |
| // A module to provide smooth scrolling and parallax! | |
| // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | |
| // Before starting, you must create the following Custom Properties | |
| // in AGS Editor, for usage with Objects. | |
| // Just click on Properties [...] and on the Edit Custom Properties screen, | |
| // click on Edit Schema ... button, and add the two properties below: | |
| // | |
| // PxPos: |
When resolving script imports, the code doesn't deals with empty string imports, and relies on nullptr :
This works because when reading script objects, empty strings (a single \0 character) are replaced by a nullptr :
But when writing a script object, we don't treat the nullptr case, so if you read a script object, and want to write it back to a file, this will break here :
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| add_executable(ags) | |
| if(NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) | |
| install(TARGETS ags | |
| DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" | |
| ) | |
| endif() |