Giter Site home page Giter Site logo

avp's People

Contributors

jetomit avatar neuromancer 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

avp's Issues

RE: Compiling the game

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

alien movement code

Can tell me whose are the functions to the alien movement controller?
Thank you!

segfaults on start - probably umlauts related

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)

can't build on fedora

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/

MacOS support?

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?

can't run

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/

Failed to compile with GCC 10

$ 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

Unable to configure keys

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

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.