Showing posts with label RetroEdit. Show all posts
Showing posts with label RetroEdit. Show all posts

Wednesday, January 28, 2009

RetroEdit small steps.

I've had a little bit of a problem with a virus I think, but have managed to revert things by rolling back a few days. This however has screwed with my source files - even though it said it wouldn't. Oh well...

I've finally managed to get the colour palette into retro edit so I'll need to do colour selection next. It's a little flickery though but I'll deal with that later, as long as it's working just now I don't really care. It's feeling a little sluggish on my machine so I may be doing something wrong, but I'll need to try it on someone elses PC first. I have the feeling its drawing WAY too often. I'm happy to say though that its finally making some headway and I hope to deposit the first version into Luca's lap soon. I'll need to get loading/saving into it first so I'll do that after colour picking/selection has been added.

You'll also notice its missing sprite sizes, I'll add this later as well - it shouldn't be too hard - although I'll need to save differently for each platform. Currently these are Plus4 (MCM/Hires) C64 (MCM/Hires) and Spectrum. I'll probably add CPC down the line - along with anyother computer/console I play with.

Sunday, January 18, 2009

RetroEdit to-do list

So, heres my current to-do list. I'll update THIS blog entry as I change things, so you can always check back here to see where I am. I'll add a link on the right for easy access.

  • Paint with colour 1 (left mouse)
  • Paint with colour 2 (right mouse)
  • +/- to change frames
  • rotate frame (up,down,left,right)
  • rotate line
  • rotate column
  • Colour selection
  • Colour Changing
  • Cursor rendering
  • Cursor key movement or cursor
  • Copy frame
  • Insert frame
  • Delete frame
  • Colour Swap
  • Area selection
  • Copy
  • Paste
  • Brush paste (like a sprite, drops out the background colour)
  • Mirror
  • Flip
  • Save project
  • Save data (native format)
  • Load Project
  • Load data (native format)
  • Onion skinning
  • undo/redo

    Remember to check back here to see how I'm getting on.
  • Saturday, January 17, 2009

    RetroEdit.

    I've not been doing much past few days/weeks. With the flu over Christmas and now a cold I've not really been in the mood. However, I've decided to make an effort and have started back on RetroEdit.

    I've finished the refactoring of it an am now happy with its layout and internal code construction. Basically, the old control I was writing delt with retro graphics in an abstracted way, and so you had to do some work to use it, now however the control deals directly with the raw format which means all you need to do is copy actual retro graphics data into the control and your all set.

    So with this done, I've started to plow ahead with some features. Actual editing is obviously first, and I can now draw pixels with the mouse in both hires and multi colour modes. This is also true for C64 and spectrum editing. I've also put in sprite rotate left and right, and am about to do up/down.

    Once I've done this I'll add colour picking. Currently I have 2 default colours and you can't change them - this obviously has to change to be of any use, and as its a biggie, I'll do that next.

    I'm sure I listed these before, but it must have been ages ago so here it is again; the feature list I want in for version 1.


  • Paint with colour 1 (left mouse)
  • Paint with colour 2 (right mouse)
  • +/- to change frames
  • rotate frame (up,down,left,right)
  • rotate line
  • rotate column
  • Colour selection,
  • Colour Changing,
  • Copy frame
  • Insert frame
  • delete frame
  • Colour Swap
  • Copy
  • Paste (+background)
  • Brush paste (like a sprite)
  • Mirror (+around selection only)
  • Flip (+around selection only)
  • Save project
  • Save data (native format)
  • Load Project
  • Load data (native format)

    If theres anything else that you think is a must have, then let me know. I've no idea how long this will take me, but the sooner the better. Currently it lets you edit Plus4, C64 and Spectrum sprites although I still have to put real support for the C64 sprites.
  • Wednesday, January 14, 2009

    Powering up.....

    Because I was ill over Christmas, it's actually been a while since I did any real work at home. So I thought I'd make an effort to get over this and actually DO something!

    To this end I've resumed the refactoring of RetroEdit and decided to get editing actually working and usable. So now that I think I've actually finished the refactor I was wanting, I've started to write the editing features. I've currently got hires sprites being editing, so I'm about to try MultiColour Mode ones. I'll then do some basic features like scrolling the whole thing around the window, flip etc. then move onto colour editing.

    I need to get the selected machine's palette drawn so I can pick colours and then I need to tackle saving. I'll need a PROJECT save, and a binary save. I'll also need to allow plugins so that folk like Russell can save formats he wants to deal with; although he may well end up doing his own editor, but others might need it so...

    With a bit of luck, most of these shouldn't take very long, and I can take the core of the sprite editing and move it to the character editing tab. The core concept of this is a special RetroBitmap control. This allows you to deal with retro graphics directly without having to write huge chunks of code over and over - its also a standard control so others could use it in their own projects if they wanted to.

    Saturday, December 20, 2008

    RetroEdit cleanup

    For the lack of any better ideas, I've been cleaning up retro edit into a more consistant state and I've now got the control editing the data in a native format. This means theres no real conversion required when lifting the data out an saving it off - or indeed loading data into it.

    I still need to go through the application itself as I've changed my mind on several things. For example while its perfectly valid to allow you to edit HiRes and MultiColour more sprites together I'm not going to allow it. This means you dont have to run through a hundred sprites and switch them all to Hires or MCM, and in reality this would hardly ever happen anyway.

    I can now draw a sprite okay so what I really need to do is add colour palette selection to let me pick which colour I want to paint with. Once I've done that I can add the features that make editing fun.

    I'll need to extend the editing control to allow for character and bitmap mode because I want to use the same control to do all editing. That said, I'm still not sure what I'll be spending my time on over the Christmas break, but for now I'll carry on with this...

    Thursday, December 18, 2008

    RetroEdit

    I was looking through the source of retro edit and wondering what I'd do to change it, and came to the conclusion that actually, its not as bad as I thought. The only major change I want to do is how the data is stored internally. You see when I started this I decided to store the data in a basic INT[] array, where each 0 or 1 was actually a BIT, and I would then process the data for editing and drawing. However, this is a bit yucky, and I now think it would be better to just store the data in a more native format. Thats not to say I'll store it in boxes, or colums etc. but as a simple X by Y row of bytes. This makes plug-ins to save the data in a custom format easy.

    So I think I might have a little play and see if I can reorginise things so they are more to my liking, and this will (I hope) then allow me to use the custom control to actually do real graphics work.

    The way I've gone about this is to have a custom control that deals with retro graphics. So you load it up with the data (in a simple rowxcolum format, and you can then select colours and plot pixels. The idea is that once its released (if ever!) then you could use the control yourself outside of retro edit to do other things. I have no idea if this would ever happen, but it might.

    So I've decided to give it a few days and see how I get on. If I feel like Im getting somewhere, I'll carry on - if not, I'll bin it.

    Monday, December 15, 2008

    Change of direction.

    So with Christmas comming up it's almost time for my anual direction change. I was hoping that my ATmega devkit would arrive in time, but its looking less likely as time goes on - pooh. Oh well. I've pretty much completed what I wanted to do with Minus4j, although I'd like an option to pick a file fom the ZIP to switch to or load, but until Plus4world allows real access to ZIP files, this isn't that important. I'll probably wrap up what I've got into another release and leave it there for now, although I've yet to look at the sid filters but that may also be defered until later.

    As to what project I'll do at Christmas time, well I'm not sure. I'd love to get back into electronics a little, but theres also my debugger and getting it running on a C64 and emulator. I'm also starting to think I need to restart RetroEdit. When I started it I hadn't done much C#, and over the years I've learnt how to do things properly. This means I could make a real stab at a proper system but as i've seen with the debugger, this means some serious effort. That said, I'd love a very simple interface so that I could draw tiles/graphics for myself.

    I also really need to get a basic MAP editor togther even if its a very simple interface so that we can make levels for Xeo3. The old one works but is a little crude in paces - it would be nice to fix that.

    So I have a few things I'd like to play with, I guess time will tell if I actually GET to...

    Tuesday, October 10, 2006

    XeO3: Retro Edit


    After talking to Luca, I feel somewhat ashamed. He described the process he uses for creating sprites and it was so bad, I was virtually blushing. I am now even more amazed at the superb animations he's manahed to create despite the terrible tools he's using. So, I've vowed to correct this as fast as I can. To this end, I've changed the focus of the editor, it really will now become a Jack of all trades. I'll do +4 sprite editing first, then add C64 editing so that I can get those streachy sprites, and then onto character and tile map editing and so on.

    However,m before anyof that, I need to get Luca some tools he not only could use, but really wants to use. The problem with any developer is that we get so used to using our old tools that we just don't want to change, so I need to give him a tool that feels like his old slippers, buthas a whole new set of features that empower him.

    The first on the list was loading in the current sprites and then being able to play back certain animations in various modes. This is now done. He can now scroll through the whole set, pick start and end frames, then play them back forward, backwards and in "pingpong" mode (where it bounces back and forth). This should at least allow him easier viewing until I can actually get editing and saving in place.

    In the future, I think a realtime linkup with an actual machine would be very cool, as the anim plays on the PC, it also plays on your Plus/4 or C64 on the Tv... also theres no reason why when you plot a pixel on the PC you dont SEE that on the actual machine as well. I wonder how many people would use that......

    Monday, October 09, 2006

    XeO3: Editor


    I've managed to get the Plus/4 sprites up and visible which is fine - fairly easy in C#, so next I'll need to get them scaling. I'll probably change a couple of bits internally so that I can have either 12x21 or 8x16 MCM sprites, this will let me view/edit either C64 or Plus/4 objects.

    I released a new version of my assembler yesterday as well, I don't think very many folk use it, but I find it's really handy - particually the macro support which lets you do quite a lot.Turns out though that I don't test it nearly enough! One of the chaps on Lemon64 has managed to crash it a couple of times with ease. I guess without testers this kind of this will happen. Anyway, if you want to play with it you can grab it from my minus4 site.

    XeO3: Editors.

    I'm taking a small break to play a bit more with my C# stuff. I've gotten the Plus/4 sprites loading in, so now all I need to do is scale them. But to see the results, I thought I'd extend the program I was doing into something a little more useful. Something that can load in sprites, characters and XeO3 style maps. I may even add editing to it at a later date.

    Once I have the drawing working, I'll write a quite scale function that'll allow me to save out full size C64 sprites - although they'll be a bit rough around the edges. The biggest issue I have with XeO3 on the Plus/4, is that I can't view or edit sprites easily, Luca has to make little Plus/4 programs that show his work animating in a self contained PRG, which is far from ideal - so I hope this will help a bit more.

    Level editing is also a concern as the current one was created by "FatMan", and he has long since vanished. So now we really need to be able to create one outselves, particually if we want others to make new levels or even games out of it.

    I'll have to watchout when doing this program, as the temptation is to make an all singing all dancing app, which will take longer to write than the game itself. If I was doing an editor to "sell", I guess I would make everything variable and portable. But the idea is to keep the goal in mind, and not get too carried away with what should remain, a simple XeO3 editor.

    Sunday, October 08, 2006

    XeO3: C#

    So, I thought it was about time I got the full benifit of the Multiplexor, so I'm about to do a small c# program (my latest language of choice) to convert into the proper format, and scale it up to the required size. Now the aspect will obviously change, and it will look a bit naff.... but it'll help "fill" the screen with sprites AND give me a basis for converting over Luca's art in the future.

    On another note, I was speaking to TNT over at Lemon64 and we got into chatting about old programming diarys from ZZap days, anyway he reminded me about the Citadel one as well as the Morpheus one I've just read. I seem to remember this one being pretty cool to. He's currently doing a supped up version of Paradroid and I'm trying to persuade him to do a diary as well. I love reading techy stuff like this, and I'm sure others do to. These days games are such a closely guarded secret that you never get to hear the gritty details which is a shape. Also things are now so complicated that it can take weeks to do the smallest thing which doesn't make for good reading.

    If you have an opinion on this, or if you like reading this kind of stuff, then let me know and perhaps I'll start to try and push more people to keep retro coding blogs.