noodlecollie / crowbar

An open-source level editor for Source games, built using Qt5.
14 stars 1 forks source link

Is this still in development? #3

Open Flafla2 opened 10 years ago

Flafla2 commented 10 years ago

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:

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

Thanks,

Flafla2

thorsummoner commented 10 years ago

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.

jonathonracz commented 10 years ago

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 notifications@github.com 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.

noodlecollie commented 10 years ago

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 commented 10 years ago

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

thorsummoner commented 10 years ago

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.

noodlecollie commented 10 years ago

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.

thorsummoner commented 10 years ago

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 commented 10 years ago

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

noodlecollie commented 10 years ago

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.

Flafla2 commented 10 years ago

@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 commented 10 years ago

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

noodlecollie commented 10 years ago

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.

thorsummoner commented 10 years ago

@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.

jonathonracz commented 10 years ago

Another reason to stick with Qt! :)

On Jul 16, 2014, at 11:42 AM, thorsummoner notifications@github.com 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.

Flafla2 commented 10 years ago

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.

noodlecollie commented 10 years ago

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 commented 10 years ago

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

Flafla2 commented 10 years ago

@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.