Javelin lib and possessed lib both create landscape. You can do girder, or any sprite. Here short guide:
0) Add sprite similarly to aforementioned libs (for simplicity try 1frame, like possessed.pxl does).
Code:
require utils;
CBitmap32* girderv2Bitmap;
void possessed::InitGraphic()
{
local spr = GetAttachment("girderv2.png");
girderv2Bitmap = LoadImage(spr);
}
1) Create copy of teleport weapon (lets name it "girder v2").
2) At firefinal checkname("girder v2"), if true ->
local bmp = girderv2Bitmap;
GG->land->Draw(bmp, SelectX/65536;, SelectY/65536;));
3) return, so teleport would not trigger. My hns lib operates with fake teleport weapons btw.
4) super afterwards, for all weapons that are not named "girder v2"
If you want a method to smoothly draw terrain, you can create it using sprites, similarly to steps' painter.