crowbar icon indicating copy to clipboard operation
crowbar copied to clipboard

Is this still in development?

Open Flafla2 opened this issue 10 years ago • 18 comments

Hey guys, just came across your little project. Is crowbar still in development? Additionally, how far is it in development? The way I see it there are 4 main problems in order to tackle something like this:

  • Read/write VMF (see https://developer.valvesoftware.com/wiki/VMF )
  • Process VMF data (for example plane{} data which requires some math to get into a usable state)
  • Main interface / editor
  • Integration with Valve's compilation tools (vbsp, vrad, etc.). This is optional really as it doesn't have much to do with the actual level editing, but it would be nice to have.

how far are you guys on those 4 things? And are you still working on the project?

Thanks,

Flafla2

Flafla2 avatar Jul 15 '14 18:07 Flafla2

Are you interested in helping the development effort?

I Have been working on my own gtk implementations without coordinating with x6herbius; This would cover the interface though x6 has already implemented some stuff in qt (which I dislike greatly as an interface framework). https://github.com/thorsummoner/crowbar

To my knowledge h6's work must be compiled yourself and I simply am not familiar with doing that on this project; My Stuff runs all runs in the interpreted python language and does little more than load an interface; I have completed a sufficient icon pack to use in place of the proprietary existing hammer icons.

All icons are localized to their respective interface extensions, one good example is this directory: https://github.com/thorsummoner/crowbar/tree/master/extensions/MapTools/icons

Most icons are under crowbar/extensions/*/icons The application icons are under crowbar/share/crowbar/icons/

Note: the current commits to the master may not be stable, I remember having trouble getting a refactor of the extension loader to behave.

thorsummoner avatar Jul 15 '14 19:07 thorsummoner

As a longtime Hammer user and 3D graphics hobbyist, I've been following this project for a while now. Last time I tried cloning the source and doing a compile (under Mac, Qt 5) it was having serious issues finding the externally-located Qt3D library source. Going by the notes of more recent snapshots, this may have been addressed and I'll try compiling it again.

If I can get it to work, count me in as someone interested in contributing!

As far as the 4 main problems Flafla mentioned: 1 - As far as I can tell, the VMF format shouldn't be that difficult to parse since it's neatly formatted. 2 - This is where it gets funky, and would require some interesting math to be loaded. 3 - I'd prefer Qt since the results tend to look a lot more "native" on various OSes vs GTK which looks like Linux everywhere. Plus there's super useful shortcuts thanks to stuff like Qt3D for getting into nice OpenGL stuff quickly. 4 - I think(?) the full sources for the compilation tools is part of the 2013 SDK (under src/utils), along with VPC scripts meaning that they could probably be adapted to be cross-platform (like crowbar) fairly easily.

Anywho, I look forward to seeing what others have to say.

-Jonathon

On Tue, Jul 15, 2014 at 3:01 PM, thorsummoner [email protected] wrote:

Are you interested in helping the development effort?

I Have been working on my own gtk implementations without coordinating with x6herbius; This would cover the interface though x6 has already implemented some stuff in qt (which I dislike greatly as an interface framework). https://github.com/thorsummoner/crowbar

To my knowledge h6's work must be compiled yourself and I simply am not familiar with doing that on this project; My Stuff runs all runs in the interpreted python language and does little more than load an interface; I have completed a sufficient icon pack to use in place of the proprietary existing hammer icons.

All icons are localized to their respective interface extensions, one good example is this directory:

https://github.com/thorsummoner/crowbar/tree/master/extensions/MapTools/icons

Most icons are under crowbar/extensions/*/icons The application icons are under crowbar/share/crowbar/icons/

— Reply to this email directly or view it on GitHub https://github.com/x6herbius/crowbar/issues/3#issuecomment-49077268.

jonathonracz avatar Jul 15 '14 20:07 jonathonracz

For the main application, I'm planning for it to be my third year project at university this coming academic year (hence why not much is happening right now). I'm aware that collaboration will probably raise problems with this, so I'm planning on making a private repository with a fork of my own code when the time comes. I'll certainly continue to make it open-source after the project is done, whether it ends up finished or not, and whoever wants to can tinker with bits and pieces in this public repository while I'm working on my own implementation.

As of right now, I've been experimenting with the best way to implement an OpenGL widget, complete with camera controls - these experiments can be found at https://github.com/x6herbius/opengl-experiments. In a personal implementation of a Twitter daemon I also implemented a rough keyvalues tree system, which should help with VMF parsing: https://github.com/x6herbius/twitterdaemon/blob/master/keyvaluesnode.h Note that all of this stuff is basically me playing in a sandbox and is probably rough around the edges because I'm writing it primarily to learn.

If anyone's having problems compiling Qt3D, I got some help and posted notes here for posterity: http://x6herbius.tumblr.com/post/86099425926/integrating-qt3d-with-qt-5 Note that the code change no longer needs to be made in order for the code to compile.

noodlecollie avatar Jul 15 '14 20:07 noodlecollie

Oops, didn't mean to close that >.<

noodlecollie avatar Jul 15 '14 20:07 noodlecollie

Excellent thread; Funnily enough I find the exact opposite in gtk and qt as @jonathonracz, in that gtk has native os themes and qt tends to look like qt everywhere; Just a matter of opinion though. Thanks for the feedback x6, finding folks with interest in this project is more inspiring that not knowing the interest exists.

thorsummoner avatar Jul 15 '14 20:07 thorsummoner

For the record, personally I think GTK looks like shit. :P Seems a bit silly not to use the Qt styling since it's integrated in the framework from the start, but I don't suppose it matters too much.

noodlecollie avatar Jul 15 '14 20:07 noodlecollie

I wonder if we're talking about the game gtk, gtk3 right? I've never seen anything look quite as native as gtk3 does cross platform. I would understand if you were confusing it with something like Tcl/TK which looks like garbage on every platform.

thorsummoner avatar Jul 15 '14 21:07 thorsummoner

screenshot from 2014-07-15 14 47 50

This is a screenshot of what i've put together running under the sexy Numix skin; Looks like windows on windows; I don't own a mac, though Screenshots of gedit on mac look fine

https://wiki.gnome.org/Apps/Gedit/Screenshots?action=AttachFile&do=get&target=screenshot-gedit-on-os-x.png

I've built this interface to operate on a per-extension biases; meaning that anyone who cared could write an extension to load a glade file of their toolbar, popup dialog, sidebar and have easy access to the viewport's selection and such.

I've also been modeling config files after Sublime Text's precedent, so anyone familiar with that ecosystem would be very comfortable adding menu bar items, as well as specifying a default location for their extension to load.

All this inspired by finding your Crowbar project

thorsummoner avatar Jul 15 '14 21:07 thorsummoner

I dunno, I was going by how GTK apps seemed to look on Arch (which was chunky and like arse). Those screenshots look pretty good though.

noodlecollie avatar Jul 16 '14 13:07 noodlecollie

@thorsummoner WHOA that's cool! Excellent job so far. Do you have a repo set up for that work yet? I haven't attempted to build crowbar yet (on a mac). Is it possible, and what work has been done on this repo?

EDIT: Found it https://github.com/thorsummoner/crowbar -- going to check it out now.

Flafla2 avatar Jul 16 '14 13:07 Flafla2

Additionally, what work has actually been done on crowbar so far? @x6herbius how much of the 4 bullets i mentioned earlier have been completed?

Flafla2 avatar Jul 16 '14 14:07 Flafla2

To be honest there's not that much there right now - I got a Source-esque console working which should be useful for things like configs but I've been thinking the most useful thing to get done right now would be a viewport widget with 3D navigation (third bullet point) - once that's implemented it'll be a lot easier to work on geometry classes (second bullet point) as we'll actually be able to see how they come out when rendered. Code for this is at https://github.com/x6herbius/opengl-experiments until I get it to an acceptably working level - we've got motion right now but not mouse look yet.

For VMF reading (first bullet point) I can use/improve KeyValues classes I wrote at https://github.com/x6herbius/twitterdaemon/blob/master/keyvaluesnode.h As for the fourth point, we can at least just redirect an output VMF to vbsp/vvis/vrad unless/until we wanted to do something fancier.

noodlecollie avatar Jul 16 '14 14:07 noodlecollie

@Flafla2 The current gtk interface relys on a really less-than-popular gtk sublibrary called gdl, that Google has barely even herd of. Being that its so hard to find binaries for that packages cross platfiorm I need to code a fallback still to make sure it will run on all playforms; Worst case is my original implementation where toolbar locations have to be defined by a config file/menu; But that code isn't written yet. I also need to look into python's c bindings topics; I am comfortable with somebody else running with my interface work in any other language; though If I write it I'll definitely continue to write things that don't need to be fast on cpu in python. As a side not I've also been doing my work in python3 which may have been a 'shot myself in the foot' choice due to lack of widespread python3 support.

thorsummoner avatar Jul 16 '14 15:07 thorsummoner

Another reason to stick with Qt! :)

On Jul 16, 2014, at 11:42 AM, thorsummoner [email protected] wrote:

@Flafla2 The current gtk interface relys on a really less-than-popular gtk sublibrary called gdl, that Google has barely even herd of. Being that its so hard to find binaries for that packages cross platfiorm I need to code a fallback still to make sure it will run on all playforms; Worst case is my original implementation where toolbar locations have to be defined by a config file/menu; But that code isn't written yet. I also need to look into python's c bindings topics; I am comfortable with somebody else running with my interface work in any other language; though If I write it I'll definitely continue to write things that don't need to be fast on cpu in python. As a side not I've also been doing my work in python3 which may have been a 'shot myself in the foot' choice due to lack of widespread python3 support.

— Reply to this email directly or view it on GitHub.

jonathonracz avatar Jul 16 '14 16:07 jonathonracz

Anyway, @x6herbius so are you planning not to have this open source while you work on it as a project? I understand you want to open it up later but I would love to help out some sort of open source effort on a hammer port/remake.

Flafla2 avatar Jul 17 '14 01:07 Flafla2

I'll be making a private repo for anything I do on it as a project. Once that's finished I'll open it up again and integrate that stuff; it also doesn't stop you guys from implementing whatever you want in the public repo and then having us merge the good bits at the end.

noodlecollie avatar Jul 17 '14 08:07 noodlecollie

Just in case anyone's interested, I got a rough version of mouse look working at https://github.com/x6herbius/opengl-experiments

noodlecollie avatar Jul 18 '14 15:07 noodlecollie

@x6herbius I can't get anything to draw using that demo (On Mac OS 10.8). It looks like a cube is supposed to be there looking at your code, but I can't see anything. It's just a black screen.

EDIT: Never mind! I was just inside of the cube - I needed to press S to get out of it.

Flafla2 avatar Jul 19 '14 05:07 Flafla2