Weland 1.4

Questions about the content creation procedure go here, including using Forge, Anvil, or other editors, or operating emulators like Basilisk II.
ShakeBeforeUsing
Spazeroid
Posts: 1
Joined: May 10th '13, 19:37

Still having problems trying to get Weland 1.4 to run despite having tried it with .NET frameworks 3.5, 4.0 and 4.5 and the corresponding versions of gtk# for .net. It still crashes every time it starts up. I did manage to get it working on this machine about 6 months ago, but I've had no luck since having to reinstall everything. I'm running Windows 7 64-bit. Any chance of some help?

Here's the problem details btw:
Description:
Stopped working

Problem signature:
Problem Event Name: APPCRASH
Application Name: Weland.exe
Application Version: 1.4.0.0
Application Timestamp: 50267306
Fault Module Name: KERNELBASE.dll
Fault Module Version: 6.1.7601.18015
Fault Module Timestamp: 50b83c8a
Exception Code: e0434f4d
Exception Offset: 0000c41f
OS Version: 6.1.7601.2.1.0.768.3
Locale ID: 2057
User avatar
effigy
Mjolnir Mark IV
Posts: 673
Joined: Jan 5th '09, 13:55
Contact:

I'm also having trouble getting Weland to function on Win7, 64bit. I've tried 1.1.2, 1.3, and 1.4.

When I doubleclick that tauntingly shiny *.exe a windows dialog box pops up saying that Weland has stopped working, and that windows is searching for a solution. Windows has yet to notify me of the results of any of the said searches, so I assume Bill Gates himself will be dropping by my house to hand deliver the solution buried deeply in a fresh bag of lochnits.
Untitled.png
Untitled.png (19.14 KiB) Viewed 16779 times
I installed GTK# 2.12.20, and when that didn't work I installed Mono for Windows 3.0.10. I installed .NET 4 Extended, though I already had .NET 4 Client Profile.

Here's what the Event Viewer has to say about this matter:
Event Viewer - General wrote: Faulting application name: Weland.exe, version: 1.4.0.0, time stamp: 0x50267306
Faulting module name: KERNELBASE.dll, version: 6.1.7601.18015, time stamp: 0x50b83c8a
Exception code: 0xe0434f4d
Fault offset: 0x0000c41f
Faulting process id: 0x%9
Faulting application start time: 0x%10
Faulting application path: %11
Faulting module path: %12
Report Id: %13
and:
Event Viewer - Detailed wrote: - System

- Provider

[ Name] Application Error

- EventID 1000

[ Qualifiers] 0

Level 2

Task 100

Keywords 0x80000000000000

- TimeCreated

[ SystemTime] 2013-05-12T20:15:59.000000000Z

EventRecordID 2415

Channel Application

Computer MININT-4GET

Security


- EventData

Weland.exe
1.4.0.0
50267306
KERNELBASE.dll
6.1.7601.18015
50b83c8a
e0434f4d
0000c41f
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

It doesn't work for me any more either, at least using .NET. Mono should be fine though--just install mono and run mono Weland.exe.
User avatar
effigy
Mjolnir Mark IV
Posts: 673
Joined: Jan 5th '09, 13:55
Contact:

Sweet! That did it. Well, with mono 2.10.9. When I tried with mono 3.0.20 I was rewarded with this:
Capture.PNG
...better than the results I got with .NET, I suppose.

Btw, I had also tried running Weland.exe with compatibility for Win98, and WinXPsp3 (I last ran Weland 1.1.2 in XP). I also uninstalled both .NET 4's and tried to run Weland again, but no luck (other .NET programs still work with reinstalled Windows magic).

Seems Weland needs an update to run natively on modern Windows?
Thank the sun that went nova so that Earth could have iron and silicon.
User avatar
effigy
Mjolnir Mark IV
Posts: 673
Joined: Jan 5th '09, 13:55
Contact:

Windows has shared more information about what's going on:

Event Log:

Code: Select all

- System 

  - Provider 

   [ Name]  Microsoft-Windows-WMI 
   [ Guid]  {1edeee53-0afe-4609-b846-d8c0b2075b1f} 
   [ EventSourceName]  WinMgmt 
 
  - EventID 10 

   [ Qualifiers]  49152 
 
   Version 0 
 
   Level 2 
 
   Task 0 
 
   Opcode 0 
 
   Keywords 0x80000000000000 
 
  - TimeCreated 

   [ SystemTime]  2013-05-13T00:53:06.000000000Z 
 
   EventRecordID 
Event filter with query "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA "Win32_Processor" AND TargetInstance.LoadPercentage > 99" could not be reactivated in namespace "//./root/CIMV2" because of error 0x80041003. Events cannot be delivered through this filter until the problem is corrected.
2509 
 
   Correlation 
 
  - Execution 

   [ ProcessID]  0 
   [ ThreadID]  0 
 
   Channel Application 
 
   Computer MININT-4PN6RFF 
 
   Security 
 

- EventData 

   //./root/CIMV2 
   SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA "Win32_Processor" AND TargetInstance.LoadPercentage > 99 
   0x80041003 

Also from Event Log, though I can't be certain it's Weland related...

Code: Select all

Event filter with query "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA "Win32_Processor" AND TargetInstance.LoadPercentage > 99" could not be reactivated in namespace "//./root/CIMV2" because of error 0x80041003. Events cannot be delivered through this filter until the problem is corrected.
This is the contents of a *.wer file the Event Log viewer pointed to:

Code: Select all

Version=1
EventType=APPCRASH
EventTime=130128829427185550
ReportType=2
Consent=1
UploadTime=130128829427497550
ReportIdentifier=5ab5a10e-bb6e-11e2-9ef4-0026b981e39f
WOW64=1
Response.type=4
Sig[0].Name=Application Name
Sig[0].Value=Weland.exe
Sig[1].Name=Application Version
Sig[1].Value=1.4.0.0
Sig[2].Name=Application Timestamp
Sig[2].Value=50267306
Sig[3].Name=Fault Module Name
Sig[3].Value=KERNELBASE.dll
Sig[4].Name=Fault Module Version
Sig[4].Value=6.1.7601.18015
Sig[5].Name=Fault Module Timestamp
Sig[5].Value=50b83c8a
Sig[6].Name=Exception Code
Sig[6].Value=e0434f4d
Sig[7].Name=Exception Offset
Sig[7].Value=0000c41f
DynamicSig[1].Name=OS Version
DynamicSig[1].Value=6.1.7601.2.1.0.256.1
DynamicSig[2].Name=Locale ID
DynamicSig[2].Value=1033
UI[2]=C:\Users\me\Desktop\weland-1.4\Weland.exe
UI[3]=Weland has stopped working
UI[4]=Windows can check online for a solution to the problem.
UI[5]=Check online for a solution and close the program
UI[6]=Check online for a solution later and close the program
UI[7]=Close the program
LoadedModule[0]=C:\Users\me\Desktop\weland-1.4\Weland.exe
LoadedModule[1]=C:\Windows\SysWOW64\ntdll.dll
LoadedModule[2]=C:\Windows\SYSTEM32\MSCOREE.DLL
LoadedModule[3]=C:\Windows\syswow64\KERNEL32.dll
LoadedModule[4]=C:\Windows\syswow64\KERNELBASE.dll
LoadedModule[5]=C:\Windows\syswow64\ADVAPI32.dll
LoadedModule[6]=C:\Windows\syswow64\msvcrt.dll
LoadedModule[7]=C:\Windows\SysWOW64\sechost.dll
LoadedModule[8]=C:\Windows\syswow64\RPCRT4.dll
LoadedModule[9]=C:\Windows\syswow64\SspiCli.dll
LoadedModule[10]=C:\Windows\syswow64\CRYPTBASE.dll
LoadedModule[11]=C:\Windows\syswow64\SHLWAPI.dll
LoadedModule[12]=C:\Windows\syswow64\GDI32.dll
LoadedModule[13]=C:\Windows\syswow64\USER32.dll
LoadedModule[14]=C:\Windows\syswow64\LPK.dll
LoadedModule[15]=C:\Windows\syswow64\USP10.dll
LoadedModule[16]=C:\Windows\system32\IMM32.DLL
LoadedModule[17]=C:\Windows\syswow64\MSCTF.dll
LoadedModule[18]=C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
LoadedModule[19]=C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\MSVCR80.dll
LoadedModule[20]=C:\Windows\syswow64\shell32.dll
LoadedModule[21]=C:\Windows\syswow64\ole32.dll
LoadedModule[22]=C:\Windows\system32\profapi.dll
LoadedModule[23]=C:\Windows\assembly\NativeImages_v2.0.50727_32\mscorlib\7150b9136fad5b79e88f6c7f9d3d2c39\mscorlib.ni.dll
LoadedModule[24]=C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorjit.dll
LoadedModule[25]=C:\Windows\assembly\NativeImages_v2.0.50727_32\System\369f8bdca364e2b4936d18dea582912c\System.ni.dll
LoadedModule[26]=C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Xml\f687c43e9fdec031988b33ae722c4613\System.Xml.ni.dll
LoadedModule[27]=C:\Windows\system32\shfolder.dll
LoadedModule[28]=C:\Users\me\Desktop\weland-1.4\Plugins\EnumerateTags.dll
LoadedModule[29]=C:\Users\me\Desktop\weland-1.4\Plugins\Shade.dll
LoadedModule[30]=C:\Windows\system32\VERSION.dll
LoadedModule[31]=C:\Windows\system32\apphelp.dll
FriendlyEventName=APPCRASH
ConsentKey=APPCRASH
AppName=Weland
AppPath=C:\Users\me\Desktop\weland-1.4\Weland.exe
ReportDescription=Stopped working
Thank the sun that went nova so that Earth could have iron and silicon.
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

effigy wrote:Seems Weland needs an update to run natively on modern Windows?
I can try building it with a newer Mono, but beyond that I don't know how I would fix it. The way I got it working before was: I built it, and it worked :)
User avatar
Wrkncacnter
Vidmaster
Posts: 1953
Joined: Jan 29th '06, 03:51
Contact:

Looks like it's time for someone to write a more modern map editor.
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

Wrkncacnter wrote:Looks like it's time for someone to write a more modern map editor.
Agreed.
User avatar
effigy
Mjolnir Mark IV
Posts: 673
Joined: Jan 5th '09, 13:55
Contact:

treellama wrote:
effigy wrote:Seems Weland needs an update to run natively on modern Windows?
I can try building it with a newer Mono, but beyond that I don't know how I would fix it. The way I got it working before was: I built it, and it worked :)
Eitherway, I suppose that would be more gooder, since it doesn't run on Win7 with mono 3.

I did some more straw grasping and checked here to see that mono v2.10.8 has full(?) compatibility with .NET 3.5, and ran MoMA on Weland.exe.

MoMA said "Uh oH!" See below:
Mono 2.8 (4.0 Profile) & Mono 2.8 (2.0 Profile) results
Mono 2.8 (4.0 Profile) & Mono 2.8 (2.0 Profile) results
Perhaps Win7 is a relabeled MacOS?
Thank the sun that went nova so that Earth could have iron and silicon.
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

Building with the latest Mono seems to have done the trick. The MoMA stuff is no concern, Weland P/Invokes on Mac to get better menu bar stuff.
Attachments
Weland.zip
(235.31 KiB) Downloaded 572 times
User avatar
effigy
Mjolnir Mark IV
Posts: 673
Joined: Jan 5th '09, 13:55
Contact:

Groovy, thanks a bunch :)

