Monday, October 23, 2006

RetroEdit: HiRes Appears...

I've spent the evening changing the editor into something a little bit more sophisticated, it can now do Hires and MCM sprites - although I still can't edit them. I've also added C64 and Spectrum modes so that once I allow you to select it, you'll now be able to edit using those colours. Internally, its almost completely changed. before I had a simple C# List<byte[]> for my sprites, but now I've gone and made a nice Sprite class that contains everything about a sprite - the basic array that makes up the pixels, its width and height, and which editing system its using (Plus/4 and C64 in MCM or Hires, and Spectrum).

While this actually lets me have every sprite different in the animation sequence - even down to different systems(!), its actually a little impracticle. I suspect what you actually want is a global editing mode, so that you when select C64, Plus/4 or spectrum the whole project swaps to that. I think what you really want is to be able to load in sprites from one system, and convert it to another - as best it can. This will mean that C64_MCM->Spectrum conversion gets the HIRES version of the sprite, but it gives a starting point for editing; rather than having to do each one by hand.

However, I will allow each sprite on the same system to vary - because thats perfectly valid. So MCM/HIRES isn't a global state, but one for each sprite. This means you could create many C64 MCM sprites, and then create some HIRES overlays for them, all within the same project.

This is actually the thing that pisses me off most about editors. Theres so many dependencies. Change one radio button or drop down menu, and you have to do shit loads behind the scenes, and make sure every combination works!.... pain in the bum. However... I hope to be able to use the same basic classes in the character editing which means you should be able to edit 16x16 characters for the spectrum - or Plus/4. Internally, its stored as a simple array, but when you save it out, it'll convert it to the correct output format. Plus4 Sprites, chars, sprectrum sprites, C64 hardware sprites; well...thats the theory.


Chicken said...

v0.001? :) Don't be shy! If you need a beta (or aplha) tester just let me know.

Just been to Russell's site and found out his planning on doing a 128k version, too. I wonder how much time a SIDtoAY converter needs cause his scrolling eats up lots of cycles. Interesting to see how different platforms need different approaches. I remember that you said the softsprites on plus/4 need about 70% of the time available. On the Speccy it's the scrolling.

Btw, have you thought about the DTV64 (that C64-in-a-joystick)? A port should be really easy (at least without using the extra hardware features that thing has). It would add another platform without too much work.

Anonymous said...

looks nice!

You are really doing some great work for the Commodore world.

After both ports are done, what's next?


Mike said...

I think Luca will beat you to the testing!

Yeah, drawing the screen and doing scrolling is painful on the speccy.

I have 2 of them here, but haven't done any hacking on it at all - don't know how to get stuff onto it for a start.
LoL - its only great work when something's released! Until then, it could be a joke!

Give me a break! its taken 6 years to get to this point!