Home

Awesome

EthornellTools

Tools for the Buriko General Interpreter (BGI)/Ethornell visual novel engine.

BgiDisassembler: disassembles ._bp script files.

BgiImageEncoder: encodes images to the engine's proprietary "CompressedBG" format. (To decode existing images, use e.g. GARbro)

If you're looking to translate an Ethornell game, take a look at VNTextPatch.

Script patching

Ethornell has two script formats, each with its own VM and instruction set:

Fixing half-width text rendering

Ethornell games tend to make a mess when displaying half-width characters (making them overlap). Interestingly enough, the engine is very much capable of displaying them correctly; you just need to tell it to do so.

The steps are as follows:

Changing font size

To change font size (for games with V1 scenario files, that is, files with the header "BurikoCompiledScriptVer1.00"):

  00 00 00 00 00 00 00 00    // push 0       <- bold
  00 00 00 00 1C 00 00 00    // push 1C      <- font size
  00 00 00 00 00 00 00 00    // push 0       <- font family
  4C 01 00 00                // set message window format

Note that the opcode may appear multiple times with different font sizes: one for regular lines, one for whispering, one for yelling etc. If changing one font size has no effect ingame, try another.