Всё вроди бы ничего
Вроди всё нормально
И может ли Круптар, работать с файлами, в которых не просто поинтеры, а поинтеры указывающие на поинтеры, которые указывают на текст? :)Что мешает использовать поинтеры, которые непосредственно ссылаются на текст?
где можно найти доку по "Круптару"? Скачал седьмую версию, в текстовике прилагавшемся к Круптару, указан адрес на доку - http://www.magicteam.net/krupdoc.htmВ разделе "Документация" на сайте.
Как вычислить, какая именно строка не нравится круптару?Наверно, нулевая :)
[Предупреждение] ........ tbl_eng.tbl(0): Неверная строка таблицы.
что ему не нравится?Эта строка и не нравится. В таблице должны быть только символы/слова и коды им соответствующие, ну, и строчка ends. Никаких cp1251 быть не должно.
code page 1251, че...Круптар работает с юникодом (UTF-16), таблицы, соответственно, тоже лучше в UTF-16 делать. Никаких code page, есессно, указывать не нужно.
Из-за этой строчки могут быть какие-то проблемы вообще или нет?Что тебе мешает её убрать? Хуже не будет.
Никаких code page, есессно, указывать не нужно.Нужно, нужно, если не UTF-16 или UTF-8. В какой-то версии такая же ошибка выскакивала. Тут может быть такое, что у текстового файла кодировка юникодовая, а приписано в начале "cp1251", из-за такого ошибка и может вылезти.
Нужно, нужно, если не UTF-16 или UTF-8.Дык, я про Юникод и говорил :)
Дык, я про Юникод и говорил :)Так ты в отдельное предложение выделил, непонятна же мысль потом. :)
так убирать эту хрень (cp1251)?Так-то да, но можешь ещё таблицу прикрепить, что ясно всё было.
Сразу после этого кода идет стоп-байт "00 00", потом перенос "00 0A" (но в круптаре его не показывает - идет сразу следующий блок с текстом: "Are you sure you want to quit?".На стоп-байте чтение обычно прерывается.
На стоп-байте чтение обычно прерывается.Я это знаю, но стоп-байт присутствует же в других кодах.
Это точно ошибка в плагине? Не в таблицах?Точно в плагине.
Точно в плагине.
Multiply=2, Align=1,Кстати, для двухбайтной кодировки нужно ставить Align = 2 (в новой версии этот пункт называется ptCharSize, а Multiply - ptAlignment).
Кстати, для двухбайтной кодировки нужно ставить Align = 2
function GetStrings(X, Sz: Integer): PTextStrings; stdcall;
var
PW: PWord; PC: PAnsiChar absolute PW;
begin
New(Result, Init);
with Result.Add^ do
begin
PW := Addr(ROM[X]);
while PW^ <> 0 do
begin
if PW^ = $0E00 then // Если контрольный код, то считать 8 байтов данных в строку
begin
Str := Str + PC^ + PC^;
Inc(PW);
Str := Str + PC^ + PC^;
Inc(PW);
Str := Str + PC^ + PC^;
Inc(PW);
Str := Str + PC^ + PC^;
Inc(PW);
end; // Считать 2 байта в строку
Str := Str + PC^ + PC^;
Inc(PW);
end;
end;
end;
Переменная X - адрес откуда считывать.
function GetData(TextStrings: PTextStrings): AnsiString; stdcall;
var
R: PTextString;
I: Integer;
begin
Result := '';
If TextStrings = NIL then Exit;
With TextStrings^ do
begin
R := Root;
While R <> NIL do
begin
Result := Result + R^.Str + #0 + #0;
R := R^.Next;
end;
end;
end;
function GetStrings(X, Sz: Integer): PTextStrings; stdcall;
type
TWordRec = packed record
A: Char;
B: Char;
end;
var
PW: PWord; PC: ^TWordRec absolute PW;
begin
New(Result, Init);
with Result.Add^ do
begin
PW := Addr(ROM[X]);
while PW^ <> 0 do
begin
if PW^ = $0E00 then
begin
Str := Str + PC.A + PC.B;
Inc(PW);
Str := Str + PC.A + PC.B;
Inc(PW);
Str := Str + PC.A + PC.B;
Inc(PW);
Str := Str + PC.A + PC.B;
Inc(PW);
end;
Str := Str + PC.A + PC.B;
Inc(PW);
end;
end;
end;
PS. такой небольшой вопрос: при вводе адреса последнего пойнтера в проекте, писать его ПЕРВЫЙ или ПОСЛЕДНИЙ байт?
В этом тебе надо самому разобраться и добавить дополнительные условия в код плагина.
000E00020002000400000000
000E000100040002001E002D
000E000100050004002D0000
000E000100050004003C0000
000E00010009000400000001
000E00010009000400000002
000E00010009000400000003
000E00010009000400000004
000E00010009000400000005
000E00010009000400000006
000E00010009000400000007
000E00010009000400000008
000E00010009000400000012
000E00010009000400000057
000E00010009000400000400
000E00010009000400000404
000E00010009000400000609
000E00010009000400000700
000E00010009000400000B05
000E00010009000400000C00
000E00010009000400000C01
000E00010009000400000C02
000E00010009000400000C03
000E00010009000400000C04
000E00010009000400000C05
000E00010009000400000C06
000E00010009000400000C16
000E00010009000400000D00
000E00010009000400000E12
000E00010009000400001100
000E00010009000400001200
000E000100090004000C0C00
000E000100090004000F1300
000E00010012000400000003
000E0001001200040000000D
000E000300010000
000E000200000000
Например, я вижу, что во всех 12-байтных кодах после 000E идёт 0001, кроме одного, в котором 0002. Но это, возможно, ошибка ваша.
000E0002000200040000={Tag 426} После этого контрольного кода идёт ещё один 0000, поэтому происходит останов.
Значит 000E - самостоятельный код.
Почему-то мне кажется, что нет.Надо разбираться, а не гадать.
Надо разбираться, а не гадать.
Str := Str + PC.A + PC.B;
Inc(PW);
Str := Str + PC.A + PC.B;
Inc(PW);
Попробовал добавить еще две строки в плагин:Не нужно пробовать просто так что-то добавлять. Разбери просто каждый отдельный код на части и посмотри от чего зависит количество байт.
Разбери просто каждый отдельный код на части и посмотри от чего зависит количество байт.
000E0001000900040000={Tag 87}Это уже что-то.
000E00010009000400000001={Tag 8701}
000E00010009000400000002={Tag 8702}
000E00010009000400000003={Tag 8703}
000E00010009000400000004={Tag 8704}
000E00010009000400000005={Tag 8705}
000E00010009000400000006={Tag 8706}
000E00010009000400000007={Tag 8707}
000E00010009000400000008={Tag 8708}
000E00010009000400000012={Tag 8709}
000E00010009000400000057={Tag 8710}
000E00010009000400000400={Tag 8711}
000E00010009000400000404={Tag 8712}
000E00010009000400000609={Tag 8713}
000E00010009000400000700={Tag 8714}
000E00010009000400001100={Tag 8715}
000E00010009000400001200={Tag 8716}
000E00010009000400000B05={Tag 8717}
000E00010009000400000C00={Tag 8718}
000E00010009000400000C01={Tag 8719}
000E00010009000400000C05={Tag 8720}
000E00010009000400000C06={Tag 8721}
000E00010009000400000C16={Tag 8722}
000E00010009000400000D00={Tag 8723}
000E00010009000400000E12={Tag 8724}
Чтобы его завершить, нужно понять, что отвечает за размер кода
Это уже что-то.
Я могу понять, за что овечает код (ну, там, пауза в диалоге это, или цвет, или код иконки кнопки и т.п...)Вот пойми и напиши различия здесь. Их не будет несколько тысяч, если понять принцип.
library New_Plug;
uses
ShareMem,SysUtils,
Needs in 'K:\Translations\zeldaTP\Kruptar_PlugSrc\Needs.pas';
{$E .kpl}
resourcestring
SKPLDescription = 'The Legend of Zelda: Twilight Princess';
Var
ROM: PBytes = NIL;
RomSize: Integer = 0;
EndsRoot: PTableItem = NIL;
MaxCodes: Integer = 0;
Align: Integer = 1;
Function Description: String; stdcall;
begin
Result := SKPLDescription;
end;
Function NeedEnd: Boolean; stdcall;
begin
Result := True;
end;
Function GetMethod: TMethod; stdcall;
begin
Result := tmNone;
end;
Procedure SetVariables(X: PBytes; Sz: Integer; ER: PTableItem; MC, AL: Integer); stdcall;
begin
ROM := X;
RomSize := Sz;
EndsRoot := ER;
MaxCodes := MC;
Align := AL;
end;
Function GetData(TextStrings: PTextStrings): String; stdcall;
Var R: PTextString;
begin
Result := '';
If TextStrings = NIL then Exit;
With TextStrings^ do
begin
R := Root;
While R <> NIL do
begin
Result := Result + R^.Str;
R := R^.Next;
end;
end;
end;
Function GetStrings(X, Sz: Integer): PTextStrings; stdcall;
Const
ArrayNumber = 172;// Количество массивов
MatchingArray: array[0..ArrayNumber-1, 0..9] of byte = ((6,$1A, $06, $FF, $00, $00, $00,0,0,0),
(6, $1A, $06, $FF, $00, $00, $01,0,0,0),
(6, $1A, $06, $FF, $00, $00, $02,0,0,0),
(6, $1A, $06, $FF, $00, $00, $03,0,0,0),
(6, $1A, $06, $FF, $00, $00, $04,0,0,0),
(6, $1A, $06, $FF, $00, $00, $05,0,0,0),
(6, $1A, $06, $FF, $00, $00, $06,0,0,0),
(6, $1A, $06, $FF, $00, $00, $07,0,0,0),
(6, $1A, $06, $FF, $00, $00, $08,0,0,0),
(5, $1A, $05, $00, $00, $00,0,0,0,0),
(5, $1A, $05, $00, $00, $01,0,0,0,0),
(5, $1A, $05, $00, $00, $02,0,0,0,0),
(5, $1A, $05, $00, $00, $0A,0,0,0,0),
(5, $1A, $05, $00, $00, $0B,0,0,0,0),
(5, $1A, $05, $00, $00, $0C,0,0,0,0),
(5, $1A, $05, $00, $00, $0D,0,0,0,0),
(5, $1A, $05, $00, $00, $0E,0,0,0,0),
(5, $1A, $05, $00, $00, $0F,0,0,0,0),
(5, $1A, $05, $00, $00, $10,0,0,0,0),
(5, $1A, $05, $00, $00, $11,0,0,0,0),
(5, $1A, $05, $00, $00, $12,0,0,0,0),
(5, $1A, $05, $00, $00, $13,0,0,0,0),
(5, $1A, $05, $00, $00, $14,0,0,0,0),
(5, $1A, $05, $00, $00, $15,0,0,0,0),
(5, $1A, $05, $00, $00, $16,0,0,0,0),
(5, $1A, $05, $00, $00, $17,0,0,0,0),
(5, $1A, $05, $00, $00, $18,0,0,0,0),
(5, $1A, $05, $00, $00, $1A,0,0,0,0),
(5, $1A, $05, $00, $00, $1B,0,0,0,0),
(5, $1A, $05, $00, $00, $1C,0,0,0,0),
(5, $1A, $05, $00, $00, $1D,0,0,0,0),
(5, $1A, $05, $00, $00, $20,0,0,0,0),
(5, $1A, $05, $00, $00, $21,0,0,0,0),
(5, $1A, $05, $00, $00, $23,0,0,0,0),
(5, $1A, $05, $00, $00, $29,0,0,0,0),
(5, $1A, $05, $00, $00, $2B,0,0,0,0),
(5, $1A, $05, $00, $00, $2C,0,0,0,0),
(5, $1A, $05, $00, $00, $2D,0,0,0,0),
(5, $1A, $05, $00, $00, $2E,0,0,0,0),
(5, $1A, $05, $00, $00, $31,0,0,0,0),
(5, $1A, $05, $00, $00, $32,0,0,0,0),
(5, $1A, $05, $00, $00, $35,0,0,0,0),
(5, $1A, $05, $00, $00, $38,0,0,0,0),
(5, $1A, $05, $00, $00, $39,0,0,0,0),
(5, $1A, $05, $00, $00, $3B,0,0,0,0),
(5, $1A, $05, $00, $00, $19,0,0,0,0),
(5, $1A, $05, $01, $00, $00,0,0,0,0),
(5, $1A, $05, $01, $00, $0A,0,0,0,0),
(5, $1A, $05, $01, $00, $14,0,0,0,0),
(5, $1A, $05, $03, $00, $01,0,0,0,0),
(5, $1A, $05, $03, $00, $02,0,0,0,0),
(5, $1A, $05, $03, $00, $04,0,0,0,0),
(5, $1A, $05, $03, $00, $05,0,0,0,0),
(5, $1A, $05, $03, $00, $06,0,0,0,0),
(5, $1A, $05, $03, $00, $07,0,0,0,0),
(5, $1A, $05, $03, $00, $08,0,0,0,0),
(5, $1A, $05, $03, $00, $09,0,0,0,0),
(5, $1A, $05, $03, $00, $0A,0,0,0,0),
(5, $1A, $05, $03, $00, $0B,0,0,0,0),
(5, $1A, $05, $03, $00, $0C,0,0,0,0),
(5, $1A, $05, $03, $00, $0E,0,0,0,0),
(5, $1A, $05, $03, $00, $0F,0,0,0,0),
(5, $1A, $05, $03, $00, $10,0,0,0,0),
(5, $1A, $05, $03, $00, $11,0,0,0,0),
(5, $1A, $05, $03, $00, $13,0,0,0,0),
(5, $1A, $05, $03, $00, $14,0,0,0,0),
(5, $1A, $05, $00, $00, $22,0,0,0,0),
(5, $1A, $05, $00, $00, $24,0,0,0,0),
(5, $1A, $05, $00, $00, $3C,0,0,0,0),
(5, $1A, $05, $00, $00, $3E,0,0,0,0),
(5, $1A, $05, $00, $00, $3F,0,0,0,0),
(5, $1A, $05, $05, $00, $07,0,0,0,0),
(5, $1A, $05, $05, $00, $08,0,0,0,0),
(5, $1A, $05, $05, $00, $0A,0,0,0,0),
(5, $1A, $05, $05, $00, $0B,0,0,0,0),
(5, $1A, $05, $05, $00, $0D,0,0,0,0),
(5, $1A, $05, $05, $00, $0E,0,0,0,0),
(5, $1A, $05, $06, $00, $02,0,0,0,0),
(5, $1A, $05, $06, $00, $03,0,0,0,0),
(5, $1A, $05, $06, $00, $04,0,0,0,0),
(5, $1A, $05, $06, $00, $05,0,0,0,0),
(5, $1A, $05, $06, $00, $06,0,0,0,0),
(5, $1A, $05, $06, $00, $0A,0,0,0,0),
(5, $1A, $05, $06, $00, $0B,0,0,0,0),
(6, $1A, $06, $00, $00, $08, $00,0,0,0),
(6, $1A, $06, $00, $00, $08, $01,0,0,0),
(6, $1A, $06, $00, $00, $08, $02,0,0,0),
(6, $1A, $06, $00, $00, $08, $03,0,0,0),
(6, $1A, $06, $00, $00, $08, $04,0,0,0),
(5, $1A, $06, $00, $00, $09,0,0,0,0),
(6, $1A, $06, $00, $00, $1E, $01,0,0,0),
(6, $1A, $06, $00, $00, $1F, $00,0,0,0),
(6, $1A, $06, $00, $00, $30, $00,0,0,0),
(6, $1A, $06, $00, $00, $30, $01,0,0,0),
(6, $1A, $06, $00, $00, $30, $02,0,0,0),
(6, $1A, $06, $00, $00, $30, $03,0,0,0),
(6, $1A, $06, $00, $00, $33, $01,0,0,0),
(6, $1A, $06, $00, $00, $33, $02,0,0,0),
(6, $1A, $06, $00, $00, $34, $00,0,0,0),
(6, $1A, $06, $00, $00, $37, $00,0,0,0),
(6, $1A, $06, $00, $00, $37, $01,0,0,0),
(6, $1A, $06, $00, $00, $37, $02,0,0,0),
(6, $1A, $06, $05, $00, $00, $00,0,0,0),
(6, $1A, $06, $05, $00, $00, $01,0,0,0),
(6, $1A, $06, $05, $00, $03, $00,0,0,0),
(6, $1A, $06, $05, $00, $03, $01,0,0,0),
(6, $1A, $06, $05, $00, $0C, $00,0,0,0),
(6, $1A, $06, $05, $00, $0C, $01,0,0,0),
(7, $1A, $07, $00, $00, $36, $00, $14,0,0),
(7, $1A, $07, $00, $00, $36, $00, $8A,0,0),
(7, $1A, $07, $00, $00, $36, $00, $1E,0,0),
(7, $1A, $07, $00, $00, $36, $00, $2D,0,0),
(7, $1A, $07, $00, $00, $36, $00, $3C,0,0),
(7, $1A, $07, $00, $00, $04, $00, $1E,0,0),
(7, $1A, $07, $00, $00, $04, $00, $4B,0,0),
(7, $1A, $07, $00, $00, $04, $06, $EA,0,0),
(7, $1A, $07, $00, $00, $04, $00, $2B,0,0),
(7, $1A, $07, $00, $00, $04, $00, $6D,0,0),
(7, $1A, $07, $00, $00, $04, $00, $41,0,0),
(7, $1A, $07, $00, $00, $04, $00, $21,0,0),
(7, $1A, $07, $00, $00, $04, $00, $25,0,0),
(7,$1A, $07, $00, $00, $07, $00, $00,0,0),
(7,$1A, $07, $00, $00, $07, $00, $01,0,0),
(7,$1A, $07, $00, $00, $07, $00, $02,0,0),
(7,$1A, $07, $00, $00, $07, $00, $03,0,0),
(7,$1A, $07, $00, $00, $07, $00, $04,0,0),
(7,$1A, $07, $00, $00, $07, $00, $05,0,0),
(7,$1A, $07, $00, $00, $07, $00, $06,0,0),
(7,$1A, $07, $00, $00, $07, $00, $07,0,0),
(7,$1A, $07, $00, $00, $07, $00, $08,0,0),
(7,$1A, $07, $00, $00, $07, $00, $09,0,0),
(7,$1A, $07, $00, $00, $07, $00, $0A,0,0),
(7,$1A, $07, $00, $00, $07, $00, $0B,0,0),
(7,$1A, $07, $00, $00, $07, $00, $0C,0,0),
(7,$1A, $07, $00, $00, $07, $00, $0D,0,0),
(7,$1A, $07, $00, $00, $07, $00, $0E,0,0),
(7,$1A, $07, $00, $00, $07, $00, $0F,0,0),
(7,$1A, $07, $00, $00, $07, $00, $10,0,0),
(7,$1A, $07, $00, $00, $07, $00, $11,0,0),
(7,$1A, $07, $00, $00, $07, $00, $12,0,0),
(7,$1A, $07, $00, $00, $07, $00, $13,0,0),
(7,$1A, $07, $00, $00, $07, $00, $14,0,0),
(7,$1A, $07, $00, $00, $07, $00, $15,0,0),
(7,$1A, $07, $00, $00, $07, $00, $16,0,0),
(7,$1A, $07, $00, $00, $07, $00, $17,0,0),
(7,$1A, $07, $00, $00, $07, $00, $18,0,0),
(7,$1A, $07, $00, $00, $07, $00, $19,0,0),
(7,$1A, $07, $00, $00, $07, $00, $1A,0,0),
(7,$1A, $07, $00, $00, $07, $00, $1B,0,0),
(7,$1A, $07, $00, $00, $07, $00, $1C,0,0),
(7,$1A, $07, $00, $00, $07, $00, $1D,0,0),
(7,$1A, $07, $00, $00, $07, $00, $1E,0,0),
(7,$1A, $07, $00, $00, $07, $00, $1F,0,0),
(7,$1A, $07, $00, $00, $07, $00, $2D,0,0),
(7,$1A, $07, $00, $00, $04, $00, $00,0,0),
(7,$1A, $07, $00, $00, $04, $00, $05,0,0),
(7,$1A, $07, $00, $00, $04, $00, $2D,0,0),
(7,$1A, $07, $00, $00, $04, $00, $32,0,0),
(7,$1A, $07, $00, $00, $04, $00, $3C,0,0),
(7,$1A, $07, $00, $00, $04, $00, $0F,0,0),
(7,$1A, $07, $00, $00, $04, $00, $19,0,0),
(7,$1A, $07, $00, $00, $04, $00, $14,0,0),
(7,$1A, $07, $00, $00, $04, $00, $0A,0,0),
(6,$1A, $07, $00, $00, $05, $00,0,0,0),
(6,$1A, $07, $FF, $00, $01, $00,0,0,0),
(7,$1A, $09, $03, $00, $00, $00, $00,0,0),
(9,$1A, $09, $05, $00, $09, $00, $00, $00, $C8),
(9,$1A, $09, $05, $00, $09, $00, $00, $03, $E8),
(9,$1A, $09, $05, $00, $09, $00, $00, $07, $D0),
(9,$1A, $09, $00, $00, $25, $00, $00, $00, $00),
(9,$1A, $09, $00, $00, $25, $00, $00, $00, $01),
(9,$1A, $09, $00, $00, $28, $00, $00, $01, $0E));
//Нулевой элемент последовательности содержит ее длину. Десять знаков в каждой последовательности взяты просто с запасом
Var
B, i, j: byte;
Identity: boolean;
ControlArray: array[0..9] of byte;// C запасом
begin
Result := NIL;
If (X >= RomSize) or (X < 0) then Exit;
New(Result, Init);
With Result^.Add^ do
begin
Str:='';
Repeat
B := ROM^[X];
For j := 0 to ArrayNumber-1 do
Begin
Identity:= true;
For i := 0 to MatchingArray[j, 0]-1{-1, потому что длина задана от единицы} do
Begin
ControlArray[i] := ROM^[X + i];
If ControlArray[i] <> MatchingArray[j, i+1]{+1 потому что нулевой - длина} then Identity := false;
End;
If Identity = true then break; // Если хоть одна последовательность совпала, дальше не ищем
End;
If B = 0 then
Begin
Str := Str + Char(B);// Сохраняем ноль в скрипт и выходим
Break;
End;
If Identity = true then
begin
For i := 0 to MatchingArray[j, 0]-1 do Str := Str + Char(ControlArray[i]); //В j сохранился номер совпавшей последовательности
X := X + MatchingArray[j, 0]-1;
end
Else Str := Str + Char(B);
Inc(X);
Until False;
end;
end;
exports
GetMethod,
SetVariables,
GetData,
GetStrings,
DisposeStrings,
NeedEnd,
Description;
end.
Их не будет несколько тысяч, если понять принцип.
000E 0000 0003 0002 000x - (х= от 0 до С) - начало выделения цветом,После 000E бывает 0000?
000E 0000 0003 0002 FFFF - конец выделения цветом
После 000E бывает 0000?
Так что, Джин, поможешь доделать плагин?Угу, только слово "джинн" пишется с двумя "н". А мой ник написан над аватаркой.
Угу, только слово "джинн" пишется с двумя "н". А мой ник написан над аватаркой.
Хэлп...Надо говорить "хэрупу" :D
~01
/00
20=
21=!
22="
23=#
24=$
25=%
26=&
27='
28=(
29=)
2A=*
2B=+
2C=,
2D=-
2E=.
2F=/
30=0
31=1
32=2
33=3
34=4
35=5
36=6
37=7
38=8
39=9
3A=:
3B=;
3C=<
3D==
3E=>
3F=?
40=@
41=A
42=B
43=C
44=D
45=E
46=F
47=G
48=H
49=I
4A=J
4B=K
4C=L
4D=M
4E=N
4F=O
50=P
51=Q
52=R
53=S
54=T
55=U
56=V
57=W
58=X
59=Y
5A=Z
5B=[
5C=\
5D=]
5E=^
5F=_
60=`
61=a
62=b
63=c
64=d
65=e
66=f
67=g
68=h
69=i
6A=j
6B=k
6C=l
6D=m
6E=n
6F=o
70=p
71=q
72=r
73=s
74=t
75=u
76=v
77=w
78=x
79=y
7A=z
7B={
7C=|
7D=}
7E=~
80=Ђ
81=Ѓ
82=‚
83=ѓ
84=„
85=…
86=†
87=‡
88=?
89=‰
8A=Љ
8B=‹
8C=Њ
8D=Ќ
8E=Ћ
8F=Џ
90=ђ
91=‘
92=’
93=“
94=”
95=•
96=–
97=—
98=?
99=™
9A=љ
9B=›
9C=њ
9D=ќ
9E=ћ
9F=џ
A0=
A1=Ў
A2=ў
A3=Ј
A4=¤
A5=Ґ
A6=¦
A7=§
A8=Ё
A9=©
AA=Є
AB=«
AC=¬
AD=­
AE=®
AF=Ї
B0=°
B1=±
B2=І
B3=і
B4=ґ
B5=µ
B6=¶
B7=·
B8=ё
B9=№
BA=є
BB=»
BC=ј
BD=Ѕ
BE=ѕ
BF=ї
C0=А
C1=Б
C2=В
C3=Г
C4=Д
C5=Е
C6=Ж
C7=З
C8=И
C9=Й
CA=К
CB=Л
CC=М
CD=Н
CE=О
CF=П
D0=Р
D1=С
D2=Т
D3=У
D4=Ф
D5=Х
D6=Ц
D7=Ч
D8=Ш
D9=Щ
DA=Ъ
DB=Ы
DC=Ь
DD=Э
DE=Ю
DF=Я
E0=а
E1=б
E2=в
E3=г
E4=д
E5=е
E6=ж
E7=з
E8=и
E9=й
EA=к
EB=л
EC=м
ED=н
EE=о
EF=п
F0=р
F1=с
F2=т
F3=у
F4=ф
F5=х
F6=ц
F7=ч
F8=ш
F9=щ
FA=ъ
FB=ы
FC=ь
FD=э
FE=ю
FF=я
2F=/ запиши как 2F= И в тексте этот слэш так и пиши - (в игре выведется нормально - /). А то круптар решит что символы после / - это код, и вылезет кака. Во всяком случае, во всех проектах к зельдам у меня именно так.Ок, спасибо.
служебные записывай с точным кол-вом байт. допустим, коды 030001 и 030002 отвечают за паузу в тексте: пишешь: 030001=[delay1] 030002=[delay2] и т.п.Попробовал - ничего путнего :/ Те строки, которые начинаются с 0x030001, тупо в круптаре обрываются после 0x0300
а для нулей в кодах - плагин...Что за плагин? Если самому писать, то это к сожалению мне не под силу, т.к. тогда написал бы софт конкретно под этот файл с текстом.
~01 /00 в начале, а 01 ends 00 в самом конце таблицы.Это не принципиально, круптар и так отлично понимает.
а зачем тебе в таблице это? 8C=Њ 8D=Ќ 8E=Ћ 8F=Џ 90=ђ и т.п.Остался мусор от автоматически сгенерированной таблицы. Особо не мешает.
Что за плагин?
Кто-бы помог ещё :/
[Delay9][162 11]
and is now [Red1]sealed away[EndClr].
[EndClr]...[Delay9][162 11] и [Red4]пленены[EndClr].
А так и должно быть?
2) Делим проект на 50% и вставляем его.
я обычно делаю так F3=