The commercial game Halloween (FPS) for Linux is now the open source project


I tried to build this game on the 64-bit version of Ubuntu 20.4, so I don't know why I have difficulties with the bass library. I know that Ubuntu and Mint are very similar to each other.
Try to use -fuse-ld=gold as i searched on the web for this kind of linking error...maybe could work.
 
@Farox

Thank you.

I added it to the build file, and I don't see this error anymore. I think that you left the compiled version of files in the distrib directory of your archive file.


Distrib - error.txt

 
I think that you left the compiled version of files in the distrib directory of your archive file
Yes i added my compiled file to the archive for you to test.
You are now able to compile the game with the change that i suggested? i think not ...looking at this statement:
g++: error: ../Hallow999: No such file or directory
If it build fine...ok...otherwise let me know and please post the content of the "build" file, maybe you have done a little mistake.

And please use the spoiler to add long lines of text :)
 
Yes i added my compiled file to the archive for you to test.
You are now able to compile the game with the change that i suggested? i think not ...looking at this statement:

If it build fine...ok...otherwise let me know and please post the content of the "build" file, maybe you have done a little mistake.

And please use the spoiler to add long lines of text :)

Thank you. I tried your file in the directory with the Windows version of this game, and it's probably the same issue as you have on Mint:


I'm sorry.
I didn't know that Hallow999 should be in the main directory, but it compiles even if see some warnings about the libbass library. However, the size of the file is different: 898,2 kB than in your version 889,8 kB. I have the same issue when I try to use it to run Halloween.
I tried yo build it without any parameters.


I tried to put -fuse-ld=gold only for the gcc, and it builds hallow 999 with warnings about libbass:

Hallow999 - 898,2 kB

gcc -Wno-write-strings -Wno-endif-labels -I/usr/include/SDL/ -I/usr/include -c -fuse-ld=gold alloween.cpp loadjpeg_linux.cpp bspfile.cpp...


I tried to put -fuse-ld=gold only for the g++, and it doesn't build hallow 999:

g++ -L/usr/X11R6/lib/ -o -fuse-ld=gold ../Hallow999 alloween.o...


Do you plan to prepare pull requests for brizzly to review them?
 
Last edited:
gcc -Wno-write-strings -Wno-endif-labels -I/usr/include/SDL/ -I/usr/include -c -fuse-ld=gold alloween.cpp loadjpeg_linux.cpp bspfile.cpp...
Try with :
gcc -Wno-write-strings -Wno-endif-labels -fuse-ld=gold -I/usr/include/SDL/ -I/usr/include -c alloween.cpp loadjpeg_linux.cpp bspfile.cpp...

g++ -L/usr/X11R6/lib/ -o -fuse-ld=gold ../Hallow999 alloween.o...
and
g++ -fuse-ld=gold -L/usr/X11R6/lib/ -o ../Hallow999 alloween.o...

Do you plan to prepare pull requests for brizzly to review them?
no sorry don't have time for this...if you want feel free to submit.
Post automatically merged:

