Wed, 17 Jul 2013 19:45:19 +0300
shrink a little
| 
6
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
1 | #include <QFile> | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
2 | #include <QDataStream> | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
3 | #include <QMessageBox> | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
4 | #include <QProcess> | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
5 | #include "demo.h" | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
6 | #include "bytestream.h" | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
7 | #include "misc.h" | 
| 
8
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
8 | #include "ui_demoprompt.h" | 
| 
6
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
9 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
10 | static const uint32 g_demoSignature = makeByteID( 'Z', 'C', 'L', 'D' ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
11 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
12 | // ============================================================================= | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
13 | // ----------------------------------------------------------------------------- | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
14 | static str tr( const char* msg ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
15 | return QObject::tr( msg ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
16 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
17 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
18 | // ============================================================================= | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
19 | // ----------------------------------------------------------------------------- | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
20 | static void error( str msg ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
21 | QMessageBox::critical( null, "Error", msg ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
22 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
23 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
24 | // ============================================================================= | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
25 | // ----------------------------------------------------------------------------- | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
26 | static int getVersionIndex( str ver ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
27 | int i; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
28 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
29 | for( i = 0; i < g_zanVersions.size(); ++i ) | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
30 | if( g_zanVersions[i] == ver ) | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
31 | return i; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
32 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
33 | return -1; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
34 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
35 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
36 | // ============================================================================= | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
37 | // ----------------------------------------------------------------------------- | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
38 | static str findWAD( str name ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
39 | QSettings cfg; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
40 | list<var> paths = cfg.value( "wads/paths", list<var>() ).toList(); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
41 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
42 | if( paths.size() == 0 ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
43 | error( tr( "No WAD paths configured!" )); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
44 | exit( 9 ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
45 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
46 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
47 | for( var it : paths ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
48 | str fullpath = fmt( "%1/%2", it.toString(), name ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
49 | QFile f( fullpath ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
50 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
51 | if( f.exists() ) | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
52 | return fullpath; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
53 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
54 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
55 | return ""; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
56 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
57 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
58 | // ============================================================================= | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
59 | // ----------------------------------------------------------------------------- | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
60 | int launchDemo( str path ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
61 | FILE* fp = fopen( path.toStdString().c_str(), "r" ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
62 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
63 | if( !fp ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
64 | error( fmt( tr( "Couldn't open '%1' for reading: %2" ), path, strerror( errno ))); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
65 | return 1; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
66 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
67 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
68 | fseek( fp, 0, SEEK_END ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
69 | const size_t fsize = ftell( fp ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
70 | rewind( fp ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
71 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
72 | char* buf = new char[fsize]; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
73 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
74 | if( fread( buf, 1, fsize, fp ) != fsize ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
75 | error( tr( "I/O error" )); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
76 | delete[] buf; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
77 | return 2; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
78 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
79 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
80 | Bytestream s( buf, fsize ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
81 | delete[] buf; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
82 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
83 | uint8 offset; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
84 | uint32 length; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
85 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
86 | struct { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
87 | str netname, skin, className; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
88 | uint8 gender, handicap, unlagged, respawnOnFire, ticsPerUpdate, connectionType; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
89 | uint32 color, aimdist, railcolor; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
90 | } userinfo; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
91 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
92 | // Check signature | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
93 | { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
94 | uint32 sig; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
95 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
96 | if( !s.readLong( sig ) || sig != g_demoSignature ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
97 | error( fmt( tr( "'%1' is not a Zandronum demo file!" ), path )); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
98 | return 3; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
99 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
100 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
101 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
102 | // Zandronum stores CLD_DEMOLENGTH after the signature. This is also the | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
103 | // first demo enumerator, so we can determine the offset (which is variable!) | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
104 | // from this byte | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
105 | s.readByte( offset ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
106 | s.readLong( length ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
107 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
108 | uint16 zanversionID, numWads; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
109 | uint32 longSink; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
110 | str zanversion; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
111 | list<str> wads; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
112 | bool ready = false; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
113 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
114 | for( ;; ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
115 | uint8 header; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
116 | if( !s.readByte( header )) | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
117 | break; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
118 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
119 | if( header == DemoBodyStart + offset ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
120 | ready = true; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
121 | break; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
122 | } elif( header == DemoVersion + offset ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
123 | s.readShort( zanversionID ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
124 | s.readString( zanversion ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
125 | s.readLong( longSink ); // rng seed - we don't need it | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
126 | } elif( header == DemoUserInfo + offset ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
127 | s.readString( userinfo.netname ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
128 | s.readByte( userinfo.gender ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
129 | s.readLong( userinfo.color ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
130 | s.readLong( userinfo.aimdist ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
131 | s.readString( userinfo.skin ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
132 | s.readLong( userinfo.railcolor ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
133 | s.readByte( userinfo.handicap ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
134 | s.readByte( userinfo.unlagged ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
135 | s.readByte( userinfo.respawnOnFire ); | 
| 
8
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
136 | s.readByte( userinfo.ticsPerUpdate ); | 
| 
6
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
137 | s.readByte( userinfo.connectionType ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
138 | s.readString( userinfo.className ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
139 | } elif( header == DemoWads + offset ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
140 | s.readShort( numWads ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
141 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
142 | for( uint8 i = 0; i < numWads; ++i ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
143 | str wad; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
144 | s.readString( wad ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
145 | wads << wad; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
146 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
147 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
148 | // The demo has two checksum strings. We're not interested | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
149 | // in them though. | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
150 | str sink; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
151 | for( int i = 0; i < 2; ++i ) | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
152 | s.readString( sink ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
153 | } else { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
154 | error( fmt( tr( "Unknown header %1!\n" ), (int) header )); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
155 | return 4; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
156 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
157 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
158 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
159 | if( !ready ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
160 | error( fmt( tr( "Incomplete demo header in '%s'!" ), path )); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
161 | return 5; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
162 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
163 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
164 | int i = getVersionIndex( zanversion ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
165 | if( i == -1 ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
166 | error( fmt( tr( "Unknown Zandronum version %1!\n" ), zanversion )); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
167 | return 6; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
168 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
169 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
170 | QSettings cfg; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
171 | str binarypath = cfg.value( binaryConfigName( zanversion )).toString(); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
172 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
173 | if( binarypath.isEmpty() ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
174 | error( fmt( tr( "No binary path specified for Zandronum version %1!\n" ), zanversion )); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
175 | return 7; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
176 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
177 | |
| 
8
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
178 | str iwad, iwadpath; | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
179 | list<str> pwads, pwadpaths; | 
| 
6
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
180 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
181 | // Find the WADs | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
182 | for( const str& wad : wads ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
183 | str path = findWAD( wad ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
184 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
185 | // IWAD names can appear in uppercase too. Linux is case-sensitive, so.. | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
186 | if( &wad == &wads[0] && path.isEmpty() ) | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
187 | path = findWAD( wad.toUpper() ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
188 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
189 | if( path.isEmpty() ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
190 | error( fmt( tr( "Couldn't find %1!\n" ), wad )); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
191 | return 8; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
192 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
193 | |
| 
8
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
194 | if( &wad == &wads[0] ) { | 
| 
6
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
195 | iwadpath = path; | 
| 
8
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
196 | iwad = wad; | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
197 | } else { | 
| 
6
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
198 | pwadpaths << path; | 
| 
8
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
199 | pwads << wad; | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
200 | } | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
201 | } | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
202 | |
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
203 | if( !cfg.value( "nodemoprompt", false ).toBool() ) { | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
204 | str pwadtext; | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
205 | for( const str& pwad : pwads ) { | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
206 | if( !pwadtext.isEmpty() ) | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
207 | pwadtext += "<br />"; | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
208 | |
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
209 | pwadtext += pwad; | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
210 | } | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
211 | |
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
212 | QDialog* dlg = new QDialog; | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
213 | Ui_DemoPrompt ui; | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
214 | ui.setupUi( dlg ); | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
215 | ui.demoNameLabel->setText( basename( path )); | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
216 | ui.demoRecorder->setText( userinfo.netname ); | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
217 | ui.versionLabel->setText( zanversion ); | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
218 | ui.iwadLabel->setText( wads[0] ); | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
219 | ui.pwadsLabel->setText( pwadtext ); | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
220 | |
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
221 | if( !dlg->exec() ) | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
222 | return 1; | 
| 
6
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
223 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
224 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
225 | print( "binary: %1\n", binarypath ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
226 | print( "iwad: %1\npwads: %2\n", iwadpath, pwadpaths ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
227 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
228 | QStringList cmdlineList ({ | 
| 
8
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
229 | "-playdemo", path, | 
| 
 
e8f645d9f28f
Added a prompt for demo information
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents: 
6 
diff
changeset
 | 
230 | "-iwad", iwadpath, | 
| 
6
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
231 | }); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
232 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
233 | if( pwadpaths.size() > 0 ) { | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
234 | cmdlineList << "-file"; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
235 | cmdlineList << pwadpaths; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
236 | } | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
237 | |
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
238 | print( "commandline: %1 %2\n", binarypath, cmdlineList.join( " " )); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
239 | QProcess* proc = new QProcess; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
240 | proc->start( binarypath, cmdlineList ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
241 | proc->waitForFinished( -1 ); | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
242 | return 0; | 
| 
 
67b6ef6917ba
Now capable of actually launching demos
 
Teemu Piippo <crimsondusk64@gmail.com> 
parents:  
diff
changeset
 | 
243 | } |