Ups, nun funktioniert meine Entity trage Funktion nicht mehr. Hat das auch mit dem Pointer zu tun? Wenn das aktiv ist, spielt meine Steuerung verückt. Wie deaktiviert man das eigentlich im Spiel wieder? Ich lass mal die Deklarierungen dran, auch wenns bissel unübersichtlicher wird.
Code:
void grabObjects() {

	ENTITY* entTemp = NULL;

	while(1) {
		// Solange wir die linke Maustaste gedrückt haben, wollen wir Objekte
		// tragen
		if (mouse_left) {

			// Wenn wir bereits ein Objekt halten, aktualisiere dessen
			// Position
			if (entTemp != NULL) {
				vec_set(entTemp.x, vector(
						100*cos(camera.pan)+player.x,
						100*sin(camera.pan)+player.y,
						player.z+20)
				);

				vec_set(entTemp.pan, camera.pan);

			// Wenn wir noch kein Objekt halten...
			} else {

				// ... Aber sich unter unserem Fadenkreuz eines befindet,
				// dann nehmen wir es uns und lösen es zum Tragen von
				// der Physikengine.
				if (mouse_ent != NULL) {
					entTemp = mouse_ent;
					set(entTemp, TRANSLUCENT);
					pXent_settype(entTemp, 0, 0);
				}
			} 

		// Wenn wir die linke Maustaste nicht (mehr) drücken und ein Objekt
		// in den Händen halten dann lassen wir es fallen und machen es
		// wieder zu einem Physikobjekt.
		} else {
			if (entTemp != NULL) {
				reset(entTemp, TRANSLUCENT);
				pXent_settype(entTemp,PH_RIGID, PH_BOX);
				entTemp = NULL;
			}
		}	
			
		wait(1);
	}
}