Master of Star Control
Старый 12.05.2017, 00:46   #1
Malin
Аватар для Malin
Сообщение Сборка UQM 0.7.0 (HD) Windows, VisualC++

Сборка UQM 0.7.0 (HD)


Информация по сборке как оригинальной UQM 0.7.0, так и UQM 0.7.0 HD. Обе игры используют одинаковые библиотеки поэтому все пункты кроме п.5 у этих версий совпадают.

Система: Windows XP SP3 / Windows 7 / Windows 10
Компилятор: Visual C++ 2008 Express / Visual C++ 2010 Express

Скачать исходники:
UQM 0.7.0-1: https://sourceforge.net/...
Backup: uqm0.7.0-1.zip (Яндекс.Диск)
или UQM 0.7.0 HD: https://sourceforge.net/...
Распаковать в C:\Build\sc2\
Файл C:\Build\sc2\sc2\INSTALL.msvc содержит информацию об установке. Можно почитать блокнотом каким-нибудь. А ещё можно почитать файл INSTALL рядом.

На самом деле путь C:\Build\sc2\ не обязательно должен быть именно таким, можно изменить его тут и далее на любой другой.

Ниже, опираясь на файл INSTALL.msvc, представлено "переваренное мной" руководство:

1. Установка VisualC++ и SDK

1.1. Качаем и устанавливаем Microsoft Visual C++ 2008 Express Edition.
Microsoft Visual C++ 2010 Express
Можно сразу использовать Microsoft VisualC++ 2010 Express (см. заметку внизу поста)

Ссылка из файла не рабочая.
Побродив по интернетам нашёл вот эту: http://microsoft.com/.../VS2008ExpressWithSP1ENUX1504728.iso
На всякий случай backup'ул: MSVC++ 2008 Express (Яндекс.Диск)
Устанавливаем, со всем соглашаемся, регистрировать не обязательно.


1.2. Качаем и устанавливаем Microsoft Windows Platform SDK.
Ссылка конечно же не работает. Я качал от сюда: https://www.microsoft.com/....
Там предложат три образа. Нужен GRMSDKX_EN_DVD.iso.
Backup: GRMSDKX_EN_DVD.iso (Яндекс.Диск)
При установке можно снять галочки с SQL и Silverlight. Остальное не трогать.

Если ругается на отсутствие .NET 4.0: https://www.microsoft.com/ru-ru/Down....aspx?id=17718
2. Зависимости.
UQM использует некоторые внешние библиотеки, их мы и будем ставить. Библиотеки будем по возможности складывать в "C:\Build\".

2.1. Нужен SDL. Это библиотека управляющая звуком, вводом и графикой на низком уровне. Ссылка ведёт на сайт, но версии 1.2.14 там уже нет, зато там МНОГО других ссылок. Прошу заметить что нас интересует что-то с VC на конце.
Я использовал SDL-devel-1.2.15-VC.zip
Backup: SDL-1.2.15.rar (Яндекс.Диск)

2.2 Нужен SDL_image. Библиотека для загрузки изображений для SDL.
Ситуация аналогичная. Я качал SDL_image-devel-1.2.12-VC.zip
Backup: SDL_image-1.2.12.rar (Яндекс.Диск)

2.3. Ogg Vorbis - сжиматель звука с потерями.
Ссылка из файла не рабочая. OggVorbis-win32sdk-1.0.1.zip
Backup: OggVorbis-win32sdk-1.0.1.rar (Яндекс.Диск)

2.4. zlib- архиватор.
Сайт по ссылке придуман инопланетянами. Однако одна полезная ссылка там есть: https://github.com/madler/zlib откуда нужно стащить zip при помощи кнопки "Code -> Download ZIP", но он не содержит dll'ки.
Нам нужны ещё и сами библиотеки: https://github.com/.../zlib-1.2.3.win32 откуда я повытягивал dll и lib.
Всё вместе легко и просто у меня: zlib.rar (Яндекс.Диск)

2.5. OpenAL - библиотека работы со звуком
Ссылка из файла не рабочая.
Скачать тут: http://openal.org/downloads/ Нам нужен тот что с пометкой SDK.
Backup: OpenAL11CoreSDK.zip (Яндекс.Диск)
Там не совсем библиотека, а установщик. Устанавливаем, со всем соглашаемся.
После сделать следующее:
- Создать папку "AL" в "C:\Program Files\OpenAL 1.1 SDK\include"
- Копировать все заголовочные файлы *.h из "C:\Program Files\OpenAL 1.1 SDK\include" в эту папку "AL"
3. Исходники UQM и библиотеки

3.1 Исходники мы уже скачали ранее, но на всякий случай выложу всю папку Build как она есть у меня: Build (Яндекс.Диск)
Если будете её качать то все последующие пункты уже выполнены. Однако будьте внимательны, чтобы прописанные мной пути в ниже перечисленных пунктах совпадали с вашими!

3.2 Копируем следующие библиотеки (*.dll - все dll файлы из папки)
- "C:\Build\SDL-1.2.15\lib\x86\SDL.dll"
- "C:\Build\SDL_image-1.2.10\lib\x86\*.dll"
- "C:\Build\oggvorbis-win32sdk-1.0.1\bin\*.dll"
в папку "C:\Build\sc2\sc2\"
4. Настраиваем проект в VisualC++

4.1. Заходим в папку C:\Build\sc2\build\msvc6\ дважды кликаем на "UrQuanMasters.dsp".
Откроется Visual C++ и запросит конвертацию файла VC6.dsp. Соглашаемся.

4.2. Устанавливаем зависимости
- В VisualC++, в панели Solution Explorer ПКМ на проекте 'UrQuanMasters', в контекстном меню выбираем "Properties"
- Откроется окно, в дереве слева выбираем "Configuration Properties -> C/C++ -> General"
- В правой части выбираем "Additional Include Directories" и кликаем на маленькую кнопочку справа "..."
Далее нужно добавить зависимости:
"C:\Build\zlib"
"C:\Build\oggvorbis-win32sdk-1.0.1\include"
"C:\Build\SDL_image-1.2.10\include"
"C:\Build\SDL-1.2.15\include"
"C:\Program Files\OpenAL 1.1 SDK\include"
"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include"
помимо этих у меня уже есть эти две:
..\..\src
..\..\src\regex

