Copyright (c) Hyperion Entertainment and contributors.
BOOPSI Class Offset Base Registry: Difference between revisions
Created page with "== Rationale == This document is a reference for programmers who develop BOOPSI classes for Intuition, whether they are official system components or third-party classes distributed for public use. Each BOOPSI class uses a range of tag values to identify its attributes and methods. The “master” offset assigned to a class – hereafter called its offset base – determines where that range begins. In the past, offset bases were assigned rather arbitrarily, without..." |
mNo edit summary |
||
| Line 3: | Line 3: | ||
This document is a reference for programmers who develop BOOPSI classes for Intuition, whether they are official system components or third-party classes distributed for public use. |
This document is a reference for programmers who develop BOOPSI classes for Intuition, whether they are official system components or third-party classes distributed for public use. |
||
Each BOOPSI class uses a range of tag values to identify its attributes and methods. The “master” offset assigned to a class – hereafter called its offset base – determines where that range begins. |
Each BOOPSI class uses a range of tag values to identify its attributes and methods. The “master” offset assigned to a class – hereafter called its ''offset base'' – determines where that range begins. |
||
In the past, offset bases were assigned rather arbitrarily, without official guidelines. As a result, several gadgets share the same base, so their tag values can overlap. This is unlikely to cause problems in normal use, since applications rarely provide a class with tags intended for another class. However, such collisions are best avoided. Consistent offset assignment helps prevent them and makes new assignments easier to review and maintain. |
In the past, offset bases were assigned rather arbitrarily, without official guidelines. As a result, several gadgets share the same base, so their tag values can overlap. This is unlikely to cause problems in normal use, since applications rarely provide a class with tags intended for another class. However, such collisions are best avoided. Consistent offset assignment helps prevent them and makes new assignments easier to review and maintain. |
||
Revision as of 13:41, 5 October 2026
Rationale
This document is a reference for programmers who develop BOOPSI classes for Intuition, whether they are official system components or third-party classes distributed for public use.
Each BOOPSI class uses a range of tag values to identify its attributes and methods. The “master” offset assigned to a class – hereafter called its offset base – determines where that range begins.
In the past, offset bases were assigned rather arbitrarily, without official guidelines. As a result, several gadgets share the same base, so their tag values can overlap. This is unlikely to cause problems in normal use, since applications rarely provide a class with tags intended for another class. However, such collisions are best avoided. Consistent offset assignment helps prevent them and makes new assignments easier to review and maintain.
This document lists the existing offset bases, and sets out guidelines for choosing bases for new classes.