[Tutorial] The Road to NearInfinity

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
Anleitung zur Einrichtung und Benutzung von NearInfinity




1. NearInfinity... schmeckt das denn?

Man kennt das ja: Man spielt fröhlich vor sich hin und plötzlich ist alles kaputt und nüscht funzt mehr. Dann kommt man ins Forum hier, stellt die alles entscheidende Frage und bekommt als Antwort krudes Zeug an den Kopf geworfen. Dinge wie zum Beispiel:

- Was steht denn im Area-Script drinne?
- Was hat die cre für ne DLG zugewiesen?
- Ändere die Zeile 17 in der 2da auf 42, dann klappt dit och wieder.
- Gibt's die cre überhaupt im Spiel?
- Was für ne Animation ist denn zugewiesen?

Als normaler Mensch reagiert man darauf vermutlich mit Nasenbluten und einem Aneurysma im linken Schädellappen. Und zu recht, wer kann das Geplapper schon verstehen? Aber der Sinn und Zweck ist natürlich die Beschaffung von Informationen, ohne die es allermeistens nicht weitergeht.

An der Stelle kommt dann ein kleines Programm namens NearInfinity (NI) ins Spiel, welches es uns allen ermöglicht, uns jede Einzelheit der Spielressourcen mit ermüdender Genauigkeit anschauen zu können. Wie man NI einrichtet, sich grundlegend zurechtfindet und die Basisfunktionen benutzt, werde ich hier erklären.

Aus der Einleitung erkennt man vielleicht, dass sich dieser Text vor allem an den Neuling richtet, der noch keinerlei Erfahrungen mit irgendetwas sammeln konnte. Vieles wird für die etwas versierteren Nutzer daher wohl überflüssig sein, also einfach überspringen, wenn du dich für so jemanden hältst. ^^






2. NearInfinity einrichten

Wir brauchen:
-das aktuelle NearInfinity von hier
(Direktlink zum Runterladen hier)

- entweder das original NearInfinity (ACHTUNG: veraltet)
- oder die weiterentwickelte Version von Spellhold (am Ende des ersten Posts unter "This is the newest version of NearInfinity")

Welche Version du nimmst ist egal. Ich benutze inzwischen die von Spellhold aber es macht - zumindest momentan - noch keinen Unterschied.


- Java (den roten Kostenloser Java-Download-Knopf anklicken und machen, was verlangt wird)

Wenn du Java schon hast, kannst du dir diesen Schritt natürlich sparen. Wenn du nicht weißt, ob du Java hast oder was Java sein soll, dann klicke auf den Link und folge dem roten Knopf.


- die acm2wav.exe (für das Abspielen der Sounds und Musikstücke)

Die acm2wav.exe ist nicht notwendig für den Betrieb von NI und wenn du dir keine Sounds anhören willst, brauchst du diese Datei nicht. Unter dem Link bekommst du ein WinRar-Archiv, also einmal entpacken.


Ich würde die empfehlen, einen Ordner anzulegen, in den du die NearInfinity.jar und die acm2wav.exe legst. Ich hab beides immer direkt im BG2-Ordner, aber wo die Datei liegt ist egal. Starten tust du NI mit Doppelklick auf die NearInfinity.jar.

Beim ersten Start hat NI noch keine Installation eingelesen, weshalb du das in die Wege leiten musst, bevor du NI benutzen kannst. Dazu klickst du in der Menuleiste auf Game -> Open Game, gehst in dem Fenster in deinen BG1/BG2/IWD/IWD2/PST-Ordner und doppelklickst auf die chitin.key und NI liest die Installation ein. Bei BWP-Installationen (Minimal, Standard, etc.) oder deiner selbstgemachten BGT-Installation nimmst du die Chitin.key aus deinem BG2-Ordner, auch wenn du Probleme im BG1-Teil hast (weil BG1 in BG2 reingestopft wurde und du ja nur BG2 startest).
Jetzt gehst du in die Options -> Show Override Files und klickst dort "in ??? Folders" an. Das sorgt dafür, dass die Dateien im Override bei ihren Dateitypen einsortiert werden. Damit sind wir bereit für Unfug und Schabernack.


"Experten"-Informationen:
Du kannst NI auch mehrmals öffnen und in jeder Instanz des Programms eine andere Installation einlesen, um beispielsweise Dateien aus zwei BWP-Installationen auf einen Blick zu vergleichen. Des Weiteren wird NI mit 128MB Arbeitsspeicher gestartet, was zu wenig sein kann, wenn du umfangreiche Installationen hast und dir viele und/oder große Dateien anschauen willst. NI bricht dann mit einer Fehlermeldung wegen zu wenig Speicher ab. Sollte dir das passieren, kannst du NI mit diesem Tool oder dieser Bat-Datei starten, welche den zugewiesenen Arbeitsspeicher erhöhen.






3. NearInfinity benutzen

Wenn du dir dein NI-Fenster jetzt anschaust, siehst du, dass es in zwei Bereiche aufgeteilt ist. Links eine Liste, rechts ein leeres Feld. Standard, wie man ihn aus Windoof kennt.

Die Liste enthält alle Dateien in der eingelesenen Installation, sortiert nach Dateitypen. Wenn du erstmal weißt, welche Dateitypen was enthalten, dann kennst du auch recht schnell die grobe Richtung, in die du deine Suche wenden musst. Die folgenden Kurzbeschreibungen sollten dir für den Anfang genug Infos geben, damit du wenigstens halbwegs weißt, worum es im Einzelnen geht.


- 2DA
2 Dimensional Arrays (2 dimensionale Tabellen) sind genau das, was der Name sagt. Die allseits bekannten Tabellen, in denen Informationen abgelegt werden. Z.B. welche Rasse welche Klasse nehmen kann, wie viele HP es beim LvUp gibt, wie hoch bei der Charaktererstellung bestimmte Attribute für bestimmte Klassen sein müssen und so weiter und so fort. Schau dir die hpconbon.2da an, um zu sehen, was für Konstitutionsboni jede Klasse bei den Werten 1-25 bekommt.


- ARE
Areas. Die Gebiete. Ein Gebiet in seiner Gesamtheit besteht letztendlich aus mehreren kombinierten Dateien, von denen die ARE-Datei diejenige ist, in der steht, welche Kreaturen wo platziert sind (Actors), welche Türen es gibt (Doors), welche Kisten (Containers) und welche Fallen, Maschinen, Gebietsausgänge, Textfenster und ähnliches es gibt (Points of Interest). Außerdem sind hier auch die Wettermöglichkeiten festgehalten, welches Areascript zugewiesen ist, was die angrenzenden Gebiete sind (betrifft vor allem BG1) und noch ein paar weitere Informationen. Schau dir die AR0800.ARE an, um den Friedhof in Athkatla zu sehen.


- BAM
BAMs (vermutlich Baldur Animations oder so was in der Art) sind alle Animationen (Kreaturen, Zauber, Items, Maschinen, Brunnen, sprich alles was sich bewegt auf dem Spielbildschirm), GUI-Elemente wie die Knöpfe der Bhaalfertigkeiten z.B. (weil sie sich auch verändern, wenn du raufklickt), Schriftarten und die Icons für Zustände beim Portrait. Wenn du dir beispielsweise die SPTRUSEE.BAM anschaust und auf Play drückst, siehst du die Animation des Zaubers "Wahrer Blick".


- BCS
Die Scripte. Scripte sind die Drehbücher, die ansagen, was wann getan werden muss. Alles und jeder hat in BG Scripte, oft sogar mehrere zur selben Zeit, die dann auch noch zur selben Zeit arbeiten. Scripte sind ein Kapitel für sich alleine, können aber mit ein wenig Übung sehr leicht gelesen werden. Vermutlich haben mindestens 50% aller Fehler in einer BWP-Installation mit Scripten zu tun. BCS-Dateien sind kompilierte (in Maschinenbefehle übersetzte) Scripte, die dir NI dekompiliert anzeigt. Wenn du dir eine Mod runterlädst, findest du dort fast immer BAF-Dateien. Das sind dekompilierte Scripte (Source-Code), die bei der Installation der Mod von Weidu in BCS-Dateien kompiliert werden. BAF-Dateien kannst du dir mit jedem Texteditor anschauen, BCS-Dateien nicht. Du kannst die BGImoen.bcs überfliegen, um einen ersten Eindruck davon zu gewinnen, wie Scripte aussehen.


- BMP
Windows Bitmap, die altbekannten Bilder. Hier findest du alle Portraits, die im Spiel benutzt werden und seltsam aussehende Bilder zu allen Areas, deren Erläuterung hier zuviel des Guten ist.


- Characters
Alle Charaktere, die du exportiert hast. Du kannst sie hier verändern, wenn du willst.


- CHU
Informationen über das Layout vom Interface. Unwichtige Dateien, die man sich vermutlich niemals anschaut.


- CRE
Die Kreaturen - und somit alles und jeder, dem man im Spiel begegnet. Gruppen-NPCs, normale NPCs, Monster, Tiere, etc. Viele NPCs haben mehrere Cres, die je nach Situation eingesetzt werden. Die Imoen im BG1-Prolog in Kerzenburg ist beispielsweise nicht dieselbe Imoen, die sich dir in Kap1 nach Gorions Tod anschließt. Die Cres haben die zwei Tabs View (mit den Untertabs Stats und Items/Spells) und Edit. Stats mit allen möglichen Infos und Items/Spells mit Gegenständen, den bekannten und den eingeprägten Zaubern. Stats und Items/Spells enthalten eine Auswahl an Infos, all dies und noch viel mehr findest du dann aber unter Edit. Nach einer Weile wirst du vermutlich nur noch unter Edit rumturnen wollen.


- DLG
Die Dialog-Dateien. Sie enthalten den Code für die Dialoge, nicht den Text selbst (der steht in der dialog.tlk). Gruppen-NPCs haben mehrere Dialog-Dateien, alle anderen NPCs nur eine. Items und Landschaftsmerkmale können ebenfalls Dialoge haben. DLG-Dateien sind wie BCS-Dateien kompiliert und werden dir von NI dekompiliert angezeigt. In Mods hast du d-Dateien, die von Weidu bei der Installation in DLG-Dateien kompiliert werden. Dialoge bestehen aus Ketten von Textblöcken (States), von denen jeder eine Transition (Übergang) zum nächsten State oder zum Dialogende besitzt. Transitions können Trigger (Auslöser) und Actions (Aktionen) besitzen. Der erste State in einer Statekette (die letztendlich den Dialog bildet) besitzt ebenfalls Trigger. (Mehr zu Dialogen, ihren generellen Aufbau, ihre Syntax und deine Möglichkeiten mit ihnen findest du z.B. in der Weidu-Dokumentation.)


- EFF
Effects. Diese Dateien beschreiben Effekte (Opcodes). Ziemlich unwichtig für Anfänger und die Bugsuche größtenteils auch. Es geht nebenbei nicht um grafische Effekte und damit soll es hier belassen sein.


- IDS
Identifiers (Identifizierer). IDS-Dateien sind Listen, in denen (symbolische) Namen zu Nummern zugeordnet werden. Ein Beispiel ist die race.ids, in der HUMAN mit 1 zugeordnet wird. In Scripten kann dann beides benutzt werden. Wenn du bei einer Installation viele, viele Warnungen hast, sind das allermeistens IDS-Fehler, in denen in einem zu kompilierenden Script etwas benutzt wird, was in keiner IDS-Datei definiert wird. Nicht so wichtig und nicht oft relevant für die wirklich schlimmen Fehler.


- ITM
Items. Alle Gegenstände im Spiel. Items selbst sind recht komplexe Dateien mit vielen Infos und Zusätzen. Items haben ihren Itemtyp mit einem davon abhängigen Haufen weiterer Einstellungen, mehrere Icons, Flags für die Benutzbarkeit, Fähigkeiten bei Anlegung und Fähigkeiten zum Auslösen und etc. Ich persönlich bevorzuge den DLTCEP um Items zu bearbeiten, auch wenn das Teil etwas komplizierter daher kommt als NI. Schau dir die AX1H14.ITM an, um einen kleinen Eindruck davon zu bekommen, was da alles gemacht wird, um die etwas mächtigeren Items hinzukriegen.


- MOS
Die Interfacegrafiken. Schaut man sich ohne Grund auch nie an.


- Music
Die Musik. Da das Musiksystem dynamisch ist, findest du hier eher Musikschnipsel als ganze Stücke. Ohne die acm2wav.exe geht hier nichts.


- MVE
Die Videos (Movies).


- Override
Der Override-Ordner. Je nach NI-Einstellungen hast du in dem entweder nur Dummydateien die ignoriert werden können oder wichtigen Kram. Wenn du NI so eingerichtet hast, wie oben beschrieben, findest du hier nichts von Interesse.


- PLT
Die Paperdolls sind die Figuren im Inventarbildschirm. Unwichtig, solange nicht genau da was kaputt ist.


- Portraits
Die Bilder im Portraits-Ordner. Mehr gibt's da nicht zu sagen.


- PRO
Infos über Graphiken, Geschwindigkeit, Gebietseinfluss und Sounds von Projektilen. Nicht zu verwechseln mit den eigentlichen Projektilen wie z.B. Pfeilen, die ITM-Dateien sind.


- Scripts

Die Scripte, die man seinen Charakteren in der Gruppe zuweisen kann. Haben die Endung BS (nicht mit den BCS-Dateien verwechseln).


- Sounds
Die Soundsets für CHARNAME.


- SPL
Die Spells (Zaubersprüche). Benutzbare Zauber folgen einer Namenskonvention:
SPPR101 bedeutet SP(ell)PR(riest)(Lv)1(Nr)01 -> Priesterzauber, Grad 1
SPWI101 bedeutet SP(ell)WI(zard)(LV)1(Nr)01 -> Magierzauber, Grad 1
SPIN101 bedeutet SP(ell)IN(nate)(LV)1(Nr)01 -> Die angeborenen (innate) Fertigkeiten verschiedenen Klassen/Völker
SPCL121 bedeutet SP(ell)CL(ass)(LV)1(NR)121. SPCL1** bis SPCL8** sind klassenspezifische Fähigkeiten oder Zauber (z.B. Wahrer Blick des Inquisitors), SPCL9** sind hochstufige Fähigkeiten wie Dornenfalle oder Wirbelwindangriff, jedoch keine Priester- und Magierzauber.

So gut wie alles, was nicht dieser Konvention folgt, ist im Spiel für den Spieler nicht von Bedeutung oder überhaupt zugreifbar. Es gibt die 1500 Zauber (in einer Minimalinstallation), weil per Zauber sehr viel gemacht werden kann. Wenn du zum Beispiel einem Charakter in einer Quest für 8 Stunden +5 auf Stärke geben willst, dann bastelst du dir einen Zauber, der diese Wirkung hat und zauberst den dann auf den Charakter. Die ganzen anderen Zauber werden also in irgendwelchen Situationen im Spiel benutzt, um etwas zu verändern. Zauber sind ähnlich wie Items teilweise sehr umfangreich, da sie je nach Level unterschiedliche Wirkungen haben können. Schau dir den SPWI116.SPL (Schlaf) an und du siehst, dass dieser Zauber 20 Abilities hat.


- STO
Die Stores (Läden). Erwähnenswert ist, dass Items purchased nicht für die Items steht, die du dem Laden verkauft hast, sondern für die Itemtypen steht, die der Laden kauft. Des Weiteren sind die Läden, die du besucht hast, im Savegame gespeichert und nicht mehr dieselben, die du unter STO findest. Muss ja auch so sein, sonst hätte jeder Laden bei jedem Besuch wieder sein Ursprungsangebot und deine verkauften Items wären weg.


- TIS
TIS sind die Tilesets (tile = Kachel) und enthalten die Gebietsgrafik, zerlegt in Kacheln, mit denen dann die Area gefliest wird, durch die du im Spiel läufst. Wenn du viereckige Grafikfehler in deinen Gebieten hast, sind höchstwahrscheinlich Tilesets beschädigt. Wenn du dir die 1589 Tiles in der AR0800.tis anschaust, kannst du den Friedhof in Athkatla durchaus erkennen.


- VVC
VVC-Dateien enthalten Informationen für Zauberanimationen mit Soundeffekt. Unwichtig für uns.


- WAV
Wave-Dateien. Unter diesem Punkt findest du alle Sounds. Auch hier geht ohne die acm2wav.exe gar nichts.


- WED
Teile der Gebiete. Die WEDs enhalten Rasterinformatioen für die Anordnung der Tiles. Unwichtig für uns.


- WFX
Informationen für Variationen im Abspielen von Sounds. Unwichtig für uns.


- WMP
Die Worldmap mit allen Orten.




Nachdem du jetzt weißt, was unter den Oberpunkten in der linken Liste so zu finden ist, stellst du natürlich auch fest, dass du keinen Bock hast, 5500 Cres durchzugehen, nur um beispielsweise die olle Socke Deirex zu finden.

Unter Search gibt es drei mächtige Werkzeuge, die uns das Leben ungemein erleichtern.
1. StringRef durchsucht die dialog.tlk nach dem Suchtext und bietet dann die Möglichkeit mit Find Reference alle Verweise auf diesen Texteintrag (String) in allen Dateien zu finden.
2. Unter CRE/ITM/SPL/STO kannst du spezifisch nach Kreaturen, Items, Zaubern und Läden suchen.
3. Mit TextSearch kannst du Text (also auch Code) in 2DA, BCS, DLG und IDS-Dateien suchen und kriegst als Ergebnis die Dateien mit dem Vorkommen, die vollständigen Textzeilen und die Nummer der Zeile.

Zusätzlich findest du bei jeder Datei im Edit-Tab unter Find... immer references to this file als Suchoption, mit der du in allen anderen Dateitypen auf Verknüpfungen zur aktuellen Datei suchen kannst.

Kombinierst du diese Möglichkeiten miteinander, kannst du in sehr schnell herausfinden, wie Deirex CRE-Datei heißt und in welchen Scripten und Areas er erwähnt wird.

Du kannst bei BCS und DLG-Dateien auf dem View-Tab unter Find... auch nur in der ausgewählten Datei suchen lassen (in this file only), wenn du z.B. ein Script mit 40.000 Zeilen oder eine DLG mit 2.000 States hast und etwas Bestimmtes suchst oder nachschauen sollst.

Für den Fall, dass du z.B. den Inhalt eines Scriptes posten sollst und das Script zu lang für einen Forumspost ist, kannst du mit Export das Script als BAF-Datei (script source) speichern und irgendwo hochladen. Du kannst natürlich auch alle anderen Dateitypen exportieren.

Wenn du dir eine Datei wie die AR4300.ARE anschaust, siehst du, dass unter Area script zwar AR4300.BCS steht, diese Info aber ausgegraut ist. So etwas begegnet dir öfters, auch bei CREs und bedeutet nur, dass zwar die Info eines Scriptes hinterlegt wurde, dieses Script aber nicht vorhanden ist. Das kann dann ein Fehler sein, muss aber nicht. (Sonst wäre es ja zu einfach. ^^)

Solltest du etwas in einer Datei verändern, musst du anschließend eine andere Datei anklicken und mit Save changes bestätigen, dass du die Änderungen übernehmen willst.




Als letztem Punkt in dieser kurzen Einführung haben wir Savegames. BEVOR du an Savegames rumdoktorst, sichere sie dir. Oder lege einen extra Rumspielsave an. Irgendwas, damit du nicht deinen einzigen aktuellen Spielstand vernichtest. ^^

Wenn du deinen Spielstand aufklappst, siehst du bis zu zehn Dateien. Die bis zu sieben BMPs sind unwichtig, das sind die Winzportraits und der Area-Screenshot. Einen Spielstand kannst du auch ohne diese Dateien laden. Die baldur.gam, baldur.sav und worldmap.wmp sind da hingegen ganz andere Kaliber.

In der Baldur.gam findest du dein momentanes Gebiet, das Gruppengold, die verstrichene Spielzeit, globalen Variablen, die Gruppenmitglieder, alle Party-NPCs, die nicht in der Gruppe sind (unter View) aber auch so Sachen wie das Wetter, die gewählte Formation, den Gruppenruf, die Interfaceanpassungen, deine Journaleinträge und den Vertrauten (unter Edit, wo du wie immer mehr Infos bekommst).
Die Ausrüstung, Einstellungen, lokalen Variablen, gelernten und eingeprägten Zauber, persönlichen Ruf und all das Zeug der einzelnen Charaktere (innerhalb und außerhalb der Gruppe) findest du unter den jeweiligen Charakteren. Hast du dir einen neuen Charakter erstellt, ist dein CHARNAME unter *harbase zu finden, hast du einen Charakter importiert, ist der Name deines CHARNAMEs der Name des Charakters minus den ersten Buchstaben (hier wird NorieKT1 zu *orieKT1). Wenn du dir die komplette Cre-Datei deines NPCs anschauen willst, musst du allerdings tiefer graben und unter Edit ganz unten CRE file auswählen und dann View/Edit anklicken.

Die baldur.sav enthält alle besuchten Areas, Läden und selbst erstellte Tagebucheinträge und Gebietsnotizen. Um dir Dateien anzuschauen, musst du Decompress klicken. Wenn du etwas veränderst, musst du nicht nur Speichern, sondern anschließend auch wieder Compress wählen. Ansonsten werden die Änderungen nicht übernommen. Wenn du eine Datei aus der baldur.sav löschst, hast du bei deinem nächsten Besuch im Spiel wieder den Zustand eines neuen Spiels für diese Sache (wenn du z.B. schon bei Thalantyr warst und dann die HighHedg.sto löschst, dann hat der Bursche wieder seinen neues-Spiel-Laden).

Die Worldmap.wmp enthält die Weltkarte mit allen Areas. Wenn du eine Area auswählst und auf View/Edit klickst, kannst du sehen, ob sie sichtbar ist, von angrenzenden Gebieten aus aufgedeckt werden kann, besucht werden kann und schon besucht wurde.



Als Letztes seid dir das IESDP ans Herz gelegt. Die Seite ist nur auf englisch verfügbar, dafür enthält sie so gut wie alle technischen Informationen die außerhalb Biowares zu BG1 und 2 (und IWD1/2 und PST) verfügbar sind. Wenn du z.B. durch die 2DA-Dateien spazierst und dir die months.2DA anschaust und nicht so ganz verstehst, was das da bedeuten soll und wozu sie gut ist, dann schaust du hier nach und bekommst mehr Informationen. Das IESDP ist nicht komplett, aber sehr umfangreich. Und sehr, sehr hilfreich wenn man nicht versteht, was man sich da genau anschaut.




----------------------------------

Und damit wären wir mit diese Grundeinführung fertig. Wenn dir Dinge einfallen, die hier fehlen oder etwas unverständlich erklärt wurde, dann schreib mir ne PM und ich werde das einfügen/ändern. Außerdem werde ich in den nächsten Wochen die Augen nach konkreten Fallbeispielen zur Bugfindung und -behebung offen halten (am besten natürlich Dinge, die oft Thema sind), die ich dann mit einer Anleitung hier anfügen werde.
 
Zuletzt bearbeitet von einem Moderator:

Lich

Senior Member
Registriert
14.09.2007
Beiträge
1.560
Ergänzung zu

3. - SPL
SPCL*** sind von SPCL1** bis SPCL8** klassenspezifische Fähigkeiten oder Zauber, z. B. der Wahre Blick des Inquisitors. SPCL9** sind hochstufige Fähigkeiten wie Dornenfalle oder Wirbelwindangriff, jedoch keine Priester- und Magierzauber.

Lich
 

Taimon

Infinity Engineer
Registriert
25.11.2001
Beiträge
1.501
Sehr nett, Wedge. :)
Das semi-offizielle Forum für NI ist übrigens auf PPG.

Die "weiterentwickelte Version" hat hauptsächlich Dateiformat-Updates (von devSin), erweiterte Crosslink-Features (Undo über mehrere Dialogdateien, direkter Sprung zu Dialog-States/Transitionen in der Suche, Scriptname/Spell Crosslinks in Skriptdateien, ...) und ein paar Bugfixes. [coded by yours truly :)]
 

Acifer

Senior Member
Registriert
27.04.2019
Beiträge
2.170
Ich poste das einfach einmal hier herein, in der Hoffnung, dass es passt:
Seit meinem letzten Java-update ist die Schrift bei NearInfinity extrem verschwommen. Ändern der Schriftgröße oder des „Look and feel“ haben keinen Effekt. Ich benutze die aktuellste Version von NI. Weiß jemand, woran das liegen könnte?
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.922
Leider nein. @Argent ist zwar auch hier aktiv, aber vermutlich erwischst Du ihn schneller bei BeamDogs.
 

Dabus

Senior Member
Registriert
18.11.2007
Beiträge
5.086
Ganz doof gefragt: Was hält Dich denn davon ab, eine alte zu nutzen?

