1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-10-18 06:30:41 +00:00

Merge branch 'fix-build-linux' of https://github.com/iacore/hyperrogue into iacore-fix-build-linux

This commit is contained in:
Zeno Rogue 2024-10-11 09:22:09 +02:00
commit 6b04f29cc2
9 changed files with 73 additions and 22 deletions

2
.devcontainer/Dockerfile Normal file
View File

@ -0,0 +1,2 @@
FROM debian
RUN apt-get update && apt-get install -y make g++ libsdl1.2-dev libsdl-ttf2.0-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libglew-dev

View File

@ -0,0 +1,26 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-dockerfile
{
"name": "Development Container",
"build": {
// Sets the run context to one level up instead of the .devcontainer folder.
"context": "..",
// Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename.
"dockerfile": "Dockerfile"
},
// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Uncomment the next line to run commands after the container is created.
// "postCreateCommand": "cat /etc/os-release",
// Configure tool-specific properties.
// "customizations": {}
// Uncomment to connect as an existing user other than the container default. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "devcontainer"
}

6
.gitignore vendored
View File

@ -1 +1,7 @@
.deps/ .deps/
/autohdr.h
/langen
/makeh
/language-data.cpp
/*.o
/hyperrogue

View File

@ -51,7 +51,7 @@ endif
ifeq (${OS},linux) ifeq (${OS},linux)
CXXFLAGS_EARLY += -DLINUX CXXFLAGS_EARLY += -DLINUX -I /usr/include/SDL
EXE_EXTENSION := EXE_EXTENSION :=
LDFLAGS_GL := -lGL LDFLAGS_GL := -lGL
LDFLAGS_GLEW := -lGLEW LDFLAGS_GLEW := -lGLEW
@ -141,7 +141,7 @@ endif
ifeq (${HYPERROGUE_USE_ROGUEVIZ},1) ifeq (${HYPERROGUE_USE_ROGUEVIZ},1)
# Enable RogueViz. RogueViz requires C++17. # Enable RogueViz. RogueViz requires C++17.
CXXFLAGS_STD = -std=c++17 CXXFLAGS_STD = -std=c++17
CXXFLAGS_EARLY += -DCAP_ROGUEVIZ=1 CXXFLAGS_EARLY += -DCAP_ROGUEVIZ=1 -DCAP_TEXTURE=1
endif endif

View File

@ -2816,10 +2816,10 @@ EX void edit_levellines(char c) {
}); });
} }
EX geom3::eSpatialEmbedding shown_spatial_embedding() { geom3::eSpatialEmbedding shown_spatial_embedding() {
if(GDIM == 2) return geom3::seNone; if(GDIM == 2) return geom3::seNone;
return geom3::spatial_embedding; return geom3::spatial_embedding;
} }
EX bool in_tpp() { return pmodel == mdDisk && !models::camera_straight; } EX bool in_tpp() { return pmodel == mdDisk && !models::camera_straight; }

View File

@ -2555,25 +2555,30 @@ EX namespace twist {
M[0][0] = +xx - yy - zz + ww; M[0][0] = +xx - yy - zz + ww;
M[1][1] = -xx + yy - zz + ww; M[1][1] = -xx + yy - zz + ww;
M[2][2] = -xx - yy + zz + ww;
M[0][1] = -2 * (xy + zw);
M[1][0] = -2 * (xy - zw);
M[0][2] = 2 * (xz - yw);
M[2][0] = 2 * (xz + yw);
M[1][2] = -2 * (yz + xw);
M[2][1] = -2 * (yz - xw);
if(hyperbolic) { if(hyperbolic) {
swap(M[0][2], M[1][2]);
swap(M[2][0], M[2][1]);
M[1][2] *= -1;
M[2][0] *= -1;
M[2][2] = xx + yy + zz + ww; M[2][2] = xx + yy + zz + ww;
return M;
} M[0][1] = -2 * (xy + zw);
M[1][0] = -2 * (xy - zw);
M[0][2] = -2 * (yz + xw);
M[2][0] = 2 * (yz - xw);
M[1][2] = -2 * (xz - yw);
M[2][1] = 2 * (xz + yw);
} else {
M[2][2] = -xx - yy + zz + ww;
M[0][1] = -2 * (xy + zw);
M[1][0] = -2 * (xy - zw);
M[0][2] = 2 * (xz - yw);
M[2][0] = 2 * (xz + yw);
M[1][2] = -2 * (yz + xw);
M[2][1] = -2 * (yz - xw);
}
return M; return M;

View File

@ -192,7 +192,7 @@ void preparegraph() {
current_logistic.setRT(factor * graph_R, factor * graph_T); current_logistic.setRT(factor * graph_R, factor * graph_T);
saved_logistic = current_logistic; saved_logistic = current_logistic;
// for(int u=0; u<MAXDIST; u++) iprintf("%d/%Ld\n", edgetally[u], tally[u]); // for(int u=0; u<MAXDIST; u++) iprintf("%d/%lld\n", edgetally[u], tally[u]);
fix_logistic_parameters(current_logistic, loglik_logistic, "logistic", 1e-6); fix_logistic_parameters(current_logistic, loglik_logistic, "logistic", 1e-6);
writestats(); writestats();

View File

@ -337,7 +337,7 @@ void build_disttable_approx() {
for(int k=0; k<threads; k++) for(int k=0; k<threads; k++)
v.emplace_back([&,k] () { v.emplace_back([&,k] () {
auto& dt = results[k]; auto& dt = results[k];
vector<int> tab(N, N); vector<int> tab(N, N);
auto p = k ? nullptr : new progressbar(N/threads, "build_disttable_approx"); auto p = k ? nullptr : new progressbar(N/threads, "build_disttable_approx");
for(int i=k; i<N; i+=threads) { for(int i=k; i<N; i+=threads) {
if(p) (*p)++; if(p) (*p)++;

12
shell.nix Normal file
View File

@ -0,0 +1,12 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
nativeBuildInputs = with pkgs.buildPackages; [
gnumake
libgcc
haskellPackages.SDL
haskellPackages.SDL-ttf
haskellPackages.SDL-gfx
haskellPackages.SDL-mixer
glew
];
}