Город Мастеров
IPB

Здравствуйте, гость ( Вход | Регистрация )

5 страниц V  « < 3 4 5 >  
Ответить в эту темуОткрыть новую тему
> Русификация, Все про русификацию редактора, модулей и т.п.
Leon PRO
сообщение Nov 8 2010, 18:35
Сообщение #86


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



По п.3 я займусь. Если не найдется к.л. школьника, студента с бОльшим количеством свободного времени, нежели "после работы".
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 8 2010, 20:56
Сообщение #87


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Сейчас отпуск и огромное количество проектов, но, возможно, удастся выкроить один денек.
http://social.bioware.com/wiki/datoolset/i....0_and_GFF_V3.2
Ткните пальчиком, какие типы полей неугодны и их надо убивать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 8 2010, 21:12
Сообщение #88


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



Нене, это Eclipse GFF, а надо работать с Aurora GFF. Его структура тут:
http://nwn.bioware.com/developers/Bioware_..._GFF_Format.pdf

Там в корне списка в грязном файле ноды выглядят вот так (для наглядности написал в XML формате):
Neverwinter Script
<cexolocstring name="LocName" strref="991556708">
      <phrase language="english">werwerwe</phrase>
      <phrase language="english">werwerwerwerwerew</phrase>
</cexolocstring>
<cexolocstring name="LocPopupText" strref="991556709">
      <phrase language="english">фыфвфв</phrase>
      <phrase language="english">вфывфы</phrase>
</cexolocstring>

Так вот, у нод с именем "LocName" и "LocPopupText" (это конкретно у UTP GFF), а возможно просто у всех нод (универсальное решение, требующее проверки на разных типах GFF) с типом "cexolocstring" надо удалить дочерние элементы.