Oder anders herum: Man muss kein Java installieren, wenn man es nur für NI oder andere lokale JAR-Dateien und nicht im Internet Explorer braucht.
Das Installieren öffnet einem vermutlich mehr Einfallstore, als eine für einen Unbekannten erst mal "unsichtbare" JAVA-Installation in einem für Java ungewöhnlichen Ordner abzulegen.
Mit Java Dateien kann der PC dann aus dem Stand nichts anfangen, wenn Dir jemand so etwas unter jubeln will.

Wenn Du die Java-Dateien von der "für NI richtigen Version" installiert hast, kopiert Du sie aus dem Program Files (x86)\Java-Ordner in einen Ordner (z.B. jre8).
Auf gleicher Ebene legst Du eine Bat und NI ab. In die Batch kommt dann folgender Aufruf:
Code:
start "Near Infinity" jre8\bin\javaw.exe -jar NearInfinity.jar
Für VBS:
Code:
Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")

Set oExec = WshShell.Exec("jre8\bin\javaw.exe -jar NearInfinity.jar")

Für Powershell:
Code:
Start-Process -FilePath 'jre8\bin\javaw.exe' -ArgumentList '-jar NearInfinity.jar' -WorkingDirectory 'C:\Program Files (x86)\Portable\Java'
Lustig: Powershell als Link ohne ExecutionPolicy:
Code:
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -command "Start-Process -FilePath 'jre8\bin\javaw.exe' -ArgumentList '-jar NearInfinity.jar'"
Muss im Ausführen in dann den Pfad zur Jar drin haben.

Die startet dann das Java aus dem Verzeichnis und öffnet die JAR-Datei. Die installierte Version kann dann weg.

Funktioniert hier schon länger, weil ich keine Lust mehr auf ein installiertes Java hatte.
Wenn Du weißt, wie es geht, kann man die Daten natürlich auch anders extrahieren, statt die alte Version zu installieren oder mal in JPortable rein schauen, das scheint sonst der kurze Weg zu den Daten zu sein (nicht getestet).

Wenn man möchte, könnte man auch mal die Alternativen wie https://adoptopenjdk.net / OpenJ9 probieren.
Wobei die Sachen sich dann nicht so wirklich in den Browser integrieren und es evtl. .
 

Acifer

Senior Member
Registriert
27.04.2019
Beiträge
2.170
Ganz doof gefragt: Was hält Dich denn davon ab, eine alte zu nutzen? Oder anders herum: Man muss kein Java installieren, wenn man es nur für NI oder andere lokale JAR-Dateien und nicht im Internet Explorer braucht.
Das ist ja interessant! Davon hatte ich keinen blassen Schimmer. Bisher bin ich davon ausgegangen, dass ich immer Java installiert haben muss. So, wie Du es schilderst, wäre es mir natürlich 1000x lieber.
Ich habe mir schon auf Oracle eine ältere Java-Version heruntergeladen.
Da ich viele verschiedene NI-Versionen für verschiedene Infinity Engine-Installationen nutze und vom Desktop aus starte, würde ich die jre-Datei dann am Besten jeweils in meinen Spiel-Installationsordner mit der jeweiligen NI jar legen, oder?
Danke für Deine Hilfe!
 

Dabus

Senior Member
Registriert
18.11.2007
Beiträge
5.086
Kommt drauf an, ob Dir die 160 MB (oder was da auch immer an Größe raus kommt) pro Runtime-Ordner egal ist oder ob Du nur einen haben willst.
Wo der Ordner liegt ist ja letzten Endes egal. Du kannst die Dateien z.B. auch unter einem Ordner C:\Mein Spiel\Java ablegen und dann alle NIs mit einem
Code:
start "Near Infinity" "C:\Mein Ordner\Java\bin\javaw.exe" -jar NearInfinity.jar
starten. Dann ist der "Java-Zielordner" halt immer gleich.

Oder das Beispiel mit dem Link, den man dann auf den Desktop oder irgendwohin packen kann, auch ohne Powershell-Inhalte:
Ziel:
Code:
"C:\Program Files (x86)\Portable\Java\jre8\bin\javaw.exe" -jar NearInfinity.jar
Ausführen in:
Code:
"D:\Temp\BGII TEST"
Hier müsste man dann den Pfad zur Javaw.exe anpassen und dann im Feld "in Ausführen" den Pfad zum Spiel hinterlegen.
Dort liegt dann die NI-Jar-Datei drin, so daß das Spiele-Verzeichnis direkt erkannt wird und NI in diesem Beispiel die Ressourcen für ein ToB Spiel lädt.

