Autor Thema: Probleme mit Starterpack AGS3  (Gelesen 56033 mal)

Endres

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1264
  • Geschlecht: Männlich
  • En|dres, der
    • ICQ Messenger - 230191486
    • MSN Messenger - enni_puschner@hotmail.de
    • Profil anzeigen
    • e7p.de
    • E-Mail
Re: Probleme mit Starterpack AGS3
« Antwort #150 am: 16. Januar 2011, 18:02:54 »
[ags]font_info = GetTranslation ("font_640: 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14");[/ags]
ob da generell dieser Error kommt, wenn die 640er Auflösung vom System genommen wird.  :cl

Was soll da für ein Error kommen? Ich meine, ohne ifs sind dann nur die Fonts falsch. Ich hab ja auch "alte" Auflösungen, also wie wenn du im Fenstermodus spielst, also brauchst du nicht extra mich testen lassen, da es im Prinzip keinen unterschied macht ob Fenster oder Vollbild. Nur benutzt Vollbild manchmal nicht die eingestellte Auflösung.


Domi:"irc hab ich mir viren geholt.. icq hab ich nimmer"

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 989
    • Profil anzeigen
Re: Probleme mit Starterpack AGS3
« Antwort #151 am: 17. Januar 2011, 13:07:15 »
Ich hab das Starterpack mal getestet (mit 3.2).

Die returns müssen aus den Dialogen raus; und die Font-Zeile muss so aussehen:
... font_info = GetTranslation ("font_640: 3  4  4  4  4  4  4  4  4  4  4  4  4  4  4");(Auch in den Übersetzungen.)
Zumindest in der Theorie, bei 3.1.x/3.2 wird das eh nie ausgeführt, da system.screen_width immer 320 sein wird.

Vollbildmodus ging einwandfrei, ich musste aber "Force alternate letterbox resolution" aktivieren, da ich noch eine 4:3 Röhre habe, die mit 1280x960 läuft. Das Spiel ist ja 320x200; Vollbild mit x4-Filter war ohne die Option gestreckt. Vollbild x2 witzigerweise nicht.

Rocco

  • Administrator
  • alter Tentakel
  • *****
  • Beiträge: 2375
  • Geschlecht: Männlich
    • Profil anzeigen
    • Maniac Mansion Mania
    • E-Mail
Re: Probleme mit Starterpack AGS3
« Antwort #152 am: 17. Januar 2011, 13:17:02 »
Zumindest in der Theorie, bei 3.1.x/3.2 wird das eh nie ausgeführt, da system.screen_width immer 320 sein wird.
Also das kann ich leider so nicht bestätigen.
Bei mir wird definitiv diese Zeile ausgeführt:
[ags]if (system.screen_width == 640)  font_info = GetTranslation ("font_640: 3  4  4  4  4  4  4  4  4  4  4  4  4  4  4");[/ags]
ganz egal ob ich 2x nearest neighbour einstelle oder alles auf Standard (320) wird bei mir diese Zeile ausgeführt und damit kommts zum Absturz, mit obiger Fehlermeldung.

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 989
    • Profil anzeigen
Re: Probleme mit Starterpack AGS3
« Antwort #153 am: 17. Januar 2011, 16:57:21 »
In der Hilfe heißt es:
Zitat
Returns the actual screen width that the game is running at. If a graphic filter is in use, the resolution returned will be that before any stretching by the filter has been applied.

Hast Du im winsetup bei der Auflösung noch zwei Möglichkeiten? Benutzt Du AGS 3.0.x oder ein Neueres?

Es dürfte nämlich nur 640 sein, wenn Du in winsetup die Auflösung änderst (was man ja nicht machen sollte). Ansonsten sieht's nach einem bug in AGS aus.
Falls das eine Rolle spielt: ersetz es mal testweise durch die aktuelle Version: System.ScreenWidth