Тоже сел за проектик, на на Managed C# парсинг структурных файлов - занятие весьма унылое (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 9 2010, 00:00
Сообщение #89


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Хм... только дочерние? А сами ноды оставлять?
Ну да, на С++ это на порядок удобнее, хотя и на шарпе уже делал. (IMG:style_emoticons/kolobok_light/smile.gif) (а вот кто такой Managed C# не знаю >_>)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 9 2010, 00:49
Сообщение #90


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



Да, сами ноды оставлять без изменения.
C# он как бы Managed по умолчанию (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 9 2010, 00:58
Сообщение #91


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



А я этого термина не понимаю. (IMG:style_emoticons/kolobok_light/smile.gif) Самоучка. (IMG:style_emoticons/kolobok_light/smile.gif) Так что теория у меня на нуле + немного MSDN. (IMG:style_emoticons/kolobok_light/smile.gif)

P.S. Ой... мы опять оффтопим. х_х
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
kelamor
сообщение Nov 9 2010, 05:44
Сообщение #92


Level 2
*

Класс: Бард
Характер: Lawful Good
Раса: Человек



За темой слежу давно, но, так как сказать было нечего, молчал.
Я к тому, что в необходимости решения этой проблемы сомневаться не надо (IMG:style_emoticons/kolobok_light/smile.gif)

Я решал проблему кардинально(на примере предмета):
1. Экспортировал и редактировал Foreign tlk.
2. В GFF-редакторе удалял текст из строк Name и Description.

После этого игра начинала читать текст из tlk-файла.

А так как вы тут уже почти решили всё, я с нетерпением жду (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Griffon
сообщение Nov 9 2010, 10:50
Сообщение #93


Level 18
Иконки Групп

Класс: Страж Тьмы
Характер: True Neutral
Раса: Человек
МАСТЕР D&D



Цитата(Ice Blade @ Nov 8 2010, 17:51) *
А ещё лучше, попытаться сделать какой-нить простенький модуль открытого так сказать типа - дабы всем скопом попытаться решить возникшие проблемы, - а то чувствую что кириллица не самая большая беда ДА. Вот только это я уже не потяну в одиночку ибо чем ближе "новый год" - тем больше нагрузка на работе, да и специализация у меня узкая - "типичный контентщик".

Поддерживаю идею. Тогда на выходных ставлю редактор и возьму создание двух локаций - внутренняя и внешняя. Правда, много времени уделить не смогу..... 2-3 часа по выходным. Попутно буду изучать создание ролика при помощи катсцен (покосился в сторону Леона (IMG:style_emoticons/kolobok_light/biggrin.gif) ).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 10 2010, 02:05
Сообщение #94


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



GFF Tool
День 1. Кой как разобрался с довольно неплохим способом чтения бинарных файлов и преобразования в структуры. Все бажит страшно. Технологию вижу впервые и совсем не разбираюсь еще. Лег в 4 утра. опоздал на работу на 3 часа (IMG:style_emoticons/kolobok_light/wacko.gif)
День 2. Ловил баги вчерашнего дня. Сегодня ЭТО уже в состоянии под дебагером читать структуру верхнего уровня и Labels нод из которых она состоит.
День 3. Добавил еще обработчиков на внутренние структуры GFF. Дошел как раз до CExoString и CExoLocString, которые нужны для исправления. Занялся оптимизацией классов чтения файла. Все разобрал, ничего не работает, собрать не успел )

--------------------------------------------------------------------------
Текущий статус - все разобрано, ничего не работает (IMG:style_emoticons/kolobok_light/crazy.gif)
--------------------------------------------------------------------------
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
kelamor
сообщение Nov 10 2010, 02:41
Сообщение #95


Level 2
*

Класс: Бард
Характер: Lawful Good
Раса: Человек



Цитата(Griffon @ Nov 9 2010, 16:50) *
Попутно буду изучать создание ролика при помощи катсцен
Туториал на русском Griffon: Спасибо за ссылку. Почисть почту... не смог ПМ-ку отправить. (IMG:style_emoticons/kolobok_light/smile.gif)

Цитата(Ice Blade @ Nov 8 2010, 23:51) *
А ещё лучше, попытаться сделать какой-нить простенький модуль открытого так сказать типа - дабы всем скопом попытаться решить возникшие проблемы, - а то чувствую что кириллица не самая большая беда ДА. Вот только это я уже не потяну в одиночку ибо чем ближе "новый год" - тем больше нагрузка на работе, да и специализация у меня узкая - "типичный контентщик".
В принципе никаких проблем с тулсом не замечал, всё достаточно ровно работает. Если только с локациями траблы какие.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ice Blade
сообщение Nov 10 2010, 06:55
Сообщение #96


Трехмерный Маньяк
Иконки Групп

Класс: Мастер Оружия
Характер: Lawful Neutral
Раса: Нежить
NWN: Контент
Проклятие Левора



Цитата
Лег в 4 утра. опоздал на работу на 3 часа

Ты это.. аккуратней, ты нам живой-здоровый нужен (IMG:style_emoticons/kolobok_light/good.gif) ( ..само собой пока тулсу не доделаешь (IMG:style_emoticons/kolobok_light/biggrin.gif) )

Цитата
В принципе никаких проблем с тулсом не замечал, всё достаточно ровно работает. Если только с локациями траблы какие.
Ну кроме множества болезней лок, ещё скрипты, VO и опять же сама БД - вызывают некоторые опасения. Да и с более глубокими модификациями вроде шаренья по 2да - есть проблемы с теми же придельными стрингами. В общем проблемы есть, только степень их пока не определена, да и настораживает сам факт того что даже англоязычные, не шибко-то взялись за написание полноценных модулей.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 10 2010, 10:53
Сообщение #97


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



Кстати, я столкнулся с проблемой, что при попытке удалить ресурс, даже если ссылки наи него не остались нигде (плейсибл удален из локи и с него снят конверсейшн тэг) все равно пишет, что ссылка на него осталась в локе и на конверсейшне.

Если эти ссылки хранятся в БД, то вылечить можно, т.к. действительно, все (не уверен, конечно, но, может почти все (IMG:style_emoticons/kolobok_light/smile.gif) ) манипуляции с БД тулсет делает через хранимые в БД процедуры, которые можно править!!!

Также, возможно получиться избавиться и от некоторых других ошибок или/и улучшить работу с существующими функциями.

Цитата
Туториал на русском

Клево. Большой объем работы сделан!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 10 2010, 14:06
Сообщение #98


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Цитата(Leon PRO @ Nov 10 2010, 03:05) *
GFF Tool
День 1. Кой как разобрался с довольно неплохим способом чтения бинарных файлов и преобразования в структуры. Все бажит страшно. Технологию вижу впервые и совсем не разбираюсь еще. Лег в 4 утра. опоздал на работу на 3 часа (IMG:style_emoticons/kolobok_light/wacko.gif)
День 2. Ловил баги вчерашнего дня. Сегодня ЭТО уже в состоянии под дебагером читать структуру верхнего уровня и Labels нод из которых она состоит.


Имеем FileStream с доступом на чтение Stream. Имеем структуру data класса SData.
Код
Stream.Position = 0; // С какого места будем читать
byte[] buffer = new byte[Marshal.SizeOf(typeof(SData))];
int i = 0;
while (i < buffer.Length) { i += Stream.Read(buffer, i, buffer.Length - i); }
GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
data = (SData)Marshal.PtrToStructure(handle.AddrOfPinnedO
bject(), typeof(SData));
handle.Free();


Запись аналогичным образом. (IMG:style_emoticons/kolobok_light/crazy.gif)

Сообщение отредактировал EqKeeper - Nov 10 2010, 14:07
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 10 2010, 14:49
Сообщение #99


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



Я примерно также и читаю, только чуть попроще не каждый байт, а все сразу, только там нашлось несколько подводнх камней с маршаллингом, в бодании с которыми я провел несколько часов, чтобы структуры приходили чистые.

Код
22     byte[] buff = _br.ReadBytes(Marshal.SizeOf(typeof(T)));
23     GCHandle handle = GCHandle.Alloc(buff, GCHandleType.Pinned);
24     T resultStruct = (T)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(T));
25     handle.Free();

