Code Monkey home page Code Monkey logo

Comments (9)

sigonasr2 avatar sigonasr2 commented on August 19, 2024 1

The Geometry util has undergone some major reworks and because of that it has broken this example. You can fix it by doing two things:

  • Swap the order of both #include "utilities/olcUTIL_Geometry2D.h" and #include "olcPixelGameEngine.h" in olcUTIL_Animate2D.h and TEST_Animate2D.cpp so they look like this:
#include "utilities/olcUTIL_Animate2D.h"
#include "olcPixelGameEngine.h"
  • Add #define OLC_IGNORE_VEC2D in TEST_Animate2D.cpp above #include "utilities/olcUTIL_Animate2D.h"

Should be good to go after that.

from olcpixelgameengine.

sigonasr2 avatar sigonasr2 commented on August 19, 2024 1

This is because you have to supply your own image to load (it tries to load "./assets/MegaSprite1.png"). I don't have the image this example provides, but if you have a spritesheet, you can tailor the animation system to work for that sheet using the example file as a guide.

from olcpixelgameengine.

Moros1138 avatar Moros1138 commented on August 19, 2024 1

Regarding the olcUTIL_Geometry2d.h it should be noted that has a separate repo where development on it is actively progressing. Before patching the header here, check to see that the issue hasn't already been solved in the other repo.

Unfortunately, the header provided in the PGE repo doesn't match.

from olcpixelgameengine.

Moros1138 avatar Moros1138 commented on August 19, 2024 1

Good to point that out. That's just for PGE itself, the extensions and utilities might have differing requirements. The wiki doesn't reflect that..... yet

from olcpixelgameengine.

GeraldRyan avatar GeraldRyan commented on August 19, 2024

It compiled! And it ran but it immediately got a segfault

[1] 30019 segmentation fault (core dumped) ./test_animate

Hey that's still progress

from olcpixelgameengine.

GeraldRyan avatar GeraldRyan commented on August 19, 2024

As to sprites and spritesheets, I'm new to them. I don't want to get too much down that rabbit hole because I'm more interested in the math and algorithms vs the game design but they're on my radar now as a thing to consider.

I plugged in a static creative commons licensed mario png and it works, albiet probably not as expected. It doesn't crash. It shards the thing during animation in a kind of cool way.

Anyway I opened a PR for these fixes. Feel free to update with a better spritesheet or make changes!!!

from olcpixelgameengine.

brmarkus avatar brmarkus commented on August 19, 2024

In addition to the above I needed to add #include <array> to the file olcUTIL_Geometry2D.h and to add template to turn

return !(p.x < r.pos.x || p.y < r.pos.y ||

into

return !(p.template x < r.pos.x || p.template y < r.pos.y ||

in file olcUTIL_Geometry2D.h as well.

(using "g++ (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0" under Ubuntu 22.04 LTS)

from olcpixelgameengine.

Moros1138 avatar Moros1138 commented on August 19, 2024

g++ -o test_quickGUI examples/TEST_QuickGUI.cpp -I. -lX11 -lGL -lpthread -lpng -lstdc++fs -std=c++17
g++ -o test_quickGUI examples/TEST_Animate2D.cpp -I. -lX11 -lGL -lpthread -lpng -lstdc++fs -std=c++17

we require C++20, you're compiling with C++17

from olcpixelgameengine.

brmarkus avatar brmarkus commented on August 19, 2024

Compilation followed the Wiki under "https://github.com/OneLoneCoder/olcPixelGameEngine/wiki/Compiling-on-Linux#building":

g++ -o olcExampleProgram olcExampleProgram.cpp -lX11 -lGL -lpthread -lpng -lstdc++fs -std=c++17

See also the latest version of "https://github.com/OneLoneCoder/olcPixelGameEngine/blob/master/olcPixelGameEngine.h#L73":

Compiling in Linux

 You will need a modern C++ compiler, so update yours!
 To compile use the command:

 g++ -o YourProgName YourSource.cpp -lX11 -lGL -lpthread -lpng -lstdc++fs -std=c++17

Where is the "C++20" coming from? Maybe you are referring to another branch?

from olcpixelgameengine.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.