Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

My changes since 2023-09-24 #60

Open
wants to merge 78 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
278ed4a
NifSkope.pro: fixed path typos
gavrant Sep 24, 2023
c440cfd
Merge branch 'hexabits:develop' into develop
gavrant Sep 24, 2023
1633c7c
Updated nif.xml to v0.10.0.0 (the one from hexabits/nifskope dev9 rel…
gavrant Sep 24, 2023
570e5b5
Fixed Block List expanding to subfields on file load in "Show Blocks …
gavrant Sep 24, 2023
7ae90e5
BaseModel: moved custom msgMode setup to the constructor.
gavrant Sep 25, 2023
2405f21
Merge branch 'hexabits:develop' into develop
gavrant Sep 25, 2023
d600595
Better "no child with index X" error message for BaseModel::getItem(.…
gavrant Sep 25, 2023
9e0a305
First draft of the "new style" for working with NifModels and their N…
gavrant Sep 25, 2023
3c5f04c
Moved declaration of NifField ("new style") from NifModel.h to NifTyp…
gavrant Sep 26, 2023
1fc4785
Fixed 2 typos in NifField ("new style")
gavrant Sep 26, 2023
99e3586
Fixes/improvements for the main window UI.
gavrant Sep 27, 2023
a455161
Message::append: replaced hard limit of errors per message box with m…
gavrant Sep 28, 2023
8fdd458
Fixes/improvements for UI (again).
gavrant Sep 28, 2023
72a866b
Minor cleanup in nifskope_ui.cpp
gavrant Sep 29, 2023
389ba94
Added support for OS UI scaling settings
gavrant Sep 29, 2023
d33ed17
Merge remote-tracking branch 'upstream/develop' into develop
gavrant Sep 30, 2023
5ce672f
New algorithm for calculating bounding spheres from set of vertices
gavrant Sep 30, 2023
16930e2
Fixed NifSkope not restoring previously saved positions/sizes of dock…
gavrant Oct 2, 2023
88c27b0
Fixed overzealous check in NifModelEval::operator()
gavrant Oct 2, 2023
bd21e6c
Prevented NifSkope from opening new main window in minimized state
gavrant Oct 2, 2023
ce89c54
Reverted "clean state when no file is loaded" in the main window to s…
gavrant Oct 25, 2023
b10b9ac
Updated nif.xml to the version from 2023-09-23 release of hexabits/ni…
gavrant Oct 25, 2023
99a4c74
Updated gli, qhull and zlib submodules to their most recent versions
gavrant Oct 27, 2023
533cf62
High DPI scaling: disable rounding up for non-integer UI scale factors
gavrant Oct 30, 2023
2959ae3
Fixes/improvements for Render toolbar (mostly "view" buttons)
gavrant Nov 8, 2023
a63c5e1
UV Editor: fixed system UI scales greater than 100% messing up rendering
gavrant Nov 8, 2023
b484318
Fixed getWidgetRealSize from the prev. commit returning wrong size fo…
gavrant Nov 9, 2023
b92a5e5
Basemodel: a few getter micro-optimizations
gavrant Nov 27, 2023
8ce5466
FileSelector widget (text edit box + browse button): fixes and tweaks
gavrant Nov 28, 2023
33181cd
Added new ToolDialog class
gavrant Nov 28, 2023
f5f5de9
Hitting UI and its scaling again
gavrant Dec 8, 2023
879bf2d
Cropped empty edges in nifskope.png (the app logo in the about dialog)
gavrant Dec 8, 2023
e152036
Major refactoring shapes' data readers + minor refactoring of tool di…
gavrant May 29, 2024
804b749
Further refactoring of "update" and "transform" parts of shapes
gavrant Jun 22, 2024
c72ca1e
Fixed animation (sub)toolbar always disabled
gavrant Jun 22, 2024
af5bb00
Fixed LOD slider broken for non-Starfield meshes
gavrant Jun 23, 2024
fce41e9
Proper resets for animations
gavrant Jun 26, 2024
6dff7c1
Added (fixed) support for Fallout 3 shaders
gavrant Jul 2, 2024
cf99af4
Fixed garbage Node instance created for a sub-field when that sub-fie…
gavrant Jul 5, 2024
6c52b01
Fixed https://github.com/hexabits/nifskope/issues/74
gavrant Jul 6, 2024
8509a26
Fixed https://github.com/hexabits/nifskope/issues/62
gavrant Jul 6, 2024
481e8c6
Minor refactor of NifModel::convertNiBlock()
gavrant Jul 6, 2024
f05c8d2
Major overhaul of "draw selection" in shapes (wireframes, vertex poin…
gavrant Jul 16, 2024
7d25925
Vertex flags editing fixes (Skyrim SE+)
gavrant Jul 16, 2024
78703ed
Minor cleanup
gavrant Jul 16, 2024
9ef721e
Fixed coordinate axes overlay (bottom-left corner) sometimes disappea…
gavrant Jul 16, 2024
4c34753
Finishing touches to vertex flags editing
gavrant Jul 16, 2024
fa8d6be
"Smart" default view mode on loading a mesh
gavrant Jul 17, 2024
ccdf0d3
Shapes - cleanup and polishing touches
gavrant Jul 18, 2024
d35d9c8
Fixed NifSkope unable to save a mesh if it has bhkCompressedMeshShape…
gavrant Jul 23, 2024
837cbc0
Versioning system overhaul
gavrant Jul 28, 2024
c5ff193
Moved "About NifSkope" to the bottom of "Help" menu, below "About Qt"
gavrant Jul 28, 2024
78693a0
Minor cleanup in glshape.cpp
gavrant Jul 28, 2024
d7ac840
Fixed sk_multilayer.prog shader error message
gavrant Jul 28, 2024
c16a809
Pre-release version increment
gavrant Jul 28, 2024
da31a4d
Fixed bad vertex mapping in skinned meshes with strips (pre-Skyrim SE)
gavrant Jul 29, 2024
039ce0c
Pre-release version update
gavrant Jul 29, 2024
74d9480
"Auto Sanitize before Save" option is now off by default for new inst…
gavrant Jul 30, 2024
7e90323
Oblivion: fixed texture-related "Could not find subitem" spam on usin…
gavrant Jul 30, 2024
8ea1b27
Pre-release version update (dev 9c)
gavrant Jul 30, 2024
e3b41df
Refactored NodeList and PropertyList
gavrant Aug 1, 2024
a293bcf
Fixed Shape class not deleting its "selection" stuff when destructed
gavrant Aug 1, 2024
c02c437
Refactoring of IControllable (mostly)
gavrant Aug 4, 2024
32ee144
Fixed minor typos in comments
gavrant Aug 16, 2024
6cf6a0c
NifSkope.pro: default TEMPLATE to 'app' if it's not MS vcproj build
gavrant Aug 16, 2024
147db7e
Complete overhaul of controllers
gavrant Aug 16, 2024
99161d8
De-cluttered tree mode of Block List
gavrant Aug 17, 2024
71427fc
Improved "link block to block" editing routine
gavrant Aug 18, 2024
fc4922b
NifSkope.pro: added a workaround for zlib not compiling on MacOS
gavrant Aug 18, 2024
3d83500
NifSkope.pro: added flags for clang compiler
gavrant Aug 18, 2024
3e286c2
nifitem.h: fixed some funny formatting
gavrant Aug 20, 2024
a8cde47
Auto-check "Load (Saved) View" button and menu item when "Save View" …
gavrant Aug 20, 2024
ee5be6e
Better support for FO3 shaders and obscurer Skyrim shaders
gavrant Aug 23, 2024
7948e70
Fixed "select shape/vertex/etc. by clicking in the render view" featu…
gavrant Aug 23, 2024
e85109a
Block Details: fixed clicking "Update array size" (green circled arro…
gavrant Aug 24, 2024
68a7e0c
Fixed Particles breaking "click in the render view to select a shape/…
gavrant Aug 24, 2024
d5fe49c
Last minute changes to controllers
gavrant Aug 24, 2024
45db88b
Pre-release version bump
gavrant Aug 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 21 additions & 41 deletions NifSkope.pro
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,12 @@
## BUILD OPTIONS
###############################

TEMPLATE = vcapp
TARGET = NifSkope
*msvc* {
TEMPLATE = vcapp
} else {
TEMPLATE = app
}
TARGET = NifSkope

QT += xml opengl network widgets

Expand Down Expand Up @@ -82,24 +86,6 @@ VISUALSTUDIO = false
include(NifSkope_functions.pri)


###############################
## MACROS
###############################

# NifSkope Version
VER = $$getVersion()
# NifSkope Revision
REVISION = $$getRevision()

# NIFSKOPE_VERSION macro
DEFINES += NIFSKOPE_VERSION=\\\"$${VER}\\\"

# NIFSKOPE_REVISION macro
!isEmpty(REVISION) {
DEFINES += NIFSKOPE_REVISION=\\\"$${REVISION}\\\"
}


###############################
## OUTPUT DIRECTORIES
###############################
Expand Down Expand Up @@ -147,6 +133,7 @@ HEADERS += \
src/gl/BSMesh.h \
src/gl/bsshape.h \
src/gl/controllers.h \
src/gl/glcontrollable.h \
src/gl/glcontroller.h \
src/gl/glmarker.h \
src/gl/glmesh.h \
Expand All @@ -158,7 +145,6 @@ HEADERS += \
src/gl/gltex.h \
src/gl/gltexloaders.h \
src/gl/gltools.h \
src/gl/icontrollable.h \
src/gl/renderer.h \
src/io/material.h \
src/io/MeshFile.h \
Expand Down Expand Up @@ -198,6 +184,8 @@ HEADERS += \
src/ui/checkablemessagebox.h \
src/ui/settingsdialog.h \
src/ui/settingspane.h \
src/ui/ToolDialog.h \
src/ui/UiUtils.h \
src/xml/nifexpr.h \
src/xml/xmlconfig.h \
src/gamemanager.h \
Expand All @@ -212,7 +200,8 @@ HEADERS += \
lib/json.hpp \
lib/stb_image.h \
lib/stb_image_write.h \
lib/tiny_gltf.h
lib/tiny_gltf.h \
lib/Miniball.hpp

SOURCES += \
src/data/nifitem.cpp \
Expand All @@ -221,6 +210,7 @@ SOURCES += \
src/gl/BSMesh.cpp \
src/gl/bsshape.cpp \
src/gl/controllers.cpp \
src/gl/glcontrollable.cpp \
src/gl/glcontroller.cpp \
src/gl/glmarker.cpp \
src/gl/glmesh.cpp \
Expand Down Expand Up @@ -290,6 +280,8 @@ SOURCES += \
src/ui/checkablemessagebox.cpp \
src/ui/settingsdialog.cpp \
src/ui/settingspane.cpp \
src/ui/ToolDialog.cpp \
src/ui/UiUtils.cpp \
src/xml/kfmxml.cpp \
src/xml/nifexpr.cpp \
src/xml/nifxml.cpp \
Expand All @@ -300,14 +292,12 @@ SOURCES += \
src/nifskope.cpp \
src/nifskope_ui.cpp \
src/spellbook.cpp \
src/version.cpp \
lib/half.cpp

RESOURCES += \
res/nifskope.qrc

FORMS += \
src/ui/about_dialog.ui \
src/ui/checkablemessagebox.ui \
src/ui/nifskope.ui \
src/ui/settingsdialog.ui \
Expand Down Expand Up @@ -362,6 +352,7 @@ gli {
zlib {
macx {
DEFINES += Z_HAVE_UNISTD_H
QMAKE_CFLAGS += -fno-define-target-os-macros
}
!*msvc*:QMAKE_CFLAGS += -isystem ../nifskope/lib/zlib
!*msvc*:QMAKE_CXXFLAGS += -isystem ../nifskope/lib/zlib
Expand Down Expand Up @@ -436,9 +427,9 @@ win32 {
}


# MinGW, GCC
# MinGW, GCC, clang
# Recommended: GCC 4.8.1+
*-g++ {
*-g++|*-clang {

# COMPILER FLAGS

Expand Down Expand Up @@ -471,20 +462,6 @@ macx {
# Pre/Post Link in build_pass only
build_pass|!debug_and_release {

###############################
## QMAKE_PRE_LINK
###############################

# Find `sed` command
SED = $$getSed()

!isEmpty(SED) {
# Replace @VERSION@ with number from build/VERSION
# Copy build/README.md.in > README.md
QMAKE_PRE_LINK += $${SED} -e s/@VERSION@/$${VER}/ $${PWD}/build/README.md.in > $${PWD}/README.md $$nt
}


###############################
## QMAKE_POST_LINK
###############################
Expand Down Expand Up @@ -514,9 +491,12 @@ win32:contains(QT_ARCH, i386) {
README.md \
README_GLTF.md

CONFIGS += \
build/qt.conf

copyDirs( $$SHADERS, shaders )
#copyDirs( $$LANG, lang )
copyFiles( $$XML $$QSS )
copyFiles( $$XML $$QSS $$CONFIGS )

# Copy Readmes and rename to TXT
copyFiles( $$READMES,,,, md:txt )
Expand Down
46 changes: 0 additions & 46 deletions NifSkope_functions.pri
Original file line number Diff line number Diff line change
Expand Up @@ -80,52 +80,6 @@ defineReplace(get7z) {
}


_VERSION =
_REVISION =

# Retrieve NifSkope version
defineReplace(getVersion) {
# I turned this into a function because I didn't want
# the Version/Revision macros to have to straddle the
# includes. (VERSION needed to come before, REVISION after)
!isEmpty(_VERSION):return($$_VERSION)

_VERSION = $$cat(build/VERSION)
export(_VERSION)
return($$_VERSION)
}

# Retrieve NifSkope revision
defineReplace(getRevision) {

!isEmpty(_REVISION):return($$_REVISION)

GIT_HEAD = $$cat(.git/HEAD)
# At this point GIT_HEAD either contains commit hash, or symbolic ref:
# GIT_HEAD = 303c05416ecceb3368997c86676a6e63e968bc9b
# GIT_HEAD = ref: refs/head/feature/blabla
contains(GIT_HEAD, "ref:") {
# Resolve symbolic ref
GIT_HEAD = .git/$$member(GIT_HEAD, 1)
# GIT_HEAD now points to the file containing hash,
# e.g. .git/refs/head/feature/blabla
exists($$GIT_HEAD) {
GIT_HEAD = $$cat($$GIT_HEAD)
} else {
clear(GIT_HEAD)
}
}
count(GIT_HEAD, 1) {
# Single component, hopefully the commit hash
# Fetch first seven characters (abbreviated hash)
GIT_HEAD ~= s/^(.......).*/\\1/
_REVISION = $$GIT_HEAD
export(_REVISION)
return($$_REVISION)
}
return()
}

# Format Qt Version
defineReplace(QtHex) {

Expand Down
4 changes: 1 addition & 3 deletions NifSkope_targets.pri
Original file line number Diff line number Diff line change
Expand Up @@ -138,9 +138,7 @@ SED = $$getSed()
unix:doxygen.commands += $${_7z} -o $${TAGS}$${QMAKE_DIR_SEP}tags.zip -d $${TAGS} $$nt
}

doxygen.commands += $${SED} -e \"s%@VERSION@%$$getVersion()%g;\
s%@REVISION@%$$getRevision()%g;\
s%@OUTPUT@%$${OUTPUT}%g;\
doxygen.commands += $${SED} -e \"s%@OUTPUT@%$${OUTPUT}%g;\
s%@INPUT@%$${INPUT}%g;\
s%@PWD@%$${ROOT}%g;\
s%@QT_VER@%$$QtHex()%g;\
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# NifSkope 2.0.dev9
# NifSkope 2.0 Dev 9d (Gavrant)

NifSkope is a tool for opening and editing the NetImmerse file format (NIF). NIF is used by video games such as Morrowind, Oblivion, Skyrim, Fallout 3/NV/4/76, Starfield, Civilization IV, and more.

Expand Down
1 change: 0 additions & 1 deletion build/VERSION

This file was deleted.

2 changes: 0 additions & 2 deletions build/doxygen/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -1987,8 +1987,6 @@ PREDEFINED = UNICODE \
QT_NO_DEBUG \
Q_OS_WIN \
Q_OS_WIN32 \
"NIFSKOPE_VERSION=\"@VERSION@\"" \
"NIFSKOPE_REVISION=\"@REVISION@\"" \
"QT_VERSION=@QT_VER@"

# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
Expand Down
Loading