Back to the grind.
Seems every time I finish a tiny milestone, as each version tends to be, I get a kind of rush.
Of course this means much procrastination for a job well done.
At least I spend that time -thinking- about the upcoming goals for the next version.
So while it's already been a week I'm getting back to the editor. Work is a little heavier right now up until christmas but I'm sure I'll get a few things done before Christmas Eve.
Goals for Version 0.011:
1. Patch in Eric's faster double-move routines for the horizontal tests. (Done!)
I've tested the double-subtract in the different situations it's likely to be encountered. (normal collision testing + hitting left-edge of the screen during collision) and both seem to be handled properly. I was worried about the carry assumption not holding, but where I handle that situation with the screen clipping no problems surface.
2. Make Sprites repositional for the Gamefield rather than using left over settings from StatusBar. (In Progress)
The code is written, and takes up 4-5 lines. I haven't patched it into the main source yet however as I'm still looking for potential bugs. I'm always overly cautious like this.
What I have written -should- work however and it uses up just about every free cycle that would otherwise be wasted in the calls to the PositionASprite routine. That is, the routine is called near the end of a scanline to minimize unnecessary deadtime.
This code positions P0 and P1 regardless of if they're used. If a sprite isn't to be displayed on a frame then it'll draw a null object. Same effect as if there's nothing there. It also sets up the VDEL for the sprites, handles the changing of the colors, using default colors for the player if a sprite isn't to be used for P0 or P1, updates the CTRLPF register with our Shadow copy since settings between Playfield and Statusbar aren't always going to be the same, positions the ball and enables it if necessary, calculates sprite height (would be necessary if flickering different sprites with the same hardware sprites) for skipdraw, sets linecounters I currently use, and clears collision latches just before the gamefield begins to avoid corrupted collisions caused by the status bar.
There's likely some extra things to add in there if I can squeeze it in. Such as setting sprite attributes. (flipped, copies/size) but I'll look at that more over the weekend.
3. Ensure the proper positioning of P0 and P1 so it's appearing on exactly what line it should - no one off errors. (To Do)
Right now it's -working- but as I've said before I'm fairly certain I'm not positioning them properly on the scanlines. It's just going to be a matter of looking at what's in place and then testing new Y positions for the sprites, then making alterations until they're perfectly positionable.
4. ORG the Display code and move the Status Bar code above the logic code. To at least minimize instances where the code messes up due to page boundary issues. I'll handle this last after all the modifications are done to the display for this version. Would hate to do the ORGing then find a few modifications threw things out of sync again.
Those I think are the main goals I have set for this version. If I don't get distracted, and if I don't run up against any major setbacks, I'm hoping to have it finished by monday.

0 Comments
Recommended Comments
There are no comments to display.