/[enigma]/enigma/src/oxyd.cc
ViewVC logotype

Diff of /enigma/src/oxyd.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.9 by dheck, Thu Mar 27 18:12:27 2003 UTC revision 1.10 by mhawlisch, Fri Mar 28 11:37:13 2003 UTC
# Line 67  namespace Line 67  namespace
67      private:      private:
68          // Private methods          // Private methods
69          void set_item (const Level &level, int x, int y);          void set_item (const Level &level, int x, int y);
70            void set_stone (const Level &level, int x, int y);
71    
72    
73          void load_floor (const Level &level);          void load_floor (const Level &level);
# Line 304  char *LevelPack_Oxyd::stone_map[256] = { Line 305  char *LevelPack_Oxyd::stone_map[256] = {
305      "st-oxyd",                  // 0x0f      "st-oxyd",                  // 0x0f
306      "st-oxyd",                  // 0x10      "st-oxyd",                  // 0x10
307      "st-fakeoxyd",              // 0x11      "st-fakeoxyd",              // 0x11
308      0,                          // 0x12      "st-bluegray",              // 0x12
309      0,                          // 0x13      0,                          // 0x13
310      0,                          // 0x14      0,                          // 0x14
311      "st-rock5",                 // 0x15      "st-rock5",                 // 0x15
# Line 515  LevelPack_Oxyd::load_items (const Level Line 516  LevelPack_Oxyd::load_items (const Level
516  }  }
517    
518  void  void
519    LevelPack_Oxyd::set_stone (const Level &level, int x, int y)
520    {
521        using namespace world;
522    
523        Stone *st = 0;
524        const Grid &grid = level.getGrid (GridType_Pieces);
525        int type = grid.get(x,y);
526    
527        switch( type) {
528        case 0x00: break;           // ignore
529        case 0x51: st = MakeStone("st-puzzle");
530            st->set_attrib("connections", 7);
531            break;
532        case 0x52: st = MakeStone("st-puzzle");
533            st->set_attrib("connections", 4);
534            break;
535        case 0x53: st = MakeStone("st-puzzle");
536            st->set_attrib("connections", 10);
537            break;
538        case 0x54: st = MakeStone("st-puzzle");
539            st->set_attrib("connections",13);
540            break;
541        case 0x55: st = MakeStone("st-puzzle");
542            st->set_attrib("connections", 6);
543            break;
544        case 0x56: st = MakeStone("st-puzzle");
545            st->set_attrib("connections",11);
546            break;
547        case 0x57: st = MakeStone("st-puzzle");
548            st->set_attrib("connections", 9);
549            break;
550        case 0x58: st = MakeStone("st-puzzle");
551            st->set_attrib("connections", 3);
552            break;
553        case 0x59: st = MakeStone("st-puzzle");
554            st->set_attrib("connections", 2);
555            break;
556        case 0x5a: st = MakeStone("st-puzzle");
557            st->set_attrib("connections", 5);
558            break;
559        case 0x5b: st = MakeStone("st-puzzle");
560            st->set_attrib("connections", 16);
561            break;
562        case 0x5c: st = MakeStone("st-puzzle");
563            st->set_attrib("connections", 1);
564            break;
565    
566        case 0x66: st = MakeStone("st-shogun");
567            st->set_attrib("holes", 1);
568            break;
569        case 0x67: st = MakeStone("st-shogun");
570            st->set_attrib("holes", 2);
571            break;
572        case 0x68: st = MakeStone("st-shogun");
573            st->set_attrib("holes", 4);
574            break;
575        case 0x69: st = MakeStone("st-shogun");
576            st->set_attrib("holes", 7);
577            break;
578        case 0x6a: st = MakeStone("st-shogun");
579            st->set_attrib("holes", 6);
580            break;
581        case 0x6b: st = MakeStone("st-shogun");
582            st->set_attrib("holes", 5);
583            break;
584        case 0x6c: st = MakeStone("st-shogun");
585            st->set_attrib("holes", 3);
586            break;
587        default:
588            {
589                const char *name = stone_map[type];
590                st = MakeStone (name ? name : "st-dummy");
591            }
592        }
593        if (st)
594            SetStone (GridPos(x, y), st);
595    }
596    
597    void
598  LevelPack_Oxyd::load_stones (const Level &level)  LevelPack_Oxyd::load_stones (const Level &level)
599  {  {
600      using namespace world;      using namespace world;
# Line 522  LevelPack_Oxyd::load_stones (const Level Line 602  LevelPack_Oxyd::load_stones (const Level
602      const Grid &grid = level.getGrid (GridType_Pieces);      const Grid &grid = level.getGrid (GridType_Pieces);
603      for (unsigned y=0; y<grid.getHeight(); ++y) {      for (unsigned y=0; y<grid.getHeight(); ++y) {
604          for (unsigned x=0; x<grid.getWidth(); ++x) {          for (unsigned x=0; x<grid.getWidth(); ++x) {
605              int val = grid.get(x,y);              set_stone (level, x, y);
             if (!val) continue;  
             const char *name = stone_map[val];  
             Stone *st = MakeStone(name ? name : "st-dummy");  
             SetStone (GridPos(x, y), st);  
606          }          }
607      }      }
608  }  }

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26