├── .gitattributes ├── .gitignore ├── Debug ├── PokePlusPlus.exe ├── PokePlusPlus.ilk ├── PokePlusPlus.pdb ├── openal32.dll ├── sfml-audio-d-2.dll ├── sfml-graphics-d-2.dll ├── sfml-network-d-2.dll ├── sfml-system-d-2.dll ├── sfml-window-d-2.dll └── thor-d.dll ├── PokePlusPlus ├── Button.cpp ├── Button.h ├── Debug │ ├── Animation.obj │ ├── Button.obj │ ├── Character.obj │ ├── Entity.obj │ ├── Game.obj │ ├── GameState.obj │ ├── Intro.obj │ ├── MainMenuState.obj │ ├── MovementComponent.obj │ ├── Player.obj │ ├── PokePlusPlus.Build.CppClean.log │ ├── PokePlusPlus.log │ ├── PokePlusPlus.tlog │ │ ├── CL.command.1.tlog │ │ ├── CL.read.1.tlog │ │ ├── CL.write.1.tlog │ │ ├── PokePlusPlus.lastbuildstate │ │ ├── link.command.1.tlog │ │ ├── link.read.1.tlog │ │ └── link.write.1.tlog │ ├── State.obj │ ├── gamestate.obj.enc │ ├── main.obj │ ├── main.obj.enc │ ├── player.obj.enc │ ├── vc141.idb │ └── vc141.pdb ├── Entity.cpp ├── Entity.h ├── Fonts │ └── PKMN_RBYGSC.ttf ├── Game.cpp ├── Game.h ├── GameState.cpp ├── GameState.h ├── MainMenuState.cpp ├── MainMenuState.h ├── MovementComponent.cpp ├── MovementComponent.h ├── Player.cpp ├── Player.h ├── Release │ ├── Animation.obj │ ├── Button.obj │ ├── Entity.obj │ ├── Game.obj │ ├── GameState.obj │ ├── MainMenuState.obj │ ├── Player.obj │ ├── PokePlusPlus.log │ ├── PokePlusPlus.tlog │ │ ├── CL.command.1.tlog │ │ ├── CL.read.1.tlog │ │ ├── CL.write.1.tlog │ │ ├── PokePlusPlus.lastbuildstate │ │ ├── PokePlusPlus.write.1u.tlog │ │ ├── link.command.1.tlog │ │ ├── link.read.1.tlog │ │ └── link.write.1.tlog │ ├── State.obj │ ├── main.obj │ └── vc141.pdb ├── Settings │ ├── gamestate_keybinds.ini │ ├── mainmenu_keybinds.ini │ ├── supported_keys.ini │ └── window.ini ├── Sprites │ ├── black-test.png │ ├── clefairy-idle.png │ ├── clefairy-walkcycles.png │ ├── copyright-frames.png │ ├── cursor.png │ ├── empty-texture.png │ ├── gameFreakLogo-frames.png │ ├── icon.png │ ├── intro-blank.png │ ├── main-menu.png │ ├── nintendo-copyright.png │ ├── pallet-town-collisions.png │ ├── pallet-town-top.png │ ├── pallet-town.png │ └── white-test.png ├── State.cpp ├── State.h └── main.cpp ├── README.md ├── Release ├── PokePlusPlus.exe ├── PokePlusPlus.iobj ├── PokePlusPlus.ipdb └── PokePlusPlus.pdb ├── SFML ├── bin │ ├── openal32.dll │ ├── sfml-audio-2.dll │ ├── sfml-audio-d-2.dll │ ├── sfml-graphics-2.dll │ ├── sfml-graphics-d-2.dll │ ├── sfml-network-2.dll │ ├── sfml-network-d-2.dll │ ├── sfml-system-2.dll │ ├── sfml-system-d-2.dll │ ├── sfml-window-2.dll │ └── sfml-window-d-2.dll ├── include │ └── SFML │ │ ├── Audio.hpp │ │ ├── Audio │ │ ├── AlResource.hpp │ │ ├── Export.hpp │ │ ├── InputSoundFile.hpp │ │ ├── Listener.hpp │ │ ├── Music.hpp │ │ ├── OutputSoundFile.hpp │ │ ├── Sound.hpp │ │ ├── SoundBuffer.hpp │ │ ├── SoundBufferRecorder.hpp │ │ ├── SoundFileFactory.hpp │ │ ├── SoundFileFactory.inl │ │ ├── SoundFileReader.hpp │ │ ├── SoundFileWriter.hpp │ │ ├── SoundRecorder.hpp │ │ ├── SoundSource.hpp │ │ └── SoundStream.hpp │ │ ├── Config.hpp │ │ ├── GpuPreference.hpp │ │ ├── Graphics.hpp │ │ ├── Graphics │ │ ├── BlendMode.hpp │ │ ├── CircleShape.hpp │ │ ├── Color.hpp │ │ ├── ConvexShape.hpp │ │ ├── Drawable.hpp │ │ ├── Export.hpp │ │ ├── Font.hpp │ │ ├── Glsl.hpp │ │ ├── Glsl.inl │ │ ├── Glyph.hpp │ │ ├── Image.hpp │ │ ├── PrimitiveType.hpp │ │ ├── Rect.hpp │ │ ├── Rect.inl │ │ ├── RectangleShape.hpp │ │ ├── RenderStates.hpp │ │ ├── RenderTarget.hpp │ │ ├── RenderTexture.hpp │ │ ├── RenderWindow.hpp │ │ ├── Shader.hpp │ │ ├── Shape.hpp │ │ ├── Sprite.hpp │ │ ├── Text.hpp │ │ ├── Texture.hpp │ │ ├── Transform.hpp │ │ ├── Transformable.hpp │ │ ├── Vertex.hpp │ │ ├── VertexArray.hpp │ │ ├── VertexBuffer.hpp │ │ └── View.hpp │ │ ├── Main.hpp │ │ ├── Network.hpp │ │ ├── Network │ │ ├── Export.hpp │ │ ├── Ftp.hpp │ │ ├── Http.hpp │ │ ├── IpAddress.hpp │ │ ├── Packet.hpp │ │ ├── Socket.hpp │ │ ├── SocketHandle.hpp │ │ ├── SocketSelector.hpp │ │ ├── TcpListener.hpp │ │ ├── TcpSocket.hpp │ │ └── UdpSocket.hpp │ │ ├── OpenGL.hpp │ │ ├── System.hpp │ │ ├── System │ │ ├── Clock.hpp │ │ ├── Err.hpp │ │ ├── Export.hpp │ │ ├── FileInputStream.hpp │ │ ├── InputStream.hpp │ │ ├── Lock.hpp │ │ ├── MemoryInputStream.hpp │ │ ├── Mutex.hpp │ │ ├── NativeActivity.hpp │ │ ├── NonCopyable.hpp │ │ ├── Sleep.hpp │ │ ├── String.hpp │ │ ├── String.inl │ │ ├── Thread.hpp │ │ ├── Thread.inl │ │ ├── ThreadLocal.hpp │ │ ├── ThreadLocalPtr.hpp │ │ ├── ThreadLocalPtr.inl │ │ ├── Time.hpp │ │ ├── Utf.hpp │ │ ├── Utf.inl │ │ ├── Vector2.hpp │ │ ├── Vector2.inl │ │ ├── Vector3.hpp │ │ └── Vector3.inl │ │ ├── Window.hpp │ │ └── Window │ │ ├── Clipboard.hpp │ │ ├── Context.hpp │ │ ├── ContextSettings.hpp │ │ ├── Cursor.hpp │ │ ├── Event.hpp │ │ ├── Export.hpp │ │ ├── GlResource.hpp │ │ ├── Joystick.hpp │ │ ├── Keyboard.hpp │ │ ├── Mouse.hpp │ │ ├── Sensor.hpp │ │ ├── Touch.hpp │ │ ├── VideoMode.hpp │ │ ├── Window.hpp │ │ ├── WindowHandle.hpp │ │ └── WindowStyle.hpp └── lib │ ├── cmake │ └── SFML │ │ ├── SFMLConfig.cmake │ │ ├── SFMLConfigDependencies.cmake │ │ ├── SFMLConfigVersion.cmake │ │ ├── SFMLSharedTargets-debug.cmake │ │ ├── SFMLSharedTargets-release.cmake │ │ ├── SFMLSharedTargets.cmake │ │ ├── SFMLStaticTargets-debug.cmake │ │ ├── SFMLStaticTargets-release.cmake │ │ └── SFMLStaticTargets.cmake │ ├── flac.lib │ ├── freetype.lib │ ├── ogg.lib │ ├── openal32.lib │ ├── sfml-audio-d.lib │ ├── sfml-audio-d.pdb │ ├── sfml-audio-s-d.lib │ ├── sfml-audio-s-d.pdb │ ├── sfml-audio-s.lib │ ├── sfml-audio.lib │ ├── sfml-graphics-d.lib │ ├── sfml-graphics-d.pdb │ ├── sfml-graphics-s-d.lib │ ├── sfml-graphics-s-d.pdb │ ├── sfml-graphics-s.lib │ ├── sfml-graphics.lib │ ├── sfml-main-d.lib │ ├── sfml-main-s-d.pdb │ ├── sfml-main.lib │ ├── sfml-network-d.lib │ ├── sfml-network-d.pdb │ ├── sfml-network-s-d.lib │ ├── sfml-network-s-d.pdb │ ├── sfml-network-s.lib │ ├── sfml-network.lib │ ├── sfml-system-d.lib │ ├── sfml-system-d.pdb │ ├── sfml-system-s-d.lib │ ├── sfml-system-s-d.pdb │ ├── sfml-system-s.lib │ ├── sfml-system.lib │ ├── sfml-window-d.lib │ ├── sfml-window-d.pdb │ ├── sfml-window-s-d.lib │ ├── sfml-window-s-d.pdb │ ├── sfml-window-s.lib │ ├── sfml-window.lib │ ├── vorbis.lib │ ├── vorbisenc.lib │ └── vorbisfile.lib └── Thor ├── LicenseAurora.txt ├── LicenseThor.txt ├── ReadMe.txt ├── bin ├── thor-d.dll └── thor.dll ├── doc ├── Doxygen.css ├── _action_8hpp.html ├── _action_8hpp_source.html ├── _action_context_8hpp.html ├── _action_context_8hpp_source.html ├── _action_map_8hpp.html ├── _action_map_8hpp_source.html ├── _affectors_8hpp.html ├── _affectors_8hpp_source.html ├── _animations_8hpp.html ├── _animations_8hpp_source.html ├── _animator_8hpp.html ├── _animator_8hpp_source.html ├── _arrow_8hpp.html ├── _arrow_8hpp_source.html ├── _big_sprite_8hpp.html ├── _big_sprite_8hpp_source.html ├── _big_texture_8hpp.html ├── _big_texture_8hpp_source.html ├── _callback_timer_8hpp.html ├── _callback_timer_8hpp_source.html ├── _color_animation_8hpp.html ├── _color_animation_8hpp_source.html ├── _color_gradient_8hpp.html ├── _color_gradient_8hpp_source.html ├── _concave_shape_8hpp.html ├── _concave_shape_8hpp_source.html ├── _config_8hpp.html ├── _config_8hpp_source.html ├── _connection_8hpp.html ├── _connection_8hpp_source.html ├── _distribution_8hpp.html ├── _distribution_8hpp_source.html ├── _distributions_8hpp.html ├── _distributions_8hpp_source.html ├── _documentation_8hpp_source.html ├── _emission_interface_8hpp.html ├── _emission_interface_8hpp_source.html ├── _emitters_8hpp.html ├── _emitters_8hpp_source.html ├── _event_system_8hpp.html ├── _event_system_8hpp_source.html ├── _fade_animation_8hpp.html ├── _fade_animation_8hpp_source.html ├── _frame_animation_8hpp.html ├── _frame_animation_8hpp_source.html ├── _graphics_8hpp.html ├── _graphics_8hpp_source.html ├── _input_8hpp.html ├── _input_8hpp_source.html ├── _input_names_8hpp.html ├── _input_names_8hpp_source.html ├── _joystick_8hpp.html ├── _joystick_8hpp_source.html ├── _known_id_strategy_8hpp.html ├── _known_id_strategy_8hpp_source.html ├── _math_8hpp.html ├── _math_8hpp_source.html ├── _ownership_models_8hpp.html ├── _ownership_models_8hpp_source.html ├── _particle_8hpp.html ├── _particle_8hpp_source.html ├── _particle_system_8hpp.html ├── _particle_system_8hpp_source.html ├── _particles_8hpp.html ├── _particles_8hpp_source.html ├── _polar_vector2_8hpp.html ├── _polar_vector2_8hpp_source.html ├── _random_8hpp.html ├── _random_8hpp_source.html ├── _ref_animation_8hpp.html ├── _ref_animation_8hpp_source.html ├── _resource_exceptions_8hpp.html ├── _resource_exceptions_8hpp_source.html ├── _resource_holder_8hpp.html ├── _resource_holder_8hpp_source.html ├── _resource_loader_8hpp.html ├── _resource_loader_8hpp_source.html ├── _resources_8hpp.html ├── _resources_8hpp_source.html ├── _sfml_loaders_8hpp.html ├── _sfml_loaders_8hpp_source.html ├── _shapes_2_shapes_8hpp.html ├── _shapes_2_shapes_8hpp_source.html ├── _shapes_8hpp.html ├── _shapes_8hpp_source.html ├── _stop_watch_8hpp.html ├── _stop_watch_8hpp_source.html ├── _time_8hpp.html ├── _time_8hpp_source.html ├── _timer_8hpp.html ├── _timer_8hpp_source.html ├── _to_string_8hpp.html ├── _to_string_8hpp_source.html ├── _triangulation_8hpp.html ├── _triangulation_8hpp_source.html ├── _triangulation_figures_8hpp.html ├── _triangulation_figures_8hpp_source.html ├── _trigonometry_8hpp.html ├── _trigonometry_8hpp_source.html ├── _uniform_access_8hpp.html ├── _uniform_access_8hpp_source.html ├── _vector_algebra2_d_8hpp.html ├── _vector_algebra2_d_8hpp_source.html ├── _vector_algebra3_d_8hpp.html ├── _vector_algebra3_d_8hpp_source.html ├── _vectors_8hpp.html ├── _vectors_8hpp_source.html ├── annotated.html ├── bc_s.png ├── bdwn.png ├── classes.html ├── classthor_1_1_action-members.html ├── classthor_1_1_action.html ├── classthor_1_1_action_map-members.html ├── classthor_1_1_action_map.html ├── classthor_1_1_animation_affector-members.html ├── classthor_1_1_animation_affector.html ├── classthor_1_1_animator-members.html ├── classthor_1_1_animator.html ├── classthor_1_1_arrow-members.html ├── classthor_1_1_arrow.html ├── classthor_1_1_big_sprite-members.html ├── classthor_1_1_big_sprite.html ├── classthor_1_1_big_texture-members.html ├── classthor_1_1_big_texture.html ├── classthor_1_1_callback_timer-members.html ├── classthor_1_1_callback_timer.html ├── classthor_1_1_callback_timer.png ├── classthor_1_1_color_animation-members.html ├── classthor_1_1_color_animation.html ├── classthor_1_1_color_gradient-members.html ├── classthor_1_1_color_gradient.html ├── classthor_1_1_concave_shape-members.html ├── classthor_1_1_concave_shape.html ├── classthor_1_1_connection-members.html ├── classthor_1_1_connection.html ├── classthor_1_1_distribution-members.html ├── classthor_1_1_distribution.html ├── classthor_1_1_edge-members.html ├── classthor_1_1_edge.html ├── classthor_1_1_emission_interface-members.html ├── classthor_1_1_emission_interface.html ├── classthor_1_1_emission_interface.png ├── classthor_1_1_event_system-members.html ├── classthor_1_1_event_system.html ├── classthor_1_1_fade_animation-members.html ├── classthor_1_1_fade_animation.html ├── classthor_1_1_force_affector-members.html ├── classthor_1_1_force_affector.html ├── classthor_1_1_frame_animation-members.html ├── classthor_1_1_frame_animation.html ├── classthor_1_1_particle-members.html ├── classthor_1_1_particle.html ├── classthor_1_1_particle_system-members.html ├── classthor_1_1_particle_system.html ├── classthor_1_1_particle_system.png ├── classthor_1_1_ref_animation-members.html ├── classthor_1_1_ref_animation.html ├── classthor_1_1_resource_access_exception-members.html ├── classthor_1_1_resource_access_exception.html ├── classthor_1_1_resource_holder-members.html ├── classthor_1_1_resource_holder.html ├── classthor_1_1_resource_loader-members.html ├── classthor_1_1_resource_loader.html ├── classthor_1_1_resource_loading_exception-members.html ├── classthor_1_1_resource_loading_exception.html ├── classthor_1_1_scale_affector-members.html ├── classthor_1_1_scale_affector.html ├── classthor_1_1_scoped_connection-members.html ├── classthor_1_1_scoped_connection.html ├── classthor_1_1_stop_watch-members.html ├── classthor_1_1_stop_watch.html ├── classthor_1_1_string_conversion_exception-members.html ├── classthor_1_1_string_conversion_exception.html ├── classthor_1_1_timer-members.html ├── classthor_1_1_timer.html ├── classthor_1_1_timer.png ├── classthor_1_1_torque_affector-members.html ├── classthor_1_1_torque_affector.html ├── classthor_1_1_triangle-members.html ├── classthor_1_1_triangle.html ├── classthor_1_1_universal_emitter-members.html ├── classthor_1_1_universal_emitter.html ├── closed.png ├── doxygen.png ├── files.html ├── functions.html ├── functions_0x62.html ├── functions_0x63.html ├── functions_0x64.html ├── functions_0x65.html ├── functions_0x66.html ├── functions_0x67.html ├── functions_0x68.html ├── functions_0x69.html ├── functions_0x6a.html ├── functions_0x6c.html ├── functions_0x6f.html ├── functions_0x70.html ├── functions_0x72.html ├── functions_0x73.html ├── functions_0x74.html ├── functions_0x75.html ├── functions_0x76.html ├── functions_0x77.html ├── functions_0x7e.html ├── functions_enum.html ├── functions_eval.html ├── functions_func.html ├── functions_type.html ├── functions_vars.html ├── group___animations.html ├── group___graphics.html ├── group___input.html ├── group___math.html ├── group___particles.html ├── group___resources.html ├── group___shapes.html ├── group___time.html ├── group___vectors.html ├── hierarchy.html ├── index.html ├── jquery.js ├── modules.html ├── namespacemembers.html ├── namespacemembers_enum.html ├── namespacemembers_eval.html ├── namespacemembers_func.html ├── namespaces.html ├── namespacethor_1_1_distributions.html ├── namespacethor_1_1_resources.html ├── namespacethor_1_1_shapes.html ├── nav_f.png ├── nav_h.png ├── open.png ├── structthor_1_1_action_context-members.html ├── structthor_1_1_action_context.html ├── structthor_1_1_joystick_axis-members.html ├── structthor_1_1_joystick_axis.html ├── structthor_1_1_joystick_button-members.html ├── structthor_1_1_joystick_button.html ├── structthor_1_1_polar_vector2-members.html ├── structthor_1_1_polar_vector2.html ├── structthor_1_1_resources_1_1_central_owner.html ├── structthor_1_1_resources_1_1_ref_counted.html ├── structthor_1_1_triangulation_traits-members.html ├── structthor_1_1_triangulation_traits.html ├── structthor_1_1_trigonometric_traits.html ├── tab_a.png ├── tab_b.png ├── tab_h.png ├── tab_s.png ├── tabs.css └── thor.png ├── examples ├── Action.cpp ├── Action.exe ├── Animations.cpp ├── Animations.exe ├── Fireworks.cpp ├── Fireworks.exe ├── Media │ ├── animation.png │ ├── click.wav │ ├── particle.png │ ├── sansation.ttf │ └── thor.png ├── Particles.cpp ├── Particles.exe ├── Resources.cpp ├── Resources.exe ├── Shapes.cpp ├── Shapes.exe ├── Time.cpp ├── Time.exe ├── Triangulation.cpp ├── Triangulation.exe ├── UserEvents.cpp ├── UserEvents.exe ├── Vectors.cpp └── Vectors.exe ├── include ├── Aurora │ ├── Config.hpp │ ├── Dispatch.hpp │ ├── Dispatch │ │ ├── Detail │ │ │ ├── DoubleDispatcher.inl │ │ │ └── SingleDispatcher.inl │ │ ├── DispatchTraits.hpp │ │ ├── DoubleDispatcher.hpp │ │ └── SingleDispatcher.hpp │ ├── Meta.hpp │ ├── Meta │ │ ├── Preprocessor.hpp │ │ ├── Templates.hpp │ │ ├── Tuple.hpp │ │ └── Variadic.hpp │ ├── SmartPtr.hpp │ ├── SmartPtr │ │ ├── ClonersAndDeleters.hpp │ │ ├── CopiedPtr.hpp │ │ ├── Detail │ │ │ ├── Factories.hpp │ │ │ └── PtrOwner.hpp │ │ └── MakeUnique.hpp │ ├── Tools.hpp │ └── Tools │ │ ├── Algorithms.hpp │ │ ├── Downcast.hpp │ │ ├── Exceptions.hpp │ │ ├── ForEach.hpp │ │ ├── Hash.hpp │ │ ├── NamedTuple.hpp │ │ ├── NonCopyable.hpp │ │ ├── SafeBool.hpp │ │ ├── Swap.hpp │ │ └── Typeid.hpp └── Thor │ ├── Animations.hpp │ ├── Animations │ ├── Animator.hpp │ ├── ColorAnimation.hpp │ ├── Detail │ │ ├── Animator.inl │ │ └── RefAnimation.inl │ ├── FadeAnimation.hpp │ ├── FrameAnimation.hpp │ └── RefAnimation.hpp │ ├── Config.hpp │ ├── Graphics.hpp │ ├── Graphics │ ├── BigSprite.hpp │ ├── BigTexture.hpp │ ├── ColorGradient.hpp │ ├── Detail │ │ ├── ToString.inl │ │ └── UniformAccess.inl │ ├── ToString.hpp │ └── UniformAccess.hpp │ ├── Input.hpp │ ├── Input │ ├── Action.hpp │ ├── ActionContext.hpp │ ├── ActionMap.hpp │ ├── Connection.hpp │ ├── Detail │ │ ├── ActionMap.inl │ │ ├── ActionOperations.hpp │ │ ├── ConnectionImpl.hpp │ │ ├── EventListener.hpp │ │ └── EventSystem.inl │ ├── EventSystem.hpp │ ├── InputNames.hpp │ └── Joystick.hpp │ ├── Math.hpp │ ├── Math │ ├── Detail │ │ ├── Triangulation.inl │ │ └── TriangulationFigures.inl │ ├── Distribution.hpp │ ├── Distributions.hpp │ ├── Random.hpp │ ├── Triangulation.hpp │ ├── TriangulationFigures.hpp │ └── Trigonometry.hpp │ ├── Particles.hpp │ ├── Particles │ ├── Affectors.hpp │ ├── EmissionInterface.hpp │ ├── Emitters.hpp │ ├── Particle.hpp │ └── ParticleSystem.hpp │ ├── Resources.hpp │ ├── Resources │ ├── Detail │ │ ├── ResourceHolder.inl │ │ └── ResourceLoaderHelpers.hpp │ ├── KnownIdStrategy.hpp │ ├── OwnershipModels.hpp │ ├── ResourceExceptions.hpp │ ├── ResourceHolder.hpp │ ├── ResourceLoader.hpp │ └── SfmlLoaders.hpp │ ├── Shapes.hpp │ ├── Shapes │ ├── Arrow.hpp │ ├── ConcaveShape.hpp │ └── Shapes.hpp │ ├── Time.hpp │ ├── Time │ ├── CallbackTimer.hpp │ ├── StopWatch.hpp │ └── Timer.hpp │ ├── Vectors.hpp │ └── Vectors │ ├── Detail │ ├── PolarVector2.inl │ ├── VectorAlgebra2D.inl │ └── VectorAlgebra3D.inl │ ├── PolarVector2.hpp │ ├── VectorAlgebra2D.hpp │ └── VectorAlgebra3D.hpp └── lib ├── thor-d.lib ├── thor-s-d.lib ├── thor-s.lib └── thor.lib /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | *.html linguist-vendored 5 | *.css linguist-vendored 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | CMakeCache.txt 2 | CMakeFiles 3 | CMakeScripts 4 | Testing 5 | Makefile 6 | cmake_install.cmake 7 | install_manifest.txt 8 | compile_commands.json 9 | CTestTestfile.cmake 10 | -------------------------------------------------------------------------------- /Debug/PokePlusPlus.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Debug/PokePlusPlus.exe -------------------------------------------------------------------------------- /Debug/PokePlusPlus.ilk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Debug/PokePlusPlus.ilk -------------------------------------------------------------------------------- /Debug/PokePlusPlus.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Debug/PokePlusPlus.pdb -------------------------------------------------------------------------------- /Debug/openal32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Debug/openal32.dll -------------------------------------------------------------------------------- /Debug/sfml-audio-d-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Debug/sfml-audio-d-2.dll -------------------------------------------------------------------------------- /Debug/sfml-graphics-d-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Debug/sfml-graphics-d-2.dll -------------------------------------------------------------------------------- /Debug/sfml-network-d-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Debug/sfml-network-d-2.dll -------------------------------------------------------------------------------- /Debug/sfml-system-d-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Debug/sfml-system-d-2.dll -------------------------------------------------------------------------------- /Debug/sfml-window-d-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Debug/sfml-window-d-2.dll -------------------------------------------------------------------------------- /Debug/thor-d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Debug/thor-d.dll -------------------------------------------------------------------------------- /PokePlusPlus/Button.cpp: -------------------------------------------------------------------------------- 1 | #include "Button.h" 2 | 3 | 4 | // +--------------------------+ 5 | // | Constructor / Destructor | 6 | // +--------------------------+ 7 | Button::Button(float x, float y, float width, float height, std::string text, sf::Font *font, sf::Color idleColor, sf::Color hoverColor, sf::Color activeColor) { 8 | // Positioning and initializing the shape of the button 9 | this->shape.setPosition(sf::Vector2f(x, y)); 10 | this->shape.setSize(sf::Vector2f(width, height)); 11 | this->shape.setFillColor(idleColor); 12 | 13 | // Text initialization 14 | this->font = font; 15 | this->text.setFont(*this->font); 16 | this->text.setString(text); 17 | this->text.setFillColor(sf::Color::Black); 18 | this->text.setCharacterSize(12); 19 | 20 | // Text position offset 21 | this->text.setPosition( 22 | this->shape.getPosition().x + (this->shape.getGlobalBounds().width / 2.0f) - this->text.getGlobalBounds().width / 2.0f, 23 | this->shape.getPosition().y + (this->shape.getGlobalBounds().height / 2.0f) - this->text.getGlobalBounds().height / 2.0f 24 | ); 25 | 26 | // Set up the cursor 27 | this->initCursor(); 28 | 29 | // Color initialization 30 | this->idleColor = idleColor; 31 | this->hoverColor = hoverColor; 32 | 33 | selected = false; 34 | } 35 | 36 | Button::~Button() { 37 | // 38 | } 39 | 40 | 41 | // +-----------+ 42 | // | Functions | 43 | // +-----------+ 44 | void Button::update(bool highlighted) { 45 | // Updates the booleans for hover and pressed 46 | if (highlighted) { 47 | this->shape.setFillColor(this->hoverColor); 48 | this->selected = true; 49 | } else { 50 | this->shape.setFillColor(this->idleColor); 51 | this->selected = false; 52 | } 53 | } 54 | 55 | void Button::render(sf::RenderTarget *target) { 56 | target->draw(this->shape); 57 | target->draw(this->text); 58 | if (selected) { 59 | target->draw(this->cursor); 60 | } 61 | } 62 | 63 | 64 | // +--------------+ 65 | // | Initializers | 66 | // +--------------+ 67 | void Button::initCursor() { 68 | this->cursor.setSize(sf::Vector2f(6.0f, 7.0f)); 69 | 70 | if (!this->cursorTexture.loadFromFile("Sprites/cursor.png")) { 71 | std::cerr << "Failed to load cursor texture!" << std::endl; 72 | exit(EXIT_FAILURE); 73 | } 74 | 75 | this->cursor.setTexture(&this->cursorTexture); 76 | this->cursor.setPosition(this->text.getPosition().x - 10, this->text.getPosition().y); 77 | } 78 | 79 | // +-------------------+ 80 | // | Getters & Setters | 81 | // +-------------------+ 82 | const bool Button::isPressed() const { 83 | return false; 84 | } 85 | -------------------------------------------------------------------------------- /PokePlusPlus/Button.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef BUTTON_H 4 | #define BUTTON_H 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | 17 | class Button { 18 | public: // functions 19 | // +--------------------------+ 20 | // | Constructor / Destructor | 21 | // +--------------------------+ 22 | Button(float x, float y, float width, float height, std::string text, sf::Font *font, sf::Color idleColor, sf::Color hoverColor, sf::Color activeColor); 23 | virtual ~Button(); 24 | 25 | // +-----------+ 26 | // | Functions | 27 | // +-----------+ 28 | void render(sf::RenderTarget *target); 29 | void update(bool highlighted); 30 | 31 | // +--------------+ 32 | // | Initializers | 33 | // +--------------+ 34 | void initCursor(); 35 | 36 | // +-------------------+ 37 | // | Getters & Setters | 38 | // +-------------------+ 39 | const bool isPressed() const; 40 | 41 | private: // functions 42 | 43 | private: // variables 44 | bool selected; 45 | 46 | sf::RectangleShape shape; 47 | sf::Font *font; 48 | sf::Text text; 49 | 50 | sf::RectangleShape cursor; 51 | sf::Texture cursorTexture; 52 | 53 | sf::Color idleColor; 54 | sf::Color hoverColor; 55 | sf::Color activeColor; 56 | }; 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /PokePlusPlus/Debug/Animation.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/Animation.obj -------------------------------------------------------------------------------- /PokePlusPlus/Debug/Button.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/Button.obj -------------------------------------------------------------------------------- /PokePlusPlus/Debug/Character.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/Character.obj -------------------------------------------------------------------------------- /PokePlusPlus/Debug/Entity.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/Entity.obj -------------------------------------------------------------------------------- /PokePlusPlus/Debug/Game.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/Game.obj -------------------------------------------------------------------------------- /PokePlusPlus/Debug/GameState.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/GameState.obj -------------------------------------------------------------------------------- /PokePlusPlus/Debug/Intro.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/Intro.obj -------------------------------------------------------------------------------- /PokePlusPlus/Debug/MainMenuState.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/MainMenuState.obj -------------------------------------------------------------------------------- /PokePlusPlus/Debug/MovementComponent.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/MovementComponent.obj -------------------------------------------------------------------------------- /PokePlusPlus/Debug/Player.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/Player.obj -------------------------------------------------------------------------------- /PokePlusPlus/Debug/PokePlusPlus.Build.CppClean.log: -------------------------------------------------------------------------------- 1 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\vc141.pdb 2 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\vc141.idb 3 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\main.obj 4 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\intro.obj 5 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\character.obj 6 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\animation.obj 7 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\state.obj 8 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\game.obj 9 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\entity.obj 10 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\gamestate.obj 11 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\mainmenustate.obj 12 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\button.obj 13 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\player.obj 14 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\movementcomponent.obj 15 | c:\users\natalie\source\repos\pokeplusplus\debug\pokeplusplus.exe 16 | c:\users\natalie\source\repos\pokeplusplus\debug\pokeplusplus.ilk 17 | c:\users\natalie\source\repos\pokeplusplus\debug\pokeplusplus.pdb 18 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\main.obj.enc 19 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\player.obj.enc 20 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\pokeplusplus.tlog\cl.command.1.tlog 21 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\pokeplusplus.tlog\cl.read.1.tlog 22 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\pokeplusplus.tlog\cl.write.1.tlog 23 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\pokeplusplus.tlog\link.command.1.tlog 24 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\pokeplusplus.tlog\link.read.1.tlog 25 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\debug\pokeplusplus.tlog\link.write.1.tlog 26 | -------------------------------------------------------------------------------- /PokePlusPlus/Debug/PokePlusPlus.log: -------------------------------------------------------------------------------- 1 |  Game.cpp 2 | GameState.cpp 3 | MainMenuState.cpp 4 | main.cpp 5 | Generating Code... 6 | PokePlusPlus.vcxproj -> C:\Users\Natalie\source\repos\PokePlusPlus\Debug\PokePlusPlus.exe 7 | -------------------------------------------------------------------------------- /PokePlusPlus/Debug/PokePlusPlus.tlog/CL.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/PokePlusPlus.tlog/CL.command.1.tlog -------------------------------------------------------------------------------- /PokePlusPlus/Debug/PokePlusPlus.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/PokePlusPlus.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /PokePlusPlus/Debug/PokePlusPlus.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/PokePlusPlus.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /PokePlusPlus/Debug/PokePlusPlus.tlog/PokePlusPlus.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v141:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0 2 | Debug|Win32|C:\Users\Natalie\source\repos\PokePlusPlus\| 3 | -------------------------------------------------------------------------------- /PokePlusPlus/Debug/PokePlusPlus.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/PokePlusPlus.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /PokePlusPlus/Debug/PokePlusPlus.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/PokePlusPlus.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /PokePlusPlus/Debug/PokePlusPlus.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/PokePlusPlus.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /PokePlusPlus/Debug/State.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/State.obj -------------------------------------------------------------------------------- /PokePlusPlus/Debug/gamestate.obj.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/gamestate.obj.enc -------------------------------------------------------------------------------- /PokePlusPlus/Debug/main.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/main.obj -------------------------------------------------------------------------------- /PokePlusPlus/Debug/main.obj.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/main.obj.enc -------------------------------------------------------------------------------- /PokePlusPlus/Debug/player.obj.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/player.obj.enc -------------------------------------------------------------------------------- /PokePlusPlus/Debug/vc141.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/vc141.idb -------------------------------------------------------------------------------- /PokePlusPlus/Debug/vc141.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Debug/vc141.pdb -------------------------------------------------------------------------------- /PokePlusPlus/Entity.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef ENTITY_H 4 | #define ENTITY_H 5 | 6 | #include "MovementComponent.h" 7 | 8 | enum MoveDir { 9 | NONE = 0, 10 | UP, 11 | DOWN, 12 | LEFT, 13 | RIGHT 14 | }; 15 | 16 | class Entity { 17 | public: // functions 18 | // +--------------------------+ 19 | // | Constructor / Destructor | 20 | // +--------------------------+ 21 | Entity(); 22 | virtual ~Entity(); 23 | 24 | // +---------------------+ 25 | // | Component Functions | 26 | // +---------------------+ 27 | void setTexture(sf::Texture &texture); 28 | 29 | // +-----------+ 30 | // | Functions | 31 | // +-----------+ 32 | virtual void move(MoveDir dir); 33 | virtual void startMovement(MoveDir dir); 34 | virtual void stopMove(); 35 | 36 | virtual void update(const float &dt); 37 | virtual void render(sf::RenderTarget *target); 38 | 39 | // +-------------------+ 40 | // | Getters & Setters | 41 | // +-------------------+ 42 | virtual void setPosition(const float x, const float y); 43 | sf::Vector2f getPosition(); 44 | int getDirection(MoveDir dir); 45 | 46 | private: // functions 47 | // +--------------+ 48 | // | Initializers | 49 | // +--------------+ 50 | void initVariables(); 51 | 52 | protected: // variables 53 | MoveDir direction; 54 | 55 | int moveState; 56 | float movementCounter; 57 | float counter; 58 | 59 | bool turning; 60 | bool moving; 61 | sf::Vector2f lastPosition; 62 | 63 | sf::Sprite sprite; 64 | }; 65 | 66 | #endif 67 | -------------------------------------------------------------------------------- /PokePlusPlus/Fonts/PKMN_RBYGSC.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Fonts/PKMN_RBYGSC.ttf -------------------------------------------------------------------------------- /PokePlusPlus/Game.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef GAME_H 4 | #define GAME_H 5 | 6 | #include "MainMenuState.h" 7 | 8 | class Game { 9 | 10 | public: // functions 11 | // +--------------------------+ 12 | // | Constructor / Destructor | 13 | // +--------------------------+ 14 | Game(); 15 | virtual ~Game(); 16 | 17 | // +--------------------------+ 18 | // | Main Game Loop Functions | 19 | // +--------------------------+ 20 | void run(); 21 | void update(); 22 | void render(); 23 | void updateDt(); 24 | void endApplication(); 25 | void updateSFMLEvents(); 26 | 27 | private: // functions 28 | // +--------------------------+ 29 | // | Initialization Functions | 30 | // +--------------------------+ 31 | void initVariables(); 32 | void initWindow(); 33 | void initKeys(); 34 | void initStates(); 35 | 36 | private: // variables 37 | sf::RenderWindow *window; 38 | sf::View *view; 39 | sf::Event sfEvent; 40 | 41 | sf::Clock dtClock; 42 | float dt; // deltaTime 43 | 44 | std::stack states; 45 | std::map supportedKeys; 46 | }; 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /PokePlusPlus/GameState.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef GAMESTATE_H 4 | #define GAMESTATE_H 5 | 6 | #include "State.h" 7 | 8 | class GameState : public State { 9 | public: // functions 10 | // +--------------------------+ 11 | // | Constructor / Destructor | 12 | // +--------------------------+ 13 | GameState(sf::RenderWindow *window, sf::View *view, std::map *supportedKeys, std::stack *states); 14 | virtual ~GameState(); 15 | 16 | // +------------------------+ 17 | // | Pure Virtual Functions | 18 | // +------------------------+ 19 | void update(const float &dt); 20 | void render(sf::RenderTarget *target = nullptr); 21 | 22 | void updateInput(const float &dt); 23 | 24 | // +-----------+ 25 | // | Functions | 26 | // +-----------+ 27 | bool checkCollision(sf::Vector2f source, sf::Vector2f destination); 28 | 29 | private: // functions 30 | // +--------------+ 31 | // | Initializers | 32 | // +--------------+ 33 | void initVariables(); 34 | void initKeybinds(); 35 | void initTextures(); 36 | void initPlayer(); 37 | void initBackground(); 38 | void initCollisionMap(); 39 | 40 | private: // variables 41 | sf::Sprite background; 42 | sf::Sprite foreground; 43 | std::vector> collisionData; 44 | 45 | Player *player; 46 | 47 | sf::View *windowView; 48 | }; 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /PokePlusPlus/MainMenuState.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef MAINMENUSTATE_H 4 | #define MAINMENUSTATE_H 5 | 6 | #include "GameState.h" 7 | #include "Button.h" 8 | 9 | 10 | class MainMenuState : public State { 11 | public: // functions 12 | // +--------------------------+ 13 | // | Constructor / Destructor | 14 | // +--------------------------+ 15 | MainMenuState(sf::RenderWindow *window, sf::View *view, std::map *supportedKeys, std::stack *states); 16 | virtual ~MainMenuState(); 17 | 18 | // +------------------------+ 19 | // | Pure Virtual Functions | 20 | // +------------------------+ 21 | void update(const float &dt); 22 | void render(sf::RenderTarget *target = nullptr); 23 | void renderButtons(sf::RenderTarget *target = nullptr); 24 | 25 | void updateInput(const float &dt); 26 | void updateButtons(); 27 | 28 | private: // functions 29 | // +--------------+ 30 | // | Initializers | 31 | // +--------------+ 32 | void initVariables(); 33 | void initKeybinds(); 34 | void initBackground(); 35 | void initFonts(); 36 | void initButtons(); 37 | 38 | private: // variables 39 | sf::RectangleShape background; 40 | sf::Texture backgroundTexture; 41 | 42 | sf::Font font; 43 | std::map buttons; 44 | Button *gamestateButton; 45 | 46 | std::string currentSelection; 47 | }; 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /PokePlusPlus/MovementComponent.cpp: -------------------------------------------------------------------------------- 1 | #include "MovementComponent.h" 2 | 3 | 4 | // +--------------------------+ 5 | // | Constructor / Destructor | 6 | // +--------------------------+ 7 | MovementComponent::MovementComponent(sf::Sprite &sprite, float maxVelocity) : sprite(sprite) { 8 | this->maxVelocity = maxVelocity; 9 | } 10 | 11 | 12 | MovementComponent::~MovementComponent() { 13 | // 14 | } 15 | 16 | 17 | // +-----------+ 18 | // | Functions | 19 | // +-----------+ 20 | void MovementComponent::move(const float dir_x, const float dir_y, const float &dt) { 21 | this->velocity.x = this->maxVelocity * dir_x; 22 | this->velocity.y = this->maxVelocity * dir_y; 23 | 24 | this->sprite.move(this->velocity * dt); 25 | } 26 | 27 | void MovementComponent::update(const float &dt) { 28 | // 29 | } 30 | 31 | // +-------------------+ 32 | // | Getters & Setters | 33 | // +-------------------+ 34 | const sf::Vector2f &MovementComponent::getVelocity() const { 35 | return this->velocity; 36 | } 37 | 38 | 39 | // +--------------+ 40 | // | Initializers | 41 | // +--------------+ 42 | void MovementComponent::initVariables() { 43 | // 44 | } -------------------------------------------------------------------------------- /PokePlusPlus/MovementComponent.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef MOVEMENTCOMPONENT_H 4 | #define MOVEMENTCOMPONENT_H 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | class MovementComponent { 21 | public: // functions 22 | // +--------------------------+ 23 | // | Constructor / Destructor | 24 | // +--------------------------+ 25 | MovementComponent(sf::Sprite &sprite, float maxVelocity); 26 | virtual ~MovementComponent(); 27 | 28 | // +-----------+ 29 | // | Functions | 30 | // +-----------+ 31 | void move(const float dir_x, const float dir_y, const float &dt); 32 | void update(const float &dt); 33 | 34 | // +-------------------+ 35 | // | Getters & Setters | 36 | // +-------------------+ 37 | const sf::Vector2f &getVelocity() const; 38 | 39 | private: 40 | // +--------------+ 41 | // | Initializers | 42 | // +--------------+ 43 | void initVariables(); 44 | 45 | private: // variables 46 | sf::Sprite &sprite; 47 | 48 | float maxVelocity; 49 | sf::Vector2f velocity; 50 | sf::Vector2f acceleration; 51 | sf::Vector2f deceleration; 52 | }; 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /PokePlusPlus/Player.cpp: -------------------------------------------------------------------------------- 1 | #include "Player.h" 2 | 3 | 4 | // +--------------------------+ 5 | // | Constructor / Destructor | 6 | // +--------------------------+ 7 | Player::Player(float x, float y, sf::Texture &texture) { 8 | // Initializxe base entity data members 9 | this->initVariables(); 10 | this->initComponents(); 11 | 12 | // Make the sprite and place it 13 | this->setTexture(texture); 14 | this->setPosition(x, y); 15 | } 16 | 17 | Player::~Player() { 18 | // 19 | } 20 | 21 | 22 | // +-----------+ 23 | // | Functions | 24 | // +-----------+ 25 | void Player::update(const float &dt) { 26 | if (this->moving) { 27 | this->move(this->direction); 28 | } 29 | } 30 | 31 | 32 | // +--------------+ 33 | // | Initializers | 34 | // +--------------+ 35 | void Player::initVariables() { 36 | // 37 | } 38 | 39 | void Player::initComponents() { 40 | // 41 | } 42 | -------------------------------------------------------------------------------- /PokePlusPlus/Player.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef PLAYER_H 4 | #define PLAYER_H 5 | 6 | #include "Entity.h" 7 | 8 | class Player : public Entity { 9 | public: // functions 10 | // +--------------------------+ 11 | // | Constructor / Destructor | 12 | // +--------------------------+ 13 | Player(float x, float y, sf::Texture &texture); 14 | virtual ~Player(); 15 | 16 | // +-----------+ 17 | // | Functions | 18 | // +-----------+ 19 | void update(const float & dt); 20 | 21 | private: // functions 22 | // +--------------+ 23 | // | Initializers | 24 | // +--------------+ 25 | void initVariables(); 26 | void initComponents(); 27 | 28 | private: // variables 29 | // 30 | }; 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /PokePlusPlus/Release/Animation.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/Animation.obj -------------------------------------------------------------------------------- /PokePlusPlus/Release/Button.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/Button.obj -------------------------------------------------------------------------------- /PokePlusPlus/Release/Entity.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/Entity.obj -------------------------------------------------------------------------------- /PokePlusPlus/Release/Game.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/Game.obj -------------------------------------------------------------------------------- /PokePlusPlus/Release/GameState.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/GameState.obj -------------------------------------------------------------------------------- /PokePlusPlus/Release/MainMenuState.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/MainMenuState.obj -------------------------------------------------------------------------------- /PokePlusPlus/Release/Player.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/Player.obj -------------------------------------------------------------------------------- /PokePlusPlus/Release/PokePlusPlus.log: -------------------------------------------------------------------------------- 1 |  Button.cpp 2 | Entity.cpp 3 | Game.cpp 4 | GameState.cpp 5 | main.cpp 6 | MainMenuState.cpp 7 | c:\users\natalie\source\repos\pokeplusplus\pokeplusplus\mainmenustate.cpp(18): warning C4244: 'argument': conversion from 'T' to 'T', possible loss of data 8 | with 9 | [ 10 | T=unsigned int 11 | ] 12 | and 13 | [ 14 | T=float 15 | ] 16 | State.cpp 17 | Generating code 18 | 621 of 623 functions (99.7%) were compiled, the rest were copied from previous compilation. 19 | 553 functions were new in current compilation 20 | 0 functions had inline decision re-evaluated but remain unchanged 21 | Finished generating code 22 | PokePlusPlus.vcxproj -> C:\Users\Natalie\source\repos\PokePlusPlus\Release\PokePlusPlus.exe 23 | -------------------------------------------------------------------------------- /PokePlusPlus/Release/PokePlusPlus.tlog/CL.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/PokePlusPlus.tlog/CL.command.1.tlog -------------------------------------------------------------------------------- /PokePlusPlus/Release/PokePlusPlus.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/PokePlusPlus.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /PokePlusPlus/Release/PokePlusPlus.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/PokePlusPlus.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /PokePlusPlus/Release/PokePlusPlus.tlog/PokePlusPlus.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v141:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0 2 | Release|Win32|C:\Users\Natalie\source\repos\PokePlusPlus\| 3 | -------------------------------------------------------------------------------- /PokePlusPlus/Release/PokePlusPlus.tlog/PokePlusPlus.write.1u.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/PokePlusPlus.tlog/PokePlusPlus.write.1u.tlog -------------------------------------------------------------------------------- /PokePlusPlus/Release/PokePlusPlus.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/PokePlusPlus.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /PokePlusPlus/Release/PokePlusPlus.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/PokePlusPlus.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /PokePlusPlus/Release/PokePlusPlus.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/PokePlusPlus.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /PokePlusPlus/Release/State.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/State.obj -------------------------------------------------------------------------------- /PokePlusPlus/Release/main.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/main.obj -------------------------------------------------------------------------------- /PokePlusPlus/Release/vc141.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Release/vc141.pdb -------------------------------------------------------------------------------- /PokePlusPlus/Settings/gamestate_keybinds.ini: -------------------------------------------------------------------------------- 1 | CLOSE Escape 2 | MOVE_UP Up 3 | MOVE_DOWN Down 4 | MOVE_LEFT Left 5 | MOVE_RIGHT Right 6 | ENTER Z -------------------------------------------------------------------------------- /PokePlusPlus/Settings/mainmenu_keybinds.ini: -------------------------------------------------------------------------------- 1 | CLOSE Escape 2 | MOVE_UP Up 3 | MOVE_DOWN Down 4 | ENTER Z -------------------------------------------------------------------------------- /PokePlusPlus/Settings/supported_keys.ini: -------------------------------------------------------------------------------- 1 | A 0 2 | B 1 3 | C 2 4 | D 3 5 | E 4 6 | F 5 7 | G 6 8 | H 7 9 | I 8 10 | J 9 11 | K 10 12 | L 11 13 | M 12 14 | N 13 15 | O 14 16 | P 15 17 | Q 16 18 | R 17 19 | S 18 20 | T 19 21 | U 20 22 | V 21 23 | W 22 24 | X 23 25 | Y 24 26 | Z 25 27 | Num0 26 28 | Num1 27 29 | Num2 28 30 | Num3 29 31 | Num4 30 32 | Num5 31 33 | Num6 32 34 | Num7 33 35 | Num8 34 36 | Num9 35 37 | Escape 36 38 | LControl 37 39 | LShift 38 40 | LAlt 39 41 | LSystem 40 42 | RControl 41 43 | RShift 42 44 | RAlt 43 45 | RSystem 44 46 | Menu 45 47 | LBracket 46 48 | RBracket 47 49 | Semicolon 48 50 | Comma 49 51 | Period 50 52 | Quote 51 53 | Slash 52 54 | Backslash 53 55 | Tilde 54 56 | Equal 55 57 | Hyphen 56 58 | Space 57 59 | Enter 58 60 | Backspace 59 61 | Tab 60 62 | PageUp 61 63 | PageDown 62 64 | End 63 65 | Home 64 66 | Insert 65 67 | Delete 66 68 | Add 67 69 | Subtract 68 70 | Multiply 69 71 | Divide 70 72 | Left 71 73 | Right 72 74 | Up 73 75 | Down 74 76 | Numpad0 75 77 | Numpad1 76 78 | Numpad2 77 79 | Numpad3 78 80 | Numpad4 79 81 | Numpad5 80 82 | Numpad6 81 83 | Numpad7 82 84 | Numpad8 83 85 | Numpad9 84 86 | F1 85 87 | F2 86 88 | F3 87 89 | F4 88 90 | F5 89 91 | F6 90 92 | F7 91 93 | F8 92 94 | F9 93 95 | F10 94 96 | F11 95 97 | F12 96 98 | F13 97 99 | F14 98 100 | F15 99 101 | Pause 100 -------------------------------------------------------------------------------- /PokePlusPlus/Settings/window.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Settings/window.ini -------------------------------------------------------------------------------- /PokePlusPlus/Sprites/black-test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Sprites/black-test.png -------------------------------------------------------------------------------- /PokePlusPlus/Sprites/clefairy-idle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Sprites/clefairy-idle.png -------------------------------------------------------------------------------- /PokePlusPlus/Sprites/clefairy-walkcycles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Sprites/clefairy-walkcycles.png -------------------------------------------------------------------------------- /PokePlusPlus/Sprites/copyright-frames.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Sprites/copyright-frames.png -------------------------------------------------------------------------------- /PokePlusPlus/Sprites/cursor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Sprites/cursor.png -------------------------------------------------------------------------------- /PokePlusPlus/Sprites/empty-texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Sprites/empty-texture.png -------------------------------------------------------------------------------- /PokePlusPlus/Sprites/gameFreakLogo-frames.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Sprites/gameFreakLogo-frames.png -------------------------------------------------------------------------------- /PokePlusPlus/Sprites/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Sprites/icon.png -------------------------------------------------------------------------------- /PokePlusPlus/Sprites/intro-blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Sprites/intro-blank.png -------------------------------------------------------------------------------- /PokePlusPlus/Sprites/main-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Sprites/main-menu.png -------------------------------------------------------------------------------- /PokePlusPlus/Sprites/nintendo-copyright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Sprites/nintendo-copyright.png -------------------------------------------------------------------------------- /PokePlusPlus/Sprites/pallet-town-collisions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Sprites/pallet-town-collisions.png -------------------------------------------------------------------------------- /PokePlusPlus/Sprites/pallet-town-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Sprites/pallet-town-top.png -------------------------------------------------------------------------------- /PokePlusPlus/Sprites/pallet-town.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Sprites/pallet-town.png -------------------------------------------------------------------------------- /PokePlusPlus/Sprites/white-test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/PokePlusPlus/Sprites/white-test.png -------------------------------------------------------------------------------- /PokePlusPlus/State.cpp: -------------------------------------------------------------------------------- 1 | #include "State.h" 2 | 3 | 4 | // +--------------------------+ 5 | // | Constructor / Destructor | 6 | // +--------------------------+ 7 | State::State(sf::RenderWindow *window, sf::View *view, std::map *supportedKeys, std::stack *states) { 8 | // Set up the base state that will apply to all children. They all need the 9 | // window to render to, as well as which keys are supported for their bindings. 10 | this->window = window; 11 | this->windowView = windowView; 12 | this->supportedKeys = supportedKeys; 13 | this->states = states; 14 | this->quit = false; 15 | this->windowView = view; 16 | } 17 | 18 | 19 | State::~State() { 20 | // 21 | } 22 | 23 | const bool & State::getQuit() const { 24 | return this->quit; 25 | } 26 | 27 | void State::endState() { 28 | this->quit = true; 29 | } 30 | -------------------------------------------------------------------------------- /PokePlusPlus/State.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef STATE_H 4 | #define STATE_H 5 | 6 | #include "Player.h" 7 | 8 | class State { 9 | public: // functions 10 | // +--------------------------+ 11 | // | Constructor / Destructor | 12 | // +--------------------------+ 13 | State(sf::RenderWindow *window, sf::View *view, std::map *supportedKeys, std::stack *states); 14 | virtual ~State(); 15 | 16 | // +------------------------+ 17 | // | Pure Virtual Functions | 18 | // +------------------------+ 19 | virtual void update(const float &dt) = 0; 20 | virtual void render(sf::RenderTarget *target = nullptr) = 0; 21 | 22 | const bool & getQuit() const; 23 | //-virtual void updateEndState() = 0; 24 | virtual void endState(); 25 | 26 | virtual void updateInput(const float &dt) = 0; 27 | 28 | protected: // functions 29 | virtual void initKeybinds() = 0; 30 | 31 | protected: // variables 32 | bool quit; 33 | sf::RenderWindow *window; 34 | sf::View *windowView; 35 | std::map *supportedKeys; 36 | std::map keybinds; 37 | 38 | // The universal stack pointer from Game 39 | std::stack *states; 40 | 41 | // Resources 42 | std::map textures; 43 | 44 | private: // variables 45 | // 46 | }; 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /PokePlusPlus/main.cpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Game.h" 4 | 5 | 6 | int main(int argc, char *argv[]) { 7 | Game game; 8 | 9 | game.run(); 10 | 11 | return 0; 12 | } 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PokéPlusPlus 2 | 3 | A clone of Pokémon Red written entirely in C++ in order to run natively on PC without the use of emulators. This is starting as a project for a graphics class in university and I hope it grows considerably in the coming months! 4 | 5 | I originally wanted to write Pokémon Emerald but it was far too much animation work to be feasible as a project for my class. Also, I won an award for this project! 6 | -------------------------------------------------------------------------------- /Release/PokePlusPlus.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Release/PokePlusPlus.exe -------------------------------------------------------------------------------- /Release/PokePlusPlus.iobj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Release/PokePlusPlus.iobj -------------------------------------------------------------------------------- /Release/PokePlusPlus.ipdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Release/PokePlusPlus.ipdb -------------------------------------------------------------------------------- /Release/PokePlusPlus.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Release/PokePlusPlus.pdb -------------------------------------------------------------------------------- /SFML/bin/openal32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/bin/openal32.dll -------------------------------------------------------------------------------- /SFML/bin/sfml-audio-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/bin/sfml-audio-2.dll -------------------------------------------------------------------------------- /SFML/bin/sfml-audio-d-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/bin/sfml-audio-d-2.dll -------------------------------------------------------------------------------- /SFML/bin/sfml-graphics-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/bin/sfml-graphics-2.dll -------------------------------------------------------------------------------- /SFML/bin/sfml-graphics-d-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/bin/sfml-graphics-d-2.dll -------------------------------------------------------------------------------- /SFML/bin/sfml-network-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/bin/sfml-network-2.dll -------------------------------------------------------------------------------- /SFML/bin/sfml-network-d-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/bin/sfml-network-d-2.dll -------------------------------------------------------------------------------- /SFML/bin/sfml-system-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/bin/sfml-system-2.dll -------------------------------------------------------------------------------- /SFML/bin/sfml-system-d-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/bin/sfml-system-d-2.dll -------------------------------------------------------------------------------- /SFML/bin/sfml-window-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/bin/sfml-window-2.dll -------------------------------------------------------------------------------- /SFML/bin/sfml-window-d-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/bin/sfml-window-d-2.dll -------------------------------------------------------------------------------- /SFML/include/SFML/Audio.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_AUDIO_HPP 26 | #define SFML_AUDIO_HPP 27 | 28 | //////////////////////////////////////////////////////////// 29 | // Headers 30 | //////////////////////////////////////////////////////////// 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | 47 | 48 | #endif // SFML_AUDIO_HPP 49 | 50 | //////////////////////////////////////////////////////////// 51 | /// \defgroup audio Audio module 52 | /// 53 | /// Sounds, streaming (musics or custom sources), recording, 54 | /// spatialization. 55 | /// 56 | //////////////////////////////////////////////////////////// 57 | -------------------------------------------------------------------------------- /SFML/include/SFML/Audio/AlResource.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_ALRESOURCE_HPP 26 | #define SFML_ALRESOURCE_HPP 27 | 28 | //////////////////////////////////////////////////////////// 29 | // Headers 30 | //////////////////////////////////////////////////////////// 31 | #include 32 | 33 | 34 | namespace sf 35 | { 36 | //////////////////////////////////////////////////////////// 37 | /// \brief Base class for classes that require an OpenAL context 38 | /// 39 | //////////////////////////////////////////////////////////// 40 | class SFML_AUDIO_API AlResource 41 | { 42 | protected: 43 | 44 | //////////////////////////////////////////////////////////// 45 | /// \brief Default constructor 46 | /// 47 | //////////////////////////////////////////////////////////// 48 | AlResource(); 49 | 50 | //////////////////////////////////////////////////////////// 51 | /// \brief Destructor 52 | /// 53 | //////////////////////////////////////////////////////////// 54 | ~AlResource(); 55 | }; 56 | 57 | } // namespace sf 58 | 59 | 60 | #endif // SFML_ALRESOURCE_HPP 61 | 62 | //////////////////////////////////////////////////////////// 63 | /// \class sf::AlResource 64 | /// \ingroup audio 65 | /// 66 | /// This class is for internal use only, it must be the base 67 | /// of every class that requires a valid OpenAL context in 68 | /// order to work. 69 | /// 70 | //////////////////////////////////////////////////////////// 71 | -------------------------------------------------------------------------------- /SFML/include/SFML/Audio/Export.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_AUDIO_EXPORT_HPP 26 | #define SFML_AUDIO_EXPORT_HPP 27 | 28 | //////////////////////////////////////////////////////////// 29 | // Headers 30 | //////////////////////////////////////////////////////////// 31 | #include 32 | 33 | 34 | //////////////////////////////////////////////////////////// 35 | // Define portable import / export macros 36 | //////////////////////////////////////////////////////////// 37 | #if defined(SFML_AUDIO_EXPORTS) 38 | 39 | #define SFML_AUDIO_API SFML_API_EXPORT 40 | 41 | #else 42 | 43 | #define SFML_AUDIO_API SFML_API_IMPORT 44 | 45 | #endif 46 | 47 | 48 | #endif // SFML_AUDIO_EXPORT_HPP 49 | -------------------------------------------------------------------------------- /SFML/include/SFML/GpuPreference.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_GPUPREFERENCE_HPP 26 | #define SFML_GPUPREFERENCE_HPP 27 | 28 | 29 | //////////////////////////////////////////////////////////// 30 | /// Headers 31 | //////////////////////////////////////////////////////////// 32 | #include 33 | 34 | 35 | //////////////////////////////////////////////////////////// 36 | /// \file 37 | /// 38 | /// \brief File containing SFML_DEFINE_DISCRETE_GPU_PREFERENCE 39 | /// 40 | //////////////////////////////////////////////////////////// 41 | 42 | 43 | //////////////////////////////////////////////////////////// 44 | /// \def SFML_DEFINE_DISCRETE_GPU_PREFERENCE 45 | /// 46 | /// \brief A macro to encourage usage of the discrete GPU 47 | /// 48 | /// In order to inform the Nvidia/AMD driver that an SFML 49 | /// application could benefit from using the more powerful 50 | /// discrete GPU, special symbols have to be publicly 51 | /// exported from the final executable. 52 | /// 53 | /// SFML defines a helper macro to easily do this. 54 | /// 55 | /// Place SFML_DEFINE_DISCRETE_GPU_PREFERENCE in the 56 | /// global scope of a source file that will be linked into 57 | /// the final executable. Typically it is best to place it 58 | /// where the main function is also defined. 59 | /// 60 | //////////////////////////////////////////////////////////// 61 | #if defined(SFML_SYSTEM_WINDOWS) 62 | 63 | #define SFML_DEFINE_DISCRETE_GPU_PREFERENCE \ 64 | extern "C" __declspec(dllexport) unsigned long NvOptimusEnablement = 1; \ 65 | extern "C" __declspec(dllexport) unsigned long AmdPowerXpressRequestHighPerformance = 1; 66 | 67 | #else 68 | 69 | #define SFML_DEFINE_DISCRETE_GPU_PREFERENCE 70 | 71 | #endif 72 | 73 | 74 | #endif // SFML_GPUPREFERENCE_HPP 75 | -------------------------------------------------------------------------------- /SFML/include/SFML/Graphics.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_GRAPHICS_HPP 26 | #define SFML_GRAPHICS_HPP 27 | 28 | //////////////////////////////////////////////////////////// 29 | // Headers 30 | //////////////////////////////////////////////////////////// 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | #include 50 | #include 51 | #include 52 | #include 53 | #include 54 | #include 55 | #include 56 | #include 57 | #include 58 | #include 59 | 60 | 61 | #endif // SFML_GRAPHICS_HPP 62 | 63 | //////////////////////////////////////////////////////////// 64 | /// \defgroup graphics Graphics module 65 | /// 66 | /// 2D graphics module: sprites, text, shapes, ... 67 | /// 68 | //////////////////////////////////////////////////////////// 69 | -------------------------------------------------------------------------------- /SFML/include/SFML/Graphics/Export.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_GRAPHICS_EXPORT_HPP 26 | #define SFML_GRAPHICS_EXPORT_HPP 27 | 28 | //////////////////////////////////////////////////////////// 29 | // Headers 30 | //////////////////////////////////////////////////////////// 31 | #include 32 | 33 | 34 | //////////////////////////////////////////////////////////// 35 | // Define portable import / export macros 36 | //////////////////////////////////////////////////////////// 37 | #if defined(SFML_GRAPHICS_EXPORTS) 38 | 39 | #define SFML_GRAPHICS_API SFML_API_EXPORT 40 | 41 | #else 42 | 43 | #define SFML_GRAPHICS_API SFML_API_IMPORT 44 | 45 | #endif 46 | 47 | 48 | #endif // SFML_GRAPHICS_EXPORT_HPP 49 | -------------------------------------------------------------------------------- /SFML/include/SFML/Graphics/PrimitiveType.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_PRIMITIVETYPE_HPP 26 | #define SFML_PRIMITIVETYPE_HPP 27 | 28 | namespace sf 29 | { 30 | //////////////////////////////////////////////////////////// 31 | /// \ingroup graphics 32 | /// \brief Types of primitives that a sf::VertexArray can render 33 | /// 34 | /// Points and lines have no area, therefore their thickness 35 | /// will always be 1 pixel, regardless the current transform 36 | /// and view. 37 | /// 38 | //////////////////////////////////////////////////////////// 39 | enum PrimitiveType 40 | { 41 | Points, ///< List of individual points 42 | Lines, ///< List of individual lines 43 | LineStrip, ///< List of connected lines, a point uses the previous point to form a line 44 | Triangles, ///< List of individual triangles 45 | TriangleStrip, ///< List of connected triangles, a point uses the two previous points to form a triangle 46 | TriangleFan, ///< List of connected triangles, a point uses the common center and the previous point to form a triangle 47 | Quads, ///< List of individual quads (deprecated, don't work with OpenGL ES) 48 | 49 | // Deprecated names 50 | LinesStrip = LineStrip, ///< \deprecated Use LineStrip instead 51 | TrianglesStrip = TriangleStrip, ///< \deprecated Use TriangleStrip instead 52 | TrianglesFan = TriangleFan ///< \deprecated Use TriangleFan instead 53 | }; 54 | 55 | } // namespace sf 56 | 57 | 58 | #endif // SFML_PRIMITIVETYPE_HPP 59 | -------------------------------------------------------------------------------- /SFML/include/SFML/Main.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_MAIN_HPP 26 | #define SFML_MAIN_HPP 27 | 28 | //////////////////////////////////////////////////////////// 29 | // Headers 30 | //////////////////////////////////////////////////////////// 31 | #include 32 | 33 | 34 | #if defined(SFML_SYSTEM_IOS) 35 | 36 | // On iOS, we have no choice but to have our own main, 37 | // so we need to rename the user one and call it later 38 | #define main sfmlMain 39 | 40 | #endif 41 | 42 | 43 | #endif // SFML_MAIN_HPP 44 | -------------------------------------------------------------------------------- /SFML/include/SFML/Network.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_NETWORK_HPP 26 | #define SFML_NETWORK_HPP 27 | 28 | //////////////////////////////////////////////////////////// 29 | // Headers 30 | //////////////////////////////////////////////////////////// 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | #include 41 | #include 42 | #include 43 | 44 | 45 | #endif // SFML_NETWORK_HPP 46 | 47 | //////////////////////////////////////////////////////////// 48 | /// \defgroup network Network module 49 | /// 50 | /// Socket-based communication, utilities and higher-level 51 | /// network protocols (HTTP, FTP). 52 | /// 53 | //////////////////////////////////////////////////////////// 54 | -------------------------------------------------------------------------------- /SFML/include/SFML/Network/Export.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_NETWORK_EXPORT_HPP 26 | #define SFML_NETWORK_EXPORT_HPP 27 | 28 | //////////////////////////////////////////////////////////// 29 | // Headers 30 | //////////////////////////////////////////////////////////// 31 | #include 32 | 33 | 34 | //////////////////////////////////////////////////////////// 35 | // Define portable import / export macros 36 | //////////////////////////////////////////////////////////// 37 | #if defined(SFML_NETWORK_EXPORTS) 38 | 39 | #define SFML_NETWORK_API SFML_API_EXPORT 40 | 41 | #else 42 | 43 | #define SFML_NETWORK_API SFML_API_IMPORT 44 | 45 | #endif 46 | 47 | 48 | #endif // SFML_NETWORK_EXPORT_HPP 49 | -------------------------------------------------------------------------------- /SFML/include/SFML/Network/SocketHandle.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_SOCKETHANDLE_HPP 26 | #define SFML_SOCKETHANDLE_HPP 27 | 28 | //////////////////////////////////////////////////////////// 29 | // Headers 30 | //////////////////////////////////////////////////////////// 31 | #include 32 | 33 | #if defined(SFML_SYSTEM_WINDOWS) 34 | #include 35 | #endif 36 | 37 | 38 | namespace sf 39 | { 40 | //////////////////////////////////////////////////////////// 41 | // Define the low-level socket handle type, specific to 42 | // each platform 43 | //////////////////////////////////////////////////////////// 44 | #if defined(SFML_SYSTEM_WINDOWS) 45 | 46 | typedef UINT_PTR SocketHandle; 47 | 48 | #else 49 | 50 | typedef int SocketHandle; 51 | 52 | #endif 53 | 54 | } // namespace sf 55 | 56 | 57 | #endif // SFML_SOCKETHANDLE_HPP 58 | -------------------------------------------------------------------------------- /SFML/include/SFML/OpenGL.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_OPENGL_HPP 26 | #define SFML_OPENGL_HPP 27 | 28 | 29 | //////////////////////////////////////////////////////////// 30 | /// Headers 31 | //////////////////////////////////////////////////////////// 32 | #include 33 | 34 | 35 | //////////////////////////////////////////////////////////// 36 | /// This file just includes the OpenGL headers, 37 | /// which have actually different paths on each system 38 | //////////////////////////////////////////////////////////// 39 | #if defined(SFML_SYSTEM_WINDOWS) 40 | 41 | // The Visual C++ version of gl.h uses WINGDIAPI and APIENTRY but doesn't define them 42 | #ifdef _MSC_VER 43 | #include 44 | #endif 45 | 46 | #include 47 | 48 | #elif defined(SFML_SYSTEM_LINUX) || defined(SFML_SYSTEM_FREEBSD) || defined(SFML_SYSTEM_OPENBSD) 49 | 50 | #if defined(SFML_OPENGL_ES) 51 | #include 52 | #include 53 | #else 54 | #include 55 | #endif 56 | 57 | #elif defined(SFML_SYSTEM_MACOS) 58 | 59 | #include 60 | 61 | #elif defined (SFML_SYSTEM_IOS) 62 | 63 | #include 64 | #include 65 | 66 | #elif defined (SFML_SYSTEM_ANDROID) 67 | 68 | #include 69 | #include 70 | 71 | // We're not using OpenGL ES 2+ yet, but we can use the sRGB extension 72 | #include 73 | #include 74 | 75 | #endif 76 | 77 | 78 | #endif // SFML_OPENGL_HPP 79 | -------------------------------------------------------------------------------- /SFML/include/SFML/System.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_SYSTEM_HPP 26 | #define SFML_SYSTEM_HPP 27 | 28 | //////////////////////////////////////////////////////////// 29 | // Headers 30 | //////////////////////////////////////////////////////////// 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | #include 50 | 51 | #endif // SFML_SYSTEM_HPP 52 | 53 | //////////////////////////////////////////////////////////// 54 | /// \defgroup system System module 55 | /// 56 | /// Base module of SFML, defining various utilities. It provides 57 | /// vector classes, Unicode strings and conversion functions, 58 | /// threads and mutexes, timing classes. 59 | /// 60 | //////////////////////////////////////////////////////////// 61 | -------------------------------------------------------------------------------- /SFML/include/SFML/System/Export.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_SYSTEM_EXPORT_HPP 26 | #define SFML_SYSTEM_EXPORT_HPP 27 | 28 | //////////////////////////////////////////////////////////// 29 | // Headers 30 | //////////////////////////////////////////////////////////// 31 | #include 32 | 33 | 34 | //////////////////////////////////////////////////////////// 35 | // Define portable import / export macros 36 | //////////////////////////////////////////////////////////// 37 | #if defined(SFML_SYSTEM_EXPORTS) 38 | 39 | #define SFML_SYSTEM_API SFML_API_EXPORT 40 | 41 | #else 42 | 43 | #define SFML_SYSTEM_API SFML_API_IMPORT 44 | 45 | #endif 46 | 47 | 48 | #endif // SFML_SYSTEM_EXPORT_HPP 49 | -------------------------------------------------------------------------------- /SFML/include/SFML/System/NativeActivity.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_NATIVEACTIVITY_HPP 26 | #define SFML_NATIVEACTIVITY_HPP 27 | 28 | 29 | //////////////////////////////////////////////////////////// 30 | // Headers 31 | //////////////////////////////////////////////////////////// 32 | #include 33 | 34 | 35 | #if !defined(SFML_SYSTEM_ANDROID) 36 | #error NativeActivity.hpp: This header is Android only. 37 | #endif 38 | 39 | 40 | struct ANativeActivity; 41 | 42 | namespace sf 43 | { 44 | //////////////////////////////////////////////////////////// 45 | /// \ingroup system 46 | /// \brief Return a pointer to the Android native activity 47 | /// 48 | /// You shouldn't have to use this function, unless you want 49 | /// to implement very specific details, that SFML doesn't 50 | /// support, or to use a workaround for a known issue. 51 | /// 52 | /// \return Pointer to Android native activity structure 53 | /// 54 | /// \sfplatform{Android,SFML/System/NativeActivity.hpp} 55 | /// 56 | //////////////////////////////////////////////////////////// 57 | SFML_SYSTEM_API ANativeActivity* getNativeActivity(); 58 | 59 | } // namespace sf 60 | 61 | 62 | #endif // SFML_NATIVEACTIVITY_HPP 63 | -------------------------------------------------------------------------------- /SFML/include/SFML/System/Sleep.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_SLEEP_HPP 26 | #define SFML_SLEEP_HPP 27 | 28 | //////////////////////////////////////////////////////////// 29 | // Headers 30 | //////////////////////////////////////////////////////////// 31 | #include 32 | #include 33 | 34 | 35 | namespace sf 36 | { 37 | //////////////////////////////////////////////////////////// 38 | /// \ingroup system 39 | /// \brief Make the current thread sleep for a given duration 40 | /// 41 | /// sf::sleep is the best way to block a program or one of its 42 | /// threads, as it doesn't consume any CPU power. 43 | /// 44 | /// \param duration Time to sleep 45 | /// 46 | //////////////////////////////////////////////////////////// 47 | void SFML_SYSTEM_API sleep(Time duration); 48 | 49 | } // namespace sf 50 | 51 | 52 | #endif // SFML_SLEEP_HPP 53 | -------------------------------------------------------------------------------- /SFML/include/SFML/System/String.inl: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | 26 | //////////////////////////////////////////////////////////// 27 | template 28 | String String::fromUtf8(T begin, T end) 29 | { 30 | String string; 31 | Utf8::toUtf32(begin, end, std::back_inserter(string.m_string)); 32 | return string; 33 | } 34 | 35 | 36 | //////////////////////////////////////////////////////////// 37 | template 38 | String String::fromUtf16(T begin, T end) 39 | { 40 | String string; 41 | Utf16::toUtf32(begin, end, std::back_inserter(string.m_string)); 42 | return string; 43 | } 44 | 45 | 46 | //////////////////////////////////////////////////////////// 47 | template 48 | String String::fromUtf32(T begin, T end) 49 | { 50 | String string; 51 | string.m_string.assign(begin, end); 52 | return string; 53 | } 54 | -------------------------------------------------------------------------------- /SFML/include/SFML/System/ThreadLocalPtr.inl: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | 26 | namespace sf 27 | { 28 | //////////////////////////////////////////////////////////// 29 | template 30 | ThreadLocalPtr::ThreadLocalPtr(T* value) : 31 | ThreadLocal(value) 32 | { 33 | } 34 | 35 | 36 | //////////////////////////////////////////////////////////// 37 | template 38 | T& ThreadLocalPtr::operator *() const 39 | { 40 | return *static_cast(getValue()); 41 | } 42 | 43 | 44 | //////////////////////////////////////////////////////////// 45 | template 46 | T* ThreadLocalPtr::operator ->() const 47 | { 48 | return static_cast(getValue()); 49 | } 50 | 51 | 52 | //////////////////////////////////////////////////////////// 53 | template 54 | ThreadLocalPtr::operator T*() const 55 | { 56 | return static_cast(getValue()); 57 | } 58 | 59 | 60 | //////////////////////////////////////////////////////////// 61 | template 62 | ThreadLocalPtr& ThreadLocalPtr::operator =(T* value) 63 | { 64 | setValue(value); 65 | return *this; 66 | } 67 | 68 | 69 | //////////////////////////////////////////////////////////// 70 | template 71 | ThreadLocalPtr& ThreadLocalPtr::operator =(const ThreadLocalPtr& right) 72 | { 73 | setValue(right.getValue()); 74 | return *this; 75 | } 76 | 77 | } // namespace sf 78 | -------------------------------------------------------------------------------- /SFML/include/SFML/Window.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_SFML_WINDOW_HPP 26 | #define SFML_SFML_WINDOW_HPP 27 | 28 | //////////////////////////////////////////////////////////// 29 | // Headers 30 | //////////////////////////////////////////////////////////// 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | #include 47 | 48 | 49 | 50 | #endif // SFML_SFML_WINDOW_HPP 51 | 52 | //////////////////////////////////////////////////////////// 53 | /// \defgroup window Window module 54 | /// 55 | /// Provides OpenGL-based windows, and abstractions for 56 | /// events and input handling. 57 | /// 58 | //////////////////////////////////////////////////////////// 59 | -------------------------------------------------------------------------------- /SFML/include/SFML/Window/Export.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_WINDOW_EXPORT_HPP 26 | #define SFML_WINDOW_EXPORT_HPP 27 | 28 | //////////////////////////////////////////////////////////// 29 | // Headers 30 | //////////////////////////////////////////////////////////// 31 | #include 32 | 33 | 34 | //////////////////////////////////////////////////////////// 35 | // Define portable import / export macros 36 | //////////////////////////////////////////////////////////// 37 | #if defined(SFML_WINDOW_EXPORTS) 38 | 39 | #define SFML_WINDOW_API SFML_API_EXPORT 40 | 41 | #else 42 | 43 | #define SFML_WINDOW_API SFML_API_IMPORT 44 | 45 | #endif 46 | 47 | 48 | #endif // SFML_WINDOW_EXPORT_HPP 49 | -------------------------------------------------------------------------------- /SFML/include/SFML/Window/WindowStyle.hpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // 3 | // SFML - Simple and Fast Multimedia Library 4 | // Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org) 5 | // 6 | // This software is provided 'as-is', without any express or implied warranty. 7 | // In no event will the authors be held liable for any damages 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 freely, 11 | // subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; 14 | // you must not claim that you wrote the original software. 15 | // If you use this software in a product, an acknowledgment 16 | // in the product documentation would be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, 19 | // and must not be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source distribution. 22 | // 23 | //////////////////////////////////////////////////////////// 24 | 25 | #ifndef SFML_WINDOWSTYLE_HPP 26 | #define SFML_WINDOWSTYLE_HPP 27 | 28 | 29 | namespace sf 30 | { 31 | namespace Style 32 | { 33 | //////////////////////////////////////////////////////////// 34 | /// \ingroup window 35 | /// \brief Enumeration of the window styles 36 | /// 37 | //////////////////////////////////////////////////////////// 38 | enum 39 | { 40 | None = 0, ///< No border / title bar (this flag and all others are mutually exclusive) 41 | Titlebar = 1 << 0, ///< Title bar + fixed border 42 | Resize = 1 << 1, ///< Title bar + resizable border + maximize button 43 | Close = 1 << 2, ///< Title bar + close button 44 | Fullscreen = 1 << 3, ///< Fullscreen mode (this flag and all others are mutually exclusive) 45 | 46 | Default = Titlebar | Resize | Close ///< Default window style 47 | }; 48 | } 49 | 50 | } // namespace sf 51 | 52 | 53 | #endif // SFML_WINDOWSTYLE_HPP 54 | -------------------------------------------------------------------------------- /SFML/lib/cmake/SFML/SFMLConfigVersion.cmake: -------------------------------------------------------------------------------- 1 | # This is a basic version file for the Config-mode of find_package(). 2 | # It is used by write_basic_package_version_file() as input file for configure_file() 3 | # to create a version-file which can be installed along a config.cmake file. 4 | # 5 | # The created file sets PACKAGE_VERSION_EXACT if the current version string and 6 | # the requested version string are exactly the same and it sets 7 | # PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version, 8 | # but only if the requested major version is the same as the current one. 9 | # The variable CVF_VERSION must be set before calling configure_file(). 10 | 11 | 12 | set(PACKAGE_VERSION "2.5.1") 13 | 14 | if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) 15 | set(PACKAGE_VERSION_COMPATIBLE FALSE) 16 | else() 17 | 18 | if("2.5.1" MATCHES "^([0-9]+)\\.") 19 | set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}") 20 | else() 21 | set(CVF_VERSION_MAJOR "2.5.1") 22 | endif() 23 | 24 | if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR) 25 | set(PACKAGE_VERSION_COMPATIBLE TRUE) 26 | else() 27 | set(PACKAGE_VERSION_COMPATIBLE FALSE) 28 | endif() 29 | 30 | if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) 31 | set(PACKAGE_VERSION_EXACT TRUE) 32 | endif() 33 | endif() 34 | 35 | 36 | # if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: 37 | if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "4" STREQUAL "") 38 | return() 39 | endif() 40 | 41 | # check that the installed version has the same 32/64bit-ness as the one which is currently searching: 42 | if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "4") 43 | math(EXPR installedBits "4 * 8") 44 | set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") 45 | set(PACKAGE_VERSION_UNSUITABLE TRUE) 46 | endif() 47 | -------------------------------------------------------------------------------- /SFML/lib/flac.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/flac.lib -------------------------------------------------------------------------------- /SFML/lib/freetype.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/freetype.lib -------------------------------------------------------------------------------- /SFML/lib/ogg.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/ogg.lib -------------------------------------------------------------------------------- /SFML/lib/openal32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/openal32.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-audio-d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-audio-d.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-audio-d.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-audio-d.pdb -------------------------------------------------------------------------------- /SFML/lib/sfml-audio-s-d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-audio-s-d.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-audio-s-d.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-audio-s-d.pdb -------------------------------------------------------------------------------- /SFML/lib/sfml-audio-s.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-audio-s.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-audio.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-audio.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-graphics-d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-graphics-d.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-graphics-d.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-graphics-d.pdb -------------------------------------------------------------------------------- /SFML/lib/sfml-graphics-s-d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-graphics-s-d.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-graphics-s-d.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-graphics-s-d.pdb -------------------------------------------------------------------------------- /SFML/lib/sfml-graphics-s.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-graphics-s.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-graphics.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-graphics.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-main-d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-main-d.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-main-s-d.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-main-s-d.pdb -------------------------------------------------------------------------------- /SFML/lib/sfml-main.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-main.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-network-d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-network-d.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-network-d.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-network-d.pdb -------------------------------------------------------------------------------- /SFML/lib/sfml-network-s-d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-network-s-d.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-network-s-d.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-network-s-d.pdb -------------------------------------------------------------------------------- /SFML/lib/sfml-network-s.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-network-s.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-network.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-network.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-system-d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-system-d.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-system-d.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-system-d.pdb -------------------------------------------------------------------------------- /SFML/lib/sfml-system-s-d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-system-s-d.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-system-s-d.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-system-s-d.pdb -------------------------------------------------------------------------------- /SFML/lib/sfml-system-s.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-system-s.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-system.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-system.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-window-d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-window-d.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-window-d.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-window-d.pdb -------------------------------------------------------------------------------- /SFML/lib/sfml-window-s-d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-window-s-d.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-window-s-d.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-window-s-d.pdb -------------------------------------------------------------------------------- /SFML/lib/sfml-window-s.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-window-s.lib -------------------------------------------------------------------------------- /SFML/lib/sfml-window.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/sfml-window.lib -------------------------------------------------------------------------------- /SFML/lib/vorbis.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/vorbis.lib -------------------------------------------------------------------------------- /SFML/lib/vorbisenc.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/vorbisenc.lib -------------------------------------------------------------------------------- /SFML/lib/vorbisfile.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/SFML/lib/vorbisfile.lib -------------------------------------------------------------------------------- /Thor/LicenseAurora.txt: -------------------------------------------------------------------------------- 1 | Aurora C++ Library 2 | Copyright (c) 2012-2015 Jan Haller 3 | 4 | This software is provided 'as-is', without any express or implied 5 | warranty. In no event will the authors be held liable for any damages 6 | arising from the use of this software. 7 | 8 | Permission is granted to anyone to use this software for any purpose, 9 | including commercial applications, and to alter it and redistribute it 10 | freely, subject to the following restrictions: 11 | 12 | 1. The origin of this software must not be misrepresented; you must not 13 | claim that you wrote the original software. If you use this software 14 | in a product, an acknowledgment in the product documentation would be 15 | appreciated but is not required. 16 | 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 20 | 3. This notice may not be removed or altered from any source distribution. 21 | -------------------------------------------------------------------------------- /Thor/LicenseThor.txt: -------------------------------------------------------------------------------- 1 | Thor C++ Library 2 | Copyright (c) 2011-2015 Jan Haller 3 | 4 | This software is provided 'as-is', without any express or implied 5 | warranty. In no event will the authors be held liable for any damages 6 | arising from the use of this software. 7 | 8 | Permission is granted to anyone to use this software for any purpose, 9 | including commercial applications, and to alter it and redistribute it 10 | freely, subject to the following restrictions: 11 | 12 | 1. The origin of this software must not be misrepresented; you must not 13 | claim that you wrote the original software. If you use this software 14 | in a product, an acknowledgment in the product documentation would be 15 | appreciated but is not required. 16 | 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 20 | 3. This notice may not be removed or altered from any source distribution. 21 | -------------------------------------------------------------------------------- /Thor/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ================ 2 | Thor C++ Library 3 | ================ 4 | 5 | Thor is an open-source and cross-platform C++ library. It extends the multimedia library SFML with higher-level features such as: 6 | 7 | * Animations 8 | * Particle systems 9 | * Resource management 10 | * Time measurement utilities 11 | * Event handling and callbacks 12 | * Delaunay triangulation 13 | * Color gradients 14 | * Vector algebra 15 | * ... 16 | 17 | For a full list of features as well as tutorials and API documentation, visit the project homepage at http://www.bromeon.ch/libraries/thor. 18 | 19 | Thor is compatible with Visual C++, g++ and Clang compilers, as long as they provide at least partial C++11 support. Thor depends on the SFML and Aurora libraries; the latter is shipped in the SDK. 20 | 21 | 22 | 23 | ------------------ 24 | Author and contact 25 | ------------------ 26 | 27 | Thor has been developed by Jan Haller since 2011. 28 | 29 | * E-mail: bromeon@gmail.com 30 | * Project homepage: http://www.bromeon.ch/libraries/thor 31 | * GitHub repository: https://github.com/Bromeon/Thor 32 | 33 | -------------------------------------------------------------------------------- /Thor/bin/thor-d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/bin/thor-d.dll -------------------------------------------------------------------------------- /Thor/bin/thor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/bin/thor.dll -------------------------------------------------------------------------------- /Thor/doc/_animations_8hpp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Animations.hpp File Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 | 36 | 45 | 50 |
51 |
52 |
53 |
Animations.hpp File Reference
54 |
55 |
56 | 57 |

