Giter Site home page Giter Site logo

mdsteele / azimuth Goto Github PK

View Code? Open in Web Editor NEW
45.0 9.0 13.0 5.06 MB

A metroidvania with vector graphics

Home Page: https://mdsteele.games/azimuth/

License: GNU General Public License v3.0

Makefile 0.80% C 99.08% Shell 0.08% Dockerfile 0.04%
game metroidvania

azimuth's People

Contributors

dbandstra avatar genpfault avatar lowagner avatar mailaender avatar marius851000 avatar mdsteele avatar popey avatar susnux avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

azimuth's Issues

compilation error: unused typedef 'az_static_assertion_207'

clang version 3.6.2 (tags/RELEASE_362/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix


Compiling out/debug/obj/azimuth/state/upgrade.o
src/azimuth/state/upgrade.c:207:9: error: unused typedef 'az_static_assertion_207'
      [-Werror,-Wunused-local-typedef]
      { AZ_STATIC_ASSERT(AZ_ROCKETS_PER_HYPER_ROCKET == 3); }
        ^
src/azimuth/util/misc.h:71:15: note: expanded from macro 'AZ_STATIC_ASSERT'
  typedef int AZ_JOIN(az_static_assertion_, __LINE__)[(condition) ? 1 : -1]
              ^
src/azimuth/util/misc.h:76:23: note: expanded from macro 'AZ_JOIN'
#define AZ_JOIN(a, b) AZ_JOIN2_(a, b)
                      ^
src/azimuth/util/misc.h:77:25: note: expanded from macro 'AZ_JOIN2_'
#define AZ_JOIN2_(a, b) a##b
                        ^
<scratch space>:13:1: note: expanded from here
az_static_assertion_207
^
src/azimuth/state/upgrade.c:211:9: error: unused typedef 'az_static_assertion_211'
      [-Werror,-Wunused-local-typedef]
      { AZ_STATIC_ASSERT(AZ_BOMBS_PER_MEGA_BOMB == 3); }
        ^
src/azimuth/util/misc.h:71:15: note: expanded from macro 'AZ_STATIC_ASSERT'
  typedef int AZ_JOIN(az_static_assertion_, __LINE__)[(condition) ? 1 : -1]
              ^
src/azimuth/util/misc.h:76:23: note: expanded from macro 'AZ_JOIN'
#define AZ_JOIN(a, b) AZ_JOIN2_(a, b)
                      ^
src/azimuth/util/misc.h:77:25: note: expanded from macro 'AZ_JOIN2_'
#define AZ_JOIN2_(a, b) a##b
                        ^
<scratch space>:15:1: note: expanded from here
az_static_assertion_211
^
src/azimuth/state/upgrade.c:215:9: error: unused typedef 'az_static_assertion_215'
      [-Werror,-Wunused-local-typedef]
      { AZ_STATIC_ASSERT(AZ_HIGH_EXPLOSIVES_POWER_MULTIPLIER == 1.5); }
        ^
src/azimuth/util/misc.h:71:15: note: expanded from macro 'AZ_STATIC_ASSERT'
  typedef int AZ_JOIN(az_static_assertion_, __LINE__)[(condition) ? 1 : -1]
              ^
src/azimuth/util/misc.h:76:23: note: expanded from macro 'AZ_JOIN'
#define AZ_JOIN(a, b) AZ_JOIN2_(a, b)
                      ^
src/azimuth/util/misc.h:77:25: note: expanded from macro 'AZ_JOIN2_'
#define AZ_JOIN2_(a, b) a##b
                        ^
<scratch space>:17:1: note: expanded from here
az_static_assertion_215
^
src/azimuth/state/upgrade.c:218:9: error: unused typedef 'az_static_assertion_218'
      [-Werror,-Wunused-local-typedef]
      { AZ_STATIC_ASSERT(AZ_ATTUNED_EXPLOSIVES_RADIUS_FACTOR == 1.5); }
        ^
src/azimuth/util/misc.h:71:15: note: expanded from macro 'AZ_STATIC_ASSERT'
  typedef int AZ_JOIN(az_static_assertion_, __LINE__)[(condition) ? 1 : -1]
              ^
src/azimuth/util/misc.h:76:23: note: expanded from macro 'AZ_JOIN'
#define AZ_JOIN(a, b) AZ_JOIN2_(a, b)
                      ^
src/azimuth/util/misc.h:77:25: note: expanded from macro 'AZ_JOIN2_'
#define AZ_JOIN2_(a, b) a##b
                        ^
<scratch space>:19:1: note: expanded from here
az_static_assertion_218
^
src/azimuth/state/upgrade.c:219:9: error: unused typedef 'az_static_assertion_219'
      [-Werror,-Wunused-local-typedef]
      { AZ_STATIC_ASSERT(AZ_ATTUNED_EXPLOSIVES_DAMAGE_FACTOR == 0.25); }
        ^
src/azimuth/util/misc.h:71:15: note: expanded from macro 'AZ_STATIC_ASSERT'
  typedef int AZ_JOIN(az_static_assertion_, __LINE__)[(condition) ? 1 : -1]
              ^
src/azimuth/util/misc.h:76:23: note: expanded from macro 'AZ_JOIN'
#define AZ_JOIN(a, b) AZ_JOIN2_(a, b)
                      ^
src/azimuth/util/misc.h:77:25: note: expanded from macro 'AZ_JOIN2_'
#define AZ_JOIN2_(a, b) a##b
                        ^
<scratch space>:21:1: note: expanded from here
az_static_assertion_219
^
src/azimuth/state/upgrade.c:228:9: error: unused typedef 'az_static_assertion_228'
      [-Werror,-Wunused-local-typedef]
      { AZ_STATIC_ASSERT(AZ_BOMBS_PER_ORION_BOOST == 2); }
        ^
src/azimuth/util/misc.h:71:15: note: expanded from macro 'AZ_STATIC_ASSERT'
  typedef int AZ_JOIN(az_static_assertion_, __LINE__)[(condition) ? 1 : -1]
              ^
src/azimuth/util/misc.h:76:23: note: expanded from macro 'AZ_JOIN'
#define AZ_JOIN(a, b) AZ_JOIN2_(a, b)
                      ^
src/azimuth/util/misc.h:77:25: note: expanded from macro 'AZ_JOIN2_'
#define AZ_JOIN2_(a, b) a##b
                        ^
<scratch space>:23:1: note: expanded from here
az_static_assertion_228
^
src/azimuth/state/upgrade.c:232:9: error: unused typedef 'az_static_assertion_232'
      [-Werror,-Wunused-local-typedef]
      { AZ_STATIC_ASSERT(AZ_ARMOR_DAMAGE_FACTOR == 0.8); }
        ^
src/azimuth/util/misc.h:71:15: note: expanded from macro 'AZ_STATIC_ASSERT'
  typedef int AZ_JOIN(az_static_assertion_, __LINE__)[(condition) ? 1 : -1]
              ^
src/azimuth/util/misc.h:76:23: note: expanded from macro 'AZ_JOIN'
#define AZ_JOIN(a, b) AZ_JOIN2_(a, b)
                      ^
src/azimuth/util/misc.h:77:25: note: expanded from macro 'AZ_JOIN2_'
#define AZ_JOIN2_(a, b) a##b
                        ^
<scratch space>:25:1: note: expanded from here
az_static_assertion_232
^
src/azimuth/state/upgrade.c:233:9: error: unused typedef 'az_static_assertion_233'
      [-Werror,-Wunused-local-typedef]
      { AZ_STATIC_ASSERT(AZ_HARDENED_ARMOR_WALL_DAMAGE_FACTOR == 0.5); }
        ^
src/azimuth/util/misc.h:71:15: note: expanded from macro 'AZ_STATIC_ASSERT'
  typedef int AZ_JOIN(az_static_assertion_, __LINE__)[(condition) ? 1 : -1]
              ^
src/azimuth/util/misc.h:76:23: note: expanded from macro 'AZ_JOIN'
#define AZ_JOIN(a, b) AZ_JOIN2_(a, b)
                      ^
src/azimuth/util/misc.h:77:25: note: expanded from macro 'AZ_JOIN2_'
#define AZ_JOIN2_(a, b) a##b
                        ^
<scratch space>:27:1: note: expanded from here
az_static_assertion_233
^
src/azimuth/state/upgrade.c:292:9: error: unused typedef 'az_static_assertion_292'
      [-Werror,-Wunused-local-typedef]
      { AZ_STATIC_ASSERT(AZ_ROCKETS_PER_AMMO_UPGRADE == 5); }
        ^
src/azimuth/util/misc.h:71:15: note: expanded from macro 'AZ_STATIC_ASSERT'
  typedef int AZ_JOIN(az_static_assertion_, __LINE__)[(condition) ? 1 : -1]
              ^
src/azimuth/util/misc.h:76:23: note: expanded from macro 'AZ_JOIN'
#define AZ_JOIN(a, b) AZ_JOIN2_(a, b)
                      ^
src/azimuth/util/misc.h:77:25: note: expanded from macro 'AZ_JOIN2_'
#define AZ_JOIN2_(a, b) a##b
                        ^
<scratch space>:29:1: note: expanded from here
az_static_assertion_292
^
src/azimuth/state/upgrade.c:326:9: error: unused typedef 'az_static_assertion_326'
      [-Werror,-Wunused-local-typedef]
      { AZ_STATIC_ASSERT(AZ_BOMBS_PER_AMMO_UPGRADE == 3); }
        ^
src/azimuth/util/misc.h:71:15: note: expanded from macro 'AZ_STATIC_ASSERT'
  typedef int AZ_JOIN(az_static_assertion_, __LINE__)[(condition) ? 1 : -1]
              ^
src/azimuth/util/misc.h:76:23: note: expanded from macro 'AZ_JOIN'
#define AZ_JOIN(a, b) AZ_JOIN2_(a, b)
                      ^
src/azimuth/util/misc.h:77:25: note: expanded from macro 'AZ_JOIN2_'
#define AZ_JOIN2_(a, b) a##b
                        ^
<scratch space>:31:1: note: expanded from here
az_static_assertion_326
^
src/azimuth/state/upgrade.c:352:9: error: unused typedef 'az_static_assertion_352'
      [-Werror,-Wunused-local-typedef]
      { AZ_STATIC_ASSERT(AZ_ENERGY_PER_CAPACITOR == 25); }
        ^
src/azimuth/util/misc.h:71:15: note: expanded from macro 'AZ_STATIC_ASSERT'
  typedef int AZ_JOIN(az_static_assertion_, __LINE__)[(condition) ? 1 : -1]
              ^
src/azimuth/util/misc.h:76:23: note: expanded from macro 'AZ_JOIN'
#define AZ_JOIN(a, b) AZ_JOIN2_(a, b)
                      ^
src/azimuth/util/misc.h:77:25: note: expanded from macro 'AZ_JOIN2_'
#define AZ_JOIN2_(a, b) a##b
                        ^
<scratch space>:33:1: note: expanded from here
az_static_assertion_352
^
src/azimuth/state/upgrade.c:366:9: error: unused typedef 'az_static_assertion_366'
      [-Werror,-Wunused-local-typedef]
      { AZ_STATIC_ASSERT(AZ_SHIELDS_PER_BATTERY == 25); }
        ^
src/azimuth/util/misc.h:71:15: note: expanded from macro 'AZ_STATIC_ASSERT'
  typedef int AZ_JOIN(az_static_assertion_, __LINE__)[(condition) ? 1 : -1]
              ^
src/azimuth/util/misc.h:76:23: note: expanded from macro 'AZ_JOIN'
#define AZ_JOIN(a, b) AZ_JOIN2_(a, b)
                      ^
src/azimuth/util/misc.h:77:25: note: expanded from macro 'AZ_JOIN2_'
#define AZ_JOIN2_(a, b) a##b
                        ^
<scratch space>:35:1: note: expanded from here
az_static_assertion_366

I fixed it with:

+++ b/Makefile
@@ -33,7 +33,7 @@ ALL_TARGETS = $(BINDIR)/azimuth $(BINDIR)/editor $(BINDIR)/unit_tests \

 CFLAGS = -I$(SRCDIR) -Wall -Werror -Wempty-body -Winline \
          -Wmissing-field-initializers -Wold-style-definition -Wshadow \
-         -Wsign-compare -Wstrict-prototypes -Wundef
+         -Wsign-compare -Wstrict-prototypes -Wundef -Wno-unused-local-typedef

 ifeq "$(BUILDTYPE)" "debug"
   CFLAGS += -O1 -g

An install target for make

Hello. I recently packaged your game for the nix package manager (NixOS/nixpkgs#59071), and I think it'll be interesing to add an install target. The one I made is :

mkdir -p $out/bin
cp out/release/host/bin/azimuth $out/bin/azimuth
cp out/release/host/bin/editor $out/bin/azimuth-editor
cp out/release/host/bin/muse $out/bin/azimuth-muse
cp out/release/host/bin/zfxr $out/bin/azimuth-zfxr
mkdir -p $out/share/doc/azimuth
cp doc/* README.md LICENSE $out/share/doc/azimuth
mkdir -p $out/share/icons/hicolor/128x128/apps $out/share/icons/hicolor/64x64/apps $out/share/icons/hicolor/48x48/apps $out/share/icons/hicolor/32x32/apps
cp data/icons/icon_128x128.png $out/share/icons/hicolor/128x128/apps/azimuth.png
cp data/icons/icon_64x64.png $out/share/icons/hicolor/64x64/apps/azimuth.png
cp data/icons/icon_48x48.png $out/share/icons/hicolor/48x48/apps/azimuth.png
cp data/icons/icon_32x32.png $out/share/icons/hicolor/32x32/apps/azimuth.png
mkdir -p $out/share/applications
cp data/azimuth.desktop $out/share/applications

and

substituteInPlace data/azimuth.desktop \
  --replace Exec=azimuth "Exec=$out/bin/azimuth" \
  --replace "Version=%AZ_VERSION_NUMBER" "Version=${version}"

Compilation fails on Debian Buster

Trying to build the current master (89f9b48) on Debian Buster, amd64.

GCC version info:

$ gcc --version
gcc (Debian 8.2.0-16) 8.2.0

Error:

src/editor/audit.c: In function ‘az_audit_scenario’:
src/editor/audit.c:150:10: error: ‘console_kind’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
       if (console_kind == AZ_CONS_SAVE) {
          ^

Setting console_kind to AZ_NODE_NOTHING on audit.c:146 fixes it for me.

Information about azimuth?

Apologies for putting this in the Issues log. Not sure how else to get in touch with you.

Matt from metroidvanias.com here. I have no idea how to build your game, but have been dropping by every few months in hopes of there being a playable build of azimuth.

Would you mind getting in touch with me if you're still working on this? Would love to see screens/video if you have them.

I'm stuck... any walkthroughs available?

The hints system has been invaluable so far but I'm in the part where I have all weapons but one (I can see where it is) and all other power-ups but one, in the red part of the map. No idea how to break through the white girders. I'm hoping to get to finish the game before reviewing it for a site I write reviews for.

Musics

Hmm that isn't a real issue, but I don't found any music file under a format I know : only musicXX.txt files in ./data/music, where I read a title, tempo, and raw notes (abcdefg).

Where can I find them ? (I've seen "WAVE file generation" in ./src/muse, so I think I could have find them...)

I actually really enjoyed them (the game, too =), and I wanted to share them to my friend (in accordance with license terms of course).

Another question : the license talks about the program and code, but what about the music ? I actually already covered three of them (attached in pdf), that I didn't published yet (sheet music may don't look very finished, but I mostly didn't want to make mistake with license).
Am I allowed to publish them, for example making records on YouTube or post the sheet music on Musescore ?

I truly congratulate you for this game, that I enjoyed. I know C, I think making a game like that will take me years !

Rayerdyne.

Azimuth-Barrag.pdf
Azimuth-Sarvari.pdf
Azimuth-Title_screen.pdf

glFinish causes CPU saturation

Azimuth has 100% CPU usage on my machine. (Annoying because my PC has always had a problem where it gets super noisy and then dies under prolonged excessive load (underpowered PSU maybe, I don't know). Azimuth manages to kill it in about 10 minutes :) ). The problem goes away if I comment out the glFinish call.

I don't believe glFlush and glFinish are needed in modern times, when you have vsync and SDL_GL_SwapBuffers. I think glFinish blocks until all draw commands are completed, which is not something you need, and it seems to do this in a very wasteful way.

Couple random links:

My machine: Ubuntu 18 and GeForce GTX 750 Ti. No idea if my drivers are up to date.

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.