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..
Ответить с цитированием Вверх
Старый 05.07.2020, 11:17   #21
Vasaka
Аватар для Vasaka
По умолчанию Re: Сборка UQM 0.7.0 (XP, VisualC++)


Цитата:

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

Вот это я помню. Но помню, что это было именно предположение, а не подтверждённый факт.


Цитата:

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

Я думаю, вероятнее всего вариант с рогаликом, так как текст для описания систем много места занимать не будет. Хотя в те времена каждый килобайт на счету был. Может и это сыграло свою роль. Не исключаю.


Цитата:

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

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



Цитата:

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

У меня всегда в "трее сознания" висит программа по оптимизации всего и вся. Если она видит, что есть 3 варианта, 1 сложный и непонятный и два абсолютно понятных и полностью удовлетворяющих условиям, то я просто отбрасываю сложное и выбираю из оставшихся приемлемых.

Варианты 2 и 3 полностью решают проблему и разбираться с первым, в таком случае уже нет необходимости.



Цитата:

но это не прилично

Да всё прилично. Просто торопиться вроде некуда, поэтому давай уже сделаем сначала всё, что решим изменять, а потом уже будем пересылать или выкладывать. Наверное народ тоже скажет: "МЫ ТОЖЕ ХОТИМ!"


Цитата:

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

Может ты будешь смеяться, но открываю обычным текстовым редактором.

Есть хорошие редакторы кода на Линуксе. Есть и IDE нормальные, но я же не собирался всё это компилировать, поэтому просто блокнотом открывал. Даже без подстветки синтаксиса.


Кстати, думаю, может мне тоже всё это настроить по твоей инструкции? Виртуальная машина с установленной WinXP у меня вроде есть.
Я помню ты какую-то библиотеку долго искал, не мог найти. Ты её во второй раз нашёл? В чём вообще отличия от Win7? Почему раньше всё собиралось нормально, а сейчас с ошибками?


Оффтоп

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


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

Сделать так, чтобы сюжетные системы нельзя было просто по старым координатам найти (или по старым названиям) и тогда это уже очень неплохо!

Но диалоги же не поменяются. Будет конфуз если в тексте нам говорят название системы или координаты, а там не будет того о чём нам сказали.

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

Если она видит, что есть 3 варианта, 1 сложный и непонятный и два абсолютно понятных и полностью удовлетворяющих условиям

Первый не так уж и сложен, просто поменять параметр А и вычислить M и R - всё, новая Вселенная со старой картой. И никаких проблем с диалогами. И никаких подводных камней.
А вот у вариантов 2 и 3 подводные камни могут быть. Сменив порядок в массиве мы можем нарушить какой-нибудь алгоритм который берёт звёздную систему из массива по индексу. Подвигав координаты мы можем нарушить какой-нибудь алгоритм который завязан на координатах систем, типа зон влияния или чего ещё.
Впрочем, слова, слова... Давай проверим!

Вариант 3. Поменять местами строки в массиве.
Я перетасовал строки создания звёзд и получил Runtim'ом по голове. Как ты понимаешь такую ошибку попробуй найди и попробуй исправь, потому как она может потянуть за собой другие при исправлении. Скорее всего где то есть жёсткая индексация.
Ладно, думаю я, может нельзя перетасовывать те что с метками. Поменял строчку Сириуса со следующим за ним в списке Эпсилон Скульптора. И в итоге в систему Сириуса не попасть - в гипере просто на засасывает. В другие звёзды пожалуйста, в Сириус никак. Видимо что-то ещё зашито жёстко в игре через индексацию.

Вариант 2. Поменять координаты звёзд.
Я поменял слегка координаты Сириуса и Солнца - всё норм. У Сириуса другая планета загенерилась, влетается и вылетается в гипере, никаких ошибок. Если поменять координату Сириуса сильно, то всё нормально, на звёздной карте он переместится, туда можно слетать и система сгенерится другая.
Однако, сильно сдвинув Солнце я получил runtime. Возможно это связано с зонами влияния и тем кому какая звезда принадлежит. Не знаю, надо копать в коде почему так. Возможно этот вариант ещё ничего если сделать всё аккуратно. И переправить все диалогии Вряд ли разработчики предусмотрели в игре ссылку на координаты звёзд. Хотя...SLY? В диалоге с дронами слайлендо координаты это текст или кодовый символ?

Поэтому Вариант 1 (Сменить параметры генератора) самый простой и безболезненный на мой взгляд, но он не меняет звёздную карту.

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

Может ты будешь смеяться, но открываю обычным текстовым редактором.

Есть хорошие редакторы кода на Линуксе. Есть и IDE нормальные, но я же не собирался всё это компилировать, поэтому просто блокнотом открывал. Даже без подстветки синтаксиса.

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


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

Кстати, думаю, может мне тоже всё это настроить по твоей инструкции? Виртуальная машина с установленной WinXP у меня вроде есть.
Я помню ты какую-то библиотеку долго искал, не мог найти. Ты её во второй раз нашёл? В чём вообще отличия от Win7? Почему раньше всё собиралось нормально, а сейчас с ошибками?

На самом деле инструкция всё ещё актуальна, только я залью туда файлы через Яндекс.Диск, потому что некоторые ссылки там уже не работают. Самая большая проблема у меня была с Windows SDK Platform, по той же причине - ссылка уже не рабочая, и SDK 7.0 уже как будто не существует в интернете, пришлось новую искать ставить, а у меня ещё VSC#2010 стоит, а там конфликт .NET 4.6.2 не позволяет ставить .NET 4.0.0, а он нужен для SDK 7.0a, которая даёт какие-то странные ошибки при установке, и я ещё забыл что zlib не содержит исходных файлов, короч прыгал по своим же граблям.
Сейчас чуть поправлю шапку и можешь пробовать.
--------------------
UPDATE: Шапку поправил

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


Цитата:

Вариант 2. Поменять координаты звёзд.

А ты не пробовал метку уникальной системы перенести из одной в другую?
Например метку мелнорма из альфа центавра в какую-нибудь соседнюю систему можешь попробовать перенести?
Можно же всё аккуратно сделать, без изменения координат звёзд.



Цитата:

Но диалоги же не поменяются. Будет конфуз если в тексте нам говорят название системы или координаты, а там не будет того о чём нам сказали.

Это понятно. Вот я и думаю что и как поменять.


Я скопировал все уникальные системы и сгруппировал те, где есть много похожих. Например всех мелнормов или все радужные миры. Сейчас думаю как и что делать, но для этого надо знать можно ли эту метку безболезненно перенести в другую систему.
Вот, кстати список:
список
{{4681, 916}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), RAINBOW_DEFINED, 6, 75},
{{6020, 2979}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), RAINBOW_DEFINED, 3, 13},
{{7416, 5083}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), RAINBOW_DEFINED, 3, 68},
{{8625, 7000}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), RAINBOW_DEFINED, 1, 41},
{{ 395, 7458}, MAKE_STAR (DWARF_STAR, BLUE_BODY, -1), RAINBOW_DEFINED, 2, 60},
{{2836, 7857}, MAKE_STAR (DWARF_STAR, WHITE_BODY, -1), RAINBOW_DEFINED, 5, 53},
{{5437, 8270}, MAKE_STAR (DWARF_STAR, RED_BODY, -1), RAINBOW_DEFINED, 5, 48},
{{7666, 8666}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), RAINBOW_DEFINED, 2, 46},
{{8534, 8797}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), RAINBOW_DEFINED, 3, 3},
{{9960, 9042}, MAKE_STAR (GIANT_STAR, WHITE_BODY, -1), RAINBOW_DEFINED, 0, 42},

{{9333, 937}, MAKE_STAR (SUPER_GIANT_STAR, YELLOW_BODY, -1), MELNORME0_DEFINED, 2, 5},
{{1559, 993}, MAKE_STAR (SUPER_GIANT_STAR, RED_BODY, -1), MELNORME1_DEFINED, 1, 80},
{{3352, 1940}, MAKE_STAR (SUPER_GIANT_STAR, WHITE_BODY, -1), MELNORME2_DEFINED, 0, 97},
{{3654, 2587}, MAKE_STAR (SUPER_GIANT_STAR, GREEN_BODY, -1), MELNORME3_DEFINED, 1, 86},
{{2354, 3291}, MAKE_STAR (SUPER_GIANT_STAR, RED_BODY, -1), MELNORME4_DEFINED, 1, 106},
{{1578, 6668}, MAKE_STAR (SUPER_GIANT_STAR, GREEN_BODY, -1), MELNORME5_DEFINED, 1, 56},
{{5875, 7729}, MAKE_STAR (SUPER_GIANT_STAR, YELLOW_BODY, -1), MELNORME6_DEFINED, 1, 34},
{{2582, 8507}, MAKE_STAR (SUPER_GIANT_STAR, YELLOW_BODY, -1), MELNORME7_DEFINED, 1, 2},
{{9159, 9745}, MAKE_STAR (SUPER_GIANT_STAR, BLUE_BODY, -1), MELNORME8_DEFINED, 1, 4},

{{6479, 2062}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), EGG_CASE1_DEFINED, 3, 71},
{{6008, 2631}, MAKE_STAR (DWARF_STAR, YELLOW_BODY, -1), EGG_CASE0_DEFINED, 2, 14},
{{6354, 2729}, MAKE_STAR (DWARF_STAR, WHITE_BODY, -1), EGG_CASE2_DEFINED, 3, 12},


{{2908, 269}, MAKE_STAR (DWARF_STAR, BLUE_BODY, -1), SHOFIXTI_DEFINED, 4, 82},
{{4923, 294}, MAKE_STAR (DWARF_STAR, YELLOW_BODY, -1), YEHAT_DEFINED, 3, 74},
{{ 522, 525}, MAKE_STAR (DWARF_STAR, YELLOW_BODY, -1), PKUNK_DEFINED, 3, 92},
{{6858, 577}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), MYCON_TRAP_DEFINED, 0, 123},
{{1752, 1450}, MAKE_STAR (DWARF_STAR, YELLOW_BODY, -1), SOL_DEFINED, 0, 129},
{{4333, 1687}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), VUX_DEFINED, 2, 88},
{{3345, 1931}, MAKE_STAR (DWARF_STAR, YELLOW_BODY, -1), START_COLONY_DEFINED, 0, 98},
{{4221, 1986}, MAKE_STAR (DWARF_STAR, BLUE_BODY, -1), MAIDENS_DEFINED, 1, 100},
{{2104, 2083}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), ZOQ_SCOUT_DEFINED, 0, 118},
{{6291, 2208}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), MYCON_DEFINED, 5, 71},
{{ 742, 2268}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), CHMMR_DEFINED, 0, 117},
{{6395, 2312}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), SUN_DEVICE_DEFINED, 2, 12},
{{3713, 2537}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), ORZ_DEFINED, 3, 86},
{{3587, 2566}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), ANDROSYNTH_DEFINED, 7, 86},
{{3721, 2619}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), TAALO_PROTECTOR_DEFINED, 4, 86},
{{9469, 2806}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), DRUUGE_DEFINED, 6, 61},
{{ 229, 3666}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), ILWRATH_DEFINED, 1, 76},
{{2416, 3687}, MAKE_STAR (GIANT_STAR, ORANGE_BODY, -1), SPATHI_DEFINED, 5, 109},
{{4125, 3770}, MAKE_STAR (DWARF_STAR, BLUE_BODY, -1), SYREEN_DEFINED, 0, 114},
{{5937, 3937}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), SHIP_VAULT_DEFINED, 5, 10},
{{4000, 5437}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), ZOQFOT_DEFINED, 1, 18},
{{9645, 5791}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), BURVIXESE_DEFINED, 0, 130},
{{6200, 5935}, MAKE_STAR (DWARF_STAR, YELLOW_BODY, -1), SAMATRA_DEFINED, 4, 21},
{{1978, 5968}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), TALKING_PET_DEFINED, 2, 54},
{{ 562, 8000}, MAKE_STAR (GIANT_STAR, GREEN_BODY, -1), URQUAN_WRECK_DEFINED, 1, 59},
{{2535, 8358}, MAKE_STAR (DWARF_STAR, YELLOW_BODY, -1), THRADD_DEFINED, 4, 53},
{{2776, 8673}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), AQUA_HELIX_DEFINED, 6, 53},
{{8630, 8693}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), UTWIG_DEFINED, 2, 3},
{{7414, 9124}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), SUPOX_DEFINED, 2, 47},
{{8500, 9372}, MAKE_STAR (DWARF_STAR, YELLOW_BODY, -1), BOMB_DEFINED, 6, 45},
{{5704, 9795}, MAKE_STAR (DWARF_STAR, YELLOW_BODY, -1), VUX_BEAST_DEFINED, 4, 49},
{{ 333, 9812}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), SLYLANDRO_DEFINED, 2, 27},



Цитата:

Поэтому Вариант 1 (Сменить параметры генератора) самый простой и безболезненный на мой взгляд, но он не меняет звёздную карту.

Ну, может так и лучше будет.
Просто я думал, что ты уже точно знаешь, что все 3 метода работают.



Цитата:

На самом деле инструкция всё ещё актуальна, только я залью туда файлы через Яндекс.Диск, потому что некоторые ссылки там уже не работают. Самая большая проблема у меня была с Windows SDK Platform, по той же причине - ссылка уже не рабочая, и SDK 7.0 уже как будто не существует в интернете, пришлось новую искать ставить, а у меня ещё VSC#2010 стоит, а там конфликт .NET 4.6.2 не позволяет ставить .NET 4.0.0, а он нужен для SDK 7.0a, которая даёт какие-то странные ошибки при установке, и я ещё забыл что zlib не содержит исходных файлов, короч прыгал по своим же граблям.
Сейчас чуть поправлю шапку и можешь пробовать.

Я утром уже заметил, что многое не скачивается. Завтра попробую скачать остальное.
Но если у тебя всё компилируется, то в этом вроде как и надобности особой нет. Я же могу тебе нужные, правленные файлы скинуть и всё.
Ответить с цитированием Вверх
Старый 06.07.2020, 00:40   #24
Malin
Аватар для Malin
По умолчанию Re: Сборка UQM 0.7.0 (XP, VisualC++)


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

А ты не пробовал метку уникальной системы перенести из одной в другую?

Попереносил на Сириус меток:
RAINBOW_DEFINED - планета стала радужной
MELNORME0_DEFINED - появился мелнорм
SPATHI_DEFINED - появилась родная планета спатти, их флот и луна конечно.
SAMATRA_DEFINED - в самом углу системы глючным образом появилось кольцо воюющих Кор-А и Кзер-За, самой Саматры нет.

Боюсь с чем-то это прокатит, а с чем-то может и нет. В любом случае проверять надо, но пока обнадёживает
Ответить с цитированием Вверх
Старый 06.07.2020, 01:26   #25
Malin
Аватар для Malin
По умолчанию Re: Сборка UQM 0.7.0 (XP, VisualC++)

А я разобрался как релизить версию

Добавлю в шапку позже.

Самое главное:
1). Устанавливаешь UQM 0.7.0.
2). Подменяешь файл uqm.exe и всё! Лети распространяйся!

Вот скомпилировал с другими параметрами генератора и Мелнормом в системе Сириуса: uqm AMQR MELNORME0atSirius.exe. Переименовывать не обязательно.

Кто молодец? Я молодец!

Последний раз редактировалось Malin; 08.07.2020 в 01:33..
Ответить с цитированием Вверх
Старый 06.07.2020, 20:37   #26
Vasaka
Аватар для Vasaka
По умолчанию Re: Сборка UQM 0.7.0 (XP / Win7, VisualC++)

Взял exe-шник, который ты выложил, попробовал запустить. В диалоге с командором не показывается название капитана и корабля. Просто пустое место.
При попытке зайти в настройки, выдаёт ошибку.
Ответить с цитированием Вверх
Старый 06.07.2020, 23:38   #27
Malin
Аватар для Malin
По умолчанию Re: Сборка UQM 0.7.0 (XP / Win7, VisualC++)


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

Взял exe-шник, который ты выложил, попробовал запустить. В диалоге с командором не показывается название капитана и корабля. Просто пустое место.
При попытке зайти в настройки, выдаёт ошибку.

Да поторопился я радоваться!
Одним экзешником не отделаться.
Вот целиком попробуй, проблем быть не должно: uqmRND.rar
НО! Проблемы есть.
1). Контент в папке не собран в пакеты, а лежит голыми файлами *.png/*.ogg и проча.
2). Если попробовать руссифицировать - ошибка в настройках и тп.

Надо ещё поразбираться как собирать релизную версию.

Перенёс обсуждение генерации в новую тему: UQM 0.7.0 [Roguelike Build]
Здесь будем обсуждать проблемы сборки, ошибки, пока не научимся собирать правильно.

Последний раз редактировалось Malin; 08.07.2020 в 01:34..
Ответить с цитированием Вверх
Старый 07.07.2020, 23:56   #28
Malin
Аватар для Malin
По умолчанию Re: Сборка UQM 0.7.0 (XP / Win7, VisualC++)

Как известно сборка не руссифицируется (даёт ошибку при входе в опции).
Локализовал проблему (или её часть):



Количество опций в переводе: 22
Сборка ожидает: 24

Как видно, последней опцией в переводе является "Ремикс Precursors"
А игра ожидает на этом месте "UQM Remixes" и ещё две: "Speech" и "Aspect Ratio", которых в переводе нет.

Вероятно исходные коды которые я использую для сборки не совсем 0.7.0, хотя везде по коду написана именно эта версия.

PS: Интерлейс
Ответить с цитированием Вверх
Старый 08.07.2020, 01:25   #29
Malin
Аватар для Malin
По умолчанию Re: Сборка UQM 0.7.0 (XP / Win7, VisualC++)

Ну кажется всё, вроде нашёл нужную версию исходников - 0.7.0-1
Вась, попробуй вот этот экзешник: uqm.exe
Проверь его с обычной версией UQM с руссификатором. У меня работает. В настройки заходит, Хейс говорит вменяемые вещи, и остальное вроде в порядке.

Последний раз редактировалось Malin; 08.07.2020 в 12:22..
Ответить с цитированием Вверх
Старый 08.07.2020, 09:58   #30
SLY
Аватар для SLY
По умолчанию Re: Сборка UQM 0.7.0 (XP / Win7, VisualC++)


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

PS: Интерлейс

Там именно Интерлейс

"Чересстрочную развёртку часто называют на английский манер интерлейс (англ. interlace) или интерлейсинг."
Ответить с цитированием Вверх
Ответ

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

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

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

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

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

 

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