Tuesday, 11 October 2022

Tedium and how Easter Eggs are made.

Plenty of code commented in the last few days!

It's all pretty tedious atm actually; numerous routines to handle the various objects which all reference the same table locations over and over again. There's a ridiculous number of different Grobda (tanks) in the code for example (I think some of them are unused) and some of them seem to be exact copies of others.

I recall being at this stage during the RE of Knight Lore. Very productive for a while, but tedious.

I've managed to identify a few of the other objects purely from their sprite codes. And I can confirm that some 'objects' in the SUB CPU ROM object table are actually place-holders for parameters, such as the firing frequency for subsequent Lograms for example.

I haven't tried to estimate what percentage of the object handler code I've commented so far, but there's still at least a few days more to do. Some of it, like the Andor Gensis (mothership), looks even more tedious. Some objects have fixed positions in the object table, and are referenced directly from other object handlers; the player's Solvalou a prime example. And one or two parameters in the object table still elude my understanding. But still lots to do before I hit any walls.

Some trivia. The Easter Egg is implemented as an object with an invisible sprite. By moving to the right and holding down the bomb button at the start of the game, you're guaranteed to hit it because you're basically bombing every row. But if you know where it is, you can trigger it with a single shot. I patched the code to show the position with a Solvalou sprite instead - here's where it is located:

The Easter Egg, patched with a Solvalou sprite

Onwards with the RE'ing...

No comments:

Post a Comment