Complete header for the Animations module. 58 | More...

59 | 60 |

Go to the source code of this file.

61 |

Detailed Description

62 |

Complete header for the Animations module.

63 |
64 | 65 | 66 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /Thor/doc/_config_8hpp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Config.hpp File Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 | 36 | 45 | 50 |
51 |
52 |
53 |
Config.hpp File Reference
54 |
55 |
56 | 57 |

Configuration header of the library. 58 | More...

59 | 60 |

Go to the source code of this file.

61 |

Detailed Description

62 |

Configuration header of the library.

63 |
64 | 65 | 66 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /Thor/doc/_graphics_8hpp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Graphics.hpp File Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 | 36 | 45 | 50 |
51 |
52 |
53 |
Graphics.hpp File Reference
54 |
55 |
56 | 57 |

Complete header for the Graphics module. 58 | More...

59 | 60 |

Go to the source code of this file.

61 |

Detailed Description

62 |

Complete header for the Graphics module.

63 |
64 | 65 | 66 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /Thor/doc/_input_8hpp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Input.hpp File Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 | 36 | 45 | 50 |
51 |
52 |
53 |
Input.hpp File Reference
54 |
55 |
56 | 57 |

Complete header for the Input module. 58 | More...

59 | 60 |

Go to the source code of this file.

61 |

Detailed Description

62 |

Complete header for the Input module.

63 |
64 | 65 | 66 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /Thor/doc/_math_8hpp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Math.hpp File Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 | 36 | 45 | 50 |
51 |
52 |
53 |
Math.hpp File Reference
54 |
55 |
56 | 57 |

Complete header for the Math module. 58 | More...

59 | 60 |

Go to the source code of this file.

61 |

Detailed Description

62 |

Complete header for the Math module.

63 |
64 | 65 | 66 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /Thor/doc/_particles_8hpp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Particles.hpp File Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 | 36 | 45 | 50 |
51 |
52 |
53 |
Particles.hpp File Reference
54 |
55 |
56 | 57 |

Complete header for the Particles module. 58 | More...

59 | 60 |

Go to the source code of this file.

61 |

Detailed Description

62 |

Complete header for the Particles module.

63 |
64 | 65 | 66 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /Thor/doc/_resources_8hpp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Resources.hpp File Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 | 36 | 45 | 50 |
51 |
52 |
53 |
Resources.hpp File Reference
54 |
55 |
56 | 57 |

Complete header for the Resources module. 58 | More...

59 | 60 |

Go to the source code of this file.

61 |

Detailed Description

62 |

Complete header for the Resources module.

63 |
64 | 65 | 66 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /Thor/doc/_shapes_8hpp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Shapes.hpp File Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 | 36 | 45 | 50 |
51 |
52 |
53 |
Shapes.hpp File Reference
54 |
55 |
56 | 57 |

