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

xxendlessxx

Treue Seele

  • »xxendlessxx« ist der Autor dieses Themas

Beiträge: 230

Wohnort: Bad Schussenried

Beruf: Full Stack Developer

  • Private Nachricht senden

1

13.10.2009, 19:02

CEGUI findet das Imageset nicht

So da bin ich mal wieder,
hab nun einige Zeit weiter gearbeitet und dann vorhin mal in den Log geschaut und merkt das CEGUI mir einige Fehler auswirft. Dazu muss ich auch noch sagen das seltsamer weise die "Fenster" im Spiel korrekt angezeigt werden.

CEGUI.log

C-/C++-Quelltext

1
2
3
4
5
6
7
8
13/10/2009 18:51:15 (Std)   Creating falagard mapping for type 'SleekSpace/StaticText' using base type 'DefaultWindow', window renderer 'Falagard/StaticText' and Look'N'Feel 'SleekSpace/StaticText'. (0020D630)
13/10/2009 18:51:15 (Error) CEGUI::UnknownObjectException in file ..\..\..\src\CEGUIImagesetManager.cpp(193) : ImagesetManager::getImageset - No Imageset named 'sleekspace' is present in the system.
13/10/2009 18:51:15 (Error) CEGUI::UnknownObjectException in file ..\..\..\src\CEGUIPropertySet.cpp(124) : There is no Property named 'CaptionColour' available in the set.
13/10/2009 18:51:15 (Error) CEGUI::UnknownObjectException in file ..\..\..\src\CEGUIPropertySet.cpp(124) : There is no Property named 'UseStandardImagery' available in the set.
13/10/2009 18:51:15 (Error) CEGUI::UnknownObjectException in file ..\..\..\src\CEGUIPropertySet.cpp(124) : There is no Property named 'NormalImage' available in the set.
13/10/2009 18:51:15 (Error) CEGUI::UnknownObjectException in file ..\..\..\src\CEGUIPropertySet.cpp(124) : There is no Property named 'HoverImage' available in the set.
13/10/2009 18:51:15 (Error) CEGUI::UnknownObjectException in file ..\..\..\src\CEGUIPropertySet.cpp(124) : There is no Property named 'PushedImage' available in the set.
13/10/2009 18:51:15 (Error) CEGUI::UnknownObjectException in file ..\..\..\src\CEGUIPropertySet.cpp(109) : There is no Property named 'NormalTextColour' available in the set.


Meine eigene Log

C-/C++-Quelltext

1
2
3
..\..\..\src\CEGUIImagesetManager.cpp
CEGUI::UnknownObjectException
ImagesetManager::getImageset - No Imageset named 'sleekspace' is present in the system.


Der Bereich in dem die Exception geworfen wird.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
int cGame::InitializeCEGUI()
{   
    std::ofstream Log;
    Log.open("Log.txt",std::ios::out);
    try
    {
        CeGuiRenderer = new CEGUI::OpenGLRenderer(0,WindowWidth,WindowHeight);
        CeGuiSystem = new CEGUI::System(CeGuiRenderer);

        CEGUI::Imageset::setDefaultResourceGroup("imagesets");
        CEGUI::Font::setDefaultResourceGroup("fonts");
        CEGUI::Scheme::setDefaultResourceGroup("schemes");
        CEGUI::WidgetLookManager::setDefaultResourceGroup("looknfeel");
        CEGUI::WindowManager::setDefaultResourceGroup("layouts");
        CEGUI::ScriptModule::setDefaultResourceGroup("lua_scripts");

        CeGuiResourceProvider = static_cast<CEGUI::DefaultResourceProvider*>(CeGuiSystem->getResourceProvider());
        
        CeGuiResourceProvider->setResourceGroupDirectory ( "imagesets" , "Data\\" ) ;
        CeGuiResourceProvider->setResourceGroupDirectory ( "fonts" , "Data\\" ) ;
        CeGuiResourceProvider->setResourceGroupDirectory ( "schemes" , "Data\\" ) ;
        CeGuiResourceProvider->setResourceGroupDirectory ( "looknfeel" , "Data\\" ) ;
        CeGuiResourceProvider->setResourceGroupDirectory ( "layouts" , "Data\\" ) ;
        
        try
        {
            CEGUI::SchemeManager::getSingleton().loadScheme((CEGUI::utf8*) "SleekSpace.scheme");
            CeGuiSystem->setDefaultMouseCursor((CEGUI::utf8*)"sleekspace",(CEGUI::utf8*)"MouseArrow") ;
            CEGUI::MouseCursor::getSingleton().setImage("sleekspace", "MouseArrow");

        }
        catch ( CEGUI::Exception &MyException )
        {   
            Log << MyException.getFileName() << std::endl << MyException.getName() << std::endl << MyException.getMessage();
        }

        //RootGuiWindow = CEGUI::WindowManager::getSingleton().createWindow("DefaultWindow", "root" );

        //CeGuiSystem->getSingleton().setGUISheet(RootGuiWindow);


        //MainMenuFrame = (CEGUI::FrameWindow*)CEGUI::WindowManager::getSingleton().createWindow( "SleekSpace/FrameWindow", "MainWindow" );

        //MainMenuFrame->setPosition    ( CEGUI::UVector2( CEGUI::UDim(0.25f,0), CEGUI::UDim(0.01f,0) ) );

        //MainMenuFrame->setSize        ( CEGUI::UVector2( CEGUI::UDim( 0.5f, 0 ), CEGUI::UDim( 0.28f, 0 ) ) );

        //MainMenuFrame->setText        ("MainMenuFrame");

        
    }
    catch ( CEGUI::Exception &MyException )
    {   
        Log << MyException.getFileName() << std::endl << MyException.getName() << std::endl << MyException.getMessage();
    }
    Log.close();
    return 0;
}


Hoffe mir kann jemand helfen
gruß michi

Toa

Alter Hase

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

2

13.10.2009, 19:27

Versuchst du ein eigenes gestaltetes Imageset zu laden? Anscheinend fehlen ihm ein paar Attribute. Bist du dir sicher das du alle benötigten XML Files zu dem Imageset erstellt hast?

xxendlessxx

Treue Seele

  • »xxendlessxx« ist der Autor dieses Themas

Beiträge: 230

Wohnort: Bad Schussenried

Beruf: Full Stack Developer

  • Private Nachricht senden

3

13.10.2009, 19:37

Ich hab mir von http://www.cegui.org.uk/skins/ das "Sleekspace" Theme geholt. Und in dem Zip waren nur folgende Dateien.

sleekspace.imageset
sleekspace.looknfeel
sleekspace.png
SleekSpace.scheme

und die liegen auch schön im Data Ordner.

Toa

Alter Hase

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

4

13.10.2009, 19:59

Schon mal überlegt ob das Imageset für eine ältere CEGUI Vers. ist? Denn laut dem Fehler: "There is no Property named 'HoverImage' available in the set." fehlt anscheinend die Angabe für das Mausüber-Bild. Und das man wirkliche Picturebuttons erstellen kann ist glaube erst seit der neuesten CEGUI vers. drin.. Überprüf das mal

€: Hab mal nachgeschaut und dein Imageset ist für die Vers. CEGUI Version: CEGUI 0.5.0 . Benutzt du diese denn auch?

xxendlessxx

Treue Seele

  • »xxendlessxx« ist der Autor dieses Themas

Beiträge: 230

Wohnort: Bad Schussenried

Beruf: Full Stack Developer

  • Private Nachricht senden

5

13.10.2009, 20:01

Hmm doof. Ich benutz CEGUI 0.6.0. Das Theme aber anscheind für 0.5.0 -.- das ja shit. Aber das liegt dann nur an dem Theme selbst ? So vom Codetechnischen her ist das ok ?

Toa

Alter Hase

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

6

13.10.2009, 20:03

Im Grunde musst du nur die File des Imagesets um die Attribute erweitern die fehlen.

Lerikson

Alter Hase

Beiträge: 412

Wohnort: nördlich von Hamburg

Beruf: Schüler

  • Private Nachricht senden

7

13.10.2009, 20:04

und dann siehst du auch ob der restliche Code funktioniert ;)

xxendlessxx

Treue Seele

  • »xxendlessxx« ist der Autor dieses Themas

Beiträge: 230

Wohnort: Bad Schussenried

Beruf: Full Stack Developer

  • Private Nachricht senden

8

13.10.2009, 20:47

ja aber wenn doch nur einige attribute fehlen warum meldet mir dann

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
        try
        {
            CEGUI::SchemeManager::getSingleton().loadScheme((CEGUI::utf8*) "SleekSpace.scheme");
            CeGuiSystem->setDefaultMouseCursor((CEGUI::utf8*)"sleekspace",(CEGUI::utf8*)"MouseArrow") ;
            CEGUI::MouseCursor::getSingleton().setImage("sleekspace", "MouseArrow");

        }
        catch ( CEGUI::Exception &MyException )
        {   
            Log << MyException.getFileName() << std::endl << MyException.getName() << std::endl << MyException.getMessage();
        } 

folgende exceptions. das klingt ja hier mehr so als wenn das ganze imageset nicht "gefunden" oder richtig bekannt gemacht wurde. Oder etwa nicht ?

C-/C++-Quelltext

1
2
3
..\..\..\src\CEGUIImagesetManager.cpp
CEGUI::UnknownObjectException
ImagesetManager::getImageset - No Imageset named 'sleekspace' is present in the system. 

fkrauthan

Supermoderator

Beiträge: 979

Wohnort: Vancouver

Beruf: Software engineer

  • Private Nachricht senden

9

13.10.2009, 21:15

Vllt die dateien in das falsche verzeichnis entpackt?
Homepage: fkrauthan.de | Browser-game: flowergame.net

xxendlessxx

Treue Seele

  • »xxendlessxx« ist der Autor dieses Themas

Beiträge: 230

Wohnort: Bad Schussenried

Beruf: Full Stack Developer

  • Private Nachricht senden

10

13.10.2009, 21:18

ne eigentlich nicht denk ich. In dem Ordner in dem meine Exe ist gibt es ein Ordner der heißt Data. Und darin sind alle Dateien. Imageset, scheme etc.

Werbeanzeige