Sledge (Hammer Alternative) Alpha Build Created 10 years ago2013-07-27 02:24:39 UTC by Penguinboy Penguinboy

Created 10 years ago2013-07-27 02:24:39 UTC by Penguinboy Penguinboy

Posted 9 years ago2014-04-27 19:07:48 UTC Post #318956
Yeah I'm getting randy over that OBJ import thing. The environmental implications could be astounding. Believable rock/cliff formations, islands (floating or not) Curved arches, even ships and space ships. For source, you could rough out your displacements in a 3D package and refine it in Sledge. I'm definitely going to see how far this goes.
Rimrook RimrookSince 2003
Posted 9 years ago2014-04-28 08:24:41 UTC Post #318963
I kinda broke some important things in the last release, so now it's time for a bugfix that should fix it up! I also implemented Archie's suggestion of not showing an infinite clipping plane in 3D, because that looks stupid.

Release notes:
  • Don't display an infinite clipping plane in the clip tool
  • Made sprite files open without permission errors
  • Fix multiple issues related to undoing, clipping, moving, and various other important things
  • Fixed transparency on the display list renderer
  • Removed immediate mode renderer (use display list instead)
  • Connect the close button on the entity report dialog

@Archie: I'll add multi-tile fit at some point...but I will need to re-arrange the texture tool window to fit it in somewhere, which is annoying >_>

Shift+Arrow Keys in 3D can be done. Are there any other missing obscure keyboard shortcuts that you know of?

@Rim: It's certainly a long way away from doing something like that, I don't know how possible it is to import an arbitrary .obj file into a displacement. It's really hard to try and import a model format like .obj (and others) into a solid/bsp format.
Penguinboy PenguinboyHaha, I died again!
Posted 9 years ago2014-04-28 13:45:56 UTC Post #318968
Hey. I got 3 things that I want to know about Sledge.
1. Hammer had yellow boxes around selected block. Sledge only has highlighted lines(when creating blocks). Is it possible to add those yellow boxes?

2. When I turn off blocky mode (thats how I call Snap to Grid), it is possible to use smaller units than 1. For example, 1,1 or 1,7. Is it possible to disable this and allow only 1 units. (this could be in settings)

3. More of a suggestion. On the Title bar show Sledge version. For example "Sledge 0.1.0.24"

Sorry if anything already exists, I really don't have time to check things in depth. (EXAMS this year)
Posted 9 years ago2014-04-28 18:33:23 UTC Post #318982
I hate programs that spam the title bar (and consequently the Windows taskbar) with version numbers. I don't care about the version THAT MUCH, and it doesn't belong in there anyway. In the about menu, sure; in a splash screen, maybe; in the title bar or taskbar button, definitely not.
Posted 9 years ago2014-04-28 19:09:58 UTC Post #318986
Valve was able to get a connection between Google Sketchup and Hammer. Sketchup can export stuff to a format that Hammer can read, but I never managed it because its really specific.

Tetrahedrons would be a good way to get the faces, but the importer has to be used with a bit of understanding. I would using it for geometric and neatly spaced curves that are otherwise impossible. Who knows, I might want to make something like...

...this.
User posted image
or..... this.
User posted image
Rimrook RimrookSince 2003
Posted 9 years ago2014-04-28 19:19:21 UTC Post #318987
Where do you get these images from? The second one looks amazing.
Striker StrikerI forgot to check the oil pressure
Posted 9 years ago2014-04-28 21:23:55 UTC Post #318988
Are there any other missing obscure keyboard shortcuts that you know of?
Hammer has a lot! i would sift through the Hammer shortcut key reference, as you are sure to find some new ones ;)
Captain Terror Captain Terrorwhen a man loves a woman
Posted 9 years ago2014-04-28 21:28:44 UTC Post #318989
2. When I turn off blocky mode (thats how I call Snap to Grid), it is possible to use smaller units than 1. For example, 1,1 or 1,7. Is it possible to disable this and allow only 1 units. (this could be in settings)
That's the whole point of disabling snap to grid in my opinion, but I see where you're going with this. However, I personally think the "shortcut" you're using is more an artifact of how Hammer works with snap to grid off than a proper use case.
It isn't that hard to scale the grid with [ ] if you need to reposition something at grid size 1. This approach is also less prone to mistakes since you get to see the grid itself at 1 as well.
Posted 9 years ago2014-04-29 03:40:42 UTC Post #318993
I get an error when trying to import the Cry of Fear FGD.
"There was an error loading the provided FGDs, please ensure that you have loaded all dependant FGDs.
Error was: Unable to parse FGD. Expected Value, got So."

It works on Hammer, and i don't think it needs any other FGD to operate.
Posted 9 years ago2014-04-29 08:24:45 UTC Post #319000
The COF FGD seems to have a syntax error. Open it in notepad, and on line 944, change this:
button ((choices) : "Ratio to get (Scale)" : 0 =
To this:
button (choices) : "Ratio to get (Scale)" : 0 =
I'm somewhat hesitant to implement parsing of invalid FGDs in Sledge... I think in this case, the FGD is what needs to be fixed.
Penguinboy PenguinboyHaha, I died again!
Posted 9 years ago2014-04-29 08:28:01 UTC Post #319001
If possible you could just point the user to where the issue in fgd is for example line 944 (something like the compiler does) instead of just giving a vague error that would indicate Sledge is the problem not the fgd.
rufee rufeeSledge fanboy
Posted 9 years ago2014-04-29 08:48:33 UTC Post #319003
Yeah, I'll add some more detailed information (line number, character index, etc) to the error message so people can find where the error is in the FGD file.

Edit: How's this:
User posted image
Penguinboy PenguinboyHaha, I died again!
Posted 9 years ago2014-04-29 10:08:02 UTC Post #319009
Perfect.
rufee rufeeSledge fanboy
Posted 9 years ago2014-04-29 13:00:12 UTC Post #319015
@DiscoStu I was thinking that Sledge could show version only at the title menu. Taskbar could still show only Sledge.

@PB Awesome. This could help me. I tried to get Sledge to read XashXT '.fgd'. It crashed, but yesterday I managed to repair it. This would be great, if I saw this yesterday.
Posted 9 years ago2014-04-29 23:27:58 UTC Post #319030
*bug: when changing an info_player_start to a light, the light still has the player model in 3D view.

[EDIT]

I could not send the error report on this next one. I was just trying to apply a texture when the error report started spamming windows. I had to use the Task Manager to kill it.
User posted image
Striker StrikerI forgot to check the oil pressure
Posted 9 years ago2014-04-30 10:05:42 UTC Post #319046
I just fixed the problem with changing between entity types, it will be in the next version.

It's a shame you weren't able to submit the window-spamming bug, I'll take a look at it but without more info it makes it difficult.
Penguinboy PenguinboyHaha, I died again!
Posted 9 years ago2014-04-30 10:07:31 UTC Post #319047
On a unrelated note how does error submission actually work ?
rufee rufeeSledge fanboy
Posted 9 years ago2014-04-30 10:19:14 UTC Post #319048
It sends a HTTP request to a website, nothing special.
I look at the list every now and then and try to figure out how and why the bug happened, and see if I can fix it.

You can see the bug reports here: http://bugs.sledge-editor.com/
Penguinboy PenguinboyHaha, I died again!
Posted 9 years ago2014-04-30 11:24:03 UTC Post #319050
Pretty simple.
Will the API support different languages ? Lets say i make my entity browser, but i make it in C++ since i don't know C# would i be able to make it work with sledge ?
rufee rufeeSledge fanboy
Posted 9 years ago2014-04-30 12:28:19 UTC Post #319051
I'm not entirely sure what you mean, are you talking about if/when there's a plugin system? I'd make some sort of API available to .NET and/or a scripting language such as Python or something, but C++ wouldn't be an option. If you're used to C++, C# is pretty easy to learn.
Penguinboy PenguinboyHaha, I died again!
Posted 9 years ago2014-04-30 12:32:37 UTC Post #319052
Have you ever considered differently shaped grids?
User posted image
User posted image
Rimrook RimrookSince 2003
Posted 9 years ago2014-04-30 12:42:50 UTC Post #319054
No, but I am now....
I am intrigued by this idea.
Penguinboy PenguinboyHaha, I died again!
Posted 9 years ago2014-04-30 13:13:43 UTC Post #319056
:o
Jessie JessieTrans Rights <3
Posted 9 years ago2014-04-30 13:38:31 UTC Post #319058
Actually when i was working on my rooms map, it struck me that we should have something like this or atleast more manipulation options (for making bent pipes or something)

Switching on the fly between round, diamond and normal grid would be awesome.
rufee rufeeSledge fanboy
Posted 9 years ago2014-04-30 14:36:47 UTC Post #319059
What would that do to 'off-grid vertices'?
Seeing as how the 'off-grid' problem is really just a rounding error.
Amazing idea but I'm not seeing the benefit unless HLFIX is built in.
Or I'm just not understanding how this won't completely break things XD
Someone enlighten me?

Leave it to Rim to think outside the box
Tetsu0 Tetsu0Positive Chaos
Posted 9 years ago2014-04-30 14:58:05 UTC Post #319060
The grid is just there for reference. The coordinate system uses floating point numbers so any of these grids will work just fine.

I don't think Sledge has a problem maintaining vertices where they are supposed to be (PB please enlighten us)
rufee rufeeSledge fanboy
Posted 9 years ago2014-04-30 16:09:14 UTC Post #319061
I recall PB saying that Sledge has no problems maintaining precision and suffers no decimal loss. Also, the code itself internally uses the decimal data type for coordinates, which is 128-bit and easily maintains up to 28 or 29 significant digits.
Posted 9 years ago2014-04-30 16:10:35 UTC Post #319062
the new grid layouts got me thinkin, would it be possible to implement a picture background thing? where you can maybe right click on the grid and it gives you a choice to "import image" and it sets that image under the grid if you were maybe tracing something. kinda like how milkshape lets you do it. i dunno how useful it would be in the end but it might help for some stuff :o
Posted 9 years ago2014-04-30 16:11:00 UTC Post #319063
the new grid layouts got me thinkin, would it be possible to implement a picture background thing? where you can maybe right click on the grid and it gives you a choice to "import image" and it sets that image under the grid if you were maybe tracing something. kinda like how milkshape lets you do it. i dunno how useful it would be in the end but it might help for some stuff :o

err im not sure why it double posted me, but sorry about that D:
Posted 9 years ago2014-04-30 16:56:08 UTC Post #319064
There is a serious problem with Sledge which makes using clipping and vertex manipulation essentially unusable. I've started using it more over the course of the last weeks, while completing dm_researchvessel and now working on a simple little map.
It makes random duplicates of the solids clipped or vertex manipulated. Attempting to delete or repair this crashes Sledge.

Why I am using Sledge? Because Hammer, although works perfectly, has this stupid problem where I can't select a face or brush only if I'm miles away from it. I don't know what causes this.
Striker StrikerI forgot to check the oil pressure
Posted 9 years ago2014-04-30 17:08:42 UTC Post #319065
Wow I didn't think anyone would like the idea, I thought the idea was going to be disbanded by off-grid technicalities. Anyway glad I posted, and thanks.

Most of my suggestions come from two programs, 3DS Max and a program called TurboCAD I used a while back for technical planning and drawing.

TCAD was interesting because it had the changeable grids. It's how I planned out R'Dia and created the 6D logo.
User posted image
User posted image
R'Dia was inspired by one of the original Xen maps from HL1. The map was radial in design, focused around a central point.

The triangular grid I never used, but Kasperg's map called Hexagerate was really interestingly designed in hexagons. It would allow easier angles of construction at more that what we know. I often do 45 degree angles because they were a great challenge and broke the grid without being geometry too different and unmanageable. A triangular grid provides more to work with.

Those are just a few examples, I'm curious to see what PB comes up with. :D
Sledge FTW!
Rimrook RimrookSince 2003
Posted 9 years ago2014-04-30 17:29:21 UTC Post #319066
128bit how ? Last i checked we were running 64bit CPU's.
rufee rufeeSledge fanboy
Posted 9 years ago2014-04-30 20:11:27 UTC Post #319076
I believe a triangular/hexagonal grid is perfectly possible. Definitely unusual, but would not end up with lots of things off-grid. A radial grid, however, might be more complicated.
Posted 9 years ago2014-04-30 23:00:41 UTC Post #319086
Sledge doesn't have any problem with off-grid vertices if it is loading a VMF that is saved by Sledge. It will be accurate to 8 decimal places with no loss of precision.

You will get minor rounding issues when interacting with Hammer:
  • Loading an RMF file (saved by Sledge or Hammer): RMF saves FP values, which are approximately accurate to only 6 or so decimal places. That should be plenty, though.
  • Loading a VMF file (that wasn't created by Sledge): By default, VMF only stores the planes of a solid, rather than the vertices. Sledge needs to perform the plane intersection algorithm to get the actual vertices back again, which may cause slight imprecision and off-grid vertices due to Hammer saving the value as a FP number. After fixing any errors and re-saving, the errors will not return (unless you open and re-save the VMF in Hammer again).
Since Sledge uses .NET's "Decimal" format (which is high-precision, and does NOT have rounding errors), Sledge doesn't suffer from Hammer's problems with off-grid vertices. When opening a Hammer VMF file, Sledge performs the plane intersection using decimals, which means it will be far more accurate than if you opened it in Hammer.

@rufee: .NET's Decimal isn't native to the CPU, unlike floating point. This means it is slower, but allows for much more precision. It's a 128-bit storage format, which is entirely unrelated to how many bits the CPU uses. It's not any different to creating a 128-bit struct in C/C++/whatever.

@COOBORKY: Yes, putting a background image on the 2D grid has been a suggestion for a while. It will be added at some point.

@Striker: Have you updated to 0.1.0.24? Is there any other information you can provide on how I can replicate this bug? What is the error message you get when it crashes? Did you click submit on the bug report?
Penguinboy PenguinboyHaha, I died again!
Posted 9 years ago2014-04-30 23:56:08 UTC Post #319088
Minor suggestions:
  • When the version update prompt appears, how about showing which version you currently have? Maybe release dates too, to know how long you've gone without an update. Possibly also showing the release notes for all the versions in between the one you have and the one you're being offered, not just the latest one.
  • It's a bit hard to get a specific value in the 3D views sliders. How about turning the label to the right of these into a numbers-only textbox? This doesn't necessarily happen with the "time to top speed" slider, but it could still have a textbox for consistency.
  • If middle-clicking-and-dragging the 2D views scrolls them, how about making middle click rotate the 3D view like holding space? Right now it only selects things the same as left click.
Bugs
  • Some faces seem to randomly disappear behind transparent brushes (aaatrigger).
Posted 9 years ago2014-05-01 14:58:06 UTC Post #319115
+1 to inputtable values for the 3D views sliders. The camera view is too fast for me but I can't change it because it would be an uneven number.

Also, is there some way of changing the point about which something rotates? In Hammer, if I wanted to rotate a door or something I would have to make a copy rotated 180 degrees and select them both if I wanted to rotate it about the hinges of the door, rather than the centre.

[Edit] Apparently it just renders things more efficiently than Hammer and lags less, as they are both set to a camera speed of 1000.
Alabastor_Twob Alabastor_Twobformerly TJB
Posted 9 years ago2014-05-01 17:56:48 UTC Post #319118
Also, is there some way of changing the point about which something rotates? In Hammer, if I wanted to rotate a door or something I would have to make a copy rotated 180 degrees and select them both if I wanted to rotate it about the hinges of the door, rather than the centre.
Arbitrary rotations are one of the planned features, I'm sure.
Posted 9 years ago2014-05-01 18:11:13 UTC Post #319119
origin brush ?
rufee rufeeSledge fanboy
Posted 9 years ago2014-05-01 18:46:19 UTC Post #319121
I assume he means in hammer, not in game. I still don't understand the issue though... :P
monster_urby monster_urbyGoldsourcerer
Posted 9 years ago2014-05-01 18:56:02 UTC Post #319122
Rotating only, against rotating then moving.
Posted 9 years ago2014-05-01 19:36:28 UTC Post #319124
I might not have explained it very well.
User posted image
Say I wanted to rotate a brush in Hammer around the upper left corner, the original position of which is marked in red in the image. To have it actually rotate about that point, I would need to copy the brush, rotate it 180 degrees (obviously not necessary in this case) and then line those points up before rotating both at the same time. This is time consuming and kind of annoying to do in situations where I would like to see how the brush rotates while in Hammer. A simple example being checking that a door doesn't intersect with anything while it opens.
Alabastor_Twob Alabastor_Twobformerly TJB
Posted 9 years ago2014-05-01 19:56:08 UTC Post #319126
Actually, you don't have to duplicate and flip the original brush, just make a large brush ("helper" brush) that covers the first brush in its entirety, and move it so its origin is at the point around which you want to perform the rotation. Then select both brushes and rotate them together.
Posted 9 years ago2014-05-01 21:23:45 UTC Post #319128
They're already implemented dude!!!
Click the rotate tool and move the gizmo to define the axis of rotation :)
Tetsu0 Tetsu0Positive Chaos
Posted 9 years ago2014-05-01 22:51:27 UTC Post #319131
Ah, danke. I didn't realise you could move that, it didn't work when I first tried. My mouse has about a quarter second delay with clicking which sometimes makes me miss when I click, which was probably the cause.
Alabastor_Twob Alabastor_Twobformerly TJB
Posted 9 years ago2014-05-02 00:14:13 UTC Post #319139
Just tried it out. It might be a good idea to have the arrow keys nudge the gizmo when in rotation mode rather than the brush itself.

(Speaking of which, I also think that arrow keys should nudge by grid width by default.)
Posted 9 years ago2014-05-02 01:47:37 UTC Post #319141
Just tried Sledge a bit for the first time. Looks and feels great, I'm really looking forward to this maturing.

Found one issue: setting invert y-axis for the 3D view does not change the way the mouse behaves (still non-inverted).

Also I would love it if light_spot had optional cones projecting from the entity showing the inner and outer angles. I believe Hammer 4 has this feature and I would adore you forever if this was added to Sledge. I love me some light_spots. :)
Posted 9 years ago2014-05-02 02:43:43 UTC Post #319143
I've been going on something of a bug fixing frenzy in the last few days, mostly related to undo and redo not doing what it's supposed to. I think I might have fixed up Striker's issue with clipping and VM stuff too, but if anyone is experiencing that I would love to get more info to double-check.

@Stu: Settings slider values: shouldn't be too hard to add in, I'll check it out.
Middle clicking to free-look: again, should be possible to do this.

@TJB and others: As Tetsu0 explained, rotation around any point can be done by moving the origin point when the select tool is in rotate mode. I have noticed some cases where the rotation point can be difficult to "grab" (not recognising clicks sometimes), but I haven't had time to investigate. Hover the mouse around there, the cursor should change when you are over the origin point.

@Unq: Thanks for the feedback! Inverting the mouse should be an easy fix, I'll put it in the next release. Light (and other entities) helpers might take a bit longer to add, but they're definitely planned. I want to support whatever Hammer 4 uses to add the helpers (FGD stuff, probably), and then maybe add a few extra helpers that Hammer doesn't have, too.
Penguinboy PenguinboyHaha, I died again!
Posted 9 years ago2014-05-02 12:51:34 UTC Post #319145
i have sort of a noobish question: is it more beneficial to save as a vmf rather than an rmf? i saw your post about

[quote]Loading an RMF file (saved by Sledge or Hammer): RMF saves FP values, which are approximately accurate to only 6 or so decimal places. That should be plenty, though.
  • Loading a VMF file (that wasn't created by Sledge): By default, VMF only stores the planes of a solid, rather than the vertices. Sledge needs to perform the plane intersection algorithm to get the actual vertices back again, which may cause slight imprecision and off-grid vertices due to Hammer saving the value as a FP number. After fixing any errors and re-saving, the errors will not return (unless you open and re-save the VMF in Hammer again).
[/quote]

but im not sure what it means in terms of which is better :o
Posted 9 years ago2014-05-02 13:12:34 UTC Post #319146
VMF is better in every possible way, because it can have extra data without breaking compatibility with other programs that use it. It's sort of like XML in that you can add extra stuff to it, and programs that don't know about your extra stuff can simply ignore it.

When Sledge starts supporting newer features (e.g. displacements, instances), the only way to keep them in their proper editable format will be to use VMF. Sledge will warn users when they use a format that doesn't support features they are using, to make sure that they know data will be lost.

For example, say you create a displacement and save it as RMF. Sledge will first warn the user that RMF doesn't support displacements, but if they ignore the warning and save anyway, the displacements will be converted into a bunch of tetrahedrons. You can still open the RMF, but the displacement no longer exists, which means you cannot edit it using the displacement tool anymore. (Note: Displacements aren't supported in Sledge yet, but eventually they will be!)

Already Sledge uses VMF's additional features to save data that RMF doesn't allow: multiple visgroups, grid size, ignore groups on/off, and other minor things. In the future, there will be MAJOR features that depend on VMF to work, so I recommend using it for everything. You can always export RMF/MAP if you need that format for whatever reason.

Edit: VMFs saved by Sledge DO NOT have rounding errors! Hammer 4 does, Sledge does not!
Penguinboy PenguinboyHaha, I died again!
Posted 9 years ago2014-05-02 16:07:37 UTC Post #319148
My last thought before I went to sleep last night was "I wonder if we're expecting too much from Penhuinboy?" and then there were cartoon rabbits.
Rimrook RimrookSince 2003
You must be logged in to post a response.