News | Forum | People | FAQ | Links | Search | Register | Log in
Jackhammer 1.1.700 Public Beta Is Out
Hi all!
Yes, now we're in beta status, which means lots of bugfixes and improvements were done. ^^

New version highlights:

* Archive Support: Jackhammer can load models and sprites from game archives (PAK, PK3). This is useful if you open other's map which uses models, and your game resources are not unpacked.
* Compiling in Editor: now it is much more convenient to compile maps in the editor, because the compile process doesn't block it. You can continue editing the map while the long compilation takes place. You can also terminate it at any time simply by closing the Process Window.
* Improved Decal Rendition: you can preview Half-Life decals (colors and transparency) in the 3D-View just the same as in the game.
* New Texture Application Modes: "NULL to Selected" (applying NULL or caulk texture to selection), "NULL to Unselected" (same as the previous mode, but texture is applied to the other brush faces; handy fast removal of backfaces), "Apply (texture + values + axes)" (copying texture axes information, simplifying texture application to complex objects and landscapes, especially when combined with "Align to View" mode).
* Automatic Selection in 3D: you can select multiple objects by pressing mouse button in 3D-View and then dragging a cursor. This mode is convenient for quick selection of lots of nearby objects (e.g. landscape brushes), when clicking can become annoying.
* Model View: you can specify an external model viewer (e.g. HLMV) and open any model simply by a context menu command. Also it is now possible to reload a model from disk without restarting the editor.
* Update Check: the editor can automatically check for new version available and notify you, so you can immediately download and install the update.
* Lots of improvements: the new version traditionally contains lots of bugfixes and improvements in comparison with the previous release. The editor became much more stable and functional, and now it is a beta. Please view a changelog for the details.

This version supports Quake, Quake II, Quake III, Half-Life, Gunman Chronicles and their modifications.
Supported operating systems: Windows, Linux.
Supported architectures: x86 (32-bit), amd64 (64-bit).

Web page
Feature list
Changelog of version 1.1.700


Thanks for the feedback, some features were added because of your requests. Hope you enjoy Jackhammer, I've put much effort to it.
First | Previous | Next | Last
Gonna Download It 
It's the way to put Worldcraft behind with a soft learning curve. Later, I'll get started on Quake 3 as well. Thumbs up! 
and perfect timing with map jam 6 starting this Friday :) 
What's the theme of the jam? 
Theme Will Be Announced Friday Afternoon GMT 
Linux Version Is Buggy For Me 
strangely the windows version runs great through wine. 
What Do You Mean - Buggy? 
Linux version was tested on Debian a lot, it definitely works in Wheezy and Jessie... 
Been A WC 1.6 User For The Last Decade... 
Tried this out today. I'm enjoying it so far. It's too early to tell, but I may be making a permanent switch. Thanks XaeroX. I really enjoy the camera. It took me a few minutes to figure it out, but once I did I enjoyed its ease of use. 
I Mean None Of The Textures Appear. 
Either in the texture browser or in the 3d window shaded or not.

They all appear as white. 
This Is Odd 
What about the previous version, 1.1.500? Is there the same thing? 
Bless You XaeroX 
"Toggle 3D auto selection by mouse dragging"

This button is godlike :D 
I've been using version of the editor to create my map jam 6 map and have a few things:

1) When in face edit mode I should be able to shift+ctrl+left click on a brush and the editor will add all the faces on that brush to the face selection. This works in Hammer but does not in JH :(

2) When placing an entity into the world by clicking inside the 3d view to place it, it will usually be 2-4 units inside the floor/wall you place it on and require you to manually move it afterwards. It would be great if there was some sort of check to make sure the entity wasn't inside anything when placed.

3) With 15 degree rotations box in 2d options ticked, I cannot do free rotations in object rotate mode by holding alt. Holding the ALT key while in object rotate mode should allow completely free rotation on that axis.

4) When shift-dragging brushes to duplicate I sometimes get corrupted texture coordinates on a face that can lead to a compiler crash with "bad texture axes on face" or something similar (Quake 1, EricW's compiler suite). I can't remember if I had texture lock on or off when I duplicated, and it's only happened once or twice. I will try and investigate and get a working repro.

And some things on my wish list for the future... :D

1) Hammer style auto-visgroups when? :D
2) 3 point clipping like in gtk radiant!
3) robust vertex editing like in TrenchBroom
4) vmf instances like in latest Hammer

This latest version has been very stable for me, I think I had one crash (without error msg) during this entire map jam, luckily with the autosave system nothing was lost! 
Thanks For The Feedback! 
1) ctrl+shift+click is actually an alias to alt+click. This is a workaround for stupid Ubuntu desktop environment behaviour that reserves alt key to its own needs. Shift+click works, but there is actually no way to select multiple brushes in texture application mode. However you can exit it, select brushes and enter again.
2) Such checks are complicated because the editor itself does not define an "inside anything" term. This is a game-related term actually. E.g. func_illusionary is not solid and therefore there is no problem that some entities are inside, the same applies to triggers. JH has a workaround for "players in floors" offseting their origins using a fgd keyword "offset", but this is the only thing. As for 2-4 unit offsets while placing entities far from the camera, this is actually a precision problem.
3) Well, it should not. :) Hold shift instead of alt. This is the same behavior as VHE's.
4) Make sure you've disabled "UV Lock" before ANY operation that doesn't explicitly require it. And don't forget to use Alt+p sometimes.

About suggestions:
1) VHE doesn't have auto-visgroups. Please mind that my reference editor is VHE 3.5.
2) Very complicated due to current clipping tool architecture, operating only in one 2d-canvas.
3) I've never seen TrenchBroom in action, and actually do everything in 2d views since my first map. :) I keep saying that JH is a 2d-oriented level editor.
4) Do you mean prefabs? Or what?

Anyway, thanks for suggestions and for using Jackhammer! ^^ 
Moving Images! 
Hammer auto-visgroups - very useful for quickly removing all the stuff you don't need to see!

TrenchBroom vertex editing - As you can see, Trenchbroom will slice faces to keep brushes convex when you vertex manipulate them. It also refuses to move a vertex into a position where an invalid brush shape will be formed.

Thx for the reply. Looks like I have some new shortcut keys to learn :) 
Setting Up Jackhammer For The First Time 
Is there a beginner's guide somewhere that tells you how to configure Jackhammer correctly for Quake? I've looked at the online documentation, but I can't see anything along those lines ... and there are quite a lot of things to configure. I think I've got it more or less figured out, but I'm not sure, and I've left a lot of fields blank as I simply didn't know what they were. 
I know that Hammer 4+ has auto visgroups. But again, my reference hammer is 3.5.
I see, TB performs automatic triangulation on non convex objects. JH does not, so such vertex editing is quite useless. It would be nice feature though, but I'm not sure I'm ready to implement it. :)

The installer can automatically configure everything, just specify a path to quake executable during the install process. After the installation you can immediately create a simple room, compile it and run in a few clicks.
Hovewer this is possible only under Windows (Linux installer is much simpler). 
Like Daz, I'm also using JH 1.1.700 for a Jam 6 map, and I really love what you've done with the program, great work! I do have some feedback, though. I've taken a few dozen notes about Jackhammer; between feature requests and bug reports it's about 70 items so far. Is there a better way to provide that much feedback than posting the whole thing here? My posts tend to be long enough, and I'd hate to clutter the board with an even bigger mass of text.

As for instances, when Daz mentions them, I trust he means these: They work sort of like prefabs, but they're easy to keep editing after you've put them in position, even rotated or translated off of the grid.

