Urban Terror Forums: [SOLVED] Demos Refuse to Play - Urban Terror Forums

Jump to content

 Login | Register 
Advertisement
Page 1 of 1
  • You cannot start a new topic
  • This topic is locked

[SOLVED] Demos Refuse to Play Rate Topic: -----

Including the in-game tutorial

#1 User is offline   gerowen Icon

  • Account: gerowen
  • Joined: 14-November 11
  • Posts: 1

Posted 14 November 2011 - 01:55 AM

So I'm running a completely stock URT install for Linux. I downloaded the zip, extracted it, and run the game using the ioUrbanTerror.x86_64 file. The game runs just fine, I was able to tweak the graphics settings using the in-game menu and I'm even able to record demos using the console or F12 in-game, and I get no error messages. When I go to the "demos" menu item though and try to play one back, including the "tutorial" one that is included with the game, I get a message telling me that they can't be opened. Here's a copy of the output I get when running the game from the terminal and trying to play back a demo.

Terminal Output(expires 2011-11-17 00:58:11)

I also play OpenArena, I know that for demos to record sound in that game I had to disable OpenAL in the game config, but the demos would still record and play just fine, they just wouldn't grab sound, so I'm not sure what about URT is stopping them from playing altogether. Here's my system info.

OS: Debian Linux 6 (64bit)
Graphics Card: ATI Radeon 3100 (256 MB VRAM) Using Proprietary Drivers

I'm in the process of re-downloading the game now just in case, for whatever reason, something got fudged up in the original download.

#2 User is offline   gerowen Icon

  • Account: gerowen
  • Joined: 14-November 11
  • Posts: 1

Posted 14 November 2011 - 03:16 AM

So I re-downloaded the game, deleted the old UrbanTerror folder, deleted the .q3a folder from my home folder and extracted the freshly downloaded .zip file so the game was like a fresh install. Launched the game, and upon initial startup if I click the "Tutorial" button, the tutorial demo plays just fine. I entered my player name, then went directly to the "demos" menu and clicked on "Tutorial" and I got the same error message telling me that the file couldn't be opened. So it does not appear that I had a corrupted download. Other than playing demos the game runs just fine.

I've also tried launching the game using both the 32 bit and 64 bit *nix binaries, and both of those seem to function just fine, but demos won't play back regardless.

This post has been edited by gerowen: 14 November 2011 - 03:17 AM


#3 User is offline   gerowen Icon

  • Account: gerowen
  • Joined: 14-November 11
  • Posts: 1

Posted 14 November 2011 - 03:23 AM

Solved the problem.

Linux, unlike Windows, is case sensitive when it comes to filenames. For example, tutorial.dm_68 is seen as a different file than TUTORIAL.dm_68, and they can both be in the same folder together without issues. By default, Urban Terror saves demos with a lower-case filename, however the game looks for filenames saved in upper-case. Renaming the tutorial demo to all upper-case restored my ability to replay demos using the in-game menu. I will test this with some self-made demos just to make sure.

#4 User is offline   gerowen Icon

  • Account: gerowen
  • Joined: 14-November 11
  • Posts: 1

Posted 14 November 2011 - 03:38 AM

This reply is just to confirm that after testing with some self-made demos, the problem is caused by the case sensitivity of *nix systems. If you record your demos using the console with:


/record FILENAME



It will work just fine, as long as you make sure to keep FILENAME all caps. If you use the F12 key, the title of the demo is auto-generated using a combination of the map, your character name, time and date, so there's a good chance that at least somewhere in the filename you'll find a lower-case letter, which will cause the game not to see it when you try to play it back. Your best bet is to start recordings using the console if you're using a Linux system and experience the same problem as myself.

This post has been edited by gerowen: 14 November 2011 - 03:42 AM


#5 User is offline   gerowen Icon

  • Account: gerowen
  • Joined: 14-November 11
  • Posts: 1

Posted 14 November 2011 - 06:57 AM

Wrote a small shell script to automate the renaming process for you guys. You can download it at:

http://adams-family....urt_demo_fix.sh

#6 User is offline   cyrus Icon

  • Account: cyrus
  • Main tag: [PCC]
  • Country:
  • Joined: 28-February 10
  • Posts: 105

Posted 03 December 2011 - 02:28 PM

The link above was not working, so posting a script that addresses this common issue. I can't take credit for this script, but this is the one I use:

#!/bin/bash

#Bash script to convert demo names to upper case to work with linux.
#defaults to Urban terror, in the home directory, but accepts any directory as an argument
#please back up your demo dir first! I AM NOT RESPONSIBLE IF THIS HOSES YOUR DEMOS!!!
#tested on opensuse should work on other distros too.

demodir=$HOME/.q3a/q3ut4/demos
DIR=${1:-$demodir}
if [ -d $DIR ]; then
cd $DIR
else
echo -e "$DIR does not exist!\nPlease pass the directory as an argument to the script.\nex. ./demo_cnv.sh /path/to/mydir/demos"
exit
fi
find  ./ -iname "*.dm_68" | while  read FILE
do
mv "$FILE" `echo $FILE | tr "[:lower:]" "[:upper:]"| sed 's/.DM_68/.dm_68/g'`
done

This post has been edited by cyrus: 17 December 2011 - 01:22 PM

Disorder... Chaos... Anarchy... Now THAT's fun!

#7 User is offline   asdf Icon

  • Account: asdf
  • Joined: 14-September 11
  • Posts: 5

Posted 14 January 2012 - 08:49 PM

It seems that i am too late. But i still poste it: Here a capitalizer in cpp

#include <iostream>
#include <dirent.h>
#include <list>
#include <string>
#include <stdio.h>
using namespace std;
int main()
{  
	list<string> filenames;
	string tmpname;
	int i;
	DIR* dir = NULL;
	dir = opendir (".");
	struct dirent *myfile;
	if(dir == NULL) {
		std::cout << "Error" << std::endl;
		return 1;
	}
	while ((myfile = readdir(dir)) != NULL) {
        filenames.push_back(string((*myfile).d_name));
	}
	while(!filenames.empty()){
		tmpname=filenames.front();
		for(i=0;i<tmpname.length();i++){
			if(tmpname[i]=='.')break;
			if(tmpname[i]>'a'&&tmpname[i]<'z')tmpname[i]=tmpname[i]-('a'-'A');
		}
		rename(filenames.front().c_str(), tmpname.c_str());
		filenames.pop_front();
	}
	closedir(dir);

	return 0;
}



#8 User is offline   Drizzt Icon

  • Account: drizzt
  • Joined: 22-March 10
  • Posts: 164

Posted 15 January 2012 - 03:14 PM

I use this script for view demos on linux.

http://www.urbanterr...__1#entry322271

Page 1 of 1
  • You cannot start a new topic
  • This topic is locked

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users

bullet_disabledSponsored link
https://www.frozensand.com/


Copyright © 1999-2019 Frozensand Games Limited  |  All rights reserved  |  Urban Terror™ and FrozenSand™ are trademarks of Frozensand Games Limited

Frozensand Games is a Limited company registered in England and Wales. Company Reg No: 10343942