Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

15.07.2007, 12:09

Probleme mit Effekte Beispiel & Galactica & Breakano

Hi, wie der Titel schon sagt, hab ich ein paar Probleme mit den obengenannten Sachen:
Die originale Effekte.exe von der CD funktioniert , aber die selbstkompilierte meldet bei den Beispiel Effekten immer, dass sie ungültig sei. in VC 2005 steht folgendes:

Quellcode

1
C:\dx\Beispiele\Kapitel 02\14 - Effekte\Beispiele\Flat-Shading.fx(1,28): error X3017: cannot implicitly convert from 'const string' to 'texture'


Weiss jemand, was da falsch ist?

Und bei Breakanoid & Galactica:

Die stürzen immer beim Fenster initialisieren ab, der Debugger meldet das:

Unbehandelte Ausnahme bei 0x100be609 (TriBaseD.dll) in Galactica.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x00000000.

Und zeigt dabei auf die Stelle:


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// ******************************************************************

// Herunterfahren

tbResult tbFont::Exit()
{
    // Textur aus dem Effekt nehmen

    ---------------->   if(m_pEffect) m_pEffect->GetEffect()->SetTexture("Texture", NULL);

    // Textur und Effekt freigeben

    TB_SAFE_RELEASE(m_pTexture);
    TB_SAFE_DELETE(m_pEffect);

    // Alles zurücksetzen

    ZeroMemory(this, sizeof(tbFont));

    return TB_OK;
}


Ausserdem steht im Ausgabefenster unter anderem:

Quellcode

1
2
3
4
5
6
7
8
9
10
c:\dx\Spiele\Buch\Galactica\memory(11,3): ID3DXEffectCompiler: State 'COLORARG1' must be assigned a numeric scalar or a 4-float vector
c:\dx\Spiele\Buch\Galactica\memory(15,3): ID3DXEffectCompiler: State 'ALPHAARG1' must be assigned a numeric scalar or a 4-float vector
ID3DXEffectCompiler: There was an error initializing the compiler
FEHLER: Der Aufruf von D3DXCreateEffect verursachte den DirectX-Fehler E_FAIL! Beschreibung: An undetermined error occurred (tbeffect.cpp, Zeile 63, Funktion tbEffect::Init)
FEHLER: Fehler beim Erstellen des Effekts! (tbfont.cpp, Zeile 100, Funktion tbFont::Init)
FEHLER: Fehler beim Laden der Schriftart! (tbfont.cpp, Zeile 135, Funktion tbFont::Init)
FEHLER: Fehler beim Laden einer Schriftart! (galactica.cpp, Zeile 184, Funktion CGalactica::Load)
FEHLER: Fehler beim Laden des Spiels! (galactica.cpp, Zeile 90, Funktion CGalactica::Init)
Eine Ausnahme (erste Chance) bei 0x100be609 (TriBaseD.dll) in Galactica.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x00000000.
Unbehandelte Ausnahme bei 0x100be609 (TriBaseD.dll) in Galactica.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x00000000.


Bei den beiden Spielen funktioniert auch die originale Exe von der CD nicht.
Ich weiss grad echt nicht weiter, hat irgendwer einen Rat? Danke schonmal...

2

15.07.2007, 21:38

Ok, ich hab jetzt ne neue XP installation (war sowieso nötig), jetzt funktioniert zumindest Galactica & Breakanoid von der CD.

Allerdings kann ich das selbst kompilierte Effektebeispiel immer noch nicht ausführen, weil die Effekte angeblich fehlerhaft sind. Ich habs jetzt auch mit der Tribase.dll aus dem Forum versucht, aber es funktioniert immer noch nicht, also ist der Wurm irgendwo im Effektebeispiel..
Btw, ich habe Das Visual Studio, und nicht visual c++ express, platform sdk hab ich eingebunden (zusätzlich zu dem, was beim visual studio schon dabei ist), directx sdk hab ich natürlich auch.
Ich hab nur echt keine Ahnung, was ich falsch gemacht habe.
Hat vielleicht bitte irgendwer eine Idee?

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

3

15.07.2007, 22:17

Auch wenn das jetzt nicht direkt was mit deinem Fehler zu tun hat: die Pfadeinträge vom alten P-SDK solltest du löschen, wenn du ein neues eingetragen hast.

4

15.07.2007, 23:34

Hm ok, hab ich gemacht, bringt aber leider auch nichts... (Ich hab alle Einträge gelöscht, die auf ein Platform SDK im Installationsverzeichnis verweisen).

5

16.07.2007, 10:45

So, hab jetzt mal zum testen das Visual c++ express raufinstalliert, Platform SDK & DX SDK laut Anleitung eingebunden und es funktioniert leider immer noch nicht.
Übrigens bin ich draufgekommen, dass ALLE selbstkompilierten Beispiele, die irgendeine Datei laden sollen (Effekte, Schriftarten, sounds...) nicht funktionieren.
Was genau kann denn der Grund dafür sein, dass alle Dateien fehlerhaft oder vielleicht sogar gar nicht geladen werden ? Übrigens : Visual Studio ist derzeit nicht installiert, sondern nur das vc express. Änderungen hab ich auch keine vorgenommen, sondern nur das oben genannte.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

16.07.2007, 11:00

Wahrscheinlich hat Microsoft etwas an der Sprache der FX-Dateien geändert. Nimm mal das DirectX-SDK von der CD.

7

16.07.2007, 11:34

DANKE ! Jetzt funktioniert alles :lol: .

Jetzt kann ich endlich mit deinem genialen Buch weitermachen ;) .

8

23.07.2007, 16:48

Hatte grad das gleiche Problem...

Alternativ einfach in den .fx Dateien überall 'STRING' durch 'string' ersetzen.
Dann frisst er's wieder.

Oder einfach die hier nehmen: http://www.speedyshare.com/813803590.html

Werbeanzeige