[Fix] Usunięcie problemu z przyciskiem "Menu gry" nakładającym się na pasek zasobów

Discussion in 'Propozycje' started by `zerr, Sep 23, 2016.

Tags:
  1. `zerr

    `zerr New Member

    Problem opisywałem na globalnym forum: Link. Stwierdziłem, że twórcy mają ważniejsze rzeczy do poprawienia (multiplayer, mury), więc sam naprawiłem buga który mnie drażnił.

    1. Przechodzimy do folderu gry: <Miejsce instalacji Steama>\steamapps\common\Cossacks 3\data\gui\menu.inc.
    2. W edytorze tekstu uruchamiamy plik showresourcepanel.inc. Warto zrobić kopię zapasową pliku na wypadek, gdybyśmy coś popsuli.
    3. Załóżmy, że chcemy przesunąć przycisk trochę w dół, tak aby już nie zakrywał paska z zasobami. Szukamy (CTRL + F w większości edytorów, lub przewijamy na sam dół pliku) zmiennej "var elmBtnMenu". Interesuje nas funkcja tworząca przycisk: _gui_CreateButton, a dokładniej siódmy argument - domyślnie ma on wartość 1. Zmieńmy tą wartość na przykład na liczbę 40 - według mnie jest optymalna.
    4. Uruchom grę i ciesz się z usunięcia problemu nakładania się elementów GUI!

    Efekt można zobaczyć w zrzutach ekranu w załączniku - zrzuty z dopiskiem "original" to pierwotny, zakryty przez przycisk panel zasobów (prawy górny róg), a te bez dopisku przedstawiają interfejs po wyżej opisanej modyfikacji.

    // Koniec poradnika

    Po co to wszystko, przecież i tak każdy gra na FULL HD 3D 4K?
    1. Mój monitor obsługuje rozdzielczość max 1280x1024 pikseli.
    2. Chwilowo gram na zintegrowanej grafice, więc każda klatka na sekundę się liczy (a zbicie rozdziałki do 1024x768 pikseli nawet jeśli daje 1 - 2 FPS to jest warte zachodu - wcześniej nie dało się grać bez wiedzy o tym, ile mam węgla).
    3. Może nie tylko ja gram na takiej rozdzielczości i komuś się to przyda.

    Jeśli ktoś ma ochotę, to może przełożyć poradnik na angielski i wrzucić na globalne forum - miło by było, żebyście zachowali prawa autorskie ;). Jeśli nikt nie wrzuci, to ja to zrobię jak będę miał chwilę na przetłumaczenie.

    Obecnie jestem w trakcie rozgryzania tego, jak jest oskryptowana górna część interfejsu użytkownika w którego skład wchodzą:
    - napis podający ilość mieszkańców
    - ikonki niepracujących chłopów i niepełnych kopalni
    - pasek zasobów
    - przycisk "Menu gry"
    To wszystko co podałem jest oskryptowane w jednym pliku showresourcepanel.inc.

    Jeszcze jedno - jak już na polskim forum ruszy do przodu modding, to warto by było oddzielić ten poradnik z góry posta (wrzucając na jakąs listę) od moich przemyśleń poniżej (które mogły by pójść do luźnej dyskusji od moddingu).

    Wyszedł dłuuuuuugi post...
     

    Attached Files:

    Warren and [PR]Ernest like this.
  2. Longman

    Longman New Member

    Bardzo dobre wskazówki, wielkie dzięki, mi osobiście bardzo to się przydało. Jest jeszcze podobnej treści irytujący błąd jak najedzie się kursorem np na upgrady w akademii i chcemy poczytać opis czego dotyczy wówczas mapa zasłania ten opis.
     
  3. `zerr

    `zerr New Member

    Faktycznie, mogę spróbować wymusić grę żeby rysowała dymek nad minimapą, a nie pod nią. Tymczasowe obejście problemu to wyłączenie na chwilę minimapy kombinacją klawiszy ALT + M i przywrócenie jej po przeczytaniu opisu tą samą kombinacją przycisków.
     
  4. Matkowski

    Matkowski Member

    Zmianę położenia napisów podczas ładowania gry powinienem szukać w pliku "showloadgame"? Trochę irytuje mnie, że nie znajdują się na środku ekranu.
     
  5. `zerr

    `zerr New Member

    Showloadgame.inc wygląda na kod odpowiedzialny za okno "Wczytaj grę". Również spróbuję poszukać kodu odpowiedzialnego za to (pasek ładowania), jak znajdę to dam znać.
     
    Matkowski likes this.
  6. Matkowski

    Matkowski Member

    Może na weekend złapie więcej czasu to postaram się bardziej poszperać, jak coś to się podzielę informacjami.
     
  7. `zerr

    `zerr New Member

    Znalazłem, plik data\scripts\lib\gui.script, linia 2357:
    Funkcję _gui_CreateImage masz w tym samym pliku w linii 140, argumenty 4 i 5 to pozycja pozioma i pionowa w rozkładzie ekranu (wszystkie wartości z pozycjami są wyszczególnione w pliku data\scripts\lib\classes.script), argumenty 6 - 9 to przesunięcie x,oraz y względem ustalonego rozkłądu, szerokość i wysokość tworzonego obrazu.
    Jak nie będziesz czegoś wiedział, to pytaj.
     
    Matkowski likes this.
  8. Matkowski

    Matkowski Member

    Czyli, jeżeli dobrze zrozumiałem, mam operować argumentami od 6 do 9 w "elmTextBackground", tak?


    EDIT:
    Zmieniłem arguemnt "-90" na "0" i jest idealnie na środku, problem w tym, że podczas ładowania gry najpierw jest stara pozycja i jak zaczyna się proces to ustawia się na ten zmieniony.
     
    Last edited: Oct 10, 2016
  9. Matkowski

    Matkowski Member

    Ostatecznie zdecydowałem się na taką wersję, tj. zlikwidowanie tego przyciemnionego obszaru i edycję tła, oto efekt:
    [​IMG]
     
    `zerr and Warren like this.