Polycode is a cross-platform framework for creative code.

Related tags

Game Polycode
Overview

Build Status

Polycode is a cross-platform framework for creative code. You can use it as a C++ API or as a standalone scripting language to get easy and simple access to accelerated 2D and 3D graphics, hardware shaders, sound and network programming, physics engines and more.

The core Polycode API is written in C++ and can be used to create portable native applications.

On top of the core C++ API, Polycode offers a Lua-based scripting system with its own set of compilation tools. The Lua API mirrors the C++ API and can be used to easily create prototypes and even publish complete applications to multiple platforms without compiling C++.

Polycode is available under the MIT license and was designed and developed by Ivan Safrin.

Please see BUILD.md for instructions on how to build Polycode from source.

Issues
  • Compilation fail on Linux

    Compilation fail on Linux

    I followed this guide and got an error:

    [ 50%] Building C object CMakeFiles/libogg.dir/src/bitwise.c.o
    In file included from /home/constantine/Polycode/Dependencies/Build/Debug/oggvorbis/src/libogg/include/ogg/ogg.h:25:0,
                     from /home/constantine/Polycode/Dependencies/Build/Debug/oggvorbis/src/libogg/src/bitwise.c:24:
    /home/constantine/Polycode/Dependencies/Build/Debug/oggvorbis/src/libogg/include/ogg/os_types.h:143:32: fatal error: ogg/config_types.h: No such file or directory
    compilation terminated.
    make[5]: *** [CMakeFiles/libogg.dir/src/bitwise.c.o] Error 1
    make[4]: *** [CMakeFiles/libogg.dir/all] Error 2
    make[3]: *** [all] Error 2
    make[2]: *** [oggvorbis/src/libogg-stamp/libogg-build] Error 2
    make[1]: *** [CMakeFiles/libogg.dir/all] Error 2
    make: *** [all] Error 2
    

    Ubuntu 12.10

    opened by ghost 17
  • Visual studio paths appear incorrect?

    Visual studio paths appear incorrect?

    You have these: $(PolycodeDir)Core\Include $(PolycodeDir)Modules\include $(PolycodeDir)Core\Dependencies\include $(PolycodeDir)Core\PolycodeView $(PolycodeDir)Core\Dependencies\include\AL

    However PolycodeDir is: $(SolutionDir)......\Release\Windows\Framework\

    The includes appear to expect PolycodeDir to be the top level directory, but you're setting it to be the release directory for the generated binary/library I imagine. Which is it supposed to be?

    HOWEVER, even with that pathing fixed, the pathing is still incorrect because everything in Core is inside of Core/Contents.

    opened by ghost 15
  • Build error on ArchLinux

    Build error on ArchLinux

    Error detail:

    No POLYCODE_DEPS_DOWNLOAD_DIR specified, to /home/ansidev/build/polycode/Dependencies/Downloads
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/ansidev/build/polycode/Dependencies/Build/Debug
    [  8%] Built target assimp
    [ 16%] Built target box2d
    [ 25%] Built target bullet
    [ 33%] Built target freetype
    [ 41%] Built target libarchive
    [ 50%] Built target libogg
    [ 58%] Built target zlib
    [ 66%] Built target libpng
    [ 75%] Built target libvorbis
    [ 83%] Built target lua51
    [ 91%] Built target openal
    [100%] Built target physfs
    No POLYCODE_DEPS_DOWNLOAD_DIR specified, to /home/ansidev/build/polycode/Dependencies/Downloads
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/ansidev/build/polycode/Dependencies/Build/Release
    [  8%] Built target assimp
    [ 16%] Built target box2d
    [ 25%] Built target bullet
    [ 33%] Built target freetype
    [ 41%] Built target libarchive
    [ 50%] Built target libogg
    [ 58%] Built target zlib
    [ 66%] Built target libpng
    [ 75%] Built target libvorbis
    [ 83%] Built target lua51
    [ 91%] Built target openal
    [100%] Built target physfs
    No POLYCODE_RELEASE_DIR specified, to /home/ansidev/build/polycode/Release/Linux
    -- Found Libarchive: debug;/home/ansidev/build/polycode/Release/Linux/Framework/Tools/Dependencies/lib/libarchived.a;optimized;/home/ansidev/build/polycode/Release/Linux/Framework/Tools/Dependencies/lib/libarchive.a
    CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
      Could NOT find SDL (missing: SDL_LIBRARIES)
    Call Stack (most recent call first):
      /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
      CMake/FindSDL.cmake:27 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
      CMake/PolycodeIncludes.cmake:27 (FIND_PACKAGE)
      Core/Contents/CMakeLists.txt:2 (INCLUDE)
    
    
    -- Configuring incomplete, errors occurred!
    See also "/home/ansidev/build/polycode/Build/Debug/CMakeFiles/CMakeOutput.log".
    make: *** No targets specified and no makefile found.  Stop.
    make: *** No rule to make target 'install'.  Stop.
    No POLYCODE_RELEASE_DIR specified, to /home/ansidev/build/polycode/Release/Linux
    -- Found Libarchive: debug;/home/ansidev/build/polycode/Release/Linux/Framework/Tools/Dependencies/lib/libarchived.a;optimized;/home/ansidev/build/polycode/Release/Linux/Framework/Tools/Dependencies/lib/libarchive.a
    CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
      Could NOT find SDL (missing: SDL_LIBRARIES)
    Call Stack (most recent call first):
      /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
      CMake/FindSDL.cmake:27 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
      CMake/PolycodeIncludes.cmake:27 (FIND_PACKAGE)
      Core/Contents/CMakeLists.txt:2 (INCLUDE)
    
    
    -- Configuring incomplete, errors occurred!
    See also "/home/ansidev/build/polycode/Build/Release/CMakeFiles/CMakeOutput.log".
    make: *** No targets specified and no makefile found.  Stop.
    make: *** No rule to make target 'install'.  Stop.
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/ansidev/build/polycode/Standalone/Build
    Install the project...
    -- Install configuration: ""
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/./LICENSE.txt
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_PointCollision
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_PointCollision/2DPhysics_PointCollision.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_PointCollision/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_PointCollision/Scripts/2DPhysics_PointCollision.lua
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_CollisionOnly
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_CollisionOnly/2DPhysics_CollisionOnly.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_CollisionOnly/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_CollisionOnly/Scripts/2DPhysics_CollisionOnly.lua
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_Basic
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_Basic/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_Basic/Scripts/2DPhysics_Basic.lua
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_Basic/2DPhysics_Basic.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_Joints
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_Joints/2DPhysics_Joints.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_Joints/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_Joints/Scripts/2DPhysics_Joints.lua
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_Contacts
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_Contacts/Resources
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_Contacts/Resources/collision.wav
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_Contacts/2DPhysics_Contacts.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_Contacts/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/2D_Physics/2DPhysics_Contacts/Scripts/2DPhysics_Contacts.lua
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Input
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Input/KeyboardInput
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Input/KeyboardInput/Resources
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Input/KeyboardInput/Resources/polycode_logo.png
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Input/KeyboardInput/KeyboardInput.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Input/KeyboardInput/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Input/KeyboardInput/Scripts/KeyboardInput.lua
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Input/MouseInput
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Input/MouseInput/Resources
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Input/MouseInput/Resources/polycode_logo.png
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Input/MouseInput/MouseInput.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Input/MouseInput/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Input/MouseInput/Scripts/MouseInput.lua
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/3DBasics
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/3DBasics/Resources
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/3DBasics/Resources/green_texture.png
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/3DBasics/Resources/pink_texture.png
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/3DBasics/3DBasics.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/3DBasics/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/3DBasics/Scripts/3DBasics.lua
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/BasicText
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/BasicText/BasicText.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/BasicText/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/BasicText/Scripts/BasicText.lua
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/Transforms
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/Transforms/Transforms.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/Transforms/Resources
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/Transforms/Resources/polycode_logo.png
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/Transforms/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/Transforms/Scripts/2DTransforms.lua
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/SceneEntities
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/SceneEntities/SceneEntities.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/SceneEntities/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/SceneEntities/Scripts/ScreenEntities.lua
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/BasicImage
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/BasicImage/BasicImage.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/BasicImage/Resources
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/BasicImage/Resources/polycode_logo.png
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/BasicImage/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/BasicImage/Scripts/BasicImage.lua
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/MaterialsAndLighting
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/MaterialsAndLighting/Resources
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/MaterialsAndLighting/Resources/green_texture.png
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/MaterialsAndLighting/Resources/pink_texture.png
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/MaterialsAndLighting/Resources/example.mat
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/MaterialsAndLighting/MaterialsAndLighting.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/MaterialsAndLighting/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Graphics/MaterialsAndLighting/Scripts/AdvancedLighting.lua
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Audio
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Audio/PositionalAudio
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Audio/PositionalAudio/Resources
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Audio/PositionalAudio/Resources/test.wav
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Audio/PositionalAudio/PositionalAudio.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Audio/PositionalAudio/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Audio/PositionalAudio/Scripts/3DAudio.lua
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Audio/PlayingSounds
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Audio/PlayingSounds/Resources
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Audio/PlayingSounds/Resources/test.wav
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Audio/PlayingSounds/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Audio/PlayingSounds/Scripts/PlayingSounds.lua
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Audio/PlayingSounds/PlayingSounds.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Game_Demos
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Game_Demos/Pong
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Game_Demos/Pong/Pong.polyproject
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Game_Demos/Pong/Resources
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Game_Demos/Pong/Resources/field.entity
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Game_Demos/Pong/Resources/hit.wav
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Game_Demos/Pong/Resources/score.wav
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Game_Demos/Pong/Scripts
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Examples/Lua/Game_Demos/Pong/Scripts/Main.lua
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/css
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/css/bootstrap.css.map
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/css/bootstrap-theme.css
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/css/docs.css
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/css/bootstrap-theme.min.css
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/css/bootstrap.min.css
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/css/bootstrap.css
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/css/bootstrap-theme.css.map
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/images
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/images/docs_header.png
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/images/polycode_logo.svg
    -- Installing: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/js
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/js/bootstrap.min.js
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/js/bootstrap.js
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/js/docs.js
    -- Up-to-date: /home/ansidev/build/polycode/Standalone/../Release/Linux/Standalone/Docs/html/js/jquery-1.11.0.min.js
    CMake Error at cmake_install.cmake:48 (FILE):
      file INSTALL cannot find
      "/home/ansidev/build/polycode/Standalone/../Release/Linux/Framework/Player/PolycodePlayer".
    
    
    Makefile:65: recipe for target 'install' failed
    make: *** [install] Error 1
    
    opened by ansidev 12
  • Remove need for parentAdjust in ScreenEntity and add UIMenuDivider

    Remove need for parentAdjust in ScreenEntity and add UIMenuDivider

    A lot of commits but they're pretty small. The main changes are:

    • Reworked ScreenEntity's onMouse() methods so they no longer need the parentAdjust argument which means that hitTest() can now be called from outside the onMouse() calls (which I needed for the next thing). The big thing this means is that you can have more complex transforms on ScreenEntities and hitTest() will still work.
    • Added UIMenuDivider which puts a horizontal dividing line in a menu and changed the IDE's ProjectBrowser to use it instead of a normal UIMenuItem named "-------".
    • Made a bunch of methods const.
    • Fixed a bunch of warnings on OS X. The Core and IDE projects are nearly warning free.
    • A handful of other miscellaneous other small fixes/changes.

    I posted about the ScreenEntity stuff in the forums but I never got any kind of reply so I just went ahead and got to work on the minimum amount and eventually went even less invasive than that (I ran into too many that would touch too much stuff and I wanted to keep things constrained to just ScreenEntity as much as possible).

    Sorry there's so much in here. Feel free to reject what you don't like. I'll fix and resubmit.

    opened by samiamwork 12
  • External Text Editor

    External Text Editor

    This pull request contains a brand new settings window (accessed from the edit dropdown) in which you can set a command to launch an external text editor (eg /usr/bin/gvim or C:\Program Files\vim\gvim.exe) or something like that! And there is a check box that controls if you are using an external editor or not. The settings are saved into the user configuration when saveConfig (or whatever the function was) is called (it might be a good idea to save it when the user clicks ok in the settings menu, a trivial change!). And if you close the window things via cancel or x button it restores changes to your current settings.

    There is one problem however! Which does not seem to be related to what I added, but appears to be an issue elsewhere: The first time you open a file, the text editor opens as it should. However, when you re-open a file you've already opened once, the file is opened twice, so when you close the editor and the IDE resumes (not threaded yet) the editor opens once again and you have to close it one more time before you can do what you intended to do. Again, that appears to be an issue somewhere else and should be debugged! (I'm in a bit extremely busy this week though so someone else will have to do it or else it will have to wait).

    Eventually I think it should happen in a separate thread because the IDE is unusable until you close the text editor. It seems like Threaded and createThread is a bit overly complicated at first sight. I started implementing it but gave up. It's a fairly trivial change though! Right now it would probably only cause an annoyance because it would fire up some text editors twice (although on the ones that catches the double launch it doesn't have the annoyance previously mentioned, hmm)

    Other fun things that can be added to the settings window is selection for various themes :).

    Either way, it seems like what I have added doesn't have any apparent bugs so I think it's ready to merge!

    opened by BitPuffin 12
  • PolyGLSLShaderModule.cpp:472:21: error: return-statement with no value, in function returning ‘Polycode::GLSLProgramParam’ [-fpermissive]

    PolyGLSLShaderModule.cpp:472:21: error: return-statement with no value, in function returning ‘Polycode::GLSLProgramParam’ [-fpermissive]

    I tried to compile polycode in linux am using ubuntu 12.04 Some functions in the program doesnt have any return value.while doing the steps for building polycode i got an error here Polycode/Core/Contents/Source/PolyData.cpp:78:3: error: return-statement with no value, in function returning ‘bool’ [-fpermissive].I edited PolyData.cpp and gave return false its solved that issue then again the same issue occured at Polycode/Core/Contents/Source/PolyGLSLShaderModule.cpp:472:21: error: return-statement with no value, in function returning ‘Polycode::GLSLProgramParam’ [-fpermissive] .This is something serious which i cant handle do you have any fix or patch for this

    opened by ganeshredcobra 12
  • Why isn't C++ a centered language?

    Why isn't C++ a centered language?

    C++ is a great language. It is very powerful, it is more low level language, which means that people have a lot more explicit control over what they do, and performance is far better. I am looking forward to use Polycode, especially when the new rewrite version is going to be released.

    The problem I have currently with Polycode is that C++ is NOT a centered language, like it is in Unreal engine. Why don't we make it a well centered language as well as to have proper tutorials as well?

    opened by Raj2032 10
  • Added ability to navigate UITrees with arrow keys; added some UITree API stuff

    Added ability to navigate UITrees with arrow keys; added some UITree API stuff

    This is the third in my series of keyboard interactivity features. So, with this, you can focus the UITreeContainer and then have the ability to move up and down the tree with the arrow keys. Left and right will collapse/expand nodes and move between parent/child.

    To make code easier to read and work with, I added a few methods to the UITree API: (getParent(), hasChildren(), getPrevSibling(), getNextSibling()). I also added a flag to enable/disable key navigation for a container (enabled by default).

    I also had to implement focusing on the UITreeContainer. I'd say it's an incomplete implementation at this time however, as there is no visual indication that the container is focused. In other software, there would be something to let you know that the container is selected or not, and the tree node selector usually changes colors depending on that state.

    opened by ghost 9
  • Tweaked 2d Physics body creation, exposed more Box2D features to the engine.

    Tweaked 2d Physics body creation, exposed more Box2D features to the engine.

    • Creation of physics bodies now respect any compound tranformations of a ScreenEntity
    • PhysicsScreenEntity can now change angular and linear damping, friction, density, group index, and collision category and masks
    • Collision-only PhysicsScreenEntities can optionally be set as not a sensor, so contact information is preserved in the manifold (sensors do not provide collision point or normals in collision events). Non-sensor collisions are still disabled before they hit the solver.
    opened by doomlaser 9
  • "cmake command not found" in Box2d Dependency

    echo "Performing patch step for 'box2d'" Performing patch step for 'box2d' cd /Users/benedikteickhoff/Developer/Polycode-master/Dependencies/Build/box2d/src/box2d && cmake -E echo ADD_SUBDIRECTORY "(" Box2D ")" > /Users/benedikteickhoff/Developer/Polycode-master/Dependencies/Build/box2d/src/box2d/CMakeLists.txt /bin/sh: cmake: command not found make: *** [/Users/benedikteickhoff/Developer/Polycode-master/Dependencies/Build/box2d/src/box2d-stamp/Debug/box2d-patch] Error 127 Command /bin/sh failed with exit code 2

    opened by Contexter 9
  • IDE window can no longer be resized/maximized

    IDE window can no longer be resized/maximized

    On Windows 8.1, Compiled with VS2010. There is no maximization button, and double-clicking the window titlebar doesn't maximize the window, either. A small triangle is drawn in the bottom-right corner of the window (within the border, as part of the IDE), but the window border cannot be grabbed and resized. Pressing the window button with the left and right arrow keys doesn't snap the window to the sides of the monitor either.

    The size of the window (which is now stuck) appears to be based on an earlier size stored in my config from a previous version.

    opened by suchipi 8
  • 'struct dirent' has no member named 'd_type'

    'struct dirent' has no member named 'd_type'

    #39 I googled and found this question. Yeah, it's my question too! I really need my c program to be compiled as it's needed for a group project. When I compile I face this error: error: 'struct dirent' has no member named 'd_type' How can I solve this problem?

    I am using windows 10. I need it for c programming language.

    ` struct dirent *dir; DIR *pDir = opendir(path);

    if (pDir) {
        while ((dir = readdir(pDir)) != NULL) {
            if (dir->d_type == FILE_FLAG) {
                String filename = malloc(sizeof(char) * strlen(dir->d_name));
                strcpy(filename, dir->d_name);
                result[resSize++] = filename;
            }
        }
        closedir(pDir);
    }`
    

    This is my struct dirent in direct.h:

    struct dirent { long d_ino; /* Always zero. */ unsigned short d_reclen; /* Always zero. */ unsigned short d_namlen; /* Length of name in d_name. */ char d_name[260]; /* [FILENAME_MAX] */ /* File name. */ };

    Edited: This post helped me to solve this problem, but is there a more neat way to solve it? https://stackoverflow.com/questions/5530933/dirent-h-in-visual-studio-2010-or-2008

    opened by SaeedRezaAmanat 0
  • Error - Example

    Error - Example

    Hi,

    C:\Users\admin\Desktop\Polycode-0.8.4\Polycode-master\Release\Windows\Framework\Examples\Windows
    PolycodeExamples\PolycodeExamples.sln

    When I opened the example sln, and compile, the following error happened?

    Error 1 error LNK1104: cannot open file 'BulletDynamics_d.dll' C:\Users\admin\Desktop\Polycode-0.8.4\Polycode-master\Release\Windows\Framework\Examples\Windows\PolycodeExamples\3DPhysics_Basic\LINK 3DPhysics_Basic

    opened by WongKianTat 0
  • Latest Version Request

    Latest Version Request

    Friends, I really interested in your game, I have tried twice within one year, still failed to build it. Can you update it to latest VS version with latest dependencies link, because certain links already obsolete.

    opened by WongKianTat 0
  • Error In Building Project Bullet

    Error In Building Project Bullet

    Recently I have downloaded this game engine as my learning resources in my journey to create my own 3D Game Engine. I have followed the sequences to create sln with CMake and build it with VS2010, but there is some error in the building process, all projects were built successfully, but with the except of Bullet project. There is a built error

    Error 1 error MSB6006: "cmd.exe" exited with code 1. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets 151 6 bullet

    May I know how to solve it?

    opened by mikrokode 3
  • Suggestion to change Polycode to use Unlicense.

    Suggestion to change Polycode to use Unlicense.

    First of all I do not endorse other people who want to make a fork out of Polycode to not credit the original author back as that is not ethical.

    Why I suggest for Polycode to use Unlicense is because since the term Free (as in Freedom) and Open Source means that the user can own the code/software as soon as the downloads it and uses it. Placing any kind of restrictions within the software or in terms of legal stuff, ruins the sense of freedom and gives off a sense of no ownership as there are restrictions in place as to how people can use the code.

    Unlicense still does protect the original authors from people suing the orginasation.

    opened by Raj2032 1
Releases(0.8.4)
Open-source, cross-platform, C++ game engine for creating 2D/3D games.

GamePlay v3.0.0 GamePlay is an open-source, cross-platform, C++ game framework/engine for creating 2D/3D mobile and desktop games. Website Wiki API De

gameplay3d 3.7k Jul 31, 2022
KlayGE is a cross-platform open source game engine with plugin-based architecture.

KlayGE KlayGE is a cross-platform open source game engine with plugin-based architecture. It's started since 2003. The explicit goal of KlayGE is: to

Minmin Gong 1.8k Aug 8, 2022
A cross-platform 2D game engine

nCine nCine is a cross-platform 2D game engine. It is released under the MIT License, Copyright (c) 2011-2021 Angelo Theodorou. For additional informa

nCine 733 Jul 31, 2022
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU

Panda3D Panda3D is a game engine, a framework for 3D rendering and game development for Python and C++ programs. Panda3D is open-source and free for a

Panda3D 3.4k Aug 3, 2022
A powerful free cross-platform RTS game engine

Spring RTS game engine README Spring (formerly TASpring) is an Open Source Real Time Strategy game engine. Visit our project homepage for help, sugges

Spring RTS 2.7k Aug 7, 2022
Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.

RetroArch RetroArch is the reference frontend for the libretro API. Popular examples of implementations for this API includes video game system emulat

null 6.9k Aug 5, 2022
MAZE (My AmaZing Engine) - 🎮 Personal open-source cross-platform game engine

MAZE (My AmaZing Engine) is the self-written open-source cross-platform game engine in the active development stage. At the moment it is my main pet project, developed for the purpose of learning and preserving different game dev technologies.

Dmitriy Nosov 11 Jan 9, 2022
Cross-platform version of Heboris C7EX using a hardware-accelerated SDL 2.0 renderer

Heboris C7EX - unofficial version (YGS2K EX) This version contains the source code for Heboris C7EX. It requires a C compiler, SDL 2.0, SDL 2.0 mixer,

Brandon McGriff 9 May 27, 2022
TrenchBroom is a modern cross-platform level editor for Quake-engine based games.

TrenchBroom is a modern cross-platform level editor for Quake-engine based games.

TrenchBroom 1.2k Aug 1, 2022
CSEngine is a cross-platform 3D game engine.

CSEngine - Cross Platform C++ Game Engine CSEngine is a cross-platform 3D game engine. ?? As it is under development, it is not yet suitable for pract

ounols 45 Jun 27, 2022
Intrinsic is a Vulkan based cross-platform game and rendering engine

Intrinsic is a Vulkan based cross-platform game and rendering engine

Benjamin Wrensch 1k Jul 31, 2022
A cross-platform, top-down 2D space shooter written in C using only system libraries.

A cross-platform, top-down 2D space shooter written in C using only system libraries.

Tarek Sherif 1.3k Jul 30, 2022
Free, cross-platform 2D game engine powered by Haxe and OpenFL

flixel | addons | ui | demos | tools | templates | docs | haxeflixel.com Links Here are the most important links to get you started with HaxeFlixel: G

HaxeFlixel 1.6k Aug 1, 2022
VERY simple cross-platform C++ analytics for games (using Google Analytics)

Tiniest Analytics is a very simple to use, cross-platform (tested on win/osx/linux/ios/android) and basically very tiny analytics system written in C++ (less than 100 lines of code), made specifically for games. It uses libcurl to post events to your Google Analytics account.

Mihai Gosa 95 Jan 31, 2022
Cross-platform library for gamepad input.

libgamepad Abstracts gamepad access through an easy to use, cross-platform API. What platforms does it support? Platform Toolchain Supported Windows M

Michael Williams 15 Oct 21, 2021
Cute Framework (CF for short) is the cutest framework available for making 2D games in C/C++

Cute Framework (CF for short) is the cutest framework available for making 2D games in C/C++. CF comprises of different features, where the various features avoid inter-dependencies. In this way using CF is about picking and choosing which pieces are needed for your game

null 246 Jul 29, 2022
Pure C Arcade game. Cross between pong and breakout, made it by accident

LameBall I accidentally made this game while testing some code. It's kind of a cross between Pong and Breakout, mixed with Squash/Racquetball. >> DOWN

Phil Bagshaw 2 Sep 17, 2021
Godot Engine – Multi-platform 2D and 3D game engine

Godot Engine 2D and 3D cross-platform game engine Godot Engine is a feature-packed, cross-platform game engine to create 2D and 3D games from a unifie

Godot Engine 51.6k Aug 3, 2022
Flax Engine – multi-platform 3D game engine

Flax Engine – multi-platform 3D game engine

Flax Engine 3.4k Jul 31, 2022