PBeM-Spiele
Aktuelle Zeit: 28.03.2024 21:43

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 24 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags: Re: Echeck 4.4.4
BeitragVerfasst: 21.01.2019 01:50 
Offline
Neuling
Neuling

Registriert: 29.09.2018 21:52
Beiträge: 2
Dael hat geschrieben:
Wo gibt's denn den Quelltext?
Auf Github

Die für Linux kompilierte Version ist im Anhang.
Edit: Ubuntu 16.04 64bit mit Kernel 4.4.0 für amd64, gcc=5.4, libc=2.23


Dateianhänge:
echeck-v4.4.4.tar.zip [68.22 KiB]
567-mal heruntergeladen


Zuletzt geändert von paule am 22.01.2019 00:05, insgesamt 2-mal geändert.
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Echeck 4.4.4
BeitragVerfasst: 21.01.2019 09:08 
Offline
PBEM-Gott
PBEM-Gott
Benutzeravatar

Registriert: 23.02.2002 19:29
Beiträge: 2152
Wohnort: Vestfold, Norwegen
Titel: Eressea Spielleiter
Nice Try, aber welches Linux? Mit welcher libc kompiliert, für welche CPU, etc? Ich habe zum Beispiel einen Raspberry Pi, der Server ein Debian mit x64, mein altes Netbook hat eine Atom CPU und ein 32 Bit Linux, und die binaries sind alles andere als austauschbar.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Echeck 4.4.4
BeitragVerfasst: 21.01.2019 23:01 
Offline
Anfänger
Anfänger

Registriert: 09.04.2017 17:05
Beiträge: 44
Ich habe Kernel Version 3.9.11, einen Klon von Ubuntu Trusted Thar, der sich Puppy Linux nennt, 32 Bit. CPU: Intel Celeron.
Was man so sieht, wird oft in zwei Versionen kompiliert: Für AMD und Intel (und jeweils 32 Bit und 64 Bit). Wenn man sich bei den Spezial-Hardware-Optionen des Compilers zurück hält, muss das nicht speziell nur für einen Prozessor sein.
Ich habe momentan ein Echeck 4.3.4, das fertig kompiliert mit Magellan mitkam, wenn ich mich richtig erinnere. Da sagt mit "file" das sei für Linux 2.6.24 kompiliert. Es läuft trotzdem auf meinem 3.9.11. Glücklicherweise ist echeck nicht so anspruchsvoll, da es keine Grafik macht.

Ich habe mir das freundlicherweise angebotene echeck-v4.4.4.tar.zip runter geladen. Das ist allerdings für ein 64-Bit-Linux kompiliert. Das läuft natürlich bei mir nicht. Ich versuche mich mal selber am Compilieren.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Echeck 4.4.4
BeitragVerfasst: 22.01.2019 00:13 
Offline
Neuling
Neuling

Registriert: 29.09.2018 21:52
Beiträge: 2
Ich habe in meinem letzten Post mal die Angaben ergänzt.

Dael hat geschrieben:
Ich versuche mich mal selber am Compilieren.
Einfach die Anweisungen aus dem makefile zusammenkopieren:
Code:
gcc -Wall -std=c99 -Werror -I. -o echeck.exe echeck.c unicode.c


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Echeck 4.4.4
BeitragVerfasst: 03.02.2019 21:52 
Offline
Anfänger
Anfänger

Registriert: 09.04.2017 17:05
Beiträge: 44
paule hat geschrieben:
...

Dael hat geschrieben:
Ich versuche mich mal selber am Compilieren.
Einfach die Anweisungen aus dem makefile zusammenkopieren:
Code:
gcc -Wall -std=c99 -Werror -I. -o echeck.exe echeck.c unicode.c


Danke für den Hinweis. Das Makefile hat ein Target für die Linux-Version von echeck: einfach "echeck". Ich habe es daher damit gebaut und das ging gut:
Code:
make echeck

Das packt zwar wegen der Option "-g" Debug-Infos für gdb mit rein, aber das macht nichts.
Das Makefile hat sogar ein Target zum Installieren mit dem Default-Installations-Ziel "/home/eressea/echeck". Und es ist vorgesehen, dass man sein eigenes Installations-Ziel vorgeben kann. Wenn vorher $PREFIX gesetzt ist, wird es nicht mit "/home/eressea/echeck" überschrieben:
Code:
ifeq ($(PREFIX),)
PREFIX=/home/eressea/echeck
endif


Allerdings erwartet das Makefile, dass es das Installations-Ziel schon gibt, was bei /usr/lib/echeck-4.4.6, was ich haben wollte, nicht der Fall war. Mit folgender Ergänzung, wäre das Makefile noch ein bisschen besser:

Code:
install: echeck
   install -d $(PREFIX)
...


