Cleaning up some mess.
I recompiled (hopefully) all my Java projects to ensure that they run with Java 5, I forgot to add the -target 1.5 flag to my projects, but it should be fine now (if it wasn't fine before). Also, I noticed that the ETMin Pro version I hosted had different file size than the 0.23 version I had on my disk - can't say exactly why that is, but I fixed this by pseudo-updating ETMin Pro to version 0.24 and reuploading it. If you got an "old" version, well, as long as it runs, it runs, but I suppose the difference in file size is because of a missing <vector> include, which could mean that gamelist.txt may be broken - although I tested it, so I'm really not sure what was happening.
It's like I got too much spare time.
Finally turned an idea into something's worth: I created a little tool, Crypter, which can encrypt a bunch of files and pack it into a self extracting archive. Well, this isn't actually some kind of new idea, but the point is that this self extracting archive is using Java and is therefore platform independend (as independend as Java itself).
Ah, yes, another update.
"anthansion" was updated. The last version of Crypt class was only useable with ECB mode (Electronic Code Book Mode, which encrypts every block of data with the same given key) - which is the unsafest encryption mode of them all. I therefore added support for (at least) CBC, but I didn't test if it works, so I temporarly deprecated the class. USE WITH CAUTION (or simply do it yourself).
I will de-deprecate the class when testing is done.
Also MathVector now got different norm-methods, DHReceiver and DHSender are documented better and StringTool is momentarily beeing developed; It now does neat stuff on byte arrays and I nearly renamed it to ByteTool.
The most important change is the adding of the Sequence class, which basically is a wrapper for Object arrays with String-like methods. Most notably you can generate subsequences in constant time (just like Strings substring method), which can be pretty nifty. But you need to know, that Sequence is, in contrast to String, mutable. In particular Sequence is only storing the reference of the given array, it isn't copying it. This means, that once you change the passed in array, you change the Sequence and all of its generated subsequences! So be careful with using this class. Reading is always ok, but think before you change the underlying array. If you don't want to think there's still the getValues method which actually creates a copy of the underlying array - this is safe - the other methods are not (at least for writing).
You might ask yourself: Why do not also do what String does: store an actual copy of the given array instead of a reference. This is has two reasons: 1. copying needs <length> operations, while storing a reference is only one operation. 2. copying is hard to do with Objects, depending on the actual type of the Objects. 3. you still CAN copy by using the getValues method.
The only drawback is that the class is harder to understand and use correctly.
Since I needed this principle for byte arrays (and not Byte arrays) for some server-client-buffer-reading-stuff I set up a copy of the Sequence class, purely ment for (real, primitive) bytes: ByteSequence. By doing this I had the possibility to use the ease of String methods on byte arrays without creating a copy of it (and wasting precious time). It's best served with some byte array parsing.
I updated my Java package "anthansion", the documentation is now more or less complete. Sorting now also supports Merge sort (for arrays and LinkedLists) and Shell sort support is more complete. MathVector now has a more error prone equals method, just like Complex, and I'm thinking about building Complex on top of MathVector. For more details, look into the documentation and code itself.
This is something I wanted to do some time: An ET-Statistics GUI, which shows weapon (and general) statistics with images instead of a bunch of text. And here it is.
And there was another thing I left in the corner for about 4 to 5 years. A little game I wrote back in the days of Visual Basic, running poorly on modern operating systems - So I rewrote it in C with the help of SDL (actually I had to use C++ because of external libraries, but the code is written C-hearted). Well, it's actually nothing special, especially since there is only one type of enemy and no bosses, I will work on it again, sometime.
Note: When you are playing it, you will notice, that after a while, you will be bombarded with enemies, well, this wasn't planned, but you can take it as a challenge. ;)
See: Misc category.
I added support for Wolfenstein 2009 (MP) for ETMin Pro.
Happy New Year!
So, it's been quite some time and little time to spare, but here's an update for you: A new version of ET Minimizer Pro. It adds support for more games and you can even add your own games through gameslist.txt. Enjoy.
We are on again!
As you may notice the design of my page has changed from nothing to something. You may as well notice that this design was not done by me, but by "Ginger Ninja!". In fact this is a free web template I am using and my 'contract' is too keep the credit link in the footer. That's perfectly acceptable of course, but as it appears Ginger's website is currently taken over by Online Pharmacy. His works are also about two years old, so I don't think that his website is going to show off soon again... but contract is contract!
You may also notice that I'm using international language. ;-)
I am, because I formed a habbit of commenting my code in English and translating old comments, and while doing that... why not put up an English website?
So what I'll be doing here? Mainly updating my projects, that's pretty much all there is.
Since this is a new start, there's also some new stuff. For example I uploaded ET Minimizer Pro 0.2, which is a little Windows tool (again, not made by me, at least not originated) to minimize a list of Quake III based games, including Enemy Territory, of course. I just modified it to widen the spectrum of supported games, because the manual listing over a .txt seams to be broken - and since I'm no good at C++ it still is. But maybe I'll be giving it a try.
Allright. I'll be adding stuff here, until then, have a look.