function SpellcardName(name,number){

if(time==0){
	loop(2){
	let i=0;
	let wordsize=0;
	let newword=0;
		while(i<(length(name))){
		
		let letterwidth=[0,0,0];
		if(name[i]=='a'){ letterwidth=[1,11,8]; } if(name[i]=='A'){ letterwidth=[249,261,11]; }
		if(name[i]=='b'){ letterwidth=[11,21,9]; } if(name[i]=='B'){ letterwidth=[262,274,10]; }
		if(name[i]=='c'){ letterwidth=[21,29,7]; } if(name[i]=='C'){ letterwidth=[274,284,9]; }
		if(name[i]=='d'){ letterwidth=[30,40,9]; } if(name[i]=='D'){ letterwidth=[285,297,12]; }
		if(name[i]=='e'){ letterwidth=[40,48,8]; } if(name[i]=='E'){ letterwidth=[298,308,10]; }
		if(name[i]=='f'){ letterwidth=[49,57,7]; } if(name[i]=='F'){ letterwidth=[309,319,8]; }	
		if(name[i]=='g'){ letterwidth=[58,68,9]; } if(name[i]=='G'){ letterwidth=[319,329,10]; }
		if(name[i]=='h'){ letterwidth=[68,78,9]; } if(name[i]=='H'){ letterwidth=[330,340,11]; }
		if(name[i]=='i'){ letterwidth=[79,85,4]; } if(name[i]=='I'){ letterwidth=[341,347,4]; }	
		if(name[i]=='j'){ letterwidth=[85,93,8]; } if(name[i]=='J'){ letterwidth=[347,355,8]; }
		if(name[i]=='k'){ letterwidth=[94,102,8]; } if(name[i]=='K'){ letterwidth=[356,366,10]; }
		if(name[i]=='l'){ letterwidth=[103,109,5]; } if(name[i]=='L'){ letterwidth=[367,377,9]; }
		if(name[i]=='m'){ letterwidth=[110,124,13]; } if(name[i]=='M'){ letterwidth=[377,391,12]; }
		if(name[i]=='n'){ letterwidth=[124,134,9]; } if(name[i]=='N'){ letterwidth=[391,403,11]; }
		if(name[i]=='o'){ letterwidth=[134,142,8]; } if(name[i]=='O'){ letterwidth=[403,415,10]; }
		if(name[i]=='p'){ letterwidth=[143,153,9]; } if(name[i]=='P'){ letterwidth=[415,425,9]; }
		if(name[i]=='q'){ letterwidth=[154,164,9]; } if(name[i]=='Q'){ letterwidth=[426,438,11]; }
		if(name[i]=='r'){ letterwidth=[164,172,7]; } if(name[i]=='R'){ letterwidth=[438,450,10]; }
		if(name[i]=='s'){ letterwidth=[172,180,7]; } if(name[i]=='S'){ letterwidth=[450,460,9]; }
		if(name[i]=='t'){ letterwidth=[180,188,7]; } if(name[i]=='T'){ letterwidth=[461,471,9]; }
		if(name[i]=='u'){ letterwidth=[188,196,8]; } if(name[i]=='U'){ letterwidth=[471,483,11]; }
		if(name[i]=='v'){ letterwidth=[197,207,9]; } if(name[i]=='V'){ letterwidth=[483,495,10]; }
		if(name[i]=='w'){ letterwidth=[207,221,12]; } if(name[i]=='W'){ letterwidth=[495,511,14]; }
		if(name[i]=='x'){ letterwidth=[221,231,8]; } if(name[i]=='X'){ letterwidth=[511,523,11]; }
		if(name[i]=='y'){ letterwidth=[231,239,8]; } if(name[i]=='Y'){ letterwidth=[523,535,10]; }
		if(name[i]=='z'){ letterwidth=[240,248,8]; } if(name[i]=='Z'){ letterwidth=[535,545,9]; }

		if(name[i]=='1'){ letterwidth=[545,551,6]; } if(name[i]=='2'){ letterwidth=[552,562,9]; }
		if(name[i]=='3'){ letterwidth=[562,572,9]; } if(name[i]=='4'){ letterwidth=[572,582,10]; }
		if(name[i]=='5'){ letterwidth=[583,591,8]; } if(name[i]=='6'){ letterwidth=[592,602,10]; }
		if(name[i]=='7'){ letterwidth=[603,611,8]; } if(name[i]=='8'){ letterwidth=[612,622,10]; }
		if(name[i]=='9'){ letterwidth=[623,633,9]; } if(name[i]=='0'){ letterwidth=[633,643,10]; }

		if(name[i]=='?'){ letterwidth=[644,654,9]; } if(name[i]=='!'){ letterwidth=[654,658,4]; } // ? !
		if(name[i]=='.'){ letterwidth=[659,663,3]; } if(name[i]==','){ letterwidth=[663,667,3]; } // . ,
		if(name[i]==':'){ letterwidth=[667,671,4]; } if(name[i]=='`'){ letterwidth=[672,676,3]; } // : '
		if(name[i]=='['){ letterwidth=[676,682,5]; } if(name[i]==']'){ letterwidth=[683,689,6]; } // " x2
		if(name[i]=='@'){ letterwidth=[690,702,12]; } if(name[i]=='#'){ letterwidth=[703,711,8]; } // @ #
		if(name[i]=='%'){ letterwidth=[712,728,15]; } if(name[i]=='&'){ letterwidth=[728,742,13]; } // % &
		if(name[i]=='('){ letterwidth=[754,760,6]; } if(name[i]==')'){ letterwidth=[761,767,5]; } // ( )
		if(name[i]=='<'){ letterwidth=[767,777,9]; } if(name[i]=='>'){ letterwidth=[777,787,9]; } // < >
		if(name[i]=='*'){ letterwidth=[742,754,11]; } if(name[i]=='-'){ letterwidth=[787,795,9]; } // * -

		if(name[i]=='+'){ letterwidth=[0,0,5]; newword=1; wordsize=300; } // Enter
		if(name[i]==' '){ letterwidth=[0,0,5]; newword=1; } // Space

		let xsize=letterwidth[1]-letterwidth[0];
		let ysize=18;
		let scale=1;
		let letterfade=0;
		letter=(Obj_Create(OBJ_EFFECT));
		if(wordsize>250 && newword==1){ wordsize=-5; nameypos+=14; newword=0; }
		Obj_SetPosition(letter,namexpos+wordsize,nameypos); ObjEffect_SetScale(letter,scale,scale);
		ObjEffect_SetLayer(letter,7); ObjEffect_SetTexture(letter,EFtext); ObjEffect_SetRenderState(letter,ALPHA);
		ObjEffect_SetPrimitiveType(letter,PRIMITIVE_TRIANGLESTRIP); ObjEffect_CreateVertex(letter,4);
		ObjEffect_SetVertexXY(letter,0,0,-(ysize/2)); ObjEffect_SetVertexUV(letter,0,letterwidth[0],0);
		ObjEffect_SetVertexXY(letter,1,xsize,-(ysize/2)); ObjEffect_SetVertexUV(letter,1,letterwidth[1],0);
		ObjEffect_SetVertexXY(letter,2,0,ysize/2); ObjEffect_SetVertexUV(letter,2,letterwidth[0],ysize);
		ObjEffect_SetVertexXY(letter,3,xsize,ysize/2); ObjEffect_SetVertexUV(letter,3,letterwidth[1],ysize);
		ObjEffect_SetVertexColor(letter,0,letterfade,namered,namegreen,nameblue); ObjEffect_SetVertexColor(letter,1,letterfade,namered,namegreen,nameblue);
		ObjEffect_SetVertexColor(letter,2,letterfade,namered,namegreen,nameblue); ObjEffect_SetVertexColor(letter,3,letterfade,namered,namegreen,nameblue);
		letters=letters~[letter];
		lettertimer=lettertimer~[letter];
		lettertimer[length(letters)-1]=0;
		letterx=letterx~[letter];
		letterx[length(letters)-1]=Obj_GetX(letter);
		lettery=lettery~[letter];
		lettery[length(letters)-1]=Obj_GetY(letter);
		letterscale=letterscale~[letter];
		letterscale[length(letters)-1]=1;

		wordsize+=letterwidth[2];
		newword=0;
		
		i++;
		}
	nameypos+=14;
	
	let skiprest=0;
	let diffi=GetCommonData("Difficulty");
	let number=GetCommonData("SpellcardData")[spellcardnumber];
	if(spellcardnumber==0){ skiprest=1; namecolor=0; name=""; }	
	if(skiprest==0 && number>=5){ name="<Already Cleared>"; namecolor=2; skiprest=1; }
	if(skiprest==0 && number>=4){ name="<Cleared Lunatic>"; if(diffi<=number){ namecolor=2; } else{ namecolor=1; } skiprest=1; }
	if(skiprest==0 && number>=3){ name="<Cleared Hard>"; if(diffi<=number){ namecolor=2; } else{ namecolor=1; } skiprest=1; }
	if(skiprest==0 && number>=2){ name="<Cleared Normal>"; if(diffi<=number){ namecolor=2; } else{ namecolor=1; } skiprest=1; }
	if(skiprest==0 && number>=1){ name="<Cleared Easy>"; if(diffi<=number){ namecolor=2; } else{ namecolor=1; } skiprest=1; }
	if(number<diffi && skiprest==0){ name="<Not Cleared Yet>"; namecolor=1; skiprest=1; }
	if(namecolor==0){ namered=255; namegreen=255; nameblue=255; }
	if(namecolor==1){ namered=255; namegreen=180; nameblue=180; }
	if(namecolor==2){ namered=180; namegreen=255; nameblue=180; }
	}
}

let i=0;
	while(i<length(letters)){
	
	ObjEffect_SetScale(letters[i],1,letterscale[i]);
	ObjEffect_SetVertexColor(letters[i],0,namefade,namered,namegreen,nameblue); ObjEffect_SetVertexColor(letters[i],1,namefade,namered,namegreen,nameblue);
	ObjEffect_SetVertexColor(letters[i],2,namefade,namered,namegreen,nameblue); ObjEffect_SetVertexColor(letters[i],3,namefade,namered,namegreen,nameblue);

	lettertimer[i]=lettertimer[i]+1;
	if(GetLife<=0 && letterscale[i]>0){ letterscale[i]=letterscale[i]+0.15; }
	i++;
	}
if(GetLife<=0 && namefade>0){ namefade-=15; }

}