Heute habe ich das neue echeck 4.4.6 ausprobiert und es funktioniert. Allerdings erkennt es einen Zauberspruch nicht. Aber das in einem Extra-Beitrag.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Echeck 4.4.4
BeitragVerfasst: 03.02.2019 23:00 
Offline
Anfänger
Anfänger

Registriert: 09.04.2017 17:05
Beiträge: 44
Ich habe das neue echeck 4.4.6 heute aus Magellan heraus ausprobiert und es funktioniert gut, aber es hat einen Zauberspruch nicht erkannt:

Fehler: Zauberspruch nicht erkannt. `ZAUBERE Erschaffe~einen~magischen~Kräuterbeutel'

Ich hatte in /usr/lib/echeck/e2/de/spells.txt alle Zaubersprüche eingetragen. U.a. diesen:

Erschaffe einen magischen Kräuterbeutel; 0; 0

"file" sagt, dass der Zeichensatz UTF-8 ist:
Code:
file /usr/lib/echeck/e2/de/spells.txt
/usr/lib/echeck/e2/de/spells.txt: UTF-8 Unicode text


Daher habe ich in Magellan Extras -> Optionen -> System -> Textkodierung bei "ECheck mit UTF-8-kodierter Befehls-Datei starten" einen Haken gemacht. Danach habe ich noch ausprobiert zusätzlich die anderen beiden Auswahlmöglichkeiten dort "Befehlsdateien als UTF-8 öffnen" und "Befehle als UTF-8 speichern" anzumachen. Es hilft auch nichts.

Mit dieser Zeile rufe ich ECheck aus Magellan heraus auf:

-r80 -m -Lde -v4.4.6 -w4 -P/usr/lib/echeck -noroute

Und in Extras -> Optionen -> Resourcen ist eingetragen: "Echeck: /usr/lib/echeck/echeck"

Zur Sicherheit von der Kommando-Zeile, dass es die richtige Version ist:
Code:
# /usr/lib/echeck/echeck -P/usr/lib/echeck -v
ECheck (Version 4.4.6, Jan 22 2019), Zug-Checker für Eressea - Freeware!


Da ECheck den Spruch mit Tilde statt Leerzeichen ausgibt, habe ich ihn mal mit Tilden in spells.txt geschrieben. Das hilft auch nichts.
Dann habe ich noch versucht, den beim Magier mit Tilden statt Leerzeichen und Anführungszeichen einzugeben, also so:
ZAUBERE Erschaffe~einen~magischen~Kräuterbeutel
Das hilft auch nichts.

Den Gegenstand "magischer Kräuterbeutel" dagegen hat es erkannt,nach dem ich den in e2/de/items.txt hinzu gefügt hatte.

Vielleicht ist es eher ein Problem mit Magellan. Dort habe ich den Befehl "ZAUBERE Erschaffe einen magischen Kräuterbeutel" mit der Auto-Vervollständigung von Magellan erstellt. Trotzdem zeigt es den in Orange als fehlerhaft an. Woher weiß Magellan, wie Befehle aussehen müssen? Aus "...magellan/etc/rules/eressea.cr" ?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Echeck 4.4.4
BeitragVerfasst: 27.02.2019 17:33 
Offline
PBEM-Gott
PBEM-Gott
Benutzeravatar

Registriert: 23.02.2002 19:29
Beiträge: 2152
Wohnort: Vestfold, Norwegen
Titel: Eressea Spielleiter
Kannst Du das Problem mal auf einen Fall reduzieren, in dem nicht Magellan involviert ist?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Echeck 4.4.4
BeitragVerfasst: 27.02.2019 17:43 
Offline
PBEM-Gott
PBEM-Gott
Benutzeravatar

Registriert: 23.02.2002 19:29
Beiträge: 2152
Wohnort: Vestfold, Norwegen
Titel: Eressea Spielleiter
Dael hat geschrieben:
Was man so sieht, wird oft in zwei Versionen kompiliert: Für AMD und Intel (und jeweils 32 Bit und 64 Bit). Wenn man sich bei den Spezial-Hardware-Optionen des Compilers zurück hält, muss das nicht speziell nur für einen Prozessor sein.


Wenn man für x86 Arhcitekturen kompiliert, und 32-bit Code macht, läuft der überall (ausser auf meinem i686 Netbook evtl., oder auf Installationen mit x32 ABI, die aber verdammt selten sind). Aber wenn man eine ARM-CPU hat, wie mein Raspberry Pi, dann muss man dafür ein eigenes binary machen, die verstehen sich nicht mit den x86 Opcodes ;-)

Ich mache die Windows Version momemtan mit einem Cross-Compiler, weil die Visual C++ Runtime so eine nervige Angelegenheit ist, und weil ich das so einfacher automatisieren kann. Dafür gibt es die Makefile Targets echeck.exe bzw. echeck.zip (das macht das ZIP, dass ich hier hochlade).

Es wurde gewünscht, dass die Meldung über "Falsche ECheck-Version" abgestellt wird, weil die noch nie jemandem geholfen hat. Das habe ich mal gemacht, neue Version hier:
Dateianhang:
Dateikommentar: ECheck 4.4.7
echeck.zip [81.12 KiB]
571-mal heruntergeladen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Echeck 4.4.4
BeitragVerfasst: 27.02.2019 23:10 
Offline
Anfänger
Anfänger

Registriert: 09.04.2017 17:05
Beiträge: 44
Enno hat geschrieben:
Kannst Du das Problem mal auf einen Fall reduzieren, in dem nicht Magellan involviert ist?


Ich kann Magellan nicht vollständig heraus lassen. Aus Magellan heraus habe ich alle Befehle (Datei -> Befehle speichern ...) in der Datei 1112.txt abgespeichert. Und diese Datei mit echeck mit den Optionen, wie ich sie auch in Magellan verwende überprüft:

Code:
# /usr/lib/echeck/echeck -P/usr/lib/echeck -r80 -m -Lde -v4.4.6 -w4   -noroute 1112.txt
Falsche ECheck-Version / Wrong ECheck-Version: 4.4.6
1112.txt|version|4.4.6|Jan 22 2019
1112.txt:faction:dael
Falsche ECheck-Version / Wrong ECheck-Version: 4.4.6
1112.txt|4528|0|Zauberspruch nicht erkannt. `ZAUBERE Erschaffe~einen~magischen~Kräuterbeutel'
1112.txt|warnings|0
1112.txt|errors|1


