UE1 - UT Editing demos

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

L/\N|)O

Tactical Ops gamer
Apr 23, 2006
16
0
0
36
Poland, Bialystok
lando.us.to
I'm familiar with UScript and C++.

How do I edit demo files? I know it's "impossible", but nothing is impossible;). Demo files should contain information about the game (players location, rotation, etc.) for every 'moment' (for example 'moment' is every 20ms). I want to see this information and edit it.

Secondly I want to play some old demos that crash because I don't have one file, which is no longer available. So if I could edit demos maybe I could figure out how to make them working.

If you don't know the answers I could try to figure it out on my own but I don't know where to start with dll files. I know that many UT functions are implemented in C++ in dll files, but how do I play with them?;) Probably I should have UT source code. (Somewhere I have some source files (ut436pub.rar or sth like that), but I get a feeling that they don't contain everything.). If I had C++ source code then maybe I could recompile my own dlls.

thx
 

Wormbo

Administrator
Staff member
Jun 4, 2001
5,913
36
48
Germany
www.koehler-homepage.de
Demos contain stream data similar to network traffic. There's no way to make useful changes to that.
I guess you could try filtering out stuff, but pretty much everything depends on each other. Even the size of certain data structures depends on the number of objects loaded at the time the demo was recorded. If you can't play a demo because you are missing a file, it's probably easier to construct a dummy file than to mess with the demo itself.
 

L/\N|)O

Tactical Ops gamer
Apr 23, 2006
16
0
0
36
Poland, Bialystok
lando.us.to
thx for reply.

Well... if its similar to network traffic then maybe I should learn how UT network traffic looks like? I've connected to some UT server and tried to sniff udp packets with wireshark but I see random stuff. Is it compressed or something?

About dummy file. UT does not check md5 checksum on these files?
 

Wormbo

Administrator
Staff member
Jun 4, 2001
5,913
36
48
Germany
www.koehler-homepage.de
It's not compressed, just uses very specific bit packing. An enum only has 8 different values? The engine will only use 3 bits to transfer it. The next value to transfer will start in the middle of the byte then. That not only goes for data itself, I think even the packet and bunch headers are not exactly byte-sized.
 

Zur

surrealistic mad cow
Jul 8, 2002
11,708
8
38
48
About dummy file. UT does not check md5 checksum on these files?

UE1 doesn't use md5 but might use some basic crc(32?) for integrity purposes. It's what's inside the package/file that's important though. The last time I tested this changing the GUID of a package doesn't seem sufficient to make a dummy file. This might depend on the file you want to substitute so give this a try anyway so you can see for yourself. In passing, you might be interested in the package format:

http://wiki.beyondunreal.com/Legacy:Package_File_Format
 
Last edited: