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


Farox

Certified Guru
Joined
Jan 8, 2009
Messages
2,277
Age
54
Location
Italy
Website
rbnet.it
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.
 

gbudny

Still Fresh
Joined
Oct 16, 2021
Messages
48
@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

 

Farox

Certified Guru
Joined
Jan 8, 2009
Messages
2,277
Age
54
Location
Italy
Website
rbnet.it
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 :)
 

gbudny

Still Fresh
Joined
Oct 16, 2021
Messages
48
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:

Farox

Certified Guru
Joined
Jan 8, 2009
Messages
2,277
Age
54
Location
Italy
Website
rbnet.it
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)
 

gbudny

Still Fresh
Joined
Oct 16, 2021
Messages
48
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:

 

Farox

Certified Guru
Joined
Jan 8, 2009
Messages
2,277
Age
54
Location
Italy
Website
rbnet.it
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).
 

gbudny

Still Fresh
Joined
Oct 16, 2021
Messages
48
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."

 

Farox

Certified Guru
Joined
Jan 8, 2009
Messages
2,277
Age
54
Location
Italy
Website
rbnet.it
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.
 

gbudny

Still Fresh
Joined
Oct 16, 2021
Messages
48
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.
 

Farox

Certified Guru
Joined
Jan 8, 2009
Messages
2,277
Age
54
Location
Italy
Website
rbnet.it
Great.
Hope that Brizzly could fix the game so we could run properly on Win/Mac/Linux...and then on Pandora and Pyra!
 

gbudny

Still Fresh
Joined
Oct 16, 2021
Messages
48
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."
 

Farox

Certified Guru
Joined
Jan 8, 2009
Messages
2,277
Age
54
Location
Italy
Website
rbnet.it
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.
 

Farox

Certified Guru
Joined
Jan 8, 2009
Messages
2,277
Age
54
Location
Italy
Website
rbnet.it
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)
 

Farox

Certified Guru
Joined
Jan 8, 2009
Messages
2,277
Age
54
Location
Italy
Website
rbnet.it
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
 

Farox

Certified Guru
Joined
Jan 8, 2009
Messages
2,277
Age
54
Location
Italy
Website
rbnet.it
Ok it seems that Bass library is not initialized correctly....need to look at it...if someone more expert want to take a look...
 

gbudny

Still Fresh
Joined
Oct 16, 2021
Messages
48
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.
 

Farox

Certified Guru
Joined
Jan 8, 2009
Messages
2,277
Age
54
Location
Italy
Website
rbnet.it
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.
 

gbudny

Still Fresh
Joined
Oct 16, 2021
Messages
48
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:

 
Top