From: Luca P. <lpa...@us...> - 2002-04-21 19:59:58
|
Update of /cvsroot/planeshift/planeshift/src/client/gui In directory usw-pr-cvs1:/tmp/cvs-serv3693/src/client/gui Modified Files: psdcadvant.cpp psdcjob.cpp psdcjob.h psdmngr.cpp Log Message: jobs screen now load real data. Index: psdcadvant.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/client/gui/psdcadvant.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** psdcadvant.cpp 20 Apr 2002 19:44:23 -0000 1.8 --- psdcadvant.cpp 21 Apr 2002 19:59:55 -0000 1.9 *************** *** 158,162 **** { count = 0; ! drawY += 16; drawX = startX; } --- 158,162 ---- { count = 0; ! drawY += 14; drawX = startX; } Index: psdcjob.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/client/gui/psdcjob.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** psdcjob.cpp 20 Apr 2002 19:44:23 -0000 1.6 --- psdcjob.cpp 21 Apr 2002 19:59:55 -0000 1.7 *************** *** 95,98 **** --- 95,128 ---- AddComp(btn); + // color used to write titles + titleColour = dmanager->GetTextureManager()->FindRGB(255,0,0); + + // Write Jobs + psJobSet* set = dmanager->GetRPGInfo()->GetJobSet(); + + // first column + AddJob("The Alchemists Guild", 48, 80, set->jobs ); + AddJob("The High Society of Education", 48, 110, set->jobs ); + AddJob("The Animalists Guild", 48, 140, set->jobs ); + AddJob("Healers of the Body", 48, 170, set->jobs ); + AddJob("The Artisans Guild", 48, 260, set->jobs ); + + // second column + AddJob("Le Grand Cusinier", 240, 80, set->jobs ); + AddJob("The Leathermen", 240, 110, set->jobs ); + AddJob("The Artists", 240, 140, set->jobs ); + AddJob("The New Foundation of Clothes", 240, 170, set->jobs ); + AddJob("The Builders", 240, 230, set->jobs ); + AddJob("The Society of Nutrition", 240, 280, set->jobs ); + + // third column + AddJob("The Furnace of Yliakum", 430, 80, set->jobs ); + AddJob("Bow and Arrow", 430, 160, set->jobs ); + AddJob("Axe and Saw, Inc.", 430, 200, set->jobs ); + AddJob("Digging Dirt", 430, 240, set->jobs ); + AddJob("Drunk Inc.", 430, 280, set->jobs ); + AddJob("Yliakum Geography", 430, 310, set->jobs ); + AddJob("Riders of Darkness", 430, 340, set->jobs ); + return true; } *************** *** 112,113 **** --- 142,202 ---- + void psdcJob::AddJob(const char* aclass, int startX, int startY, + jobVector& jobs) + { + float ratiox = (float)width / 640.0f; + float ratioy = (float)height / 480.0f; + + + int count = 0; + int i = 0; + int drawX = startX; + int drawY = startY; + + // display title + psText* text = new psText(this, i); + text->Initialize(RX(drawX), RY(drawY), RX(200), RY(20)); + text->SetText(aclass); + text->SetFGColor( titleColour ) ; + AddComp(text); + drawY = drawY+16; // next line + + for ( i = 0; i < jobs.Length(); i++ ) + { + if ( jobs[i]->aclass == aclass ) + { + psText* text = new psText(this, i); + text->Initialize(RX(drawX+20), RY(drawY), RX(150), RY(20)); + text->SetText(jobs[i]->name); + AddComp(text); + + psButton* btn = new psButton(this, i); + btn->Initialize(RX(drawX+20), RY(drawY), + RX(75), RY(15), + NULL, NULL, + psdcJob::Select); + AddComp( btn ); + count++; + drawY+=RY(10); + } + } + } + + void psdcJob::Select(psDialog* dialog, int iID,void *) + { + int colourOn = dialog->GetDialogManager()->GetTextureManager() + ->FindRGB(0,0,255); + + int colourOff = dialog->GetDialogManager()->GetTextureManager() + ->FindRGB(255,255,255); + + + psText* text = (psText*)dialog->GetComp(iID); + + int color = text->GetFGColor(); + if ( color == colourOn ) + text->SetFGColor( colourOff ) ; + else + text->SetFGColor( colourOn ); + + } \ No newline at end of file Index: psdcjob.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/client/gui/psdcjob.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** psdcjob.h 23 Mar 2002 23:37:12 -0000 1.3 --- psdcjob.h 21 Apr 2002 19:59:55 -0000 1.4 *************** *** 33,36 **** --- 33,39 ---- bool Initialize(); + /// Select a job + static void Select(psDialog* , int , void *); + ///Back to the skills screen static void Back(psDialog* dialog, int iID,void *thisptr); *************** *** 39,42 **** --- 42,51 ---- static void Next(psDialog* dialog, int iID,void *thisptr); + ///Helper function to display jobs on the window + void AddJob(const char* aclass, int startX, int startY, + jobVector& vect); + + + int titleColour; }; Index: psdmngr.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/client/gui/psdmngr.cpp,v retrieving revision 1.58 retrieving revision 1.59 diff -C2 -d -r1.58 -r1.59 *** psdmngr.cpp 20 Apr 2002 19:44:23 -0000 1.58 --- psdmngr.cpp 21 Apr 2002 19:59:55 -0000 1.59 *************** *** 480,505 **** if ( !rpgInfo->IsLoaded() ) { - - iFile* file = vfs->Open ("/planeshift/rules/rpgrules.xml", - VFS_FILE_READ); - if (!file || !rpgInfo->LoadData(file)) - { - printf ("Error while loading rpgdata...\n"); - delete newDialog; - newDialog = NULL; - } - SCF_DEC_REF(file); - file = vfs->Open ("/planeshift/rules/advantages.xml", - VFS_FILE_READ); - if (!file || !rpgInfo->LoadAdvantages(file)) - { - printf ("Error while loading ...\n"); - delete newDialog; - newDialog = NULL; - } - SCF_DEC_REF(file); } } --- 480,514 ---- if ( !rpgInfo->IsLoaded() ) { + iFile* file = vfs->Open ("/planeshift/rules/rpgrules.xml", + VFS_FILE_READ); + if (!file || !rpgInfo->LoadData(file)) + { + printf ("Error while loading rpgdata...\n"); + delete newDialog; + newDialog = NULL; + } + SCF_DEC_REF(file); + file = vfs->Open ("/planeshift/rules/advantages.xml", + VFS_FILE_READ); + if (!file || !rpgInfo->LoadAdvantages(file)) + { + printf ("Error while loading ...\n"); + delete newDialog; + newDialog = NULL; + } + SCF_DEC_REF(file); + + file = vfs->Open ("/planeshift/rules/jobs.xml", + VFS_FILE_READ); + if (!file || !rpgInfo->LoadJobs(file)) + { + printf ("Error while loading ...\n"); + delete newDialog; + newDialog = NULL; + } + SCF_DEC_REF(file); } } |