Kingers on 18/3/2005 at 09:41
[CENTER]Shadow - Thief: DS Fan Mission Loader[/CENTER]
[CENTER]The Project Ends[/CENTER]
Unfortunately I am going to stop work on Shadow simply because it is to much of a hassle. I set out to create a small application to help the community and all I receive is complaints about:
1. My choice of development platform (so many seem to hate .NET, without having many genuine reasons for hating it.)
2. My Briefing setup, and a battle for TXT vs RTF vs HTML vs Others
3. The type of archives I use 7Zip vs Zip vs Rar
Now that a simple C++ loader is underway by DracFlamloc I have decided to stop work on this simply because I don't feel especially after the comments made that anyone would use it. :nono:
Since this project started the community has never been in agreement about even the smallest of things for Shadow. As such I hope you have better luck DracFlamLoc as I for one will not be dipping my toes into producing something for community for some time! :mad:
sparhawk on 18/3/2005 at 10:07
Looks pretty similar to Darkloader. I wonder though why this needs a seperate app and Darkloader is not extended. Personally I prefer to have one application to handle all the aspects of the same type and since we are talking about Thief FM missions I would prefer to have one app that handles T1, T2, TGold and TDS regardless.
Gingerbread Man on 18/3/2005 at 10:27
I think "has arrived" is a bit misleading.
Shadowcat on 18/3/2005 at 10:27
Cool.
I just have to repeat one earlier request... please please please enforce 7-Zip as the archive format!
At the very least support it as an option, but unless there's some kind of flexible framework to handle pretty much any kind of compression, I really think it should be the only option.
The download for the software is small (1MB), and learning to use a new archiving tool would be the very least of the issues facing T3 FM builders, so I think this should go in right from the start with Fleshloader.
Durinda D'Bry on 18/3/2005 at 10:35
Wonderful, Kingers :thumb:
Regarding format of mission(s) distribution I think it is still the point for wide discussion. Come on, taffers, share your knowledge about particular things and post proposals! :D
I also would post interesting point regarding IBT files distribution. Well, IBT file contains all resources used by map (except "kernel" things, trigger scripts and what else?). So if IBT is provided in mission distribution, archive is huge and contains a lot of redundant (duplicated) information already included in IBT files for original missions. Other side we currently can't generate IBT automatically (from FleshLoader, for example) because we don't know details of uncooked map file format (and IMHO it is very complex). My proposal is:
1. Mission author creates IBT for his campaign using standard way ("write resource blocking file" option).
2. Then he runs special program that generates new "optimized" IBT file format: it includes all mission "exclusive" resources and just links to original mission IBT files for "common" resources.
3. Then, on player side, FleshLoader expands "optimized" IBT to normal IBT using data in original missions IBT files.
Of course, I assume that we know IBT format well. At least it seems as pretty simple (Perl script that does dump of IBT is included in T3Ed distribution).
And I agree with guys who sad that it is better to have one loader for all Thief games. But probably main (functional but not interface) part of FleshLoader could be designed and implemented as reusable module. First we may use FleshLoader standalone, later DarkLoader could be extended. And for 7ZIP compression - I also aree.
Kingers on 18/3/2005 at 12:08
[Gingerbread Man] Changed thread title, somewhat more to your liking now! :thumb:
[Durinda D'Bry] Yep, the format is still widely under discussion so it could be a while before we have concrete material to build into the application.
7Zip is a possibility however I will have to see if someone has written a free .NET library for the format otherwise it would require wrapper assemblies (which are not good and slow it down, plus if it is written in C++ there is no way!!!)
As for intergrating the module into DarkLoader I am not sure, simply because DarkLoader is not open source nor do I know whether the author would make it so and if they don't whether he/she would implement a Thief DS module. Still if someone wants to find out thats fine!
For the moment (at least) FleshLoader remains a separate application. :cool:
Kingers
sparhawk on 18/3/2005 at 13:10
Quote Posted by Kingers
As for intergrating the module into DarkLoader I am not sure, simply because DarkLoader is not open source nor do I know whether the author would make it so and if they don't whether he/she would implement a Thief DS module. Still if someone wants to find out thats fine!
I thought Darkloader is open source? At least I downloaded the source somewhere (don't remember the details as this was quite some time ago), so I was assuming it.
Shadowcat on 18/3/2005 at 13:16
I don't really know anything about .NET, but I can tell you that (at the very least) there's a C# .NET SDK
(
http://www.7-zip.org/sdk.html)
That's among other SDK, DLL, and source files...
(
http://www.7-zip.org/download.html)
If that's not sufficient, hopefully some third party has generated the stuff you need by now (fingers crossed).
Kingers on 18/3/2005 at 13:35
[ShadowCat] Thanks for pointing out the C# bit, I missed that! :eww:
[sparhawk] You were right, it is open source but it is written in Delphi and I have no experience with Delphi! :erg:
Durinda D'Bry on 18/3/2005 at 14:13
Kingers Generally you don't even need special .NET classes to work with archiver (7ZIP) - there is the command line tool (7z.exe) that could be executed as external process (it is how many file manager applications work with archivers). But if you have special library then OK, it perhaps simplifies work. Regarding "further DarkLoader integration" - I'm not 100% sure but you may create ActiveX component on C# that could be reused from any Windows application. Or, anyway, you may create ActiveX facade for you internal classes later.