HashFromFile and HashByteArray now take an extra optional parameter, sha1.
In Sphere 1.6/1.5 the last parameter would be ignored, like so:
HashFromFile(filename, true); // generates a SHA1 hash in sphere-sfml, and an md5 hash in vanilla.
At least this option will help create better / more secure hashes (despite it's MD5 fallback for vanilla compatibility).
Edit:
Jurassic now gives correct line numbers and filename for bad scripts
during runtime. Therefore, it now mimics Sphere in handling errors.
Edit:
My map engine is slower to load than Sphere 1.5's since it does a lot of caching for the GPU. Subsequent map loads go by much faster though. I wish Sphere 1.5 did this but the problem with it's graphics abstraction layer is that you can't do neat things with the map engine directly depending on hardware configuration. All you supply to it is how things are drawn, but not how they
get drawn (emphasis on the latter).
Edit:
It's now even faster, wow. It seems that clearing a software texture atlas was slower than straight-up rewriting it with image data. It's now 3 times faster, but not that noticeable since it went from basically 300ms to 90ish. It was slow since a texture atlas can be say 1024*1024 but you only use a small portion of it, you rarely use the whole atlas since sprites are packed into it pretty efficiently. It's speedup comes from drawing only what it needs to. BTW, Subsequent loads are around 10ms which is damn fast for a map with 11 entities, animating tiles, 3 layers, and larger than the screen which is a good candidate for an average sphere map.
Edit:
Now surfaces have seen a 10x boost in performance. It rivals Sphere 1.5 now.
My trick was to use byte arrays and muck around directly with the bytes than go through the SFML abstraction layer. My guess is that it tries to be safe and does a lot of checks /etc that slow it down. I never realized how slow that was though. I always think C# is much slower than C++, but heck it's all about the algorithm, not the language.
I'm giving the namesake of TurboSphere a run for it's money!