Skip to content

Adds functionality for custom oam shapes#203

Open
Retnuhytnuob wants to merge 12 commits into
pret:masterfrom
Retnuhytnuob:custom_oam_shape
Open

Adds functionality for custom oam shapes#203
Retnuhytnuob wants to merge 12 commits into
pret:masterfrom
Retnuhytnuob:custom_oam_shape

Conversation

@Retnuhytnuob
Copy link
Copy Markdown
Contributor

Description

Adds support for a .json defined 'oam shape configuration file' to the gbagfx tool.
new parameter to the tool is -oamshape {definition}.json

Dumps, names: gUnknown_084A11EC (groudon stage boulders)

Redumps/simplifies:

  • Groudon intro boulders, crystals, head segments
  • Ruby intro linoone, sharpedo

json file for the oamShapes needs:

  • "kind": "oam-shape"
  • "pngsize": "{W}x{H}"
  • a list of pieces:
    • "pos": "{x},{y}"
    • "size": "{W}x{H}"
    • "spacer": bool (default:false) (needed to specify space to ignore when reading from the png file back into the 4bpp file)

Pieces that it picks up need to be in the order they appear in the source tileset, and must match actual oam shape sizes.
Reminder: valid shape sizes are: squares: 1x1, 2x2, 4x4, 8x8, horizontals: 1x2, 1x4, 2x4, 4x8, verticals: 2x1, 4x1, 4x2, 8x4

Pieces that are flagged as spacer can technically appear in any position/size in the json definition. (examples here have them in order from left to right, top to bottom, mixed with the oam pieces. - If we want to change that so that the spacers are all at the end, that will work as well)

When converting from a 4bpp file to a png file using a oamshape definition, the 'spacer' tiles are given a checkered pattern, to make them stand out as ignored space, which will be helpful if we ever get to a point of moding the game.

Discord username

retnuhytnuob

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant