Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: СДК пишет конфиги в директорию Windows
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
Trollz0r
Всем известно, что сталкирский СДК пишет свои конфиги в C:\Windows\
Для Windows Vista и выше с неотключенным контролем учёток это становится проблемой: редактор просто не может создать свои level.ini, LevelEditor.ini и тому подобный мусор в заданной в древние времена папке, и по этой причине выкидывает окошко с жалобой на невозможность записи. (Окошко не закрывается, у кодеров ПЫС это считалось хорошим тоном.)

Отключать защиту системы можно далеко не на всех машинах. Вывод: СДК не нужно дублировать свои конфиги в папку с виндой.

Нафига эта тема, спросите вы? Очевидно, для того, чтобы эта проблема не утонула.
Молния в вакууме
RedPython, в свойствах *.ini файлов разреши писать в них всем пользователям и всё.(во вкладке безопасность)
Я на XP из под учётки с ограниченными правами сижу, тоже пришлось делать так. Не запускать же каждый раз СДК от админа?
RayTwitty
RedPython,
Цитата(RayTwitty @ 24.03.2015, 01:39) *
- Исправлен баг со сбросом части конфига редакторов в папку WINDOWS
Trollz0r
saas, не, это слишком просто. Я намекнул на патч
RayTwitty, оказывается, патч уже есть. А на ЧН?
Asterix
RedPython, это не патч
Trollz0r
Поправленные бинарники без ресурсов == патч
Trollz0r
Порыскал в коде, не нашёл причину дублирования конфигов в C:\Windows
Кто-нибудь подскажет, почему так происходит? scratch_one-s_head.gif
Молния в вакууме
RedPython, в библиотеке AlexMX есть такая штука как FormStorage. Отвечает за сохранение параметров.
Имя ini-файла устанавливается специальным дефайном в каждой форме.

Дефайн в Stdafx.h
Код
#define INI_NAME(buf)         {FS.update_path(buf,"$local_root$",EFS.ChangeFileExt(UI->EditorName(),".ini").c_str());}
#define DEFINE_INI(storage)    {string_path buf; INI_NAME(buf); storage->IniFileName=buf;}


Может тут путь неправильно определяется.


Да, похоже где-то там. Сейчас проверил, если заменить $local_root$ в fs.ltx от СДК на такой
Код
$local_root$        = false| false| .\

То конфиги будут использоваться из папки с СДК.
Trollz0r
Но почему?!!

В каком компоненте явно указан путь в папку виндовс? Неужто в бинарниках из компонентов?
Asterix


rayman сказал: Как ты исправил это? В каком файле?


YURSHAT: Хех, вроде как в Editors\ECore\stdafx.h. Я завел свою переменную в fs.ltx (sdk_config) и прописал ее вместо local_root
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.