Вот готовый мод первого редалерта с примером добавления в него здания и юнита, версия старая, зато живучая в том плане, что хоть на старой винде работает, хоть через вайн на свободных драйверах.
Для теста выбирать надо RA мод, сторону dune и потом построить ремонтную площадку и можно будет построить mcv от сеговской дюны.
Кайф, вообще заменить все и поиграть на более серьезном движке, правда ощущения будут скоре всего как от ред аллерта, зато можно будет размещать пехоту в зданиях
![Круто :cool:](//www.emu-land.net/forum/Smileys/default/cool.gif)
В их гитхабе есть ещё полностью готовый мод PC версии Dune 2, даже с парсерами всех ресурсов из оригинальных файлов, можешь в нём подсматривать как и что реализовано.
Спасибо большое, это все будет очень полезно, буду смотреть.
Так же у меня есть почти готовый Dune2[SMD] мод для OpenRA, за основу его я взял мод Dune 2000 мод, так как размер клетки 1 в 1 в нём совпадает с сегавской дюной, заменил графику местности на сегавскую, музыку, несколько зданий и юнитов заменил на сегавские, но использовал я png и wav парсеры, что по сути не оптимизированный костыль + возня с конвертированием, не нашёл никого кто мог бы парсер состряпать и отложил на неопределённое время, а в принципе то там делов не особо много осталось, голоса ментатов заменить, если ещё не (не помню) да и юниты со зданиями можно методично заменять однотипово.
Да, я так же примерно собирался, как-то все это рипнуть, музыку тоже в wav, потом появилась идея с парсером, музыка играется на сиквернсоре, который у Сереги используется, но немного модифицированный (я там сделал несколько чипов для микширования), графику еще всю не умею доставать, но там в основном надо понимать смещения (могу вытаскивать и распаковывать данные: графические тайлы, маппиги тайлов, спрайты), по поводу звуков, там вроде семплы несжатые, если неошибаюсь, их несложно вытащить. Могу попробовать состряпать библиотеку, только надо обрисовать формат.
Очень круто, обязательно покажи
![Круто :cool:](//www.emu-land.net/forum/Smileys/default/cool.gif)
А ты какой движок используешь?
У меня свой, там SDL, SDL_Gpu, и собственное творчество.
Добавлено позже:Формат мапингов на ресурсы сейчас примерно такой, он не самый лучший, я подсмотрел, как там ребята через отдельные .smd с маппингами делают, у меня пока по-другому
[Resources]
rom[0] = rom_en
rom[1] = rom_ru
[rom_en]
path = Assets/Data/Dune - The Battle for Arrakis (U) [!].gen
locale = en
compressed = true
offsets = rom_en_offsets
gems = rom_en_gems
[rom_en_offsets]
sega_sign_header = 0x18CE
sega_palette = 0x1DA4
sega_animated_palette = 0x18D6
ship_anim_sequence = 0x1963A
ships_sprites_table_offsets = 0x1957A
ships_palette = 0xA6E98
houses_header = 0xA8B9A
houses_tiles_header = 0xC3AEC
houses_palette = 0xA6A18
[rom_en_gems]
bank[0] = rom_en_gems_bank_menu
bank[1] = rom_en_gems_bank_game
[rom_en_gems_bank_menu]
instruments = 0xD02AE
envelopes = 0xD0251
sequences = 0xCF970
samples = 0xC8160
[rom_en_gems_bank_game]
instruments = 0xFE2B6
envelopes = 0xFE185
sequences = 0xF6363
samples = 0xD06BF
[rom_ru]
path = Assets/Data/Dune - The Battle for Arrakis (E) [T+Rus].gen
locale = ru
compressed = false
font_pointer = 0x0FF000
Добавлено позже:API примерно такое:
std::vector<unsigned char> LoadCompressedData(const std::string& in_header_name) const;
std::vector<unsigned char> LoadCompressedData(uint32_t in_header_offset) const;
void FVDPAtlas_GPU::Load(const std::vector<unsigned char>& in_vdp_data) const;
auto&& uncompressed_sign = LoadCompressedData("sega_sign_header"); // Графические тайлы из VDP (32 байта на один тайл 8x8)
FVDPAtlas_GPU vdp_atlas; // Уже графическое представление, можно конвертировать в картинку, это это будут тайлы, понадобится маппинг
vdp_atlas.Load(uncompressed_sign); // Создаст битмапу, массив пикселей (глубина 8 бит, как раз для маппинга на палитры)
Потом можно загрузить маппинги, у ребят в редакторе это называются матрицы, и сделать из этого сразу битмапу в нормальной глубиной и сразу раскашенную.
Добавлено позже:https://file.io/Bg6cXmxoB788
О, только заметил, что это ссылка на архив, а не на картинку, спасибо
Добавлено позже:А какой файл запускать, крашит
Попробую собрать
Добавлено позже:Пока не получается запустить
![Даже не знаю... :neznayu:](//www.emu-land.net/forum/Smileys/default/confused.gif)