forked from theappleman/rldev
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
446 lines (269 loc) · 11.8 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
-------------------------------------------------------------------------------
RLDEV
an unofficial development toolkit for AVG2000 and RealLive
-------------------------------------------------------------------------------
CHANGELOG
-------------------------------------------------------------------------------
-- 1.45 - 2011.07.04 --
more, more, more!
etc, etc, etc.
piko piko piko.
monday, monday.
blue monday.
changed games.info to game.cfg... I panicked!
NOTE: for the -G option to work properly you will need to adjust
local paths for LB, LBEX and LBME in rldev-1.45/lib/rldev.cfg
Generating a seen map now produces both txt and html output files!
-- 1.45 - 2011.05.06 --
possibly counterintuitive rlc directory related changes.
added resource directory option (-r DIR / --resdir=DIR)
BEFORE: working directory was set to the source directory
(if specified) prior to loading script source file;
this would likely cause confusion when resdir would then be
interpreted as a subdirectory within the source directory
NOW: working directory not changed; source dir prepended to
script file path (dir or '.'); source file path loaded;
working directory set to script directory AFTER script
global header, seen header and script file(s) unless
resdir has been defined, so that resource files are
found in same directory as scripts unless overridden
a little convoluted, but that's how it is ... TODAY
rlc auto includes "globalNNNN.kh" after global.kh for "seenNNNN.txt" if present
clarification (just in case): global header file(s) (if present) are
expected in same directory as script files
-- 1.45 - 2011.04.13 --
"unable to encode" error now includes line number and file name info
-- 1.45 - 2011.01.20 --
new action: -i --info
resource sizes and string counts
rlc was incorrectly compiling "page" (<0:Msg:00210, 0>)
to "PAGE" <0:Sys:00163, 0>. corrected reallive.kfn.
map file generation (inter-seen cross reference of calls and gotos)
-- 1.45 - 2011.01.01 --
-- 1.45 - 2010.11.07 --
Updated bytecodes and new features by Richard 23.
Introduce game definition file for defining game
specific encryption keys and other game info.
/lib/games.info
Introduce cast of characters translation file.
cast.ini
Add support for LB, LB-EX, LB-ME, FIVE
Add support for dramatis personae translation &
special jp -> en characters (translation prep).
Major update to reallive.kfn function definition file
(many new functions exposed by RealLiveMax SDK).
Needs to be more fully tested with existing games.
go[to|sub]_on and go[to|sub]_case are now standard cases
source debugger '#line n' directives now written inline
KPRL:
when an error occurs during disassembly a hex dump
file is generated which may help debugging kprl.
hex dump file has extension 'hex'.
script files use file extension 'org' (was 'ke')
for compatibility with RealLive source debugger.
new action: -i --info
not implemented yet
new action: -K --check
new action: -c --compress
new action: --decompress
new action: --encrypt
new action: --decrypt
new option: -G GID --game=GID
specify game by id (/lib/games.info)
affects game-specific key, version
new option: -Z --separate-all-strings (variant of -S)
inline string values use a separate numbering system
<Snnn> so that in-process translation isn't affected
if "separate all" option is enabled after the fact.
-S or -Z should be the default in order that substrings
for dynamic output aren't missed during translation.
new option: -F ADDR --from=ADDR
specify start address for disassembly
new option: -T ADDR --to=ADDR
specify end address for disassembly
new option: --kfn=FILE
specify function definition file to use
(default: lib/reallive.kfn)
new option: --cast=FILE
specify cast of characters translation file
(default: cast.ini)
new option: -p --translation-prep
output resource strings twice, commenting out the first
new option: --ext=EXT
file extension for script files (default: org; was: ke)
RLC:
Fixed rlc/function.ml get_func_def() for
zero param function calls (eg, page) seen2505
rlc -v[erbose] -> -v[erbose]=LVL; was boolean,
changed to integer (consistent with kprl)
-- [subversion] --
-- 1.41 - 200x.x.xx --
Add support for Traditional Chinese (CP950).
KPRL:
Add support for reading the additional encryption layer used in
Little Busters!. Note that rlc CANNOT currently recompile files in
this format - only extraction is supported.
RLC:
Encode selections properly when using Chinese or Korean text.
-- 1.40 - 2006.6.22 --
Fix build system for portability (it now works in Darwin and Solaris).
Add support for rlBabel-encoded default names.
Modify Korean support, replacing the hanja with more hangul.
VACONV:
Fix decoding of G00 format 1.
RLC:
Fix a potential issue with compilation of unary operations in function
parameters.
Fix various parsing errors in gameexe.ini.
-- 1.39 - 2006-5-1 --
Fix UTF-8 BOM handling.
Improve handling of the case where a scenario ends with a label.
Add support for Korean text (KS X 1001).
-- 1.38 - 2006-4-22 --
Fix some more code-generation bugs.
-- 1.37 - 2006-4-21 --
VACONV:
Implement origin specifications in G00 format 2 regions; these are used by
some dialog graphics in Clannad.
Fix fatal errors caused by failure to range-check region bounds.
-- 1.36 - 2006-4-17 --
Fix a bug causing incorrect code generation in CLANNAD's SEEN9033.
Support non-inline speaker names in rlBabel.
-- 1.35 - 2006-4-11 --
Numerous bug fixes.
The Textout library now works properly.
rlBabel's proportional text output is now mature enough for limited use (it
supports the features Kanon needs).
RLC:
"case" statements are now compiled more efficiently in the optimal case where
all "of" expressions are constant and there are no gaps in coverage.
-- 1.30 - 2006-2-1 --
Support for non-Japanese character sets. Games can now use ISO-8859-1 or
GB2132, in addition to JIS. (This requires interpreter support. A generic
noninvasive patch is supplied which works with RealLive 1.2 and up.)
Support per-file input encoding specification.
Fixed a number of bugs in all utilities related to relative pathnames.
Fixed handling of effects in select() calls, removing the Princess Bride
special-casing and replacing it with what should be the correct general
implementation. The syntax accepted for effect clauses has been expanded
accordingly.
Disabled Camomile support, as it was unmaintained and largely unused.
RLC:
Fixed a bug that sometimes caused calls to certain functions from conditional
expressions to be compiled twice.
Generate correct code for == and != on string operands.
New alternative dynamic formatting library 'rlBabel': this supports
proportional text, but only works in RealLive 1.2 and up. Work in progress.
KPRL:
Fixed a longstanding bug in the API versioning checks.
API:
Modified a number of function names, definitions, and documentation in the
light of new information. This has resulted in some non-backwards-compatible
API changes, though the old functions have been deprecated rather than removed
for now. Note in particular that the streq() function no longer exists: it
was a victim of mistaken identity.
-- 1.25 - 2005-12-16 --
RLC:
Fixed a bug introduced in the previous release that was causing optimisation
of conditional jumps to emit invalid bytecode.
-- 1.24 - 2005-12-10 --
RLC:
Fixed faulty 1.3 support by implementing the other call variables (strK)
and fixing the related jump functions. Internally, reduced the number of
hardwired special cases.
-- 1.23 - 2005-9-26 --
Improved support for RealLive 1.3 by implementing call variables (intL) and
adding the ability to parse some related jump functions.
API:
Implemented colour() modifier for select strings.
-- 1.22 - 2005-9-15 --
API:
Fixed __empty_string?() implementation.
Textout: implemented breaking after non-escaped hyphens; added `\k-' and `\k '
for explicit non-breaking hyphen and space.
RLC:
Fixed precedence of && and || in generated bytecode.
VACONV:
Rearchitected in a more extensible way; added basic output support for Majiro
formats (.rc8, .rct).
-- 1.21 - 2005-6-22 --
API:
Renamed Date(), Time(), and DateTime() to GetDate(), GetTime(), and
GetDateTime() respectively, to resolve a naming conflict. Renamed objHide()
and objBgHide() to objClear() and objBgClear(), which more accurately
reflect the functions' purpose.
Textout: fixed inaccurate lineation in the presence of \e{} and \em{}.
RLC:
Fixed bug where using empty string parameters could generate malformed code.
Fixed bug preventing use of certain non-ASCII characters in identifiers.
Implemented resource-file-based code rewriting with the \f{} control code.
(As yet undocumented.)
VACONV:
Fixed generation of regions in G00 format 2 bitmaps.
Fixed bug causing black and white masks to be lost in some circumstances.
RLXML:
First release: auxiliary data conversion tool. Currently supports conversion
of GAN files to and from XML.
-- 1.20 - 2005-6-7 --
API:
Fine-grained API versioning; among other things, this means that pre-1.1
versions of RealLive are now supported properly.
More new control codes (\mv{}, \pos{}, etc.)
Introduced Textout, a new dynamic lineation library.
RLC:
Preliminary implementation of user variables and arrays.
-- 1.11 - 2005-4-19 --
Major compatibility breaches. Altered syntax of several features; removed
static lineation and glosses altogether, pending improved reimplementation.
API:
Support for emitting codes \e{}, \em{}.
Generalised handling of grpMulti etc; other functions of this sort (e.g.
the index_series() function introduced in later 1.2.6 builds) can now just be
added straight to reallive.kfn.
RLC:
First release: new compiler superceding Rlas.
KPRL:
Support for the new entrypoint marker used in RealLive 1.2.5 and newer.
VACONV:
First release: graphic conversion tool. Currently supports conversions
between G00, PDT, and PNG.
-- 1.03 - 2004-12-16 --
KPRL:
Fixed unhandled exception resulting from failure to auto-detect `kinetic'
target.
RLAS:
Compilation to `kinetic' target now works.
New control code \assume{} provides a workaround for various situations that
the automatic lineation routine cannot handle correctly. [Removed in 1.11]
New variable GLOSS_SEP_WINDOW provides a method to display hypertext glosses
in novel-type games using R_COMMAND_MOD to display long pages. [Removed in 1.11]
-- 1.02 - 2004-12-12 --
Limited support for a new target `kinetic', which handles the bytecode changes
in the kinetic.exe interpreter.
RLAS:
Lineation now reads settings from the INI file as documented and applies the
correct spacing to hankaku characters.
Fixed AVG2000 support.
-- 1.01 - 2004-12-11 --
Minor bug fix release.
-- 1.00 - 2004-11-25 --
Manual written.
Support for encodings other than CP932.
Camomile is now optional.
Package renamed; the default search path now looks for an rldev directory
rather than a kprl directory, and the KPRL environment variable has been
renamed RLDEV.
KPRL:
Archive modification (adding and removing files).
RLAS:
AVG2000 support.
New codes: glosses [removed in 1.11], resource string management.
More convenient format for names with \{}, \m{A-ZZ}, and \l{A-ZZ}.
Recognise conditional options and inline variables in the select() family.
-- 0.99 - 2004-10-26 --
RLAS:
First release.
-- 0.80 - 2004-07-28 --
KPRL:
First release.
-------------------------------------------------------------------------------