Dieses "Auswählen, welche JAVA-Runtime genutzt wird", ist so insgesamt schon ganz nützlich, wenn man mal eine 32-Bit Variante oder eine bestimmte Version nutzen will, die von einem Entwickler freigegeben ist.
 

Anhänge

  • Link.JPG
    Link.JPG
    39,7 KB · Aufrufe: 6
Zuletzt bearbeitet:

Acifer

Senior Member
Registriert
27.04.2019
Beiträge
2.170
Viele herzlichen Dank für die ausführlichen Erklärungen! Endlich habe ich einmal die ganzen Hintergründe verstanden. Ich werde mich nach den Feiertagen an die Arbeit machen.
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.922
Ja, das war wirklich sehr lehrreich für Noobs wie mich. Danke @Dabus !
 

Dabus

Senior Member
Registriert
18.11.2007
Beiträge
5.086
Naja, der interessante Teil ist eigentlich ein anderer. Auch wenn es keinen interessiert, weil die meisten einfach mit der Oberfläche Standard-Apps hantieren oder den Öffnen mit Dialog aus dem Kontextmenü nehmen... :D

Wenn man mal in die regedit rein schaut (bitte nur lesen, wer das mal probieren will, nichts ändern oder löschen...), sieht man dort so was wie eine Art "Ordner" HKEY_CLASSES_ROOT.
Da drunter gibt es als Unterordner / Einträge die ganzen Endungen wie .zip, .rar, usw. und eben auch .jar.
Da ist für die Zeichenfolge (Standard) der Wert jarfile eingetragen. Ein Datei mit Endung .jar ist also ein jarfile.
Wenn man nun bei diesen Ordnern / Schlüsseln weiter runten scrollt (oder einfach mal jafile in die Tasten haut), findet man unter dem Pfad jarfile weitere Einträge, wie mit den Dateien zu verfahren ist.
Für normale Anwendungen gibt es meist ein Eintrag zum Öffnen - Shell\Open\Command. Der Wert unter der Zeichenfolge (Standard) ist dann das Kommando bzw das Programm, welches den Dateityp öffnet.
Dort steht das, was ich weiter oben quasi geschrieben habe:
Code:
"C:\Program Files\Java\jre1.8.0_XYZ\bin\javaw.exe" -jar "%1" %*
Dem Programm javaw.exe wird also der Parameter -jar und dann die JarDatei mit gegeben. Das ganze in Gänsefüßchen und hinten könnten noch weitere Parameter folgen.
Diese Information in eine Batch-Datei oder einen Link gepackt sorgt dafür, daß dieser Dateityp dann wie bei einem Doppelklick verarbeitet wird.
In vielen Fällen kann man das mit dem Kopieren des Programmverzeichnisses und dem Deinstallieren aus der Systemsteuerung so machen. Finde ich persönlich als Administrator sehr praktisch, wenn ich mal auf einem anderen PC was brauche und nicht jedes Programm installieren muss, was ich mal nutzen möchte.

Es gibt dann noch Sachen wie Shell\Print\Command oder Shell\Edit\Command usw. wenn der Druck oder das Editieren einer Datei direkt aus dem Kontextmenü möglich sein soll.
Für den Fall, daß man mal wissen will, wo man eigentlich sein Word aus dem Office-Paket hin installiert hat, kann man unter anderem in diesem CLASSES-Zweig suchen.
 

Acifer

Senior Member
Registriert
27.04.2019
Beiträge
2.170
Danke für Deine Erläuterungen. Von solchen Dingen habe ich wirklich null Ahnung und bin froh, wenn ich die Thematik einmal in verständlicher Form erklärt bekomme. Toll! :up:
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.380
Es gibt seit Mai glaube ich eine neue Version von NI, die mit farblichen Hervorhebungen arbeitet (ok, das ist zumindest für mich neu). Gesehen habe ich die Hervorhebungen in der cre, da sind Effekte und Zauber farblich markiert und einander zugeordnet.
 
Oben