Autor Beitrag
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mo 04.12.06 00:30 
Natürlich F34r, bin nur noch nicht dazu gekommen.

Also. Meine Änderungen betreffen bis auf die Text und UI-bezogenen Änderungen wirklich nur den Unterbau, d.h. nur die Units austauschen, fertig.

Was ich wichtig finde, ist die Einstellung des Ursprungspunktes über Ofs.x/y. Damit muss sich die Koordinatenangabe nicht mehr unbedingt auf den Mittelpunkt beziehen, sondern auf einen beliebigen Punkt im Bild. {komischer Satz, ich hoffe ihr versteht mich...}

Achso, und die nicht wirklich konsequente Vererbungshierarchie hab ich in Ordnung gebracht, da sonst die UI-Elemente fast unmöglich gewesen wären ;)

Auch wenn das ja hier eher selten ist: ich hoste mal was selber ;)

www.martoks-place.de/delphi/opengl/fear2d/

EDIT: an neue Domain angepasst

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."


Zuletzt bearbeitet von Martok am Mo 20.08.07 11:52, insgesamt 6-mal bearbeitet
en!gma
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 378

win xp
delphi 7.0
BeitragVerfasst: Mo 04.12.06 07:08 
ah kuhl danke ich schau später mal etwas genauer rein und hoffe, dass ich irgendwas verstehe :)
en!gma
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 378

win xp
delphi 7.0
BeitragVerfasst: Mo 04.12.06 20:12 
so hab grad noch ein bischen rumgespielt...
und ich möchte versuchen noch ein paar funktionen in die engine einzubauen.

habe so an folgendes gedacht: (auch wenn ich selbst nicht alles umsetzen kann)

loadEmitterFile(file,name:string) <-- also ähnlich wie sounds und texturen
loadEmitterDir(file:string)
SpawnEmitter(name:string, x-pos,y-pos,angle:integer,loop:boolean)<-- also dass ein emitter an einer bestimmten stelle gespawned wird

und dann hatte ich noch 2 funktionen die ich um himmels willen nie umsetzen könnte ;)

morphEmitter(emitter1,emitter2:string;time:integer) <-- soll in einem bestimmten zeitrahmen, und zwar "time" einen emitter langsam zu einem anderen werden lassen, also was grösse usw angeht

und dann noch etwas "ganz feines" und zwar multiemitter!
das ganze habe ich mir so vorgestellt:
man hat eine ini datei, ähnlich wie bei loadEmitterFile() nur das besondere.
man hat ein main emitter und diverse childs...
die childs sind eigene emitter und haben eine position +-x/y von dem main emitter.
also das man 2 oder mehr emitter leicht über den bildschirm wandern lassen kann
und somit superschöne animationen ;)

aber was ich mich die ganze zeit frage...
für das loadEmitterFile/Dir, erstelle ich wohl eine neue Klasse dafür?
habe einfach mal eine angehängt, würde die dann ca so aussehen?
habe sie von SoundManager abgewandelt und nach möglichkeit schon ein paar variablen und kommentare angepasst.
oder packt man das ganze doch lieber in die particleengine.pas?

naja die sachen von mir...
und wie gesagt hab etwas rumgespielt und ist das hier mal rausgekommen.

mit "pfeil-hoch" lädt man die kugel auf, mit "pfeil-runter" schiesst man sie ab.
Einloggen, um Attachments anzusehen!
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 04.12.06 20:15 
die features hatte ich alle bereits geplant aber noch net umgesetzt ;)
en!gma
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 378

win xp
delphi 7.0
BeitragVerfasst: Mo 04.12.06 20:18 
aso hatte mich schon gewundert warum es noch nicht drin war ;)
es is ja schon eigentlich in der demo drin.
halt nur mit multi emitter noch nicht,
und morph fänd ich auch fett ;)

aber machst du dafür extra ne neue klasse?
und besteht denn wohl noch die chance, dass du es umsetzt?
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mo 04.12.06 20:41 
die sache mit dem multi emitter ist net so leicht, das ist ja kein record sondern eine klasse da muss man schon ein bissl fummeln sonst ist alles was man braucht in der unit und morphen ist dreisatz ;)

kommt auch schon drin vor, bei den farben, da steht interpolieren oder so drüber ;)

mfg
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 24.12.06 14:24 
user profile iconMartok hat folgendes geschrieben:

Also. Meine Änderungen betreffen bis auf die Text und UI-bezogenen Änderungen wirklich nur den Unterbau, d.h. nur die Units austauschen, fertig.

Toll! Klasse! Ähm ... wie ... lass ich mir nen Text ausgeben? In der F2D_Text sind keine Methoden zur Textausgabe enthalten... ? Eine .. winzig kleine Dokumentation wär toll, oder eine kleine Demo ... :)

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: So 24.12.06 16:37 
Also Dokumentationen wirst du von mir nie sehen, jedenfalls bei den meisten Projekten :P

Eigentlich läuft die Textausgabe nicht viel anders als die Texturierung zum Beispiel: Laden->Binden->Zeichnen. Ich hab mal ne Demo gemacht, ist oben angehängt. Außerdem hab ich die Engine nochmal modifizert, da war noch was in der Multiline-Ausgabe komisch.
Richtige Bitmap-Fonts müsste auch mal einer machen *pfeif*.....

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: So 24.12.06 17:29 
Für meine Ogl-GUI benutz ich Bitmapfonts. Da fehlt nur noch die Möglichkeit, die erstellten Fonts in der Größe zu ändern. Bis jetzt ist es so, dass bei jeder Änderung der Größe die Buchstaben neu in ein BMP gemalt werden und dann an OpenGl übergeben werden. (Oder die Buchstaben werden aus einer Datei geladen, wobei sich dann die Größe überhaupt nicht ändern lässt)
Wenn die Größenänderung drin ist, kann ichs ja auch mal hochladen.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 24.12.06 22:29 
Im Normalfall hätt mir die Demo gereicht, aber ... :
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
    Engine.Init(self);

    Engine.FontManager.AddFont('myfont','arial',60,[fsItalic]);
{...}

    Engine.DoBegin;
    Engine.FontManager.BindFont('myfont',clRed);
    Engine.TextOut(10,50,'FEAR2D Demo,  (c) Martok');

Passiert nix. Nix wird ausgegeben. Ich hatte sogar mal eine art Ausgabe, allerdings schwarz auf schwarzem Hintergrund (musste mit dem Ball drüber gehn um es zu sehn ... )
Aber das geht nun iwie auch nicht mehr.

PS: Ja is kopiert.
PPS: Kannst du vielleicht eine kleine Schritt-für-Schritt Anleitung schreiben, so richtig für dummies, nach dem Stil "Schritt Eins: Fontmanager.Addfont. Beispiel: xyz... blah blah"

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mo 25.12.06 05:14 
Also so wie du es da hast, sollte schon alles stimmen. Ich hab oben nochmal editiert.

Oh, doch was: da fehlt ein Engine.DoEnd, ist das Absicht?

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mo 25.12.06 14:03 
user profile iconMartok hat folgendes geschrieben:
Also so wie du es da hast, sollte schon alles stimmen. Ich hab oben nochmal editiert.

Oh, doch was: da fehlt ein Engine.DoEnd, ist das Absicht?

Ja, das hab ich nu nich übernommen, is aber drin... Aber das soll ja keine Diskusion über mein Programm bzw. meine Probleme werden ... ^^

Habe das Problem gefunden!
Ich darf keine Texturen laden, um die Textausgabe zu benutzen. Wird irgendwo im OnCreate (egal ob vor, oder nach der AddFont) Engine.TextureManager.AddTexture aufgerufen, wird keine Schrift angezeigt.
Ich hoffe, das wird bald klappen ...

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Fighter#1
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 787

Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
BeitragVerfasst: Mo 25.12.06 15:37 
... Juhu, endlich scheiben :-D
Ach Martok, auf deiner Homepage hast du falsch verlinkt (habs dann halt selber gesucht)

_________________
Wer andere beherrscht ist stark,
wer sich selbst beherrscht ist mächtig. Lao Tse
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mo 25.12.06 16:06 
user profile iconFighter#1 hat folgendes geschrieben:
... Juhu, endlich scheiben :-D
Ach Martok, auf deiner Homepage hast du falsch verlinkt (habs dann halt selber gesucht)

)&(/§%)/($&§& verdammte Backslashes.... wer hat die da reingeschrieben??

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
hui1991
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 433

Windows XP, WIndows Vista
Turbo Delphi Explorer| Delphi, PHP,Blitzbasic
BeitragVerfasst: Mi 27.12.06 20:40 
Hi,

warum kann ich keine Bilder größer als 64x64 Pixel laden?
Die Datei ist nur 12KB groß.
Würde gerne eine 500x160KB große datei einfügen.
Aber dann hat er 1/12 FPS oder so
Hab gedacht ich mache damit ein wenig rumspielen.
Dann ist mir aufgefallen, das die Dateien nicht größer als 64x64 Pixeln sein dürfen, weil sonst hängt sich das auf.

MfG
hui1991
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Mi 27.12.06 20:55 
Es kommt drauf an, ob die Bilder POT sind. Das heißt, die Seitenlängen müssen 2^x sein. Beispiel:
256x256,2048x2048,2x2,128x128,128x256,2x2048,...

Wobei ich keine Grafiken mit Seitenlängen >512 nutzen würde, da di von älteren Grakas nur selten geladen werden können.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
hui1991
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 433

Windows XP, WIndows Vista
Turbo Delphi Explorer| Delphi, PHP,Blitzbasic
BeitragVerfasst: Mi 27.12.06 21:13 
d. h. wenn ich eine 500x160 Pixel Grafik einfügen will, muss ich die grafik auf 512X256 hoch. Ja und wie kann ich dann die Transparente Farbe einstellen. Wenn es mehr sein muss, muss ja eine Farbe z. B. rosa ja ausgeblendet werden.
Geht das irgendwie?
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Mi 27.12.06 21:21 
Du kannst auch einfach die Grafik strecken, anstatt einen Rand hinzuzufügen.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mi 27.12.06 22:32 
Für Transparenz empfehle ich TGA dateien, die bringen das gleich mit.. Kleines Problem von TGAs kann man in meinem Hilfesuchenden Thread finden: www.delphi-forum.de/...68011&highlight=
Das Problem wird dort beschrieben und ist noch nicht gelößt ...

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
hui1991
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 433

Windows XP, WIndows Vista
Turbo Delphi Explorer| Delphi, PHP,Blitzbasic
BeitragVerfasst: Mi 27.12.06 23:30 
Gehen gifs auch, weil die haben ja auch transparenz?
Die müssten doch auch gehen, oder?
Dann wäre dein Problem gelöst, leider hat es dann nur 256 Farben :(

MfG
hui1991