Endres

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1264
  • Geschlecht: Männlich
  • En|dres, der
    • ICQ Messenger - 230191486
    • MSN Messenger - enni_puschner@hotmail.de
    • Profil anzeigen
    • e7p.de
    • E-Mail
Re: Probleme mit Starterpack AGS3
« Antwort #154 am: 17. Januar 2011, 16:58:23 »
Sicher, dass dann bei dir 640 ausgeführt wird? Eventuell solltest du das nochmal mit einem player.Say(system.screen_width); oder so überprüfen.

@KhrisMUC, ich warte immernoch darauf, dass du dir die Hilfedatei durchliest. ;)


Domi:"irc hab ich mir viren geholt.. icq hab ich nimmer"

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 989
    • Profil anzeigen
Re: Probleme mit Starterpack AGS3
« Antwort #155 am: 17. Januar 2011, 17:52:54 »
Endres: Wenn das ein Witz war, versteh ich ihn nicht :)

Ich hab mir mal System.ScreenWidth und system.screen_width ausgeben lassen, Vollbild oder nicht, Filter oder kein Filter, es war immer 320.
Andererseits kann das eigentlich auch nicht der Grund sein, der Fehler tritt auf, wenn ClearToSpace mit einem leeren String als Parameter ausgeführt wird. Warum das in der dritten Zeile passiert, verstehe ich überhaupt nicht; es sind zig Leerzeichen im String.
« Letzte Änderung: 17. Januar 2011, 18:00:06 von KhrisMUC »

Endres

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1264
  • Geschlecht: Männlich
  • En|dres, der
    • ICQ Messenger - 230191486
    • MSN Messenger - enni_puschner@hotmail.de
    • Profil anzeigen
    • e7p.de
    • E-Mail
Re: Probleme mit Starterpack AGS3
« Antwort #156 am: 17. Januar 2011, 17:58:50 »
Es war kein Witz. Aber "Es dürfte nämlich nur 640 sein" schon eher.  O0

Guck mal die Zeile darunter:

Zitat
NOTE: This information is provided in case you need it to optimise your game, however please do not use it to force the player to run at a particular resolution. AGS is designed to allow players to choose different resolutions to help get the game working on their PC.

Also wird AGS nicht immer 320er Auflösung zwingen, wenn diese nicht Verfügbar ist, also ist es kein Bug in AGS...

Ich hab mir mal System.ScreenWidth und system.screen_width ausgeben lassen, Vollbild oder nicht, Filter oder kein Filter, es war immer 320.

Ja, meinte auch eher Rocco, da es bei ihm wohl wahrscheinlich anders aussieht. ;)


Domi:"irc hab ich mir viren geholt.. icq hab ich nimmer"

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 989
    • Profil anzeigen
Re: Probleme mit Starterpack AGS3
« Antwort #157 am: 17. Januar 2011, 18:33:04 »
Entschuldige, aber: "Watt?"

1. Ich lese die Hilfedatei sehr wohl durch, ich hab doch draus zitiert. Hätte wohl "ich warte drauf, dass Du die Hilfedatei gründlicher liest" oder ähnlich heißen sollen. Das wäre aber trotzdem fehl am Platze gewesen, in der 3.2er Version steht diese Anmerkung nämlich nicht mehr dabei.
Was auch durchaus Sinn macht, da man die interne Auflösung nicht mehr ändern kann.
Von einem Fallback weiß ich nichts, es gibt aber ein Spiel, dass 320 anzeigt und trotzdem mit 640 ausgeführt wird. Hab ich vorher noch nie erlebt, keine Ahnung, wie das zustande kommt.

2. "Es dürfte nämlich nur 640 sein" war kein Witz; AGS hat bis in die 3er-Versionen ja die Möglichkeit angeboten, die interne Auflösung hochzusetzen. Wenn Rocco das aber, wie er ja sagt, NICHT macht, also 320 lässt und wenn, nur Filter verwendet, und system.screen_width trotzdem 640 ist, dann muss das ein bug sein. Oder Rocco irrt sich halt, wie Du ja anscheinend auch vermutest.
Deswegen: "Es dürfte nämlich nur 640 sein, wenn Du in winsetup die Auflösung änderst." Einen Witz (oder besser gesagt: Uninformiertheit) sehe ich da nicht.

3. Dass Du Rocco gemeint hast, war mir klar. Ich hab nur berichtet, was mein Ergebnis mit SchulSP und 3.2 ist (allerdings unter XP).

Endres

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1264
  • Geschlecht: Männlich
  • En|dres, der
    • ICQ Messenger - 230191486
    • MSN Messenger - enni_puschner@hotmail.de
    • Profil anzeigen
    • e7p.de
    • E-Mail
Re: Probleme mit Starterpack AGS3
« Antwort #158 am: 17. Januar 2011, 18:39:51 »
Sorry, meinte es jetzt nicht soo Ernst...

1. jap, meinte ich auch... Konnte ja nicht wissen, dass das in 3.2 nicht mehr drin steht. Ein Fallback macht aus dem Grund Sinn, weil das bei der Library, die benutzt wird, im Prinzip schon standard ist.

2. Gott wer weiß, woher nunmal diese anderen Auflösungen herkommen, jedenfalls ist es einfach möglich, dass es passiert. xD
Die Auflösungen können ja nicht mehr im winsetup hochgesetzt werden, dachte du meinst nur das. Im Game-setup sehr wohl, aber das haben wir doch von vornherein ausgeschlossen, oder?

3. Okay.

Tschuldigung... Ist halt einfach nur ein dämliches Problem, wo ich selbst denke, dass man da nicht viel diskutieren braucht. Wir sollten einfach versuchen, das Problem zu lösen. Woher es kommt ist ja im Prinzip sch***egal. :)

Also Rocco, wie sehen deine Werte nun tatsächlich aus?  ;D


Domi:"irc hab ich mir viren geholt.. icq hab ich nimmer"

Rocco

  • Administrator
  • alter Tentakel
  • *****
  • Beiträge: 2375
  • Geschlecht: Männlich
    • Profil anzeigen
    • Maniac Mansion Mania
    • E-Mail
Re: Probleme mit Starterpack AGS3
« Antwort #159 am: 17. Januar 2011, 20:19:52 »
Ich weiss jetzt den Grund für den Error.
Da meine Grafikkarte (oder System keine 320x200) mehr unterstützt, wird automatisch auf was anderes umgeschaltet.

Jetzt ist es offenbar so, dass zu dem Zeitpunkt wo system.screen_width abgefragt wird, entweder die variable noch nicht zugewiesen wurde und deswegen nichts enthält,
oder die Auflösung eine andere ist wie die abgefragten, deswegen ist keine if-abfrage wahr und in font_info ist ganz einfach nichts drinnen wenn die Funktion die Variable auslesen will,
daher der Error wegen NULL-Pointer.

Ich weiss jetzt leider auf die Schnelle keine einfache Lösung um die Variable system.screen_width auszugeben, ausser vielleicht die Ausgabe in ein TXT-File,
da ja das Spiel eben sofort beim Starten abstürzt.

Endres

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1264
  • Geschlecht: Männlich
  • En|dres, der
    • ICQ Messenger - 230191486
    • MSN Messenger - enni_puschner@hotmail.de
    • Profil anzeigen
    • e7p.de
    • E-Mail
Re: Probleme mit Starterpack AGS3
« Antwort #160 am: 17. Januar 2011, 20:33:19 »
Ich weiss jetzt den Grund für den Error.
Da meine Grafikkarte (oder System keine 320x200) mehr unterstützt, wird automatisch auf was anderes umgeschaltet.

Jetzt ist es offenbar so, dass zu dem Zeitpunkt wo system.screen_width abgefragt wird, entweder die variable noch nicht zugewiesen wurde und deswegen nichts enthält,
oder die Auflösung eine andere ist wie die abgefragten, deswegen ist keine if-abfrage wahr und in font_info ist ganz einfach nichts drinnen wenn die Funktion die Variable auslesen will,
daher der Error wegen NULL-Pointer.
Soweit war ich auch schon... Kann sein, dass ihr das nur anders Verstanden habt. Rocco hats treffender erklärt. ;)

Ich weiss jetzt leider auf die Schnelle keine einfache Lösung um die Variable system.screen_width auszugeben, ausser vielleicht die Ausgabe in ein TXT-File,
da ja das Spiel eben sofort beim Starten abstürzt.

Oh stimmt, daran habe ich nicht gedacht. Aber es gibt die Funktion "AbortGame" die ein Spiel beendet und als optionalen Parameter die Möglichkeit hat, eine Nachricht auszugeben. (z.B. eben screenWidth...)


Domi:"irc hab ich mir viren geholt.. icq hab ich nimmer"

Rocco

  • Administrator
  • alter Tentakel
  • *****
  • Beiträge: 2375
  • Geschlecht: Männlich
    • Profil anzeigen
    • Maniac Mansion Mania
    • E-Mail
Re: Probleme mit Starterpack AGS3
« Antwort #161 am: 17. Januar 2011, 20:53:39 »
danke für den Tipp mit AbortGame.  :)
Also die Auflösungbreite zum Zeitpunkt der Abfrage ist bei mir tatsächlich -> 360  :cl
Interessant, keine Ahnung wie es dazu kommt, weil ja auch beim Grafikkartentreiber die Auflösung eigentlich erst mit 640 beginnt.

Im Anbetracht dessen würde ich vorschlagen, in den Starterpacks das ganze irgendwo so umzuformulieren:
[ags]
  if (system.screen_width == 320)     
     font_info = GetTranslation ("font_320: 1  0  0  0  0  0  0  0  0  0  0  0  0  0  0");
  else
     font_info = GetTranslation ("font_640: 3  4  4  4  4  4  4  4  4  4  4  4  4  4  4");
[/ags]
Damit auf jeden Fall ein vernünftiger Wert der Variable zugewiesen wird und dieser Absturz nicht mehr passiert.

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 989
    • Profil anzeigen
Re: Probleme mit Starterpack AGS3
« Antwort #162 am: 17. Januar 2011, 21:13:29 »
Das dürfte daran liegen:
Zitat
If widescreen side borders are enabled, the screen width reported will include the size of these borders.

Besser wäre es, system.screen_width durch System.ViewportWidth zu ersetzen.

Noch besser wäre:

  font_info = GetTranslation ("font_320: 1  0  0  0  0  0  0  0  0  0  0  0  0  0  0");
  if (System.ViewportWidth >= 640) font_info = GetTranslation ("font_640: 3  4  4  4  4  4  4  4  4  4  4  4  4  4  4");

Dann ist font_info auf keinen Fall leer, allerhöchstens "falsch".

Der Grafiktreiber ist AGS erstmal wurst, es versucht, ein 320er-Bild aufzubauen. Wenn der Treiber/DirectX dann meldet, dass die Auflösung nicht unterstützt wird, bricht AGS ab.

Rocco

  • Administrator
  • alter Tentakel
  • *****
  • Beiträge: 2375
  • Geschlecht: Männlich
    • Profil anzeigen
    • Maniac Mansion Mania
    • E-Mail
Re: Probleme mit Starterpack AGS3
« Antwort #163 am: 17. Januar 2011, 21:25:56 »
Ja das erklärt es, System.ViewportWidth ist bei mir auch 320 und der rest sind die widescreenborder.
würde also jedem passieren, mit einem widescreen.

zu Glück ist das problem jetzt gelöst, vielen Dank für eure Hilfe.  ;D
@rulaman: unbedingt in die überarbeitung der SPs einbauen.





rulaman

  • Moderator
  • Teenie Tentakel
  • *****
  • Beiträge: 356
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Probleme mit Starterpack AGS3
« Antwort #164 am: 18. Januar 2011, 22:30:49 »
Geht klar.
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.