mfn / gtkradiant Goto Github PK
View Code? Open in Web Editor NEWNote: this has been long dormant, please check
Home Page: https://github.com/TTimo/GtkRadiant
License: Other
Note: this has been long dormant, please check
Home Page: https://github.com/TTimo/GtkRadiant
License: Other
Terms and Conditions of Use ------- GTKRadiant contains software developed by Id Software, Loki Software and third party contributors. All portions of GTKRadiant which are licensed by Id Software are subject to the terms of its LIMITED USE SOFTWARE LICENSE AGREEMENT, a copy of which is included with GTKRadiant. If you did not receive a LIMITED USE SOFTWARE LICENSE AGREEMENT, please contact Id Software immediately at [email protected]. All portions of GTKRadiant which have been developed by Loki Software and/or third party contributors are licensed under the terms set forth below. ------- Copyright (c) 1999-2000, Loki Software, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of Loki Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. No license is hereby granted to any trademarks, tradenames or logos. THIS SOFTWARE IS PROVIDED BY LOKI AND THE CONTRIBUTORS "AS IS." ANY AND ALL WARRANTUES, EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRENGEMENT ARE HEREBY DISCLAIMED. IN NO EVENT SHALL LOKI OR THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, WITHOUT LIMITATION, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------
Reported by AEonZR (from http://github.com/mfn/GtkRadiant/issues#issue/4/comment/102084 )
It seems that some of the "minor" changes to geometry in the editor are not tracked via Undo. (More tests show that when only moving brushes via keyboard nudge Alt+Cursor, these can never be undone).
Affects brushes as well as entities.
Does not work in 1.4/1.6
Does work in 1.5
You get used to manipulating selected brushes via Ctrl+LMB-drag Edge Editing, especially for Simple Patch Meshes, it would be convenient to mimic this functionality for patches.
(Probably one really ugly code hack to get that done.)
A way to drop entities flush to the next brush ("floor" surface) would be convenient.
This would be used for all weapons, ammo, health and other pickups. But also be very useful to ensure e.g. that the origin of a plant model is actually flush with the brush floor.
Note: There seems to be a function that does just that in the default v1.6.x toolbar called Drop Entity
... only this does not seem to work.
Maybe bind it to Ctrl+Alt+PgDn.
There are actually a few other dialogs that do this, too.
Other Dialogs:
Technically, they all create their own GTK iteration loop and thus stop the main loop.
For some dialogs it wouldn't matter, for others it's relevant that they block: if they entity list gets not updated while the user can work in that view, it's of no use.
Currently without a .game file, the whole application is "lost".
When you have texture lock on you will very easily "accidentally" shift, scale, or rotate texture on faces that actually should have default values (also happens when you "grab" an existing texture face and paste it onto a new brush).
So a Reset
or Default
button in the Surface Inspector, pretty much were the UNLOCK button presently resides would help.
Function: Set H Shift
and V Shift
to 0.00, set H Scale
and V Scale
to 0.5, and Rotate
to 0.0.
Addition: It could actually be useful to define a new key to this function, e.g. Ctrl+Shift+R (Reset).
Whenever working, selecting things, happens often that the outer hull, the surrounding skybox, gets selected although you just tried to select the brushes you see in the ortho view, but the sky brushes are "everywhere" due their size.
The exclusion would evaluate the attached shaders to the brushes and if there's a skybox surface parameter, it would ignore them.
Currently unknown if that information is available anyway within the editor (does the editor parse shader stuff at all? probably not).
In case of specific dialogs, filter for e.g. *.map, *.md3, etc. does not work.
Reported by Rambetter.
Reported by User:
On initial setup, it asks me to configure games by finding the engine directory. GtkRadiant 1.6 is installed on C:\ but my Q3 dev stuff is on D:. The interface won't let me browse to the D:\ drive of my computer, listing only the subdirectories on the C:\ drive. I can manually type in the location and it works, but a little annoying none-the-less.
Requires a selection operation like "select inside", shift click on that entity does not work.
Reported by Rambetter.
Split from issue #43
It could be nifty to control the Textures view related features via some icons at the top of the Textures window, e.g.:
Just some ideas, should this be feasible at some point.
As soon as a change is done to a map, no matter how hard you do undo, the map will stay "modified", even when the same initially saved state is reached.
Reported by AEon
E.g. alt-f for file, alt-e for edit, etc. None of them work (they work in 1.5)
I think issue#11 is causes because of the same issue.
For a test I disabled the key_press/key_release event of the mainframe application and alt-f, etc. did work and global keys still worked, too (wtf?)
In 1.4 alt+4 filters everything trans more or less, all clips, etc....
It does not matter whether the preferences are saved or not.
Reason:
The number of undo levels can be configured with prefs. Every time the prefs dialog is opened, the prefs are read from disk.
Every time the prefs are read from disk, the system is basically initialized, and thus the undo levels are initialized with the value from the system. When this happens, the undo system is reset ( PrefsDlg::LoadPrefs ).
When the prefs are saved, the same happens again in PrefsDlg::PostModal.
Maybe this can be simply fixed by checking whether the undo levels really have changed or not.
Reported by user:
Another feature that might be good, is to automatically force a reload models after you do a reload textures. If you don't have any models, this won't affect anything, if you have models, it will do it for you (since you need to reload models after textures else they for some reason gets the wrong texture)
The former position does not remain, somehow there's an inconsistency.
Reported by Rambetter.
Currently free rotation does not work on models, i.e. the angle key should be affected.
The location of the entity itself can be rotation when free rotation is done as part of a rotation with a selected brush, but that's not meant here.
Proper texture orientation by default on all sides. E.g. a crate texture with writing on it placed on a cube, then use fit will mirror half the textures. (Problem is that unaligned textures by default are placed this way on the faces, so a fit would have to go against the default alignment of textures.)
Hipshot
Does the lock button in the surface inspector need to be enabled by default? Isn't that just stupid, why is it even there?
AEon
Usually you know what you are doing, and would not accidentally change something. I'd suggest replacing UNLOCK with a RESET button.
Also see the "Button to Reset Shift/Scale/Rotate in Surface Inspector" in issue #39 on this.
I noted that when you change a key/value pair for an entity, then the editor
does not show a * in the main window title, indicating a required save (if you want to keep the change). This can be confusing, if you think you actually did save all changes, but did not (just before compile).
E.g. surface inspector
This may be a feature, though I doubt it:
This can be disconcerting, IMO, because the user will think "I never touched all those other brushes, what's going on here".
Not a huge priority, because you can simply hit Esc to deselect the brushes again.
At least on Windows
It is possibly to remap the Cursor keys to W,S,A,D via shortcuts.ini file, and I even "hacked" the code to do this directly.
But there is one large issue. The W,S,A,D keys do not seem to send a Key UP signal to the editor. Thus when you press W to move forward, and let go, you keep flying forward. This would require a change in how "other" keys instead of the cursor keys are handled in "Fly Mode".
Ideally the keys W,S,A,D are available only in "Fly Mode", thus not requiring to remap the S (Surface Inspector), A, and D keys used otherwise already. The whole thing could then be a Prefs setting, for those who actually want to use it.
(One step further, these exclusive new "Fly Mode" keys (W,S,A,D) might also be definable via shortcuts.ini.)
A way to allow some of the texture alignment on brushes to work like on patches additionally. E.g. you angle a brush and the texture is "stretched" even at an angle to fit. Presently you have to use patches all over the place for "weird" texture alignment.
This was a user feedback, but more details would help here.
E.g. I've activated the textool
plugin which provides this for patches.
Is something like that sufficient, and yes, how would it translate to brushes?
Example:
If you select a brush which is part of a func_group, there's no way to tell radiant to select all other brushes from this func_group, too.
Basically it's not restricted to func_group but expands to the general concept that multiple brushes can be linked to the same entity.
radiant 1.5 has a keyboard shortcut for that: CTRL-ALT-e
Meaning, that the next time you load the map the alignment is offset.
Not sure what the issue is here yet, the map has been created with 1.5 and the crash is only experienced when a new map is loaded after one has been loaded already, it crashed in the model.cpp destruction phase somewhere.
Moved toolbar stuff to separate issue #45
A way to make it possible to assign shortcut keys to the plug-in menu entries. The icon-bar seems to be a step in that direction, but it's not as convenient.
Steps to be done:
Pro:
Contra:
Make changes to a map, load a new one -> you can "undo" the changes from the previous map. Affected: 1.4/1.6, not affected: 1.5.
This one deserve +1 for creativity.
Actually 1.5 behavior
E.g. having a selection and just clicking in the 2D view
Most of the time even with texture lock this totally fails, forcing folks to turn the brushwork into an ASE model.
The idea is that one is often working in e.g. 8 grid size and wants to work on some details in 1 grid size and then jump back to the previous grid.
E.g. press "4" for 8 unit grid, work, press "1" for 1 unit grid, work, press "1" to go back to 8 unit grid.
Better handle this stuff, don't start confusing users here.
Actual action still needs to be considered though.
Currently the editor has no built-in grouping and the *.map format does not support this either.
There's a way using the func_group entity, but it has limited capabilities.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.