|
|
|
Канал X-Tension/X-BTF: «Структура данных X-Tension» |
|
|
Argonaut 260 EGP
Рейтинг канала: 1(9) Репутация: 43 Сообщения: 185 Откуда: Челябинск Зарегистрирован: 27.04.2004 |
|
Рыб : |
...а округление в игре идёт до сотых...
|
Если число меньше, чем 10, то до сотых, иначе - до десятых (от сотни не помню, может и до целых).
Например: 32,3; 9,54... Всего три знака получается.
В данном случае, 32,3 результат округления 32.2869955 до десятой.
Все верно.
Давайте уже не париться с этим коэффициентом. Вроде разобрались, он нужен только для визуализации расстояния в привычных нам единицах, которые мы можем наблюдать с помощью радара. Давайте примем его равным 223 (он наиболее соответствует истине) и те, кто будет делать редактор, будет опираться на него. Да и нужна ли такая точность, чтобы стараться уложиться в сотые только для того, чтобы это "красиво" выглядело?
_________________ Объявление
Отдам малыша Ксенона в хорошие руки. Денег не предлагать. |
|
|
Shaddie 556 EGP
Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004 |
|
Argonaut : |
А "заголовок" данного сектора там есть?
Его описание совпадает с общей структурой?
Интересно, как потом добавляются ворота, для "влета" в него.
|
Похоже, заголовки у двух этих сектров есть, но их структура отличается от стандартных:
0005 001E 0026 002F – для вражеского сектора;
0005 0017 001D 002F – для Гетсу Фан.
Причем данные по торговой станции из сектора Гетсу Фан в файле находятся после заголовка и блока непонятных данных:
…
данные вражеского сектора
0005 001E 0026 002F (заголовок вражеского сектора)
данные сектора Гетсу Фан
0005 0017 001D 002F (заголовок Гетсу Фан)
… (непонятные данные)
данные торговой станции в секторе Гетсу Фан
…
Данные секторов имеют стандартную структуру записи.
Еще раз спасибо пилоту star_kopcap за предоставленные координаты объектов из вражеского сектора.
Рыб : |
… а округление в игре идёт до сотых, т.е. расхождение получается ровно на 0.01km.
|
По поводу округления. В игре расстояния в километрах всегда отображаются тремя знаками: 32.3 км, 3.23 км или 0.32 км (не помню как для метров и для расстояний больше 99.9 км). То есть округление происходит в зависимости от расстояния. Таким образом если даже расстояние до объекта = 32.29 км оно отобразится как 32.3 км.
По поводу округления – не заметил предыдущего поста Argonaut.
|
|
|
Shaddie 556 EGP
Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004 |
|
Есть возможность вытащить данные по всем объектам из файла 001.obj.
Например: сектор такой то, контролируется тем то, имеет столько то планет, солнц, астероидов, станций и кораблей охранения. Станции торгуют такими то товарами, покупают такие то ресурсы первой или второй необходимости, охраняется таким то кораблями.
Вопрос, нужна ли эта информация и если нужна, то, в каком виде ее сохранить (с разбивкой по секторам или одним файлом, в .txt или .xls)?
|
|
|
Рыб 1242 EGP
Рейтинг канала: 3(36) Репутация: 340 Сообщения: 7461
Зарегистрирован: 05.06.2001 |
|
Конечно же лучше всего было бы создать "разумную" структуру связанных таблиц в Акцес и перекинуть данные туда. В дальнейшем это значительно облегчит процесс написания просмоторщика/редактора карты.
|
|
|
Shaddie 556 EGP
Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004 |
|
Рыб : |
Конечно же лучше всего было бы создать "разумную" структуру связанных таблиц в Акцес и перекинуть данные туда. В дальнейшем это значительно облегчит процесс написания просмоторщика/редактора карты.
|
Microsoft Access - это конечно хорошо, но зачем это нужно, ведь просмоторщик/редактор должен читать/писать данные напрямую из/в файл 001.obj.
|
|
|
Рыб 1242 EGP
Рейтинг канала: 3(36) Репутация: 340 Сообщения: 7461
Зарегистрирован: 05.06.2001 |
|
Нее, неудачная идея.
Данные разумнее хранить в некотором своём формате к которому удобно доступаться стандартными средствами и пользовать "стандартные" средства отображения. В случае пользования распространённой СУБД софтину можно будет легко написать на чём угодно (VS, Delphi, Builder), а файлик 001.obj генерить по необходимости (причём можно даже сделать отдельную dll, которая по СУБД будет генерить obj и подключать использовать её в любом редакторе или вообще в отрыве от редактора), т.е. юзер накликал там что-нить, наизменял, потом нажал "создать файлик для XT".
|
|
|
Shaddie 556 EGP
Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004 |
|
Ну, если подойти с такой точки зрения, то это наверно будет работать.
Сейчас у меня есть программа для 1С:Предприятие, которая читает данные из текстового файла (который содержит весь блок данных по секторам – выдернул из 001.obj и сохранил в виде текста) и записывает их в соответствующих справочниках.
В принципе если у меня была бы dll-ка которая читала/записывала байт по заданному offset, я мог бы написать редактор карты (правда пока только для 1С).
|
|
|
Shaddie 556 EGP
Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004 |
|
Рыб dll-ка не регистрируется.
При попытке зарегистрировать, regsvr32 выдает следующее сообщение: Ошибка при вызове LoadLibrary(“D:\FF.dll”) – Не найден указанный модуль.
|
|
|
Рыб 1242 EGP
Рейтинг канала: 3(36) Репутация: 340 Сообщения: 7461
Зарегистрирован: 05.06.2001 |
|
Сори, в запарке забыл настройку сменить ... забирай, терь должно корректно регистрироваться.
|
|
|
Shaddie 556 EGP
Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004 |
|
Все так же не регистрируется. Файлы в архиве те же самые (за вчерашнее число).
|
|
|
Рыб 1242 EGP
Рейтинг канала: 3(36) Репутация: 340 Сообщения: 7461
Зарегистрирован: 05.06.2001 |
|
Смотри настройки браузера/прокси, архив там точно новый лежит, весит 40K, дата сегодняшняя.
|
|
|
Shaddie 556 EGP
Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004 |
|
С настройками все нормально. Качал с разных компьютеров.Один фиг.
Скинь пожалуйста на мыло.
_________________ Быстро едешь, тихо понесут... |
|
|
Shaddie 556 EGP
Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004 |
|
To Рыб
Dll подключается.
Функция OpenFile() – работает.
При вызове функции GetByteByOffset() – выдается сообщение “Типы не совпадают”.
Я думаю затык в том, что у 1С нет фиксированного типа переменных и потому передает она непонятно какой тип данных. Предлагаю следующее: параметр offset передавать в виде строки (функция OpenFile точно работает). Для функции SetByteByOffset() еще и значение устанавливаемого байта передавать в виде строки.
Так же неплохо было бы вставить функцию расчета квадратного корня (в 1С математика запущена).
|
|
|
Рыб 1242 EGP
Рейтинг канала: 3(36) Репутация: 340 Сообщения: 7461
Зарегистрирован: 05.06.2001 |
|
Функция получения байта скорее всего падает по причине, что во втором параметре нужен не просто байт, а байт по указателю .
Я тогда вообще не знаю как вернуть тебе байт ... в качестве возвращаемого значения функции - четырёхбайтовый код завершения, а значит сам результат можно вернуть только при помощи параметра переданного по указателю. Может при вызове из 1С можно как-то явно указать, что это не просто значение, а его адрес?
|
|
|
Shaddie 556 EGP
Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004 |
|
Рыб : |
Может при вызове из 1С можно как-то явно указать, что это не просто значение, а его адрес?
|
Точно нельзя
|
|
|
Рыб 1242 EGP
Рейтинг канала: 3(36) Репутация: 340 Сообщения: 7461
Зарегистрирован: 05.06.2001 |
|
Тогда ещё варианты ... у любой функции на выходе идёт четырёхбайтовое значение, если ты его можешь корректно поймать, то можно:
1. Возвращать тебе сам байт, скажем, в нулевом байте, а некий условный код завершения - во втором.
2. Если у тебя там нет возможноти разбирать целое значение по байтам, то возвращать тебе вместо кода завершения - значение байта и если значение лежит в [0;255], то это код байта, иначе - была какая-то ошибка.
P.S.: может тебе всё таки лучше воспользоваться чем-нить более приспособленным для разработки софта .
|
|
|
Shaddie 556 EGP
Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004 |
|
В принципе оба метода должны работать, но мне больше нравится второй.
А по поводу
Рыб : |
P.S.: может тебе всё таки лучше воспользоваться чем-нить более приспособленным для разработки софта .
|
Я сначала хочу отладить алгоритм, а в 1С интерфейс работы со справочниками встроенный.
Кстати может, объявим конкурс по созданию проекта вселенной X-tension, а то охота проверить редактор .
|
|
|
Рыб 1242 EGP
Рейтинг канала: 3(36) Репутация: 340 Сообщения: 7461
Зарегистрирован: 05.06.2001 |
|
Может стоит сначала получить рабочий редактор, отладить все алгоритмы и протестить все тонкие моменты такие как - расширение карты сверх существующих размеров, добавление новых секторов туда, где их до этого не было, корректность прохождения врат в обоих направлениях, факт того, что транспортники со станций в новых секторах корректно видят и летают на станции в другие сектора ... проекты вселенно всё ж таки лучше рисовать когда будет гарантия, что это можно будет реализовать .
|
|
|
Shaddie 556 EGP
Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004 |
|
Рыб : |
Может стоит сначала получить рабочий редактор, отладить все алгоритмы и протестить все тонкие моменты
|
Для того чтобы его (работающий редактор) получить как раз и нужен проект. Я уже сейчас могут довольно просто изменять карту, но делать это без конкретной цели неинтересно. Поэтому предлагаю для начала разработать проект сектора. Проект должен содержать следующие данные: количество солнц и планет (можно с координатами); корабли охранения сектора; станции сектора, корабли станции, для торговой станции, дока и верфи - товары станции; астероиды. Для всех объектов желательно проверенные координаты (что бы исключить наложение объектов). Завтра выложу пример.
|
|
|
Shaddie 556 EGP
Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004 |
|
Вот и наступило завтра .
Пример проекта - в данном примере перечислены объекты (как в оригинале) для сектора Argon Prime.
Модифицированный с помощью редактора файл 001.obj.
В основном изменял сектор The Wall. Установка: создайте копию оригинального файла 001.obj (каталог L), потом замените его модифицированным и начните новую игру.
Для тех, кто хочет помочь в тестировании, меня интересует следующие: пользуется ли корабли компьютера южными воротами в секторе Ore Belt.
|
|
|
|
|
|
Канал X-Tension/X-BTF: «Структура данных X-Tension» |
|