Story spoilers ahead.
Where possible[^1] I will list all changes and give specific line numbers for the line I have modified. When I say I have modified a line number, I mean the line with the YAML ID [number]. The first line of Episode 1 is line 1 of umi1_0.yml, but its ID is 109.
[^1]:This is professional-speak for “unless I forgot.”
I’ve written a little about the things that made me want to look into modifying the patch in the first place.
The red truth
The first one is that the “red truth” (and later “blue truth”) throughout has inconsistent spacing, usually when the sentence before it ends with a period.
Example
This isn't the most egeregious example, but this is probably the first one you'd see in the story.
This looks pretty clearly off in-game, but this line in the code looks like this.
```'BEATRICE@r@v27/20701286."And I\'ll say more.@k@v27/20701287.@|@y@c900.@[No method exists by which the doors can be locked from the outside without using a key.@]@c.@k @v27/20701288.@|@y@c900.@[Regarding the windows, no method exists by which they could somehow be locked from the outside.@]@c."'```
The line becomes *really* hard to read. As long as there is one space after the `@k` in-between all those instructions, you fix this issue, but it's hard to tell at a glance exactly what you're looking at. This sometimes leads to redundant spaces as well, which are even harder to perceive but are still a formatting issue.
Truth fixes
For my own reference, since the "truths" are usually pretty densely consolidated, here's all the chapters containing "truths" (from what I've read thus far) and whether or not I've checked them
Episode 2:
Chapter 11 - Done, no issues
Chapter 12 - Done, no issues
Chapter 13 - Done, no issues
Chapter 14 - Done with fixes on 13136, 13137, 13180
Chapter 15 - Done, no issues
Chapter 16 - Done, no issues
Episode 3:
Prologue - Done, no issues
Chapter 4 - Done, no issues
Chapter 5 - Done, fixed 16872
Chapter 9 - Done, fixed 18181
Chapter 10 & Chapter 11 are one-liners and fine
Chapter 13 - Done, fixed 19461
Chapter 17 - Done, fixed 21712, 21767, 21787, 21831, 21933, 21942 (several), 21955, 21962 (whew)
Episode 4:
Chapter 4 - Done, 24002 had an extra space actually
Chapter 17 - Done, fixed 30500, 30523, 30529
Chapter 19 - Done, fixed 31481 (extra spaces)
Chapter 20 (Tea Party) - 32162, 32168, 32169, 32180, 32181, 32182, 32340, 32351, 32364, 32365, 32366, 32372, 32384, 32386, 32390, 32391, 32400, 32409, 32411, 32413, 32441, 32501, 32503, 32550, 32552, 32556. God they talk so much
Chapter 21 (???) - 32590, 32591, 32595,
“Uu♪”
Certain characters sometimes end their sentences with things like “☆” or “♪” instead of normal punctuation marks.
Throughout the patch, with a few exceptions this is just… gone? And it’s not replaced with normal punctuation, so instead there’s just awkward blank spaces and run-ons.
I’m inclined to believe this is an oversight rather than a purposeful choice, so I’m adding those back in. There are a few places where the punctuation is replaced for something reading as more “normal,” but it’s something you would see if you’re reading any other version of Umineko (including the original Japanese), so I’m modifying that as well for consistency. If Ryukishi says Maria can say ☆ out loud who are we to deny that
Sentences with ☆
8678
14694
22298
23119
23128
23132
23181
23185
23190
23230
24128
32583
32618
Sentences with ♪
8653
23054
24135
24138
24145
24267
24309
24393
24496
25602
26079
27118
28728
32614
32623
32636
Sentences that had their punctuation change reverted
9785 ("really...?" => "really♪")
23935 ("you knowwww?" => "you knowwww♪")
24265 ("secret from Mama!" => "Mama♪")
” - - - “
This isn’t something I caught the underlying cause for until I started fixing things, but it did strike me as odd.
Umineko Project uses em dashes (—) pretty frequently, both as used in the original Japanese and stylistically. To represent an unheard part of a sentence, the Japanese versions use either ** or …… depending on which version you’re looking at, but (as is common in English writing) Umipro uses em dashes for those.
The em dash is used in English literature, but due to most keyboards not having a specific em dash key (it’s mainly inserted by the program you’re writing in), it’s not something you’d typically come across in casual writing on the internet. In my personal writing - sort of like this - I use spaced dashes rather than spaced (or unspaced) em dashes.
The original patch made the decision to blanket replace almost all “—” with “ - “. Space-dash-space. I consider this valid syntax, but not really a necessary change. The issue is how much trouble this creates for every scenario where more than one em dash is used.
This turns “———” into “ - - - “. Space-dash-double-space-dash and so on.
To grab the theoretically least spoilery example, compare this effort noise to the unpatched Japanese text. It just doesn’t look right. There have been many times reading this patch I saw something like this and felt like something was off.

To make it easy on myself, I’m blanket unreplacing “ - “ with “—”, but handling certain cases (mainly “———” in place of a word) specially as I come across them so they follow English spacing. For the most part, Umipro uses the em dash properly.
Lines requiring special handling
443
4851
8607
21502
25832
25837
25878
26339
26341
27909
29284
30506
Lines where " - " was replaced automatically
147
159
160
204
243
368
466
477
485
520
546
598
641
660
679
757
815
881
904
934
991
1084
1088
1109
1115
1119
1129
1176
1209
1239
1350
1378
1401
1409
1414
1416
1419
1437
1448
1514
1552
1568
1691
1795
1818
1903
1938
1940
1951
1960
1973
1985
1989
2036
2099
2108
2224
2282
2423
2484
2557
2610
2703
2724
2729
2746
2945
2960
2964
3011
3143
3148
3165
3174
3252
3686
3808
3877
3903
4006
4010
4111
4123
4205
4240
4310
4311
4364
4412
4498
4556
4562
4571
4578
4634
4727
4738
4746
4764
4889
4939
4945
4957
5139
5173
5331
5332
5401
5482
5513
5578
5602
5631
5655
5715
5871
5935
6046
6066
6220
6253
6380
6385
6424
6428
6471
6484
6593
6619
6674
6714
6731
6759
6770
6843
6975
7086
7107
7138
7205
7219
7229
7291
7353
7448
7470
7491
7493
7519
7543
7589
7609
7611
7622
7681
7739
7752
7765
7843
7883
7962
7979
7991
8010
8023
8091
8127
8164
8169
8185
8209
8268
8315
8411
8429
8488
8543
8573
8612
8625
8692
8836
8855
8901
8903
8935
9009
9155
9168
9233
9243
9425
9491
9756
9789
9866
9899
9962
10006
10072
10105
10116
10180
10335
10360
10418
10458
10548
10637
10645
10744
10753
10824
10866
10889
10898
10937
10974
11051
11059
11126
11156
11303
11327
11507
11512
11514
11542
11569
11574
11666
11706
11740
11754
11791
11872
11880
11882
11887
11930
11983
11992
11993
12008
12024
12081
12266
12270
12303
12343
12374
12377
12527
12548
12558
12589
12601
12633
12827
12885
12907
12970
12974
13079
13124
13126
13143
13145
13211
13233
13341
13352
13399
13518
13526
13691
13751
13770
13885
13892
13952
13968
13978
13983
14018
14547
14616
14751
14839
15018
15055
15067
15073
15089
15269
15453
15528
15867
15893
15979
16113
16160
16201
16312
16637
16668
16835
16984
17267
17301
17305
17335
17511
17810
17831
17833
17855
17946
18162
18252
18644
19153
19271
19282
19302
19309
19401
19467
19481
19485
19498
19527
19542
19770
19881
20079
20140
20146
20152
20234
20316
20413
20686
20781
20977
20991
21283
21421
21591
21601
21604
21816
21818
21983
22034
22086
22127
22215
22274
22317
22326
22346
22389
22393
22566
22664
22665
22774
22844
22980
23330
23411
23415
23492
23523
23598
23625
23733
23754
23785
23787
23790
23791
23830
23832
23833
23940
23969
24002
24022
24085
24158
24183
24434
24472
24609
24644
24685
24701
24708
24711
24733
24779
24846
24954
25002
25009
25021
25024
25053
25081
25102
25131
25137
25179
25196
25208
25240
25275
25276
25426
25453
25455
25459
25465
25470
25531
25544
25553
25592
25595
25733
25746
25753
25830
25837
25859
25861
25867
25874
25887
25890
25962
25971
25987
26132
26242
26301
26414
26426
26461
26510
26514
26518
26519
26594
26606
26618
26621
26635
26695
26721
26783
26843
26946
26967
26989
27007
27276
27289
27295
27297
27325
27353
27367
27397
27459
27526
27557
27562
27621
27699
27727
27831
28104
28112
28190
28401
28494
28967
29096
29188
29216
29259
29272
29292
29297
29304
29463
29467
29674
29759
29902
29916
30007
30200
30368
30369
30471
30515
30527
30530
30673
30724
30766
30771
30878
30984
30985
31058
31077
31116
31190
31276
31278
31315
31397
31404
31414
31423
31482
31498
31507
31561
31636
31645
31647
31783
31817
31837
31881
31904
32005
32017
32107
32209
32210
32223
32227
32245
32349
32415
32456
32481
32494
32553
32611
32738
33021
33142
33213
33247
33793
34033
34233
34439
34658
35350
35376
35565
35647
35683
35685
35688
35715
35763
35851
35872
35876
36143
36237
36358
36939
37252
37253
37454
37628
37643
37824
37874
38092
38220
38303
38382
38405
38457
38501
38541
38593
38702
38807
38822
38837
39033
39175
39177
39206
39280
39505
39508
39604
39625
39800
39801
39802
39803
39850
39879
39912
40029
40119
40309
40333
40551
40609
40663
40897
41250
41272
41273
41464
41466
41480
41568
41574
41614
41727
42003
42071
42141
42207
42217
42320
42410
42414
42525
42902
43030
43160
43187
43303
43452
43465
43501
43634
43698
43709
43771
43911
43914
43976
44008
44139
44150
44197
44210
44344
44359
44362
44366
44468
44505
44669
44724
44726
44745
44756
44773
45049
45065
45089
45158
45178
45547
45575
45585
45701
45721
45769
45822
45878
45964
45968
46019
46124
46165
46172
46178
46352
46363
46457
46492
46519
46580
46719
46741
46850
46869
46904
47026
47043
47045
47056
47066
47069
47077
47103
47105
47107
47157
47158
47284
47303
47406
47529
47718
47721
47796
47932
47974
48059
48098
48100
48102
48106
48308
48403
48500
48554
48773
48861
49031
49040
49061
49068
49129
49134
49184
49377
49460
49471
49481
49827
49828
49848
49898
49903
50100
50320
50448
50459
50639
50718
50786
50852
51090
51123
51300
51458
51462
51463
51507
51628
51664
51729
51734
51765
51809
51810
51818
52288
52522
52527
52534
52717
52791
52876
52879
52922
52962
52990
52994
53024
53054
53114
53208
53323
53573
54455
54556
54594
54610
54616
54637
54706
55065
55223
55309
55331
55701
56035
56073
56113
56311
56562
56727
56789
56796
56798
56821
56827
56869
56935
57167
57256
57311
57656
57743
57817
57900
57953
58034
58115
58517
58833
58854
59094
59318
59599
59756
59845
59906
60348
60902
60903
61003
61028
61178
61223
61253
61317
61340
61609
61773
61837
61850
61956
62003
62023
62180
62342
62367
62398
62399
62457
62660
62833
63077
63439
63513
63651
63932
63972
64026
64277
64437
64617
64798
64827
64868
65046
65062
65468
120A
424A
495A
760A
815A
846A
2559A
3069A
6937A
There is a reason I can understand why this change might have been made initially, and that is:
The textbox layout function
Every textbox calls the function s.layout() (in layout.rb) in order to make sure the text actually fits in the box. It inserts @r (the new line command) automatically in appropriate places. This script has a pretty difficult job, determining the width of every line, what special @ commands are present, and so on, and breaking to the next line when appropriate.
There was an oversight in the original layout code that meant sometimes it did this badly. For example, in Episode 1 Chapter 1:
The input for this line is as follows:
@rGirls at Maria's age tend to be very impressionable.@k@rShe's just about the age when many girls start to get excited about sixth senses and whether they have any psychic potential and stuff.
The issue in this particular case lies in how @k@r is processed. Technically speaking, s.layout() looks for spaces in the input string and separates the words and spaces into “elements”. So @rGirls, at, Maria's, and all the spaces in-between get their own elements. If the line is too long, it moves the element to the next line by adding @r, trims excess whitespace, and continues until the text is entirely processed.
…But if you’re only breaking on spaces, impressionable.@k@rShe's is one element. We started a new line manually in the middle of the string, but it was counting the whole length of that element for the line length. You shouldn’t need to put a space in between, it’s a new line, after all, but I found that @k@r and @k @r both were processed differently, and this was the cause. I made it so that @r always separates itself into a new element when the text is being processed.
I compared the output of putting the script into s.layout() before and after, to make sure my changes weren’t destructive. @k@r is used so often in the narration that this change affects over two thousand lines. In the best case, it fixes those lines that seem to break in the middle for no reason. In the most minimal cases, it fits one or two extra words on the previous line, sometimes meaning it doesn’t need to create another line at all.
This also meant em dashes would potentially make very long elements (since they’re not spaces), so I added special handling for them to allow line breaks (without being deleted like whitespace would be). This only affects about ~90 lines, but anything that improves the reading experience is a win.
Other stuff
Extra spaces
Mostly found with the regex string "@k (@v...........\. )" and replaced with "@k\1"
479
1967
2084
2109
2195
3177
3269
6731
10181
11917
11923
11925
12327
12561
13169
13367
13372
13373
13798
14581
15169
15546
15811
15865
16960
17359
19300
20034
21988
22282
26220
33720
34643
36839
36986
41679
42135
42162
42199
42232
43589
43665
43669
44188
44210
44599
44884
45119
45397
46077
46463
46607
46618
46622
46694
46703
46741
46745
47009
47236
47263
48936
49332
50122
50804
50941
51807
52697
53006
53241
53786
54342
54968
55994
56000
56213
56878
57283
57598
57692
57941
58151
58353
58401
58855
59515
60112
60136
61406
64115
64212
64329
64453
64574
64635
65048
65466
- Missing period: 31560
- Missing line break: 27434
- Lines that have the japanese end quote character 」 in Episode 3 instead of the ending quotation mark: 18603, 19189
- “You knew that George slipped out of the mansion!!” This should be guesthouse (21228)
- This was actually a mistake originating from Umineko Project that no one had changed before I found it, so I submitted a pull request to get it fixed there too. Love wins
- “it’s a good view.Uu!” (23245)
- Reference to a “* shape” rather than an “× shape”, in a reference to being “sewn” (21525)
- “instantly.]” (32174)
- “whatsover” -> “whatsoever” (2257)
- “payed” (a real word meaning “to seal up a ship to prevent leaks”) => “paid” any notice (10936)
- Typos in the Umineko Project script that this patch was based on, that were fixed in Umipro but not here (504, 826, 16303, 19616, 24625, 24906, 27212, 30167)
- Sourced from the following commits:
- https://github.com/umineko-project/umineko-scripting/commit/23784ec431385d81238dea23a5e86c7442ba6d75
- https://github.com/umineko-project/umineko-scripting/commit/134a267165adce3e15dce672e9d07cc9a8f74077
- https://github.com/umineko-project/umineko-scripting/commit/c347ddb894e804e2926a1b0c0090f606527d1416
- This is technically changing the translation, but Battler says “e.g. Kumasawa-san” in a blue truth in Episode 4 (32390). “e.g.” isn’t used anywhere else in the text and it’s not really something you would say out loud. I think it’s okay to rephrase this as “like Kumasawa-san”, but I might revert this. The original line is “熊沢さんを始め、当時アリバイがない人間が存在した。”
- Added ruby text (furigana) to the “fast talking shiritori” in Episode 4 Chapter 8 (25641, 25642, 25646, 25649, 25651). I know how shiritori works but I don’t know Japanese so I can’t keep up otherwise. This bit lasts for like two seconds but it’s IMPORTANT ok
- Also added ruby text for the following:
- “asougi”/”nayuta” (1553) and the Japanese eras in Episode 1 (1636, 1637)
- Kanon’s “boku” in Episode 2 (8753)
- “yandere” (22292) and “ta nuki” (18416) in Episode 3
- there’s ruby for “tsundere” that I adjusted to match Umipro, because she says “dere” but the ruby said “deredere” (to match “tsuntsun” but like, she didn’t say that) (22291/32650)
- “110” (27844)/”Shotoku Taishi” (23289)/”gaooo” (23252, 24496) in Episode 4
- These aren’t strictly necessary (though the fact Kanon says boku is mentioned in the text) but I think they’re nice and don’t take away from anything. (Also I personally had no clue who Shotoku Taishi was.)
- Added pronunciation ruby text to the discussion of the epitaph in Episode 3 (18372, 18377, 18463, 18591) because that section is so kanji heavy and it seems helpful
- I also added “99.99% (four nines)” (2192)
but I had to switch "four nines" to the ruby text. It's not ideal and I spent a while trying to force it to work the other way (including investigating the font itself) but `.` doesn't work in the ruby text and nothing else looked right it works if you use full-width characters. I’ll allow myself to feel a little smart for that one
- I wanted to add more of the missing ruby text from Umipro, but I can’t tell why it’s there in the first place in some cases. Unfortunately a lot of Japanese cultural references also can’t be addressed in the same way Umipro does (adding them to the tips section) without further modding the game.