GithubHelp home page GithubHelp logo

wowdev / noggit3 Goto Github PK

View Code? Open in Web Editor NEW
115.0 115.0 38.0 29.96 MB

The currently premier map editor for World of Warcraft in version 3.3.5a.

License: GNU General Public License v3.0

CMake 2.34% C++ 95.13% GLSL 2.03% Lua 0.51%

noggit3's People

Contributors

adspartan avatar bastian-seifert avatar bbcnewstoday avatar bkleiner avatar bloerwald avatar funkybeatz15 avatar helias avatar ihm-tswow avatar jimmsta avatar kaev avatar mjollna-wow avatar norgannon avatar skarndev avatar steffmc avatar t1ti avatar tazjin avatar varen avatar xxvaliumxx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

noggit3's Issues

"All adt" option for all adt actions

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

add support for adding new maps

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

Tablet Support: Outer Radius not changeable

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

Clean tablet support implementation

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

River Spline Tool

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

improved brush properties

  • random pressure
  • auto-lowered pressure when used at textures border(eg roads)
  • maybe some figure brush(cracks?)

completely customizable brushes have also come up in the past.

minimaps generation

  • being a blp format is third priority.
  • light is second priority
  • water is 1.5-ish priority
  • wmos are 1.5-ish priority
  • m2s should be rendered, but only depending upon filters and size_cat, as blizzard does (take a look at what they do, it is a huge mess)
  • priority 1 though is actually saving the right thing, not some utter mess.

image

For sake of doing world maps or allowing for editing, one may want to export them at higher resolutions as well.

using "import model from text file" leads to application never exiting

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

Shadow Maps Editing/Generation

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

Debug mode/verbose logging output

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

rendering: wrong render priority for m2 and possibly WMO

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

Assist: Fix gaps (all loaded adts)

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

map chunk: normal recalculation for terrain is a bit broken

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

idea dump collection

todo: split into more than one issue if deemed a good idea

  • dbc writing
  • refactor light related code
  • light editing
  • ground effects rendering / editing
  • shadow editing
  • wmo portal culling
  • MTXF handling / editing
  • save map in a specific folder when the app crash
  • implement/fix tablet support(for windows/mac/linux if possible)
  • water vertex tool
  • water flags edit
  • see what liquid id is used at a given point
  • get liquid height at a given point
  • multiple model selection
  • customizable key binding / improving current keybinds
  • model server-side coord display
  • config file (or register?) tools parameters on startup: camera position and speed | groundedit (mode, radius, ect)| textureedit (texture set, selected texture, radius, press, level)
  • importlist: tree mode like in areaeditor (by path’s to assets), or
  • objecteditor: abble to switch importlist without program restart
  • read gameobjects from SQL base, place him in noggit, and write back to database
  • groundedit: select by vertex mode (one\few, near or far from each other vertexes, blender like) for accurate creating unnatural landscape
  • textureedit: support small brush (<0.4)

Ground effect editor

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

Customizable key bindings

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

adding "last m2 from wmv" freezes for 1-2 seconds

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

  1. Select model in WMV
  2. Click Last M2 from WMV
  3. Wait till freeze ends
  4. Click into main Noggit window to make it the focused one
  5. 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

Improved cursor for Flags/Holes/Area

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.