Complete header for the Shapes module. 58 | More...

59 | 60 |

Go to the source code of this file.

61 |

Detailed Description

62 |

Complete header for the Shapes module.

63 |
64 | 65 | 66 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /Thor/doc/_time_8hpp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Time.hpp File Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 | 36 | 45 | 50 |
51 |
52 |
53 |
Time.hpp File Reference
54 |
55 |
56 | 57 |

Complete header for the Time module. 58 | More...

59 | 60 |

Go to the source code of this file.

61 |

Detailed Description

62 |

Complete header for the Time module.

63 |
64 | 65 | 66 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /Thor/doc/_vectors_8hpp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vectors.hpp File Reference 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 | 36 | 45 | 50 |
51 |
52 |
53 |
Vectors.hpp File Reference
54 |
55 |
56 | 57 |

Complete header for the Vectors module. 58 | More...

59 | 60 |

Go to the source code of this file.

61 |

Detailed Description

62 |

Complete header for the Vectors module.

63 |
64 | 65 | 66 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /Thor/doc/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/bc_s.png -------------------------------------------------------------------------------- /Thor/doc/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/bdwn.png -------------------------------------------------------------------------------- /Thor/doc/classthor_1_1_callback_timer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/classthor_1_1_callback_timer.png -------------------------------------------------------------------------------- /Thor/doc/classthor_1_1_emission_interface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/classthor_1_1_emission_interface.png -------------------------------------------------------------------------------- /Thor/doc/classthor_1_1_particle_system.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/classthor_1_1_particle_system.png -------------------------------------------------------------------------------- /Thor/doc/classthor_1_1_timer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/classthor_1_1_timer.png -------------------------------------------------------------------------------- /Thor/doc/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/closed.png -------------------------------------------------------------------------------- /Thor/doc/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/doxygen.png -------------------------------------------------------------------------------- /Thor/doc/functions_enum.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Class Members - Enumerations 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 | 36 | 45 | 52 | 62 |
63 |
64 |   72 |
73 | 74 | 75 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /Thor/doc/group___graphics.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/group___graphics.html -------------------------------------------------------------------------------- /Thor/doc/modules.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Modules 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 | 36 | 45 |
46 |
47 |
48 |
Modules
49 |
50 |
51 |
Here is a list of all modules:
62 |
63 | 64 | 65 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /Thor/doc/namespacemembers_enum.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Namespace Members 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 | 36 | 45 | 51 | 59 |
60 |
61 |   66 |
67 | 68 | 69 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /Thor/doc/namespaces.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Namespace List 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 | 36 | 45 | 51 |
52 |
53 |
54 |
Namespace List
55 |
56 |
57 |
Here is a list of all documented namespaces with brief descriptions:
58 | 59 | 60 | 61 |
thor::DistributionsNamespace for some predefined distribution functions
thor::ResourcesNamespace for resource-related functionality
thor::ShapesNamespace for predefined shapes
62 |
63 | 64 | 65 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /Thor/doc/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/nav_f.png -------------------------------------------------------------------------------- /Thor/doc/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/nav_h.png -------------------------------------------------------------------------------- /Thor/doc/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/open.png -------------------------------------------------------------------------------- /Thor/doc/structthor_1_1_triangulation_traits-members.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Member List 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
33 |
34 | 35 | 36 | 45 | 52 | 58 |
59 |
60 |
61 |
thor::TriangulationTraits< V > Member List
62 |
63 |
64 | This is the complete list of members for thor::TriangulationTraits< V >, including all inherited members. 65 |
66 | 67 | 68 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /Thor/doc/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/tab_a.png -------------------------------------------------------------------------------- /Thor/doc/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/tab_b.png -------------------------------------------------------------------------------- /Thor/doc/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/tab_h.png -------------------------------------------------------------------------------- /Thor/doc/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/tab_s.png -------------------------------------------------------------------------------- /Thor/doc/tabs.css: -------------------------------------------------------------------------------- 1 | .tabs, .tabs2, .tabs3 { 2 | background-image: url('tab_b.png'); 3 | width: 100%; 4 | z-index: 101; 5 | font-size: 13px; 6 | } 7 | 8 | .tabs2 { 9 | font-size: 10px; 10 | } 11 | .tabs3 { 12 | font-size: 9px; 13 | } 14 | 15 | .tablist { 16 | margin: 0; 17 | padding: 0; 18 | display: table; 19 | } 20 | 21 | .tablist li { 22 | float: left; 23 | display: table-cell; 24 | background-image: url('tab_b.png'); 25 | line-height: 36px; 26 | list-style: none; 27 | } 28 | 29 | .tablist a { 30 | display: block; 31 | padding: 0 20px; 32 | font-weight: bold; 33 | background-image:url('tab_s.png'); 34 | background-repeat:no-repeat; 35 | background-position:right; 36 | color: #283A5D; 37 | text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); 38 | text-decoration: none; 39 | outline: none; 40 | } 41 | 42 | .tabs3 .tablist a { 43 | padding: 0 10px; 44 | } 45 | 46 | .tablist a:hover { 47 | background-image: url('tab_h.png'); 48 | background-repeat:repeat-x; 49 | color: #fff; 50 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); 51 | text-decoration: none; 52 | } 53 | 54 | .tablist li.current a { 55 | background-image: url('tab_a.png'); 56 | background-repeat:repeat-x; 57 | color: #fff; 58 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); 59 | } 60 | -------------------------------------------------------------------------------- /Thor/doc/thor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/doc/thor.png -------------------------------------------------------------------------------- /Thor/examples/Action.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/examples/Action.exe -------------------------------------------------------------------------------- /Thor/examples/Animations.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/examples/Animations.exe -------------------------------------------------------------------------------- /Thor/examples/Fireworks.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/examples/Fireworks.exe -------------------------------------------------------------------------------- /Thor/examples/Media/animation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/examples/Media/animation.png -------------------------------------------------------------------------------- /Thor/examples/Media/click.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/examples/Media/click.wav -------------------------------------------------------------------------------- /Thor/examples/Media/particle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/examples/Media/particle.png -------------------------------------------------------------------------------- /Thor/examples/Media/sansation.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/examples/Media/sansation.ttf -------------------------------------------------------------------------------- /Thor/examples/Media/thor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/examples/Media/thor.png -------------------------------------------------------------------------------- /Thor/examples/Particles.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/examples/Particles.exe -------------------------------------------------------------------------------- /Thor/examples/Resources.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | namespace Textures 8 | { 9 | enum Type 10 | { 11 | ThorLogo, 12 | BrownRectangle, 13 | }; 14 | } 15 | 16 | namespace Sounds 17 | { 18 | enum Type 19 | { 20 | Click, 21 | }; 22 | } 23 | 24 | int main() 25 | { 26 | // Use enum to differentiate between textures/sounds, use string to differentiate between fonts 27 | thor::ResourceHolder textures; 28 | thor::ResourceHolder sounds; 29 | thor::ResourceHolder fonts; 30 | 31 | // Create sf::Image to load one texture from 32 | sf::Image image; 33 | image.create(872, 100, sf::Color(130, 70, 0)); 34 | 35 | // Load resources, store them in resource pointers and react to loading errors 36 | try 37 | { 38 | textures.acquire(Textures::BrownRectangle, thor::Resources::fromImage(image)); 39 | textures.acquire(Textures::ThorLogo, thor::Resources::fromFile("Media/thor.png")); 40 | sounds.acquire(Sounds::Click, thor::Resources::fromFile("Media/click.wav")); 41 | fonts.acquire("MainFont", thor::Resources::fromFile("Media/sansation.ttf")); 42 | } 43 | catch (thor::ResourceLoadingException& e) 44 | { 45 | std::cout << e.what() << std::endl; 46 | return 1; 47 | } 48 | 49 | // Create instances that use the resources 50 | sf::Sprite sprite1(textures[Textures::BrownRectangle]); 51 | sf::Sprite sprite2(textures[Textures::ThorLogo]); 52 | sf::Sound sound(sounds[Sounds::Click]); 53 | sf::Text instructions("Press return to play sound, escape to quit", fonts["MainFont"], 14u); 54 | 55 | // Move second sprite so that the sprites don't overlap 56 | sprite2.move(0.f, sprite1.getGlobalBounds().height); 57 | 58 | // Create render window 59 | sf::RenderWindow window(sf::VideoMode(872, 370), "Thor Resources"); 60 | window.setVerticalSyncEnabled(true); 61 | 62 | for (;;) 63 | { 64 | // Handle events 65 | sf::Event event; 66 | while (window.pollEvent(event)) 67 | { 68 | if (event.type == sf::Event::Closed) 69 | { 70 | return 0; 71 | } 72 | else if (event.type == sf::Event::KeyPressed) 73 | { 74 | switch (event.key.code) 75 | { 76 | case sf::Keyboard::Escape: 77 | return 0; 78 | 79 | case sf::Keyboard::Return: 80 | sound.play(); 81 | break; 82 | } 83 | } 84 | } 85 | 86 | // Draw sprites of the loaded textures 87 | window.clear(); 88 | window.draw(sprite1); 89 | window.draw(sprite2); 90 | window.draw(instructions); 91 | window.display(); 92 | } 93 | } -------------------------------------------------------------------------------- /Thor/examples/Resources.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/examples/Resources.exe -------------------------------------------------------------------------------- /Thor/examples/Shapes.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include 5 | 6 | int main() 7 | { 8 | // Create render window 9 | sf::RenderWindow window(sf::VideoMode(600, 500), "Thor Shapes", sf::Style::Close); 10 | window.setVerticalSyncEnabled(true); 11 | 12 | // Create a concave shape by directly inserting the polygon points 13 | thor::ConcaveShape concaveShape; 14 | concaveShape.setPointCount(5); 15 | concaveShape.setPoint(0, sf::Vector2f(50, 50)); 16 | concaveShape.setPoint(1, sf::Vector2f(100, 100)); 17 | concaveShape.setPoint(2, sf::Vector2f(150, 50)); 18 | concaveShape.setPoint(3, sf::Vector2f(150, 200)); 19 | concaveShape.setPoint(4, sf::Vector2f(50, 150)); 20 | concaveShape.setOutlineThickness(2.f); 21 | concaveShape.setFillColor(sf::Color(150, 100, 100)); 22 | concaveShape.setOutlineColor(sf::Color(200, 100, 100)); 23 | 24 | // Create thor::ConcaveShape shape from sf::Shape 25 | thor::ConcaveShape circle = sf::CircleShape(60.f); 26 | circle.setFillColor(sf::Color(0, 200, 0)); 27 | circle.setPosition(40.f, 340.f); 28 | 29 | // Create a few predefined shapes 30 | sf::ConvexShape polygon = thor::Shapes::polygon(7, 60.f, sf::Color::Transparent, 3.f, sf::Color(175, 40, 250)); 31 | sf::ConvexShape star = thor::Shapes::star(7, 40.f, 60.f, sf::Color(255, 225, 10), 5.f, sf::Color(250, 190, 20)); 32 | sf::ConvexShape roundedRect = thor::Shapes::roundedRect(sf::Vector2f(200.f, 100.f), 30.f, sf::Color(200, 190, 120), 3.f, sf::Color(150, 140, 80)); 33 | 34 | // Move star and polygon shapes 35 | star.move(480.f, 120.f); 36 | polygon.move(480.f, 120.f); 37 | roundedRect.move(380.f, 350.f); 38 | 39 | // Create clock to measure frame time 40 | sf::Clock frameClock; 41 | 42 | // Main loop 43 | for (;;) 44 | { 45 | // Event handling 46 | sf::Event event; 47 | while (window.pollEvent(event)) 48 | { 49 | switch (event.type) 50 | { 51 | case sf::Event::Closed: 52 | case sf::Event::KeyPressed: 53 | return 0; 54 | } 55 | } 56 | 57 | // Rotate polygon and star 58 | const sf::Time elapsed = frameClock.restart(); 59 | polygon.rotate(20.f * elapsed.asSeconds()); 60 | star.rotate(45.f * elapsed.asSeconds()); 61 | 62 | // Draw everything 63 | window.clear(); 64 | window.draw(concaveShape); 65 | window.draw(circle); 66 | window.draw(polygon); 67 | window.draw(star); 68 | window.draw(roundedRect); 69 | window.display(); 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /Thor/examples/Shapes.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/examples/Shapes.exe -------------------------------------------------------------------------------- /Thor/examples/Time.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/examples/Time.exe -------------------------------------------------------------------------------- /Thor/examples/Triangulation.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/examples/Triangulation.exe -------------------------------------------------------------------------------- /Thor/examples/UserEvents.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include 5 | 6 | // Enumeration for unit orders in a strategy game 7 | namespace Command 8 | { 9 | enum Type 10 | { 11 | Move, 12 | Attack, 13 | HoldPosition, 14 | }; 15 | } 16 | 17 | // A user-defined event class, contains the name and command of a strategy game unit 18 | struct UnitEvent 19 | { 20 | UnitEvent(const char* unitName, Command::Type order) 21 | : unitName(unitName) 22 | , order(order) 23 | { 24 | } 25 | 26 | const char* unitName; 27 | Command::Type order; 28 | }; 29 | 30 | // Function that returns the corresponding EventId to an Event 31 | Command::Type getEventId(const UnitEvent& event) 32 | { 33 | return event.order; 34 | } 35 | 36 | // Callback for Command::Move 37 | void onMove(const UnitEvent& event) 38 | { 39 | std::cout << "Unit " << event.unitName << " moves." << std::endl; 40 | } 41 | 42 | // Callback for Command::Attack 43 | void onAttack(const UnitEvent& event) 44 | { 45 | std::cout << "Unit " << event.unitName << " attacks." << std::endl; 46 | } 47 | 48 | // Callback for Command::HoldPosition 49 | void onHoldPosition(const UnitEvent& event) 50 | { 51 | std::cout << "Unit " << event.unitName << " holds its position." << std::endl; 52 | } 53 | 54 | int main() 55 | { 56 | // Create event system with template parameters for Event and EventId 57 | thor::EventSystem system; 58 | 59 | // Connect event identifiers to the listeners 60 | system.connect(Command::Move, &onMove); 61 | system.connect(Command::Attack, &onAttack); 62 | system.connect(Command::HoldPosition, &onHoldPosition); 63 | 64 | // Create some events and fire them 65 | system.triggerEvent( UnitEvent("Tank", Command::Attack) ); 66 | system.triggerEvent( UnitEvent("Helicopter", Command::Move) ); 67 | system.triggerEvent( UnitEvent("Battleship", Command::Attack) ); 68 | system.triggerEvent( UnitEvent("Battleship", Command::HoldPosition) ); 69 | } 70 | -------------------------------------------------------------------------------- /Thor/examples/UserEvents.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/examples/UserEvents.exe -------------------------------------------------------------------------------- /Thor/examples/Vectors.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/examples/Vectors.exe -------------------------------------------------------------------------------- /Thor/include/Aurora/Dispatch.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Aurora C++ Library 4 | // Copyright (c) 2012-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Complete Dispatch module 28 | 29 | #ifndef AURORA_MODULE_DISPATCH_HPP 30 | #define AURORA_MODULE_DISPATCH_HPP 31 | 32 | #include 33 | #include 34 | #include 35 | 36 | #endif // AURORA_MODULE_DISPATCH_HPP 37 | -------------------------------------------------------------------------------- /Thor/include/Aurora/Meta.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Aurora C++ Library 4 | // Copyright (c) 2012-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Complete Meta module 28 | 29 | #ifndef AURORA_MODULE_META_HPP 30 | #define AURORA_MODULE_META_HPP 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | 37 | #endif // AURORA_MODULE_META_HPP 38 | -------------------------------------------------------------------------------- /Thor/include/Aurora/SmartPtr.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Aurora C++ Library 4 | // Copyright (c) 2012-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Complete SmartPtr module 28 | 29 | #ifndef AURORA_MODULE_SMARTPTR_HPP 30 | #define AURORA_MODULE_SMARTPTR_HPP 31 | 32 | #include 33 | #include 34 | #include 35 | 36 | #endif // AURORA_MODULE_SMARTPTR_HPP 37 | -------------------------------------------------------------------------------- /Thor/include/Aurora/SmartPtr/Detail/Factories.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Aurora C++ Library 4 | // Copyright (c) 2012-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | // Contains preprocessor metaprograms for code generation of smart pointer makeXY() factories 27 | 28 | #ifndef AURORA_FACTORIES_HPP 29 | #define AURORA_FACTORIES_HPP 30 | 31 | #include 32 | 33 | 34 | #define AURORA_DETAIL_TYPENAME(n) typename A ## n 35 | #define AURORA_DETAIL_PARAMETER(n) A ## n && arg ## n 36 | #define AURORA_DETAIL_FORWARD_ARG(n) std::forward(arg ## n) 37 | 38 | #define AURORA_DETAIL_SMARTPTR_FACTORY(SmartPtr, factoryFunction, n) \ 39 | template \ 40 | SmartPtr factoryFunction(AURORA_PP_ENUMERATE_COMMA(n, AURORA_DETAIL_PARAMETER)) \ 41 | { \ 42 | return SmartPtr(new T( AURORA_PP_ENUMERATE_COMMA(n, AURORA_DETAIL_FORWARD_ARG) )); \ 43 | } 44 | 45 | #endif // AURORA_FACTORIES_HPP 46 | -------------------------------------------------------------------------------- /Thor/include/Aurora/Tools.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Aurora C++ Library 4 | // Copyright (c) 2012-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Complete Tools module 28 | 29 | #ifndef AURORA_MODULE_TOOLS_HPP 30 | #define AURORA_MODULE_TOOLS_HPP 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | #include 41 | #include 42 | 43 | #endif // AURORA_MODULE_TOOLS_HPP 44 | -------------------------------------------------------------------------------- /Thor/include/Aurora/Tools/Downcast.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Aurora C++ Library 4 | // Copyright (c) 2012-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Function template aurora::downcast() 28 | 29 | #ifndef AURORA_DOWNCAST_HPP 30 | #define AURORA_DOWNCAST_HPP 31 | 32 | #include 33 | #include 34 | 35 | 36 | namespace aurora 37 | { 38 | 39 | /// @addtogroup Tools 40 | /// @{ 41 | 42 | /// @brief Safe polymorphic downcast for references 43 | /// @details Can be used in place of a static_cast from a base class to a derived class -- that is, 44 | /// you expect the downcast to succeed. In debug mode, types are checked at runtime using dynamic_cast. 45 | /// In release mode (with the NDBEBUG macro defined), a static_cast at full speed is used. 46 | template 47 | To downcast(From& base) 48 | { 49 | assert(dynamic_cast::type*>(&base)); 50 | return static_cast(base); 51 | } 52 | 53 | /// @brief Safe polymorphic downcast for pointers 54 | /// @details Can be used in place of a static_cast from a base class to a derived class -- that is, 55 | /// you expect the downcast to succeed. In debug mode, types are checked at runtime using dynamic_cast. 56 | /// In release mode (with the NDBEBUG macro defined), a static_cast at full speed is used. 57 | template 58 | To downcast(From* base) 59 | { 60 | assert(dynamic_cast(base)); 61 | return static_cast(base); 62 | } 63 | 64 | /// @} 65 | 66 | } // namespace aurora 67 | 68 | #endif // AURORA_DOWNCAST_HPP 69 | -------------------------------------------------------------------------------- /Thor/include/Aurora/Tools/NonCopyable.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Aurora C++ Library 4 | // Copyright (c) 2012-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Class aurora::NonCopyable 28 | 29 | #ifndef AURORA_NONCOPYABLE_HPP 30 | #define AURORA_NONCOPYABLE_HPP 31 | 32 | 33 | namespace aurora 34 | { 35 | 36 | /// @addtogroup Tools 37 | /// @{ 38 | 39 | /// @brief Non-copyable base class. 40 | /// @details Copy constructor and copy assignment operator are not accessible. 41 | /// Derive from this class to prevent copying of your class. 42 | class NonCopyable 43 | { 44 | // --------------------------------------------------------------------------------------------------------------------------- 45 | // Protected member functions 46 | protected: 47 | // Default constructor 48 | NonCopyable() {} 49 | ~NonCopyable() {} 50 | 51 | // --------------------------------------------------------------------------------------------------------------------------- 52 | // Private member functions 53 | private: 54 | // Copy constructor (forbidden) 55 | NonCopyable(const NonCopyable& origin); 56 | 57 | // Assignment operator (forbidden) 58 | NonCopyable& operator= (const NonCopyable& origin); 59 | }; 60 | 61 | /// @} 62 | 63 | } // namespace aurora 64 | 65 | #endif // AURORA_NONCOPYABLE_HPP 66 | -------------------------------------------------------------------------------- /Thor/include/Aurora/Tools/SafeBool.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Aurora C++ Library 4 | // Copyright (c) 2012-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Type aurora::SafeBool and corresponding functionality 28 | 29 | #ifndef AURORA_SAFEBOOL_HPP 30 | #define AURORA_SAFEBOOL_HPP 31 | 32 | 33 | namespace aurora 34 | { 35 | namespace detail 36 | { 37 | 38 | // Helpers for Safe-Bool idiom (use member-function pointers since they support quite few operators) 39 | struct SafeBoolHolder 40 | { 41 | // Dummy function 42 | void function() {} 43 | }; 44 | 45 | } // namespace detail 46 | 47 | // --------------------------------------------------------------------------------------------------------------------------- 48 | 49 | 50 | /// @addtogroup Tools 51 | /// @{ 52 | 53 | /// @brief SafeBool type 54 | /// @hideinitializer 55 | typedef void (detail::SafeBoolHolder::*SafeBool)(); 56 | 57 | /// @brief SafeBool literal, evaluates to true 58 | /// @hideinitializer 59 | const SafeBool SafeBoolTrue = &detail::SafeBoolHolder::function; 60 | 61 | /// @brief SafeBool literal, evaluates to false 62 | /// @hideinitializer 63 | const SafeBool SafeBoolFalse = nullptr; 64 | 65 | /// @brief Conversion function from bool to SafeBool 66 | /// 67 | inline SafeBool toSafeBool(bool condition) 68 | { 69 | return condition ? SafeBoolTrue : SafeBoolFalse; 70 | } 71 | 72 | /// @} 73 | 74 | } // namespace aurora 75 | 76 | #endif // AURORA_SAFEBOOL_HPP 77 | -------------------------------------------------------------------------------- /Thor/include/Aurora/Tools/Swap.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Aurora C++ Library 4 | // Copyright (c) 2012-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Macro to implement global swap() overload 28 | 29 | #ifndef AURORA_SWAP_HPP 30 | #define AURORA_SWAP_HPP 31 | 32 | 33 | /// @addtogroup Tools 34 | /// @{ 35 | 36 | /// @brief Macro to implement a global overload of swap(lhs, rhs) to allow argument-dependent lookup. 37 | /// @details Accesses the memberfunction void Class::Swap(Class&). 38 | #define AURORA_GLOBAL_SWAP(Class) \ 39 | inline void swap(Class& lhs, Class& rhs) \ 40 | { \ 41 | lhs.swap(rhs); \ 42 | } 43 | 44 | /// @} 45 | 46 | #endif // AURORA_SWAP_HPP 47 | -------------------------------------------------------------------------------- /Thor/include/Thor/Animations.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Complete header for the Animations module 28 | 29 | #ifndef THOR_MODULE_ANIMATIONS_HPP 30 | #define THOR_MODULE_ANIMATIONS_HPP 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | #endif // THOR_MODULE_ANIMATIONS_HPP 39 | -------------------------------------------------------------------------------- /Thor/include/Thor/Animations/Detail/RefAnimation.inl: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | namespace thor 27 | { 28 | 29 | template 30 | RefAnimation::RefAnimation(Animation& referenced) 31 | : mReferenced(&referenced) 32 | { 33 | } 34 | 35 | template 36 | template 37 | void RefAnimation::operator() (Animated& animated, float progress) 38 | { 39 | (*mReferenced)(animated, progress); 40 | } 41 | 42 | template 43 | RefAnimation refAnimation(Animation& referenced) 44 | { 45 | return RefAnimation(referenced); 46 | } 47 | 48 | } // namespace thor 49 | -------------------------------------------------------------------------------- /Thor/include/Thor/Config.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Configuration header of the library 28 | 29 | #ifndef THOR_CONFIG_HPP 30 | #define THOR_CONFIG_HPP 31 | 32 | #include 33 | 34 | 35 | // Define DLL import/export macros (only Windows, and only dynamic configuration) 36 | #if (defined(_WIN32) || defined(__WIN32__)) && !defined(SFML_STATIC) 37 | 38 | // Export dynamic link library (from DLL side) 39 | #ifdef THOR_EXPORTS 40 | #define THOR_API __declspec(dllexport) 41 | 42 | // Import dynamic link library (from client side) 43 | #else 44 | #define THOR_API __declspec(dllimport) 45 | 46 | #endif // THOR_EXPORTS 47 | 48 | // Disable annoying MSVC++ warning 49 | #ifdef _MSC_VER 50 | #pragma warning(disable: 4251) 51 | #endif // _MSC_VER 52 | 53 | 54 | // Other platforms don't have DLLs 55 | #else 56 | #define THOR_API 57 | 58 | #endif 59 | 60 | 61 | // Version of the library 62 | #define THOR_VERSION_MAJOR 2 63 | #define THOR_VERSION_MINOR 0 64 | 65 | 66 | #endif // THOR_CONFIG_HPP 67 | -------------------------------------------------------------------------------- /Thor/include/Thor/Graphics.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Complete header for the Graphics module 28 | 29 | #ifndef THOR_MODULE_GRAPHICS_HPP 30 | #define THOR_MODULE_GRAPHICS_HPP 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | #endif // THOR_MODULE_GRAPHICS_HPP 39 | -------------------------------------------------------------------------------- /Thor/include/Thor/Graphics/Detail/ToString.inl: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | namespace thor 27 | { 28 | 29 | template 30 | std::string toString(const sf::Vector2& vector) 31 | { 32 | std::ostringstream stream; 33 | stream << '(' << vector.x << ',' << vector.y << ')'; 34 | return stream.str(); 35 | } 36 | 37 | template 38 | std::string toString(const sf::Vector3& vector) 39 | { 40 | std::ostringstream stream; 41 | stream << '(' << vector.x << ',' << vector.y << ',' << vector.z << ')'; 42 | return stream.str(); 43 | } 44 | 45 | template 46 | std::string toString(const sf::Rect& rect) 47 | { 48 | std::ostringstream stream; 49 | stream << '(' << rect.left << ',' << rect.top << ';' << rect.width << ',' << rect.height << ')'; 50 | return stream.str(); 51 | } 52 | 53 | template 54 | std::string toString(const PolarVector2& vector) 55 | { 56 | std::ostringstream stream; 57 | stream << "(" << vector.r << "," << vector.phi << "\x00B0)"; 58 | return stream.str(); 59 | } 60 | 61 | } // namespace thor 62 | -------------------------------------------------------------------------------- /Thor/include/Thor/Graphics/Detail/UniformAccess.inl: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | namespace thor 27 | { 28 | 29 | template 30 | void setColor(T& object, const sf::Color& color) 31 | { 32 | object.setColor(color); 33 | } 34 | 35 | template 36 | void setAlpha(T& object, sf::Uint8 alpha) 37 | { 38 | sf::Color color = object.getColor(); 39 | color.a = alpha; 40 | object.setColor(color); 41 | } 42 | 43 | } // namespace thor 44 | -------------------------------------------------------------------------------- /Thor/include/Thor/Graphics/ToString.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/include/Thor/Graphics/ToString.hpp -------------------------------------------------------------------------------- /Thor/include/Thor/Graphics/UniformAccess.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Global functions to access SFML and Thor objects uniformly 28 | 29 | #ifndef THOR_UNIFORMACCESS_HPP 30 | #define THOR_UNIFORMACCESS_HPP 31 | 32 | #include 33 | 34 | #include 35 | 36 | 37 | namespace thor 38 | { 39 | 40 | class Particle; 41 | 42 | /// @addtogroup Graphics 43 | /// @{ 44 | 45 | /// @brief Sets the color of a graphical object. 46 | /// 47 | template 48 | void setColor(T& object, const sf::Color& color); 49 | 50 | /// @brief Sets the color of a particle. 51 | /// 52 | void THOR_API setColor(Particle& particle, const sf::Color& color); 53 | 54 | /// @brief Sets the alpha color value of a graphical object. 55 | /// @details The object shall support the methods @a getColor() and @a setColor(). 56 | template 57 | void setAlpha(T& object, sf::Uint8 alpha); 58 | 59 | /// @brief Sets the alpha color value of a particle. 60 | /// 61 | void THOR_API setAlpha(Particle& particle, sf::Uint8 alpha); 62 | 63 | /// @} 64 | 65 | } // namespace thor 66 | 67 | #include 68 | #endif // THOR_UNIFORMACCESS_HPP 69 | -------------------------------------------------------------------------------- /Thor/include/Thor/Input.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Complete header for the Input module 28 | 29 | #ifndef THOR_MODULE_INPUT_HPP 30 | #define THOR_MODULE_INPUT_HPP 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | 40 | #endif // THOR_MODULE_INPUT_HPP 41 | -------------------------------------------------------------------------------- /Thor/include/Thor/Math.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Complete header for the Math module 28 | 29 | #ifndef THOR_MODULE_MATH_HPP 30 | #define THOR_MODULE_MATH_HPP 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | 39 | #endif // THOR_MODULE_MATH_HPP 40 | -------------------------------------------------------------------------------- /Thor/include/Thor/Math/Random.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Functions for random number generation 28 | 29 | #ifndef THOR_RANDOM_HPP 30 | #define THOR_RANDOM_HPP 31 | 32 | #include 33 | 34 | 35 | namespace thor 36 | { 37 | 38 | /// @addtogroup Math 39 | /// @{ 40 | 41 | /// @brief Returns an int random number in the interval [min, max]. 42 | /// @pre min <= max 43 | int THOR_API random(int min, int max); 44 | 45 | /// @brief Returns an unsigned int random number in the interval [min, max]. 46 | /// @pre min <= max 47 | unsigned int THOR_API random(unsigned int min, unsigned int max); 48 | 49 | /// @brief Returns a float random number in the interval [min, max]. 50 | /// @pre min <= max 51 | float THOR_API random(float min, float max); 52 | 53 | /// @brief Returns a float random number in the interval [middle-deviation, middle+deviation]. 54 | /// @pre deviation >= 0 55 | float THOR_API randomDev(float middle, float deviation); 56 | 57 | /// @brief Sets the seed of the random number generator. 58 | /// @details Setting the seed manually is useful when you want to reproduce a given sequence of random 59 | /// numbers. Without calling this function, the seed is different at each program startup. 60 | void THOR_API setRandomSeed(unsigned long seed); 61 | 62 | /// @} 63 | 64 | } // namespace thor 65 | 66 | #endif // THOR_RANDOM_HPP 67 | -------------------------------------------------------------------------------- /Thor/include/Thor/Particles.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Complete header for the Particles module 28 | 29 | #ifndef THOR_MODULE_PARTICLES_HPP 30 | #define THOR_MODULE_PARTICLES_HPP 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | #endif // THOR_MODULE_PARTICLES_HPP 39 | -------------------------------------------------------------------------------- /Thor/include/Thor/Particles/EmissionInterface.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Class thor::EmissionInterface 28 | 29 | #ifndef THOR_EMISSIONINTERFACE_HPP 30 | #define THOR_EMISSIONINTERFACE_HPP 31 | 32 | #include 33 | 34 | 35 | namespace thor 36 | { 37 | 38 | class Particle; 39 | 40 | 41 | /// @addtogroup Particles 42 | /// @{ 43 | 44 | /// @brief Class that connects emitters with their corresponding particle system. 45 | /// @details This class acts as an interface from emitters to particle systems. A single method to emit particles is provided. 46 | class THOR_API EmissionInterface 47 | { 48 | // --------------------------------------------------------------------------------------------------------------------------- 49 | // Public member functions 50 | public: 51 | /// @brief Virtual destructor 52 | /// 53 | virtual ~EmissionInterface() {} 54 | 55 | /// @brief Emits a particle into the particle system. 56 | /// @param particle Particle to emit. 57 | virtual void emitParticle(const Particle& particle) = 0; 58 | }; 59 | 60 | /// @} 61 | 62 | } // namespace thor 63 | 64 | #endif // THOR_EMISSIONINTERFACE_HPP 65 | -------------------------------------------------------------------------------- /Thor/include/Thor/Resources.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Complete header for the Resources module 28 | 29 | #ifndef THOR_MODULE_RESOURCES_HPP 30 | #define THOR_MODULE_RESOURCES_HPP 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | 39 | #endif // THOR_MODULE_RESOURCES_HPP 40 | -------------------------------------------------------------------------------- /Thor/include/Thor/Resources/KnownIdStrategy.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Enum KnownIdStrategy, used by thor::ResourceHolder 28 | 29 | #ifndef THOR_KNOWNIDSTRATEGY_HPP 30 | #define THOR_KNOWNIDSTRATEGY_HPP 31 | 32 | 33 | namespace thor 34 | { 35 | 36 | /// @addtogroup Resources 37 | /// @{ 38 | 39 | namespace Resources 40 | { 41 | 42 | /// @brief Strategy to deal with already known resource IDs 43 | /// @details Determines what happens if the user calls ResourceHolder::acquire() with an ID that is already 44 | /// associated with a different resource. 45 | enum KnownIdStrategy 46 | { 47 | AssumeNew, ///< Loads a new resource if the ID is unknown. Otherwise, a ResourceAccessException is thrown. 48 | Reuse, ///< Loads a new resource if the ID is unknown. Otherwise, the resource associated with the ID is reused. 49 | Reload, ///< Always loads a new resource. If the ID is already known, the corresponding resource is released. 50 | }; 51 | 52 | } // namespace Resources 53 | 54 | /// @} 55 | 56 | } // namespace thor 57 | 58 | #endif // THOR_KNOWNIDSTRATEGY_HPP 59 | -------------------------------------------------------------------------------- /Thor/include/Thor/Shapes.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Complete header for the Shapes module 28 | 29 | #ifndef THOR_MODULE_SHAPES_HPP 30 | #define THOR_MODULE_SHAPES_HPP 31 | 32 | #include 33 | #include 34 | #include 35 | 36 | #endif // THOR_MODULE_SHAPES_HPP 37 | -------------------------------------------------------------------------------- /Thor/include/Thor/Time.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Complete header for the Time module 28 | 29 | #ifndef THOR_MODULE_TIME_HPP 30 | #define THOR_MODULE_TIME_HPP 31 | 32 | #include 33 | #include 34 | #include 35 | 36 | #endif // THOR_MODULE_TIME_HPP 37 | -------------------------------------------------------------------------------- /Thor/include/Thor/Vectors.hpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | /// @file 27 | /// @brief Complete header for the Vectors module 28 | 29 | #ifndef THOR_MODULE_VECTORS_HPP 30 | #define THOR_MODULE_VECTORS_HPP 31 | 32 | #include 33 | #include 34 | #include 35 | 36 | #endif // THOR_MODULE_VECTORS_HPP 37 | -------------------------------------------------------------------------------- /Thor/include/Thor/Vectors/Detail/PolarVector2.inl: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Thor C++ Library 4 | // Copyright (c) 2011-2015 Jan Haller 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would be 17 | // appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not be 20 | // misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source distribution. 23 | // 24 | ///////////////////////////////////////////////////////////////////////////////// 25 | 26 | namespace thor 27 | { 28 | 29 | template 30 | PolarVector2::PolarVector2() 31 | : r() 32 | , phi() 33 | { 34 | } 35 | 36 | template 37 | PolarVector2::PolarVector2(T radius, T angle) 38 | : r(radius) 39 | , phi(angle) 40 | { 41 | } 42 | 43 | template 44 | PolarVector2::PolarVector2(const sf::Vector2& vector) 45 | : r(length(vector)) 46 | , phi(vector == sf::Vector2() ? 0.f : polarAngle(vector)) 47 | { 48 | } 49 | 50 | template 51 | PolarVector2::operator sf::Vector2() const 52 | { 53 | return sf::Vector2( 54 | r * TrigonometricTraits::cos(phi), 55 | r * TrigonometricTraits::sin(phi)); 56 | } 57 | 58 | template 59 | T length(const PolarVector2& vector) 60 | { 61 | return vector.r; 62 | } 63 | 64 | template 65 | T polarAngle(const PolarVector2& vector) 66 | { 67 | return vector.phi; 68 | } 69 | 70 | } // namespace thor 71 | -------------------------------------------------------------------------------- /Thor/lib/thor-d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/lib/thor-d.lib -------------------------------------------------------------------------------- /Thor/lib/thor-s-d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/lib/thor-s-d.lib -------------------------------------------------------------------------------- /Thor/lib/thor-s.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/lib/thor-s.lib -------------------------------------------------------------------------------- /Thor/lib/thor.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Touchette/PokePlusPlus/58fa2323b671aebf37deeb303d53a5db08e57331/Thor/lib/thor.lib --------------------------------------------------------------------------------