Codes and files used for the Chinese translation of Gakuen Handsome (学園ハンサム), which uses Famous Writer as its game engine.
Info: Famous Writer is a free gal game engine.
src.fwd
the binary archive into pieces, get header and offset table.
The last offset in the offset table indicates last entry's start address, copy from that address to the end of file into a separate binary file. This file would be the encoded game script you want to translate.parse.exe
to extract the subtitle lines from the script.<ENDFILE> <LASTNAME> <FIRSTNAME> <UNKNOWN9802>
with line break symbol (\n
), and then remove all the blank lines.make.exe
to generate encoded binary format of translated file.generate_ins_offset_table.exe
and the ins_length_list.txt
which is from Step 5's output to generate a new ins/opcode offset table.#pragma pack(4)
struct fwd {
struct fwd_header {
unsigned char magic[12];
unsigned char checksum[4];
unsigned char unknown[16];
} header;
struct fwd_entry_offset {
unsigned long padding;
unsigned long offset;
} entry_offsets [6];
};
generate_header_code.exe
is used for calculating the checksum (File offset: 0x0c
, 4 bytes) in fwd_header
based on Game.Title
and Game.Author
in setting.txt
.
This checksum is for file integrity validation, copyright control or so. arc.fwd
has this checksum too, same with src.fwd
's.