Tuesday, April 6, 2010

FSD 2.0 r485

Made lots of change to my yesterday fix :
Now, you can call CreateContentItem with the folder of the game (not the executable path) and it will create the proper ContentItem or return NULL if its not a proper folder. This method also take care of validating if the item is already in the content list.
Every file parsing code was removed from ContentList.













Also added http downloader speed reporting and auto retry on Response code 500.

Currently, Downloader start as paused, you need to use the debugger software to start it. (Will make a post describing our debugger later)

Could somebody explain me all xex filesize is determined? Seems like it increment by chunk.. ~100 builds will have the same exact size, then it jump up about 50%.  Is there anyway  to remove the filler data?

Also, there's some weird stuff going on with memory allocation...
If we declare a struct : XEXInfo* xinf;
Some build will be able to write the struct while some other will freeze if we do not malloc it. It seems to happen when were about to hit the file size increment but might be totally unrelated. Anyway, not mallocating it is a bad pratice, but there were almost no malloc in original code so something we get an ususable build without knowing why.

No comments:

Post a Comment