Skip to content

Commit

Permalink
Documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
MinN-11 committed Dec 9, 2021
1 parent befd9c0 commit 273ac5c
Show file tree
Hide file tree
Showing 3 changed files with 202 additions and 1 deletion.
43 changes: 43 additions & 0 deletions NarrowFont.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
0x20, 0xBC
a, 0x81
b, 0x82
c, 0x83
d, 0x84
e, 0x85
f, 0x86
g, 0x87
h, 0x88
j, 0x89
k, 0x8A
n, 0x8B
o, 0x8C
p, 0x8D
q, 0x8E
r, 0x8F
s, 0x90
u, 0x96
v, 0x97
x, 0x98
y, 0x99
z, 0x9A
A, 0x9B
B, 0x9C
C, 0x9D
D, 0x9E
E, 0x9F
F, 0xA0
G, 0xA2
H, 0xA3
J, 0xA4
K, 0xA5
L, 0xA6
O, 0xA7
P, 0xA8
Q, 0xA9
R, 0xAC
S, 0xAD
U, 0xAE
V, 0xAF
X, 0xB0
Y, 0xB1
Z, 0xB2
63 changes: 63 additions & 0 deletions NarrowFontExtension.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
0x20, 0xBC
a, 0x81
b, 0x82
c, 0x83
d, 0x84
e, 0x85
f, 0x86
g, 0x87
h, 0x88
j, 0x89
k, 0x8A
n, 0x8B
o, 0x8C
p, 0x8D
q, 0x8E
r, 0x8F
s, 0x90
u, 0x96
v, 0x97
x, 0x98
y, 0x99
z, 0x9A
A, 0x9B
B, 0x9C
C, 0x9D
D, 0x9E
E, 0x9F
F, 0xA0
G, 0xA2
H, 0xA3
J, 0xA4
K, 0xA5
L, 0xA6
O, 0xA7
P, 0xA8
Q, 0xA9
R, 0xAC
S, 0xAD
U, 0xAE
V, 0xAF
X, 0xB0
Y, 0xB1
Z, 0xB2
0, 0xC0
1, 0xC1
2, 0xC2
3, 0xC3
4, 0xC4
5, 0xC5
6, 0xC6
7, 0xC7
8, 0xC8
9, 0xC9
., 0xCA
0x2C, 0xCB
:, 0xCC
+, 0xCD
-, 0xCE
/, 0xCF
(, 0xD0
), 0xD1
', 0xD4
", 0xD5
97 changes: 96 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,97 @@
# TextProcessX
Better text processor for buildfiles
Advanced text processor for buildfiles.

## What's new
### New Features
TextProcessX provides auto newline, auto add `[A]`, auto narrow and overflow warning.

The lack of dependency on calling ParseFile multiple times provides a significant performance boost. Text building and parsing should cost less than 1 second on most PCs.

[X] is no longer required as text no longer fall through different entries.

### Backwards Compatability
TextProcessX is mostly backwards compatable to classic TextProcess and even Bly's extension, however there are a few minor changes.

`[var] = something` can be called anywhere, but using `[A] [B]` as `[A] = [B]` is no longer supported.

Using `#` as line comment is no longer supported since text no longer fall through. Use `//` instead. *(Probably won't cause an error unless the comment is in the middle of a text block)*

Leading and trailling spaces will be trimmed, use `[0x20]` instead if necessary.

`ParseDefinitions.txt` is no longer given special treatment so please add

#include "ParseDefinitions.txt"
to the start of your text_buildfile to use your definitions normally.

### Additional Requirements

A version of EA Core that supports raw **BASE64**

## Command Line Arguments
TextProcess text_buildfile.txt InstallTextData.event --narrow-mapping narrow_mapping.csv --rom reference.gba --portraits PortraitInstaller.event

### Breakdown:
--narrow-mapping, a csv file, required for narrow font features.

Each line represents the non-narrow version and narrow version of a character.

Valid lines:

a, 0x81
0x20, 0x79
32, 127

Sample csv files are provided in the project.

--rom, if specified, we will use the glyph data stored in a rom to calculate text size so we can perform auto-narrow. If not specified, we will use default FE8 glyph sizes. To use the standard narrowfont glyph sizes, at the start of *text_buildfile.txt* specify

#define UseDefaultNarrowFontProfile

--portraits, an Event Assembler event, if specified, we will automatically import definitions like `#define {NAME}Portrait` or `#define {NAME}Mug`.
For example if

#define TimmyMug 0x14

**[LoadTimmy]** will become

[LoadPortrait][0x14][0x1]

## New Formatting Options

Traditionally TextProcess has 2 syntax for text:

## Name
# 0x1234 (Name)

Now the syntax goes

#(T/X/I/N/W/D/S/#) (0x1234) (Name)

T/X/I/N/W/D/S determine which type of text this is

#T: Text, or dialogue in general, 160px serif font
#X: eXtension, dialog with 3 line dialogue patch installed
#I: Item Name, 56px menu font
#N: (Character/Class) Name, 46px menu font
#W: Weapon Description, 160px serif font
#D: Description: 160px serif font, x2 lines
#S: Skill Description: 160px serif font, x3 lines
#/## (Default): The text will not be altered in any way.

T and X will try to add `[N]`s and `[A]`s if necessary. The program will not break existing formats and only add `[N]`s and `[A]`s if overflows occur.

I/N/W/D/S will try to narrow the text if an overflow occurs.
D/S will add [N]s if necessary

Examples


#I IronSwordName
Iron Sword

#W IronSwordDesc
A sword made of Iron.




0 comments on commit 273ac5c

Please sign in to comment.