Редакторы, программы и патчиКофр гениального мастера или ящик Пандоры... Что выберете вы, получив все возможные инструменты креатора и игрока в The Sims 3?
Sims3PackEditor - редактор sims3packов Текущая версия (зеркало) 0.9.0.19 - 0.90 (rc 1)
Решил я редактор sims3packов изваять, with blackjack and hookers
Основные идеи такие:
- редактирование файлов sims3pack "на лету", возможностью добавления/удаления файлов;
- возможность создавать новые файлы;
- модульная структура - максимальное количество настроек должно идти через конфиги;
- максимальная автоматизация заполнения полей;
---
Уже сделано:
- готов API для работы с манифестом;
- чтение файлов;
- редактирование манифеста;
- сохранение изменений;
- генерация GUID для файлов;
- расчет CRC для файлов;
- добавление package;
- удаление узлов;
- добавление превью из файлов, packageй и кэша игры;
Осталось:
- интерфейс "до ума" довести;
Нужна помощь в тестировании
- нужен совет, какие поля сделать в виде выпадающих списков, и какие значения кому встречались;
Последний раз редактировалось Tomcat, 01.04.2016 в 03:12.
Секция [Common]
Debug=0 - отладка отключена;
Debug=1 - при сохранении создается debug.xml в папке с конфигами;
Debug=2 - при сохранении создается debug.xml в папке с конфигами, но файл не сохраняется;
Секция [Locale12]
русская локализация
; Header.lst, v.0.23
; (c) AR, 2012
; каждая строка - набор параметров для одного тэга xml
; параметры разделяются пробелами, каждые 2 пробела в начале строки - сдвиг поля ввода на 8 px
;
; [tag] [имя тэга] text [verb] [attr]
; tag - тэг xml считая от <Sims3Package> или тэг с подтэгами разделенные пробелами
; имя тэга - имя тэга отображаемое в программе
; text - тэг отображается как простое поле ввода
; verb - командный модификатор
; - $ro или $readonly - только чтение
; - $guid - добавляется кнопка генерации GUID
; - $date - добавляется кнопка вставки даты/времени
; - $crc - добавляется кнопка расчета CRC
; attr - атрибут тэга
;
; [tag] [имя тэга] list[listfile] [attr] [linked_list]
; list - тэг отображается как поле ввода со списком стандартных значений
; listfile - имя файла со списком стандартных значений
; attr - атрибут тэга
; linked_list - связанный список, содержимое которого перегружается при выборе нового значения
;
; [tag] [имя тэга] multi[listfile] [attr]
; multi - много значений
;
; $hint [Locale Id] [text]
"" "Sims3Package::Type" list "content_types.lst" Type "Sims3Package::SubType"
"" "Sims3Package::SubType" list "subtype_%s.lst" SubType
"ArchiveVersion" "ArchiveVersion" text
"CodeVersion" "CodeVersion" text
"GameVersion" "GameVersion" text
"DisplayName" "DisplayName" text $default
"Description" "Description" text
"PackageId" "PackageId" text
"Date" "Date" text $date
$hint 12 "Дата и время создания пакета"
$hint 12 "Нажатие на кнопку вставит текущую дату и время"
"AssetVersion" "AssetVersion" text
"MinReqVersion" "MinReqVersion" list "version.lst"
$hint 12 "Минимальная требуемая версия игры"
"LocalizedNames LocalizedName" "LocalizedName" multi "locales.lst" Language
$hint 12 "Локализованное название"
"LocalizedDescriptions LocalizedDescription" "LocalizedDescription" multi "locales.lst" Language
$hint 00 "Localized Description"
$hint 12 "Локализованное описание"
;"LocalizedDescriptions LocalizedName" "LocalizedDescription" multi "locales.lst" Language
; старая Store
; Item.lst, v.0.23
; (c) AR, 2012
; каждая строка - набор параметров для одного тэга xml
; параметры разделяются пробелами, каждые 2 пробела в начале строки - сдвиг поля ввода на 8 px
;
; [tag] [имя тэга] text [verb] [attr]
; tag - тэг xml считая от текущего <PackagedFile> или тэг с подтэгами разделенные пробелами
; имя тэга - имя тэга отображаемое в программе
; text - тэг отображается как простое поле ввода
; verb - командный модификатор
; - $ro или $readonly - только чтение
; - $guid - добавляется кнопка генерации GUID
; - $date - добавляется кнопка вставки даты/времени
; - $crc - добавляется кнопка расчета CRC
; attr - атрибут тэга
;
; [tag] [имя тэга] list[listfile] [attr] [linked_list]
; list - тэг отображается как поле ввода со списком стандартных значений
; listfile - имя файла со списком стандартных значений
; attr - атрибут тэга
; linked_list - связанный список, содержимое которого перегружается при выборе нового значения
;
; $hint [Locale Id] [text]
"Name" "Name" text $default
$hint 12 "Имя файла"
"Offset" "Offset" text $readonly
$hint 12 "Смещение в байтах начала файла относительно начала секции данных пакета"
"Length" "Length" text $readonly
$hint 12 "Размер файла в байтах"
"Crc" "Crc" text $crc+$ro
$hint 12 "Циклическая контрольная сумма файла"
"Guid" "Guid" text $guid+$ro
$hint 12 "Уникальный 128-битный идентификатор (Globally Unique Identifier) файла"
"ContentType" "ContentType" list content_types.lst
$hint 12 "Тип содержимого"
"EPFlags" "EPFlags" text
"metatags name" "metatags\name" text
"metatags price" "metatags\price" text
"metatags objecttype" "metatags\objecttype" text
"metatags roomcategory" "metatags\roomcategory" text
"metatags buycategory" "metatags\buycategory" text
"metatags buysubcategory" "metatags\buysubcategory" text
"metatags buyroomsubcategory" "metatags\buyroomsubcategory" text
"metatags buildcategory" "metatags\buildcategory" text
"metatags moodleticonflag" "metatags\moodleticonflag" text
"metatags moodleticondegree" "metatags\moodleticondegree" text
; список локалей
; значение в скобках - имя атрибута
Russian (ru-RU)
English (en-US)
Chinese Simplified (zh-CN)
Chinese Traditional (zh-TW)
Czech (cs-CZ)
Danish (da-DK)
Dutch (nl-NL)
Finnish (fi-FI)
French (fr-FR)
German (de-DE)
Greek (el-GR)
Hungarian (hu-HU)
Italian (it-IT)
Japanese (ja-JP)
Korean (ko_KR)
Norwegian (no-NO)
Polish (pl-PL)
Portuguese (pt-PT)
Portuguese (pt-BR)
Spanish (es-ES)
Spanish (es-MX)
Swedish (sv-SE)
Thai (th-TH)
Заголовок нового Sims3Packa, кодировка файла UTF-8default.xml
Для управляющего списка параметром linked_list задается "имя_тэга" списка который будет автоматически перегружаться при выборе нового значения в управляющем списке, для управляемого списка в listfile%s заменяется на текущее значение главного списка.
Код:
; [tag] [имя тэга] list[listfile] [attr] [linked_list]
; tag - тэг xml считая от текущего <PackagedFile> или тэг с подтэгами разделенные пробелами
; имя тэга - имя тэга отображаемое в программе
; list - тэг отображается как поле ввода со списком стандартных значений
; listfile - имя файла со списком стандартных значений
; attr - атрибут тэга
; linked_list - связанный список, содержимое которого перегружается при выборе нового значения
...
"" "Sims3Package::Type" list "content_types.lst" Type "Sims3Package::SubType"
"" "Sims3Package::SubType" list "subtype_%s.lst" SubType
...
Например, если Sims3Package::Type=CASpart, то в Sims3Package::SubType будут загружены элементы из subtype_CASpart.lst
Последний раз редактировалось AnriRS, 06.07.2012 в 21:59.
запустил программу, нажал сохранить (ничего не открывал просто нажал сохранить) вылезла ошибка
думаю такое надо пофиксить)
остальное вроде норм работает, редактируется, сохраняется.
и что это за неактивная кнопка первая? функционал, который еще неактивен?))
ContentType думаю удобно будет выпадающим списком сделать
еще некоторая странность, как crc может по клику меняться или guid (по крайней мере для меня это странность или я чего то не понял): gif-анимация
Win7 Ultimate x64
__________________ Найди ответ с помощью Гугл! ;)
Последний раз редактировалось TeMochkiN, 25.06.2012 в 22:42.
TeMochkiN
Первая кнопка - создать новый пустой файл, он же будет создаваться при запуске, ошибка с нажатием на кнопку Сохранить с этим же связана. GUID должен по клику меняться, т.к. каждое нажатие генерит новый, а с CRC непонятка, использовал портированный с C# код S3PI, для объектов с TSR контрольная сумма в файле совпадает с расчетной, для EAStore нет, хотя лаунчер с файлы с правленой CRC ставит.
---
0.2.1.7 ссылка удалена
- добавлено, создание нового файла;
- добавлено, удаление узлов;
- добавлено, добавление package, пока заполняются только критические поля;
- добавлено, при изменении полей помеченных как $default, одновременно переименовывается узел в дереве;
- добавлено, поля помеченные как $date имеют кнопку автозаполнения текущей датой/временем;
Добавление/удаление узлов идет из всплывающего меню по клику правой кнопкой мыша, работает кнопка <Del>
AnriRS, кстати планируешь добавить редактирование локализованных метатегов для пакейджей? а то ж пока только для самого симс3пака можно локализованные теги редактировать
и crc смотрю пока опять меняется по нажатию кнопки)))