neuromancer / avp Goto Github PK
View Code? Open in Web Editor NEWAliens vs Predator Linux enhanced with cutscene support and new screen resolutions
License: Other
Aliens vs Predator Linux enhanced with cutscene support and new screen resolutions
License: Other
I can see there's a few people struggling to get this working so I thought I'd post as I've had no trouble getting it to compile.
These instructions relate to Debian Testing so the package names will likely change on a different distribution. You don't have to use a chroot to do this but I prefer not to install lots of development packages on the system proper.
First off I've set up a new chroot with debootstrap:
mkdir mychroot
debootstrap --arch amd64 --variant minbase sid mychroot/ http://deb.debian.org/debian/
Once that's done we can chroot into it and start downloading some packages:
sudo chroot mychroot/
apt install build-essential git cmake cmake-curses-gui libopenal-dev libsdl1.2-dev libavcodec-dev libavformat-dev libavdevice-dev libavfilter-dev libavresample-dev libswscale-dev
cmake-curses-gui is optional; I find it's an easy way of altering cmake build options after using cmake.
Clone the repository somewhere:
git clone https://github.com/neuromancer/avp
Change into the cloned directory:
cd avp
Make a build directory and change into it:
mkdir build; cd build
Configure the project with cmake:
cmake ..
Optionally use the cmake gui to change build options; there's not a lot to alter - it already picks sensible defaults besides SDL2 is completely busted:
ccmake .
Compile:
make
{ or do make -j4
to use four cpu cores }
Even on my old Phenom II 955 the code should compiles very quickly.
Now you need the game data. I use innoextract with GOG's installer:
innoextract -d output setup_avp_classic_20160330_\(2149\).exe
Rename all the files/folders to lower case with the exception of the FMV folder. The final thing should look like this:
https://pastebin.com/Wnmc24nT
You'll need a few packages installed to play the game too i.e: libopenal, libsdl1.2, etc.
If you've already got steam installed you likely have a lot of them already.
To start the game in fullscreen mode use:
./avp -f
Can tell me whose are the functions to the alien movement controller?
Thank you!
the game segfaults with german language with
Thread 1 "avp" received signal SIGSEGV, Segmentation fault.
0x0000555555818e88 in RenderSmallFontString_Wrapped (
textPtr=0x5555564d6362 "cken Sie ENTER, um ein Profil auszuw\344hlen, oder BACKSPACE, um ein Profil zu l\366schen.", area=0x7fffffffe3d0, alpha=65536,
output_x=0x0, output_y=0x0) at /tmp/3/avp/src/menus.c:827
827 if (srcPtr[0] || srcPtr[1] || srcPtr[2]) {
(gdb) where
#0 0x0000555555818e88 in RenderSmallFontString_Wrapped (
textPtr=0x5555564d6362 "cken Sie ENTER, um ein Profil auszuw\344hlen, oder BACKSPACE, um ein Profil zu l\366schen.", area=0x7fffffffe3d0, alpha=65536,
output_x=0x0, output_y=0x0) at /tmp/3/avp/src/menus.c:827
#1 0x00005555557914ee in RenderHelpString () at /tmp/3/avp/src/avp/win95/frontend/avp_menus.c:2099
#2 0x000055555578f072 in AvP_UpdateMenus () at /tmp/3/avp/src/avp/win95/frontend/avp_menus.c:825
#3 0x000055555578eb06 in AvP_MainMenus () at /tmp/3/avp/src/avp/win95/frontend/avp_menus.c:481
#4 0x000055555581e89a in main (argc=1, argv=0x7fffffffe588) at /tmp/3/avp/src/main.c:1259
commenting out /avp/src/avp/win95/frontend/avp_menus.c:2099
workarounds the problem and the game starts fine (doesn't seem to be missing anthing important, but some words are missing umlauts as well)
Fedora 29
cmake 3.12.1
cmake runs fine with cmake -DCMAKE_BUILD_TYPE=Release -DAVP_BUILD_TYPE=DESKTOP ..
but then when I run make it has an issue with the include for libraries that are part of ffmpeg:
$ make
Scanning dependencies of target avp
[ 0%] Building C object CMakeFiles/avp.dir/src/bink.c.o
~/CLionProjects/avp-master/src/bink.c:12:9: note: #pragma message: The includes for these are in ffmpeg
#pragma message("The includes for these are in ffmpeg")
^~~~~~~
~/CLionProjects/avp-master/src/bink.c:13:10: fatal error: libavcodec/avcodec.h: No such file or directory
#include "libavcodec/avcodec.h"
^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/avp.dir/build.make:63: CMakeFiles/avp.dir/src/bink.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/avp.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
but I have them on my system under /usr/include/ffmpeg/
I got this compiled under MacOS Big Sur but couldn't get it to run. Build process was
brew install sdl
brew install sdl2
brew install ffmpeg
brew install cmake
mkdir build
cd build
cmake ..
make
but then got the following when trying to run avp:
Unable to obtain graphics context for NSWindow (Mojave behavior)
I then tried to build with SDL2:
cmake -DSDL_TYPE=SDL2 ..
make
But when running it's very clean the SDL2 port is not close to be finished as the game window doesn't start and only debug output is produced:
glViewport(0, 0, 640, 480)
DEBUG:16384,16384,16384
DEBUG2:1280,960
DEBUG3:1280,960
SetWindowSize(640,480,640,480); 1
0: Color LCD
bounds: 0, 0, 640, 480
desktop: 16362004,1920,1200,60
current: 16362004, 640, 480,60
0: 16362004,3360,2100,60
1: 16362004,2880,1800,60
2: 16362004,2560,1600,60
3: 16362004,2048,1280,60
4: 16362004,1920,1200,60
5: 16362004,1680,1050,60
6: 16362004,1650,1050,60
7: 16362004,1440, 900,60
8: 16362004,1280, 800,60
9: 16362004,1152, 720,60
10: 16362004,1024, 768,60
11: 16362004,1024, 640,60
12: 16362004, 840, 524,60
13: 16362004, 825, 525,60
14: 16362004, 800, 600,60
15: 16362004, 720, 450,60
16: 16362004, 640, 480,60
Window display index: 0
Window display mode: 16362004, 640, 480,60
Window size: 640, 480
Window drawable size: 640, 480
Program Link Log:
WARNING: Could not find vertex shader attribute 'aColor1' to match BindAttributeLocation request.
Program Link Log:
WARNING: Could not find vertex shader attribute 'aTexCoord' to match BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'aColor1' to match BindAttributeLocation request.
Program Link Log:
WARNING: Could not find vertex shader attribute 'aColor1' to match BindAttributeLocation request.
Program Link Log:
WARNING: Could not find vertex shader attribute 'aColor1' to match BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'aColor0' to match BindAttributeLocation request.
SetWindowSize(640,480,640,480); 1
0: Color LCD
bounds: 0, 0, 640, 480
desktop: 16362004,1920,1200,60
current: 16362004, 640, 480,60
0: 16362004,3360,2100,60
1: 16362004,2880,1800,60
2: 16362004,2560,1600,60
3: 16362004,2048,1280,60
4: 16362004,1920,1200,60
5: 16362004,1680,1050,60
6: 16362004,1650,1050,60
7: 16362004,1440, 900,60
8: 16362004,1280, 800,60
9: 16362004,1152, 720,60
10: 16362004,1024, 768,60
11: 16362004,1024, 640,60
12: 16362004, 840, 524,60
13: 16362004, 825, 525,60
14: 16362004, 800, 600,60
15: 16362004, 720, 450,60
16: 16362004, 640, 480,60
Window display index: 0
Window display mode: 16362004, 640, 480,60
Window size: 640, 480
Window drawable size: 640, 480
Is anyone still working on the SDL2 port or know any other way to get the game going on newer MacOS versions?
just build from git.
Calculate linux 17.12.2
test@test ~/game/aliensvspredator $ ./avp
segmentation fault
file dx_error.log
dx_line_log: /home/test/build/game/avp/src/avp/win95/ffstdio.cpp/140
dx_strf_log: Loaded FastFile: fastfile/Tex37.FFL
(for directory: graphics\Menus)
dx_line_log: /home/test/build/game/avp/src/avp/win95/ffstdio.cpp/140
dx_strf_log: Loaded FastFile: fastfile/Tex1.FFL
(for directory: Graphics\Common)
try change Tex1.FFL and Tex37.FFL to eng version, no luck.
my original md5 without changes
https://paste.ubuntu.com/p/3xTj8xyx2J/
$ gcc --version
gcc (GCC) 10.2.1 20200723 (Red Hat 10.2.1-1)
$ make -j128
/usr/bin/ld: CMakeFiles/avp.dir/src/opengl.c.o:(.bss+0x1703c): multiple definition of `WaterFallBase'; CMakeFiles/avp.dir/src/stubs.c.o:(.bss+0x10): first defined here
collect2: error: ld returned 1 exit status
GCC 10 now enforces:
GCC now defaults to -fno-common. As a result, global variable accesses are more efficient on various targets. In C, global variables with multiple tentative definitions now result in linker errors. With -fcommon such definitions are silently merged during linking.
Example on how to address this GCC10 issue: gbdev/rgbds#504
cc @neuromancer
Hi,
I managed to compile it and get it up and running on Linux, using the data files from the GOG release.
Everything appears to work fine, except that I'm unable to configure any keys.
As soon as I select a control I want to modify (by pressing ENTER), the bound key is cleared and 'confirmed', leaving me unable to specify the key I want to use. The default controls are unworkable for me and AFAIK the controls are stored in a binary format, so I can't edit them there either.
Is this a known issue, and can I fix it?
Regards
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.