In dieser Ausgabe von echeck ist der Zauberspruch mit Tilden statt Leerzeichen geschrieben. Also habe ich mal geschaut, wie er in der Datei 1112.txt selber aussieht:

Code:
# grep -i erschaffe 1112.txt
ZAUBERE "Erschaffe einen magischen Kräuterbeutel"


Dort ist er ohne Tilden gespeichert. Die Tilden-Version ist also eine von echeck erstellte Version.

Und die Datei mit den Befehlen ist UTF-8 kodiert:
Code:
# file 1112.txt
1112.txt: UTF-8 Unicode C++ program text


Ok, 'file' glaubt, das ist C++. Naja, nicht so gut geraten, aber bei UTF-8 wird es sich hoffentlich nicht täuschen.

Die Zaubersprüche sind auch in einer Datei, die UTF-8 kodiert ist:
Code:
# file /usr/lib/echeck/e2/de/spells.txt
/usr/lib/echeck/e2/de/spells.txt: UTF-8 Unicode text


Und in der Datei ist der Zauberspruch definiert:
Code:
# grep "Erschaffe einen mag" /usr/lib/echeck/e2/de/spells.txt
Erschaffe einen magischen Kräuterbeutel; 0; 0


Die Datei enthält Beispiele von nicht existierenden Zaubersprüchen:
Code:
# Diese Liste enthält absichtlich keine "echten" Zauber.
# Es sollte jedem leicht fallen, die Liste anzupassen und zu erweitern.
Magische Erbsensuppe; 0; 1      # ein Kampfzauber der stinkenden Ar


Im Beispiel ist der Zauberspruch "Magische Erbsensuppe" mit Leerzeichen eingetragen, nicht mit Tilde, also habe ich den "Erschaffe einen ..." auch so eingetragen.

Ich habe versucht, echeck anzeigen zu lassen, wo es die Dateien her nimmt, die es einliest. Erst ein mal mit -P, weil ich es ja so auch im normalen Aufruf mache:

Code:
# /usr/lib/echeck/echeck -P/usr/lib/echeck -hf
ECheck (Version 4.4.6, Jan 22 2019), Zug-Checker für Eressea - Freeware!

Benutzung: /usr/lib/echeck/echeck [Optionen] Befehlsdatei

Dateien / files:

PARAM:  parameters.txt
...# /usr/lib/echeck/echeck -P/usr/lib/echeck -hf
ECheck (Version 4.4.6, Jan 22 2019), Zug-Checker für Eressea - Freeware!

Benutzung: /usr/lib/echeck/echeck [Optionen] Befehlsdatei

Dateien / files:

PARAM:  parameters.txt
...
SPELL:  spells.txt
...


Hier gibt es leider den Pfad nicht mit aus. Wenn man das -P weg lässt, gibt es den Pfad aus:

Code:
# /usr/lib/echeck/echeck -hf

  **  ECheck V4.4.6, Jan 22 2019  **

 kann keine Datei lesen!  -  can't read any file!

 Pfad / Path: './de'

Dateien / files:
...


Es geht dann ohne -P natürlich vom lokalen Pfad aus, aber was mich überrascht ist, dass es in './de' sucht und nicht in './e2/de' . Ich dachte, ich hätte mal irgendwo gelesen echeck errät Eressea2 versus Eressea3 und schaut entsprechend in .../e2/de bzw. .../e3/de


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 24 Beiträge ]  Gehe zu Seite Vorherige  1, 2

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 58 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
Webhosting by sunrise design ohg