I installed the cleave2vx plugin (found http://jkhub.net/library/index.php/Tools:Cleave2VX) and attempted to use with ZED and it gave me a "START JED (v8+) BEFORE USE" error message. I added it to the JED plugins and started JED v0.951b and still get the same message.
What's worse, is that I now get that same message with ALL of my plugins (at least the ones by UGGBOOT). I deleted the cleave2vertex plugin and STILL get the same error message with all my plugins in both JED and ZED. This is very frustrating because I really need to use the MirrorMadness plugin...
This plugin had a special extra file that checked file versions. I'm thinking it must of created a registry file somewhere, but for the life of me I can't figure out where.
Any thoughts on how I can resolve this?
I think the problem file is: Cleave2VX.dpr
What's worse, is that I now get that same message with ALL of my plugins (at least the ones by UGGBOOT). I deleted the cleave2vertex plugin and STILL get the same error message with all my plugins in both JED and ZED. This is very frustrating because I really need to use the MirrorMadness plugin...
This plugin had a special extra file that checked file versions. I'm thinking it must of created a registry file somewhere, but for the life of me I can't figure out where.
Any thoughts on how I can resolve this?
I think the problem file is: Cleave2VX.dpr
Code:
{ Cleave2VX - An OLE plugin for JED versions 8.5 and higher. This cleaves the current surface between the first two multiselected vertices. Usually you can cleave between vertices by holding SHIFT, but this doesn't always work, especially in sectors with a high vertex count. Written by Craig Urquhart (UGG_BOOT) 5Dec98. Email: cu@rpi.net.au Imperial Detention Center: http://www.rpi.net.au/~cu/main.html } program Cleave2VX; { You need 'ComObj' for the OLE connection, and 'Windows' for the message box. If you used the Delphi ShowMessage box you would need 'Dialogs' which would add another 100K to your executable filesize for almost no advantage } uses SysUtils, ComObj, Windows; var Jed: Variant; { Check that Jed is running and that it's version supports the functions used } procedure StartUp; begin try Jed := CreateOleObject('JED.App'); except MessageBox(0, PChar('START JED (v8.5+) BEFORE USE.'), PChar('Cleave2VX'), MB_ICONEXCLAMATION); Halt(1); end; if Jed.Version < 0.85 then begin MessageBox(0, PChar('REQUIRES JED VERSION 8.5 OR HIGHER.'), PChar('Cleave2VX'), MB_ICONEXCLAMATION); Halt(1); end; end; procedure CleaveSurface; var SC, VX1, SCTEST, VX2, SF, SFOLD, NVX, VXI1, VXI2, i, sfi, VX: Integer; SCO, SFO, SFOOLD: Variant; begin { Check two verticies multiselected and that they are on same surface } if Jed.NMultiSelected(2) < 2 then begin MessageBox(0, PChar('MULTISELECT TWO VERTICES TO CLEAVE BETWEEN'), PChar('Cleave2VX'), MB_ICONEXCLAMATION); Halt(1); end; Jed.GetSelectedVX(0, SC, VX1); Jed.GetSelectedVX(1, SCTEST, VX2); if SC <> SCTEST then begin MessageBox(0, PChar('VERTICES NOT IN THE SAME SECTOR'), PChar('Cleave2VX'), MB_ICONEXCLAMATION); Halt(1); end; { Setup a variant for the current surface and the number of verticies on it. } Jed.MapMode := 1; Jed.GetCurSF(SC, SFOLD); SCO := Jed.Level.GetSector(SC); SFOOLD := Jed.Level.GetSurface(SC, SFOLD); NVX := SFOOLD.NVertices; { Find the index of each selected vertex on the surface } VXI1 := -1; for i := 0 to (NVX - 1) do if SFOOLD.GetVertex(i) = VX1 then VXI1 := i; if VXI1 = -1 then begin MessageBox(0, PChar('FIRST VERTEX IS NOT ON THE SURFACE'), PChar('Cleave2VX'), MB_ICONEXCLAMATION); Halt(1); end; VXI2 := -1; for i := 0 to (NVX - 1) do if SFOOLD.GetVertex(i) = VX2 then VXI2 := i; if VXI2 = -1 then begin MessageBox(0, PChar('SECOND VERTEX IS NOT ON THE SURFACE'), PChar('Cleave2VX'), MB_ICONEXCLAMATION); Halt(1); end; { Check that the verticies are not next to each other } if (VXI1 = VXI2 + 1) or (VXI1 = VXI2 - 1) or ((VXI1 = 0) and (VXI2 = (NVX -1))) or ((VXI1 = (NVX -1)) and (VXI2 = 0)) then begin MessageBox(0, PChar('VERTICIES LIE NEXT TO EACH OTHER'), PChar('Cleave2VX'), MB_ICONEXCLAMATION); Halt(1); end; { Insert new surfaces } SF := SCO.AddSurface; SFO := Jed.Level.GetSurface(SC, SF); SFO.InsertVertex(0, VX1); i := VXI1 + 1; if i = NVX then i := 0; sfi := 1; while i <> VXI2 do begin VX := SFOOLD.GetVertex(i); SFO.InsertVertex(sfi, VX); Inc(i); Inc(sfi); if i = NVX then i := 0; end; SFO.InsertVertex(sfi, VX2); SFO.Update; SF := SCO.AddSurface; SFO := Jed.Level.GetSurface(SC, SF); SFO.InsertVertex(0, VX2); i := VXI2 + 1; if i = NVX then i := 0; sfi := 1; while i <> VXI1 do begin VX := SFOOLD.GetVertex(i); SFO.InsertVertex(sfi, VX); Inc(i); Inc(sfi); if i = NVX then i := 0; end; SFO.InsertVertex(sfi, VX1); SFO.Update; { Remove old surface, update and redraw display } SCO.DeleteSurface(SFOLD); SCO.Update; Jed.UpdateMap; end; { This is the 'main' program which is run first } begin StartUp; { Try to connect to JED through OLE, otherwise quit } CleaveSurface; { Cleave surface between two mulitselected verticies } end.