FYI, It worked with gtk-sharp-2.12.20 and .NET 4.0.x, but not with gtk2-runtime-2.24.10-2012-10-10-ash. I can't be certain that it works without .NET 4.0.x, since apparantly Windows Update saw fit to reinstall the Client Profile variate of it. I did also install the Extended version before downgrading gtk#, so... idk if that was needed.

Are people having issues using custom shapefiles in Weland? Now under GTK# (previously under mono 2.x) Weland crashes for me after a bit of panning around in a texture mode (Floor, iiirc, probably both). There's a blank "Undhandled Exception" window that pops up, but it's blankness makes it a bit difficult to diagnose.
Thank the sun that went nova so that Earth could have iron and silicon.
User avatar
effigy
Mjolnir Mark IV
Posts: 673
Joined: Jan 5th '09, 13:55
Contact:

Hmmm... plugins aren't working in the build you posted under .NET 4. They do work running Weland under mono 2.10.9 (no need to try 3.x?).

I tried with the plugins shipped with Weland in their default directory: C:\Users\me\Desktop\weland-1.4\Plugins. I also tried them in C:\Users\me\AppData\Roaming\Weland, and C:\Users\me\Desktop\weland-1.4.
Thank the sun that went nova so that Earth could have iron and silicon.
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

It wouldn't surprise me if plugins have to be recompiled to work.
User avatar
jonny
Born on Board
Posts: 57
Joined: May 3rd '13, 16:39

Hi there - first time poster here. First, let me give a big thank you to treellama for Weland. I downloaded Weland and Visual Mode.lua a few weeks ago and started experimenting, and I have to say this is awesome. I've never done any mapping or level creation (unless you count Lemmings or The Incredible Machine - anyone remember those?), so this is all somewhat new to me. I've been making some progress, but have some questions and a few humble feature requests that I think would be fairly easy to implement.

Actually most of my questions now are in regards to VML and Atque, so I'll post those some place more appropriate, but one thing I can't figure out is why Weland rounds platform speeds to 1/30 WU/sec. Is this a constraint of the AlephOne engine?

I hope I'm not being too presumptuous asking for new features in Weland in my very first post here. I completely understand the nature of the work. But, as I mentioned, I'm pretty sure these would be fairly simple to implement and would be greatly appreciated (not just by me).

Can you have Weland check the time stamp on the file when making edits, and if it's newer than the last recorded save time (indicating the file was modified by another program), have a dialog appear offering the user the opportunity to "revert" to the changed copy on disk or continue making edits with the understanding that any changes on disk will be lost when saving again. I've lost count of how many times I've accidentally erased texturing I did in VML because I forgot to reload the file in Weland. Admittedly a noob mistake, but it's insanely frustrating.

Also, it would be nice to have the appropriate dialog pop up when double clicking an item. For instance, if I double click on a poly designated as a platform, a double click on the poly would automatically bring up the platform parameters dialog. This is pretty minor, but would be a nice addition.

Lastly, would it be possible to import a set of lines (as pairs of endpoints) from a text file? The reason I ask for this is because one of my favorite features of Weland is the ability to directly edit the x,y coordinates of endpoints, allowing me to make "perfect" circles and such. Unfortunately, while this is doable with a small number of lines, with any "real" map, the tedium becomes overwhelming. It would also allow for creating some really fantastic structures with relative ease, for instance a fluted column or sine wave wall. I realize this one is a bit more involved as there are a number of cases to cover, but the only major issue I can see is how to know when two lines that share an endpoint should be connected. The simplest answer is that any shared endpoints in a single imported file are always connected, and endpoints in the file are never connected to those already existing in the map. (I think the latter might have to be the case regardless.) Alternately, it might be possible to add some kind of marker/identifier for an endpoint that will appear again in the imported file and have it connected when the marker is present and not connected otherwise, but that's a bit more work and of questionable usefulness.

I'm happy to give whatever help I can for any or all of these. I'm more of a java programmer, but I know C (and some C++ and Obj-C). I would attempt to add these features myself, but as I've never written in C# (which is not too big an obstacle) and I know nothing about .NET and Mono (a rather large obstacle), I fear I would not have much success with this myself for quite a long time.

Again, big thanks to treellama for Weland and all the rest, and thanks to the community for keeping this awesome game alive!
Look out - he's nuts!
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

There's a description of the units Aleph One and Forge use for speed in the Lua Scripters' guide:
http://marathon.svn.sourceforge.net/vie ... tml?#units

To make it more familiar to mappers, Weland uses the Forge units for platform speed. You should be able to use the description to do some math to get exact WU/sec numbers if you need them.

Creating perfect circles is easy to do by hand, using the scaled grid and holding option to restrict the size of lines you are drawing, you can draw a perfect circle of any size around any point!

Importing points from a text file would be something you'd use a Weland plugin for. Time to learn C# :)
User avatar
jonny
Born on Board
Posts: 57
Joined: May 3rd '13, 16:39

Thanks for the quick reply. Any thoughts on the other two features? :)
treellama wrote:There's a description of the units Aleph One and Forge use for speed in the Lua Scripters' guide:
http://marathon.svn.sourceforge.net/vie ... tml?#units

To make it more familiar to mappers, Weland uses the Forge units for platform speed. You should be able to use the description to do some math to get exact WU/sec numbers if you need them.
Yeah, I saw that in the Lua doc. But I didn't really understand why Weland is rounding the values I put in (which makes it impossible to get the exact speed I want regardless of any conversion math). I'll probably run into this again, but for now though, it's not really important as I was messing with that in an attempt to work with multi-stop elevators and the problem noted at Hastur's workshop. I take it the better way to create multi-stop elevators is with Lua now? Chocolateer's example is truly impressive.
Creating perfect circles is easy to do by hand, using the scaled grid and holding option to restrict the size of lines you are drawing, you can draw a perfect circle of any size around any point!
I'll take your word for it. I didn't find that easy at all, but then I don't have nearly the practice with Forge you guys have. I found it much easier to just write a bit of code to calculate the exact points I need and edit the endpoints of a bunch of arbitrary lines. That's when I realized I could have my little bit of code dump out the end points for any arbitrarily complex shape I can think of. Thus the idea for the line importer.
Importing points from a text file would be something you'd use a Weland plugin for. Time to learn C# :)
Ah! Good point. I'd forgotten about plugins, partly because the two it ships with didn't work (Method not found: 'Plugin.Run'). Is there any documentation (other than the source code itself) on writing plugins for Weland - what hooks are available and what interfaces are exposed?

[EDIT] Actually, I'm looking at Shade.cs right now, and that doesn't look terribly difficult. C# looks more like java than I would have guessed. I'll need the Mono sdk and the Weland source, right? Anything else? I'll still need to know what data interfaces are exposed... Weland source, I guess? Any idea why EnumerateTags and Shade didn't work? Were they not recompiled with 1.4 (guessing from your post a couple weeks ago above).
Look out - he's nuts!
User avatar
Hopper
Mjolnir Mark IV
Posts: 585
Joined: May 10th '09, 17:02
Contact:

jonny wrote:But I didn't really understand why Weland is rounding the values I put in
It is an engine limitation, as you'd guessed. As mentioned in the documentation Treellama linked to, Forge's WU/sec equate to 30 internal engine units per tick. The engine uses integer math, so you can't have fractional internal units per tick. Anything other than increments of 1/30 Forge WU/sec is impossible in the engine.
User avatar
Chocolateer
Born on Board
Posts: 34
Joined: Jul 4th '11, 20:28
Contact:

jonny wrote:Yeah, I saw that in the Lua doc. But I didn't really understand why Weland is rounding the values I put in (which makes it impossible to get the exact speed I want regardless of any conversion math). I'll probably run into this again, but for now though, it's not really important as I was messing with that in an attempt to work with multi-stop elevators and the problem noted at Hastur's workshop. I take it the better way to create multi-stop elevators is with Lua now? Chocolateer's example is truly impressive.
The problem noted at Hastur's Workshop is fixed by changing the min/max platform heights slightly to ensure the platform resets each cycle and does not accumulate error over time. You shouldn't have to adjust the platform speed to deal with that problem.

The rounding of the platform speed has to do with the original marathon engine performing all calculations at 1/30 second intervals (ticks), and that hasn't changed with AlephOne. Regardless, you really shouldn't need more precision than that in setting platform speeds.

Using Lua to create multi-stop elevators is NOT the best implementation for most cases. The biggest limitation is that it only really works for solo maps, plus you should probably avoid using Lua where you can implement an equivalent feature without Lua.

On a side note, my multi-stop platform using lua example got to be a big headache from having to micro-manage the positions of the doors, and I just left things in their current state. I probably could have improved the alignment of the doors by having them move fast for 95% of the distance to travel and then slow them down for precise alignment, but it just got to be more complicated than it was worth. Having the ability to change a platform's min and max height via Lua would greatly simplify things, and if that feature were ever to be made available I would likely release an update with cleaner/simpler lua code.
treellama wrote:Creating perfect circles is easy to do by hand, using the scaled grid and holding option to restrict the size of lines you are drawing, you can draw a perfect circle of any size around any point!
jonny wrote:I'll take your word for it. I didn't find that easy at all, but then I don't have nearly the practice with Forge you guys have. I found it much easier to just write a bit of code to calculate the exact points I need and edit the endpoints of a bunch of arbitrary lines. That's when I realized I could have my little bit of code dump out the end points for any arbitrarily complex shape I can think of. Thus the idea for the line importer.
There was a 3rd party companion utility to Forge called Chisel that could draw ellipses. I'm surprised someone hasn't taken the initiative to write a Weland plugin to add back some of that functionality. Perhaps it is because the method described above for creating circles is so easy that it isn't really needed. Weland is an improvement over Forge, though, in that you can now set the grid scale to whatever you want (which means you can create a circle with whatever radius you want).
User avatar
jonny
Born on Board
Posts: 57
Joined: May 3rd '13, 16:39

Hopper wrote:It is an engine limitation, as you'd guessed. As mentioned in the documentation Treellama linked to, Forge's WU/sec equate to 30 internal engine units per tick. The engine uses integer math, so you can't have fractional internal units per tick. Anything other than increments of 1/30 Forge WU/sec is impossible in the engine.
Right. I got all that but wasn't making the connection in my head with what treellama said about mimicking Forge. So Weland is rounding to 1 internal unit per tick...duh. :wacko:
Look out - he's nuts!
User avatar
jonny
Born on Board
Posts: 57
Joined: May 3rd '13, 16:39

Chocolateer wrote:The problem noted at Hastur's Workshop is fixed by changing the min/max platform heights slightly to ensure the platform resets each cycle and does not accumulate error over time. You shouldn't have to adjust the platform speed to deal with that problem.
Yeah, I was mucking about with heights and speeds and pretty much everything to try to get a sense of how the error worked. I still don't really have a handle on it, other than to say that I can make it work perfectly (i.e., no error as opposed to just resetting) for one specific set of heights/stops. What's weird is that if I just multiply all the heights by 2, it throws it off again. I think that's what started me messing with the speed, but I don't remember exactly since it was a couple weeks ago and I had only just started to experiment with Weland at all.
Using Lua to create multi-stop elevators is NOT the best implementation for most cases. The biggest limitation is that it only really works for solo maps, plus you should probably avoid using Lua where you can implement an equivalent feature without Lua.
I don't see why an embedded Lua script would only work for solo maps. I do understand why your approach to the single exit elevator would (the hub could go missing for one or more players), but I think a standard multistop via embedded Lua would work just fine in co-op or a net map. I've been meaning to get back to that and try it out in fact.
On a side note, my multi-stop platform using lua example got to be a big headache from having to micro-manage the positions of the doors, and I just left things in their current state. I probably could have improved the alignment of the doors by having them move fast for 95% of the distance to travel and then slow them down for precise alignment, but it just got to be more complicated than it was worth. Having the ability to change a platform's min and max height via Lua would greatly simplify things, and if that feature were ever to be made available I would likely release an update with cleaner/simpler lua code.
I actually had a few questions for you about that script, but I'll post them in that topic when I get back to messing with elevators. Just quickly, though, are you sure you can't manipulate the min/max platform height? I haven't tried it myself, but I'm guessing that platform.ceiling_height and platform.floor_height are not just convenience accessors for platform.polygon.ceiling.height and platform.polygon.floor.height. I'm probably wrong but I took those to be accessors for the min/max platform heights.