Ну, запись там не очень аналогичным образом идет, но тоже через указатели.

Меня раньше передергивало от любого Unsafe конента, собственно я С# выбрал именно из-за того, что не надо работать напрямую с указателями, ссылками и памятью, но без этого слишком долго управляемый десериализатор писать придется =(
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 10 2010, 16:42
Сообщение #100


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Хмм... подводные камни именно из-за способа чтения или вообще? (у самого проблем не было)

---

Да, и кто есть _br? (IMG:style_emoticons/kolobok_light/smile.gif) А то у FileStream я .ReadBytes не вижу =\

Сообщение отредактировал EqKeeper - Nov 11 2010, 17:37
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 13 2010, 12:18
Сообщение #101


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



Ну что, бандерлорги, проблему решили и вся активность закончилась на этом?
Ну ка быстро модули делайте!!!!!!!!!!!! (IMG:style_emoticons/kolobok_light/biggrin.gif)

Вчера прогнал то, что получилось по GFF файлу, все отработало на ура. Т.е. в альфа-версии программа уже работает. Однако я в затруднении в каком виде ее делать? То ли просто экзешник который будет чистить все GFFv3.2 структуры в своей папке, то ли еще в каком виде. У меня не так много времени (работа и учеба началась) чтобы делать так, а потом еще и эдак. Нужен человек который на практике озабочен массовой чисткой, чтобы с начала подобрать оптимальный способ "обслуживания" таких файлов. а потом оттестить. В идеале нужно мнение нескольких моддеров о том, как она должна работать по их предпочтению, чтобы сделать оптимальный вариант.
Я могу, конечно, закинуть файл в social.bioware.com и там уже каменты почитать.

Цитата
Хмм... подводные камни именно из-за способа чтения или вообще? (у самого проблем не было)

Проблемы заключались в том, что PtrToStructure, если в структуре определено поле String с атрибутом [MarshalAs(UnmanagedType.ByValTSt)], при выполнении кушает последнюю букву строки.
Цитата
Да, и кто есть _br? smile.gif А то у FileStream я .ReadBytes не вижу =\

_br - приватный статический экземпляр BinaryReader
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 13 2010, 21:36
Сообщение #102


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Оу! А я их все считывал массивами байтов произвольной длины. А кушакет, видимо, в поисках терминирующего нуля?

Понял.

