Integrate touch related development. (#90)

* * Add BuildActionIntention crap

* * Set Client and World projects to use MP compilation

* asd

* * Use the new BuildActionIntention to break and place blocks.

* * Reverse engineer the IArea system.

* * Copy break logic from survival into creative conditionally

* * Reverse IBuildInput and MouseHandler
* Replace the new relative paths in the client project with $(MC_ROOT) again

* * Reverse Multitouch, MouseDevice

* * Reverse a bunch of auxiliary classes for input.

* * Use CustomInputHolder instead of holding inputs manually.

* * Reverse a whole BUNCH of things!

* * Add feedback textures to the gitignore.

* * D-pad now renders! Also loads of other work.

* * More Stuff

* * Finish touch control bug fixing.

* * Finalize work.

* * One last thing..

* * Add a "cramped" mode to the options screen and start menu.

* * Oh, forgot to do something
This commit is contained in:
iProgramInCpp
2023-11-02 00:49:11 +02:00
committed by GitHub
parent 98d6b4e5e8
commit 60b21356a1
87 changed files with 3439 additions and 916 deletions

View File

@@ -40,6 +40,9 @@ public:
HitResult() { _init(); }
HitResult(Entity*);
HitResult(int x, int y, int z, eHitSide hitSide, const Vec3&);
bool isHit() const {
return m_hitType != NONE;
}
public:
eHitResultType m_hitType;

View File

@@ -12,6 +12,10 @@
// Needed for when we're missing nullptr in multiple files
#include "common/Utils.hpp"
// NOTE: I don't think that Vec3 was implemented like that - it was
// probably implemented just like in Java. However, I think it looks
// nicer this way :)
class Vec3
{
public:
@@ -75,5 +79,20 @@ public:
{
return Vec3(x + tx, y + ty, z + tz);
}
float lengthSqr() const
{
return x * x + y * y + z * z;
}
float length() const
{
return sqrt(lengthSqr());
}
Vec3 scale(float scale) const
{
return Vec3(x * scale, y * scale, z * scale);
}
};