eureka: Update to 1.27

CHANGES IN Eureka 1.27
======================

(Since version 1.24)

+ use OpenGL for faster rendering of 2D and 3D views
+ improved non-GL drawing of 2D view, much faster in Linux
+ support mixing textures and flats for ports that allow it
+ improved 3D mode, can move things and sector surfaces
+ ratio lock, makes producing lines at certain angles easier

- a single status bar for both 2D and 3D views
- new popup menus to set edit mode, browser mode, scaling
- render sectors in the 2D view with both lighting and texturing
- create void islands by drawing lines anti-clockwise in a sector
- snap position indicator for 2D view (a light-blue cross)
- added scale '-' and '+' buttons, show scale as percentage
- ability to highlight/select railings in 3D view
- beginning of support for UDMF maps (not usable yet...)

- render BOOM's deep water effect (linetype 242)
- render 3D Floors for EDGE, LEGACY and ZDOOM ports
- render basic slopes for EDGE, ETERNITY, ODAMEX and ZDOOM
- render things with a NULL sprite as a blue triangle
- render Hexen map-spots as a green triangle
- render unknown things with a smaller '?' sprite

- preference to combine flats and textures in a single browser
- preference to show all textures on a one-sided linedef
- preference for linedef information (Length, Angle, Ratio)

- support ESC key to cancel a current action (e.g. dragging)
- support SHIFT and CTRL when using mouse-wheel to move in 3D view
- support the FreeDM iwad
- support TNT and Plutonia textures in FreeDoom2 iwad
- support Hexen map format in the ETERNITY port
- support PNG, JPEG and TGA images in sprite/flat/patch lumps
- added portal specials 156 and 107 to the ZDOOM port
- added missing specials 105, 106 and 130 to the ZDOOM port
- improvements to the Makefile
- improvements to the MacOS build files

- fixed mode menu disappearing into Window's task bar when maximized
- fixed not remembering test-in-game EXE when port is "vanilla"
- fixed the 'Online Docs' command in the Help menu
- fixed window title not showing correct map name
- fixed Re-bind in key binding dialog to show new key as valid
- fixed grid getting out-of-sync with the "hide in FREE mode"
- fixed needless line flips when drawing clockwise within a sector
This commit is contained in:
Michael Baeuerle 2020-02-06 13:23:10 +01:00
parent 2892b6a787
commit 48e0494e00
9 changed files with 248 additions and 0 deletions

51
eureka/COMMIT_MSG Normal file
View File

@ -0,0 +1,51 @@
eureka: Update to 1.27
CHANGES IN Eureka 1.27
======================
(Since version 1.24)
+ use OpenGL for faster rendering of 2D and 3D views
+ improved non-GL drawing of 2D view, much faster in Linux
+ support mixing textures and flats for ports that allow it
+ improved 3D mode, can move things and sector surfaces
+ ratio lock, makes producing lines at certain angles easier
- a single status bar for both 2D and 3D views
- new popup menus to set edit mode, browser mode, scaling
- render sectors in the 2D view with both lighting and texturing
- create void islands by drawing lines anti-clockwise in a sector
- snap position indicator for 2D view (a light-blue cross)
- added scale '-' and '+' buttons, show scale as percentage
- ability to highlight/select railings in 3D view
- beginning of support for UDMF maps (not usable yet...)
- render BOOM's deep water effect (linetype 242)
- render 3D Floors for EDGE, LEGACY and ZDOOM ports
- render basic slopes for EDGE, ETERNITY, ODAMEX and ZDOOM
- render things with a NULL sprite as a blue triangle
- render Hexen map-spots as a green triangle
- render unknown things with a smaller '?' sprite
- preference to combine flats and textures in a single browser
- preference to show all textures on a one-sided linedef
- preference for linedef information (Length, Angle, Ratio)
- support ESC key to cancel a current action (e.g. dragging)
- support SHIFT and CTRL when using mouse-wheel to move in 3D view
- support the FreeDM iwad
- support TNT and Plutonia textures in FreeDoom2 iwad
- support Hexen map format in the ETERNITY port
- support PNG, JPEG and TGA images in sprite/flat/patch lumps
- added portal specials 156 and 107 to the ZDOOM port
- added missing specials 105, 106 and 130 to the ZDOOM port
- improvements to the Makefile
- improvements to the MacOS build files
- fixed mode menu disappearing into Window's task bar when maximized
- fixed not remembering test-in-game EXE when port is "vanilla"
- fixed the 'Online Docs' command in the Help menu
- fixed window title not showing correct map name
- fixed Re-bind in key binding dialog to show new key as valid
- fixed grid getting out-of-sync with the "hide in FREE mode"
- fixed needless line flips when drawing clockwise within a sector

5
eureka/DESCR Normal file
View File

@ -0,0 +1,5 @@
Eureka is a map editor for the classic DOOM games, and a few related games
such as Heretic and Hexen. It supports Linux, Windows and OS X.
There is a 2D mode to create the layout and a 3D mode to check e.g. texture
alignment.

53
eureka/Makefile Normal file
View File

@ -0,0 +1,53 @@
# $NetBSD$
DISTNAME= eureka-127-source
PKGNAME= ${DISTNAME:S/-source//:S/-1/-1./}
CATEGORIES= games
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=eureka-editor/}
MAINTAINER= micha@NetBSD.org
HOMEPAGE= https://sourceforge.net/projects/eureka-editor/
COMMENT= Doom/Heretic/Hexen map editor
LICENSE= gnu-gpl-v2
# Makefile declares "-std=c++03"
USE_LANGUAGES= c++03
USE_TOOLS+= gmake
WRKSRC= ${WRKDIR}/eureka-1.27-source
# DOOMWADDIR is intentionally shared with other Doom packages
DOOMWADDIR= share/doom
INSTALLATION_DIRS= bin
# Modify internal search path to check ${PREFIX}/share hierarchy first
SUBST_CLASSES+= prefix
SUBST_STAGE.prefix= do-configure
SUBST_MESSAGE.prefix= Preparing main.cc ...
SUBST_FILES.prefix= src/main.cc
SUBST_SED.prefix= -e 's,PKGSRC_PREFIX,${PREFIX},'
# Modify internal search path for DOOMWADDIR (if environment variable not set)
SUBST_CLASSES+= dwd
SUBST_STAGE.dwd= do-configure
SUBST_MESSAGE.dwd= Preparing m_files.cc ...
SUBST_FILES.dwd= src/m_files.cc
SUBST_SED.dwd= -e 's,PKGSRC_DOOMWADDIR,${PREFIX}/${DOOMWADDIR},'
.include "options.mk"
BUILDLINK_API_DEPENDS.zlib+= zlib>=1.2.3
.include "../../devel/zlib/buildlink3.mk"
# FLTK version 1.4 is supported too
.include "../../x11/fltk13/buildlink3.mk"
.if empty(PKG_OPTIONS.fltk13:Mopengl) || empty(PKG_OPTIONS:Mopengl)
SUBST_CLASSES+= opengl
SUBST_STAGE.opengl= do-configure
SUBST_MESSAGE.opengl= Preparing Makefile ...
SUBST_FILES.opengl= Makefile
SUBST_SED.opengl= -e 's,\# CXXFLAGS += -DNO_OPENGL,CXXFLAGS += -DNO_OPENGL,'
SUBST_SED.opengl+= -e 's, --use-gl,,'
.endif
.include "../../mk/bsd.pkg.mk"

39
eureka/PLIST Normal file
View File

@ -0,0 +1,39 @@
@comment $NetBSD$
bin/eureka
share/eureka/about_logo.png
share/eureka/bindings.cfg
share/eureka/common/doom_colors.ugh
share/eureka/common/doom_groups.ugh
share/eureka/common/doom_lines.ugh
share/eureka/common/doom_sectors.ugh
share/eureka/common/doom_tex.ugh
share/eureka/common/doom_things.ugh
share/eureka/common/gen_types.ugh
share/eureka/common/hexen_groups.ugh
share/eureka/common/hexen_lines.ugh
share/eureka/common/hexen_sectors.ugh
share/eureka/common/plutonia_tex.ugh
share/eureka/common/tnt_tex.ugh
share/eureka/defaults.cfg
share/eureka/games/doom.ugh
share/eureka/games/doom2.ugh
share/eureka/games/freedm.ugh
share/eureka/games/freedoom1.ugh
share/eureka/games/freedoom2.ugh
share/eureka/games/hacx.ugh
share/eureka/games/harm1.ugh
share/eureka/games/heretic.ugh
share/eureka/games/hexen.ugh
share/eureka/games/plutonia.ugh
share/eureka/games/strife1.ugh
share/eureka/games/tnt.ugh
share/eureka/operations.cfg
share/eureka/ports/boom.ugh
share/eureka/ports/edge.ugh
share/eureka/ports/eternity.ugh
share/eureka/ports/legacy.ugh
share/eureka/ports/mbf.ugh
share/eureka/ports/odamex.ugh
share/eureka/ports/vanilla.ugh
share/eureka/ports/xdoom.ugh
share/eureka/ports/zdoom.ugh

32
eureka/TODO Normal file
View File

@ -0,0 +1,32 @@
[X] Patch make install to work with nonpriviledged user
[X] Patch internal search path for program files to include ${PREFIX}/share
[X] Patch internal search path for IWADs to include ${PREFIX}/${DOOMWADDIR}
[X] Menu entry "Help->Online Docs" doesn't work
=> pkgsrc patch added
[X] Test with FLTK 1.3.5
=> Good
[X] Test with FLTK 1.4 development snapshot
=> pkgsrc patch added (otherwise only 1.3.x is accepted)
=> Good
[X] Sent pkgsrc patches to upstream
=> Tickets #34 (Online Docs) and #35 (FLTK 1.4)
=> Patches merged by upstream
[X] Test Git revision 25b14606cd896f30c19a6793b51732f60ba7bd92
=> pkgsrc patches removed/updated
=> PLIST updated
[X] Import patch for reproducible builds from Debian
=> This patch was rejected by upstream
[X] Make xdg-utils an option (Default=on)
=> An option "xdg-utils" already exists in pkgsrc
[X] Update to Git commit 5ff8ed31515de647a636c4adf778ee63608f4aed
=> Remove patches merged upstream
[X] Update to Git commit b0bd3ab3e50c96c8974927e703ec0c31690c1274
=> Add patch for string parameter to FatalError()
[X] Sent pkgsrc patch to upstream
=> Ticket #37
=> Patch merged by upstream
[X] Update to Git commit 19c0d7e5dd1bb8e5bf7c6840868e9f6eecd14a9a
=> Remove patch for Ticket #37
=> Remove patch for install with nonpriviledged user
[X] Import final eureka 1.27 release
[X] Switch back to FLTK version from pkgsrc current

8
eureka/distinfo Normal file
View File

@ -0,0 +1,8 @@
$NetBSD$
SHA1 (eureka-127-source.tar.gz) = 296ac2bef8bcb4af5587097a8f3c0cf1ca8856bf
RMD160 (eureka-127-source.tar.gz) = cdb971d15402f41e634fc44a6eb91a7fa7f28780
SHA512 (eureka-127-source.tar.gz) = 738b2647a31491737503b428f30f4d468ce32cdbd0e7c8d8abc2e4e825de037ee28b04339d3fa5cd2c340c106f8295671a812c278047bca1a8c37dd98e08e08a
Size (eureka-127-source.tar.gz) = 1159208 bytes
SHA1 (patch-src_m__files.cc) = 5bdfaefa324408632a8e649c8994479e7ec00ae1
SHA1 (patch-src_main.cc) = 7c107f89e64ec2de5588880c71ba0e24b1aaf354

22
eureka/options.mk Normal file
View File

@ -0,0 +1,22 @@
# $NetBSD$
PKG_OPTIONS_VAR= PKG_OPTIONS.eureka-devel
PKG_SUPPORTED_OPTIONS= opengl xdg-utils
PKG_SUGGESTED_OPTIONS= opengl xdg-utils
.include "../../mk/bsd.prefs.mk"
.include "../../mk/bsd.options.mk"
# opengl: Use OpenGL for drawing
# If FLTK is compiled without opengl option, it is ignored.
# If FLTK is compiled with opengl option, removing it here allows to force usage
# of the software renderer (recommended without hardware acceleration).
.if !empty(PKG_OPTIONS:Mopengl)
# Handled by Makefile because the FLTK dependency (not included here yet)
.endif
# xdg-utils: Create dependency for xdg-utils (Portland project)
# Can be used by FLTK for fl_open_uri() on X11
.if !empty(PKG_OPTIONS:Mxdg-utils)
DEPENDS+= xdg-utils>=1.1:../../misc/xdg-utils
.endif

View File

@ -0,0 +1,14 @@
$NetBSD$
Add placeholder for pkgsrc DOOMWADDIR to beginning of search list.
--- src/m_files.cc.orig 2018-06-23 11:29:07.000000000 +0000
+++ src/m_files.cc
@@ -723,6 +723,7 @@ static const char * SearchForIWAD(const
"c:/doom2",
"c:/doom95",
#else
+ "PKGSRC_DOOMWADDIR",
"/usr/share/games/doom",
"/usr/share/doom",
"/usr/local/share/games/doom",

View File

@ -0,0 +1,24 @@
$NetBSD$
Add placeholder for pkgsrc PREFIX to beginning of search list.
Remove date to make builds reproducible (based on Debian patch).
--- src/main.cc.orig 2019-09-27 11:13:24.000000000 +0000
+++ src/main.cc
@@ -317,6 +317,7 @@ static void Determine_InstallPath(const
#else
static const char *prefixes[] =
{
+ "PKGSRC_PREFIX",
"/usr/local",
"/usr",
"/opt",
@@ -968,7 +968,7 @@ static void ShowHelp()
static void ShowVersion()
{
- printf("Eureka version " EUREKA_VERSION " (" __DATE__ ")\n");
+ printf("Eureka version " EUREKA_VERSION " (Reproducible build)\n");
fflush(stdout);
}