4.3. Снова зависимости.
- Там же, слева, в дереве "Configuration Properties -> Linker -> General -> Additional Library Directories -> Кнопка "..."
- Добавить зависимости:
"C:\Build\zlib\lib"
"C:\Build\oggvorbis-win32sdk-1.0.1\lib"
"C:\Build\SDL_image-1.2.10\lib\x86"
"C:\Build\SDL-1.2.14\lib\x86"
"C:\Program Files\OpenAL 1.1 SDK\libs\Win32"
"C:\Program Files\Microsoft SDKs\Windows\v7.0\Lib"

4.4. Удалить ненужные зависимости
- Там же, в "Linker -> Input - > Additional Dependencies"
- Удалить odbc32.lib и odbccp32.lib.
В итоге у меня остались:
SDL.lib
SDLmain.lib
SDL_image.lib
zdll.lib
ws2_32.lib
user32.lib

Если user32.lib нет - добавить насильно.
5. Почти всё. Компилируем проект в VisualC++ (F5) и огребаем ошибок.
UQM 0.7.0-1

У меня их было много, я шаманил как мог, переименовывал папки и бился в истерике. Однако, мне кажется все они будут устранены так как они учтены в пунктах выше, опишу одну важную ошибку:

'vsnprintf' : redefinition; different linkage

Видимо произошёл конфликт новых библиотек и исходников. В итоге я внёс следующие правки в код:

..\src\libs\network\wspiapiwrap.h
Код:

Код:
#	define getaddrinfo WspiapiGetAddrInfo
#	define getnameinfo WspiapiGetNameInfo
#	define freeaddrinfo WspiapiFreeAddrInfo
void WINAPI WspiapiFreeAddrInfo (struct addrinfo *ai);
int WINAPI WspiapiGetAddrInfo(const char *nodename, const char *servname,
		const struct addrinfo *hints, struct addrinfo **res);
int WINAPI WspiapiGetNameInfo (const struct sockaddr *sa, socklen_t salen,
		char *host, size_t hostlen, char *serv, size_t servlen, int flags);
Заменил на:

Код:
#include <wspiapi.h>
..\src\libs\uio\utils.c
Удалил функцию:
Код:
static inline int vsnprintf(char *str, size_t size, const char *format, va_list args)
{
	int result = _vsnprintf (str, size, format, args);
	if (str != NULL && size != 0)
		str[size - 1] = '\0';
	return result;
}
..\src\port.h

Удалил объявление:
Код:
int vsnprintf(char *str, size_t size, const char *format, va_list args);
После этого всё скомпилировалось! Ура, товарищи! Ура!
Правда это мы скомпилировали отладочную версию, которая вместе с игрой запускает ещё и отладочное окно...
UQM 0.7.0 HD
Чуда не случилось и в этой версии. Сразу вылезла куча ошибок, повидимому связанная с тем что разработчики этой версии перешли на другой компилятор языка Си, от чего появились тысячи каких-то глупых ошибок.

../src/types.h

Убрать препроцессорное условие в этом коде:
Код:
#if !defined(HAVE__BOOL) && !(defined(_MSC_VER) && _MSC_VER >= 1600) // MB: update to work on MSVC 2013 and higher, which already has this defined
typedef unsigned char _Bool;
#endif  /* HAVE_BOOL */
В итоге должно получиться это если просто закомментировать:
Код:
//#if !defined(HAVE__BOOL) && !(defined(_MSC_VER) && _MSC_VER >= 1600) // MB: update to work on MSVC 2013 and higher, which already has this defined
typedef unsigned char _Bool;
//#endif  /* HAVE_BOOL */
../src/???
Далее могут возникнуть ошибки из-за того что Си не одобряет объявления перемнных не в начале тела блока { }. Таких мест было несколько, да простят меня те кто будут идти по моим стопам за то, что я не приведу их здесь конкретно. Да и если вы идёте по моим стопам то скорее всего знаете что такое объявления перемнных и тело блока. А если не знаете, то как вам удалось добраться до этого этапа???

Пример с ошибкой:
Код:
if (someCondition)
{ //начало тела блока
int i; //Объявление переменной
i += 1; //Исполняемый код
SIZE sizeVar; //перенести к int i; перед всем исполняемым кодом
sizeVar += 1; //Исполняемый код
...
} //конец тела блока
../src/uqm/gendef.c
Не знаю почему, но компилятор не нашёл функции генерации для колоний Зок-Фот-Пиков generateZoqFotPikColony0Functions и generateZoqFotPikColony1Functions. Придётся закоментировать их вызов и объявление:
Код:
//extern GenerateFunctions generateZoqFotPikColony0Functions;
//extern GenerateFunctions generateZoqFotPikColony1Functions;

...

//case ZOQ_COLONY0_DEFINED:
//return &generateZoqFotPikColony0Functions;
//case ZOQ_COLONY1_DEFINED:
//return &generateZoqFotPikColony1Functions;
UPD: сам файл genzoqcolony.c есть в папке ..\src\uqm\planets\generate. Надо добавить его через Solution Explorer в эту папку (Add Existing Item)
6. Компиляция релизной версии
Для того чтобы скомпилировать версию без отладочного окна, нужно следующее.

6.1. Перевести режим сборки с Debug_NoAccel в Release_NoAccel (ищи ниспадающее меню в верхней панели инструментов VisualStudio)

6.2. Повторить пункты 4.2, 4.3, 4.4 для релизной версии (окно свойств проекта в верху имеет также ниспадающее меню выбора режима сборки - выбрать Release_NoAccel)

6.3. В том же окне свойств перейти в Configuration Properties -> Build Events -> Post-Build Event и очистить поля Command Line и Description

Полезности и пояснения
  • Скомпилированный файл uqm.exe находится в папке C:\Build\sc2\sc2\. Его можно переместить в ванильную UQM 0.7.0-1 и будет работать.
  • Если нужно отладить сборку с аргументами типа --addon russian, то аргументы можно ввести в Configuration Properties -> Debugging -> Command Arguments
  • Точка входа в программу main(..) находится в файле uqm.c
Переход на VisualStudio C++ 2010
1. Копировать папку ..\build\msvc6 рядом дав ей название msvc10 для порядку.
2. Запустить ..\build\msvc10\UrQuanMasters.sln в VSC++2010, подождать пока процесс миграции не завершится.
3. Project -> UqQuanMasters Properties -> Configuration Properties -> Debugging -> Command ввести путь до uqm.exe, например C:\Build\sc2\sc2\uqm.exe

Последний раз редактировалось Malin; 10.04.2022 в 20:21..
Ответить с цитированием Вверх
Старый 03.06.2020, 21:22   #11
Vasaka
Аватар для Vasaka
По умолчанию Re: Сборка UQM 0.7.0 (XP, VisualC++)

Посмотрел, что основное это Визуал Студио. Она точно не работает под Вайном.
Ответить с цитированием Вверх
Старый 04.06.2020, 15:23   #12
Malin
Аватар для Malin
По умолчанию Re: Сборка UQM 0.7.0 (XP, VisualC++)


Цитата:
Сообщение от Vasaka

Хотел для начала ресурсы на планетах поменять. Надоело летать по злачным местам. Что б опять, как в детстве!

Сделать случайную генерацию?
На самом деле хорошо бы запустить сборку не 0.7.0, а последнюю HD версию. Жаль не добрался тогда в порыве инициативы до неё.
Оффтоп
Ответить с цитированием Вверх
Старый 04.06.2020, 17:20   #13
Vasaka
Аватар для Vasaka
По умолчанию Re: Сборка UQM 0.7.0 (XP, VisualC++)


Цитата:

Сделать случайную генерацию?

Чтобы сделать случайную генерацию нужно выносить настройки во внешний файл. Иначе придётся каждый раз собирать игру заново. Просто хочу поменять (руками или программно, скорее программно) файл с планетами и потом с изменённым собрать.
У обычной версии и HD разве не одни и те же файлы ресурсов за исключением картинок?
Ну и как по мне, лучше сначала обычную версию сделать. Меня тошнит от HD. У меня пропадает всякое желание делать что-либо для того, во что я потом не смогу играть.
Ответить с цитированием Вверх
Старый 03.07.2020, 01:41   #14
Malin
Аватар для Malin
По умолчанию Re: Сборка UQM 0.7.0 (XP, VisualC++)

Вась, я скомпилировал под win7. С бубном наплясался, устал, опишу процедуру позже.

Стоит отметить следующее:
  • Версия UQM 0.7.0
  • Английская
  • Отладочная (вылазит доп. окно с отладочной инфой. Надо разбираться как компилить обычную версию)
  • Я могу собирать только под винду (под Linux надо собирать на Linux'e Руководство в исходниках есть под minGW)
Впрочем, сейчас можно опробовать твои хотелки на том что работает уже сейчас
Ответить с цитированием Вверх
Старый 03.07.2020, 06:50   #15
Vasaka
Аватар для Vasaka
По умолчанию Re: Сборка UQM 0.7.0 (XP, VisualC++)


Цитата:

Я могу собирать только под винду (под Linux надо собирать на Linux'e Руководство в исходниках есть под minGW)

Это не нужно. Сейчас люди всё больше играют на Линуксе в Виндовые версии, даже при наличии версии для линукс. Как правило, они работают быстрее, стабильнее и безпроблемней.
Виндовый УКМ работает в линуксе просто шикарно.



Цитата:

Впрочем, сейчас можно опробовать твои хотелки на том что работает уже сейчас

Отлично. Пошёл искать файл, который содержит описание систем, планет и ресурсов на них.
Ответить с цитированием Вверх
Старый 03.07.2020, 08:11   #16
Vasaka
Аватар для Vasaka
По умолчанию Re: Сборка UQM 0.7.0 (XP, VisualC++)

Файл, где содержатся координаты звёзд нашёл - plandata.c
Вот в таком виде там содержится информация (в принципе всё понятно) -

plandata.c
PHP код:
STAR_DESC starmap_array[] =
{
    
//                           postfix name index (like 'Normae')
    //                         prefix name index (like 'Alpha')   |
    //                                        alien presence  |   |
    //                                     owner (unused)  |  |   |
    //   x,    y              star type   colour       |   |  |   |
    
{{5007,   35}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0674},
    {{ 
708,   41}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0791},
    {{
4714,   78}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0774},
    {{
2187,   83}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 00126},
    {{
2814,   89}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0282},
    {{
4244,   91}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 00125},
    {{
5652,   98}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 00124},
    {{
2939,  116}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0382},
    {{
2771,  146}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0182},
    {{
5313,  150}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0673},
    {{ 
265,  156}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0592},
    {{
4529,  169}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0874},
    {{
4911,  180}, MAKE_STAR (GIANT_STARORANGE_BODY, -1), 0174},
    {{
4747,  221}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0474},
    {{
9708,  250}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 00112},
    {{
4861,  262}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0274},
    {{
2908,  269}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), SHOFIXTI_DEFINED482},
    {{
1855,  270}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0581},
    {{
7958,  270}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 028},
    {{
5160,  280}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0473},
    {{ 
570,  289}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0492},
    {{
4923,  294}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), YEHAT_DEFINED374},
    {{
2820,  301}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0582},
    {{
7934,  318}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 018},
    {{
8062,  318}, MAKE_STAR (DWARF_STARRED_BODY, -1), 038},
    {{
1116,  334}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0691},
    {{ 
803,  337}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0391},
    {{
1787,  338}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0681},
    {{ 
877,  340}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0491},
    {{
5338,  355}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0573},
    {{
5039,  373}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0173},
    {{ 
843,  380}, MAKE_STAR (GIANT_STARORANGE_BODY, -1), 0191},
    {{
4872,  408}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0574},
    {{
1740,  423}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0781},
    {{
4596,  429}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0974},
    {{ 
843,  431}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0291},
    {{
2156,  440}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0481},
    {{
2004,  441}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0181},
    {{ 
530,  442}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0292},
    {{ 
958,  468}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0591},
    {{
2058,  475}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0281},
    {{ 
304,  477}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0192},
    {{ 
522,  525}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), PKUNK_DEFINED392},
    {{
2100,  554}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0381},
    {{ 
134,  565}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0692},
    {{
6858,  577}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), MYCON_TRAP_DEFINED0123},
    {{
5014,  584}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0273},
    {{
5256,  608}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0373},
    {{
2411,  718}, MAKE_STAR (DWARF_STARRED_BODY, -1), 019},
    {{
2589,  741}, MAKE_STAR (DWARF_STARRED_BODY, -1), 029},
    {{ 
675,  742}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0891},
    {{
9292,  750}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 045},
    {{
1463,  779}, MAKE_STAR (GIANT_STARRED_BODY, -1), 0680},
    {{
3089,  782}, MAKE_STAR (DWARF_STARRED_BODY, -1), 049},
    {{
2854,  787}, MAKE_STAR (DWARF_STARRED_BODY, -1), 039},
    {{
3333,  801}, MAKE_STAR (DWARF_STARRED_BODY, -1), 059},
    {{
9237,  821}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 055},
    {{
9339,  843}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 015},
    {{ 
242,  857}, MAKE_STAR (GIANT_STARORANGE_BODY, -1), 0390},
    {{
1515,  866}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0580},
    {{
4770,  895}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0575},
    {{
1412,  905}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0280},
    {{
4681,  916}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), RAINBOW_DEFINED675},
    {{
9333,  937}, MAKE_STAR (SUPER_GIANT_STARYELLOW_BODY, -1), MELNORME0_DEFINED25},
    {{
9419,  942}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 035},
    {{ 
230,  952}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0290},
    {{ 
146,  955}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0190},
    {{
4873,  968}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0475},
    {{
1559,  993}, MAKE_STAR (SUPER_GIANT_STARRED_BODY, -1), MELNORME1_DEFINED180},
    {{
18951041}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0293},
    {{
43371066}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0175},
    {{
37321067}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 00122},
    {{
15791115}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0380},
    {{
48751145}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0375},
    {{
46041187}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0275},
    {{
58121208}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0472},
    {{
13121260}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0480},
    {{
19161270}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0193},
    {{
65621270}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 00121},
    {{ 
4161301}, MAKE_STAR (DWARF_STARRED_BODY, -1), 00120},
    {{
39581354}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0289},
    {{
40001363}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0189},
    {{
17521450}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), SOL_DEFINED0129},
    {{
21871500}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 00127},
    {{
18061507}, MAKE_STAR (GIANT_STARWHITE_BODY, -1), 00128},
    {{
57081520}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0572},
    {{
94691548}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 026},
    {{
43331562}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0388},
    {{
60411562}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0172},
    {{
93751583}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 016},
    {{
28811614}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0296},
    {{
60831625}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0372},
    {{
42501645}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0188},
    {{ 
6501646}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0785},
    {{
94771670}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 036},
    {{
28401676}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0196},
    {{
95411687}, MAKE_STAR (GIANT_STARRED_BODY, -1), 046},
    {{
73951687}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0369},
    {{
43331687}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), VUX_DEFINED288},
    {{
95591735}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 056},
    {{ 
7361737}, MAKE_STAR (GIANT_STARBLUE_BODY, -1), 0685},
    {{
16011746}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0194},
    {{
73951750}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0169},
    {{ 
9511770}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0185},
    {{
16661812}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0294},
    {{
71871833}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0269},
    {{ 
7051838}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0585},
    {{
11401847}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0285},
    {{
64671878}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0171},
    {{
27911895}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0396},
    {{
65001916}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0271},
    {{
54581916}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 00119},
    {{
10481919}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0385},
    {{
36781926}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0299},
    {{
33451931}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), START_COLONY_DEFINED098},
    {{
81871937}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 047},
    {{
33521940}, MAKE_STAR (SUPER_GIANT_STARWHITE_BODY, -1), MELNORME2_DEFINED097},
    {{ 
9771953}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0485},
    {{
42211986}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), MAIDENS_DEFINED1100},
    {{
45002000}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 02100},
    {{
68332000}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0170},
    {{
81632009}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 037},
    {{
80802011}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 027},
    {{
60362035}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0471},
    {{
64792062}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), EGG_CASE1_DEFINED371},
    {{
21042083}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), ZOQ_SCOUT_DEFINED0118},
    {{
80622083}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 017},
    {{ 
2702187}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0179},
    {{
65002208}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0671},
    {{
62912208}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), MYCON_DEFINED571},
    {{ 
1252229}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0279},
    {{ 
3122250}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0379},
    {{
38842262}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0399},
    {{ 
7422268}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), CHMMR_DEFINED0117},
    {{
23062285}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0195},
    {{
24022309}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0295},
    {{
63952312}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), SUN_DEVICE_DEFINED212},
    {{
88752312}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0961},
    {{
35512320}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0199},
    {{
62082333}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0112},
    {{
33542354}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0499},
    {{
99092359}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 00111},
    {{
22982385}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0395},
    {{
70202395}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0270},
    {{
90382407}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0561},
    {{
93752416}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0861},
    {{
65002458}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0612},
    {{ 
2172509}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0478},
    {{
36412512}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0286},
    {{
56252520}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0314},
    {{
37132537}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), ORZ_DEFINED386},
    {{
35872566}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), ANDROSYNTH_DEFINED786},
    {{
92912583}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0161},
    {{
36542587}, MAKE_STAR (SUPER_GIANT_STARGREEN_BODY, -1), MELNORME3_DEFINED186},
    {{
37212619}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), TAALO_PROTECTOR_DEFINED486},
    {{
57912625}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0114},
    {{
64162625}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0512},
    {{
60082631}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), EGG_CASE0_DEFINED214},
    {{
36082637}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0686},
    {{
34992648}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0187},
    {{
94792666}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0261},
    {{
36682666}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0586},
    {{ 
2292666}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0178},
    {{
88952687}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0761},
    {{ 
1382696}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0578},
    {{
53752729}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 00116},
    {{
63542729}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), EGG_CASE2_DEFINED312},
    {{
64582750}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0412},
    {{
24582750}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 06106},
    {{ 
3512758}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0278},
    {{
70832770}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0370},
    {{
37592778}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0487},
    {{
93332791}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0361},
    {{
34002804}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0287},
    {{
94692806}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), DRUUGE_DEFINED661},
    {{
36192830}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0387},
    {{
22082854}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 07106},
    {{
92502854}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0461},
    {{ 
6722863}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0778},
    {{ 
1672875}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0678},
    {{
40302887}, MAKE_STAR (DWARF_STARRED_BODY, -1), 02105},
    {{ 
3842900}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0378},
    {{
27272951}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 05106},
    {{
46452958}, MAKE_STAR (DWARF_STARRED_BODY, -1), 03105},
    {{
56252958}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0213},
    {{
82702958}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0366},
    {{
82912979}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0266},
    {{
60202979}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), RAINBOW_DEFINED313},
    {{
65623020}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0470},
    {{
20113043}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 08106},
    {{
81253083}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0166},
    {{
23543166}, MAKE_STAR (GIANT_STARYELLOW_BODY, -1), 04106},
    {{
38333187}, MAKE_STAR (DWARF_STARRED_BODY, -1), 01105},
    {{
58123208}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0113},
    {{
90003250}, MAKE_STAR (DWARF_STARRED_BODY, -1), 00113},
    {{ 
2913250}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0184},
    {{ 
5013259}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0284},
    {{ 
7913270}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0384},
    {{
23543291}, MAKE_STAR (SUPER_GIANT_STARRED_BODY, -1), MELNORME4_DEFINED1106},
    {{
11043333}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0484},
    {{
26873333}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 03106},
    {{
31873375}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 02107},
    {{
17583418}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 02108},
    {{
25203437}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 02106},
    {{
84373458}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0164},
    {{
87703458}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0464},
    {{
30003500}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 01107},
    {{ 
1493519}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0576},
    {{
87913541}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0264},
    {{
21483551}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 02109},
    {{
73753562}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 00115},
    {{
93123562}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0263},
    {{
95993583}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0463},
    {{
93753604}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0363},
    {{  
903614}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0676},
    {{
27703625}, MAKE_STAR (DWARF_STARRED_BODY, -1), 04107},
    {{
87083625}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0364},
    {{ 
2673645}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0376},
    {{
16043645}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 01108},
    {{
22743663}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 01109},
    {{ 
2293666}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), ILWRATH_DEFINED176},
    {{
30833674}, MAKE_STAR (DWARF_STARRED_BODY, -1), 03107},
    {{
24163687}, MAKE_STAR (GIANT_STARORANGE_BODY, -1), SPATHI_DEFINED5109},
    {{
93333708}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0163},
    {{
22503708}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 03109},
    {{ 
2883735}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0276},
    {{
23543741}, MAKE_STAR (DWARF_STARRED_BODY, -1), 04109},
    {{
25833750}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 06109},
    {{
41253770}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), SYREEN_DEFINED0114},
    {{ 
1663770}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0476},
    {{
62703833}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0410},
    {{
21453916}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 01110},
    {{
61253937}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0310},
    {{
62913937}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0910},
    {{
59373937}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), SHIP_VAULT_DEFINED510},
    {{
24793958}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 07109},
    {{ 
9263972}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0283},
    {{
20623991}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 02110},
    {{
58954020}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0810},
    {{ 
2854020}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0177},
    {{
60624041}, MAKE_STAR (GIANT_STARYELLOW_BODY, -1), 0110},
    {{
28754041}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0220},
    {{
86454062}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0265},
    {{ 
8604065}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0183},
    {{
59584083}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0210},
    {{
30384083}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0320},
    {{ 
2914104}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0277},
    {{
61664125}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0610},
    {{
98124145}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0362},
    {{
85204166}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0165},
    {{
95734182}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0262},
    {{ 
5004187}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0377},
    {{
21454208}, MAKE_STAR (DWARF_STARRED_BODY, -1), 03110},
    {{
62084229}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0710},
    {{
28124250}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0720},
    {{
29374306}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0420},
    {{
94164395}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0162},
    {{
28754479}, MAKE_STAR (GIANT_STARWHITE_BODY, -1), 0120},
    {{ 
2504583}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0526},
    {{
72504583}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0468},
    {{ 
4794583}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0126},
    {{
57084604}, MAKE_STAR (DWARF_STARRED_BODY, -1), 00104},
    {{ 
4794645}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0226},
    {{
28954687}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0620},
    {{
27084708}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0520},
    {{ 
5624708}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0326},
    {{ 
4164717}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0426},
    {{
50944931}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0411},
    {{
90005000}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0267},
    {{
89585000}, MAKE_STAR (GIANT_STARBLUE_BODY, -1), 0167},
    {{
50065011}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0311},
    {{
73125062}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0168},
    {{
36795068}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0317},
    {{
90625083}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0367},
    {{
74165083}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), RAINBOW_DEFINED368},
    {{
51555122}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0211},
    {{
38755145}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0417},
    {{
49375145}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0111},
    {{
29795166}, MAKE_STAR (GIANT_STARORANGE_BODY, -1), 0115},
    {{
30355178}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0215},
    {{
39945185}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0517},
    {{
35415187}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0117},
    {{
59775246}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 01102},
    {{
37705250}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0217},
    {{
15205261}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0355},
    {{
16135279}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0455},
    {{
70205291}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0268},
    {{
14165315}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0255},
    {{
29935318}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0315},
    {{
14255404}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0155},
    {{
18545416}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0555},
    {{
36255437}, MAKE_STAR (GIANT_STARGREEN_BODY, -1), 0116},
    {{
34165437}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0216},
    {{
40005437}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), ZOQFOT_DEFINED118},
    {{
62705479}, MAKE_STAR (DWARF_STARRED_BODY, -1), 02102},
    {{
35835479}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0316},
    {{
40835513}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0318},
    {{
21595614}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0655},
    {{
39375625}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0218},
    {{
60145632}, MAKE_STAR (GIANT_STARBLUE_BODY, -1), 0121},
    {{ 
2505687}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0125},
    {{
36255750}, MAKE_STAR (GIANT_STARRED_BODY, -1), 0219},
    {{ 
3715772}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0225},
    {{
61075785}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0221},
    {{
96455791}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), BURVIXESE_DEFINED0130},
    {{
15455818}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0554},
    {{
37505833}, MAKE_STAR (GIANT_STARGREEN_BODY, -1), 0119},
    {{
63015875}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0521},
    {{
19235878}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0354},
    {{
46255895}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 02131},
    {{ 
1525900}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0325},
    {{
54375916}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0433},
    {{
17145926}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0454},
    {{
62005935}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), SAMATRA_DEFINED421},
    {{
64295958}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0721},
    {{
47295958}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 04131},
    {{
19785968}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), TALKING_PET_DEFINED254},
    {{ 
3955979}, MAKE_STAR (GIANT_STARGREEN_BODY, -1), 0122},
    {{ 
5635980}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0522},
    {{ 
4565989}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0622},
    {{
46256000}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 01131},
    {{
61666000}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0321},
    {{
64966032}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0621},
    {{
22286038}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 01254},
    {{
45836041}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 03131},
    {{
15586058}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0654},
    {{
19026065}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0154},
    {{
21596073}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 01154},
    {{ 
3656093}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0222},
    {{ 
5416145}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0422},
    {{
22006176}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 01054},
    {{ 
7296208}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0323},
    {{
52506229}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0333},
    {{
81666250}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0340},
    {{
62156255}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0821},
    {{ 
4376270}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0322},
    {{
55836291}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0133},
    {{
18816308}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0854},
    {{
17956329}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0754},
    {{
21186379}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0954},
    {{ 
7506458}, MAKE_STAR (GIANT_STARWHITE_BODY, -1), 0123},
    {{
37166458}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0130},
    {{
13606489}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0256},
    {{
73336500}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0140},
    {{
37706500}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0230},
    {{
45006500}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0037},
    {{ 
1876520}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0424},
    {{ 
1256541}, MAKE_STAR (GIANT_STARRED_BODY, -1), 0124},
    {{
78126562}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0240},
    {{ 
7706602}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0223},
    {{
59106624}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0129},
    {{ 
2086625}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0324},
    {{
26046645}, MAKE_STAR (DWARF_STARRED_BODY, -1), 01101},
    {{
15786668}, MAKE_STAR (SUPER_GIANT_STARGREEN_BODY, -1), MELNORME5_DEFINED156},
    {{
54796687}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0233},
    {{ 
3756716}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0224},
    {{ 
3126728}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0524},
    {{
60206729}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0229},
    {{
50626750}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 01028},
    {{
42086854}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0131},
    {{
51456875}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0928},
    {{
42916937}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0231},
    {{
51456958}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0828},
    {{
72087000}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0339},
    {{
86257000}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), RAINBOW_DEFINED141},
    {{
49557034}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0228},
    {{
48957041}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0328},
    {{
49717104}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0128},
    {{
86667104}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0241},
    {{
48547125}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0428},
    {{
50837145}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0728},
    {{
73607184}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0439},
    {{
10207187}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0358},
    {{
38757187}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0132},
    {{
48797201}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0528},
    {{
49587229}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0628},
    {{
71257250}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0239},
    {{
75327258}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0539},
    {{
24167291}, MAKE_STAR (DWARF_STARRED_BODY, -1), 02101},
    {{
38547291}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0232},
    {{
96877333}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0344},
    {{ 
3957458}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), RAINBOW_DEFINED260},
    {{
48957458}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0336},
    {{
46457479}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0436},
    {{
69407514}, MAKE_STAR (DWARF_STARRED_BODY, -1), 01139},
    {{
74437538}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0639},
    {{
64797541}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0038},
    {{
72087541}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0139},
    {{
57917583}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0334},
    {{ 
3337625}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0160},
    {{
59587645}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0234},
    {{
10417708}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0258},
    {{
58757729}, MAKE_STAR (SUPER_GIANT_STARYELLOW_BODY, -1), MELNORME6_DEFINED134},
    {{
11257791}, MAKE_STAR (GIANT_STARBLUE_BODY, -1), 0158},
    {{
49797791}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0236},
    {{
49587791}, MAKE_STAR (GIANT_STARWHITE_BODY, -1), 0136},
    {{
68897803}, MAKE_STAR (DWARF_STARRED_BODY, -1), 01039},
    {{
72007849}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0839},
    {{
73957854}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0739},
    {{
94377854}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0244},
    {{
28367857}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), RAINBOW_DEFINED553},
    {{
53757875}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0135},
    {{
61877875}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0735},
    {{
60417916}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0535},
    {{
59797979}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0435},
    {{
70837993}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0939},
    {{
32708000}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0853},
    {{
61048000}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0635},
    {{ 
6878000}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0259},
    {{ 
5628000}, MAKE_STAR (GIANT_STARGREEN_BODY, -1), URQUAN_WRECK_DEFINED159},
    {{
56458020}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0235},
    {{
13958041}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0458},
    {{
82298041}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0243},
    {{
25188056}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0353},
    {{
58758062}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0335},
    {{
84168083}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0143},
    {{
90008229}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0144},
    {{
35628250}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0953},
    {{
54378270}, MAKE_STAR (DWARF_STARRED_BODY, -1), RAINBOW_DEFINED548},
    {{
15208333}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0558},
    {{
27718351}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0153},
    {{
25358358}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), THRADD_DEFINED453},
    {{
31518390}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0753},
    {{
23628395}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 01153},
    {{
28228395}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0253},
    {{
55008395}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0248},
    {{
25368504}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 042},
    {{
25828507}, MAKE_STAR (SUPER_GIANT_STARYELLOW_BODY, -1), MELNORME7_DEFINED12},
    {{
86258562}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 063},
    {{
43758562}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0050},
    {{
25938569}, MAKE_STAR (DWARF_STARRED_BODY, -1), 022},
    {{
25628572}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 032},
    {{
84928578}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 073},
    {{
11258583}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0658},
    {{
80738588}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0146},
    {{
85608638}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 013},
    {{
87508645}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 053},
    {{
55628645}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0148},
    {{
25888653}, MAKE_STAR (DWARF_STARRED_BODY, -1), 01453},
    {{
24588666}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 01053},
    {{
76668666}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), RAINBOW_DEFINED246},
    {{
27768673}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), AQUA_HELIX_DEFINED653},
    {{
86308693}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), UTWIG_DEFINED23},
    {{
23108702}, MAKE_STAR (DWARF_STARRED_BODY, -1), 01253},
    {{ 
4378770}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0157},
    {{
85348797}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), RAINBOW_DEFINED33},
    {{
85888812}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 043},
    {{
71878812}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0346},
    {{
54758823}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0348},
    {{
30508833}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 041},
    {{
28318854}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 031},
    {{
23008861}, MAKE_STAR (DWARF_STARRED_BODY, -1), 01353},
    {{ 
4798875}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0257},
    {{
27068910}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 021},
    {{ 
3338916}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0357},
    {{
25358917}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 051},
    {{
83228934}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0145},
    {{
82498958}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0445},
    {{
83758958}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0245},
    {{
56458979}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0448},
    {{
26879000}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 011},
    {{
83759041}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0345},
    {{
99609042}, MAKE_STAR (GIANT_STARWHITE_BODY, -1), RAINBOW_DEFINED042},
    {{
73549062}, MAKE_STAR (DWARF_STARBLUE_BODY, -1), 0147},
    {{
78339083}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0647},
    {{
25819105}, MAKE_STAR (DWARF_STARRED_BODY, -1), 061},
    {{
75459107}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0347},
    {{
74149124}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), SUPOX_DEFINED247},
    {{
85009125}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0545},
    {{ 
1049125}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0527},
    {{
78899181}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0747},
    {{
77919187}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0447},
    {{
77919229}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0547},
    {{
48129270}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0051},
    {{
85009372}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), BOMB_DEFINED645},
    {{
72559374}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 01145},
    {{
84589393}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0745},
    {{
10009395}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0427},
    {{
57119475}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0249},
    {{  
629479}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0327},
    {{
59899496}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0749},
    {{
80009505}, MAKE_STAR (DWARF_STARWHITE_BODY, -1), 0945},
    {{
53299538}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0549},
    {{
29169541}, MAKE_STAR (DWARF_STARRED_BODY, -1), 02103},
    {{
82969548}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0845},
    {{
56009552}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 0149},
    {{
76649589}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 01045},
    {{
61259604}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0849},
    {{
91449686}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 044},
    {{
57819711}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), 0349},
    {{
52299729}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0649},
    {{
91209741}, MAKE_STAR (DWARF_STARRED_BODY, -1), 034},
    {{
91869741}, MAKE_STAR (DWARF_STARRED_BODY, -1), 024},
    {{
91599745}, MAKE_STAR (SUPER_GIANT_STARBLUE_BODY, -1), MELNORME8_DEFINED14},
    {{ 
3339750}, MAKE_STAR (DWARF_STARRED_BODY, -1), 000},
    {{
91479790}, MAKE_STAR (DWARF_STARORANGE_BODY, -1), 054},
    {{
57049795}, MAKE_STAR (DWARF_STARYELLOW_BODY, -1), VUX_BEAST_DEFINED449},
    {{ 
3339812}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), SLYLANDRO_DEFINED227},
    {{
10209937}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0727},
    {{  
839979}, MAKE_STAR (DWARF_STARRED_BODY, -1), 0627},
    {{
19379979}, MAKE_STAR (DWARF_STARRED_BODY, -1), 01103},
    {{
43959979}, MAKE_STAR (DWARF_STARGREEN_BODY, -1), 0052}, 

