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

MCprep 3.6 RC-1 #566

Merged
merged 75 commits into from
Apr 28, 2024
Merged

MCprep 3.6 RC-1 #566

merged 75 commits into from
Apr 28, 2024

Conversation

StandingPadAnimations
Copy link
Collaborator

No description provided.

TheDuckCow and others added 30 commits July 23, 2023 17:25
Moving forward, using this label to apply to asset submissions to make it easier to identify, and to potentially identify community members to review.
This includes QA checking scripts, which have already uncovered one
issue with one of the updated rigs.
This was a weird one. Essentially, running the unittests would always
result in the `mcprep_data_update.json` file being renamed to
`mcprep_data.json` (and since that file isn't tracked in git, would look
like the file was deleted wrt to local changes). This was happening, out
of all things, due to this line in the unittest runner:

unittest.TestLoader().discover(MODULE_DIR, "*_test.py")

This is because the discover command clearly has to attempt loading of
the modules it's scanning over, and at some point we import the env
module and thus the __init__ code on module load would trigger,
resulting in the file rename. By moving the rename into the register
function, we ensure it only happens in the context of an addon, which
is all we really need for it.
Unfortunately, we do still have the issue that the test runner renames
the mcprep_data_update.json file, and modifies checked-in mtl files,
but we can address this in the future.
The new test runner in python is straight forward enough to use that I
feel there is no longer a need for any system-specific shell files.
…ions

Migrating more critical tests ahead of release.
Some can't be avoided, such as those around bpy property definitions.
Addresses an issue introduced in MCprep v3.5.0
TheDuckCow and others added 29 commits November 14, 2023 21:49
Ran into a couple issues during the last release
…506)

Two levels of trying to make sure we never ship with tracker code again.
Also removed now-redundant test for checking if tracker id present in git dir
This commit removes the deprecated conf.py references that were meant to
be removed in MCprep 3.5.1, but weren't due to Blender 4.0's release
…520)

This operator was already high in terms of test coverage, but the one
branch not covered (and, the todo listed) was for animated textures. of
course, that was what went wrong. Now it tests this branch too.
Before this change, if a collection effect included a particle system
where the source of the particles was an object (as opposed to an entire
collection), then on save and reload of that file, the particle object
would have been cleaned up, as it was not linked to the scene and for
some reason, since forever, blender does not count usage of an object
as a particle emitter as an object use reference when it comes to its
own internal cleanup.

Works now, tested by saving and reloading a file after spawning in a
version of the firework tutorial where I didn't use a collection as the
firework source.
…d-references

Remove references deprecated in MCprep 3.5
…522)

More explicit notice about having valid MC license

---------

Co-authored-by: TheDuckCow & StandingPad Animations
* Changed behavior of skin swap to be more nuanced

Skin swap originally would change all image textures on all materials of
the selected object, regardless of whether the user wanted to or not.
This is not ideal for rigs that need multiple seperate textures.

To expand the use case of skin swap, skin swap will now use a more
nuanced method of swapping skins based on node name, which is an already
established precedent from the MCprep Cycles Optimizer

* Fixed detection of node name in set_cycles_texture

* Fixed error with node name checks

* Changed name check to ignore duplicates

* Rename and set swap_all_imgs default for texture changing function

Adding positional args to fix ordered references and set, while making
custom nuanced swapping still possible.

---------

Co-authored-by: Patrick W. Crawford <theduckcow@live.com>
With this, we now have correct prep material saturation again for this
grass object, and all tests passing again.
* Upgrade to BpyBuild 0.3.0

* Updated reference command in CONTRIBUTING.md

* Added action-scripts folder with BpyBuild actions

This is so we can better organize our scripts

* Added Ignore Filters action as default

This was something that would have been useful in #505, and now we have
it :D

* Updated ignore_filters.py to print deleted files

This is a small change that'll make it easier to understand what's going
on at runtime with regards to the ignore filter

* Updated build command in run_tests.py

* Added print statement to dev.py

* Updated bpy-build.yaml

* Added .blend filter for dev builds

* Switched to BpyBuild ignore filters

* Revert "Switched to BpyBuild ignore filters"

This reverts commit 7469142.

* Updated config option in BpyBuild

* Added warning to ignore_filters.py

* Added error object for better user experience

* Switched to BaseException for MCprepError

* Removed redundant variable

* Refactored colorspace setup to be more flexible

In the past, we'd set this to a hard coded value. However, that proved
to be annoying to users using non-standard OCIO configs like ACES or
early versions of AgX. MCprep already fixes MTL files for ACES
compatibility, so we're expanding this to prep materials.

In `mcprep_data.json`, there will now be a section called
"non_color_options", which is a list of different options for Non-Color
Data/Generic Data. If a user is using a non-standard setup, they can
simply add the correct option in the JSON file and prep materials will
function properly.

The matching goes in order from first to last, and MCprep will use the
first value matched at runtime.

* First commit for i18n

* Added .venv to gitignore

* Fixed missing ) and added additional string

* Moved import statement for inspect

* Reduced nesting in function

* refactor(comment): Refactored comment in util.py

* Added some metadata to English PO file

* build(config): Removed ignore filter

* Update .gitignore

Co-authored-by: Patrick W. Crawford <theduckcow@live.com>

* chore: removed MCprep_resources from gitignore

* feat: Added zn_CN to Languages

* refactor(language): moved en to en_US

* feat: make MCprep follow the user's Blender locale

* refactor(languages): moved to zn_HANS

* fix: made translations change on the fly

* fix: Added fallback for non-existent translations

* fix: Fixed fallback

* Added some details to MCprep POT

* docs: Added documentation on translating MCprep

* docs(i18n): Removed redundant line

* Updated POT file

* chore(i18n): Added new strings to zn_HANS

* Recompiled zh_HANS

* fix(annotations): Added missing annotation to _

* docs(i18n): Added developer documentation

* Added polib to dependencies

* build: Added dictionary generator for i18n

This allows us to use bpy.app.translations without requiring translators
to have Python experience. While Blender allegedly has this ability, I
haven't been able to find it, so as far as I'm aware, it doesn't exist.

* Added use of bpy.app.translations

* fix(i18n): Fixed detection of translations.py

* Added autobuilding of MO files to default action

* docs(i18n): Updated i18n docs for maintainers

* build(i18n): Added comments to mo compile script

* docs(i18n): Added BpyBuild to i18n docs

* chore(git): Added MO files to .gitignore

* refactor(removal): Remove MCprep optimizer

The MCprep optimizer was deprecated in the MCprep 3.5 series, and slated
for removal in MCprep 3.6. This is due to the following reasons:
- Outdated design (made prior to Blender 3.0 when Cycles X was still in
  development, and has yet to adapt to modern Cycles)
- Extreme bugs that are hard to fix, such as 80+ light bounces
- Unnecessary as there's no special optimizations for Minecraft scenes,
  and on the contrary may actually be a bad thing as it uses settings
  like clamping indirect with horrible options

* Added polib directly in the source tree

* build: Added separate translate action

* build: added if-name-main to all actions

* docs(i18n): Updated developer docs

* Readded flake8 to requirements.txt

* docs(i18n): Removed negative tone from docs

* Revert "Added polib directly in the source tree"

This reverts commit 8288d5d.

* Updated POT file

* Updated contributing guide readme

* docs: Updated BlenderChanges.md

* build: Add script to generate POT file + Migration to BpyBuild 0.4 (#548)

* build: Add script to generate POT file

* build: Moved build_pot to a separate action

* Fixed metadata and line reference generation

* Updated POT file

* build: Future proofed script for BpyBuild actions

* Revert "build: Future proofed script for BpyBuild actions"

This reverts commit 2d1533a.

* deps: Updated BpyBuild to 0.4

* build: Updated build_pot to use pre_build

* i18n: Updated POT file

* build: Moved build-pot to translate action

* build: Fixed error causing wrong POT comments

* Added translate to release script

* Further update the release script to track changes and safer ver check

* build: Add metadata to POT file, added 4.1 and 4.2

---------

Co-authored-by: Patrick W. Crawford <theduckcow@live.com>

---------

Co-authored-by: Patrick W. Crawford <theduckcow@live.com>
…-tests

Updated test run script and refreshed data file for MC 1.20.5
@StandingPadAnimations StandingPadAnimations merged commit 1f22236 into mcprep-rc Apr 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants