Mogli12 / GearboxAddon

Farming Simulator 2017: Gearbox addon
GNU General Public License v3.0
53 stars 28 forks source link

Nur 50% Gaspedal #274

Closed UnixRoot2k closed 6 years ago

UnixRoot2k commented 6 years ago

Hallo, Ich habe ein Prblem mit deinem Mod. Ich fahre mit Lenkrad und Pedalen, das klappt soweit auch wie es soll. Sobald ich jedoch deinen Mod aktiviere sind nur noch 50% des Gaspedalsweges nutzbar. Die ersten 50% sind komplett tot. Das heißt ich muss das Pedal über 50% durchtreten damit im Spiel etwas ankommt.

Die Pedale sind nicht als Kombinierte Achse eingestellt, sondern sind komplett eigenständige Achsen.

Wie oben schon geschrieben, tritt das Problem nur mit deinem Mod auf, ohne Mod geht das Gaspedal wie es soll.

Mogli12 commented 6 years ago

Das kann ich so leider nicht reproduzieren.

UnixRoot2k commented 6 years ago

Ich verwende ein Thrustmaster T500RS Lenkrad. Da ich keine kombinierten Achsen einstellen kann, ist im Spiel für Gas und Bremse heweiks eine getrennte Achse festgelegt. Ich befürchte ja, das die Achse keine Werte von 0-1 liefert, sondern von -1 bis 1. Das würde die genau 50% totzone am anfang erklären.

Kann ich da eventuell selbst etwas ändern? Irgendwo im code muss ja die Achse ausgelesen werden. Eventuell lässt sich der Wert ja per clamp funktion oder Ähnlichem in den richtigen bereich verschieben. Wie gesagt, das problem tritt ihne mod nicht auf.

Mogli12 commented 6 years ago

Das GearboxAddon verwendet auch einfach nur self.axisForward und liest keine Achsen selber aus.

UnixRoot2k commented 6 years ago

Trotzdem kommen Werte an die so nicht erwartet werden. Dein Mod erwartet Werte von 0 bis 1 für das Gaspedal. Mein Gaspedal sendet aber Werte von -1 bis 1.

Ich habe das Problem jetzt Quick & Dirty gefixt. Allerdings nur speziell für meinen Fall. In der Datei gearboxMogliMotor.lua in Zeile 1698 habe ich folgendes geändert:

elseif accelerationPedalRaw > -1 then accelerationPedal = ((accelerationPedalRaw+1)/2)^self.vehicle.mrGbMG.accThrottleExp end

So liest er den Wert schon ab -1 aus und rechnet ihn um in den erwarteten Bereich von 0 bis 1. Eventuell liegt das daran das RAW Werte ausgelesen werden.

shelweg commented 6 years ago

Interessant, ich hatte auch schon gelegentlich das Problem dass bei Vollgas (Lenkrad, Pedale) die Drehzahl (und auch Solldrehzahl) nur bis auf 50% gingen. per Handgas oder mit der Tastatur ließ sich das dann übersteuern.

Einzige Chance war dann das Spiel neuzustarten.

Allerdings tritt/trat das "Problem" nicht permanent, sondern sporadisch auf. Auslöser scheint bei mir das "raus-tabben" aus dem Vollbild LS-Fenster zu sein, wobei auch dabei keine 100% Garantie besteht, dass das 50% Gaspedal Problem auftaucht.

UnixRoot2k commented 6 years ago

Naja in meinem Fall liegt das zu 100% an der Hardware die eben im Bereich von -1 bis 1 sendet, der Mod allerdings nur Werte zwischen 0 und 1 auswertet. So wird der halbe Pedalweg einfach nicht ausgewertet. Das Problem dürften sämtliche Nutzer von Thrustmaster Lenkrädern haben.

Das Spiel ohne Mod wertet das Signal ja auch korrekt aus. Im Mod wir aber eben laut Quellcode nur von 0 bis 1 gelesen, was ja sämtliche Achsen ausschließt ,die nicht von 0 bis 1 senden.

Mogli12 commented 6 years ago

Der Mod wertet die Achse nicht aus!

shelweg commented 6 years ago

Einen Hinweis hatte ich noch vergessen zu geben: Wenn das "50% Gaspedal Problem" auftritt und ich das GB-AddOn ausschalte (RSHIFT+Ö), also im vanilla Modus unterwegs bin drehen die Fahrezeuge wieder ganz "normal" hoch. Schalte ich das GB-AddOn wieder an ist auch das "50% Gaspedal Problem" wieder da.

@Mogli12 Also auch wenn der Mod die Achse selbst nicht auswertet (was ich dir uneingeschränkt glaube) scheint es aber doch Umstände zu geben unter denen bei aktiviertem GB AddOn und der Verwendung analoger Achsen max. 50% Drehzahl erreicht werden.

Was kann ich tun um bei der Ursachenforschung weiter zu Unterstüzen?

UnixRoot2k commented 6 years ago

Natürlich empfängt der Mod Werte von der Achse. Ob direkt oder indirekt vom Spiel ist ja erstmal egal. Fakt ist, es gibt nicht nur Achsen die von 0 bis 1 gehen sondern eben auch welche die von -1 bis 1 gehen. diesen Fall greifst du in deinem Mod allerdings nicht ab. Du erwartest das alle Gaspedale immer im Wertebereich von 0 bis 1 senden, was ja leider nicht bei jeder Hardware der Fall zu sein scheint.

Wieso konnte ich sonst mein Problem lösen indem ich den Mod von -1 lesen lasse statt erst von 0.

Mogli12 commented 6 years ago

Ich denke, dass Du dann mit Deiner Hardware das GearboxAddon nicht verwenden kannst. Ich werde mir sicher nicht so ein Lenkrad kaufen, um das Problem nachzuvollziehen.

shelweg commented 6 years ago

Ich verweise nochmal auf meinen Kommentar von 09:30 Uhr.

@UnixRoot2k Evtl solltest du dir einen anderen Ton angewöhnen wenn du kostenlose Hilfe von jemandem erwartest der seine Freizeit einsetz und das Ergebnis dritten zur Verfügung stellt.

@Mogli12 m.E.n. ist das Auftreten nicht Hardware spezifisch, ich werde bei Gelegenheit mal versuchen ob ich es mit einem X-Box Controller (analoge Axen) auch auftreten würde. Was ist dir dazu dann lieber, diesen Issue weiterführen oder einen neuen aufmachen?

Gruß Stefan

Mogli12 commented 6 years ago

Hallo Stefan

Wir können das wieder aufmachen.

Allerdings überschreibt das GearboxAddon the function WheelsUtil.updateWheelsPhysics. Dort sind Gaspeadal und Bremse bereits in dem einen Parameter acceleration kombiniert: gearboxMogli.newUpdateWheelsPhysics.

Viele Grüße, Stefan

UnixRoot2k commented 6 years ago

Entschuldigung, wenn das aufmüpfig rüberkam. Aber was soll ich denn noch tun?

Ich hab dass Problem mehrfach beschrieben und habe auch einen Lösungsansatz gebracht. Dafür muss sich Mogli12 doch nicht so ein Lenkrad kaufen.

Man müsste doch im Prinzip nichts weiter tun, als die Werte die da im Mod ankommen zu normalisieren, das sie im richtigen Bereich liegen.

Ich glaube ihm ja, das er keine Achsen direkt ausliest, das Spiel sendet aber trotzdem je nach Hardware in einem anderen Wertebereich der vom Mod nicht abgegriffen wird.

Das Problem tritt ja nicht nur mit meinem Lenkrad auf, sondern sollte dann bei allen Achsen auftreten die von -1 bis 1 werte senden. Bei sämtlichen Joysticks z.B.

Die Lösung wäre auch ohne Entsprechende Hardware zu erreichen. Die werte müssen nur normalisert werden.

Mogli12 commented 6 years ago

Die Achsen werden ganz wo anders ausgelesen. Im GearboxAddon kommen Gaspedal und Bremse bereits kombiniert in einem Feld an. Da kann ich also nichts machen.

UnixRoot2k commented 6 years ago

Das ist leider doof. Ich habe den Code zwar jetz so angepasst, das die Werte normalisiert werden, aber diese Lösung funktioniert natürlich nur in meinem Fall. Für mich ist das Problem dadurch gelöst. ich hab 100% Pedalweg. Es wäre eben schön gewesen eine allgemeingültige Lösung zu finden. Nur ist eben Normalisieren nicht möglich wenn der Minimalwert sich unterscheidet.

Ich frage mich sowieso was da schief läuft. In sämtlichen anderen Spielen produziert mein Gaspedal Werte von 0 bis 1. Nur nicht im LS, da Wird das Pedal als isHalfAxis="true" erkannt aber dennoch voll ausgelesen. Dass Resultat ist, das Werte von -1 bis 1 kommen. Eigentlich komplett unnötig.

Mogli12 commented 6 years ago

Tritt das Problem auch auf, wenn GearboxAddon als einziger Mod aktiv ist?

UnixRoot2k commented 6 years ago

Ja, also in meinem Fall schon.