mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2024-11-28 06:32:25 +00:00
Merge remote-tracking branch 'udb/master'
This commit is contained in:
commit
0140ac59f8
3 changed files with 45 additions and 15 deletions
28
README.md
28
README.md
|
@ -1,22 +1,32 @@
|
||||||
**System requirements:**
|
# Ultimate Doom Builder
|
||||||
|
|
||||||
|
## System requirements
|
||||||
- 2.4 GHz CPU or faster (multi-core recommended)
|
- 2.4 GHz CPU or faster (multi-core recommended)
|
||||||
- Windows 7 or above
|
- Windows 7 or above
|
||||||
- Graphics card with OpenGL 3.2 support
|
- Graphics card with OpenGL 3.2 support
|
||||||
|
|
||||||
**Required software on Windows:**
|
### Required software on Windows
|
||||||
- [Microsoft .Net Framework 4.7.2](https://dotnet.microsoft.com/download/dotnet-framework/net472)
|
- [Microsoft .Net Framework 4.7.2](https://dotnet.microsoft.com/download/dotnet-framework/net472)
|
||||||
|
|
||||||
**Building on Linux:**
|
## Building on Linux
|
||||||
|
These instructions are for Debian-based distros and were tested with Ubuntu 24.04 LTS and Arch.
|
||||||
|
|
||||||
These instructions are for Debian-based distros and were tested with Ubuntu 24.04 LTS. For others it should be similar.
|
__Note:__ this is experimental. None of the main developers are using Linux as a desktop OS, so you're pretty much on your own if you encounter any problems with running the application.
|
||||||
|
|
||||||
__Note:__ this is experimental. None of the developers are using Linux as a desktop OS, so you're pretty much on your own if you encounter any problems with running the application.
|
- Install Mono
|
||||||
|
- **Ubuntu:** The `mono-complete` package from the Debian repo doesn't include `msbuild`, so you have to install `mono-complete` by following the instructions on the Mono project's website: https://www.mono-project.com/download/stable/#download-lin
|
||||||
- Install Mono. The `mono-complete` package from the Debian repo doesn't include `msbuild`, so you have to install `mono-complete` by following the instructions on the Mono project's website: https://www.mono-project.com/download/stable/#download-lin
|
- **Arch:** mono (and msbuild which is also required) is in the *extra/* repo, which is enabled by default. `sudo pacman -S mono mono-msbuild`
|
||||||
- Install additional required packages: `sudo apt install make g++ git libx11-dev libxfixes-dev mesa-common-dev`
|
- Install additional required packages
|
||||||
- Go to a directory of your choice and clone the repository (it'll automatically create an `UltimateZoneBuilder` directory in the current directory): `git clone https://github.com/jewalky/UltimateDoomBuilder.git`
|
- **Ubuntu:** `sudo apt install make g++ git libx11-dev libxfixes-dev mesa-common-dev`
|
||||||
|
- **Arch:** `sudo pacman -S base-devel`
|
||||||
|
- If you're using X11 display manager you may need to install these packages: `libx11 libxfixes`
|
||||||
|
- If you are not using the proprietary nvidia driver you may need to install `mesa`
|
||||||
|
- Go to a directory of your choice and clone the repository (it'll automatically create an `UltimateZoneBuilder` directory in the current directory): `git clone https://git.do.srb2.org/STJr/UltimateZoneBuilder.git`
|
||||||
- Compile UZB: `cd UltimateZoneBuilder && make`
|
- Compile UZB: `cd UltimateZoneBuilder && make`
|
||||||
- Run UZB: `cd Build && ./builder`
|
- Run UZB: `cd Build && ./builder`
|
||||||
|
- Alternatively, to compile UZB in debug mode:
|
||||||
|
- Run `make BUILDTYPE=Debug` in the root project directory
|
||||||
|
- This includes a debug output terminal in the bottom panel
|
||||||
|
|
||||||
**Links:**
|
**Links:**
|
||||||
- [SRB2MB thread](https://mb.srb2.org/addons/ultimate-zone-builder.6126/)
|
- [SRB2MB thread](https://mb.srb2.org/addons/ultimate-zone-builder.6126/)
|
||||||
|
|
|
@ -283,6 +283,7 @@ namespace CodeImp.DoomBuilder.Controls
|
||||||
{
|
{
|
||||||
bool flag = false;
|
bool flag = false;
|
||||||
|
|
||||||
|
#if !MONO_WINFORMS
|
||||||
if (Environment.OSVersion.Version.Major >= 6)
|
if (Environment.OSVersion.Version.Major >= 6)
|
||||||
{
|
{
|
||||||
var r = new Reflector("System.Windows.Forms");
|
var r = new Reflector("System.Windows.Forms");
|
||||||
|
@ -313,6 +314,7 @@ namespace CodeImp.DoomBuilder.Controls
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
#endif
|
||||||
var fbd = new FolderBrowserDialog();
|
var fbd = new FolderBrowserDialog();
|
||||||
fbd.Description = this.Title;
|
fbd.Description = this.Title;
|
||||||
fbd.SelectedPath = this.InitialDirectory;
|
fbd.SelectedPath = this.InitialDirectory;
|
||||||
|
@ -320,7 +322,9 @@ namespace CodeImp.DoomBuilder.Controls
|
||||||
if (fbd.ShowDialog(new WindowWrapper(hWndOwner)) != DialogResult.OK) return false;
|
if (fbd.ShowDialog(new WindowWrapper(hWndOwner)) != DialogResult.OK) return false;
|
||||||
ofd.FileName = fbd.SelectedPath;
|
ofd.FileName = fbd.SelectedPath;
|
||||||
flag = true;
|
flag = true;
|
||||||
|
#if !MONO_WINFORMS
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return flag;
|
return flag;
|
||||||
}
|
}
|
||||||
|
|
|
@ -530,10 +530,10 @@ namespace CodeImp.DoomBuilder.UDBScript.Wrapper
|
||||||
/// <param name="fields">UniFields of the map element</param>
|
/// <param name="fields">UniFields of the map element</param>
|
||||||
internal override void AddManagedFields(IDictionary<string, object> fields)
|
internal override void AddManagedFields(IDictionary<string, object> fields)
|
||||||
{
|
{
|
||||||
if (thing.ScaleX != 1.0)
|
if (!fields.ContainsKey("scalex") && thing.ScaleX != 1.0)
|
||||||
fields.Add("scalex", thing.ScaleX);
|
fields.Add("scalex", thing.ScaleX);
|
||||||
|
|
||||||
if (thing.ScaleY != 1.0)
|
if (!fields.ContainsKey("scaley") && thing.ScaleY != 1.0)
|
||||||
fields.Add("scaley", thing.ScaleY);
|
fields.Add("scaley", thing.ScaleY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -549,12 +549,28 @@ namespace CodeImp.DoomBuilder.UDBScript.Wrapper
|
||||||
switch(pname)
|
switch(pname)
|
||||||
{
|
{
|
||||||
case "scalex":
|
case "scalex":
|
||||||
if (newvalue == null) thing.SetScale(1.0, thing.ScaleY);
|
if (newvalue == null)
|
||||||
else thing.SetScale((double)newvalue, thing.ScaleY);
|
{
|
||||||
|
thing.SetScale(1.0, thing.ScaleY);
|
||||||
|
UniFields.RemoveField(fields, "scalex");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
thing.SetScale((double)newvalue, thing.ScaleY);
|
||||||
|
UniFields.SetFloat(fields, "scalex", (double)newvalue);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
case "scaley":
|
case "scaley":
|
||||||
if(newvalue == null) thing.SetScale(thing.ScaleX, 1.0);
|
if (newvalue == null)
|
||||||
else thing.SetScale(thing.ScaleX, (double)newvalue);
|
{
|
||||||
|
thing.SetScale(thing.ScaleX, 1.0);
|
||||||
|
UniFields.RemoveField(fields, "scaley");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
thing.SetScale(thing.ScaleX, (double)newvalue);
|
||||||
|
UniFields.SetFloat(fields, "scaley", (double)newvalue);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue