View Issue Details

IDProjectCategoryView StatusLast Update
0004529The Dark ModTDM Updaterpublic15.12.2017 05:51
Reporterstgatilov Assigned Tostgatilov  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status resolvedResolutionfixed 
Product VersionTDM 2.06 
Target VersionTDM 2.06Fixed in VersionTDM 2.06 
Summary0004529: Check how compression removal works in tdm_update
DescriptionNow engine ensures that all ROQ or OGG files are stored without compression in PK4 archive. If it opens an archive with compressed files of these types, it repacks them automatically.

This issue is opened to check that this play nicely with tdm_update.
TagsNo tags attached.

Relationships

related to 0004504 resolvedstgatilov Performance of reading OGG from PK4 
related to 0004507 resolvedstgatilov Horrible performance of playing ROQ video from pk4 

Activities

stgatilov

stgatilov

07.05.2017 02:23

administrator   ~0008841

In revision 6847 I committed a change in packager. Now it packs all ROQ and OGG (and AVI - the list of extentions is stored in separate header) without compression. I have checked locally that it really works this way.

A good question remains about how differential update would work. As far as I have noticed, it does not put OGG/ROQ files into diff archive (if they did not change), despite the change in compression level. In my opinion, this is not bad: if player updates with it to 2.06 and still has some OGG/ROQ files compressed, then TDM engine would repack them properly on first load anyway. The only "not-very-nice" case is if the player runs non-differential update immediately after differential update: then it would download about 600MB of sound PK4.
nbohr1more

nbohr1more

21.09.2017 19:03

developer   ~0009325

We'll need to watch this during the beta.
stgatilov

stgatilov

30.11.2017 04:09

administrator   ~0009716

Strangely enough, tdm_update keeps reapplying differential update forever because of the compression difference.

I have added a hacky solution in svn rev 7322. Now after 2.05->2.06 differential update the updater proceeds directly to exit. It does not look at the local pk4 files and does not try to do any more updates. This fixes the infinite update loop.

After the differential update there are two cases:
1. Player would run tdm_update again immediately (without running TDM). Then the same 2.05->2.06 differential update would be redownloaded and reapplied again. This happens until player runs TDM at least once.
2. If player runs TDM, all the pk4 get repacked. If he tries to run tdm_update after this, it only tries to download a few megabytes. They include tdm_sound_sfx02.pk4 for whatever weird reason (maybe not opened immediately on TDM start). And in my case it also redownloaded tdm_update archive, since I was using debug build of tdm_update.
stgatilov

stgatilov

30.11.2017 04:16

administrator   ~0009717

And by the way, the current package still has the bundled missions compressed in the old way.
So if player runs a pre-bundled mission like "New Job", then runs tdm_update, then tdm_update would redownload newjob.pk4.

I guess that's because the mission pk4 are taken as is from SVN by packager, and we did not commit repacked versions to SVN.
Perhaps we should repack those pk4 and finally commit them to SVN, as Duzenko suggested.
grayman

grayman

14.12.2017 15:05

administrator   ~0009785

Bump.

Status?
nbohr1more

nbohr1more

14.12.2017 15:40

developer   ~0009789

I'll upload converted bundled missions to SVN.
stgatilov

stgatilov

14.12.2017 17:08

administrator   ~0009792

As far as I know, there is no issues in current 2.06 beta.
Committing repacked pk4 of bundled missions to SVN would be great, of course.

Some problems with tdm_update may happen again during the next release (I mean: 2.07).
I think I have taken all cases into account, and I hope that 2.07 release would be smooth and no one would remember about compression change by that time. But I can't rule out the possibility...
nbohr1more

nbohr1more

15.12.2017 05:51

developer   ~0009800

Rev 15118 updated bundled missions

Issue History

Date Modified Username Field Change
07.05.2017 02:17 stgatilov New Issue
07.05.2017 02:17 stgatilov Relationship added related to 0004504
07.05.2017 02:17 stgatilov Relationship added related to 0004507
07.05.2017 02:23 stgatilov Note Added: 0008841
21.09.2017 19:02 nbohr1more Status new => feedback
21.09.2017 19:03 nbohr1more Note Added: 0009325
30.11.2017 04:09 stgatilov Note Added: 0009716
30.11.2017 04:09 stgatilov Status feedback => new
30.11.2017 04:16 stgatilov Note Added: 0009717
14.12.2017 15:05 grayman Note Added: 0009785
14.12.2017 15:40 nbohr1more Note Added: 0009789
14.12.2017 16:06 nbohr1more Assigned To => stgatilov
14.12.2017 16:06 nbohr1more Status new => confirmed
14.12.2017 17:08 stgatilov Note Added: 0009792
15.12.2017 05:51 nbohr1more Note Added: 0009800
15.12.2017 05:51 nbohr1more Status confirmed => resolved
15.12.2017 05:51 nbohr1more Resolution open => fixed
15.12.2017 05:51 nbohr1more Fixed in Version => TDM 2.06