wowdev / noggit3 Goto Github PK
View Code? Open in Web Editor NEWThe currently premier map editor for World of Warcraft in version 3.3.5a.
License: GNU General Public License v3.0
The currently premier map editor for World of Warcraft in version 3.3.5a.
License: GNU General Public License v3.0
@SteffMC suggested on 2017-06-07:
Absolutely all functions which can be applied on an ADT should have also option to be applied on all ADTs which are currently loaded (similiar to fix gaps function). This is needed especially for texture swapping, creating/deleting water, setting Area ID...
@jimmsta suggests, for good reason:
I think it may be time to start planning a function of noggit where it is able to generate the necessary files and DBC edits in order to build an entirely new map without resorting to using a handful of other tools. As it stands right now, I'm not even entirely sure what the best way to go about creating a blank map is - what do we use as a template ADT file? It would be ideal to wrap all the necessary bits together into this function, so as to decrease the amount of manual work it takes to get up and going with a new map.
- Ask user for map name (Folder/File names/DBC entry)
- Ask user for map description (DBC)
- Ask for dimensions, or have the user 'draw' a selection box from an array of 64x64. (WDT, ADT)
- Offer an option to Add New Area to a pre-existing map (WDT/ADT, in menu's once map is loaded)
- Ask user if the map is for a WMO or not, and if it is for a WMO, whether or not the user wants a blank slate full of ADT's to be created or not
- Generate WDT and WDL on initial creation of new map. Generate new ADT's and place them in the appropriate folder *- Upon saving a map, the WDL generation should be re-run
- If/when we have minimap generation working, it should be an option to re-gen minimaps upon a map save. Ideally only changed ADT's would be applicable (unless it's not possible)
- Option to save the new map as a pre-built MPQ with all necessary assets built in (DBC/ADT/WDT/WDL/???)
I think this outlines a lot of the expected functionality from a map editor. There's a lot of functionality that is sorely needed in order to get up and running from nothing. We can all continue using tools from ages ago that are un-maintained or otherwise unruly to get working, or we can plan this feature out from a usability standpoint, and leave a lot of options open for the eventual implementation.
This would also open up the ability to expand on the new map concept - add terrain generators to the mix, and the user would be able to, say, ask for a mountainous region by selecting a portion of the 64x64 adt array, input some values into some sort of algorhythim, and get some pre-built terrain output. Something akin to Bryce3D's fractal terrain generation.
Ultimately, I think a lot of this functionality already exists in noggit, but it just needs to be tied together, into a neat little package. Making the price of entry lower doesn't necessarily mean that we'll see a boom of map makers, but it should make noggit more user-friendly to those that are already making maps.
Even though we always say that noggit3 is only for wotlk, people still use it to modify their pre-wotlk maps as well.
This is likely a better idea to do in a standalone tool though rather than mixing versions.
@Balkron suggested with nice pictures
@Funkybeatz15 reported:
If you plug in a tablet and turn the tablet mode on, you can't raise/lower or draw things. This is because of, if you connect a tablet the outer radius is not changeable anymore.
Also, the log says "(MapView.cpp:3013): Could Not Open Tablet Context.".
@SteffMC suggests:
A tool with radius that deletes all models inside the circle. For faster clean up of trees for example.
@SteffMC reported on 2017-06-07
Central ui for tablet settings. Fast toggle of tablet and normal mode. Testing if it works like planed.
I plan to integrate the tablet settings (if turned generally on in settings) into a new control bar at the bottom of the 3d editor. There will also go daytime and move speed settings into.
@majorcyto suggests:
I think a river spline tool would be so useful! I know it's not that simple to implement from a feature perspective. And also.. i think water still doesn't work properly in noggit either so i guess that might have to be fixed first?
But most modern game engines today have a spline river tool feature, or if not specifically for a river a spline tool you can attach things to. However since we wouldn't need spline for many things in this particular engine just a river/water one would be enough.
Basically it creates a line with hot spot points where it will be placing water, you drag the line around how you want it to be placed, then when you apply it would dig out terrain under it and fill it with water. If we wanted to go the extra mile you could set a depth limit for how much it should dig so it could be shallow, or not.
I am not sure how feasible this feature is since i actually have not looked much into the water situation myself i just know people seem to have a hell of a time with water in general it seems?
Maybe @Adspartan you can enlighten why the water does not work within noggit, or is it not something you wish to even look at. :P
I can provide video/screen shot examples of what a river spline tool is like if needed.
completely customizable brushes have also come up in the past.
For sake of doing world maps or allowing for editing, one may want to export them at higher resolutions as well.
I reproduced this error when I did few steps
- Openned noggit
- Switched to object editor mode
- Openned window to export models “From Text File”
- Selected one model ( first row in my case )
- Close noggit (the X mark in corner in my case)
- Noggit.exe stayed in processes even when UI was all gone and closed
Bonus:
- Even when I first closed the “From Text File” window and then closed noggit it stayed in processes too (selected model)
- This whole bug didnt happend when you DONT SELECT MODEL IN “From Text File” WINDOW
sometimes GL context is missing and thus errors on destroying things implicitly
@Amaroth suggests:
Shadow Maps are "painted" shadows on terrain which don't disappear when models are hidden/deleted/moved. This is an issue with Blizzard's maps, especially Vanilla ones. I can't imagine anyone actually using Shadow Maps, but tool for editing them still could be nice to have.
For now, it would be more than useful to have at least enable/disable shadow maps on chunk/ADT. I went through whole MCNKs struct in 010, and I have edited in header of each mcnk in each row flags, removing flag 1. That did the job, and I didn't have any issues with using this method yet.
For those interrested in getting rid of static shadows on Blizzlike maps for purpouses of editing them, I have released my 010 script on my YT channel and in my toolpack.
which often comes up as well.
@SteffMC suggests:
A line tool like the prop line tool mod for cities skylines. Makes it easy to place human made structures like trees on roadside or bushes and special fences.
tree view should likely have
to allow use of noggit without WMV.
we have randomization for scale, position, rotation, but not "align with the terrain".
@Amaroth requests:
Noggit can crash for various reasons - issues in app itself, or somehow invalid input data. The problem is that common user can't find out what is going on with his map. When you attempt to open a map in Noggit and crash happens, you've got damn lot of figuring out what is actualy causing crash.
I'd welcome feature in settings which would probably include multiple checkboxes, and user would be able to turn debug outputs from all kinds of methods in code on. It would be lot of spam, slowing performance down and creating probably quite large log - I know. Thats why it should create new, dedicated debug log, why it should be turnable on/off (and should be by default off) and why I'd divide it into multiple cathegories (logs from ADT, logs from M2s, from WMOs..."
User would be able to see then "Ah, when I open map, the last thing Noggit does is that it attempts to load xyz.wmo, and then it crashes. So, that WMO is probably causing issues.". Having such feature would prevent us from throwing away many, many malfunctioning projects in past, until now, we were just forced to start over or revert to some often old backup. This would also help us with distinguishing between Noggit errors and invalid input data errors.
which effectively requests a lot more debug logging and more usable error messages.
@Adspartan notes:
Apparently the Set_$DefaultGlobal set should be always displayed regardless of the selected doodad set in the MODF chunk which is currently not the case.
@skarnproject reported on 2017-02-03
M2 models (possibly WMO models too) are rendered in a kind of weird order. You don't see the issue normally when the model has no transparent surfaces. Textures containing alpha channel hide models behind themselves (you can see terrain, but not models through them) and sometimes are not rendered from both sides while being two-sided flagged (two-sided generally works for non-transparent surfaces). Might be blending mode related.
e.g. for replacement of the various human inn variations, without having to re-do everything
@0x00000f4 reported on 2017-02-01
Errors with iteration. One row of chunks stays unfixed. To reproduce create a bunch of gaps by using the flattening tool with Ctrl on high speed; then run Fix gaps.
@skarnproject reported on 2017-02-03
Since some time normal calculation algorithm for used for terrain brushes is a little bit different from Blizzard's one. To reproduce: edit terrain with zero speed and see changing shading on full chunk. Did not happen before.
todo: split into more than one issue if deemed a good idea
@SteffMC suggested:
Ground effect editor should be implemented in Noggit. Noggit doesn't really have to be capable of rendering ground effects, but displaying and changing their IDs should definitely be possible.
Same as areaids. Same handling and fast to implement.
@monsune requested in 2016-06:
I just wish the controls for moving around the map were different. I'm kinda hating them, e.g. pressing LMB+RMB will start moving forward. How do i stop? I can slow down with O and go faster with P. But why can't i just stop? I also pressed some of the ASDW combo while moving and now LMB+RMB won't work anymore and i'm stuck somewhere, can't move, only rotate. Also ASDW isn't really nice for left-handed people like me. I would definitely appreciate if there was a possibility of changing the key bindings via options or just making it easier by default, e.g. movement with cursor keys (forward, back, left, right), etc. Hopefuly it's not just me who simply can't stick to the current controls setup...
@Amaroth reports
I am not sure whether I can call this a feature suggestion, but currently Last M2 from WMV freezes Noggit for like 1-2 full seconds. Not sure why, whether because the entire model is preloading or whatever. Now link that with fact that clicking into Object panel makes it focused window, instead of the main Noggit window. So, if I want to spawn model from WMV, I need to:
- Select model in WMV
- Click Last M2 from WMV
- Wait till freeze ends
- Click into main Noggit window to make it the focused one
- Press V to actually place the model.
Try to do this with 50 models, you will get tired of it quickly. I know Import.txt is a better option for this, but that one also suffers from being a bit slower and less convenient to use than SDL version was, due to the window focusing thingie
Imagine something similiar to how water gets added when you have ✅ Lock function having same feature with ability to increase area it covers for all 3 mentioned above would greatly help when doing bigger scale edits like painting half of ADT same AreaID etc...
As for additional funtions Holes have feature to remove all holes on ADT and reverse same feature would be nice for both Impassible flags and AreaID
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.