Game Development Community

Compiling problems TGE 1.5

by Anders Jacobsen · in Torque Game Engine · 12/21/2006 (9:04 am) · 5 replies

Problems compiling on Linux, Gentoo + GCC 4.1.1

Pointers needed.

Compile log provided here

#1
12/21/2006 (12:32 pm)
Try changing line 37 of optimizedPolyList.h from:

Poly::Poly() { plane = -1; vertexCount = 0; material = -1; };

To:

[b]Poly[/b]() { plane = -1; vertexCount = 0; material = -1; };

Let me know if this helps so I can check the change into the 1.5 repo.
#2
12/21/2006 (3:31 pm)
I was having the same problem, and removing the "Poly::" fixed it. I also had to remove "Knot::" from lines 40-42 on engine/game/cameraSpline.h.
#3
12/21/2006 (3:50 pm)
Cool, thanks for pointing those out too. I checked in the changes, these should go out with the next code drop.
#4
12/22/2006 (12:23 am)
Okay, two more things that make compilation fail:

lib/xiph/linux/checklinks.sh needs to be executable. The .zip doesn't preserve the executable bit, so a quick workaround would be on line 579 of engine/targets.torque.mk:
/bin/bash ${CHECK_LINK_FILE}

Aaaand, compilation fails on Ubuntu Edgy because Torque uses X11_KeyToUnicode, an unpublished SDL function. It seems to work with edits starting at line 53 in engine/platformX86UNIX/x86UNIXInputManager.cc:

static void MapKey(Uint16 SDLkey, U8 tkey, KeySym xkeysym)
{
   DisplayPtrManager xdisplay;
   Display* display = xdisplay.getDisplayPointer();

   SDLtoTKeyMap[SDLkey] = tkey;

   SDLMod mod = SDL_GetModState();
   Uint16 key = 0;
   SDLKey skey = (SDLKey)SDLkey;
   // lower case
   key = (mod==KMOD_NONE)?SDLkey:0;
   AsciiTable[tkey].lower.ascii = key;
   // upper case
   key = (mod & KMOD_SHIFT)?SDLkey-32:0;
   AsciiTable[tkey].upper.ascii = key;
   // goofy (i18n) case
   key = (mod==KMOD_MODE)?SDLkey+63:0;
   AsciiTable[tkey].goofy.ascii = key;

#if 0

Even though the new version of libsdl allows that unpublished function to be called, this way won't leave Edgy Eft users out in the cold. Just a recommendation, the MapKey function is confusing to me, so I may have neutered its functionality.