Git Product home page Git Product logo

doombuilderx's Introduction

Doom Builder X

Doom Builder X is a Doom 2 map editor. Doom Builder X is a fork of CodeImp's Doom Builder 2, mainly focused on long term maintenence, bugfixes, and improved responsiveness where possible.

See the releases page for downloads.

Prerequisites for running

if you already have DB2 or GZDB working, you already have these:

.NET 3.5 - (You should have this already if you have Windows 7 or newer)
and
DirectX 9.0c Runtime - (This is not included in DirectX10 or 11) and
SlimDX - The SlimDX website is down permanently, but the 32-bit SlimDX runtime installer (slimdx.msi) is present in the Setup folder.

Supported systems

DBX is 32-bit, and supports Windows XP or newer. The hardware requirements are lower than that of Doom Builder 2, if you are familiar with that.

We do not currently directly support Linux or Mac, but ideally I'd like to do so eventually. The way SlimDX was used in DB2 makes that project very difficult, unfortunately. Although, some people have found a workaround with WINE that may work on some systems. Several well-known mappers use a Windows XP VM to run DBX on Linux or Mac as well.

Compiling

Nuget in Visual Studio should handle getting SlimDX, SharpCompress, and Moonsharp. You need to install the SlimDX runtime in the Setup folder as well, which is present in the Data/Setup/ folder.
The RejectEditor project should not be built. It was broken when I first got it from the Doom Builder 2 SVN and I have not had time to determine the cause.
The Builder40 project is the same as the Builder project, just on .NET 4.0. Builder is what I release, but sometimes Builder40 is useful, as Visual Studio's debugging and profiling tools support .NET 4.0 much better. However, compiling Builder40 is completely optional.

Authors

  • CodeImp (Doom Builder 2)

and the rest listed alphabetically

  • Anotak (Doom Builder X)
  • Altazimuth (some bug fixes)
  • Anders Astrand (some DB2 code)
  • Andrew Apted (included glBSP (like DB2))
  • Boris (several plugins used, contributed source to DB2)
  • Bmsq (Long texture name support)
  • Davidmerkt (fixed a crash)
  • Randi Heit (included Zdoom ACC and ZDBSP (like DB2))
  • Simon Howard, Lee Killough, Colin Phipps, Colin Reed (BSP-W32 is used like in DB2)
  • MaxED (some GZDoomBuilder source used)
  • Raven Software (included Hexen ACC (like DB2))
  • Marc Rousseau (included ZenNode (like DB2))
  • Sensor Based Systems Software / SBSoftware (included DeepBSP (like DB2))
  • Volte (rotatable grid)
  • Zokum (included ZokumBSP)
  • ZZYZX (some GZDB-BF source used)

if you notice you are missing from here, please inform me, as I have not found full credits for DoomBuilder 2.

License

Doom Builder X is licensed under the GPL3 License - see the LICENSE file for details. Individual components like the nodebuilders and ACS compilers have their own licenses.

Acknowledgments

  • Doom Builder 2 by CodeImp
  • Doom by id Software and owned by Zenimax
  • Heretic, Hexen, & ACC by Raven Software
  • Strife by Rogue Entertainment
  • GZDoomBuilder by MaxED
  • GZDoomBuilder-Bugfix by ZZYZX
  • Eternity Engine by the Eternity team
  • ZDoom by Randi Heit
  • the template for this document by PurpleBooth

doombuilderx's People

Contributors

altazimuth avatar anotak avatar bmsq avatar davidmerkt avatar dependabot[bot] avatar ioan-chera avatar volte 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

Watchers

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

doombuilderx's Issues

Texture previews won't show up

visual of bug

Using High Contrast mode on Windows 10, texture previews in the sectors menu and in the sector info peek on the bottom just show up as black. The texture selector works fine and 2D/3D modes show the textures fine, just not these boxes.

(Note: I'm not actually sure if it's High Contrast mode doing this, but I can't test to see if it isn't, and it's the most likely case.)

Add support for arg0str script execution

Action 80 in UDMF is allowed to execute scripts by setting the arg0str property of the line. While the editor does allow for this by editing the properties directly, it would be nice to have UX for this.

Crashing on startup in Windows 11

I'm running a fresh install of Windows 11 on an Intel-based Mac using Parallels Desktop.

When I open Builder, I see:

UNHAPPY ERROR :(
you should save the BuilderX-lastcrash.log and post it at https://github.com/anotak/doombuilderx/issues/new.

So, here's the log:

Exception: Invalid URI: The Authority/Host could not be parsed.
Exception:    at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
   at System.Uri..ctor(String uriString)
   at CodeImp.DoomBuilder.General.RealMain(String[] args) in C:\DOCS\GitHub\doombuilderx\Source\Core\General\General.cs:line 610
   at CodeImp.DoomBuilder.General.Main(String[] args) in C:\DOCS\GitHub\doombuilderx\Source\Core\General\General.cs:line 560
Exception: Invalid URI: The Authority/Host could not be parsed.
Exception:    at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
   at System.Uri..ctor(String uriString)
   at CodeImp.DoomBuilder.General.RealMain(String[] args) in C:\DOCS\GitHub\doombuilderx\Source\Core\General\General.cs:line 610
   at CodeImp.DoomBuilder.General.Main(String[] args) in C:\DOCS\GitHub\doombuilderx\Source\Core\General\General.cs:line 560
map is null or disposed at crash time
Terminate: Immediate program termination
map is null or disposed at crash time

Any ideas?

option to change missing texture image

allow the user to select a new image to use in place of the default missing texture.

currently the default missing texture can be difficult to work with in 3d mode, since selection highlighting in red and the missing texture image is mostly red. it also doesn't have any unit/size indication to help with spacing.

[UDMF] Linedef special arguments defaults are not reset

Trying in Eternity (UDMF) map format -- probably any port will do -- I edit a linedef's properties and edit the "Action" text box to set the value to 301 (Line Quick Portal). The problem is that, as I type the digits, the dropdown box changes to each valid linedef special with that number, and the arguments below get set automatically to default values for each special. Unfortunately, when I finally type 301 to have the quick portal special, the arguments from the previous specials remain set, even if their values are out of current special's domain.

GZDoom Builder clears arguments when changing the special, so typing the action # is safe there. Is this currently not yet implemented in Doom Builder X, or do you have reasons to consider it undesirable?

Could it be a bug if unspecified default args are not reset to 0?

EDIT: if I may add, undefined arguments set to non-zero are quite dangerous, because they're reserved by the source port, with the possibility of becoming meaningful later.

Update ACC "ZDoom" folder from rheit/acc

I've added some new Eternity ACS functions for version 4.00.00 in rheit/acc (e.g. new function SetAirFriction). Can you please update zspecial.acs to the new version?

Max Texture Name Length not working

I set the maxtexturenamelength property to a value greater than 8 and load textures from a directory containing PNG files.

I was expecting to see all textures in the texture browser and names reflecting the full file names.

Instead, where I have textures called "mmetal1_1.png" through to "mmetal1_8.png", I only see a single texture in the browser called "mmetal1_". When applying the texture to sidedefs or sectors, the truncated name is set. I can manually enter "mmetal1_5" in the relevant input box without triggering validation errors but the name is truncated to "mmetal1_" after applying my change to a sidedefs/sector.

Auto-alignment doesn't account for heights

When vertically auto-aligning a wall in a mode that supports upper/lower offsets, the aligned upper/lower textures don't account for their actual world offsets, causing alignment errors. This happens both when aligning from an upper/lower texture and when aligning from an impassible wall.

Before pressing shift-A:
the alignments on this wall show up fine
After pressing shift-A to vertically auto-align:
oops

Update ZDBSP to latest master (if you use master and not official builds)

In case you use the latest master tip of ZDBSP, please update the one you're downloading (use the github.com/rheit/zdbsp repository), because it contains an important rendering fix for two-sided lines which have identical (compressed) sidedefs on both sides.

If you always use the latest 'official' download from zdoom.org, disregard this.

fbx model export

Option to export the map as a .fbx format model, optionally with the capability to export Things data along with it, either just as the lump data or a more usable format like JSON or XML.

Is this project more or less dead?

Kind of a strong and broad question, but am just looking to get to the point of it: what is the state of maintenance of this project?

The commits are rather few and far between, and basic things are heavily outdated (eg: reliance on very old .NET, needing to use SlimDX).

Edit Linedefs Window with 1366 x 768 Resolution

Using the UDMF ZDoom engine and pulling up the Edit Linedefs window it at first draws behind the task bar (Windows 8.1 1366x768 laptop) and when resizing the window it just covers up the options in the bottom section of the window instead of scaling or resizing Im not sure what it "should do".

image

image

Null reference exception when removing Sidedef in Visual mode

Enter Visual Mode (click button in toolbar, or press 'W' key)
Focus on a wall
Right-click to open the 'Edit Linedefs' window
Select the 'Sidedefs' tab
Uncheck the 'Front Side' and/or 'Back Side' checkbox
Click the 'OK' button
The exception will occur


Exception!

UNHAPPY ERROR :(
you should save the C:\Users\d\AppData\Local\Doom Builder\BuilderX-lastcrash.log and post it at
https://github.com/anotak/doombuilderx/issues

attempting to save map at C:\Users\d\AppData\Local\Doom Builder\crashbackup.wad
Object reference not set to an instance of an object.
at CodeImp.DoomBuilder.Windows.MainForm.ShowLinedefInfo(Linedef l) in C:\DOCS\GitHub\doombuilderx\Source\Core\Windows\MainForm.cs:line 2656

at CodeImp.DoomBuilder.BuilderModes.BaseVisualMode.ShowTargetInfo() in C:\DOCS\GitHub\doombuilderx\Source\Plugins\BuilderModes\VisualModes\BaseVisualMode.cs:line 377

at CodeImp.DoomBuilder.BuilderModes.BaseVisualMode.PostAction() in C:\DOCS\GitHub\doombuilderx\Source\Plugins\BuilderModes\VisualModes\BaseVisualMode.cs:line 242

at CodeImp.DoomBuilder.BuilderModes.BaseVisualMode.EndEdit() in C:\DOCS\GitHub\doombuilderx\Source\Plugins\BuilderModes\VisualModes\BaseVisualMode.cs:line 970

at CodeImp.DoomBuilder.Actions.Action.End() in C:\DOCS\GitHub\doombuilderx\Source\Core\Actions\Action.cs:line 284

at CodeImp.DoomBuilder.Actions.ActionManager.EndActiveActions() in C:\DOCS\GitHub\doombuilderx\Source\Core\Actions\ActionManager.cs:line 639

at CodeImp.DoomBuilder.Actions.ActionManager.KeyReleased(Int32 key) in C:\DOCS\GitHub\doombuilderx\Source\Core\Actions\ActionManager.cs:line 550

at CodeImp.DoomBuilder.Windows.MainForm.display_MouseUp(Object sender, MouseEventArgs e) in C:\DOCS\GitHub\doombuilderx\Source\Core\Windows\MainForm.cs:line 1264

at System.Windows.Forms.Control.OnMouseUp(MouseEventArgs e)

at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)

at System.Windows.Forms.Control.WndProc(Message& m)

at System.Windows.Forms.ScrollableControl.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


OK

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.