0 Members and 3 Guests are viewing this topic.
Today I've finished off (for the time being) the new level event scripting that will feature in Episode III: Impact (and Episodes I & II will be patched to the new format as well). The new format gives me more power to add multiple triggers & events during a level. In the below screenshot there are a few examples:...
I've been thinking of a way you could somehow attach color data per tile, each tile would still only support two tiles but you could do something similar to RLE where you'd have an extra buffer keeping track of the current palette. Something like:Code: [Select] ; bit 7 exx ld a,(hl) ;hl' points to palette array exx sla d \ adc a,aIt's a bit slower and you'd have to inc hl' at the end of each djnz iteration. You could possibly get around using the shadow registers if you pushed bc (you could maybe move the push bc before the ld bc,288 to the vbcx3Row label), opening up C to use instead of D for the gbuf byte to rotate, then you could use DE to hold the pointer to the palette array. The palette array just tells you the first palette value, eg. 0 corresponds to palette entries 0 and 1, 1 corresponds to 2 and 3, 2 corresponds to 4 and 5, etc. That'd look something like:Code: [Select] ; bit 7 ld a,(de) ;de points to palette array sla c \ adc a,aThe overhead would be a bit less than my first idea, i think. Each tile would still only have two colors, but the map would be a bit more colorful. You'd also have to fill out the palette array as you draw your tilemap, but that shouldn't take up too much time. Definitely wish i had a CE right about now EDIT: And if you come up with something that's too processor heavy, there's always shifting two pixels per frame which would still look really nice.
; bit 7 exx ld a,(hl) ;hl' points to palette array exx sla d \ adc a,a
; bit 7 ld a,(de) ;de points to palette array sla c \ adc a,a
8bpp is faster, the issue is that the original routines are written for the BW calcs so all sprite routines are drawn to a graphbuffer that has a 1bpp layout. Writing to a gbuf on the CE just makes it easier to maintain the code between the two calcs, otherwise you'd have to have separate code for the tilemaps and basically anything that interacts with the map (sprites, bullets, etc.). So (i assume) James just uses the same routines to scroll the tilemap.
Keep in mind that he's working on a version for both machines, so you'll be able to play it regardless.
Yeah, but it looks cooler in color
Wow, at first i thought that was a screenshot of the 83+ version, it does run much smoother/faster on the CE. That's exciting, i'd like to take a stab at porting some of my old projects over to the CE