System.BitConverter

I have been writing a layer around our DCOM interface of the last few days, and today I needed to convert a double to 8 byte stream.

Low and behold a new .Net 2.0 helper class System.BitConverter, very useful. I chose to use the DoubleToInt64Bits method so I could control the order the bytes are written, but if I had found this class earlier I might have used for all conversions. There is still time to refactor…

This class would have also been helpful when converting Pascal 6 byte real’s to IEEE 8 byte double’s for my Curse of the Azure Bonds port. My previous code used unsafe code to write into the double directly… Hmm can’t find the old code…. will have to dig it up and rewrite it.

New build of Windows Live Writer

I was going to write a post about how Windows Live Writer has been causing me grief when posting with pictures..

But I decided to check first and there is a newer version, released Today! I then noticed I’m running 1.0 build 109, and the previous release was 1.0.1 Build 6. So I was running old software… oops

So I’m getting Beta 2 now! Better post, so I can start using the new version

Update:

Five seconds of thought:

  • Well the installer is different, but I like it
  • The UI is so much nicer
  • I love the save draft onto site option (can now edit from home/work) till done
  • It retrieves the last version from the web when you edit an previously posted entry
  • I really like how the Insert menu items are now on the right hand side
  • Spelling check as you go. Using it already!
  • Add new Categories, very nice….

I’m not sure it’s right, but I’m feeling pumped about this new update. It’s another improvement on a tool that made blogging easier to begin with.

Just have to test with some pictures later….

LEGO Technic’s

Jacob want to build my Lego Technic crane (well he has wanted to for ages) in the weekend, so we built it together. I brought it to work today to show it off to Conor who has the 8448 Super Street Sensation car.

Just for the share fun of it I went to the Lego web site and they have a new crane.

So I went search for pictures of my crane to post, and found this fantastic Technics web site

So my 8460 model looks like

Lego Technic 8460

Whereas the new model 8421 looks like this

Lego Technic 8421

It’s so shinny. So Phat!

The other vehicle that I got at the same time was the 8443 Log Loader

Lego Technic 8443

Another vehicle I’d love to get is the 8459, or some of the fantastic custom models from Lego Construction Site.

Underwater Hockey Results

2nd in the B grade. Quite pleased with this. The Nelson Sharks beat us in the round-robin and again in the finals. Our team was playing really well in our offensive game, with some superb linking. Unfortunately Nelson’s goalie was a Premier player, and we mortals just couldn’t get past him. Most goals Nelson scored against us were bombs from him. So it was quite frustrating really.

The other frustration was getting sin-binned twice for arm “infringements”. As a left handed player to steal the puck of a right handed player you have to put your arm over there’s, this leads to easy entanglement, of which people are inclined to enact when you’ve just taken the puck off them. So I lost my patients a few times and just moved an entangled person arm “away” from the play, and got called for it.

I’ve got lots of bruises, but I had a lot of fun. Really the team just played really well together, and I felt I was adding value, so had a blast (this is compared to playing Premier/A grade where I mainly “occupy space”)

Curse of the Azure Bonds update

Well I’ve been making some fantastic progress presently. I have been working of getting things working correctly.

Stuff that has improved:

  • Interaction with the script engine and the main program memory. I’ve written some quite cool reflection code to handle “missed” hard coded mapping’s. This is good because then the program keeps running, but I also get a log of mappings to hard code. The main reason for hard coding is to getting an understand for how the memory is accessed, when/why sort of stuff. This was a cause of quite a few errors, as the scripting was altering variables that the main engine was not seeing as changed.
  • Interaction with the menu systems. There were lots of transcoding mistakes, and things are work much better now.
  • The combat system is now working, compared to not at all. Lots still todo here, the biggest been getting the graphic’s to work when in combat. But progress is been made.
  • Fixed the AND/OR script code to not using the flip instruction, this also was causing pain.
  • Cracked some core graphic/UI naming, so large chucks of API/variables are starting to make sense. This is so pleasing when it happens.

I’ve also (at work at least) changed how I have the project (code) displayed. I’ve started using both monitors, with the original assembly on the right, which is fantastic when stepping through functions where the code looks odd, or copying large chunks of static data.

So all in all, the project is back on track, after being stalled for ages and I’m feeling really good about progress that is been made.

The one thing I’m putting off but needs to be done before it’s ready for “others” is rewrite the graphic subsystem to throw away the many pixel puffers, and compositing subsystems, and using a layered sprite API, ether DirectX (most likely) or OpenGL. But I’ll leave that till the current burst of effort starts to wane. Or the other way of putting it, I need to understand more of what is happening before I re-write it.

Updated: Just noticed someone was searching google for curse of azure bonds chr file, so if your wanting my current understanding (in C#) you might want ot read this