Autor |
Beitrag |
mimi
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Mo 14.07.03 17:20
Zitat: |
Was gibts da zu bereden? ...warum es nicht so einfach geht sollte doch mittlerweile klar sein. Und zu beachten ist deshalb erstmal auch nix
|
viel z.b. wie man in den speicherbereich von einem anderem programm kommt(genau das hat er glaube ich, wenn ich die frage richtig verstanden habe vor)
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
tommie-lie
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Mo 14.07.03 17:51
mimi hat folgendes geschrieben: | z.b. wie man in den speicherbereich von einem anderem programm kommt |
Gar nicht (zumidnest sollte man da nciht rankommen).
Genau das ist doch der Witz vom Speichermanagement
Aber mal mein Vorschlag:
Ein Fenster hat 'nen Device Context, auf den gerendert wird. Man könnte jetzt mit den Windows-Funktionen für den Canvas (nicht zu verwechseln mit TCanvas, ich weiß nicht, ob man dem einfach einen Context zuschieben kann!) da draufpinseln, was man will.
So, da das aber sofort (beim nächsten Frame) wieder vom Spiel überschrieben wird, muss man das machen, nachdem gezeichnet wurde, und zwar jedes Mal.
Ich weiß nciht genau, ob es ein WM_Paint in diesem Fall gibt, weil das ja alles ziemlich direkt ist, aber ich gehe einfach mal davon aus. Also könnte man mit Hooks arbeiten (Tutorial: www.assarbad.org) und nach jedem Paint auf den Canvas schreiben. Auf diese Weise kann man dann auch die FPS berechnen, nämlich indem amn zählt, wie oft WM_Paint gesendet wurde.
Alles relativ viel API-Arbeit, vieles habe ich selbst noch nciht gemacht, ist aber ein Lösungsansatz, der, wenn alles zutrifft, von dem ich ausgehe, funktionieren sollte.
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
maximus
Beiträge: 896
Win XP, Suse 8.1
Delphi 4/7/8 alles prof
|
Verfasst: Di 15.07.03 11:10
darf man fragen, wie du drauf schliesst, dass es ein WM_Paint gibt? ...directX zeichnet ja wenn das spiel es will...ich glaub nicht, das da gross mit events rumgefeuert wird? kann mich aber auch irrren! Davon abgesehen, bräuchte man den DC vom backbuffer. Sieht sonst wohl merkwürdig aus.
_________________ mfg.
mâximôv
|
|
DracoBlue
Beiträge: 26
|
Verfasst: Di 15.07.03 13:01
Kann man irgendwie direkt auf die Grafikkarte schreiben?
Meinetwegen schreibe ich dann pro Frame oder so?
Cya, DracoBlue
|
|
maximus
Beiträge: 896
Win XP, Suse 8.1
Delphi 4/7/8 alles prof
|
Verfasst: Di 15.07.03 13:56
DracoBlue hat folgendes geschrieben: | Kann man irgendwie direkt auf die Grafikkarte schreiben?
...
Cya, DracoBlue |
geht nicht...ich glaub der speicherbereich ist geschützt...früher ging das mal. Da konnte man lustig, im mode 13h oder andere, den speicher mit farben vollknallen.
...das würde dein prob aber auch nicht lösen. Wenn du es wirklich wissen willst, dann schau dir mal die DirectX SDK an...vielleicht findest du ja was. Oder frag mal die Neobrothers(.de), die beschäftigen sich fast ausschliesslich mit delphi und directX
_________________ mfg.
mâximôv
|
|
tommie-lie
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Di 15.07.03 13:58
maximus hat folgendes geschrieben: | darf man fragen, wie du drauf schliesst, dass es ein WM_Paint gibt? ...directX zeichnet ja wenn das spiel es will...ich glaub nicht, das da gross mit events rumgefeuert wird? kann mich aber auch irrren! |
Ich kann mich auch irren.
Ich dachte mir nur, daß irgendeine Nachricht verschickt wird. Um das zu überprüfen bräuchte ich natürlich den Quellcode einer nonVCL-DirectX-Anwendung, wenn jemand so nett wäre und mir eins schreiben würde
Außerdem habe ich folgendes geschrieben:
tommie-lie hat folgendes geschrieben: | wenn alles zutrifft, von dem ich ausgehe |
Ich habe also drauf hingewiesen, daß es keine garantierte Möglichkeit ist, nur, daß es theoretisch so funktioneiren könnte, wenn Microsoft alles so macht wie ich das gerne hätte *g*
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
mimi
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Di 15.07.03 16:10
evtl, haben wir den autoren der frage auch nicht richtig verstanden:)
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
maximus
Beiträge: 896
Win XP, Suse 8.1
Delphi 4/7/8 alles prof
|
Verfasst: Di 15.07.03 18:31
mimi hat folgendes geschrieben: | evtl, haben wir den autoren der frage auch nicht richtig verstanden:) |
......und doch
_________________ mfg.
mâximôv
|
|
mimi
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Di 15.07.03 19:09
dann sag mal das was du meinst:)
ich habe ihn so verstanden: er will in gta(version egal) irngwas hinschreiben, richtig ?
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
tommie-lie
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Di 15.07.03 19:14
Genau darum geht's.
Das war doch schon lange klar!
Es geht nur um das wie.
Einen möglichen (!!!) Weg habe ich oben gepostet.
Wie gesagt, wenn jemand so nett wäre und mit seinem gesammelten Wissen ein kleines DirectX-Programm schreibt, könnte ich meine Theorie nachprüfen und dann hätte man eine Lösung (oder auch nicht *g*).
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
mimi
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Di 15.07.03 19:34
@tommie-lie
ich glaube nicht das, das so einfach ist, er will das ja mit delphiX machen. mit direct dircx wird es warscheinlich gehen, denke ich, aber halt nicht mit einer komponenten samlung
soviel wie ich weiß kannst du heute unter win200 und winXP garnicht mehr in anderm speicher rumschreiben, dann musst du am besten eine art dll entwickeln die sich dazuwzischen schaltet, wie währe das ?
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
DracoBlue
Beiträge: 26
|
Verfasst: Di 15.07.03 19:38
Ich wollte das halt nur IRGENDWIE hinkriegen!
Meinetwegen auch ohne DelphiX, und echt danke das ihr euch solche Mühe gebt!
Cya, DracoBlue
|
|
mimi
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Di 15.07.03 21:15
fragen wie mal so: da du in gta irngwas reinschreiben willst(also währen das spiel läuft soll da ein text stehen) könntes du das doch auch per scripsprache die gta hat lösen, anderes geht es nicht(ich weiß ich habe es schonmal angesprochen)
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
DracoBlue
Beiträge: 26
|
Verfasst: Di 15.07.03 21:19
Die Script sprache hab ich schon entschlüsselt und das is ja nicht das Problem!
Aber ich würde gerne Menüs anzeigen und das geht numal nich mit dem script!
Cya, DracoBlue
|
|
tommie-lie
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Di 15.07.03 21:24
Er hat nie gesagt, daß er es unbedingt mit DelphiX machen will!
Ich bezweifle, daß die Scriptsprache von GTA mächtig genug ist, die Framerate auszulesen, sonst gäbe die diese Funktion schon von Haus aus. Mit dem reinen Anzeigen von Text könnte vielleicht klappen, aber ich habe kein GTA um's auszuprobieren...
mimi hat folgendes geschrieben: | anderes geht es nicht |
Du kannst doch gar nicht sicher sein, daß es anders als über die Scriptsprache (falls überhaupt vorhanden) nicht geht.
Siehe mein Post
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
mimi
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Di 15.07.03 21:31
Zitat: |
Aber ich würde gerne Menüs anzeigen und das geht numal nich mit dem script
|
das ist die Scripsprache ja sehr schlecht, selbst clonk kann sowas:)
warum willst du menues schreiben ?
dann musst du wohl ein plungin schreiben(also eine dll,die sich dann da einlinkt, dann brauchst du noch ein progamm was die dll einbindet, und fertig) wird aber alles sehr schwer werden. gibt es keine gta foren ?
weil das ist doch ein gta problem. frag doch mal die entwickler oder irgenein forum was für gta ist. ich denke so in delphi düfrte das sehr schwer werden(und wie ich schon gesagt habe, möglich ist das sicher, aber ich sage das ist nicht geht bzw. nicht einfach geht.)
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
tommie-lie
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Di 15.07.03 21:51
mimi hat folgendes geschrieben: | das ist die Scripsprache ja sehr schlecht, selbst clonk kann sowas:) |
Sriptsprachen isnd in der Regel Nutzenorientiert.
GTA ist ein fertiges Spiel, bei dem sich die Scriptsprache höchstens auf Leveldesign beschränkt, wozu braucht man für eine neue KArte ein Menü?
Nicht jeder Spieleentwickler hat Zeit und Geld, in sein Spiel ein eigenes kleines Betriebssytem einzubauen mit Menüsteuerung, diversen Fenstermöglichkeiten und anderen Scherzchen.
Zitat: | dann musst du wohl ein plungin schreiben(also eine dll,die sich dann da einlinkt, dann brauchst du noch ein progamm was die dll einbindet, und fertig) wird aber alles sehr schwer werden. |
Wenn GTA kein Interface für Plugins hat (was ich annehme, denn die wenigsten kommerziellen Spiele haben das, von denen mit seperater Engine, für die es Mods gibt mal abgesehen.
Das würde das Problem, daß man nicht in die DirectX-Szene malen kann, immer noch nicht lösen...
Zitat: | weil das ist doch ein gta problem. frag doch mal die entwickler oder irgenein forum was für gta ist. ich denke so in delphi düfrte das sehr schwer werden(und wie ich schon gesagt habe, möglich ist das sicher, aber ich sage das ist nicht geht bzw. nicht einfach geht.) |
Die Entwickler werden wahscheinlich nicht so erreichbar sein wie die von Clonk... Es gibt doch tatsächlich Leute, die arbeiten irgendwann
Wenn es in C geht, geht es auch in Delphi. Das ganze ist kein Treiberproblem (auch wenn es sich durch einen eigenen Grafiktreiber machen ließe, fällt mir grad' ein...), und sonst lässt sich alles mit Delphi machen.
Und es ist auch kein GTA-Problem. Offensichtlich will DracoBlue etwas machen, was GTA von Haus aus nicht kann, wieso sollte dann ein GTA-Forum wissen, wie's geht? Das ist ein großes, kommerzielles Spiel, ein Entwicklerforum wie bei OpenSource-Projekten wird man da höchstwahrscheinlich nicht finden, und der Großteil der Spieler wird keinen blassen Schimmer vom Programmieren haben!
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
DracoBlue
Beiträge: 26
|
Verfasst: Di 15.07.03 22:11
Also......
Ich bin DracoBlue der Macher des GTAT-Mods!
GTAT=gtaTournament und ist der 1. Multiplayer Mod für ViceCity!
Ich habe die features der Anzeige zurzeit mit der Scriptsprache und dessen Adressen gemacht, aber ich möchte gern ein Ingame Anzeige machen für Frags aller Spieler und so.
Mfg, DracoBlue
PS: www.GTAT.org
|
|
maximus
Beiträge: 896
Win XP, Suse 8.1
Delphi 4/7/8 alles prof
|
Verfasst: Mi 16.07.03 11:09
ÎCh kann nichts versprechen!...aber werd zuhause mal in die SDK kucken...vielleicht finde ich ja was.
_________________ mfg.
mâximôv
|
|
maximus
Beiträge: 896
Win XP, Suse 8.1
Delphi 4/7/8 alles prof
|
Verfasst: Fr 18.07.03 11:07
maximus hat folgendes geschrieben: | ÎCh kann nichts versprechen!...aber werd zuhause mal in die SDK kucken...vielleicht finde ich ja was. |
Nix dergleichen
_________________ mfg.
mâximôv
|
|
|