Planned features from the MorphOS version in the Linux/Mac port of AvP


#1

Hi

I was checking this file, and I was wondering if you are planning to add some specific features from version for MorphOS to your project.
Is it possible?

"* = finished

  • = not finished

Bugs:
* Make savegames work.

* AHI shutdown issue

* buttons for opening doors do not work 
	* ObjectID should never be byteswapped (md5_buffer should though)

* Crash : seems gfx related
	* gluBuild2DMipmaps in TinyGL seem unstable or I am using it wrong.
	  Problem seem to be gone now that I am using my own code to generate mipmaps.

- Flickering background on loading screens

Compatability:
* Proper Morphos/AmigaOS name and version string embedded in the exe

* byteswapping macros should only be doing something when building for PPC targets (in case you would want to build this on x86)

* Make sure that it works with both the old "Gold Edition" and the latest "Classic2000" from Steam.

* Test if it works works with "Aliens vs Predator Classic Redux" hi-res mod
	* IT LOOKS F*CKING AWESOME!
	- look into fixing the crash when using modded avp_huds/marweap.rif (it crashes PC version of GoldEd as well)
		(marine hud is messed up without loading this rif file so it needs a fix or a mod of the mod)
		(texturesize limit is useful when running this mod, especially for gfx cards with little VRAM)

* Texture rescaling (useful for AvP Redux mod, original game is max 256x256 anyways)
	- expose to graphics options menu
	- honor texture size limitation of gfxcard

- Make it build and run on AmigaOS4
	- need to buy an AmigaOS4 computer - Sam440/460 with Radeon 9200?

- Networked play need complete implementation. Prefferably compatible with Classic 2000 version.

Performance:
* Double check that culling is properly working and not still disabled from earlier debugging.

* Disable software clipping of partially-inside triangles, it is likely to be faster to just render them as-is.

* Generate and use mipmaps

* Support creating 16bit texture instead of always converting to 32bit
	- Add a "medium" setting for 16bit + 32bit alpha textures

- Add performance timers and a simple profiler to find bottlenecks

- Optimize OpenGL renderer in general

Polish:

* Better message when missing data files
	* Option to install game data files from any location
	- Add a nice picture on the first installation message window
	- Option to rip Audio CD2 to .ogg or .bnk audio files

* get rid of logfile spamming

* Add "sourcepackage" target to Makefile

* Create Aminet readme files

* Make sure the command shell never shows up when running the game from Workbench

* auto grab mouse on startup 

* remove annoying keyboard debounce delay when operating the audio volume sliders in menus

* modernize inputs
	* make default keybindings similar to modern shooters
	- add reload-ammo action and keybind for Marine
	
* FMV playback
	* build and link the game with libavcodec from ffmpeg
	* streamline build rules to make libs that only include what avp needs for playing bink, smacker and ogg.
	* get rid of log output from libav
	* implement out-of-game fmv sequences (cutscenes+menu background)
		* video
		* audio
	* implement ingame videoscreen fmv sequences
		* video
		* audio

* Music playback
	* Classic2000 - bink audio playback
	* Add menu+profile option to disable music
	* Music volume controllable from menu option
	* Test that it works ok without the music files
	- Gold Edition - ogg vorbis playback
		- installer should be able to rip the music from AudioCD2

- Graphics:
	* Remake video settings menu
		* Add Texture quality option (32/16bpp)
		* Add Mipmap option
		* Add Fullscreen/windowed option
	- Enumerate video modes instead of hardcoded list
	- save resolution as width/height instead of an index to the resolution list
	- properly support widescreen resolutions (horizontal FOV change - beware the clipper)
	- get rid of frontend software rasterizer and replace with OpenGL.
		(frontend would no longer be locked to 640x480x16bpp)
		(gets rid of unprofessional looking mode-switch between frontend and game)
		(a good compromise would be to let the frontend just draw to an opengl texture)

- Adjust ingame credits on loadtime to add linux+aros+openal+morphos etc. credits.

- Get rid of SDL dependencies, it is only used for window/input/menu drawing
	- window/input message loop -> native
	- menu drawing -> rasterize to opengl texture

- MUI launcher for changing settings ahead of time"

http://aminet.net/package/game/shoot/avp.ppc-morphos


#2

Hi everyone! After a week, I have mixed some code from avp-morphos with avp-linux. Now we have:

  • Logos intro
  • Menu music
  • Intro/outro videos
  • Music ingame
  • Sound messages ingame
  • Fixed key configuration when compiling SDL2
    I’m not professional developer, I have did than I have could and now I need help to improve music quality, i don’t know anything about avcodec_decode_audio4, AV_SAMPLE_FMT_FLT, buffers, … but perhaps someone read this can. :slight_smile:
    I have uploaded to this 7z only files I needed change from original icculus.org avp-20150214.tar.gz. I hope you find it useful.