willyschmerz: (Default)
[personal profile] willyschmerz
Покопирсався вчора у сорцах Jagged Alliance 2. Цікава іграшка, хоча і старенька - 1999 року. Все на голому С, треба мабуть розуміти - для ефективності. Не все одразу запрацювало, бо сорці в мене від однієї версії, а файли даних від іншої; різниця невелика: щось наче 1.6 та 1.3, але дещо помінялося, тож довелось порозбиратися.
Замість тексту на екрані - якась абракадабра, літери інші - наче кодування злетіло. Проблему знайшов, але заразом роздивився, як вони виводять текст. Мамо моя рідна! Те, як працював Duden Rechtschreibung (про нього якось іншим разом :) ) - дитячі розваги, порівняно з Ja2. Якщо коротко, то кодування задане масивом, в якому треба знайти індекс елемента з відповідним значенням одного з полів. Зауважу, що робити це слід при виводі кожного гліфа (sic!). Масив чималенький - більше ніж півтори сотні записів. Як відбувається пошук? Прямим перебором. Після чого викликається супернавернута функція на асемблері (!), яка цього гліфа виводить.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting