User Tag List

Results 1 to 5 of 5

Thread: [Visual] Freeform Combo Transparency

  1. #1
    Lynel Majora's Avatar
    Join Date
    Mar 2006
    Age
    26
    Posts
    1,195
    Mentioned
    24 Post(s)
    Tagged
    7 Thread(s)
    vBActivity - Stats
    Points
    4,138
    Level
    20
    vBActivity - Bars
    Lv. Percent
    40.72%
    Daily Activity
    0%
    Weekly Activity
    10%
    Monthly Activity
    47.4%

    New Bug [Visual] Freeform Combo Transparency

    Is gone. I have some 2x2 tile FFCs and the transparent pixels are black.

  2. #2
    Friends Furever XMuppetSB's Avatar
    Join Date
    Dec 2005
    Location
    San Antonio, Texas
    Age
    28
    Posts
    1,931
    Mentioned
    6 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    6,111
    Level
    24
    vBActivity - Bars
    Lv. Percent
    16.31%
    Daily Activity
    0%
    Weekly Activity
    10%
    Monthly Activity
    47.4%
    I tested this in 2.50.1RC2 and I'm not seeing this. Would you mind posting a test quest?
    Last edited by XMuppetSB; 04-12-2014 at 07:54 PM.

  3. #3
    Lynel Majora's Avatar
    Join Date
    Mar 2006
    Age
    26
    Posts
    1,195
    Mentioned
    24 Post(s)
    Tagged
    7 Thread(s)
    vBActivity - Stats
    Points
    4,138
    Level
    20
    vBActivity - Bars
    Lv. Percent
    40.72%
    Daily Activity
    0%
    Weekly Activity
    10%
    Monthly Activity
    47.4%
    I'll get a test quest later but in the meantime,
    https://www.dropbox.com/s/fjn513ae85mn3pm/zelda007.png

    https://www.dropbox.com/s/nrd0bgce7ceig0s/zelda008.png

    It might have something to do with the script I have on those rocks so here it is:

    Code:
    //Moosh's Large Push Block Script V1.0//D0: Set this to 1 if you want the block to only be pushable once
    //D1: Push directions:
    //	0=Up
    //	1=Down
    //	2=Left
    //	3=Right
    //	4=Vertical
    //	5=Horizontal
    //	6=4-Way
    //D2: Set this to 1 if you want the block to trigger a temporary secret
    //	Set this to 2 if you want the block to trigger a permanent secret
    //D3: If you want the push block to require an item to use, set this to the ID # of the item
    //Set the screen's under combo for the under combo the block uses
    //Be sure to check the quest rule that makes FFCs visible while the screen is scrolling
    ffc script BigPush{
    	bool CanWalkFlag(int flag, int x, int y, int dir, int step, bool full_tile) {
    		int c=8;
    		int xx = x+15;
    		int yy = y+15;
    		if(full_tile) c=0;
    		if(dir==0) return !(Screen->ComboF[ComboAt(x,y+c-step)]==flag||Screen->ComboF[ComboAt(x+8,y+c-step)]==flag||Screen->ComboF[ComboAt(xx,y+c-step)]==flag);
    		else if(dir==1) return !(Screen->ComboF[ComboAt(x,yy+step)]==flag||Screen->ComboF[ComboAt(x+8,yy+step)]==flag||Screen->ComboF[ComboAt(xx,yy+step)]==flag);
    		else if(dir==2) return !(Screen->ComboF[ComboAt(x-step,y+c)]==flag||Screen->ComboF[ComboAt(x-step,y+c+7)]==flag||Screen->ComboF[ComboAt(x-step,yy)]==flag);
    		else if(dir==3) return !(Screen->ComboF[ComboAt(xx+step,y+c)]==flag||Screen->ComboF[ComboAt(xx+step,y+c+7)]==flag||Screen->ComboF[ComboAt(xx+step,yy)]==flag);
    		return false;
    	}
    	bool CanWalkBig(ffc f, int x, int y, int dir, int step){
    		if(dir==DIR_UP||dir==DIR_DOWN){
    			if(dir==DIR_DOWN)y+=16*(f->TileHeight-1);
    			for(int i=0; i<=f->TileWidth-1; i++){
    				if(!CanWalk(x+i*16, y, dir, step, true))return false;
    			}
    			return true;
    		}
    		else if(dir==DIR_RIGHT||dir==DIR_LEFT){
    			if(dir==DIR_RIGHT)x+=16*(f->TileWidth-1);
    			for(int i=0; i<=f->TileHeight-1; i++){
    				if(!CanWalk(x, y+i*16, dir, step, true))return false;
    			}
    			return true;
    		}
    	}
    	bool CanWalkFlagBig(int flag, ffc f, int x, int y, int dir, int step){
    		if(dir==DIR_UP||dir==DIR_DOWN){
    			if(dir==DIR_DOWN)y+=16*(f->TileHeight-1);
    			for(int i=0; i<=f->TileWidth-1; i++){
    				if(!CanWalkFlag(flag, x+i*16, y, dir, step, true))return false;
    			}
    			return true;
    		}
    		else if(dir==DIR_RIGHT||dir==DIR_LEFT){
    			if(dir==DIR_RIGHT)x+=16*(f->TileWidth-1);
    			for(int i=0; i<=f->TileHeight-1; i++){
    				if(!CanWalkFlag(flag, x, y+i*16, dir, step, true))return false;
    			}
    			return true;
    		}
    	}
    	void MoveBlock(ffc f, int dir){
    		Game->PlaySound(SFX_PUSHBLOCK);
    		for(int x=0; x<=f->TileWidth-1; x++){
    			for(int y=0; y<=f->TileHeight-1; y++){
    				Screen->ComboD[ComboAt(f->X+8+x*16, f->Y+8+y*16)]=Screen->UnderCombo;
    				Screen->ComboC[ComboAt(f->X+8+x*16, f->Y+8+y*16)]=Screen->UnderCSet;
    			}
    		}
    		for(int i=0; i<=15; i++){
    			if(dir==DIR_DOWN)f->Y++;
    			else if(dir==DIR_UP)f->Y--;
    			else if(dir==DIR_RIGHT)f->X++;
    			else if(dir==DIR_LEFT)f->X--;
    			WaitNoAction();
    		}
    		for(int x=0; x<=f->TileWidth-1; x++){
    			for(int y=0; y<=f->TileHeight-1; y++){
    				Screen->ComboD[ComboAt(f->X+8+x*16, f->Y+8+y*16)]=f->Data+x+4*y;
    				Screen->ComboC[ComboAt(f->X+8+x*16, f->Y+8+y*16)]=f->CSet;
    			}
    		}
    	}
    	void run(int temp, int dir, int trigger, int itemreq){
    		int tics=0;
    		bool pushable=true;
    		this->X=GridX(this->X+8);
    		this->Y=GridY(this->Y+8);
    		for(int x=0; x<=this->TileWidth-1; x++){
    			for(int y=0; y<=this->TileHeight-1; y++){
    				Screen->ComboD[ComboAt(this->X+8+x*16, this->Y+8+y*16)]=this->Data+x+4*y;
    				Screen->ComboC[ComboAt(this->X+8+x*16, this->Y+8+y*16)]=this->CSet;
    			}
    		}
    		while(true){
    			if(itemreq==0||Link->Item[itemreq]){
    				if(dir!=2&&dir!=3&&dir!=5&&Link->X>=this->X-8&&Link->X<=this->X+8+(this->TileWidth-1)*16&&this->Y>0&&this->Y<160-(this->TileHeight-1)*16){
    					if(dir!=0&&pushable&&CanWalkBig(this, this->X, this->Y, DIR_DOWN, 16)&&CanWalkFlagBig(67, this, this->X, this->Y, DIR_DOWN, 16)&&Link->Y==this->Y-16&&Link->Dir==DIR_DOWN&&Link->InputDown){
    						tics++;
    						if(tics==5){
    							MoveBlock(this, DIR_DOWN);
    							if(temp>0)pushable=false;
    							if(trigger>0){
    								Game->PlaySound(SFX_SECRET);
    								Screen->TriggerSecrets();
    								if(trigger>1)Screen->State[ST_SECRET]=true;
    							}
    						}
    					}
    					else if(dir!=1&&pushable&&CanWalkBig(this, this->X, this->Y, DIR_UP, 16)&&CanWalkFlagBig(67, this, this->X, this->Y, DIR_UP, 16)&&Link->Y==this->Y+8+(this->TileHeight-1)*16&&Link->Dir==DIR_UP&&Link->InputUp){
    						tics++;
    						if(tics==5){
    							MoveBlock(this, DIR_UP);
    							if(temp==1)pushable=false;
    							if(trigger>0){
    								Game->PlaySound(SFX_SECRET);
    								Screen->TriggerSecrets();
    								if(trigger>1)Screen->State[ST_SECRET]=true;
    							}
    						}
    					}
    					else if(tics!=0)tics=0;
    				}
    				else if(dir!=0&&dir!=1&&dir!=4&&Link->Y>=this->Y-8&&Link->Y<=this->Y+(this->TileHeight-1)*16&&this->X>0&&this->X<240-(this->TileWidth-1)*16){
    					if(dir!=2&&pushable&&CanWalkBig(this, this->X, this->Y, DIR_RIGHT, 16)&&CanWalkFlagBig(67, this, this->X, this->Y, DIR_RIGHT, 16)&&Link->X==this->X-16&&Link->Dir==DIR_RIGHT&&Link->InputRight){
    						tics++;
    						if(tics==5){
    							MoveBlock(this, DIR_RIGHT);
    							if(temp==1)pushable=false;
    							if(trigger>0){
    								Game->PlaySound(SFX_SECRET);
    								Screen->TriggerSecrets();
    								if(trigger>1)Screen->State[ST_SECRET]=true;
    							}
    						}
    					}
    					else if(dir!=3&&pushable&&CanWalkBig(this, this->X, this->Y, DIR_LEFT, 16)&&CanWalkFlagBig(67, this, this->X, this->Y, DIR_LEFT, 16)&&Link->X==this->X+16+(this->TileWidth-1)*16&&Link->Dir==DIR_LEFT&&Link->InputLeft){
    						tics++;
    						if(tics==5){
    							MoveBlock(this, DIR_LEFT);
    							if(temp==1)pushable=false;
    							if(trigger>0){
    								Game->PlaySound(SFX_SECRET);
    								Screen->TriggerSecrets();
    								if(trigger>1)Screen->State[ST_SECRET]=true;
    							}
    						}
    					}
    					else if(tics!=0)tics=0;
    				}
    			}
    			Waitframe();
    		}
    	}
    }

  4. #4
    Is this the end?
    ZC Developer
    Saffith's Avatar
    Join Date
    Jan 2001
    Age
    35
    Posts
    3,348
    Mentioned
    171 Post(s)
    Tagged
    6 Thread(s)
    vBActivity - Stats
    Points
    6,077
    Level
    24
    vBActivity - Bars
    Lv. Percent
    10.75%
    Daily Activity
    0%
    Weekly Activity
    10%
    Monthly Activity
    47.4%
    The script starts out by changing the combos under the FFC to the next ones in the list. Do you have those set up correctly?
    [téknolŕiz]

    ffcscript.zh 1.1.1 - Updated 2014-08-19
    ghost.zh 2.8.2 - Updated 2017-09-10
    tango.zh 1.3.1 - Updated 2017-12-27

  5. #5
    Nine-Tailed Goddess Tamamo's Avatar
    Join Date
    May 2011
    Location
    Kobe
    Age
    28
    Posts
    838
    Mentioned
    95 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    5,176
    Level
    22
    vBActivity - Bars
    Lv. Percent
    48.87%
    Daily Activity
    0%
    Weekly Activity
    10%
    Monthly Activity
    239.28%
    @Majora
    Can you confirm if this is still happening?

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •