summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Adding-new-overworlds.md11
1 files changed, 6 insertions, 5 deletions
diff --git a/Adding-new-overworlds.md b/Adding-new-overworlds.md
index 62e3017..fd870bc 100644
--- a/Adding-new-overworlds.md
+++ b/Adding-new-overworlds.md
@@ -37,8 +37,8 @@ $(OBJEVENTGFXDIR)/people/example.4bpp: %.4bpp: %.png
## 3. Adding a new palette
If your new overworld uses an existing palette then you can skip this step.
-In **src/event_object_movement.c** you will need to add a reference to your new palette to sEventObjectSpritePalettes[], the palette requires a unique tag which we will use later.
-The existing tags are defined above sEventObjectSpritePalettes[].
+In **src/event_object_movement.c** you will need to add a reference to your new palette to sObjectEventSpritePalettes[], the palette requires a unique tag which we will use later.
+The existing tags are defined above sObjectEventSpritePalettes[].
```diff
#define OBJ_EVENT_PAL_TAG_30 0x111F
#define OBJ_EVENT_PAL_TAG_31 0x1120
@@ -84,7 +84,7 @@ If the frames in your sprite sheet are in a different order to the example shown
## 5. Adding a new ObjectEventGraphicsInfo entry
Within **src/data/object_events/object_event_graphics_info.h**, add a new entry for your overworld.
```c
-const struct ObjectEventGraphicsInfo gEventObjectGraphicsInfo_Example = {
+const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Example = {
.tileTag = 0xFFFF,
.paletteTag1 = OBJ_EVENT_PAL_EXAMPLE,
.paletteTag2 = OBJ_EVENT_PAL_TAG_NONE,
@@ -105,13 +105,14 @@ const struct ObjectEventGraphicsInfo gEventObjectGraphicsInfo_Example = {
```
- `.tileTag` is always 0xFFFF.
- `.paletteTag1` is the standard palette used by the overworld sprite.
-- `.paletteTag2` is the reflection palette used, for NPCs this is typically EVENT_OBJ_PAL_TAG_NONE.
+- `.paletteTag2` is the reflection palette used, for NPCs this is typically OBJ_EVENT_PAL_TAG_NONE.
- `.size` refers to the size in bytes of 1 frame of your overworld. It can be calculated by multiplying the width by height by bit depth (in this case 32x32x4) to get the size in bits, then divide by 8 to convert it into bytes.
- `.width` is the width in pixels of one frame of your sprite sheet.
- `.height` is the height in pixels of one frame of your sprite sheet.
- `.paletteSlot`: There are 16 available palette slots. Slot 0 is used by the main character you play as, and slot 10 is used by special NPCs such as the cable car or invisible Kecleon. Note that whilst slot 0 is used by the main character, there are duplicate ObjectEventGraphicsInfo entries for your rival, which uses slot 10 instead so as not to load the wrong palette when both Brendan and May are on screen.
-- `.inanimate` If set to TRUE then your overworld won't be animated, used for NPCs such as the dolls or cushions.
- `.shadowSize` When a movement taken by an NPC creates a shadow (e.g. jumping over a ledge), this determines what shadow sprite will be drawn under it.
+- `.inanimate` If set to TRUE then your overworld won't be animated, used for NPCs such as the dolls or cushions.
+- `.disableReflectionPaletteLoad` disables loading a reflection palette, e.g. for surfing or underwater overworlds.
- `.tracks` determines what tracks, if any, are left when moving through sand or similar tiles.
- `.oam` The oam tables are located in **src/data/object_events/base_oam.h** and are size dependent.
- `.subspriteTables` The subsprite tables are located in **src/data/object_events/object_event_subsprites.h** and are size dependent.