However, the size of the file is different: 898,2 kB than in your version 889,8 kB.
This is probably because i use a different version of GCC...(i'm using an old GCC 7.5 if i remember)
 
Maybe, I will ask him first if he will be interested to add these changes.

Ok. I don't see any issue about the libbass library.

I made these changes in both places, and it builds the file Hallow999, but this file is much smaller now - 893,2 kB. It's probably because at the end I see false:

 
Maybe, I will ask him first if he will be interested to add these changes.
remember that my changes to the code are not complete...remain to fix the input (look at input.cpp and menu.cpp where i disabled some portion of the code for linux).
It's probably because at the end I see false:
no this is perfectly normal...this is the line of code reported for reference for you to check the warning...
I made these changes in both places
i have only made this change only on g++ line as i think is there the linking fase (the gcc part is compiling only the code).
 
Ok, we have the answer from brizzly, and I had to correct that you modify this source code:

"This is fantastic and also very interesting !!!!
Thank you for your effort, on my old project.
I'm 100% ok for merging your changes. let me know how to do it please?
I guess the error is about loading PNG asset image but it should be tested more carefuly."

 
feel free to send the files to him...best would be you create a pull request (load the changed files to your git and then send him a pull request with modified files)...i'm not an expert on git.
 
feel free to send the files to him...best would be you create a pull request (load the changed files to your git and then send him a pull request with modified files)...i'm not an expert on git.

Thank you.

Your changes are now the part of Halloween on GitHub, and I'm so happy that Halloween could be build on Linux x86-64.
 
Great.
Hope that Brizzly could fix the game so we could run properly on Win/Mac/Linux...and then on Pandora and Pyra!
 
Well, it works properly on Windows and Mac.

Brizzly probably will start to work on the Linux version again, which is good news.

"Interesting
It seems a great lib
Maybe texture copy fails
I will have a look at it in 3 months as soon as I get a new computer"


@Farox

Do you think that the Linux version requires a package like libsoil-dev to load the tga images?

I installed it, but it didn't fix this issue:

"SOIL is a tiny C library used primarily for uploading textures into OpenGL.
It supports loading BMP, PNG, JPG, TGA, DDS, PSD and HDR files as well as
saving into TGA, BMP and DDS Files.

It is also able to perform common functions needed in loading OpenGL textures.

This package contains everything needed to develop software using libsoil."
 
I installed it, but it didn't fix this issue:
Well installing a library into a system didn't magically make use of it....you must modify the code to use it. :)

I didn't know Soil lib but i think if the original game load TGA files without it...maybe we don't need it...we must find why the original code didn't work.
If you have time try to use a debugger...to see where the code fails.
 
Reading symbols from ./Hallow999...
(No debugging symbols found in ./Hallow999)
this is not correct the symbols are not present into the executable.... try adding -g -ggdb after gcc
so:
gcc -g -ggdb .....
and now you have an exe that is around 1,7Mb (in my compiler)
 
Thanks to gdb i found that the loading of TGA files are failing at opengl.cpp line 1044
where is this
"gluBuild2DMipmaps(GL_TEXTURE_2D, scolor_format1, w, h, scolor_format2, sformat, surf);"
comment this line and enable the next
glTexImage2D( GL_TEXTURE_2D,0, scolor_format1, w, h, 0, scolor_format2, sformat, surf );
and the TGA load is done ok.

Next obstacle is now ...mp3 loading

the game seem blocked at :
ds_LoadStreamWave system/music/pres_1.mp3
 
Ok it seems that Bass library is not initialized correctly....need to look at it...if someone more expert want to take a look...
 
Thank you for the answer.

I build the file Hallow999, which is now 1,6 MB
I noticed that one the tga file is missing, and the second is in a different format.

Do you have the same issue with it?


Maybe, users from the un4seen forum can help us with the bass library.
 
Do you have the same issue with it?
Yes. Maybe brizzly could tell us more about it.

Anyway i have found why the game doesn't load the audio files...simply the function to enable audio (and video...) is disabled on the linux source.

Take a look at "halloween_linux.cpp" in the lines 813-819 the call of function sys_setVID is disabled...enabling it the sound is partially working (BEWARE on my linux box the volume is TOO High and distorted...take cares of your ears if you try).
So if you want to try... enable this lines of code:

Code:
if(!sys_setVID())
    {
        m_ConsPrint("Failed to set the video mode\n");
        goto ending;
    }
It now load the sound files (many are missing...another thing to ask @brizzly).
BUT the screen is totally black...we need to investigate more.

Hope to find some more time...but maybe not tomorrow.
 
Thank you for the answer.

I asked Brizzly about missing TGA files, and I hope we will get the answer.

I made changes in halloween_linux.cpp, and the game starts with the black screen in the window mode. I can hear the music, which is distorted. It is so awesome that the music is playing in Halloween!

I have to check if the missing wav files aren't a part of the Windows version of Halloween:

 
Back
Top