Pages: [1]
  Print  
Author Topic: Setting up compiled openarena  (Read 14367 times)
lambdacalculus
Nub


Cakes 0
Posts: 4


« on: July 02, 2016, 12:29:52 AM »

Hello everyone, I am new to openarena. I was able to compile openarena engine and gamecode on Ubuntu from the latest git repos. Separately I have successfully test-played openarena using "apt-get install openarena". I want to modify the gamecode source to try out some ideas.

For this I tried to replicate the setup of the apt-get-installed openarena within the version I compiled from source. This is where I have run into trouble. The game launches successfully, the pk3 files are read. When I select single player -> any map -> fight, the game attempts to start but dies with the following last messages:

/home/tushark/experiments/MVSRT/openarena/engine/build/release-linux-x86_64//baseoa/pak2-players.pk3 (669 files)
/home/tushark/experiments/MVSRT/openarena/engine/build/release-linux-x86_64//baseoa/pak2-players-mature.pk3 (231 files)
/home/tushark/experiments/MVSRT/openarena/engine/build/release-linux-x86_64//baseoa/pak1-maps.pk3 (100 files)
/home/tushark/experiments/MVSRT/openarena/engine/build/release-linux-x86_64//baseoa/pak0.pk3 (1042 files)

----------------------
5803 files in pk3 files
RE_Shutdown( 1 )
OpenAL capture device closed.
-----------------------
----- Server Shutdown (Server fatal crashed: VM_Create on UI failed) -----
==== ShutdownGame ====
AAS shutdown.
---------------------------
VM_Create on UI failed


Here is what I tried.
1. I copied the .pk3 files from /usr/share/games/openarena/baseoa to $MYBUILD/engine/build/release-linux-x86_64/baseoa/
2. I copied cgamex86_64.so, qagamex86_64.so and uix86_64.so from $MYBUILD/gamecode/build/release-linux-x86_64/missionpack to $MYBUILD/engine/build/release-linux-x86_64/missionpack/
3. I copied the /usr/games/openarena script and modified its IOQ3BINARY and ENGINE variables to point to $MYBUILD/engine/build/release-linux-x86_64/openarena.x86_64. I used this modified script to pass the CVARS needed to launch the compiled openarena.

I'd be grateful if someone could point out what else is needed, or could point me to standard instructions for setting up a fully working openarena game from compiled sources. I did look around, but apologies if I missed any forum post that covered this already.

Thanks!
Logged
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #1 on: July 02, 2016, 12:48:05 AM »

You should download the official release from http://www.openarena.ws/download.php to get the right pk3-files. The ones in Debian are modified to not use the q3vm and requires a specially patched engine.
Logged

There are nothing offending in my posts.
fromhell
Administrator
GET A LIFE!
**********

Cakes 35
Posts: 14520



WWW
« Reply #2 on: July 02, 2016, 03:26:15 AM »

Debian wants mod support broken? Sad
Logged

asking when OA3 will be done won't get OA3 done.
Progress of OA3 currently occurs behind closed doors alone

I do not provide technical support either.

new code development on github
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #3 on: July 02, 2016, 03:40:27 AM »

Debian wants mod support broken? Sad
Mod support does still work. The Debian version still has the q3vm. But the 0.8.1, 0.8.5 and 0.8.8 vm-files has all been replaced by compiled so-files because the lcc-compiler that compiles VM-files is not free enough for Debian (it does not allow derivatives there lcc is a major part of the product). For mods the qvm files will still be used. The Debian version also contains some patches to the pure check.
Logged

There are nothing offending in my posts.
lambdacalculus
Nub


Cakes 0
Posts: 4


« Reply #4 on: July 02, 2016, 03:42:09 AM »

The pk3 files from the download fixed it! Thanks very much.
Logged
lambdacalculus
Nub


Cakes 0
Posts: 4


« Reply #5 on: July 11, 2016, 02:23:15 AM »

I tried following the instructions at http://wiki.ioquake3.org/Hello,_Qworld for my first mod (modifies code/game/g_missile.c). In the process I noticed that some subdirectories like code/game, code/cgame are not even being built. I am building on Ubuntu.

Next, I tried building as "make BUILD_GAME_SO=1 BUILD_BASEGAME=1". This built code/game and created some .so's, but the changes to g_missile.c logic were not picked up in the game.

I also tried building with "BUILD_GAME_QVM=1 BUILD_BASEGAME=1", but this produced multiple definition error messages.
"baseoa/qcommon/q_math.asm:7355 Multiple definitions for vresWidth"

I have the following questions.
1. I have placed the .pk3 files from http://www.openarena.ws/download.php in the baseoa/ build directory. This allows the game to launch successfully. Do these .pk3 files already contain the logic for game, cgame, ui, etc? Is this why the new .so files are not loaded?

2. What is the recommended procedure for the cgamex86_64.so, qagamex86_64.so and uix86_64.so files to be picked up by the launched game? Do these have to packaged as .qvm's or replace one of the pk3 files? Mainly I need the changes I make to the code/game/ logic to show up in the gameplay.
Logged
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #6 on: July 11, 2016, 03:20:36 AM »

Be aware that the gamelogic and engine is split in OpenArena. It sounds like you have the engine source. You want this: https://github.com/OpenArena/gamecode to create game logic changes.

You should not use the so-files. They are used for debugging and error reporting. They are ignored by the game by default unless in developer mode.

You should use the QVM files from "build/release-*/baseoa/vm/". They need to go inside a pk3-file.

The script "linux_scripts/supermake" is my script for compiling, packing into a pk3 file, install the pk3-file and start the game with the pk3 files loaded.
This setup allows you to just delete the "build" directory if you want to start over.
Logged

There are nothing offending in my posts.
Pages: [1]
  Print  
 
Jump to: