Star Wars Battlefront 2 in 21:9 und 2560x1080 Auflösung - FRAGE: wie die HUD modifizieren (ingame.lvl) (SW Battlefront 2 (2005))

Hi zusammen :)

nach dem Hinweis von DeltaForce meine Frage besser noch mal im eigenständigen Thread zu stellen, hier TEIL 1 meiner recht umfangreichen Fragestellung:

Ausgangslage:

Ich habe einen 21:9 Bildschirm mit einer Auflösung von 2560 x 1080. Battlefront II kommt auch problemlos mit der Auflösung klar, was die Darstellung der Blickfelds angeht. Mit der Darstellung der HUD klappt es jedoch Hinten und Vorne nicht! Z.B. das Fadenkreuz zeigt nicht dahin wo hingeschossen wird, die Anzeigen ragen weit in das Bild rein und sind verzerrt. Ich habe den Verdacht, dass die Anzeigen bzw. die HUD sich von der Position der Elemente her wie bei einer Bildschirmauflösung von etwa 800x600 Pixeln einstellt. Jegliche Versuche hieran etwas zu ändern, haben keinen Erfolg gebracht. Bei 1920x1080 ist die Darstellung der HUD noch korrekt, aber die HUD dazu zu bringen bei einer höheren Auflösung die Positionen der Anzeigen wie bei FullHD beizubehalten habe ich nicht geschafft. Deshalb folgender Versuch...

Was ich versuchen möchte:

Mit der ingame.lvl von DeltaForce, bei der keine HUD mehr angezeigt wird, ist die Situation schon bedeutend besser. Vielen Dank dafür an dieser Stelle erstmal DeltaForce! :) Nun habe ich vor die 1playerhud.hud Dateien in ModTools zu verändern um anschließend eine ingame.lvl zu erhalten, bei der die HUD möglichst korrekt für meine 2560x1080 Pixel dargestellt wird. Meine Hypothese als Laie ist, dass ich durch die Veränderung der x und y Koordinatenangaben unter Position des jeweiligen Anzeigeelements der HUD, die Anzeigeelemente durch ausprobieren an die richtige Stelle verschoben bekomme. Hier ein Auszug aus der 1playerhud.hud damit man sieht, welche Angaben ich zu ändern gedenke:

FileInfo("1playerhud")
{
Viewports(1)

}

Group("player1weaponinformation")
{
PropagateAlpha(1)
Viewport(1)
Position(0.082181, 0.427927, 0.000000, "Viewport") Z.B. HIER!
ZOrder(255)
EventEnable("player1.weaponsEnable")
EventDisable("player1.weaponsDisable")
Group("player1weaponinformation_lineupwithhealth")
{
Viewport(1)
Position(-0.070914, 0.000000, 0.000000, "Viewport") oder HIER!
EventEnable("initialize")
Text("player1weapon1ammo")
{
TextBreak("Word")
TextFont("gamefont_small")
EventNumber("player1.weapon1.totalAmmoBullets")
InfiniteDashes(0)
Viewport(1)
Position(0.075284, 0.340939, 0.000000, "Viewport")
ZOrder(6)
Color(0, 0, 0)
EventEnable("player1.weapon1.totalAmmoBullets")
EventDisable("player1.weapon1.disable")


Teil 2 der Frage folgt!

Frage gestellt am 26. Juni 2013 um 10:36 von LaraT

11 Antworten

TEIL 2

Soweit der Plan also.. Leider habe ich jedoch momentan ein anderes Problem was erst aus der Welt geschafft werden muss, bevor ich mit dem Ausprobieren beginnen kann: Ich schaffe es nicht eine ingame.lvl zu erhalten bzw. zu generieren. Nach deiner Anleitung DeltaForce und anderer Hinweise, die ich so zusammengesammelt habe, habe ich
1. eine eigenen "World" mit "Modtools VisualMunge" erstellt.
2. Dann bin ich in den dadurch erstellten World-Ordner z.B. data_ABC also C:\BF2_ModTools\data_ABC\Common\hud und habe da die 1playerhud.hud (auch die im Unterordner "PC") mit dem Editor verändert.
3. Habe ich dann unter C:\BF2_ModTools\data_LDF\_BUILD "Modtools VisualMunge" gestartet und auf Mungen geklickt.

Sofern ich das richtig verstanden habe, sollte dann der Ordner _LVL_PC-Ordner im World-Ordner erstellt werden, wo dann eine ingame.lvl-Datei drinnen ist und diese enthält dann auch die Veränderungen. Das Problem ist nun, dass kein entsprechender _LVL_PC-Ordner und damit auch keine ingame.lvl erstellt wir oder ich bin zu blöd die zu finden... Generell stelle ich nicht fest, dass durch das Mungen irgendetwas erstellt wird, obwohl das Programm etwas von "all done - go run Battlefront II " meldet.

Ich hoffe mir kann jemand helfen und mir sagen, was ich falsch gemacht habe... noch als Anmerkung an DeltaForce:

was mich gewundert hat, ist, dass du in einem deiner Beiträge von Map-Ordnern sprichst, indem die zu verändernden HUD-Dateien sein sollen. Meintest du die erstellten World-Ordner wie z.B. data_ABC, denn in den Map-Ordnern wie z.B. COR (zu finden unter C:\BF2_ModTools\data_ABC\_BUILD\Worlds ) habe ich keine HUD-Datein gefunden... oder habe ich als Anfänger dich ganz falsch verstanden? Danke für deine Hilfe :) Und hier die fraglichen Stellen aus deinem Beitrag:

"In den ModTools gibts - in einer erstellten Map und damit im spezifischen Map-Ordner - im Common-Ordner den Ordner hud, da drinnen sind einige *.hud-Dateien."

"Ich hab einfach beide verändert. Nach dem Mungen der Map (die Map selber brauchst du eigentlich nicht, es geht nur um eine Datei) befindet sich ein _LVL_PC-Ordner im Map-Ordner, wo eine ingame.lvl-Datei drinnen ist - diese enthält dann die Veränderungen. "


VIELEN DANK AN ALLE DIE BIS HIER HIN DURCHGELESEN HABEN ;D

Antwort #1, 26. Juni 2013 um 10:40 von LaraT

Moinsen,

sag ma kann es sein das Battlefront 2 mit dieser Widescreen Auflösung im HUD bereich nicht klar kommt ?
Ich meine da mit eigentlich nur das ,dass Spiel an sich gut da mit klar kommt ,da durch den Zero Editor ( Engine ) ja alles in Echtzeit gerendert wird bleibt alles im Ingame Skalierbar aber halt das HUD nicht.
Das HUD ist ja eigentlich nur ein Bild ( alles einzelne Elemente ) das dann durch Scripts die Korrekten Anzeigen schaltet. Die Bildelemente an sich können aber vlt eine solch große Auflösung nicht erreichen weil se vlt nur auf mach 1080p ausgelegt sind.

Man könnte ja mal versuchen die HUD's durch Vector Grafiken zu ersetzen dann hätte man keinen Qualitätsverlust. DeltaForce hat da ja schon was nettes gezaubert...

Das Ergebnis dieser " NO HUD " Mod kann man auch hier bestaunen =

501 Urban Tribute


212 Attack Battalion

Antwort #2, 26. Juni 2013 um 11:27 von G-power

Könntest du uns mal einen Screenshot von deinem verzerrten HUD schicken? Dann kann man sich das besser vorstellen.
Und: Wenn du mal eine normalsterbliche Auflösung wählst (dein Bildschirm ist nicht normal :D), wie FullHD, wird dann alles korrekt angezeigt?

Ich denke, deine Idee ist auf jeden Fall nen Versuch wert. Zumal man - zumindest damals - von den Entwicklern nicht unbedingt erwarten kann, das so zu programmieren, dass auch Kinobildseitenverhältnisse unterstützt werden, d.h. dass es mit so einer Anpassung evtl. wirklich schon getan sein könnte.


Zur Klärung, wie man die ingame.lvl erstellt:

Zum einen musst du eigentlich nur die 1playerhud.hud-Datei im PC-Ordner ändern; die Datei, die im übergeordneten Ordner mit drei weiteren Dateien liegt, ist egal.
Mit dem "Map-Ordner" meinte ich immer den Ordner data_MAP in den ModTools. Wenn ich also sage:
"In den ModTools gibts - in einer erstellten Map und damit im spezifischen Map-Ordner - im Common-Ordner den Ordner hud, da drinnen sind einige *.hud-Dateien."
meine ich damit diesen Pfad: ModTools\data_MAP\Common\hud.
Das hast du aber eh schon rausgefunden, da du ja die 1playerhud.hud-Datei schon gefunden hast ;)

Und: "befindet sich ein _LVL_PC-Ordner im Map-Ordner, wo eine ingame.lvl-Datei drinnen ist - diese enthält dann die Veränderungen."
Also nicht im World-Ordner, sondern eins höher. Nach dem Mungen findest du direkt im data_MAP-Ordner den _LVL_PC-Ordner, und da drinnen ist die ingame.lvl.

Zumindest sollte das so sein. Wenn der Mungevorgang bei dir nur ein paar Sekunden oder weniger dauert, musst du dir noch den MungeFix installieren:
Lade dir den "VistaMungeFix" runter: http://www.filefront.com/17171104/munge_fix.zip...
Entpacke den Inhalt und kopiere den Ordner "vistamungefix" in deinen ModTools-Ordner. Dann starte die Batch-Datei "vistamungefix.bat". Ein schwarzes Fenster erscheint und verschwindet sofort wieder.
Nach diesem simplen Fix sollte das Problem behoben worden sein.

Von dem Zeitpunkt an neu erstellte Maps funktionieren dann. Du musst also nochmal ne neue Map in den ModTools erstellen. Falls du die 1playerhud.hud-Datei schon geändert hast, kannst du sie ja in die neue Mmap rüberkopieren.


Diese dann erstellte ingame.lvl musst du dann nur in deinen SWBF2-Ordner kopieren, unter GameData\data\_lvl_pc.

Antwort #3, 26. Juni 2013 um 18:41 von DeltaForce

Dieses Video zu SW Battlefront 2 (2005) schon gesehen?
@ G-power:

>> sag ma kann es sein das Battlefront 2 mit dieser Widescreen Auflösung im HUD bereich nicht klar kommt ?

Das ist offensichtlich das Problem.

Doch, auch das HUD bleibt skalierbar. Stell mal deine Auflösung um zwischen 800x600 und FullHD (bzw. deine volle Auflösung wenn du weniger als FullHD hast). In beiden Fällen ist bspw. die Karte ganz oben rechts und die Lebensanzeige ganz unten links. Das HUD ist also kein einziges großes fertiges Bild, sondern besteht aus einzelnen Elementen, die entsprechend der Auflösung positioniert werden.
Wie es aussieht, kommt dieser Positionierungsalgorithmus aber nicht mit dem Ratio von 21:9 klar.
Oder habe ich dich falsch verstanden?

Die einzelnen HUD-Elemente werden ja auch in Abhängigkeit der Auflösung skaliert. Könnte wirklich sein, dass er es nicht bis 2560x1080 skalieren kann, aber das würde ja nicht erklären, warum die Elemente an der falschen Position sind.
Ob SWBF2 Vektorgrafiken verarbeiten kann? Ich mein, er skaliert die Dinger ja auch... Ich glaube, wir brauchen an dieser Stelle einfach nen Screenshot von der ganzen Sache, sonst bringt die Diskussion wenig :D

In meiner "NoHUD"-Mod habe ich aber nichts mit Vektorgrafiken gemacht, oder hab ich deine Aussage falsch verstanden?
Bist du sicher, dass die zwei Videos meinen NoHUD-Mod verwenden? Könnte ja auch einfach nur ein Ausschnitt des Bildes sein, wo das HUD nicht ist.

Antwort #4, 26. Juni 2013 um 18:41 von DeltaForce

Danke für die schnellen Antworten :) Also ich hab dann mal zwei Screenshots gemacht, einmal mit der verzerrten HUD: Hier habe ich wie gesagt den Verdacht, dass es einfach eine auf 800x600 angepasste HUD ist, die dann aber durch einen Fehler irgendwie in die Länge gezogen wurde. Wäre die HUD für FullHD ausgerichtet, dann müsste sie ja zumindest was die Größe der Elemente und die Position in der Vertikalen angeht korrekt dargestellt werden, schließlich habe ich ja in der Vertikalen auch 1080 Pixel wie bei FullHD...

Hier mit verzerrter HUD:

http://img2.picload.org/image/ogrpprr/battlefro...

Man sieht auch sehr schön, dass der Droide, den ich gerade Treffe nicht im Fadenkreuz ist, sondern dummerweise genau hinter dem Energiebalken ist... echt nervig


Und hier mit der NoHUD von DeltaForce:

http://img1.picload.org/image/ogrppag/battlefro...


Wenn ich die Auflösung runter auf einen normales ;) FullHD stelle ist das mit der HUD kein Problem. Aber ich muss sagen das ich es seit dem ersten mal nicht mehr in Betracht gezogen habe BF 2 nicht mehr in 21:9 zu spielen - es macht so noch viel mehr Spaß ;D trotz der ganzen Nachteile was die HUD angeht... aber mit etwas Glück lassen die sich ja vielleicht beseitigen.

Danke DeltaForce für die ausführlichere Erklährung und die Sache mit dem Fix, ich werd das dann mal morgen ausprobieren!

Antwort #5, 26. Juni 2013 um 22:04 von LaraT

Okey - ich brauch so nen Bildschirm. das ist der Wahnsinn. Vor allem der Vorteil, den man einfach mal hat durch das größere Sichtfeld :D

Also ich denke das Problem müsste man eigentlich auf tieferer Ebene behandeln, was aber evtl. nicht möglich ist. Durch verschieben und Größe ändern der HUD-Elemente kann man es aber vielleicht wirklich in den Griff kriegen, zumindest als Workaround.

Antwort #6, 26. Juni 2013 um 22:53 von DeltaForce

@DeltaForce das du da keine Vector Grafiken eingebaut hast ist mir klar ;)
Ich meinte nur wenn man welche nehmen würde gäbe es egal bei welcher Skalierung keinen
Qualitätsverlust oder merkwürdige verzerrungen wie bei LaraT.

Das mit den Elementan habe ich doch auch erwähnt .. und bis Full HD ist auch noch alles Okay...
Wer muss den ein 8 Jahre altes Game unbedingt im Kinoformat zocken ?!
Ich meine Full HD reicht doch oder etwa nicht ? Mehr kann ein normaler TV im Video so wie so nicht darstellen ,es sei denn man nutzt 4k.

Antwort #7, 27. Juni 2013 um 00:02 von G-power

Also der Workaround scheint zu funktionieren! Hab hier mal ein paar Bildern bei denen man die Änderungen sehen kann:


http://picload.org/image/ogdrpcd/battlefrontii2...

http://picload.org/image/ogdrpir/battlefrontii2...


Vergleich zu vorher:

http://img2.picload.org/image/ogrpprr/battlefro...



Folgendes habe ich in der 1playerhud.hud unter: C:\BF2_ModTools\data_MAP\Common\hud\PC geändert:

Group("player1targethealthbar")
{
PropagateAlpha(1)
Viewport(1)
Position(0.500000, -0.011912, 0.000000, "Viewport") ----> Änderung siehe unten!
Scale(0.263237, 0.230000, 0.230000)
Alpha(0.800000)
Color(192, 224, 224)
EventEnable("initialize")
BarBitmap("player1targethealth_blankfill")


Änderung in: Position(0.500000, -0.711912, 0.000000, "Viewport")
habe also einfach den mittleren Wert um 7 erhöht.

Was jedoch seltsam ist, ist das wie auf den Bildern zu sehen ist beide Energiebalken sowohl für den Feind als auch für eigene Einheiten verschoben wurden... aber vielleicht ist targethealthbar ja gemeint als Ziel auf das man sein Fadenkreuz richtet, seltsam dann aber, dass es sin der HUD-Datei noch weitere Datensätze zu vehiclehealthbar gibt.. naja egal erstmal :)

Jetzt kann der Spaß beginnen noch die ganzen anderen Anzeigeelement umzustellen... die haarigste Arbeit wird es dann jedoch erstmal die richtigen Stellen in der HUD-Datei zu finden, den ich bin mir längst nicht sicher, welche Datenabschnitte welche Anzeigenelemente betreffen..also werde ich wohl lange ausprobieren müssen.. :(

"Wer muss den ein 8 Jahre altes Game unbedingt im Kinoformat zocken ?!" ICH! ;D

Ohne Witz ich hab mich zwar lange informiert bis ich mir einen 21:9 PC-Monitor zugelegt habe und war mir dann irgendwann relativ sicher, aber wenn man erstmal zwei Wochen mit dem Ding Arbeitet und Zockt, dann ist man absolut euphorisch und genießt es noch mehr als am Anfang! Es ist eine echte Bereicherung unabhängig davon ob das Spiel 8 Jahre alt oder aktuell ist ;)

@DeltaForce:

Der Fix hat das entscheidende Problem mit dem erstellen der ingame.lvl gelöst! Ansonsten war ich jedoch auch noch etwas verwirrt, weil ich nicht gescheckt habe, dass du mit data_MAP den jeweiligen data ordner meinst, den man dann nach dem erstellen einer Welt hat. Der heißt dann ja z.B. je nach Drei-Buchstaben-Weltname z.B. data_ABC oder sonst wie data_blablabla... ;)


So, da es aber jetzt dank eurer Unterstützung klappt, kann ich ja jetzt loslegen :)

Antwort #8, 27. Juni 2013 um 16:38 von LaraT

Es klappt soweit einigermaßen mit dem neu Positionieren, ich habe aber dadurch jetzt ein neues Problem: Um die ingame.lvl zu generieren hatte ich jetzt zig maps gemungt die alle in Battlefront auftauchen. Ich hab jetzt versucht über LAN Battlefront zu spielen aber es funktioniert nicht mehr! Ich wollte daraufhin die unnötigen Maps löschen, habe aber nicht herausgefunden wie das geht. Laut Internet sollen die Maps ja im addon Ordner zu finden sein, aber dort sind keine Spur von meinen Maps, nur der Ordner einer Mod die ich installiert hatte... Weiß jemand wie ich die Maps finde und wie ich sie rückstandsfrei löschen kann?

Antwort #9, 27. Juni 2013 um 23:03 von LaraT

Da ich weiterhin keine Spur von meinen Maps gefunden habe und sie daher nicht einfach löschen konnte, blieb mir nichts anderes übrig als BF2 komplett zu deinstallieren und neu zu installieren... immerhin ist jetzt alles wieder in Ordnung, aber eigene Maps mache ich in Zukunft nicht mehr so schnell wieder ;D

Antwort #10, 30. Juni 2013 um 22:38 von LaraT

Sorry, dass ich nicht geantwortet hab, hatte bisschen was zu tun in den letzten Tagen.

Du kannst ruhig weiter Maps machen ;-) Das Problem war vermutlich lediglich, dass sie im VirtualStore gelandet sind und du sie deswegen nicht im Addon-Ordner gefunden hast. Dass nur wegen einer Map der Multiplayer-Modus nicht mehr geht finde ich zwar etwas seltsam, aber kann schon sein, dass es daran lag.
Wenn du die Maps im Addon-Ordner nicht findest, guck einfach auch im VirtualStore nach, dann sollte das kein Problem mehr sein. Der VirtualStore ist so eine Art spezieller Ordner, in den Windows manche Schreibzugriffe auf Ordner wie den Programme-Ordner umleitet, warum auch immer. Du findest ihn unter C:\Benutzer\<benutzername> \AppData\Local\VirtualStore. Da drinnen müsste dann ein Programme-Ordner sein, worin sich ein SWBF2-Ordner befindet, mit deinen Maps im Addon-Ordner. Wenn du die Benutzerkontensteuerung von Windows ausschaltest (die eh völlig unnötig ist), müssten die Maps nicht mehr im VirtualStore landen. Wenn du das nicht tun willst, musst du halt immer auch da rein gucken.


Zum eigentlichen Problem: Das HUD-Element "targethealthbar" ist diese Lebensanzeige oben in der Mitte, die die Lebenspunkte der Einheit anzeigt, die du gerade anvisiert hast, ob das Freund oder Feind ist, ist dabei egal. Heißt ja auch target health bar = Ziel [im Sinne von anvisiert] Leben Anzeige = Ziellebensanzeige. Ich denke "vehiclehealthbar" ist die eigene Lebensanzeige, wenn man in nem Fahrzeug hockt. Die Position müsste nach den Angaben in der Datei irgendwo unten links am Bildschirm sein, könnte also sein, dass die normale Lebensanzeige durch diese - offenbar gleich aussehende - ersetzt wird, sobald du in ein Fahrzeug steigst.
Wie weit bist du denn schon mit dem HUD-Elemente Verschieben? Ich könnte dir ne Liste mit den HUD-Elementen und den entsprechenden Namen in der HUD-Datei zusammenstellen, wenn das die Arbeit erleichtert ;)


Was noch bleibt ist, wie man die HUD-Elemente wieder entzerren kann. Offenbar staucht die Engine die Elemente in der Höhe, die Länge stimmt nämlich (hab das nochmal nachgemessen). Eine Idee, die ich da hatte, wäre, die einzelnen HUD-Bilder in nem Grafkprogramm in die Höhe zu ziehen, so dass sie von vorneherein in die eine Richtung verzerrt sind und die Engine, die diese in die andere Richtung zerrt, somit dann dafür sorgt, dass sie richtig sind von der Höhe her. Das Problem ist, dass ich die einzelnen HUD-Bilder nicht finde. Manche sind im interface-Ordner, aber den Rest finde ich leider nicht.

Antwort #11, 01. Juli 2013 um 17:09 von DeltaForce

zurück zur 'Fragen & Antworten'-Übersicht: Star Wars Battlefront 2 (2005)

SW Battlefront 2 (2005)

Star Wars Battlefront 2 (2005) spieletipps meint: Hier begeistert vor allem der Multiplayer-Part, Star-Wars-Fans werden die stimmige Atmosphäre lieben. Für Einzelspieler gibt es aber bessere Taktik-Shooter. Artikel lesen
89
YouTube-Aufruhr: Darum laufen Gronkh, LeFloid und andere Webstars gerade Sturm

YouTube-Aufruhr: Darum laufen Gronkh, LeFloid und andere Webstars gerade Sturm

Werbung wird verweigert, Videos verschwinden, YouTube hält sich bedeckt, YouTuber machen sich Sorgen um ihre (...) mehr

Weitere Artikel

Bethesda: "Wir möchten den Beginn einer Beziehung" - Pete Hines über die Nintendo Switch

Bethesda: "Wir möchten den Beginn einer Beziehung" - Pete Hines über die Nintendo Switch

Mit The Elder Scrolls 5 - Skyrim, Doom und Wolfenstein 2 - The New Colossus hat Bethesda gleich drei große Spiele (...) mehr

Weitere News

Newsletter

Mit diesem Formular kannst du den Spieletipps.de Newsletter kostenlos abonnieren.

SW Battlefront 2 (2005) (Übersicht)