ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
» Структура данных X-Tension | страница 2 |
|
|
|
Канал X-Tension/X-BTF: «Структура данных X-Tension» |
|
|
Laster
155 EGP
![Бронзовая звезда (+25 EGP)](/conference/images/ranks/medals/bronze.gif) ![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) Репутация: 16 Сообщения: 133 Откуда: Нижний Новгород Зарегистрирован: 29.06.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
Shaddie в любом случае результат будет интересен и полезен - идея отличная.
|
|
|
Argonaut
260 EGP
![Серебряная звезда (+50 EGP)](/conference/images/ranks/medals/silver.gif) ![Ветеран Elite-Games (20 лет)](/conference/images/ranks/medals/veteran20.png) ![Член Клуба Пилотов](/conference/images/ranks/medals/club_member.gif) Рейтинг канала: 1(9) Репутация: 43 Сообщения: 185 Откуда: Челябинск Зарегистрирован: 27.04.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
А если провести такой эксперимент:
новые сектора не добавлять, а сменить порядок (примерно тоже, что делал Shaddie, заменяя координаты сектора и врата).
Карта у нас вписывается в координаты [0,0]-[19,9].
А если выйти за эти пределы??? Например, все сектора, что выше "Black Hole Sun", вытянуть в прямую. Далее, на восток.
Получится ли дотянуть до [27,6]?
Цель эксперимента - узнать, есть ли какие-нить ограничения по размерам карты.
_________________ Объявление
Отдам малыша Ксенона в хорошие руки. Денег не предлагать. |
|
|
Shaddie
556 EGP
![Золотая звезда (+100 EGP)](/conference/images/ranks/medals/gold.gif) ![Серебряная медаль SETI@Home, EG team (208976 credits)](/conference/images/ranks/medals/seti_silver_new.gif) ![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) ![Активист (+25 EGP)](/conference/images/ranks/medals/activist.gif) ![Автор программы под X-Tension (+25 EGP)](/conference/images/ranks/medals/xt_prog.gif) ![Автор программы под Х2 (+25 EGP)](/conference/images/ranks/medals/x2_prog.gif) Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
DF : |
004018B2 8B 55 F8 0F BF 02 83 C2 02
|
Ошибка. offset 004018B2 неправильно, должен offset 000018B2 и смотреть в exe-шнике. Правильно?
Если можно опиши поподробнее.
|
|
|
Laster
155 EGP
![Бронзовая звезда (+25 EGP)](/conference/images/ranks/medals/bronze.gif) ![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) Репутация: 16 Сообщения: 133 Откуда: Нижний Новгород Зарегистрирован: 29.06.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
Shaddie : |
Игра запускается, но при начале новой игры вылетает в винду. Я тоже думаю, что точка входа в байткод, где то прописана, может быть 001.obj или в exe-шнике. Наскоком найти не удалось.
|
А сохраненные игры как ведут себя?
Если сейвы запускаются нормально – можно предположить, что интерпретатор лопатит весь файл 001.obj. Блоки данных и блоки команд узнает по каким-то маркерам и как-то там их уже сам распределяет и связывает (адреса указателей и переходов в байткоде относительны…)… Но важно другое, а именно, что если данное предположение верно, изначально адреса начала блоков нигде не прописаны (я думаю, в любом случае не в екзешнике). Тогда в случае с новой игрой(предположения):
1) в байткоде стоит защита от вмешательства в данные для новой игры(выброс в win)
2) некорректное добавление данных (где-то что-то упустили)…
|
|
|
DF
300 EGP
![Серебряная звезда (+50 EGP)](/conference/images/ranks/medals/silver.gif) ![Ветеран Elite-Games (20 лет)](/conference/images/ranks/medals/veteran20.png) ![Создатель модов для Freelancer (+25 EGP)](/conference/images/ranks/medals/fl_mods_alt.gif) Рейтинг канала: 5(118) Репутация: 47 Сообщения: 478
Зарегистрирован: 06.09.2003
![Вы не можете голосовать](images/tool_cool.gif) |
|
Цитата: |
А дальше в том месте не копал?
|
Все, что знаю, выложил.
Цитата: |
Ошибка. offset 004018B2 неправильно, должен offset 000018B2 и смотреть в exe-шнике. Правильно?
|
Неправильно. Смотреть надо в памяти софтайсом. Туда ставить брейкпойнт.
Цитата: |
1) в байткоде стоит защита от вмешательства в данные для новой игры(выброс в win)
|
Нет там никакой защиты, крейсера на ура захватывались Просто надо менять корректно.
Кстати по внешнему виду приведенных здесь структур у меня создалось впечатление, что это тоже скрипты (последовательно запихивают в стек данные, а потом все это перегоняется из стека еще куда-нибудь).
_________________ По моему так. |
|
|
Laster
155 EGP
![Бронзовая звезда (+25 EGP)](/conference/images/ranks/medals/bronze.gif) ![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) Репутация: 16 Сообщения: 133 Откуда: Нижний Новгород Зарегистрирован: 29.06.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
DF : |
Нет там никакой защиты, крейсера на ура захватывались Просто надо менять корректно.
|
Я имел в виду не замену, а добавление…
|
|
|
Shaddie
556 EGP
![Золотая звезда (+100 EGP)](/conference/images/ranks/medals/gold.gif) ![Серебряная медаль SETI@Home, EG team (208976 credits)](/conference/images/ranks/medals/seti_silver_new.gif) ![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) ![Активист (+25 EGP)](/conference/images/ranks/medals/activist.gif) ![Автор программы под X-Tension (+25 EGP)](/conference/images/ranks/medals/xt_prog.gif) ![Автор программы под Х2 (+25 EGP)](/conference/images/ranks/medals/x2_prog.gif) Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
Результаты по добавлению сектора:
1. Начал новую игру – проблем не было.
2. Побывал в секторе The Wall – все нормально.
3. Прилетел в сектор Emperor Mines – южные ворота появились, на карте сектора они отображались, на галактической карте нет (наверно причина та же что и в X2).
4. При выборе южных ворот проблем с озвучкой не было: просто борт. комп. сказал “Ворота”. Название сектора отобразилось правильно (“Way to system: New sector”).
5. Залетел в южные ворота и оказался в полностью пустом секторе (северных ворот не было). Карта сектора открывалась, но была пустой. Карта галактики не открылась.
Возможно, проблема в том, что в идентификаторе сектора значение ZZZZ я поставил наугад (0023). Если кто хочет поэкспериментировать с ZZZZ, то порядок действий:
1. Изменяем для Emperor Mines offset 86920:
0012000F0009000A00010029002F меняем на 0014000F0009000A00010029002F.
2. Удаляем блок информации (размер файла должен уменьшиться) для The Wall с 57132 по 5721F включительно (всего 238 байт):
0009000F00100002000436200002000B
1FA80002FFF2F42800100010002F0009
000F00100002000747480002FFEE4680
000200089D7800100010002F0009000F
001000020014AE880002FFFF42280002
000EC47800100010002F0009000F0010
0002FFF60A0000020000A1B800020015
A95000100010002F0009000F00100002
00227A900002000B7D68000200089D78
00100010002F0009000F00100002FFE5
D7E80002FFEF45F80002000179580010
0010002F0009000F00100002FFF60A00
0001B9B00002FFFD4A4000100010002F
0009000F001000020012C4B00002FFEB
5F880002FFF85FA800100010002F
3. Удаляем блок информации (размер файла должен уменьшиться) для The Wall с 562E4 по 56301 включительно (всего 30 байт):
0009000A000F0002001F06F800020006
A0E00002FFBD8D1000100010002F
4. Вставляем блок данных нового сектора (всего 268 байт), начиная с 562C6:
0009000A000F0002000374C400020003
74C40002000374C400100010002F000A
0019000B002F000A002F000A00090014
000B002F000A002F00100009000A0010
0009000200132BD0000900100010002F
0009000A00100009000200010FE00009
00100010002F0009000A000F00090002
00071F70000900100010002F0009000A
000A00090002FFED0EC8000900100010
002F000D002F000B000100C9000A000D
0002000BD6780002000BD6780002000B
D678000F0016002F000100D500010089
0001009D0002D77B1340000209E829D0
000220130F40000C0010002F000A000D
00020F360B00000206B49D200002EF04
C560000D000F002F000C000B000B002F
000A00100009000AZZZZ002F
5. Вставляем следующие строки в файл 44001.txt:
1010801 “Way to system: New sector”
1020801 “New sector”
1030801 “New sector text”
Сообщите о том, что подставляли и что получилось.
|
|
|
Shaddie
556 EGP
![Золотая звезда (+100 EGP)](/conference/images/ranks/medals/gold.gif) ![Серебряная медаль SETI@Home, EG team (208976 credits)](/conference/images/ranks/medals/seti_silver_new.gif) ![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) ![Активист (+25 EGP)](/conference/images/ranks/medals/activist.gif) ![Автор программы под X-Tension (+25 EGP)](/conference/images/ranks/medals/xt_prog.gif) ![Автор программы под Х2 (+25 EGP)](/conference/images/ranks/medals/x2_prog.gif) Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
Может поможет (разобраться с идентификатором сектора) следующая информация:
VV - наличие ворот:
N - Север - Верхние ворота;
E - Восток - Правые ворота;
S - Юг - Нижние ворота;
W - Запад - Левые ворота
000A N
000B S
000C NS
000D W
000E NW
000F SW
0010 NSW
0011 E
0013 ES
0012 NE
0014 NES
0015 EW
0016 NEW
0017 ESW
0018 NESW
__VV__YY__XX____ZZZZZZZZ____ Наименование сектора [YY,XX] <BeginData-EndData>
000C00100010000A00010020002F Light Of Heart [07,07] <335F6-34635>
000C00110010000A00010023002F Montalaar [08,07] <34636-354CB>
001600120010000A0001002B002F Rolks Legacy [09,07] <354CC-36239>
001300100013000A0001002F002F Eighteen Billion [07,10] <3623A-37017>
000E00110013000A0001002B002F Ianamus Zura [08,10] <37018-38A31>
001300110012000A0001002C002F New Income [08,09] <38A32-39C3B>
001500120011000A0001002D002F Great Trench [09,08] <39C3C-3AF0B>
000E00120012000A00010020002F Ceo's Doubt [09,09] <3AF0C-3BAB7>
000F000F0010000A00010027002F Aladna Hill [06,07] <3BAB8-3C74D>
000C000B001B000A00010020002F Bluish Snout [02,18] <3C74E-3D3B1>
0013000A001B000A00010024002F Menelaus' Paradise [01,18] <3D3B2-3E553>
000C000D0019000A00010031002F Family Njy [04,16] <3E554-3FBAF>
0015000C001A000A00010024002F Hila's Joy [03,17] <3FBB0-40967>
000B0009001C000A00010022002F Xenon Sector [00,19] <40968-41139>
0013000C0019000A00010026002F Ghinn's Escape [03,16] <4113A-42499>
0014000E000C000A0026002F Split Fire [05,03] <4249A-42D9D>
0015000F000E000A0001002F002F Nopileo's Memorial [06,05] <42D9E-4373D>
000E000E0019000A00010024002F Thyn's Abyss [05,16] <4373E-447DD>
0015000F0017000A00010023002F Treasure Chest [06,14] <447DE-4542D>
000E000F0018000A00010020002F Black Hole Sun [06,15] <4542E-463B3>
0015000F0015000A00010021002F Nyana's Hideout [06,12] <463B4-4767F>
0015000F0016000A00010026002F Omicron Lyrae [06,13] <47680-48C6D>
0014000F0014000A0001002F002F Scale Plate Green [06,11] <48C6E-49A7F>
000F000E0014000A0001002B002F PTNI Headquarters [05,11] <49A80-4B5AF>
0012000E0013000A0028002F Profit Center Alpha [05,10] <4B5B0-4C341>
0010000E000F000A0026002F Thuruk's Beard [05,06] <4C342-4D591>
00120012000C000A00010035002F Trinity Sanctum [09,03] <4D592-4F143>
0012000D0012000A0001002B002F Patriarch's Keep [04,09] <4F144-50025>
000F000C0012000A0001002D002F Cho's Defeat [03,09] <50026-51429>
00150012000F000A00010028002F Lucky Planets [09,06] <5142A-52B1B>
000F000D0013000A0024002F Two Grand [04,10] <52B1C-53AE1>
00150012000E000A0028002F Shore of Infinity [09,05] <53AE2-546DD>
0018000B000B000A0024002F The Hole (AMEC Headquarters) [02,02] <546DE-555DB>
0014000A000D000A0023002F Profit Share [01,04] <555DC-562C5>
0010000C000B000A0027002F The Wall [03,02] <562C6-57361>
0014000B0009000A0023002F Cloudbase North West [02,00] <57362-57E01>
0018000C000A000A0022002F Argon Prime [03,01] <57E02-58D4B>
0016000F000F000A00010025002F Hatikvah`s Faith [06,06] <58D4C-59623>
00170009000E000A0024002F Teladi Gain [00,05] <59624-5A4B1>
0018000B000A000A00010021002F Herron's Nebula [02,01] <5A4B2-5B28B>
0010000A000E000A0001003A002F Seizewell [01,05] <5B28C-5CAC3>
000E000A001C000A00010022002F Xenon Sector [01,19] <5CAC4-5D7D9>
0018000D000A000A0022002F Home of Light [04,01] <5D7DA-5E38F>
00150009000A000A0001002C002F Rolk's Drift [00,01] <5E390-5FF05>
0012000B000D000A0028002F Spaceweed Drift [02,04] <5FF06-60E53>
000C000C000E000A0025002F Blue Profit [03,05] <60E54-61DD7>
001300090009000A00010026002F Kindom End [00,00] <61DD8-63C0D>
0010000B000C000A00010027002F Atreu's Clouds [02,03] <63C0E-65A9D>
000F0009000F000A0022002F Family Whi [00,06] <65A9E-669C7>
000F000B0010000A00010028002F Family Pride [02,07] <669C8-686A5>
0010000D000D000A0001002C002F Olmancketslat's Treaty [04,04] <686A6-68E0D>
0018000D000B000A0026002F President's End [04,02] <68E0E-69A6B>
00100010000C000A0026002F Emperor's Ridge [07,03] <69A6C-6AD07>
0014000C000F000A00010020002F Chin's Fire [03,06] <6AD08-6BCBD>
0014000A0009000A0023002F Three Worlds [01,00] <6BCBE-6CA11>
0012000E000E000A00010026002F Company Pride [05,05] <6CA12-6E595>
000F000C000D000A0021002F Bala Gi's Joy [03,04] <6E596-6EA09>
0015000C0011000A00010025002F Tharka's Sun [03,08] <6EA0A-6F7F5>
000F000A000B000A0027002F Antigone Memorial [01,02] <6F7F6-7082F>
00150012000D000A0001002C002F Preacher's Refuge [09,04] <70830-71CE3>
0010000E000D000A00010024002F Brennan's Triumph [05,04] <71CE4-72849>
0016000C0010000A00010042002F Chin's Clouds [03,07] <7284A-74069>
0014000B000F000A00010021002F Thuruk's Pride [02,06] <7406A-754D7>
000C000A000C000A00010025002F Rolk's Fate [01,03] <754D8-76D21>
000C000D000F000A0027002F Family Chin [04,06] <76D22-77D8D>
0014000C0009000A0023002F Ringo Moon [03,00] <77D8E-78805>
00150009000B000A0026002F Queens Space [00,02] <78806-79901>
00160010000B000A0024002F Duke's Domain [07,02] <79902-7A897>
0010000F000C000A0027002F Priest's Pity [06,03] <7A898-7BEC3>
00120010000A000A0025002F Empire's Edge [07,01] <7BEC4-7CE71>
0010000B000E000A0025002F Greater Profit [02,05] <7CE72-7E097>
00170009000D000A00010022002F Ceo's Buckzoid [00,04] <7E098-7F447>
00170009000C000A00010026002F Menelaus' Frontier [00,03] <7F448-80977>
0017000A000A000A0023002F Power Circle [01,01] <80978-81561>
0012000F000D000A0028002F Danna's Chance [06,04] <81562-81EA9>
0017000F000A000A00010021002F Paranid Prime [06,01] <81EAA-839DD>
0016000E000A000A0001006F002F Ore Belt [05,01] <839DE-85663>
0012000F0009000A00010029002F Emperor Mines [06,00] <85664-8692D>
0014000D0009000A0028002F Red Light [04,00] <8692E-87D97>
000C0011000C000A00010035002F Pontifex' Realm [08,03] <87D98-88EBD>
0018000D000C000A00010029002F Elena's Fortune [04,03] <88EBE-89A59>
0013000E0018000A00010029002F Xenon Sector [05,15] <89A5A-8AA03>
000E00100014000A00010039002F Xenon Sector [07,11] <8AA04-8B9D1>
0014000E0009000A00010023002F Cloudbase South West [05,00] <8B9D2-8CC9F>
000C000A000F000A00010020002F Family Zein [01,06] <8CCA0-8DED5>
0014000C000C000A00010021002F Farnham's Legend [03,03] <8DED6-8E92B>
000C000D000E000A0028002F Ceo's Sprite [04,05] <8E92C-8FA79>
0017000F000B000A00010021002F Priest Rings [06,02] <8FA7A-90E4B>
000E000C001B000A0001002D002F Ocean Of Fantasy [03,18] <90E4C-92A53>
000E000E000B000A0023002F Cloudbase South East [05,02] <92A54-93B31>
Есть ли у кого соображения по поводу последних байтов в ИС?
|
|
|
Argonaut
260 EGP
![Серебряная звезда (+50 EGP)](/conference/images/ranks/medals/silver.gif) ![Ветеран Elite-Games (20 лет)](/conference/images/ranks/medals/veteran20.png) ![Член Клуба Пилотов](/conference/images/ranks/medals/club_member.gif) Рейтинг канала: 1(9) Репутация: 43 Сообщения: 185 Откуда: Челябинск Зарегистрирован: 27.04.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
Про последние 2 байта пока не понимаю.
Shaddie : |
Может поможет (разобраться с идентификатором сектора) следующая информация:
VV - наличие ворот:
N - Север - Верхние ворота;
E - Восток - Правые ворота;
S - Юг - Нижние ворота;
W - Запад - Левые ворота
|
Насчет VV есть чуть соображений:
Опять эта пресловутая девятка!
Если сразу ее отнять, то получим следующую зависимость:
каждый бит отвечает за свои ворота:
1 бит - 0000 0001 - N
2 бит - 0000 0010 - S
3 бит - 0000 0100 - W
4 бит - 0000 1000 - E
Ну и их сочетание конечно.
Вот за что отвечают другие биты?
Если туда тоже биты подставить? Хотя они скорее всего игнорируются.
_________________ Объявление
Отдам малыша Ксенона в хорошие руки. Денег не предлагать. |
|
|
Shaddie
556 EGP
![Золотая звезда (+100 EGP)](/conference/images/ranks/medals/gold.gif) ![Серебряная медаль SETI@Home, EG team (208976 credits)](/conference/images/ranks/medals/seti_silver_new.gif) ![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) ![Активист (+25 EGP)](/conference/images/ranks/medals/activist.gif) ![Автор программы под X-Tension (+25 EGP)](/conference/images/ranks/medals/xt_prog.gif) ![Автор программы под Х2 (+25 EGP)](/conference/images/ranks/medals/x2_prog.gif) Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
Argonaut : |
Если сразу ее отнять, то получим следующую зависимость:
каждый бит отвечает за свои ворота:
1 бит - 0000 0001 - N
2 бит - 0000 0010 - S
3 бит - 0000 0100 - W
4 бит - 0000 1000 - E
Ну и их сочетание конечно.
|
Интересное замечание и похоже верное, а я что не догадался. Попробую то же самое проделать с ZZZZ для ИС.
|
|
|
Argonaut
260 EGP
![Серебряная звезда (+50 EGP)](/conference/images/ranks/medals/silver.gif) ![Ветеран Elite-Games (20 лет)](/conference/images/ranks/medals/veteran20.png) ![Член Клуба Пилотов](/conference/images/ranks/medals/club_member.gif) Рейтинг канала: 1(9) Репутация: 43 Сообщения: 185 Откуда: Челябинск Зарегистрирован: 27.04.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
Argonaut : |
А если провести такой эксперимент:
новые сектора не добавлять, а сменить порядок (примерно тоже, что делал Shaddie, заменяя координаты сектора и врата).
Карта у нас вписывается в координаты [0,0]-[19,9].
А если выйти за эти пределы??? Например, все сектора, что выше "Black Hole Sun", вытянуть в прямую. Далее, на восток.
Получится ли дотянуть до [27,6]?
Цель эксперимента - узнать, есть ли какие-нить ограничения по размерам карты.
|
Провел в субботу этот эксперимент. Вот результаты:
все сектора (кроме "Гетсу Фан" и Враж. сектора [17,0]) "вытянул" в линию, на восток. Для этого сменил их координаты на [16,6]-[25,6]. Установил в секторах ворота E-W (код #0015), в том числе и в секторе "Черная Дыра Солнце (Black Hole Sun)" [15,6].
В последнем секторе "Вражеский сектор" [25,6] ворота на восток тоже были установлены. К тому же для проверки "замкнутости" вселенной были установлены западные ворота в секторе "Шахты Императора" [0,6].
Начал игру с начала и полетел в сектор "Черная Дыра Солнце (Black Hole Sun)" [15,6]. Просматривая карту галактики, находясь в этом секторе, заметил, что отображаются только западные ворота, хотя на самом деле присутствовали и восточные.
Полетев дальше на восток, попадаю во вражеский сектор, далее в "Бездну Тина (Thyn's Abbyss)", "Семья Ниу (Family Njy)", "Побег Гинна (Ghinn's Escape)". Галактическая карта не отображается. Точнее отбражается ее восточная часть, управление картой отсутствует. Отсутствуют также измененные сектора. Вместо названия секторов только "Sector 16-06"..."Sector 19-06". Описание сектора отсутствует. Расса, население, планеты, солнца отображаются правильно.
Пролетев еще далше, оказываюсь в секторе "Шахты Императора"!!!!!
Следовательно, возникает мысль:
1) вселенная замкнута. Улетев на восток, можешь появиться с запада;
2) максимальный размер карты - 20x10 (с [0,0]до [19,9]). На текущий момент построить сектор за этими пределами не удастся, он просто будет игнорироваться. Надо найти место, где снимается/изменяется это ограничение (если оно вообще есть).
(дописано позже)
В воскресение выяснил следующее: находясь с перемещенных секторах, карту галактики можно "двигать". Например, когда я был в секторе "16-06", масштаб карты не менялся. Но если "сдинуться" влево, в сектор "Черная Дыра Солнце (Black Hole Sun)" [15,6], то все функции управления картой появляются.
Замечено также, что находясь в "последнем правом" секторе [19,6], сдинуть карту галактики вправо не возможно. Тоже самое с сектором "Шахты Императора" (влево по карте не сместиться, даже если ты там только что пролетел).
Замечен еще один баг. Из сектора "Шахты Императора" нельзя попасть обратно, в сектор "19-06". При влете в ворота весь экран плавно становиться белым. Вход в сектор озвучивается (что грит, не понял, надо будет русскую озвучку воткнуть). Управление практически всем отсутствует. При нажатии кнопки "." (карта сектора), можно разглядеть надпись "Навигационный спутник отсутствует" (или как там это пишеться?). Также "разглядел" при выводе личной инфы (кнопка "p"), "Местонахождение: Конец Королевства"!!???... Похоже, координата вычитается не верно. При ошибке пытается подставить сектор [0,0], но не корректно. Причем, при одном-двух таких "просмотрах" игра виснет намертво. Тоже самое происходит, если начать игру заново и сразу попытаться пролететь сквозь эти ворота.
Название сектора и описание подставить не удалось. Даже прописав в файлах "44001.txt" и/или "44101.txt" - 1020718 "Бездна Тинна" и т.п.
Есть мысль, что где-то храниться карта галактики с данными о воротах и еще с чем нибудь (возможно прописаны коды названия сектора и описания, что берутся из файлов "44xxx.txt".
_________________ Объявление
Отдам малыша Ксенона в хорошие руки. Денег не предлагать. |
|
|
Shaddie
556 EGP
![Золотая звезда (+100 EGP)](/conference/images/ranks/medals/gold.gif) ![Серебряная медаль SETI@Home, EG team (208976 credits)](/conference/images/ranks/medals/seti_silver_new.gif) ![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) ![Активист (+25 EGP)](/conference/images/ranks/medals/activist.gif) ![Автор программы под X-Tension (+25 EGP)](/conference/images/ranks/medals/xt_prog.gif) ![Автор программы под Х2 (+25 EGP)](/conference/images/ranks/medals/x2_prog.gif) Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
Argonaut : |
Провел в субботу этот эксперимент.
|
Молодец. А у меня на выходных не было времени покопаться.
Argonaut : |
Галактическая карта не отображается. Точнее отбражается ее восточная часть, управление картой отсутствует. Отсутствуют также измененные сектора.
|
Я думаю причина этого бага та же что и в X2, но там ее вроде решили (кажется CheckerTwo), надо бы к нему обратиться.
Argonaut : |
1) вселенная замкнута.
2) максимальный размер карты - 20x10 (с [0,0]до [19,9]).
|
Первый пункт очень интересен. А по поводу второго у меня были подозрения.
Argonaut : |
Название сектора и описание подставить не удалось. Даже прописав в файлах "44001.txt" и/или "44101.txt" - 1020718 "Бездна Тинна" и т.п.
|
Ты как пробовал? Например, для сектора "Thyn's Abyss" в твоем случае, нужно не добавлять новые строки, а просто изменить: 1010617 "Way to system: Thyn's Abyss" на 1010718 "Way to system: Thyn's Abyss" и перенести эту строчку так чтобы соблюдалась последовательность 1010716 -> 1010717 ->1010718. Так же сделать для 1020617 и 1030617. Потом все это повторить для всех остальных секторов.
|
|
|
Shaddie
556 EGP
![Золотая звезда (+100 EGP)](/conference/images/ranks/medals/gold.gif) ![Серебряная медаль SETI@Home, EG team (208976 credits)](/conference/images/ranks/medals/seti_silver_new.gif) ![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) ![Активист (+25 EGP)](/conference/images/ranks/medals/activist.gif) ![Автор программы под X-Tension (+25 EGP)](/conference/images/ranks/medals/xt_prog.gif) ![Автор программы под Х2 (+25 EGP)](/conference/images/ranks/medals/x2_prog.gif) Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
Выяснил следующие:
1. Принадлежность сектора той или иной расе.
Задается тем, какой расе принадлежит торговая станция. Если торговая станция в секторе отсутствует, сектор принадлежит пиратам. У ксенонов торговая станция - это станция в виде X.
2. Уточнение для структуры идентификатора подтипа станций.
Для станций состоит из 8 байтов: 0001 XXXX 00YY 00ZZ.
XXXX - собственно идентификатор подтипа станции. YY - принадлежность станции определенной расе: 0A - Argon; 0B - Boron; 0C - Split; 0D - Paranid; 0E - Teladi; 0F - Xenon; 10 - Pirate; 11 - Goner; 12 - станция принадлежит вам. ZZ - точно сказать не могу но похоже на класс станции.
Так вот XXXX – это так же идентификатор из файла 44001.txt. Для получения идентификатора необходимо перевести из hex в dec, умножить на 10 и прибавить 1, далее ищем идентификатор в файле 44001.txt.
Пример: 0001 013E 000A 0009 - Free Argon Trading Station. 013E -> 318 -> 3180 -> 3181.
Вот полный список идентификаторов подтипов для станций:
00C9 2011 Solar Power Plant
00CA 2021 Ore Mine
00CB 2031 Silicon Mine
00CC 2041 Weapon component factory
00CD 2051 Crystal Fab
00CE 2061 Quantum Tube Fab
00CF 2071 Chip plant
00D0 2081 Computer Plant
00D6 2141 Wheat Farm
00D7 2151 Cattle Ranch
00D9 2171 Rimes Fact
00DA 2181 Cahoona Bakery
00DB 2191 Space Fuel Distillery
00E0 2241 Plankton Farm
00E1 2251 Bio Gas Factory
00E2 2271 Stott Mixery
00E3 2281 BoFu Chemical Lab
00EA 2341 Scruffin Farm
00EB 2351 Chelt Space Aquarium
00ED 2371 Massom Mill
00EE 2381 Rastar Refinery
00F4 2441 Soyfarm
00F5 2451 Snail Ranch
00F6 2463 Rudder-optimization
00F7 2471 Space Jewellery
00F8 2481 Soyery
00FE 2541 Flower Farm
00FF 2551 Teladianium foundry
0100 2561 Dream farm
0101 2571 Sun oil refinery
0102 2581 Bliss Place
0105 2611 Alpha IRE Forge
0106 2621 Beta IRE Forge
0107 2631 Gamma IRE Forge
0108 2641 Alpha PAC Forge
0109 2651 Beta PAC Forge
010A 2661 Gamma PAC Forge
010B 2671 Alpha HEPT Forge
010C 2681 Beta HEPT Forge
010D 2691 Gamma HEPT Forge
010F 2711 Shield Prod Facility 1 MW Shield
0110 2721 Shield Prod Facility 5 MW Shield
0111 2731 Shield Prod Facility 25 MW Shield
0112 2741 Shield Prod Facility 125 MW Shield
0119 2811 Space Missile Factory Mosquito Missile
011A 2821 Space Missile Factory Wasp Missile
011B 2831 Space Missile Factory Dragonfly Missile
011C 2841 Space Missile Factory Silkworm Missile
011D 2851 Space Missile Factory Hornet Missile
0136 3101 Fed. Argon Shipyard
013E 3181 Free Argon Trading Station
013F 3191 Argon Equipment Dock
0140 3201 Royal Boron Shipyard
0148 3281 Boron Trading Station
0149 3291 Boron Equipment Dock
014A 3301 Split Shipyard
0152 3381 Split Trading Port
0153 3391 Split Equipment Dock
0154 3401 Paranid Shipyard
015C 3481 Paranid Trading Dock
015D 3491 Paranid Equipment Dock
015E 3501 Teladi Shipyard
0166 3581 Teladi Trading Station
0167 3591 Teladi Space Equipment Dock
0170 3681 Unknown Xenon Station (в виде X)
0171 3691 Unknown Xenon Station (Shipyard)
0176 3741 Goner Temple
0178 3761 Pirate Anarchy Port
0185 3891 Satellite Factory
0187 3911 SQUASH Mine Factory
0188 3921 Lasertower Factory
0189 3931 Drone Factory
|
|
|
Рыб
1242 EGP
![Золотая звезда (+100 EGP)](/conference/images/ranks/medals/gold.gif) ![Ветеран Elite-Games (20 лет)](/conference/images/ranks/medals/veteran20.png) ![Пилот ХТ года 2003 (+50 EGP)](/conference/images/ranks/medals/xt.gif) ![Меценат](/conference/images/ranks/medals/mecenat.gif) ![Знаток X3: Terran Conflict (+15 EGP)](/conference/images/ranks/medals/x3tc_expert.png) Рейтинг канала: 3(36) Репутация: 340 Сообщения: 7461
Зарегистрирован: 05.06.2001
![Вы не можете голосовать](images/tool_cool.gif) |
|
Может этот ZZ это индетификатор класса станции, определяющий, каким образом станция отображается на радаре? Вполне возможно, что этот "класс" влияет не только на параметры отображения, но и на менее очевидные, но важные вещи, например - поиск станции для закупки ресурса. Т.е. если транспортник ищет ресурс первого уровня, то он будет искать фабрику исключительно среди фабрик соответствующего класса .
|
|
|
Shaddie
556 EGP
![Золотая звезда (+100 EGP)](/conference/images/ranks/medals/gold.gif) ![Серебряная медаль SETI@Home, EG team (208976 credits)](/conference/images/ranks/medals/seti_silver_new.gif) ![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) ![Активист (+25 EGP)](/conference/images/ranks/medals/activist.gif) ![Автор программы под X-Tension (+25 EGP)](/conference/images/ranks/medals/xt_prog.gif) ![Автор программы под Х2 (+25 EGP)](/conference/images/ranks/medals/x2_prog.gif) Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
Вчера меня озарила , а что если 3 непонятных значения в блоке данных по солнцу (по записи похожие на координаты), есть ни что иное как цвет солнца заданный RGB. Решил проверить. Получилось несколько другой результат, а именно: эти три значения являются значениями чего-то похожего на фильтр цветов RGB накладываемого на основную палитру цветов объектов в текущем секторе. Например, если установить значения R=0, G=0 и B=255 (больше FF не пробовал), то увидим что все объекты отображаются с большим преобладанием синего цвета. Аналогично для значений R и G, только будут преобладать красные или зеленые оттенки цветов.
Таким образом, для солнца структура записи объекта:
BGR + К + ИТ[4] + Р, где Р - разделитель (002F); ИТ – идентификатор типа 4 байта (для солнца 000C 0010); К – блок координат; BGR – значения фильтра от 6 до 12 байт (именно в таком порядке Blue Green Red). Замечание: для записи значений фильтра используется та же система, что и для записи координат, за исключением “длинного” 4 байтового варианта (общий формат записи координат).
Пример: 0001 00EB 0001 00E3 0001 0052 0002 E218 8350 0002 01CA 38B0 0002 0A38 BAD0 000C 0010 002F – солнце 2 (первое с конца файла) в секторе Argon Prime. Здесь цвета фильтра следующие: Blue=00EB=235, Green=00E3=227 и Red=0052=82.
To all кто обращал внимание, солнца всегда одного цвета?
|
|
|
Shaddie
556 EGP
![Золотая звезда (+100 EGP)](/conference/images/ranks/medals/gold.gif) ![Серебряная медаль SETI@Home, EG team (208976 credits)](/conference/images/ranks/medals/seti_silver_new.gif) ![Ветеран Elite-Games (15 лет)](/conference/images/ranks/medals/veteran15.png) ![Активист (+25 EGP)](/conference/images/ranks/medals/activist.gif) ![Автор программы под X-Tension (+25 EGP)](/conference/images/ranks/medals/xt_prog.gif) ![Автор программы под Х2 (+25 EGP)](/conference/images/ranks/medals/x2_prog.gif) Рейтинг канала: 6(438) Репутация: 118 Сообщения: 261 Откуда: Томск Зарегистрирован: 09.09.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
Про расстояния.
Будем считать, что координаты измеряются в УЕ . Вопрос: какой курс УЕ по отношению к 1 километру? Определил по формуле Расстояние = SQRT((X1-X2)^2 + (Y1-Y2)^2 + (Y1-Y2)^2), где [X1,Y1,Z1] - координаты первого объекта (брал координаты моего корабля), a [X2,Y2,Z2] - координаты второго объекта (координаты станции). Получил расстояние в УЕ и разделил его на расстояние в км. У меня получилось, что 1 км=222970 УЕ (приблизительно). То есть для получения расстояния между двумя объектами нужно подставить их координаты в формулу и результат разделить на 222970.
Получается:
Расстояние от центра до ворот = 7 200 000 УЕ = 32.29 км;
Расстояние между воротами через центр = 14 400 000 УЕ = 64.38 км;
Расстояние между воротами по диагонали = 10 182 338 УЕ = 45.67 км.
Если ошибся - поправте.
Замечание: при изменении координат объектов нужно учитывать, что если два объекта будут довольно близко друг к другу, то при генерации новой игры они просто не появятся (пару раз у меня такое было). Так что если кто занимается написанием софтины для редактирования карты , может в нее заложить проверку расстояний по выше приведенной формуле.
|
|
|
Рыб
1242 EGP
![Золотая звезда (+100 EGP)](/conference/images/ranks/medals/gold.gif) ![Ветеран Elite-Games (20 лет)](/conference/images/ranks/medals/veteran20.png) ![Пилот ХТ года 2003 (+50 EGP)](/conference/images/ranks/medals/xt.gif) ![Меценат](/conference/images/ranks/medals/mecenat.gif) ![Знаток X3: Terran Conflict (+15 EGP)](/conference/images/ranks/medals/x3tc_expert.png) Рейтинг канала: 3(36) Репутация: 340 Сообщения: 7461
Зарегистрирован: 05.06.2001
![Вы не можете голосовать](images/tool_cool.gif) |
|
Насчёт светил:
1. Они являются точками в опеределённых местах сектора и до них вполне можно долететь.
2. "Физически" их в секторе нет, т.е. сквозь них можно пролетать. Цвет у них у всех одинаковый - просто яркая белая точка со свечением вокруг.
3. Указанное выше значение RGB возможно задаёт так называемую пространственную составляющую света (ambient), которая одинакого влияет на все объекты сцены независимо от направления или расположения остальных источников освещения. Также вполне возможно, что это цвет для так называемого направленного источника освещения, что наиболее вероятно в том случае, если значение задаётся для каждого светила, но в этом случае в дополнение к RGB должен быть обязательно указан вектор направления света.
Насчёт расстояний:
В XT используются какие-то внутренние системы единиц измерения. Сам смог определить следующее - от центра сектора до ворот расстояние ровно 32км, что во внутренних единицах измерения равно ровно 7200000 единиц, т.е. один метр равен 225 внутренних единиц.
Если стоять ровно в центре сектора, то это будет координата (0,0,0). На север будет идти положительное направление оси X, на восток - Y, вверх - Z (вечером уточню).
|
|
|
Argonaut
260 EGP
![Серебряная звезда (+50 EGP)](/conference/images/ranks/medals/silver.gif) ![Ветеран Elite-Games (20 лет)](/conference/images/ranks/medals/veteran20.png) ![Член Клуба Пилотов](/conference/images/ranks/medals/club_member.gif) Рейтинг канала: 1(9) Репутация: 43 Сообщения: 185 Откуда: Челябинск Зарегистрирован: 27.04.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
Вроде видел объекты в каком-то секторе, освещенные красноватым оттенком. Цвет звезды не помню.
Использование данного фильтра вполне логично.
Да, я тоже этом подсчетом занимался.
Причем у меня получилось 2 коэффициента.
1) по координатам на карте = 225'000 (между воротами должно быть 64 км.)
2) то, что показывает радар в корабле до выделенного объекта = ?
Значение сейчас не помню, можно дома поискать (примерно то, что ты получил). Оба коэффициента очень близки, но не равны (почему, не понятно).
P.S. Расстояние = SQRT((X1-X2)^2 + (Y1-Y2)^2 + (Z1-Z2)^2)
добавлено:
Рыб : |
Также вполне возможно, что это цвет для так называемого направленного источника освещения, что наиболее вероятно в том случае, если значение задаётся для каждого светила, но в этом случае в дополнение к RGB должен быть обязательно указан вектор направления света.
|
Нет. Источник - всенаправленный. Вектор не нужен.
_________________ Объявление
Отдам малыша Ксенона в хорошие руки. Денег не предлагать. |
|
|
Рыб
1242 EGP
![Золотая звезда (+100 EGP)](/conference/images/ranks/medals/gold.gif) ![Ветеран Elite-Games (20 лет)](/conference/images/ranks/medals/veteran20.png) ![Пилот ХТ года 2003 (+50 EGP)](/conference/images/ranks/medals/xt.gif) ![Меценат](/conference/images/ranks/medals/mecenat.gif) ![Знаток X3: Terran Conflict (+15 EGP)](/conference/images/ranks/medals/x3tc_expert.png) Рейтинг канала: 3(36) Репутация: 340 Сообщения: 7461
Зарегистрирован: 05.06.2001
![Вы не можете голосовать](images/tool_cool.gif) |
|
Не, в каждом секторе XT есть как минимум один источник света имеющий направление, это очевидно из того, что станции явно освещены с одной стороны и тёмные с другой. Скорее всего в секторе присутствует один direction источник света, но так же присутствует и пространственная составляющая света, которая определяет цветовую характеристику теневых частей объектов.
Можно допустить, что в секторе присутствует всего один источник направленного света с характеристикой RGB(255, 255, 255) и каким-то хранимым или предопределённым по некому алгоритму направлением, а RGB светил вляюют только на "суммарную" составляющую пространственного света сектора.
|
|
|
Argonaut
260 EGP
![Серебряная звезда (+50 EGP)](/conference/images/ranks/medals/silver.gif) ![Ветеран Elite-Games (20 лет)](/conference/images/ranks/medals/veteran20.png) ![Член Клуба Пилотов](/conference/images/ranks/medals/club_member.gif) Рейтинг канала: 1(9) Репутация: 43 Сообщения: 185 Откуда: Челябинск Зарегистрирован: 27.04.2004
![Вы не можете голосовать](images/tool_cool.gif) |
|
Согласен.
Есть объемное освещение и точечное.
Точечное, в принципе, бывает строго направленным (прожектор) и всенаправленным (солнце в космических масштабах). Разница между ними только в том, что первый освещает группу объектов (на которые он направлен), а второй - все объекты. От любого точечного источника будет как тень, так и неосвещенная поверхность. А вот при объемном освещении, любая поверхность объекта будет освещена в одинаковой степени.
У нас присутствует как объемное (в малой степени), так и точечные всенаправленные (звезды) источники света. "Прожектора" я по крайней мере не встречал.
Цветовая составляющая должна принадлежать точечному источнику (и скорее всего так оно и есть). Объемному конечно тоже, но у нас скорее всего этим пренебрегли.
P.S. Кто занимался 3D-моделированием, сразу меня поймет. Там все эти источники света есть. И даже больше (различные вариации).
_________________ Объявление
Отдам малыша Ксенона в хорошие руки. Денег не предлагать. |
|
|
|
|
|
Канал X-Tension/X-BTF: «Структура данных X-Tension» |
|
К списку каналов | Наверх страницы |
Цитата не в тему: А вы в одном корабле будете летать и держацца за руку, или же каждый в своем и держацца за руки? Ежели второй вариант, то хотелось бы уточнить длину ваших рук, просто так, на фсякий случай. (Nadin)
|
» Структура данных X-Tension | страница 2 |
|