Skip to content
This repository has been archived by the owner on Aug 1, 2024. It is now read-only.
rankaisija edited this page Jul 29, 2023 · 1 revision

patch/

Naming

patch/**

Content

  • *.cfg
  • *.png
  • *.bin

include <>

You can include other patch files into your each other, file format does not matter for the included file as long as it's valid config patch file.

include <other_config.wow>

The path to this file should be always handled as relative path.

[file]

For patches, you can apply them to specific files. This should be only done to vanilla assets and objects but it's not limited to that only. The vanilla folder name should always be omitted from the file name. And the filename should always be relative from the project root directory.

[rom/actor/0x00FF-Push_Block/actor.zovl]
    # Push Max Speed
    0x11EE = 0x4080 # 0000 == 4.0f
    # Push Accel
    0x1202 = 0x3f80 # 0000 == 1.0f
    # Timer
    0x138E = 0x0004

Patching

In order to apply a patch to a certain address, you have to provide an rom address to that location. The address should always start with 0x when it's the address where the change is applied. The actual patch edit does not require 0x but you can use it if you wish. You can also freely space the input to this patch as you like.

You can also patch with text if needed.

0x00000000 = 0000 DEAD BEEF 0000
0x20 = "Wow, Nice!"

Macros

In order to have more readable patch address variables, you can utilize macros like so.

@root_addr = 0x00000000

root_addr = 0000 DEAD BEEF 0000

File & Texture

You can patch a file directly the address of your choice. This would be done by providing patch "function" like so:

0x00 = FILE("myfile.bin")

Another option is also to write .png texture into the address with the format of your choice. This can be done like so:

0x00 = TEXTURE("myimage.png", RGBA32)

Supported formats:
I4, I8, I16, IA4, IA8, IA16, RGBA16, RGBA32