There was a 3rd party companion utility to Forge called Chisel that could draw ellipses. I'm surprised someone hasn't taken the initiative to write a Weland plugin to add back some of that functionality. Perhaps it is because the method described above for creating circles is so easy that it isn't really needed. Weland is an improvement over Forge, though, in that you can now set the grid scale to whatever you want (which means you can create a circle with whatever radius you want).
I'm writing that plugin now. I downloaded the mono sdk this afternoon and had a "functional" plugin within a couple hours. It's not exactly working like it should, but it is doing something. Once I realized how easy this would be, it didn't make any sense to write a plugin to import lines - I should just have the plugin draw the lines itself using Weland's own code. I'm going to post a separate topic about it once I get a basic circle draw working correctly to get some feedback about what sorts of functionality people might be interested in. I have some ideas, but I'm not entirely sure what's possible just yet. You folks may think it's easy to hand draw a couple dozen lines to make a circle, but I'd just as soon have a tool that can do it for me much faster! :D
Look out - he's nuts!
User avatar
Hopper
Mjolnir Mark IV
Posts: 585
Joined: May 10th '09, 17:02
Contact:

jonny wrote:I'm guessing that platform.ceiling_height and platform.floor_height are not just convenience accessors for platform.polygon.ceiling.height and platform.polygon.floor.height. I'm probably wrong but I took those to be accessors for the min/max platform heights.
The platform and polygon values are separate in the engine; the polygon heights are synced to the platform heights as it moves. As the documentation says, the platform heights are the current heights of the platform at the time they're read, not related to min/max heights.
User avatar
Chocolateer
Born on Board
Posts: 34
Joined: Jul 4th '11, 20:28
Contact:

jonny wrote:I don't see why an embedded Lua script would only work for solo maps. I do understand why your approach to the single exit elevator would (the hub could go missing for one or more players), but I think a standard multistop via embedded Lua would work just fine in co-op or a net map. I've been meaning to get back to that and try it out in fact.
One reason to avoid using Lua in netmaps is it can cause the game to go out-of-sync, though I think it's been improved in the latest builds.
User avatar
treellama
Vidmaster
Posts: 6110
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

Weland 1.4.1 is now available on SourceForge: http://sourceforge.net/projects/weland

Changes:
  • Built with the latest Mono, so requires Mono 2.10 or .NET 4.0
  • Windows: works with the "new version" gtk-sharp 2.12.20.msi so if you are having problems, even if you think you have that installed, download and install it again (*sigh*)
  • Mac OS X: now requires an Intel processor and Mac OS X 10.5 or higher
  • Redraws the main window after running a plugin
In addition, the SVN repository is now fixed and up-to-date.
User avatar
jonny
Born on Board
Posts: 57
Joined: May 3rd '13, 16:39

cmd-z ("undo") works right the first time, but then switches to zoom tool -- subsequent shift-cmd-z zooms in (and keeps doing so with same key sequence). whooops.
(Weland 1.4.1, Mono 2.10.11, Mac OSX 10.6.8)
Look out - he's nuts!
Post Reply