AliYousuf / hedgewars

Automatically exported from code.google.com/p/hedgewars
GNU General Public License v2.0
0 stars 0 forks source link

Insert version info in replay/demo file to improve listing (in addition to what we have now) #544

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Demos and replays are loaded by looking at file extensions (wut?)

Gotta write down version number on the file header and then implement a header 
reader in frontend that read that instead of relying of extension...

Original issue reported on code.google.com by vittorio...@gmail.com on 27 Feb 2013 at 10:54

GoogleCodeExporter commented 8 years ago
So. A couple of issues.
1) Hedgewars demos/saves don't really have a header.  They have a consistent 
initial byte order right now, but according to unc0rr, that's just more a 
coincidence of message ordering.  I check those bytes in linux, but I include 
extension check too.

2) If you remove .44.hwd then it will be a lot harder for players to figure out 
which files in a directory, say, their Demos folder, are for the current 
version of Hedgewars.

Original comment by kyberneticist@gmail.com on 28 Feb 2013 at 2:44

GoogleCodeExporter commented 8 years ago
Wrt 2 I never said it should not be present, I said it should not be the basis 
for demo/saves listing in frontend.

Original comment by vittorio...@gmail.com on 28 Feb 2013 at 10:47

GoogleCodeExporter commented 8 years ago
I was semi-responding to IRC:
18:03 <@koda> and annoying to have .44 everywhere
18:03 <@koda> but it's more file aestectics

Those in particular.

Original comment by kyberneticist@gmail.com on 28 Feb 2013 at 3:25

GoogleCodeExporter commented 8 years ago
PLEASE don't mix random late night thoughts on irc with what is reported in the 
bug......

Original comment by vittorio...@gmail.com on 28 Feb 2013 at 3:28

GoogleCodeExporter commented 8 years ago
quake 3 has version info in replay name, and was it ever a problem?

Original comment by unC0Rr on 2 Mar 2013 at 6:54

GoogleCodeExporter commented 8 years ago
Could be so, but I don't think it was using that info to list them in the GUI.
Why are we comparing features with completely different games :s

Adjusting the title of this bug before the discussion becomes completely 
hijacked...

Original comment by vittorio...@gmail.com on 3 Mar 2013 at 1:51

GoogleCodeExporter commented 8 years ago
It was using this info to list them. Sometimes you just renamed the file to 
watch demo from another version. Why would you need version inside in addition 
to file name anyway?

Original comment by unC0Rr on 3 Mar 2013 at 5:49

GoogleCodeExporter commented 8 years ago
Because file name is easy to change and the requirement of having the protocol 
number near file extension is nowhere documented.

For example I renamed a demo, inadvertedly removed the protocol number and then 
I could not it in the list, despite having done everything "right". This leads 
to frustration, of the unnecessary kind.

Original comment by vittorio...@gmail.com on 3 Mar 2013 at 7:21

GoogleCodeExporter commented 8 years ago
That's because we moved number from extension into file name. BTW, this leads 
to impossibility to have proper file associations when two versions installed.

Original comment by unC0Rr on 5 Mar 2013 at 5:05

GoogleCodeExporter commented 8 years ago
WRT the last point, in our association code there is not a single line 
mentioning the protocol number, so you'd get that behaviour in the current code 
as well.

Having a proper header would possibly allow checking for the "magic number" and 
open the right version of the application (without relying on the "optional (as 
in could be removed at any time) extension"

Again, I'm not planning on removing the additional extension, just on adding 
info, why so much opposition?

Original comment by vittorio...@gmail.com on 12 Mar 2013 at 8:33

GoogleCodeExporter commented 8 years ago
Just to clarify unc0rr's last point.  Prior to Smaxx removing version number 
from extension, association *could* have been done on, say, .44_hwd

That would have allowed 0.9.18 to always open .43_hwd files
0.9.19 to always open .45_hwd files
and so on, if players had multiple versions installed.

Since the files were changed to .hwd, this is no longer possible.

unc0rr's point is that if version number was intrinsic in the extension, you 
could not have accidentally blown away the .43. in the filename and confused 
the frontend.  At least, not without getting a warning.

I have no strong opposition to including this in the file, although it would 
require a file read for every single file in my Demos dir when filtering, which 
is quite large.  A file list, esp w/ a filter like *.43.hwd or *.43_hwd is 
considerably faster.

Original comment by kyberneticist@gmail.com on 19 Mar 2013 at 7:40