А вот файл с планетами в системах так и не могу найти.
Ответить с цитированием Вверх
Старый 03.07.2020, 12:26   #17
Vasaka
Аватар для Vasaka
По умолчанию Re: Сборка UQM 0.7.0 (XP, VisualC++)

Кстати, появилась идея. Вместо того, чтобы перемешивать планеты между системами, можно перемешать системы. Вряд ли кто-то помнит по внешнему виду что это за система и стоит ли её обследовать.
Есть проблема того, что какие-то сюжетные системы будет сложно найти, но тут или их оставить на тех же местах, или их перемещать в небольшом радиусе от старого места.
Например, Акуа Хеликс можно спокойно переместить, но так, чтобы оно было внутри границ Траддашей.
Но похоже к каждому такому элементу потребуется индивидуальный подход.


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



Хотя, если кто-то знает где лежит файл с содержимым систем (планеты, ресурсы), скажите. Это тоже не помешает.
Ответить с цитированием Вверх
Старый 04.07.2020, 00:34   #18
Malin
Аватар для Malin
По умолчанию Re: Сборка UQM 0.7.0 (XP, VisualC++)


Цитата:
Сообщение от Vasaka

Хотя, если кто-то знает где лежит файл с содержимым систем (планеты, ресурсы), скажите. Это тоже не помешает.

Вась, ты не помнишь? Мы же как-то давно это обсуждали, и выяснили что планеты и ресурсы генерятся игрой по зашитому сиду. Только положения звёзд жёстко зашиты в файле что ты указал выше. Звезда которая в этом файле помечена меткой типа SHOFIXTI_DEFINED имеет свою функцию генерации планет, звёзды же без таких меток имеют чисто рандомные (по зашитому сиду) планеты. Ну а так как у всех нас сид один, то и планеты и их ресурсы у всех нас одинаковые.

Слова, слова... Проведём эксперимент!

Вот планета Сириус I:

На изображении слева виден сид в виде A M Q R параметров

А вот она же (загрузил сохранение) - Сириус I с моим сидом:

Слева видно на какой конкретно я замел сид.

Вот система Сириуса:

Помните, что в оригинале там была всего одна планета?
Оффтоп

На счёт звёзд с метками. Слетал в Sol и заснял Марс до:

и после изменения сида:

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

Любопытно что положение планет в системах тоже берёт свои концы от сида, даже в таких маркированных системах.

Последний раз редактировалось Malin; 04.07.2020 в 00:53..
Ответить с цитированием Вверх
Старый 04.07.2020, 15:45   #19
Vasaka
Аватар для Vasaka
По умолчанию Re: Сборка UQM 0.7.0 (XP, VisualC++)


Цитата:

Вась, ты не помнишь?

Извини, я не помню.

Мне почему-то казалось, что я находил в исходниках этот файл когда-то. Может в более ранних версиях игры это именно так и было, а потом переделали?
В общем извиняюсь. Если ты и говорил, то я запамятовал.



Цитата:

Звезда которая в этом файле помечена меткой типа SHOFIXTI_DEFINED имеет свою функцию генерации планет, звёзды же без таких меток имеют чисто рандомные (по зашитому сиду) планеты. Ну а так как у всех нас сид один, то и планеты и их ресурсы у всех нас одинаковые.

А в каком файле хранятся эти числа, которые надо менять?


Цитата:

В детстве как раз в то время когда я познавал SC2 на 3DO, я был очарован космосом и тогда смело говорил что Сириус моя любимая звезда. И был крайне разочарован тем что в SC2 у неё всего лишь одна какая-то скучная планетка.

Вот-вот! Один в один мои мысли по этому поводу!


Цитата:

Помните, что в оригинале там была всего одна планета?

Это то что нужно! Теоретически мы уже можем собрать совершенно уникальную галактику прямо сейчас? Только, наверное стоит не случайным образом генерировать эти сиды, а переставлять их местами (брать от одной системы и подставлять для другой), чтобы общее количество ресурсов оставалось неизменным. (Это если я правильно понял как всё работает.)


