UnofficialCrusaderPatch / UnofficialCrusaderPatch2

Unofficial balancing patch installer for Stronghold Crusader 1
MIT License
430 stars 59 forks source link

Improvement: Minimap to show whole minimap #497

Open GRhin opened 4 years ago

GRhin commented 4 years ago

Hi, Is it possible to modify the minimap so that it shows the whole map instead of a certain amount of it? I think it currently shows all of a small map, but doesnt scale it for larger maps, but most maps are created much larger. this would be simple in source code, but i have no idea how it will work the way we have to do it.

LordHansCapon commented 4 years ago

Well, it would definitely be hard to find it, but making the minimap to zoom out to show the whole map would make it useles because everything would be smaller and you wouldn't even be able to see units on it.

GRhin commented 4 years ago

Um... considering you cant see units on it atm unless you can see it on your screen (minimap is the size of zoomed out screen) it's useless now. Every 9ther rts game has the whole map in the minimap, and it is a key feature, why should shc be any different?

Krarilotus commented 4 years ago

So for this we would need to change the interface, if i see this correct? To fit the whole minimap in?

LordHansCapon commented 4 years ago

@Krarilotus Well, no, but yes. If there is a zoom option, then it's questionable how much we can zoom out without losing so much detail on the map.

GRhin commented 4 years ago

The shc maps are smaller than other rts maps, and those maps are all in the minimap. Maybe we just need to increase the 'dot' size indicating a troop. If you zoom out the minimap to show 4x the amount of map, then increase the dot size 4x.

LordHansCapon commented 4 years ago

Looked into it, the bad news is that the minimap render function is huge, mostly consists of arithmetic operations and renders most of the stuff on the minimap separately, which wouldn't be a problem. The problem is that everything is hardcoded to map sizes. Yeah... 400, 300, 200 and 160. I could not find a way to zoom the map really, as there is no such thing as zoom, it just draws stuff in different size and ratio according to map size which is a horror to modify really. I don't think I'll be looking into it more. Sorry.

But anyone willing to do so, be my guest:

J-T-de commented 4 years ago

@JuGGerNaunT just asserted dominance and implemented this to the SHCPlayer v6 today ...

Krarilotus commented 4 years ago

@JuGGerNaunT just asserted dominance and implemented this to the SHCPlayer v6 today ...

yep, thats exactly what we need.

VALROY17 commented 4 years ago

Looked into it, the bad news is that the minimap render function is huge, mostly consists of arithmetic operations and renders most of the stuff on the minimap separately, which wouldn't be a problem. The problem is that everything is hardcoded to map sizes. Yeah... 400, 300, 200 and 160. I could not find a way to zoom the map really, as there is no such thing as zoom, it just draws stuff in different size and ratio according to map size which is a horror to modify really. I don't think I'll be looking into it more. Sorry.

But anyone willing to do so, be my guest:

* "Stronghold Crusader.exe"+B73A9 calls the minimap rendering. There is a function parameter setup separated to 2, depending on map size at "Stronghold Crusader.exe"+B7359.
  ![m1](https://user-images.githubusercontent.com/59705872/72680394-974d2e80-3ab9-11ea-97f6-39a11fc93ab6.PNG)

I did a study a few years ago. It was at the minimap rendering stage that the game crashed when starting a map larger than 400x400

J-T-de commented 4 years ago

Looked into it, the bad news is that the minimap render function is huge, mostly consists of arithmetic operations and renders most of the stuff on the minimap separately, which wouldn't be a problem. The problem is that everything is hardcoded to map sizes. Yeah... 400, 300, 200 and 160. I could not find a way to zoom the map really, as there is no such thing as zoom, it just draws stuff in different size and ratio according to map size which is a horror to modify really. I don't think I'll be looking into it more. Sorry. But anyone willing to do so, be my guest:

* "Stronghold Crusader.exe"+B73A9 calls the minimap rendering. There is a function parameter setup separated to 2, depending on map size at "Stronghold Crusader.exe"+B7359.
  ![m1](https://user-images.githubusercontent.com/59705872/72680394-974d2e80-3ab9-11ea-97f6-39a11fc93ab6.PNG)

I did a study a few years ago. It was at the minimap rendering stage that the game crashed when starting a map larger than 400x400

Well, have you tried out just to skip rendering the minimap^^ ? I guess something should just die immediately after...