на Главную Форума - back to Forum Indexна Главную Форума - back to Forum Indexна Главную Форума - back to Forum Index
на Главную Форума - back to Forum Index
Эадор.Сотворение - Eador.The Genesis на Главную Форума - back to Forum Indexна Главную Форума - back to Forum Indexна Главную Форума - back to Forum Index
на Главную Форума - back to Forum Index
Результатов поиска: 10
Автор
Сообщение
 ζ Тема ζ: Eador Genesis GNU/Linux port
NovHak

Ответов: 35
Просмотров: 35986
Сообщениеζ Фopум ζ: The Guild of Craftsmen The Guild of Craftsmen   Добавлено: Пн Янв 17, 2022 5:16   Тeмa: Eador Genesis GNU/Linux port

Boon947 писал(а):
I used several magic constants, so I'm not sure how useful it might be.
Any comments before I push it to github?

It still can give an idea about how the save files are organised. And additionally, other people may be able to improve it, e.g. adding 64->32 conversion, and maybe other cosmetic changes, so it is useful imho.

Frankly I'm not an expert programmer, I did program in several languages but not very often, so I'm probably not the one who would give sound advices here, but anyway your program looks very much readable to me, I understand the "padding with zeroes" logic to make up for 64-bit structures, so everything looks fine !
 ζ Тема ζ: Eador Genesis GNU/Linux port
NovHak

Ответов: 35
Просмотров: 35986
Сообщениеζ Фopум ζ: The Guild of Craftsmen The Guild of Craftsmen   Добавлено: Пн Янв 17, 2022 3:42   Тeмa: Eador Genesis GNU/Linux port

Boon947 писал(а):
I wrote a 32->64 conversion util Smile

Nice !

We're really lucky to have you on the Linux platform.

Let's hope misz_hawk is on the Astral already, or (s)he will have to boot Windows again Laughing
 ζ Тема ζ: Eador Genesis GNU/Linux port
NovHak

Ответов: 35
Просмотров: 35986
Сообщениеζ Фopум ζ: The Guild of Craftsmen The Guild of Craftsmen   Добавлено: Пн Янв 17, 2022 3:01   Тeмa: Eador Genesis GNU/Linux port

Boon947 писал(а):
I see two options.
1) compile a 32-bit executable
2) make a compatibility layer for loading save games

What do you think?

Imho, we've reached a point where 32-bit programs should be avoided whenever possible : in the future, it may become increasingly difficult to run them. On the other hand, I feel adding a layer that detects Windows savegames may bring additional bugs to Eador on Linux. Ultimately, the solution would be to have a 64-bit build of Eador on Windows, but that doesn't solve misz_hawk's current problem... maybe a separate 32-bit to 64-bit savegame conversion utility ? Or maybe even better, a utility that works both ways, 32->64 and 64->32 ?

Another advantage of the utility solution is that maybe it could be open source, so that people could improve it or create other utilities from it, and possibly port it to Windows, which could prove useful if Eador on Windows becomes 64-bit in the future.

Код:
$ ./eador-conv -h
Usage : ./eador-conv [option]... original_save converted_save
Converts Eador : Genesis savegames between 32-bit and 64-bit formats

  -h, --help  this help message
  --64        convert from 32-bit to 64-bit (default)
  --32        convert from 64-bit to 32-bit


But honestly, that's only my opinion and I don't have this problem, since I don't intend to run Eador games across platforms.
 ζ Тема ζ: Eador Genesis GNU/Linux port
NovHak

Ответов: 35
Просмотров: 35986
Сообщениеζ Фopум ζ: The Guild of Craftsmen The Guild of Craftsmen   Добавлено: Пт Ноя 20, 2020 19:08   Тeмa: Eador Genesis GNU/Linux port

Hi Boon !

It's interesting that now, the Linux version may be more bug-proof than the Windows version ! Too often, it's quite the contrary...

I didn't try the new version yet, but you can be assured I will (right now I'm trying a game that's called Dungeon Crawl Stone Soup, that's part of most Linux distributions (package name in Debian is crawl-tiles)). And I will try a game where my treasury is always full until I get a new item from a quest, and we'll see... but it will probably take some time.

Best regards !
 ζ Тема ζ: Eador Genesis GNU/Linux port
NovHak

Ответов: 35
Просмотров: 35986
Сообщениеζ Фopум ζ: The Guild of Craftsmen The Guild of Craftsmen   Добавлено: Вс Ноя 15, 2020 21:36   Тeмa: Eador Genesis GNU/Linux port

Ah, you found it ! Do you know if it's on Windows too ?

Not knowing Allegro, I suppose Loot[9][2] is Loot[0..9][0..2], in which case I suppose Loot[][] is the hero's backpack, and when the loop exits, k is (wrongly) assumed to be the first free space, but it never checks for the last space and never goes beyond 9 (k=10 => backpack full), the full backpack condition is never detected, and when it's full, k points to an occupied place in the backpack, hence the bug. Am I right ?

Anyway, thank you very much for solving this, now I won't fear attacking or being attacked while my backpack is almost full !

And by the way, I was wondering if there could be a similar bug with the demesne treasury... because sometimes there are quests with rewards that go directly into the treasury, but then what would happen if it's full ? Such quests are relatively rare however, so is there a way I could trigger a reward to my treasury, so I can test for a potential bug ?
 ζ Тема ζ: Eador Genesis GNU/Linux port
NovHak

Ответов: 35
Просмотров: 35986
Сообщениеζ Фopум ζ: The Guild of Craftsmen The Guild of Craftsmen   Добавлено: Чт Окт 08, 2020 4:51   Тeмa: Eador Genesis GNU/Linux port

Hi Boon,

No problem, and I'm happy you saw my posts in the end. It seems there's a problem with the notification system on the forum as I didn't get notified of your reply either, but only another reply in another thread.

IMO, when the inventory is full while looting the corpses after the battle, the same should happen as when the location has been searched, i.e. giving the opportunity to reorganise the inventory to include the loot. The code already exists so I suppose It's just a matter of using it.

And by the way, I'm wondering what would happen when the treasury (not the hero inventory) is full and one gets a reward, such as when beating the "Flaming one" that attacked a province. That didn't happen to me since I took care to have some room left just in case, but I'm wondering if there's a potential bug here too !

I didn't try playing NH at all, maybe later who knows, but I suppose it would work since people managed to have the vanilla game running, don't you think ?

That being said, as far as I'm concerned, I'm not a fan of using Wine and largely prefer running programs natively. Thanks again for making that possible with Eador Genesis !
NovHak

Ответов: 2
Просмотров: 3406
Сообщениеζ Фopум ζ: The Guild of Craftsmen The Guild of Craftsmen   Добавлено: Пн Сен 14, 2020 17:12   Тeмa: Is it possible to increase number of province buildings?

I doubt it, since the province listing clearly shows three places for buildings, hence it would probably require a code change and a rework of the listing display.
 ζ Тема ζ: Source code?
NovHak

Ответов: 2
Просмотров: 2613
Сообщениеζ Фopум ζ: The Guild of Craftsmen The Guild of Craftsmen   Добавлено: Пн Сен 14, 2020 17:03   Тeмa: Source code?

Afaik, Jazz wants to retain strict control over his creation, hence doesn't share the source code with anyone, contrary to vanilla Genesis whose code has been shared by Adrageron with some people, which is why there's an almost official Linux port of it (unfortunately still with bugs however).
 ζ Тема ζ: Eador Genesis GNU/Linux port
NovHak

Ответов: 35
Просмотров: 35986
Сообщениеζ Фopум ζ: The Guild of Craftsmen The Guild of Craftsmen   Добавлено: Пн Авг 31, 2020 5:25   Тeмa: Re: Eador Genesis GNU/Linux port

Boon947 писал(а):
Bug reports are welcome.

So if I may report one...

The bug seems inventory-related, and it only happens when there's not enough room in a hero's inventory.

It's very likely affecting Windows players too.

Once a hero has won a battle, there are two loot phases :
  1. Looting the enemy guard's corpses
  2. Searching the location
If the loot in the first phase contains an object (i.e. not only gold and gems) and the hero's inventory is full, the game will crash before the second loot phase.

The following workaround works : ensure you always have 4 empty slots in your inventory before any battle starts (since the first loot phase seems to yield 4 objects at most).

It just seems to be a case of not checking the inventory before adding objects, as it is done in the second phase.

I'm pretty sure the bug is affecting Windows too. I played it on Windows years ago, and while I can't remember for sure, this suddenly seems familiar.

I guess this bug could easily be patched, and I'm surprised nobody has reported it yet.
 ζ Тема ζ: Eador Genesis GNU/Linux port
NovHak

Ответов: 35
Просмотров: 35986
Сообщениеζ Фopум ζ: The Guild of Craftsmen The Guild of Craftsmen   Добавлено: Вс Янв 19, 2020 20:39   Тeмa: Re: Eador Genesis GNU/Linux port

Boon947 писал(а):
I have ported the original (vanilla) Eador Genesis executable to GNU/Linux.

Wonderful, thanks ! Having switched to Linux recently, I was sad that Eador wasn't on Linux, or so I thought...

Anyway... I usually prefer running the game full screen, and it works, but seems to be using a special and very exclusive full screen mode, since I can't alt-tab or lock the screen. In fact, everything else seems to be locked out on the display as long as Eador is running full screen.

I found a workaround, running windowed but going to a 1024x768 mode with a 1920x1080 virtual desktop, and panning to the Eador window, but I would prefer plain full screen to work without those limitations. Is it possible ?

EDIT :
I found a far more easier way to have Genesis running effectively full screen without too many annoyances. The method requires the x11-utils and xdotool packages :
  1. Switch to a 1024x768 display mode of your choice.
  2. Remove window decorations (i.e. the window becomes borderless) :
    Код:
    xprop -name 'Eador. Genesis' -format _MOTIF_WM_HINTS 32c -set _MOTIF_WM_HINTS 2

  3. Move the top left corner of the game window to the top left corner of your screen :
    Код:
    xdotool search --name '^Eador. Genesis$' windowmove 0 0
Alt-Tab to the game window, and play full screen, at last. This is actually 1024x768 borderless full screen.

This is confirmed to work on Ubuntu 20.04 with the stock GNOME 3 desktop and Mutter window manager.
Page 1 of 1

Часовой пояс: GMT +3:00

 
на Главную Форума - back to Forum Indexна Главную Форума - back to Forum Indexна Главную Форума - back to Forum Indexна Главную Форума - back to Forum Index Eador. The Genesis. Encyclopedia на Главную Форума - back to Forum Indexна Главную Форума - back to Forum Indexна Главную Форума - back to Forum Index