Show
Ignore:
Timestamp:
12/18/09 20:41:38 (2 years ago)
Author:
Thibaut GIRKA <thib@…>
Branch:
default
Message:
Replaced SATURATE -> ADD, implemented objComposite, corrected minor things
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • scn2k/scn2k_grp.cc

    r56 r60  
    169169        if (picture == NULL) return; 
    170170        if (attr & UPDATE_POS) { 
    171                 if ( (attr & SATURATE) || zoom != -1) { 
     171                if (zoom != -1) { 
    172172                        int w=0, h=0; 
    173173                        GetSrcGeom(w,h); 
     
    239239                        picture->SetSurfaceRect(Rect(0,0,width,height)); 
    240240                } 
    241                 if (attr & SATURATE) 
    242                         picture->SetSurfaceAttribute(PicBase::BLIT_SATURATE); 
     241                if (attr & BLIT_ADD) 
     242                        picture->SetSurfaceAttribute(PicBase::BLIT_ADD); 
    243243        } else if (gtype == MOJI) { // ¥Æ¥­¥¹¥ÈÉÁ²è 
    244244                if (print_moji.length() == 0) return; 
     
    397397        } 
    398398 
    399         picture->SetSurfaceAttribute(PicBase::BLIT_SATURATE); 
    400         attr = Attribute(attr | UPDATE_POS | SATURATE); 
     399        attr = Attribute(attr | UPDATE_POS); 
    401400 
    402401        const char* buf = data + 16; 
     
    632631        RegisterCommand(1, 33, 1201, "recFill", (CmdImpl) &Grp::impl_recFill); 
    633632        RegisterCommand(1, 33, 1100, "recCopy", (CmdImpl) &Grp::impl_recCopy); 
    634         RegisterCommand(1, 33, 1101, "recMaskCopy", NULL); //FIXME 
     633        RegisterCommand(1, 33, 1101, "recMaskCopy", NULL); //TODO: Same thing as recCopy, but using source's alpha 
    635634        RegisterCommand(1, 33, 1600, "recAdd", (CmdImpl) &Grp::impl_recAdd); 
    636635        RegisterCommand(1, 33, 406, "grpPan", (CmdImpl) &Grp::impl_grpPan); 
     
    735734        RegisterCommand(1, 81, 1020, "objColLevel", NULL); 
    736735        RegisterCommand(1, 82, 1020, "objBgColLevel", NULL); 
    737         RegisterCommand(1, 81, 1021, "objComposite", NULL);//(CmdImpl) &Grp::impl_objComposite); //FIXME: May be broken 
     736        RegisterCommand(1, 81, 1021, "objComposite", (CmdImpl) &Grp::impl_objComposite); //FIXME: May be broken 
    738737        RegisterCommand(1, 82, 1021, "objBgComposite", (CmdImpl) &Grp::impl_objComposite); 
    739738        RegisterCommand(1, 81, 1024, "objSetText", (CmdImpl) &Grp::impl_objSetText); 
     
    15541553 
    15551554        //TODO: ??? 
    1556         if (cmd.cmd1 == 1 && cmd.cmd2 == 0x3c && cmd.cmd3 == 0) { // ??? : KANOGI : ²èÁü¥ª¥Ö¥ž¥§¥¯¥È€Îºïœü¡© 
     1555        if (cmd.cmd1 == 1 && cmd.cmd2 == 60 && cmd.cmd3 == 0) { // ??? : KANOGI : ²èÁü¥ª¥Ö¥ž¥§¥¯¥È€Îºïœü¡© 
    15571556                DeleteObjPic(cmd.args[0].value); // µì¥Õ¥¡¥€¥ëÌŸ€Îsurface€òºïœü 
    15581557                GrpObj& g = grpobj[cmd.args[0].value]; 
     
    15611560        } 
    15621561 
    1563         //TODO: ??? 
    1564         if ( (cmd.cmd1 == 1 || cmd.cmd1 == 2) && cmd.cmd2 == 0x51) { 
    1565                 /*GrpObj& g = grpobj[cmd.args[0].value]; 
    1566                 int attr; 
    1567                 GrpObjMap::iterator it; 
    1568                 for (it = g.children_obj.begin(); it != g.children_obj.end(); it++) 
    1569                         attr |= it->second.attr; 
    1570                 if (attr & GrpObj::UPDATE_ALL) 
    1571                         SetObjChanged(cmd.args[0].value);*/ 
     1562        // Refresh changed objects... 
     1563        //FIXME: should may be go away? 
     1564        //Seems it'll work only for objects in the foreground 
     1565        if ( (cmd.cmd1 == 1 || cmd.cmd1 == 2) && cmd.cmd2 == 81) { 
    15721566                GrpObj* g; 
    15731567                if (cmd.cmd1 == 2)