GithubHelp home page GithubHelp logo

hurricangame / hurrican Goto Github PK

View Code? Open in Web Editor NEW
59.0 10.0 22.0 114.65 MB

Freeware jump and shoot game created by Poke53280, based on the Turrican game series by Manfred Trenz

License: MIT License

C++ 98.38% C 0.09% GLSL 0.37% Shell 0.05% Makefile 0.43% CMake 0.69%
turrican retrogaming sdl2 run-and-gun

hurrican's Issues

Comments translation

Just a suggestion:

It would be easier for everyone that doesn't speak German to have the comments in English (note: not my first language).
I'd do it if I knew German but...

Lighter CRT filter? (As previously)

Hi there, @drfiemost

Since the introduction of the additional CRT effects, performance on the Pi4 has decreased noticeably (I am not talking about my previous performance drop support, which comes from MESA).

So, would it be possible to have shaders without those additional effects? Something like --crt-light or similar.

Thanks

Update GLM

Version 1.0 has been released recently (now at 1.0.1)
Need a check if it's worth upgrading and that it doesn't break anything.

Remove obsolete Unrar support

Hi. I noticed that in the Hurrican source code there is code responsible for unpacking RAR files. I'm wondering if this code is needed or if it's code that should be removed, as I haven't seen any RAR files in the project. In addition, I moved the source files of the code responsible for unpacking to another location and the code built without issue and works without problem.

I suspect it is some old, unused code that can be removed from the repository, but you guys have more knowledge about this (I suspect).

Boss_MetalHead actions

The actions defined in the header are not used consistently but mixed with GEGNER actions.

#define SK_PAUSE 0 // Short Pause
#define SK_AUSGANG 1 // Starting position at the top left
#define SK_AUSHOLEN 2 // Going out for headbanging
#define SK_BANGEN 3 // Headbanging, in other words, banging head to the right
#define SK_CHASING 4 // Track player
#define SK_TURBINE 5 // Prepare for turbine suction
#define SK_WACKELN 6 // Head wobbles up and down and hits the ceiling
#define SK_SPUCKEN 7 // Head spits fireballs from the turbine

// FIXME
// Akt is initialized to SK_AUSGANG
// and then only assigned values GEGNER::OEFFNEN, GEGNER::SCHLIESSEN and GEGNER::SCHIESSEN
// Something's broken here...
if (Akt == SK_BANGEN) {
if (KieferPos < 60.0f)
KieferPos += Timer.sync(5.0f);
else
KieferPos = 60.0f;
}

Game crashes when saving after first level

I played the game (latest flatpak) on Kubuntu 22.04 using keyboard. When finishing the first level, a list of empty entries for game saving appeared. I pressed the Return key to save the game. The game crashed which means it disappeared immediately without any error message.

This is the end of the game log:

-> Load Level : jungle.map successful ! <-

Loaded song file /app/share/hurrican//data/music/JungleBeats.it
Loaded song file /app/share/hurrican//data/music/boss_robofist.it
save games loaded
save games loaded
save games loaded
save games loaded
save games loaded
save games loaded
save games loaded
save games loaded
save games loaded
save games loaded

Hurrican No music => SDL 2.28.4 SDL2_mixer 2.6.3 NULL ptr returned from MUSIC_LoadSong() loading song file

Hello

Description

I'm running Hurrican on an odroid n2+ and I'm getting no music but I have sound_fx when running hurrican. When checking the error log I have this messages

NULL ptr returned from MUSIC_LoadSong() loading song file

Loaded texture bossbar

-> NULL ptr returned from MUSIC_LoadSong() loading song file
./data/music/credits.it

-> NULL ptr returned from MUSIC_LoadSong() loading song file
./data/music/stageclear.it

-> NULL ptr returned from MUSIC_LoadSong() loading song file
./data/music/gameover.it

-> NULL ptr returned from MUSIC_LoadSong() loading song file
./data/music/highscore.it
Loaded texture console

Pls I think is related to not support latest SDL2_mixer version. PLs can you update to support it? thx

Platform

EMUELEC 4.7 (Release Candidate version non public) The platform used is odroid n2+ . Hurrican has been built using Ubuntu 22.04 WSL2 gcc 12.1, cmake 3.27.5, SDL 2.28.4 SDL2_mixer 2.6.3 Emuelec Toolchain for amlogic-ng

I used latest Hurrican commit 18ecb8b

Log Files

Game_Log.txt

Music location.

image

Hurrican is ran from storage/roms/port/hurrican location

thx so much!!!

Using STL

I've been taking a look at the code and I'm asking, why use the "C list" way instead of using STL containers? First example is in GegnerClass. I think it would make the code easier (and shorter?) to maintain using STL.

Configure gamepad on Linux

I tried to install the fantastic Hurrican game on Kubuntu 22.04 via flatpak. The game seems to run fine but I'm unable to configure my game pad (I tried two completely different pads) in a usable way.

I could select all my desired mappings just fine. This includes using the right trigger button (displayed as button 8 in the game settings) as fire button (this mapping is important for me).

The configuration works completely. However whenever I press the selected fire button the game exits to the main menu like when pressing the escape button. It appears to me that the trigger button now has two functions: Fire (as selected by myself) and some pause/exit/escape function (I could not find a way to modify this function).

Is this a bug? Is there a workaround?

BTW In case of keyboard configuration I noticed that I can not select 'x' as a fire button at all. I simply don't get any reaction. I can use virtually any key... except 'x'. Maybe this is connected to the game pad issue?

DisplayLoadInfo slows down loading.

I am currently working on a small level editor for Hurrican.
I noticed that it loads a level within ~0.5 seconds so i tried to find the cause of Hurrican taking so long to load.
Hurrican takes ~8 seconds for me to load on startup, but when i placed an early return at the top of the DisplayLoadInfo
function (Gameplay.cpp:902), this time got cut down to ~1 second. I will maybe try to fix this issue when I have time for the Game again.

[Termux] Linker issue

Well - I don't know if anyone wants to help me :P

Termux is a Linux environment running on Android. I'd like to port the Hurrican game so that I can play the game (potentially) on Android, although it's probably a version mostly for nerds.

Unfortunately, I have a problem with the linker and don't know how to solve it. Maybe I should write to the Termux developers right away, but maybe it can be solved more easily.

https://bin.0xfc.de/?c727d88e0fca4079#7XwFP6JXebQ3AWMPHqPhydVzJyNnHSvg7DTpto6cVrEq

It seems to me that Hurrican uses SDL2 and there should be no problems. If it uses SDL1.2 then there could potentially be problems because (if I'm not mistaken) SDL1.2 is provided by the SDL2 compatibility layer (sdl12-compat).

But maybe someone has a better understanding of C++ code configuration and compilation than I do.

Conflicting licenses

In the root of the repo, the LICENSE file is for the MIT license, however the Hurrican/readme.txt file states:

1.2 Enduser license agreement

This program is freeware and may be used for free by anyone.
All content is copyright by the author (poke53280).
You may not sell this program. It may be freely distributed and offered for download
as long as all original content remains included and unmodified and a reference to the author is given.

For distribution on any data storage medium, a written permission of the author is required.
Please contact [email protected] for further information.

Poke53280 can not be made responsible for any damage that is caused by this installer or the program itself.

These are two conflicting licenses, and what's worse is that the second is not a free software license at all.

CI is broken

CI integration with Travis is broken. CI should probably get moved to GH actions, and the FBO support added by #12 should get build tested, too.

Black screen on Raspberry Pi 4

Hi there again, @drfiemost

Since you did some final touches to the shader effect splitting code yesterday, I have rebuilt latest sources on the Pi4, and now, if I add --crt, -C or any of the CRT effects (like --colorbleed, --scanlines, etc) I get a black screen.

With no CRT effects, the game runs normally.

Suspicious warning when building for GLES

In file included from /mnt/devel/projects/Hurrican/Hurrican/src/SDLPort/SDL_port.hpp:41,
                 from /mnt/devel/projects/Hurrican/Hurrican/src/GegnerClass.hpp:19,
                 from /mnt/devel/projects/Hurrican/Hurrican/src/triggers/Trigger_Spikelift.hpp:4,
                 from /mnt/devel/projects/Hurrican/Hurrican/src/triggers/Trigger_Spikelift.cpp:8:
/mnt/devel/projects/Hurrican/Hurrican/src/SDLPort/opengl.hpp:20: warning: "glClearDepth" redefined
   20 | #define glClearDepth glClearDepthf
      | 
In file included from /usr/include/epoxy/gl.h:89,
                 from /mnt/devel/projects/Hurrican/Hurrican/src/SDLPort/opengl.hpp:4:
/usr/include/epoxy/gl_generated.h:16870: note: this is the location of the previous definition
16870 | #define glClearDepth epoxy_glClearDepth
      | 

Move to SDL3

The SDL3 release is getting near, maybe it's time to consider dropping SDL1 support and move to the new API.

FBO has issues with multi-monitor setups

#12 added back support for building with the FBO option, but there seems to be an issue with multi-monitor setups: The window seems stretched across two monitors but only renders on one.

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.