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

19.02.2004, 12:58

Engine umbennenen

Ich hab echt ein dummes Problem.
Ich wollte die Engine gerne umbennenen und habe dafür in allen Dateien den Namen TriBase mit dem neuene Namen ersetzt, dieses hat genauso viele Buchstaben TryBase. Und genauso TRIBASE durch TRYBASE. Ich hab auch die Dateien umbenannt, die TriBase.h und die TriBase.cpp.

Wenn ich nun die Engine kompiliere, dann klappt das auch ohne Fehlermeldung.
Tu ich jetzt die neue DLL z.B. bei Breakanoid einfügen und dort auch die TriBase.h in TryBase.h umbennenen, dann kompiliert auch Breakanoid.

Wenn das Spiel dann startet kommt folgender Fehler:
INFO: DirectInput-Schnittstelle wird generiert... (tbdirectinput.cpp, Zeile 715, Funktion tbDirectInput::Init)
FEHLER: Der Aufruf von DirectInput8Create verursachte den DirectX-Fehler E_INVALIDARG! Beschreibung: An invalid parameter was passed to the returning function (tbdirectinput.cpp, Zeile 723, Funktion tbDirectInput::Init)
FEHLER: DirectInput konnte nicht initialisiert werden! (breakanoid.cpp, Zeile 150, Funktion CBreakanoid::Load)
FEHLER: Fehler beim Laden des Spiels! (breakanoid.cpp, Zeile 87, Funktion CBreakanoid::Init)
INFO: Die Direct3D-Komponente wurde heruntergefahren. (tbdirect3d.cpp, Zeile 308, Funktion tbDirect3D::Exit)

Ich hab echt schon alles möglich ausprobiert, aber ich versteh auch das Problem nicht, den an den Argumenten ändert sich ja praktisch nichts. Aber eines der Argumente von DirectInput8Create soll ja falsch sein.

Ich hoffe jemand anderes hat das auch schon mal probiert und weiss eine Lösung für das Problem! :help:

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

19.02.2004, 13:37

In der TriBase.h steht irgendwo etwas wie GetModuleHandle("TriBase.dll"). Ändere es um und kompiliere dann die Engine neu.

3

19.02.2004, 14:08

#ifdef _DEBUG
#define TB_DLL_HANDLE (GetModuleHandle("TryBaseD.dll"))
#else
#define TB_DLL_HANDLE (GetModuleHandle("TryBase.dll"))
#endif

so hatte ich es geändert. Geht aber auch nicht!
Was ich eh nicht verstehe ist das die Spiele immer die TriBaseD.dll wollen, wenn ich die Engine neu kompiliere (diese), dann bekomm ich die TryBase.dll. Und niemals die Andere.
Kann es daran liegen?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

19.02.2004, 14:24

Natürlich musst Du auch die Spiele neu kompilieren (und dann mit trybase.lib anstatt tribase.lib linken)... woher sollen die Spiele denn wissen, dass Du die Engine umbenannt hast? :rolleyes:

Werbeanzeige