Running ioQuake3 Without Quake

Seems a little antithetical, anyway, I’d like to buy quake eventually, but I just bought Dusk and Ion Fury, and I feel I should exercise some frugality by playing through those games at least once before buying another game. That shit adds up.

Anyway, I’d like to get into the modding scene and just get ioq3 running with open source software and assets for now, to get a feel for how the engine works, tweak things here and there, build a few maps, you know. I think I may eventually end up using it as the basis for a standalone, idk, but that would be neat. What do I have to do to play with ioq3 without the proprietary software and assets?

Edit

Ha, almost deleted the topic.

Edit Edit

What does this scary and quite possibly very related error mean and what do it ah!

 INSERT  23:56:53  make BUILD_STANDALONE=1                                  ✔ 4.72 Dur
make[1]: Entering directory '/usr/local/dev/ioquake3/ioq3'

Building in build/release-linux-x86_64:
  PLATFORM: linux
  ARCH: x86_64
  VERSION: 1.36_GIT_daae32dd-2019-11-17
  COMPILE_PLATFORM: linux
  COMPILE_ARCH: x86_64
  HAVE_VM_COMPILED: true
  PKG_CONFIG: pkg-config
  CC: cc

  CFLAGS:
    -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes -pipe -DUSE_ICON
    -DARCH_STRING="x86_64" -DNO_GZIP -Icode/zlib -DUSE_INTERNAL_JPEG -Icode/jpeg-8c
    -DUSE_LOCAL_HEADERS -DSTANDALONE -DPRODUCT_VERSION="1.36_GIT_daae32dd-2019-11-17"
    -Wformat=2 -Wno-format-zero-length -Wformat-security -Wno-format-nonliteral
    -Wstrict-aliasing=2 -Wmissing-format-attribute -Wdisabled-optimization
    -Werror-implicit-function-declaration -MMD -DNDEBUG -O3 -ffast-math

  CLIENT_CFLAGS:
    -I/usr/include/SDL2 -D_REENTRANT -DUSE_OPENAL -DUSE_OPENAL_DLOPEN -DUSE_CURL
    -DUSE_CURL_DLOPEN -DUSE_VOIP -DUSE_CODEC_OPUS -DOPUS_BUILD -DHAVE_LRINTF
    -DFLOATING_POINT -DFLOAT_APPROX -DUSE_ALLOCA -Icode/opus-1.2.1/include
    -Icode/opus-1.2.1/celt -Icode/opus-1.2.1/silk -Icode/opus-1.2.1/silk/float
    -Icode/opusfile-0.9/include -DUSE_CODEC_VORBIS -Icode/libvorbis-1.3.6/include
    -Icode/libvorbis-1.3.6/lib -Icode/libogg-1.3.3/include -DUSE_RENDERER_DLOPEN
    -DUSE_MUMBLE

  SERVER_CFLAGS:
    -DUSE_VOIP

  LDFLAGS:


  LIBS:
    -ldl -lm

  CLIENT_LIBS:
    -pthread -lSDL2 -lrt

  AUTOUPDATER_LIBS:
    -ldl

  Output:
    ioq3ded.x86_64
    ioquake3.x86_64
    renderer_opengl1_x86_64.so
    renderer_opengl2_x86_64.so
    baseq3/cgamex86_64.so
    baseq3/qagamex86_64.so
    baseq3/uix86_64.so
    missionpack/cgamex86_64.so
    missionpack/qagamex86_64.so
    missionpack/uix86_64.so
    baseq3/vm/cgame.qvm
    baseq3/vm/qagame.qvm
    baseq3/vm/ui.qvm
    missionpack/vm/cgame.qvm
    missionpack/vm/qagame.qvm
    missionpack/vm/ui.qvm

(Here comes the scary bit)

make[2]: Entering directory '/usr/local/dev/ioquake3/ioq3'
DED_CC code/qcommon/common.c
LD build/release-linux-x86_64/ioq3ded.x86_64
/usr/bin/ld: build/release-linux-x86_64/ded/sv_client.o: in function `SV_GetChallenge':
sv_client.c:(.text+0xf9e): undefined reference to `com_legacyprotocol'
/usr/bin/ld: build/release-linux-x86_64/ded/sv_client.o: in function `SV_DirectConnect':
sv_client.c:(.text+0x298a): undefined reference to `com_legacyprotocol'
/usr/bin/ld: build/release-linux-x86_64/ded/sv_main.o: in function `SVC_Info':
sv_main.c:(.text+0x16d2): undefined reference to `com_legacyprotocol'
/usr/bin/ld: build/release-linux-x86_64/ded/files.o: in function `FS_IsDemoExt':
files.c:(.text+0x3109): undefined reference to `com_legacyprotocol'
/usr/bin/ld: build/release-linux-x86_64/ded/files.o: in function `FS_Startup':
files.c:(.text+0x7f48): undefined reference to `Com_ReadCDKey'
/usr/bin/ld: files.c:(.text+0x7f61): undefined reference to `Com_AppendCDKey'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:2358: build/release-linux-x86_64/ioq3ded.x86_64] Error 1
make[2]: Leaving directory '/usr/local/dev/ioquake3/ioq3'
make[1]: *** [Makefile:1400: targets] Error 2
make[1]: Leaving directory '/usr/local/dev/ioquake3/ioq3'
make: *** [Makefile:1316: release] Error 2

I apologize for my weird english btw it’s just after midnight here and I’ve already had like 3 Monster energy drinks already and I really shouldn’t be doing this to myself oh gad what have I gotten myself into I’m shaking more than the titular character, and my framerate welp, you buy the ticket, you take the ride at least it wasn’t Red Bull.

Okay! I didn’t uncover the secret behind the big scary error I encountered which I’m sure I’ll have to deal with later, but I did find out how to run OpenArena 0.8.8 in ioquake3, so I’m satisfied for now!

What I did:

Looking forward diving deeper on another day.

Errors aren’t scary, just annoying and energy drink are bad for people.

Looks like the wrong compiler, should be gcc instead of cc, CD Key isn’t supposed to be in the DEDICATED build because of all the #ifdef compiler scripts. I would start with rereading the requirements instructions, but I’m not building for Linux currently.

Apt-get install build-essentials

cc is the default C compiler (hence cc) name on Unix-like systems. It’s usually a symbolic link to gcc (GNU C Compiler) on GNU/Linux distros. [not a problem]

Com_ReadCDKey has Com prefix which means common to client and server (and possibly VMs). [not a problem]

Rather it looks like a part was built as standalone and part was not. A make clean && make BUILD_STANDALONE=1 (or 0) would probably fix it.