DefaultPropertiesAligner
About
DefaultPropertiesAligner is a WOTgreal macro that will align selected DefaultProperties.
- Selected DefaultProperties variables will be prefixed with the same number of spaces/tabs.
- Selected DefaultProperties values will start at the same position.
Older engine builds may not like this.
Before
defaultproperties { InventoryType=class'ShieldGun' PickupMessage="You got the Shield Gun." PickupSound=Sound'PickupSounds.ShieldGunPickup' PickupForce="ShieldGunPickup" // jdf MaxDesireability=+0.39 StaticMesh=StaticMesh'WeaponStaticMesh.ShieldGunPickup' DrawType=DT_StaticMesh DrawScale=0.5 }
After
defaultproperties { InventoryType = class'ShieldGun' PickupMessage = "You got the Shield Gun." PickupSound = Sound'PickupSounds.ShieldGunPickup' PickupForce = "ShieldGunPickup" // jdf MaxDesireability = +0.39 StaticMesh = StaticMesh'WeaponStaticMesh.ShieldGunPickup' DrawType = DT_StaticMesh DrawScale = 0.5 }
Code
program DefaultPropertiesAligner begin // ======================================================================== // UnrealScript DefaultProperties Aligner // // Copyright 2005 Roman Switch` Dzieciol, neai o2.pl // http://wiki.beyondunreal.com/wiki/Switch // ======================================================================== UseTabs := 1; TabSize := 4; PrependTabs := 1; ExtraTabs := 1; // ======================================================================== BlockBeginX, BlockBeginY := BlockBegin(); BlockEndX, BlockEndY := BlockEnd(); AlignPos := 0; // Find align line for line:=BlockBeginY to BlockEndY step 1 do begin SetCursorXY(0,line); sline := CurrentLine(); spos := Pos('=',sline); if (spos <> 0) then begin sleft := Copy(sline,0,spos-1); sleft := Trim(sleft); slen := Length(sleft); if( slen > AlignPos ) then AlignPos := slen; end; end; // Align selection if (AlignPos <> 0) then begin AlignPos := AlignPos + PrependTabs*TabSize; for line:=BlockBeginY to BlockEndY step 1 do begin SetCursorXY(0,line); sline := CurrentLine(); spos := Pos('=',sline); if (spos <> 0) then begin sleft := Copy(sline,0,spos-1); sleft := Trim(sleft); sright := Copy(sline,spos+1,Length(sline)-spos); sright := Trim(sright); sres := sleft; if (UseTabs = 1) then begin for tabpre:=1 to PrependTabs step 1 do begin sres :=Chr(9) + sres; end; tend := Trunc(AlignPos / TabSize)+1+ExtraTabs; tbeg := Trunc(Length(sleft) / TabSize)+PrependTabs; tnum := tend-tbeg; for tabpost:=1 to tnum step 1 do begin sres := sres + Chr(9); end; sres := sres + '=' + ' ' + sright; end; if (UseTabs = 0) then begin for numtabs:=1 to PrependTabs*TabSize step 1 do begin sres := ' ' + sres; end; tbeg := PrependTabs*TabSize + Length(sleft) + 1; tend := (Trunc(AlignPos / TabSize)+1) * TabSize + ExtraTabs*TabSize; for numspaces:=tbeg to tend step 1 do begin sres := sres + ' '; end; sres := sres + '=' + ' ' + sright; end; SetCurrentLine(sres); end; end; end; end;