Afterwarp Development  

Go Back   Afterwarp Development > Software/Game Development > Published Resources
Published Resources Post any source code, images and tools here that you want to share with the community.


Reply
 
Thread Tools Display Modes
  (#1) Old
The Wicked Flea The Wicked Flea is offline
Honoured
The Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud of
 
The Wicked Flea's Avatar
 
Posts: 692
Join Date: Oct 2005
Location: world.usa.find('East Coast');
Lightbulb IntelliArchiver 1.0 RC1 - 14-Mar-2008, 16:13

What is IntelliArchiver?

IntelliArchiver is an archive format designed especially for games without any extra "fluff" in standard formats. No per-file CRC32 value, attributes, or filetime ... just the data, its name, and whether its encrypted. Likewise the header is also streamlined.

The result? An archive format that is extremely rapid and small. As much as 10% smaller than your standard Zip archive and made in as little as 66% of the time!

It's also written in Object Pascal.

Features

Five internal formats: Indexed; 24, 48, 255 & unlimited character-length filenames. Unlimited length filenames are stored differently and compressed for smaller archives.

Built in encryption: Using XTea to encrypt your data transparently from prying eyes.

Multiple Compression Algorithms: ZLib and BZip2; the archiver defaults to BZip2 wherever possible for smaller filesizes.

File Presorting: For an even faster binary search! (Coming in 1.0 Final, the archives already are presorted.)

Object Oriented File List: Adapts to the archive type without mangling your data.

Price: For development it's free! When you go to sell you pay $10 for $25k profit and less range games; IE, you 0.04% of your game's profit ONCE for the project. For full source an individual pays only $100 for ALL their projects. (Corporate folks may contact me on a per project quote.)

Support for 4gb archives! You are limited to a maximum of 2147483648 files per archive, however, and you must also make room for the actual file records. :P Suffice it to say IntelliArchive is "big enough" to handle your data, even when large in size.

Miscellany

License
Download
Support
Project Website (Coming soon!)

I can honestly say I never thought I'd make it to this point. Biggest milestone I've hit in programming yet! Happiest moment yet was when I implemented the interface method of passing the archive reader from the DLL -- after a bit of cleanup it was fully functional and didn't crash.


Thanks to:
  • Yuriy Kotsarenko (AsphyreXTea, moral support)
  • Alex Demchenko (CRC32 Hash Algorithm)
  • Edison Mera Menéndez (Pascal Implementation of BZip2)

The Future...

64bit OSes & Vista? No idea how to do this without buying a copy of Delphi and/or directly testing it. Maybe if I get a corporate sponsor or a few corporate licensees...

Unicode Support: It's hard to get without paying, and I'd really like to support it. I'll figure something out though. I've got 3 more internal file types reserved and can do some internal testing. The trouble is making the wizard and search routines support it.

FPC Support: Currently this is tentative. IA should work currently with Delphi Compatibility enabled, but I've not tested it and I'm getting a bit burnt out in troubleshooting.

Binary Searching of Archives (1.00 Final): This is half implemented. I have the files presorted before addition to the archive, so the internal flags and searching needs to actually be implemented. As I said in the previous point: I'm beat; I've been troubleshooting a DLL with memory errors and BDS crashing every 45 seconds. Gimme a few days.

Refactoring: Ugh, where to begin.... Simply put, the actual source is somewhat ugly. Especially the pairing between objects and records. I'll be looking into and reorganizing stuff like crazy prior to release. Also, the unlimited length filename record is identical to the indexed one -- originally there were differences -- so I've got to make the object a descendant of the indexed one. I even need to revise my comment header blocks in the units, since they're 2 revisions old.


"If we knew what we were doing, it wouldn't be called research, would it?"
-- Albert Einstein

IntelliArchiver 1.00 RC1 is here!
Finished Projects: Just DIE Already!, Asphyre 4 Zip Archive Handler

Last edited by The Wicked Flea; 27-Mar-2008 at 02:25.
Reply With Quote
  (#2) Old
lifepower lifepower is offline
Developer
lifepower has much to be proud oflifepower has much to be proud oflifepower has much to be proud oflifepower has much to be proud oflifepower has much to be proud oflifepower has much to be proud oflifepower has much to be proud oflifepower has much to be proud of
 
lifepower's Avatar
 
Posts: 1,988
Join Date: Oct 2005
Location: Pointer = nil;
Send a message via ICQ to lifepower Send a message via MSN to lifepower
14-Mar-2008, 21:01

Congratulations on the first release!

I've checked your IA Wizard and here are few suggestions:

1) Add icons to buttons and perhaps to some of the fields, include menus.

2) Improve UI by giving a bit more space between components, but reduce the size of some edit and combo boxes. For file names there is no need to provide *large* edit box because you won't be able to display full path properly anyway. There is no need for user to type file name manually and you can display reduced path to the file (e.g. "c:\My Documents\...\file.ia" instead of "c:\My Documents\My Private Files\Archived Content\UserName\2008\file.ia");

3) The whole UI right now looks a bit empty, too basic. I know that it won't affect the functionality much, but it's one of the selling points.

4) Adding plugins for applications such as Total Commander, Speed Commander and Shell Extensions to Explorer would be also very handy for people who use them.


M.Sc. Yuriy Kotsarenko
Ixchel Studios

Reply With Quote
  (#3) Old
The Wicked Flea The Wicked Flea is offline
Honoured
The Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud of
 
The Wicked Flea's Avatar
 
Posts: 692
Join Date: Oct 2005
Location: world.usa.find('East Coast');
14-Mar-2008, 22:00

1 & 2) Maybe. I rewrote the entire wizard over in a day so I know I missed a number of things. Besides, the wizard isn't really intended to replace an archiver.

I included the edits so that people could edit the paths and names after the browse/save buttons. It's a feature I like, personally. Just a few keystrokes and the archive path and name turn into the search directory.

3) I aimed for basic on the sheer principal of clutter; radio groups for every setting and their cousin gets irritating and there aren't enough settings to necessitate a tabbed interface.

4) Maybe for paid versions, but I'd have to look into it. Like, look into it a lot.


Ironically when I started realizing trouble with my registration system I removed it from the DLL ... and it grew by 2kb. I still have to work a number of kinks out of that system anyway.


"If we knew what we were doing, it wouldn't be called research, would it?"
-- Albert Einstein

IntelliArchiver 1.00 RC1 is here!
Finished Projects: Just DIE Already!, Asphyre 4 Zip Archive Handler
Reply With Quote
  (#4) Old
Lazarus Lazarus is offline
Honoured
Lazarus is on a distinguished road
 
Lazarus's Avatar
 
Posts: 245
Join Date: Apr 2006
Location: Germany
Send a message via ICQ to Lazarus
15-Mar-2008, 18:40

Hi Robert,
nice work. I have made some test and :
congratulations... It's very fast ...

I think the same like Yuriy, the UI (Manager) can be a little bit more extended.. But never the less...
Great work...
Reply With Quote
  (#5) Old
The Wicked Flea The Wicked Flea is offline
Honoured
The Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud ofThe Wicked Flea has much to be proud of
 
The Wicked Flea's Avatar
 
Posts: 692
Join Date: Oct 2005
Location: world.usa.find('East Coast');
15-Mar-2008, 19:21

Thanks Lazarus.

I designed it primarily for speed, since archives don't have to be slow. The smaller filesizes just came in handy as I cut out superfluous information. BZip is much faster than ZLib I found.

The UI isn't final, at all, but it is a hasty rewrite in its current form. As I get to a second release candidate the archive format might take one little change, plus the interface should be a bit more stable. In the next RC I might use XML for the project format, and so I could store more info and settings; with this I could allow addition of new files, but not updating. (That'd be for a later release, a command queue that lets you add, replace, and delete files.)


"If we knew what we were doing, it wouldn't be called research, would it?"
-- Albert Einstein

IntelliArchiver 1.00 RC1 is here!
Finished Projects: Just DIE Already!, Asphyre 4 Zip Archive Handler
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



vBulletin® is copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
vBulletin Skin developed by: vBStyles.com
Copyright (c) 2000 - 2008 Afterwarp Development. All rights reserved.