Autor Thema: Starterpacks (überflüssiges, doku und so Zeug)  (Gelesen 7736 mal)

rulaman

  • Mod
  • Teenie Tentakel
  • **
  • Beiträge: 356
  • Geschlecht: Männlich
    • Profil anzeigen
Starterpacks (überflüssiges, doku und so Zeug)
« am: 03. Januar 2009, 19:14:45 »
Hi,

ich hab' mich mal etwas mit der Doku beschäftigt und eine Idee etwas verfolgt (siehe Link).
Sandy.chm - 0.10MB

Ich habe mal interessehalber doxygen (http://www.stack.nl/~dimitri/doxygen/) über das Sandy-Starterpack laufen lassen.
Wie wäre dass, diese Methode zur Dokumentation der Funktionen zu nutzen? Dies ersetzt zwar nicht ein Tutorial, aber als ersten Überblick...

ein kleines Beipsiel:
Code:
//! veraltet (obsolete)
import function PlacePC (int x, int y, eDirection dir);
//! muss für jedes Tür-Objekt in before fade-in aufgerufen werden um den aktuellen Zustand der Tür anzuzeigen und das Objekt nicht klickbar zu machen
import function init_object (this Object*,  int GI);

So hat man eine Übersicht über die zur Verfügung stehenden Funktionen und deren funktionsweise
Schaut in der chm-Datei unter 'Dateien' 'GlobalScript.ash' nach.

Ich bin zur Zeit noch dabei mir etwas für die SetGlobalInt und GetGlobalInt-Funktionen zu Überlegen, da diese ja auch veraltet sind.
Ich weiß nur noch nicht, ob das erst in einer nächsten Version der Starterpacks gemacht werden sollte, da eine Türenzeile dann so aussehen
könnte:
any_click_on_door (g_TuerKueche, oTuer, 120, 60, eDirUp, 12, 40, 130, eDirRight);
bzw.
any_click_on_door (g_Tuer01, oTuer, 120, 60, eDirUp, 12, 40, 130, eDirRight);

Es fiele dann die Verwendung der Zahlen weg. Und in VariableExtensions(...) müssten die Zahlen auch durch die globalen Variablen (diese müssen erst angelegt werden [bsp, 40 vordefinierte] ) ersetzt werden

Die bereits als veraltet deklarierten Funktionen werden vorraussichtlich in der nächsten oder übernächsten Version der Starterpacks rausfliegen.

Gibt es eigentlich Funktionen, die keiner mehr braucht und die gleich rausfliegen können??
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

rulaman

  • Mod
  • Teenie Tentakel
  • **
  • Beiträge: 356
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Starterpacks (überflüssiges, doku und so Zeug)
« Antwort #1 am: 11. Januar 2009, 13:47:34 »
Ich verfolge gerade ein paar Ideen, die eventuell in einer der nächsten, übernächsten, ... Versionen der Starterpacks gelangen könnten.

- Wechselbares GUI. 2.rar - 1.79MB (DEMO)
    Benutzt die Tasten 1, 2, 3, 4 und fahrt mit der Maus darüber

- vorübersetzte Starterpacks. (um es den Autoren und Übersetzern etwas leicheter zu machen, Episoden zu Übersetzen (lassen.))
    Die ganzen Sätze wären dann bereits übersetzt und brauchen nicht für jede Episode neu und unterschiedlich übersetzt werden.

- Die Grafiken der Starterpacks überarbeiten (Sandy, Wendy, ...); alle die noch die einfache Grafiken haben.

- Im Tollhaus (Villa) Starterpack das Flashlight-Plugin durch das Modul ersetzen.
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

Fatal B

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 890
  • Geschlecht: Männlich
  • "50% +- 0 von Fatal hoch zwei"
    • Profil anzeigen
    • Fatal²
Re: Starterpacks (überflüssiges, doku und so Zeug)
« Antwort #2 am: 11. Januar 2009, 16:38:45 »
Eine Wechselfunktion für das Gui habe ich auch bei MaMMa ante Portas gehabt, dort wird es aber allerdings mit "G" gewechelt.
Epis:
DMdcvdS: In Arbeit 20%
 

Aggressiver Verfechter von MMM lebt

rulaman

  • Mod
  • Teenie Tentakel
  • **
  • Beiträge: 356
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Starterpacks (überflüssiges, doku und so Zeug)
« Antwort #3 am: 11. Januar 2009, 22:16:35 »
@ Fatal B: Wusste nicht, dass du es warst. Mir war nur so was in Erinnerung, dass es irgendwo mal auftauchte.
Wie wäre es, die Funktion in die SPs aufzunehmen? So könnte sich jeder sein eigenes GUI zusammenbauen.

@ all:
Ich hab nochmal was zum Anschauen
Ich habe mir mal von den bereits in Wartestellung befindlichen SPs eine kleine Übersicht über die Raumverteilung gemacht.
SPs-Raumaufteilung.zip - 0.06MB
Enthalten sind Sandys, Wendys, Syds-Achmeds, Hoagies und Daves Starterpack.

Nachtrag (22:17):
Sollen die Starterpacks denn als Templates angeboten werden? (.agt)
« Letzte Änderung: 11. Januar 2009, 22:17:39 von rulaman »
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

rulaman

  • Mod
  • Teenie Tentakel
  • **
  • Beiträge: 356
  • Geschlecht: Männlich
    • Profil anzeigen
Starterpacks (neue Funktionen für die Türen)
« Antwort #4 am: 10. Mai 2009, 20:56:10 »
Was mich bei den ganzen Türenskripten immer wieder geestört hat, ist die Tatsache, dass man auf beiden Seiten der Tür (beide Räume) die gleichen Koordinaten verwenden muss/sollte. Außerdem muss man alles doppelt eintragen. Ich habe mich deshalb etwas hingesetzt und mir überlegt, was man ändern könnte.

Ich werde denmnächst, falls interesse besteht, eine kleine Demo hier einstellen, die das Ganze verdeutlichen soll.

Als Appetizer poste ich mal die notwendigen Funktionen.

function room_Load()
{
Door[0].Init(oTuer, hTuer);
}

else if ( Door[0].Click() )
ersetzt
else if (any_click_on_door (4, oTuer, 145, 300, eDirUp, gr_SchulgangErdgeschoss, 475, 120, eDirLeft) == 0)


im GlobalScript werden die ganzen Informationen zusammengetragen.

Door[0].l_Room = 7;
Door[0].i_NewXPosition = 475;
Door[0].i_NewYPosition = 120;
Door[0].i_XPosition = 145;
Door[0].i_YPosition = 300;
Door[0].l_Direction = eDirUp;
Door[0].l_NewDirection = eDirLeft;
Door[0].l_NewRoom = 10;
Door[0].s_IsLocked = "Die ist abgesperrt.";
Door[0].s_LookAt = "Die Schuleingangstür.";
Door[0].s_WrongItem = "Mit dem Schlüssel geht es nicht.";

Die lästigen Einträge in der Funktion VarialbeExtensions entfallen ebenso.

Was haltet ihr davon ???


Die neue Möglichkeit ist als Option gedacht. Alle bereits gekannten Funktionen bleiben bestehen.
Man muss dann allerdings für eine Tür in beiden Räumen die gleiche Methode anwenden. Eine Mischung geht nicht.
Natürlich kann man für jede Tür eine andere Methode verwenden.
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

Helli78

  • Teenie Tentakel
  • ****
  • Beiträge: 367
    • Profil anzeigen
Re: Starterpacks (überflüssiges, doku und so Zeug)
« Antwort #5 am: 10. Mai 2009, 21:03:22 »
Sieht übersichtlicher und einfacher aus.

Hat, meiner Meinung nach, auf jeden Fall eine verständlichere Aufteilung, da die Befehle teilweise selbsterklärend sind ;) (hatte im Prinzip die alte vorige Version auch, aber dort musste man sich erst einmal intensiver einarbeiten).

Tech-Demo hierzu??? - Wird immer wieder gerne gesehen, also her damit !!! :)

rulaman

  • Mod
  • Teenie Tentakel
  • **
  • Beiträge: 356
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Starterpacks (überflüssiges, doku und so Zeug)
« Antwort #6 am: 19. Mai 2009, 20:32:15 »
So, die Demo ist fertig.

Ich hätte sie schon früher eingestellt, aber irgendwie ist deine Antwort verloren gegangen, Helli.
(Ich muss sie wohl übersehen haben.)

Schule.zip - 1.37MB

Ach übrigens, es brauchen keine Einträge mehr in der Funktion VariableExtensions gemacht werden.
Die ist jetzt recht übersichtlich.

Die Dateien doors.asc und doors.ash sind leer und werden später eventuell noch entfernt, bzw. die Einträge dorthin dann verschoben.
Das weiß ich noch nicht genau.
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

NsMn

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1646
  • Geschlecht: Männlich
  • überzeugter Paint-Nutzer
    • ICQ Messenger - 404385098
    • Profil anzeigen
    • E-Mail
Re: Starterpacks (überflüssiges, doku und so Zeug)
« Antwort #7 am: 20. Mai 2009, 18:36:42 »
Sind die Grafiken von Edison Interactive und so schon drin?

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2682
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: Starterpacks (überflüssiges, doku und so Zeug)
« Antwort #8 am: 20. Mai 2009, 20:36:26 »
nein, ist kein vollständiges starterpack
da sind nichtmal alle räume aus dem alten starterpack enthalten
soll anscheinend nur die neue funktionsweise der türen zeigen, darum ist es auch eine demo  ;)
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

rulaman

  • Mod
  • Teenie Tentakel
  • **
  • Beiträge: 356
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Starterpacks (überflüssiges, doku und so Zeug)
« Antwort #9 am: 20. Mai 2009, 21:23:47 »
Richtig!

Ich bin gerade dabei das Schul-Starterpack zu machen.
(Aber: Neue Grafiken?? Ist da was an mir vorbeigegangen?)

Und deshalb sind nur die ersten paar Räume drinnen. Es soll nur die neue Türenmethode verdeutlichen.


Gruß Rulaman
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2682
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: Starterpacks (überflüssiges, doku und so Zeug)
« Antwort #10 am: 21. Mai 2009, 12:19:27 »
(Aber: Neue Grafiken?? Ist da was an mir vorbeigegangen?)
scheinbar schon  ;)
EI haben in ihrer grandiosen episode 67 ein paar neue räume der schule gemacht (der hinterhof, jungenumkleide, dusche)
die sind in dem von mir gemachten starterpack noch nicht enthalten
und so nebenbei, durch die englische übersetzung von epi 53 haben sich die gänge minimal verändert, das ist auch nicht im starterpack drinnen  ;)
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

rulaman

  • Mod
  • Teenie Tentakel
  • **
  • Beiträge: 356
  • Geschlecht: Männlich
    • Profil anzeigen
Starterpacks (überflüssige Funktionen!!)
« Antwort #11 am: 10. Dezember 2009, 19:29:20 »
Demnächst wird ja die Version 3.2 von AGS herauskommen.

Zeit einmal darüber nachzudenken, welche Funktionen in den Starterpacks veraltet sind
und auf die Abschußliste kommen können.

Auflistung aller Funktionen
import function SetOwnTimer(int timerid, int timeout);
import function IsOwnTimerExpired(int timerid);
import function DisplaySpeechBackgroundEx(this Character*, String message);
import function repeatedly_execute_always();
import function UsedAction(eAction test_action);
import function MovePlayer(int x, int y);
import function GoToCharacter(Character *charid, int direction, int NPCfacesplayer, int blocking);
import function NPCGoToCharacter(Character *charidwhogoes, Character *charidtogoto, int direction, int NPCfacesplayer, int blocking);
import function Unhandled ();
import function SayIfAction(this Character*, eAction action, String message);
import bool SayIfPlayer(this Character*, String mesage);
import function TranslateNumber (String number_name);
import function getInteger (string numbers);
import function AlarmSound ();
import function PlaceCharacter (this Character*, int x, int y, eDirection dir);
import function PlacePC (int x, int y, eDirection dir);
import function init_object (this Object*,  int GI);
import function any_click_move (int x, int y, eDirection dir);
import function any_click_walk (int x, int y, eDirection dir);
import function any_click_walk_look (int x, int y, eDirection dir, String lookat);
import function any_click_on_door (int GI, Object *objekt, int x, int y, eDirection dir, int nr_room, int nr_x, int nr_y, eDirection nr_dir);
import function SetDoorStrings (String lookat, String islocked, String wrongitem);
import function any_click_on_door_special (int GI, Object *objekt, int x, int y, eDirection dir, int nr_room, int nr_x, int nr_y, eDirection nr_dir, int opensound, int closesound, int key, int closevalue);
import function any_click_on_light_switch (int hotspot, int x, int y, eDirection dir);
import function any_click_use_inv (int item, int x, int y, eDirection dir);
import function any_click_walk_look_pick (int x, int y, eDirection dir, string lookat, Object *object, InventoryItem *item, int GI, int sound);
import function SetWalkTo (int x, int y, eDirection dir);
import function MovedTo ();
import function WalkedToLookedAt (string lookat);
import function UsedInvItem (int item);
import function WalkedToLookedAtPickedUp (string lookat, Object *object, InventoryItem *item, int GI, int sound); 
import function qDisplaySpeech(Character *CharID, String message);
import function qStopSpeech();
import function qIsTalking();
import String   Delay(int time);
import function qSkipCurrentMessage();



Zur Diskussion und zum Löschen bereite Funktionen


Es gibt ein Timer-Modul dass dafür verwendet werden kann
import function SetOwnTimer(int timerid, int timeout);
import function IsOwnTimerExpired(int timerid);

Die Funktion any_click_move hat zusätzlich eine Direction, spart also eine Zeile
import function MovePlayer(int x, int y);

Hat die jemals jemand verwendet?
import function GoToCharacter(Character *charid, int direction, int NPCfacesplayer, int blocking);
import function NPCGoToCharacter(Character *charidwhogoes, Character *charidtogoto, int direction, int NPCfacesplayer, int blocking);
import function PlaceCharacter (this Character*, int x, int y, eDirection dir);
import function PlacePC (int x, int y, eDirection dir);

Hat die jemals jemand verwendet?
import function any_click_walk_look (int x, int y, eDirection dir, String lookat);
import function any_click_on_light_switch (int hotspot, int x, int y, eDirection dir);
import function any_click_use_inv (int item, int x, int y, eDirection dir);
import function any_click_walk_look_pick (int x, int y, eDirection dir, string lookat, Object *object, InventoryItem *item, int GI, int sound);

import function SetWalkTo (int x, int y, eDirection dir);
import function MovedTo ();
import function WalkedToLookedAt (string lookat);
import function UsedInvItem (int item);
import function WalkedToLookedAtPickedUp (string lookat, Object *object, InventoryItem *item, int GI, int sound); 

Diese Funktionen werden noch eine Weile bleiben
import function any_click_on_door (int GI, Object *objekt, int x, int y, eDirection dir, int nr_room, int nr_x, int nr_y, eDirection nr_dir);
import function SetDoorStrings (String lookat, String islocked, String wrongitem);
import function any_click_on_door_special (int GI, Object *objekt, int x, int y, eDirection dir, int nr_room, int nr_x, int nr_y, eDirection nr_dir, int opensound, int closesound, int key, int closevalue);


Zur Anregung
Rulaman
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

rulaman

  • Mod
  • Teenie Tentakel
  • **
  • Beiträge: 356
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Starterpacks (überflüssiges, doku und so Zeug)
« Antwort #12 am: 07. Januar 2010, 21:28:24 »
1. Nachdem es bisher keine negativen Raktionen auf meinen Löschvorschlag gegeben hat, werden die nicht benötigten Funktionen mal mit defines auskommentiert, so dass sie nicht mehr verwendet werden können. (Ab AGS3.2)

2. Welches Dialog-Modul (scrollable) soll denn nun in die Starterpacks?

NallChans Version:
+ Up-DownPfeile über- und unterhalb der Optionen
- umständlich mit den zusätzlichen Einträgen
- Man darf die "run-script -4" und "run-script -1" nicht vergessen
- Es ist viel Handarbeit erforderlich

Abstaubers Version:
siehe Link: http://www.maniac-mansion-mania.de/forum/index.php?topic=463.msg25664#msg25664
+ Keine Arbeit notwendig
+ Einmal initialisieren
+ Keine Anpassung in den Dialogen notwendig
o Up-DownPfeile über- neben den Optionen (lässt sich eventuell anpassen)
Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

Rocco

  • Administrator
  • alter Tentakel
  • *****
  • Beiträge: 2375
  • Geschlecht: Männlich
    • Profil anzeigen
    • Maniac Mansion Mania
    • E-Mail
Re: Starterpacks (überflüssiges, doku und so Zeug)
« Antwort #13 am: 07. Januar 2010, 21:33:11 »
ich bin da prinzipiell kein freund davon, ich meine wen stört schon eine funktion zu viel, das ist immer noch besser als eine zuwenig,
hab aber leider nicht die zeit mich jetzt durch die funktionen zu wursteln, die ich vielleicht noch brauche oder nicht.

Helli78

  • Teenie Tentakel
  • ****
  • Beiträge: 367
    • Profil anzeigen
Re: Starterpacks (überflüssiges, doku und so Zeug)
« Antwort #14 am: 08. Januar 2010, 18:19:40 »
Ich bin für die Abstauber Version, da es dort offenbar viel einfacher ist, etwas zu integrieren bzw. abzuändern.

Überflüssige Funktionen:
Vielleicht könnte man die zwar löschen bzw. entsprechend auskommentieren, jedoch als selbsterklärende (Text)-Information beilegen. Falls jemand etwas davon doch noch braucht, so kann er es in einer beigelegten Datei nachforschen, wie+wo etwas skripten.