Напишешь в каком файле это меняется? Я посмотрю, подумаю как лучше их менять.
Ответить с цитированием Вверх
Старый 04.07.2020, 21:11   #20
Malin
Аватар для Malin
По умолчанию Re: Сборка UQM 0.7.0 (XP, VisualC++)


Цитата:
Сообщение от Vasaka

Мне почему-то казалось, что я находил в исходниках этот файл когда-то. Может в более ранних версиях игры это именно так и было, а потом переделали?

Да, да, мы этот plandata.c уже обсуждали и не могли понять, почему в нём есть инфа о звёздах (их положении и типе), но нигде не могли найти инфу о планетах (сколько их, тип, луны, ресурсы, атмосфера и тп.)
Нет они не переделывали, всё так и было. Кто-то из нас тогда предположил что остальное генерится случайно, просто по одному сиду, жёстко зашитому в код. На самом деле это логично - экономит место на диске и время разработчиков (поди расставь каждый ресурс на каждой планете), возможно они даже подумывали над тем чтобы сделать рогалик из SC2, то есть новая игра генерирует новые планеты и ресурсы на них, за исключением важных систем.

Цитата:
Сообщение от Vasaka

Теоретически мы уже можем собрать совершенно уникальную галактику прямо сейчас?

Фактически я уже собрал, и уже, лично я, могу играть в совершенно новый SC2
Разве что звёздная карта не поменялась. Зато все советы по "богатым" системам из интернета мне не помогут. Почти как в детстве.

Цитата:
Сообщение от Vasaka

Только, наверное стоит не случайным образом генерировать эти сиды, а переставлять их местами (брать от одной системы и подставлять для другой), чтобы общее количество ресурсов оставалось неизменным. (Это если я правильно понял как всё работает.)

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

! ОСТОРОЖНО ! Можно сломать мозг!

В файле uqmdebug.c есть функция UniverseRecurse(..) которая вызывает для каждой звезды из starmap_array из plandata.c функцию starRecurse(..) (uqmdebug.c).
В ней каждой звезде даются ссылки на функции генерации getGenerateFunctions(..) (gendef.c) по метками XXX_DEFINED. То есть Солнце имеет свою метку SOL_DEFINED и функция getGenerateFunctions(..) возвращает набор функций generateSolFunctions (gensol.c) для того чтобы сгенерировать Солнечную систему. Если полазать в gensol.c по этим функциям то можно найти и создание Марсов с Венерами и задание их атмосфер\тектоник и проча.
Для звёзд без метки getGenerateFunctions(..) возвращает по default generateDefaultFunctions(..)(gendefault.c). Рассмотрим одну из функций такого дефолтного набора - GenerateDefault_generatePlanets(..) (gendefault.c). Она вызывает GeneratePlanets(..) (gendefault.c), та вызывает RandomContext_Random(..) (random2.c), которая возвращает псевдослучайное число, а также сохраняет его в SysGenRNG (solarsys.c) для генерации следующего в последовательности случайного числа.

В итоге. Параметры псевдослучайного генератора A, M, Q, R находятся в random2.c.
Однако там же есть вшитое зерно в RandomContext_New(..), изменение которого никак не влият на игру (я ничего не заметил), и похоже нужна только для выделения памяти под переменную типа struct RandomContext, которая содержит только одно число внутри. Зачем такая конструкция - не понятно. Вообще генерация случайных чисел сделана как-то криво. Вроде стремились создать несколько независимых генераторов (что делать не стоит), а генерят всё общим SysGenRNG. Видимо потому и наворотили адовых коснтрукций - поняли что генератор должен быть один, а прибраться времени не было.

Однако, искушённый читатель уличит меня: "Где же изначальный сид? A M Q R - это лишь параметры псевдогенератора, которому нужно скормить сида чтобы он выдал число?"
А сидом являются координаты звезды!
starRecurse(..) с подвыпердом выдаёт звезде свой сид при помощи GetRandomSeedForStar(..) (solarsys.c), которая стыкует int16 X и Y координаты в uint32.

То есть менять ресурсы можно несколькими способами:
1). Параметры генератора (AMQR)
2). Координаты звезды (плюс минус на единичку подвигал звезду - всё, новая система)
3). Положение звезды в массиве starmap_array, так как звёзды пробегаются в цикле, то поменяв строчки в массиве, генератор будет проходить их и выдавать сиды в другом порядке.

Одним из основных способов задания сида является взятие времени ПК в качестве изначального сида или параметров генератора. Правда повторяемости в таком случае не будет. Лучше конечно загружать из файла, чтобы всегда можно было вернуться к полюбившейся Вселенной.

Ну вроде всё рассказал. Переваривай

Попробовал, компильнуть не отладочную версию - огрёб ошибок - туши свет! Убоялся и поскорее закрыл
На неделе попробую как-нибудь разобраться. Хотя, возможно можно и отладочную версию выцепить, чтобы передать тебе , но это не прилично

PS: Кстати, как ты ищешь по файлам? В VisualStudio есть поиск по всему проекту, прыжок к объявлению и поиск всех упоминаний во всех файлах проекта. Ты на Linux ведь не в ручную же в каком-нибудь блокноте ищешь где в каком файле вызывается та или иная функция?
Ответить с цитированием Вверх
Ответ

Метки
0.7.0, uqm, сборка

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
Быстрый переход

 
Наш любимый хостер - Majordomo.ru!
Текущее время: 06:42. Часовой пояс GMT +4.

 

Powered by vBulletin® Version 3.8.7 Перевод:zCarot
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
Время генерации страницы 0.09846 секунды с 13 запросами