Du bist nicht angemeldet.

#1 17.06.2015 14:23

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 10.984
Webseite

Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

Hi,


folgend eine kurze Anleitung fuer alle die unter Euch, die gerne mit der aktuellsten TVTower-Version spielen moechten.


Eigentlich wird TVTower ja mit dem kostenpflichtigen (nun) OpenSource BlitzMax kompiliert - doch mittlerweile funktioniert der Open-Source-Ersatz "BlitzMax NG" nahezu problemlos. Nahezu, da es derzeit noch Probleme mit dem Modul "maxmod2" gibt, ein Modul was wir nutzen um "gestreamtes" Audio benutzen zu koennen. Fuer "BlitzMax NG" habe ich den Quellcode von TVTower so modifiziert, dass derzeit einfach kein Sound genutzt wird.
Ergo wird euer "BMX-NG"-Kompilat leider stumm bleiben muessen.
Auch ist die Kompilierzeit ein klein wenig hoeher als mit dem klassischen BlitzMax - dafuer koennt ihr aber 64 Bit erzeugen (und theoretisch auch fuer Android und RasPI ...).


Ok ... genug der Schlechtmacherei:

Laded Euch das Grundpaket herunter:
BlitzMaxNG.zip (Windows, Linux, Mac OS)
- entpacken
- nun einfach den Schritten in "readme_deutsch.txt" (bzw. "readme_englisch.txt")
folgen.

Nur kurz: Windowsnutzer werden "MinGW" installieren muessen, Linuxnutzer die GCC-Umgebung und Mac-User XCode.


Ok ... wenn dies erledigt ist, holt Ihr Euch TVTower:
- geht auf "https://github.com/GWRon/TVTower" und klickt dort rechts auf "Download ZIP"
- entpackt die ZIP Datei
- legt die Datei "version.txt" innerhalb von "TVTower/source" an (die wird dann mit einem Erstelldatum gefuellt)
- startet "maxide" (im BlitzMaxNG-Verzeichnis) und oeffnet "TVTower.bmx"
- waehlt bei "maxide":
- - "Program - Build Options" "Quick Build" aus, sonst nix
- - "Program - Architecture" "x86" aus
- klickt nun auf die Rakete (oder Strg+B bzw Strg+R) um eine eigene TVTower-Fassung zu kompilieren


PS: Alternativ zum Download der ZIP-Datei bei Github, koennt ihr natuerlich das GitHub-Repo klonen und direkt dort kompilieren ... eine Anleitung dazu stelle ich aber jetzt der uebersichthalber nicht zur Verfuegung.


Bei Fragen bitte nicht scheuen hier zu posten.


bye
Ron


sigimg2.php?id=1

Offline

#2 18.06.2015 18:37

sushiTV
Mitglied
Ort: Leipzig
Registriert: 10.03.2014
Beiträge: 491

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

in der readme_deutsch.txt vom MinGW steht:

- waehle das Installationsverzeichnis aus:
  Falls Du BlitzMaxNG dort installiert hast:
     c:\BlitzMaxNG
  sollte das Zielverzeichnis folgendes sein:
     c:\BlitzMaxNG\MinGW32

BlitzMaxNG installiert ?

das hatte mich etwas irritiert, da ich sehr wohl einen Unterschied zwischen entpackt und installiert mache. Gemeint ist also der Ort wohin BlitzMaxNG entpackt wurde.

gruß
~s~

Beitrag geändert von sushiTV (18.06.2015 18:39)


das Leben ist ein scheiß Spiel, hat aber ne geile Grafik

Offline

#3 22.07.2015 07:44

Gast2
TVT-Roadie
Registriert: 07.06.2013
Beiträge: 4.202

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

Hat geklappt.

smile


Nur wurde nix in die "Version.txt" eingetragen.
Wird auch kein Datum am Spielrand angezeigt.
Aber verschmerzbar. smile


edit:
Nur, wo ist das Spiel jetzt hin?
Muss ich das jetzt erst speichern?
Oder ist das jetzt einfach die TVTower.debug?

Offline

#4 22.07.2015 08:23

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 10.984
Webseite

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

Wenn Du als "Debug" kompilierst, dann wird daraus eine "TVTower.debug[.exe]" wenn nun Abstuerze passieren (waehrend aus MaxIDE "frisch kompiliert"), zeigt dir MaxIDE an welcher Stelle es abstuerzt (naja nicht immer, aber haeufig :-)).

@Version.txt
Kann sein, dass Du eine neue "bmk" (im /bin-Verzeichnis) brauchst - hatte da einen Bug gefunden, der dafuer sorgte, dass keine Versionskennung per "BMK-Script" gespeichert werden konnte. Alternativ bmk selbst kompilieren ;-)

https://github.com/bmx-ng/bmk
-> runterladen, die "bmk.bmx" kompilieren (kein GUI, kein Debug - aber optional Threaded um schneller parallel zu kompilieren). Die dann dort entstandene "bmk" sowie die Dateien "core.bmk" "make.bmk" und "bmk" aus dem Verzeichnis dann in "BlitzMaxNG/bin/" reinverschieben (ersetzen). Hoffe dann klappts auch mit dem Datum :-)


bye
Ron


sigimg2.php?id=1

Offline

#5 28.07.2015 09:18

Gast2
TVT-Roadie
Registriert: 07.06.2013
Beiträge: 4.202

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

Tja und damit wir alle kleinen Sorgentiere beisammen haben:

Maxide_linux startet nicht.

Wenn ich mit dem Terminal versuche, die maxide_linux zu starten (Natürlich vorher ins Verzeichnis.), sagt mir das Terminal, daß der Befehl unbekannt ist.

Das hat doch letztens aber funktioniert und ich habe seither nichts aktiv verändert.

Liegt das an Knoppix? Oder...? smile

Offline

#6 28.07.2015 13:14

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 10.984
Webseite

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

mach mal im MaxIDE-Verzeichnis folgendes: "ls -l", dass zeigt dir dann alle Dateien mit ihren Rechten an.
Wenn der "Maxide_linux" das X-Bit (Ausfuehrrecht) fehlt, kannst Du das mit "chmod +x Maxide_linux" nachholen.

$ ls -l
total 5164
drwxr-xr-x 2 ronny ronny    4096 Jun 17 14:05 bin
drwxr-xr-x 2 ronny ronny    4096 Jun 17 11:23 doc
drwxr-xr-x 3 ronny ronny    4096 Jun 17 11:23 docs
-rwxr-xr-x 1 ronny ronny    7858 Jun 17 13:15 install.linux.dependencies.sh
drwxr-xr-x 2 ronny ronny    4096 Jun 17 11:23 lib
drwxr-xr-x 3 ronny ronny    4096 Jun 17 11:23 maxide.app
-rw-r--r-- 1 ronny ronny  790016 Jun 17 11:14 maxide.exe
-rwxr--r-- 1 ronny ronny 1937976 Jun 17 13:50 maxide_linux32
-rwxr--r-- 1 ronny ronny 2505175 Jun 17 07:51 maxide_linux64
drwxr-xr-x 2 ronny ronny    4096 Jun 18 15:14 MinGW32
drwxr-xr-x 4 ronny ronny    4096 Jun 17 11:23 mod
-rw-r--r-- 1 ronny ronny     739 Jun 17 14:04 readme_deutsch.txt
-rw-r--r-- 1 ronny ronny     677 Jun 17 14:05 readme_english.txt
drwxr-xr-x 2 ronny ronny    4096 Jun 17 11:23 tmp


bye
Ron


sigimg2.php?id=1

Offline

#7 28.07.2015 15:32

Gast2
TVT-Roadie
Registriert: 07.06.2013
Beiträge: 4.202

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

Das kontere ich dann so:


insgesamt 5136
drwxrwxrwx 1 knoppix knoppix    4096 Jul 21 14:44 bin
drwxrwxrwx 1 knoppix knoppix       0 Jul 22 08:17 cfg
drwxrwxrwx 1 knoppix knoppix       0 Jul 22 07:17 doc
drwxrwxrwx 1 knoppix knoppix       0 Jul 22 07:17 docs
-rwxrwxrwx 1 knoppix knoppix    7858 Jun 17 13:15 install.linux.dependencies.sh
drwxrwxrwx 1 knoppix knoppix       0 Jun 17 11:23 lib
drwxrwxrwx 1 knoppix knoppix       0 Jul 21 14:44 maxide.app
-rwxrwxrwx 1 knoppix knoppix  790016 Jun 17 11:14 maxide.exe
-rwxrwxrwx 1 knoppix knoppix 1937976 Jun 17 13:50 maxide_linux32
-rwxrwxrwx 1 knoppix knoppix 2505175 Jun 17 07:51 maxide_linux64
drwxrwxrwx 1 knoppix knoppix       0 Jul 21 14:44 MinGW32
drwxrwxrwx 1 knoppix knoppix       0 Jul 21 14:44 mod
-rwxrwxrwx 1 knoppix knoppix     739 Jun 17 14:04 readme_deutsch.txt
-rwxrwxrwx 1 knoppix knoppix     677 Jun 17 14:05 readme_english.txt
drwxrwxrwx 1 knoppix knoppix       0 Jul 28 09:08 tmp

Der chmod-Befehl hat auch nix gebracht...

Offline

#8 28.07.2015 19:43

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 10.984
Webseite

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

wie laeufts mit "./maxide_linux32" :-)


bye
Ron


sigimg2.php?id=1

Offline

#9 04.05.2018 13:14

Henrik
Mitglied
Ort: Essen
Registriert: 04.05.2018
Beiträge: 3
Webseite

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

Hi Ronny,

ich würde gerne aktiv an der Entwicklung von TVGigant mitwirken und mich in BlitzMax einarbeiten. Leider funktioniert das Kompilieren bei mir nicht. Ich bekomme diverse Fehlermeldungen, weil einige Bibliotheken nicht vorhanden sind. Ich habe mich allerdings genau an die Anleitung gehalten. Könntest du eine aktualisierte Version erstellen oder soll ich die Fehlermeldungen mal hier reinposten?

Grüße aus Essen

Henrik

Offline

#10 04.05.2018 13:42

Gast2
TVT-Roadie
Registriert: 07.06.2013
Beiträge: 4.202

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

Hau die Fehlermeldungen ruhig hier rein. Schätze, Ron wird bald ON sein und sich damit befassen.

Offline

#11 04.05.2018 21:52

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 10.984
Webseite

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

Ja ich muss die Anleitung wohl mal aktualisieren.


Aber in Kuerze: das Komplettpaket kann man nun hier herunterladen:
https://github.com/bmx-ng/bmx-ng/releases

Da sollte _fast_ alles drin sein (vor allem ein schon ausgewaehltes "MinGW", das macht dann aus dem generierten C Code eine .exe).
Den Download entpacken - bspweise nach "C:\BlitzMaxNG"


Dann dies herunterladen:
https://github.com/bmx-ng/maxmod2.mod
("Download ZIP").

Nach "C:\BlitzMaxNG\mod" entpacken (also so, dass Du dann "C:\BlitzMaxNG\mod\maxmod2.mod\rtaudio.mod" usw. hast)


Ab dann weiter wie im Text beschrieben:

Ronny schrieb:

Ok ... wenn dies erledigt ist, holt Ihr Euch TVTower:
- geht auf "https://github.com/GWRon/TVTower" und klickt dort rechts auf "Download ZIP"
- entpackt die ZIP Datei
- legt die Datei "version.txt" innerhalb von "TVTower/source" an (die wird dann mit einem Erstelldatum gefuellt)
- startet "maxide" (im BlitzMaxNG-Verzeichnis) und oeffnet "TVTower.bmx"
- waehlt bei "maxide":
- - "Program - Build Options" "Quick Build" aus, sonst nix
- - "Program - Architecture" "x86" aus
- klickt nun auf die Rakete (oder Strg+B bzw Strg+R) um eine eigene TVTower-Fassung zu kompilieren

Falls ich mal im Code irgendwas uebersehen habe und es dadurch zu Warnungen mit BlitzMaxNG kommmt, kann man neben "Quick Build" auch aktivieren, dass "Overload Warnings" erzeugt werden, statt Fehler. Das passiert, wenn ich eine Kommazahl an eine Funktion schicke, die eine Ganzzahl erwartet. Das "alte" BlitzMax akzeptiert das still und heimlich, NG hingegen findet das nicht so doll :-)


Wenn Du damit nicht weiterkommst, einfach hier reinposten was Probleme bereitet.


bye
Ron


sigimg2.php?id=1

Offline

#12 04.05.2018 22:43

Henrik
Mitglied
Ort: Essen
Registriert: 04.05.2018
Beiträge: 3
Webseite

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

Super, vielen Dank. Werde ich testen.

EDIT: Alles getestet und nach etwas rumprobieren funktioniert das Kompilieren nun. Allerdings kann ich nun die erstellte TVTower.exe-Datei nicht ausführen. Es wird mir eine EXCEPTION_ACCESS_VIOLATION angezeigt.

¯\_(ツ)_/¯

Beitrag geändert von Henrik (05.05.2018 00:43)

Offline

#13 05.05.2018 07:35

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 10.984
Webseite

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

In MaxIDE bei den Optionen "Debug" aktivieren. Dann sollte es beim Fehler eine Zeile markieren...an der Stelle stuerzt das Spiel ab.

Bye
Ron


sigimg2.php?id=1

Offline

#14 05.05.2018 08:50

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 10.984
Webseite

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

setup available renderers -> no renderers but GL2SDL
TGraphicsManager.SetRendererAvailable(-1, False)

Dort?
Kuemmer mich bis heute Mittag drum, muss erstmal mit Junior einkaufen.


bye
Ron


sigimg2.php?id=1

Offline

#15 05.05.2018 10:18

Henrik
Mitglied
Ort: Essen
Registriert: 04.05.2018
Beiträge: 3
Webseite

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

Ja, genau die Stelle. Dort wird auf ein Array-Index zugegriffen, der nicht existiert.

"Unhandled Exception: Attempt to index array element beyond array length"

Beitrag geändert von Henrik (05.05.2018 10:22)

Offline

#16 05.05.2018 11:48

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 10.984
Webseite

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

Oeffne mal die TVTower/source/Dig/base.util.graphicsmanagerbase.bmx
fast ganz oben gibt es eine Function SetRendererAvailable....

Die ersetzen mit:

	Function SetRendererAvailable(index:Int, bool:Int=True)
		If index >= RENDERER_AVAILABILITY.length Then Return
		'setall
		If index < 0
			For Local i:Int = 0 Until RENDERER_AVAILABILITY.length
				SetRendererAvailable(i, bool)
			Next
		Else
			RENDERER_AVAILABILITY[index] = bool
		EndIf
	End Function

Der Fehler war, dass ich bei "-1" zwar alle auf den "bool"-Wert setze, aber aus Versehen habe ich die eine Anweisung auch fuer diesen Fall durchgefuehrt. Mit obiger Aenderung wird dies beseitigt.

Ich probiere das jetzt alles noch aus - und wuerde es dann auf github aktualisieren.


bye
Ron


sigimg2.php?id=1

Offline

#17 05.05.2018 13:12

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 10.984
Webseite

Re: Anleitung: Stets aktuelles TVTower. Kompilieren mit BlitzMaxNG.

Eine Alternative ist, das "Vanilla BlitzMax" zu nehmen (also das "originale"). Damit kannst Du zwar nur 32bit-Applikationen kompilieren, aber das sollte dennoch reichen.

https://www.gamezworld.de/files/BlitzMax.7z

runterladen, entpacken. Habe alle notwendigen Module bereits mit reingepackt. Es nutzt ein aelteres MinGW (4.6 statt 7.1) aber sollte klappen - damit erstelle ich ja die "TVTower.win32.exe" ;-)


Wenn Du das entpackt hast, kannst Du dort drin ebenfalls die MaxIDE oeffnen, das TVTower-Verzeichnis raussuchen, TVTower.bmx oeffnen und kompilieren.


bye
Ron


sigimg2.php?id=1

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Bist Du ein Mensch oder ein Roboter ?

Verifizierung, dass diese Aktion durch eine reale Person vorgenommen wird und nicht von einem Programm.