[Frontierproject-cvs] frontierproject/src gui_mainscreen.cpp, 1.17, 1.18 widget_painter.cpp, 1.22,
Status: Pre-Alpha
Brought to you by:
bdragon28
|
From: Brandon B. <bdr...@us...> - 2006-06-01 05:23:22
|
Update of /cvsroot/frontierproject/frontierproject/src In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv27271/src Modified Files: gui_mainscreen.cpp widget_painter.cpp Log Message: Wormholes! Index: gui_mainscreen.cpp =================================================================== RCS file: /cvsroot/frontierproject/frontierproject/src/gui_mainscreen.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** gui_mainscreen.cpp 31 May 2006 22:30:02 -0000 1.17 --- gui_mainscreen.cpp 1 Jun 2006 05:23:19 -0000 1.18 *************** *** 162,167 **** // Toolbar implement ! new FXToggleButton(toolbar, "", "", gdArt::getIcon("/gui/flag"), gdArt::getIcon("/gui/flag"), playarea, w_Painter::ID_TOGGLE_PLANETVALUEVIEW,TOGGLEBUTTON_NORMAL|TOGGLEBUTTON_KEEPSTATE); ! new FXToggleButton(toolbar, "", "", gdArt::getIcon("/gui/togglenames"),gdArt::getIcon("/gui/togglenames"),playarea,w_Painter::ID_TOGGLE_SHOWPLANETNAMES,TOGGLEBUTTON_NORMAL|TOGGLEBUTTON_KEEPSTATE); //////////////////////////////////////// --- 162,209 ---- // Toolbar implement ! new FXToggleButton(toolbar, "", "", ! gdArt::getIcon("/gui/toolbar/normal"),gdArt::getIcon("/gui/toolbar/normal"), ! autoTarget::tieInt("/painter/mode",1), ! FXDataTarget::ID_OPTION+w_Painter::MODE_NORMALVIEW, ! TOGGLEBUTTON_NORMAL|TOGGLEBUTTON_KEEPSTATE); ! new FXToggleButton(toolbar, "", "", ! gdArt::getIcon("/gui/toolbar/surface"),gdArt::getIcon("/gui/toolbar/surface"), ! autoTarget::tieInt("/painter/mode",1), ! FXDataTarget::ID_OPTION+w_Painter::MODE_SURFACEMINERALVIEW, ! TOGGLEBUTTON_NORMAL|TOGGLEBUTTON_KEEPSTATE); ! new FXToggleButton(toolbar, "", "", ! gdArt::getIcon("/gui/toolbar/concentration"),gdArt::getIcon("/gui/toolbar/concentration"), ! autoTarget::tieInt("/painter/mode",1), ! FXDataTarget::ID_OPTION+w_Painter::MODE_MINERALCONCVIEW, ! TOGGLEBUTTON_NORMAL|TOGGLEBUTTON_KEEPSTATE); ! new FXToggleButton(toolbar, "", "", ! gdArt::getIcon("/gui/toolbar/percent"),gdArt::getIcon("/gui/toolbar/percent"), ! autoTarget::tieInt("/painter/mode",1), ! FXDataTarget::ID_OPTION+w_Painter::MODE_PLANETVALUEVIEW, ! TOGGLEBUTTON_NORMAL|TOGGLEBUTTON_KEEPSTATE); ! new FXToggleButton(toolbar, "", "", ! gdArt::getIcon("/gui/toolbar/population"),gdArt::getIcon("/gui/toolbar/population"), ! autoTarget::tieInt("/painter/mode",1), ! FXDataTarget::ID_OPTION+w_Painter::MODE_POPULATIONVIEW, ! TOGGLEBUTTON_NORMAL|TOGGLEBUTTON_KEEPSTATE); ! new FXToggleButton(toolbar, "", "", ! gdArt::getIcon("/gui/toolbar/noinfo"),gdArt::getIcon("/gui/toolbar/noinfo"), ! autoTarget::tieInt("/painter/mode",1), ! FXDataTarget::ID_OPTION+w_Painter::MODE_NOPLAYERINFOVIEW, ! TOGGLEBUTTON_NORMAL|TOGGLEBUTTON_KEEPSTATE); ! ! // new FXToggleButton(toolbar, "", "", gdArt::getIcon("/gui/toolbar/flag"), gdArt::getIcon("/gui/toolbar/flag"), playarea, w_Painter::ID_TOGGLE_PLANETVALUEVIEW,TOGGLEBUTTON_NORMAL|TOGGLEBUTTON_KEEPSTATE); ! new FXToggleButton(toolbar, "", "", ! gdArt::getIcon("/gui/toolbar/flag"),gdArt::getIcon("/gui/toolbar/flag"), ! autoTarget::tieBool("/painter/overlay/flags",true), ! FXDataTarget::ID_VALUE,TOGGLEBUTTON_NORMAL|TOGGLEBUTTON_KEEPSTATE); ! new FXToggleButton(toolbar, "", "", ! gdArt::getIcon("/gui/toolbar/togglenames"),gdArt::getIcon("/gui/toolbar/togglenames"), ! autoTarget::tieBool("/painter/overlay/planetnames",true), ! FXDataTarget::ID_VALUE,TOGGLEBUTTON_NORMAL|TOGGLEBUTTON_KEEPSTATE); ! new FXToggleButton(toolbar, "", "", ! gdArt::getIcon("/gui/toolbar/sco"),gdArt::getIcon("/gui/toolbar/sco"), ! autoTarget::tieBool("/painter/overlay/scanners",true), ! FXDataTarget::ID_VALUE,TOGGLEBUTTON_NORMAL|TOGGLEBUTTON_KEEPSTATE); //////////////////////////////////////// Index: widget_painter.cpp =================================================================== RCS file: /cvsroot/frontierproject/frontierproject/src/widget_painter.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** widget_painter.cpp 31 May 2006 22:31:30 -0000 1.22 --- widget_painter.cpp 1 Jun 2006 05:23:19 -0000 1.23 *************** *** 52,56 **** FXMAPFUNC(SEL_COMMAND, w_Painter::ID_ZOOMIN, w_Painter::onCommand ), FXMAPFUNC(SEL_COMMAND, w_Painter::ID_ZOOMOUT, w_Painter::onCommand ), ! FXMAPFUNC(SEL_COMMAND, w_Painter::ID_TOGGLE_SHOWPLANETNAMES, w_Painter::onCommand), FXMAPFUNC(SEL_COMMAND, w_Painter::ID_TOGGLE_PLANETVALUEVIEW, w_Painter::onCommand), // FXMAPFUNC(SEL_UPDATE, w_Painter::ID_UPD_PLANETNAMES, w_Painter::onCommand), --- 52,56 ---- FXMAPFUNC(SEL_COMMAND, w_Painter::ID_ZOOMIN, w_Painter::onCommand ), FXMAPFUNC(SEL_COMMAND, w_Painter::ID_ZOOMOUT, w_Painter::onCommand ), ! // FXMAPFUNC(SEL_COMMAND, w_Painter::ID_TOGGLE_SHOWPLANETNAMES, w_Painter::onCommand), FXMAPFUNC(SEL_COMMAND, w_Painter::ID_TOGGLE_PLANETVALUEVIEW, w_Painter::onCommand), // FXMAPFUNC(SEL_UPDATE, w_Painter::ID_UPD_PLANETNAMES, w_Painter::onCommand), *************** *** 73,80 **** dc.setForeground(FXRGB(255,255,0)); ! calcFont(dc); drawScanners(dc); //drawPlanets(dc); --- 73,82 ---- dc.setForeground(FXRGB(255,255,0)); ! dc.setFont(planetFont); drawScanners(dc); + drawWormholes(dc); + //drawPlanets(dc); *************** *** 87,91 **** drawRoute(dc); - drawWormholes(dc); drawSelectMarker(dc); --- 89,92 ---- *************** *** 114,120 **** mLastSelected = 0; mpLastSelected = 0; FXScrollArea::create(); ! tinyFont = new FXFont(getApp(),"Tahoma,70"); smallFont = new FXFont(getApp(),"Tahoma,80"); normalFont = new FXFont(getApp(),"Tahoma,100"); --- 115,122 ---- mLastSelected = 0; mpLastSelected = 0; + scanner_effectiveness = 1.0f; FXScrollArea::create(); ! tinyFont = new FXFont(getApp(),"Tahoma,70"); ///@todo Make this configurable smallFont = new FXFont(getApp(),"Tahoma,80"); normalFont = new FXFont(getApp(),"Tahoma,100"); *************** *** 132,139 **** uMaxY = static_cast<FXshort>(TheGalaxy->MaxY()); - d_drawFlags = static_cast<FXbool*>(autoTarget::tieBool("/painter/show/planetnames",true)->getData()); simulateShift = static_cast<FXbool*>(autoTarget::tieBool("/painter/forceshift",false)->getData()); } --- 134,151 ---- uMaxY = static_cast<FXshort>(TheGalaxy->MaxY()); simulateShift = static_cast<FXbool*>(autoTarget::tieBool("/painter/forceshift",false)->getData()); + + //@@@ not actually in stars + overlayFlags = static_cast<FXbool*>(autoTarget::tieBool("/painter/overlay/flags",true)->getData()); + overlayPlanetNames = static_cast<FXbool*>(autoTarget::tieBool("/painter/overlay/planetnames",true)->getData()); + overlayMineFields = static_cast<FXbool*>(autoTarget::tieBool("/painter/overlay/minefields",true)->getData()); + overlayFleetPaths = static_cast<FXbool*>(autoTarget::tieBool("/painter/overlay/fleetpaths",true)->getData()); + overlayShipCounts = static_cast<FXbool*>(autoTarget::tieBool("/painter/overlay/shipcounts",true)->getData()); + overlayScanners = static_cast<FXbool*>(autoTarget::tieBool("/painter/overlay/scanners",true)->getData()); + + mode = static_cast<FXint*>(autoTarget::tieInt("/painter/mode",1)->getData()); + wh = gdArt::getIcon("/gui/painter/wormhole"); } *************** *** 162,165 **** --- 174,178 ---- void w_Painter::drawScanners(FXDCWindow &dc) { + if(!*overlayScanners) return; FreeStars::Planet *curPlanet; int i; *************** *** 178,183 **** X = (pX-u2sl(curPlanet->GetScanSpace()/2)); Y = (pY-u2sl(curPlanet->GetScanSpace()/2)); ! W = u2sl(curPlanet->GetScanSpace()); ! H = u2sl(curPlanet->GetScanSpace()); dc.fillArc(X,Y,W,H,64*0,64*360); } --- 191,196 ---- X = (pX-u2sl(curPlanet->GetScanSpace()/2)); Y = (pY-u2sl(curPlanet->GetScanSpace()/2)); ! W = u2sl(curPlanet->GetScanSpace()*scanner_effectiveness); ! H = u2sl(curPlanet->GetScanSpace()*scanner_effectiveness); dc.fillArc(X,Y,W,H,64*0,64*360); } *************** *** 381,406 **** using FreeStars::Wormhole; ! CGalaxy* f = dynamic_cast<CGalaxy*>(TheGalaxy); ! ! //deque<Wormhole*>::const_iterator wh = (dynamic_cast<CGalaxy*>(FreeStars::TheGalaxy))->GetWormholes(); ! ! const std::deque<FreeStars::Wormhole*> &wh = f->GetWormholes(); ! ! //dynamic_cast<CGalaxy*>(FreeStars::TheGalaxy)->GetWormholes(start,end); ! ! for(std::deque<FreeStars::Wormhole*>::const_iterator it=wh.begin();it!=wh.end();++it) { CLOG("Wormhole at %u,%u\n",(*it)->GetPosX(),(*it)->GetPosY()); } - - - - - //@@@ Remove these 3 lines ASAP!!! @@@ - //dc.setForeground(FXRGB(255,0,255)); - //dc.setBackground(FXRGB(255,0,255)); - //dc.drawPoint(u2sx(1079),u2sy(1047)); - //@@@ - } --- 394,404 ---- using FreeStars::Wormhole; ! const deque<Wormhole*> &w = dynamic_cast<CGalaxy*>(TheGalaxy)->GetWormholes(); ! for(deque<Wormhole*>::const_iterator it=w.begin();it!=w.end();++it) { + //Wormhole is currently a 9x9 icon. Offset 4 left and 4 up to center. + dc.drawIcon(wh,u2sx((*it)->GetPosX())-4,u2sy((*it)->GetPosY())-4); CLOG("Wormhole at %u,%u\n",(*it)->GetPosX(),(*it)->GetPosY()); } } *************** *** 493,497 **** { using FreeStars::Planet; - // int foo; FXshort pX, pY; --- 491,494 ---- *************** *** 516,526 **** Y = pY - (H/2); - // X = (u2sx(curPlanet->GetPosX())-(getPlanetWidth(curPlanet))/2); - // Y = (u2sy(curPlanet->GetPosY())-(getPlanetWidth(curPlanet))/2); - dc.fillArc(X,Y,W,H,64*0,64*360); //@@@Hacked in from above routine. ! if (flag_showplanetnames) { //user wants planet text. --- 513,520 ---- Y = pY - (H/2); dc.fillArc(X,Y,W,H,64*0,64*360); //@@@Hacked in from above routine. ! if (*overlayPlanetNames) { //user wants planet text. *************** *** 528,533 **** dc.drawText(pX+10, pY+ 10, - //en.world.planets[foo].name->text(), - //en.world.planets[foo].name->length()); curPlanet->GetName().c_str(), curPlanet->GetName().length()); --- 522,525 ---- *************** *** 535,545 **** dc.drawText(pX+ 11, pY+ 11, - //en.world.planets[foo].name->text(), - //en.world.planets[foo].name->length()); curPlanet->GetName().c_str(), curPlanet->GetName().length()); dc.setForeground(FXRGB(0,255,0)); } ! } //*/ } } --- 527,535 ---- dc.drawText(pX+ 11, pY+ 11, curPlanet->GetName().c_str(), curPlanet->GetName().length()); dc.setForeground(FXRGB(0,255,0)); } ! } } } *************** *** 547,550 **** --- 537,541 ---- void w_Painter::drawFlags(FXDCWindow &dc) { + if(!*overlayFlags) return; // Note: I don't have a test for this code yet. // In theory, it works. *************** *** 603,616 **** } ! void w_Painter::calcFont(FXDCWindow &dc) { //Determine which font to use, depending on zoom. //@@@Sometime, do this more scientifically. const double mult = 2; ! if(zoom<1*mult) dc.setFont(tinyFont); ! else if(zoom < 1.5*mult) dc.setFont(smallFont); ! else if(zoom < 2*mult) dc.setFont(normalFont); ! else if(zoom < 2.5*mult) dc.setFont(largeFont); ! else dc.setFont(largestFont); } --- 594,607 ---- } ! void w_Painter::calcFont() { //Determine which font to use, depending on zoom. //@@@Sometime, do this more scientifically. const double mult = 2; ! if(zoom<1*mult) planetFont = tinyFont; ! else if(zoom < 1.5*mult) planetFont = smallFont; ! else if(zoom < 2*mult) planetFont = normalFont; ! else if(zoom < 2.5*mult) planetFont = largeFont; ! else planetFont = largestFont; } *************** *** 933,939 **** --- 924,939 ---- zoom = z; + + calcFont(); + layout(); } + void w_Painter::setScanEffectiveness(FXfloat eff) + { + CLOG("Painter: Setting scanner effectiveness to %f\n",eff); + scanner_effectiveness = eff; + } + long w_Painter::onMouseWheel(FXObject*, FXSelector, void *ptr) { *************** *** 964,971 **** setZoom(zoom*0.5f); break; ! case ID_TOGGLE_SHOWPLANETNAMES: flag_showplanetnames = static_cast<FXbool>(FXuval(p)); //repaint(); ! break; case ID_TOGGLE_PLANETVALUEVIEW: flag_planetvalueview = static_cast<FXbool>(FXuval(p)); --- 964,971 ---- setZoom(zoom*0.5f); break; ! /* case ID_TOGGLE_SHOWPLANETNAMES: flag_showplanetnames = static_cast<FXbool>(FXuval(p)); //repaint(); ! break; */ case ID_TOGGLE_PLANETVALUEVIEW: flag_planetvalueview = static_cast<FXbool>(FXuval(p)); |