You place a point entity called a func_instance which serves as a reference to, or "instance of", an external map file. This map file can contain basically anything you want. A common light fixture, for example, or a pillar, or maybe a complex entity configuration that you want to use in several locations. Instances let you set everything up once, then instantiate your work multiple times. Something called "name fixup" keeps entity names unique, if a mapper wants to, by adding a prefix or suffix (either one the mapper specifies or an automatically generated name). You can even do material replacements, swapping out one material for another in some instances but not in others.

There's also the benefit of being able to build neat geometry on the grid in an external file, but then rotate the func_instance point entity which references that external file to whatever angles you'd like. The transformations don't get applied to the instanced geometry in the map file stored on disk, they get applied only immediately before compiling, so concerns of slowly accumulating floating point rounding errors are dramatically reduced, if not eliminated. On top of that, the func_instance entity exists only at compile time, and the top level map along with all instances can be easily collapsed into one .map file by an external tool (I'll get to this in a moment), so there's no need to modify the compile tools themselves. By the time CSG or BSP see the map, the instances have been collapsed and it's an ordinary .map file.

The good news is that the external tool I mentioned already exists:

It's built for the Source engine, but I have my own personal version of the project that I've modified to support Quake maps (at least, the Valve 220 format). A custom Jackhammer build configuration runs this tool after exporting the .map but before passing the result to CSG. The tool does all the work of rotating/translating objects, fixing up variable names, replacing materials, etc. All you would need to do is allow the func_instance point entity to display the contents of the external file it's loading. That's not to say it's a trivial project, but a lot of the work is already done.

Some examples of the results: The glowing blue-green thing with the teeth exists in three places in my map. Its geometry, and the entities that allow it to light up when players approach, is only built once, in its own file. I place the three func_instance entities and specify a fixup name for each, and when players approach one of them, they hit a trigger that targets the fixup name, so only the one they're near activates. This is a more recent example. Each section of bridge there is an instance, built in another file neatly on the grid, allowing me to get a nice uniform curve to the center section. I place the func_instances, then rotate them into their final positions as seen in the picture. I can then continue to edit the section if I need to, without having to copy and paste the updated geometry all over again. 
Thanks for the response, but yeah, I'm on Linux... 
Game Config Info 
Where is JH's game config information stored? I tried making one for Quoth but JH won't keep the whole path to the pallette file. I was hoping that I could edit the source info and force it to do so.

Enemy Territory Support 
Hey XaeroX would it be possible to support Enemy Territory in a future release (seen as you already support Q3) I am part of the team working on the new engine for the game and would love to have some good mapping tools available.. 
I'm not sure it is quite easy to add support for modern games. I still can't support HL2 because of such things as displacements, input-output system and stuff.
Q3 support was an intent since the first days of the development, and JH's renderer is actually optimized for Q3 shaders (Q1/Q2 and HL textures actually have in-memory representation as Q3 shaders). 
Enemy Territory Support 
Sorry I mean Wolfenstein: Enemy Territory. Its idtech 3 (like Q3) and uses the same shaders (mostly) and also uses q3map2 to compile maps to bsp. 
Re: Enemy Territory Support 
Ah, ok.
Adding new game support generally consists of the following tasks:
1) Compiler(s) that supports mapformat 220 and is compatible with JH (q3map2 must be modified, unless you use the one shipped with JH; its sources are available in "quake3/", so you can diff changes and add them to any your custom q3map2 build).
2) Texture and model format specifications, to implement them within a plugin. The same applies to texture scripts (known as "shaders" in id tech 3) - new keywords, etc etc.
3) Entity definition file (FGD). Can be created as a modification of the existing quake3.fgd.
4) Game-specific editing features that can be implemented in plugins (e.g. "WAD extraction" tool for Quake).
5) Game-specific editing features that CANNOT be implemented in plugins and require modifications of the editor itself (e.g. q3's bezier curves).

So, please give me a detailed explaination of your needs according to the list, and I'll figure out whether is it possible to support your game, and how easy it will be. 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.