Что касается проги.
Первое предложение - распространять как угодно, но с исходниками. (IMG:style_emoticons/kolobok_light/biggrin.gif)
Второе - если поделишься исходниками, то скидывай (в сеть или лично мне). Сделаю все три варианта. Консольный по имени файла. Консольный по всем файлам в папке. WinForm по всем файлам в выбранных каталогах. (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ice Blade
сообщение Nov 14 2010, 16:41
Сообщение #103


Трехмерный Маньяк
Иконки Групп

Класс: Мастер Оружия
Характер: Lawful Neutral
Раса: Нежить
NWN: Контент
Проклятие Левора



Цитата
Ну ка быстро модули делайте!!!!!!!!!!!!

Ну ну.... Если бы кто тебя слышал, - то ли от лени, то ли от незнания - но делать никому ничего не хочется, либо все шифруются - что впрочем сомнительно. (IMG:style_emoticons/kolobok_light/biggrin.gif) В общем этого и следовало ожидать. Ладно лучше не болтать, а чего-нить сделать - так и быть на неделе попробую заставить себя сделать чего-нить "несбыточного", - так сказать "проектик для себя любимого". (IMG:style_emoticons/kolobok_light/crazy.gif)


Что до всей нашей "русфикации", - как закончите надобы ФАК написать по этому делу, в связи с чем интересуюсь - есть ли способ внести необходимые изменения в БД, без танцев с бубном и SQL Management-а - так сказать для примитивных слоёв общества ? Или же есть только вариант раздачи готовой БД или ручной модификации ?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 14 2010, 19:17
Сообщение #104


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Можно. Цепляемся из самописной софтины к этой самой базе и делаем тоже самое, но в автоматическом режиме. Правда, в SQL-базы я никогда не использовл, но, когда вопрос станет ребром, сделаю, если других желающих не найдется. В итоге, я так понимаю потребуется "патч" с одной кнопкой? (IMG:style_emoticons/kolobok_light/smile.gif) В общем, реализуемо (правда, при моем исполнении он будет требовать .NET Framework 3.5/4 (IMG:style_emoticons/kolobok_light/smile.gif) ).

Что касается творения, то я только из-за этого и начал ковыряться в DA Toolset. Правда, никогда я не умел делать что-то маленькое, так что у меня долгострой. (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
kelamor
сообщение Nov 15 2010, 03:19
Сообщение #105


Level 2
*

Класс: Бард
Характер: Lawful Good
Раса: Человек



Есть два модуля:
1. Руны и свитки - маленький, пара десятков предметов.
2. Project Iona - большой, пока в основном диалоги.

Могу потестить (IMG:style_emoticons/kolobok_light/smile.gif)


Насчёт утилитки - WinForm, ну естественно, с выбором один файл чистить, несколько или все.

Цитата(EqKeeper @ Nov 15 2010, 01:17) *
Можно. Цепляемся из самописной софтины к этой самой базе и делаем тоже самое, но в автоматическом режиме. Правда, в SQL-базы я никогда не использовл, но, когда вопрос станет ребром, сделаю, если других желающих не найдется. В итоге, я так понимаю потребуется "патч" с одной кнопкой? В общем, реализуемо (правда, при моем исполнении он будет требовать .NET Framework 3.5/4 ).


У нас на работе Инет упал, так что утилите с одной кнопкой я был бы рад (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 15 2010, 14:19
Сообщение #106


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



+1 Подправить БД можно нажатием 1 кнопки в самописной софтинке.

2 EqKeeper
А зачем так ограничивать сферу пользователей только .NET 3.5+ фреймворком? Это можно и на 2.0 сделать.

2 kelamor
Мнение учтено, спасибо =)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 15 2010, 15:02
Сообщение #107


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Ммм... да, наверное ты прав. (IMG:style_emoticons/kolobok_light/smile.gif) Вот только с XP, насколько я помню, шел 1.1. (IMG:style_emoticons/kolobok_light/smile.gif) Так что не все ли равно? Впрочем, чем ниже тем лучше... Кстати, попробую сейчас. Глядишь что и получится. (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Nov 15 2010, 15:13
Сообщение #108


Ушедший на войну
Иконки Групп

Класс: Маг
Характер: Chaotic Good
Раса: Человек
NWN: Контент



Не, 1.1 слишком старый, думаю его уже нет почти нигде.
Могу и ошибаться, но, кажется с WinXP SP2 уже шел .NET 2.0
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Nov 15 2010, 15:55
Сообщение #109


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Как правило, на деле пользователь уже имеет ведро дотнет-программ и фреймворк 3.5+, эта штука довольно-таки популярна, на ней ща пишется всё - от контрол центров драйверов до игр. Ну а если так важно 100%-е покрытие, портаните на с++, это не так сложно. Хотя имхо время гораздо дороже и оперативки, и пары мегабайт трафика.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
EqKeeper
сообщение Nov 15 2010, 16:14
Сообщение #110


Level 4
**

Класс: Маг
Характер: True Neutral
Раса: Человек



Патч нарисовал, осталось заставить его работать. (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Цитата
Cannot alter column 'Text' to be data type ntext.

Сейчас пойму, что ему не нравится и можно будет юзать. (IMG:style_emoticons/kolobok_light/rolleyes.gif)

Блин, напрямую не хочет. Говорят - придется создать новую колонку, перенести в нее старые данные и старую удалить... Попробую еще погуглить. Не получится - сделаю так...

Еще момент, я так понял, вместо ntext лучше использовать nvarchar(max)?
http://www.rsdn.ru/forum/db/2755764.flat.aspx

Уррра! С ним заработало! (IMG:style_emoticons/kolobok_light/smile.gif) Мелкомягкие - борцы за передовые технологии! (чтоб их). (IMG:style_emoticons/kolobok_light/smile.gif)

В общем, патч для превращения text в nvarchar(max) готов. Я пока сделаю обработку исключений и всячески его приукрашу, а вы (в первую очередь вопрос к Айсу, как к изобретателю технологии) расскажите - будет ли это (nvarchar(max)) корректно работать. Или ntext - принципиально важен.

Сообщение отредактировал EqKeeper - Nov 15 2010, 16:41
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

5 страниц V  « < 3 4 5 >
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 7th July 2025 - 02:41