RevEng Posted August 31, 2020 Share Posted August 31, 2020 I also cannot understand why the garbage is popping up on the screen. My best guess is that you're running out of time before all objects are plotted, and Maria is going ahead with the frame display anyway. If an object is partially displayed, it will be with some unintended attribute. (graphics pointer, width, etc) Try plottext with the 7800basic "frameslost" variable. It will likely increase each time you have these glitches, if not more frequently. This kind of glitching can also happen when you use too many objects in a zone (see the compile output for how many objects you have per zone) but in this case the glitching won't disappear after a frame. I added frames for Brutus to sweep his hand down. That is 6 frames. The game displays a black screen if I "incgraphic" more than 4. I don't get a memory error, and I have not added any code to use the frames. Hard to say on this one from just a general description. Maybe the new incgraphics are causing other incgraphics to be pushed out of the tileset? Or maybe something else. If you post the compile messages it may be helpful, though I'd probably have some additional questions on how things are arranged. I reserved enough bottle registers for Brutus to be able to throw them. However, 1 Sea Hag, Popeye, Brutus, and a can of spinach is too much. I had to chop off the top of the ladder, in order to keep the bottle from disappearing. I tried to wrap hearts around Olive at the level clear. There are too many items displayed at the top of the screen. They will not all show. So, what I ended up with is due to a limitation of the number of sprites per line. There are two kinds of limits that keep objects from being displayed. One is caused by running out of CPU time left to draw objects. (the likely cause of your glitching, mentioned earlier) and the other is just giving Maria too many objects to render. My gut feel is you're running into the former problem, not the latter. Your best bet is to try and draw these objects first, and just "bake" each new heart into the display with "savescreen". Then you only need to plot a new heart once per frame. In terms of the bottles, based on their coarseness in the arcade version, I think they use tiles for these. If you can do the same, updating characters in a buffer is much quicker than plotting a bunch of sprites. To maximize the number of sprites you can churn out, organize your game logic like this... mainloop drawscreen [non plot* game logic. do any plot* preparation here, like updating position, animation, etc, without actually doing the plot*] [tight plot* commands, with as little logic between plot* commands as possible] goto mainloop mksmith also documented an alternative to plotting the score and level info each and every frame in this post. 2 Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.