Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

leapop #228

Open
EndeavourAccuracy opened this issue Apr 1, 2018 · 0 comments
Open

leapop #228

EndeavourAccuracy opened this issue Apr 1, 2018 · 0 comments

Comments

@EndeavourAccuracy
Copy link

Recently, I released leapop 0.9b, which can edit levels of your BBC Master port.
Note that it explicitly checks for version/build combo \x10\x18\x03\x29\x22\x00\x6B\x63, so if you want to use it for testing future builds of pop-beeb, either use a hard-coded version.txt or read section "6 - (RE)COMPILING" in docs/README.txt to create custom builds of leapop.

The reason for this issue/ticket is a (semi-)feature request.
Pressing F2 in the application will bring up the so-called "EXE screen". (It's a consistency thing across various editors.)
When you launch in Apple II editing mode, you can see which options could potentially be available to modders of the BBC Master port.
In BBC Master editing mode, the screen only allows modification of the prince HP and - for all levels - the guard sprite.
The options whose values do not show up and cannot be modified are those whose offsets were set to 0x00 in the code.
All these offsets are grouped together in the code, starting at "The following offsets are for:".
And each block uses the same order, namely two offsets for Apple II (first adamgreen, then peterferrie), and then one offset for BBC Master (kieranhj).
Example:

static const unsigned long ulPrinceHPA[] = { 0x7258, 0xA058 };
static const unsigned long ulPrinceHPB[] = { 0x14CB };

The prince HP for the peterferrie Apple II disk image is at 0xA058.
These offsets start with arLevelOffsetsA (/B) and end with ulEnv2A (/B).
In some cases, the offsets point to multiple bytes, such as with ulEnv2B.
ulEnv2B is the second portion of the environment type (dungeon or palace) for the BBC Master.
This is currently set to 0x00 because I was unable to find a row of these bytes:
00 00 00 00 01 01 01 02 02 02 01 01 02 02 01
The same goes for all other BBC Master offsets that I set to 0x00.
I'm guessing, most likely, these bytes have been compressed to fit on the disk image.
Either way, with the above information, you should be able to better assess whether or not you would like - and are able - to make some of the currently unavailable options modifiable.
By the way, note that some options are unavailable only in levels 0 (demo), 1 and 2 because they lack the required resources on side A to be modifiable.
In particular the guard HP might be a nice addition to have.

Regardless, with this editor some of the playtesting for the development of future releases of your port should be a lot easier.
For instance, you can put the prince down wherever you want.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants