Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-03-26LibOverride: Fix mistake in recent commit.Bastien Montagne
We do not want to re-generate auto-overrides until everything that needed to be resynced has been resynced. Otherwise it's a waste of time and guaranteed loss of some override properties. Mistake in rB9947f2095610 earlier today.
2021-03-15Cleanup: rename G_FILE_RECOVER -> G_FILE_RECOVER_READCampbell Barton
No functional changes, make room for a write equivalent.
2021-03-12LibOverride Auto Resync: Add option to disable it in Experimental userpref.Bastien Montagne
Some older .blend files won't react nicely to auto-resync, they need to get manually fixed with `resync enforce` first.
2021-03-11Cleanup: split file read and setup into separate stepsCampbell Barton
Currently file loading performs almost all reloading logic even in the case loading the file fails, causing the file to be in a state that isn't well defined: undo is cleared, timers are canceled & scripts are re-registered.
2021-03-11Cleanup: file loading/recover checksCampbell Barton
- Don't set G.relbase_valid until the file is loaded. - Remove unnecessary string pointer comparison. - Remove unused filename being passed to 'setup_app_data'.
2021-03-11LibOverride: auto-run resync process on file reading.Bastien Montagne
Part of T83811 & D10649.
2021-03-04Cleanup: Main `foreach ID` code: Remove `MAX_LIBARRAY` and improve comments.Bastien Montagne
The `MAX_LIBARRAY` define was an annoying doublon to the `INDEX_ID_MAX` enum value now defined in `DNA_ID.h`, and it is no more useful. And comments were somewhat outdated. Also added an explanation about chosen order for the `INDEX_ID_<IDTYPE>` order.
2021-02-05Cleanup/refactor: Undosys: Get rid of the magic values for undo direction.Bastien Montagne
Move `eUndoStepDir` to `BKE_undo_system.h` and use its values everywhere. Note that this also introduce the `STEP_INVALID` value in that enum. Finally, kept the matching struct members in some lower-level readfile code as an `int` to avoid having to include `BKE_undo_system.h` in a lot of unrelated files.
2021-01-21Asset Browser: Enable by default in alpha buildsJulian Eisel
The Asset Browser is still considered an experimental feature right now. But it can be enabled by default for alpha builds, to get further testing and feedback. It will hopefully be a non-experimental feature by the end of bcon1. This is done in agreement with Dalai.
2020-12-15Asset System: Support custom asset library paths through PreferencesJulian Eisel
One of the core design aspects of the Asset Browser is that users can "mount" custom asset libraries via the Preferences. Currently an asset library is just a directory with one or more .blend files in it. We could easily support a single .blend file as asset library as well (rather than a directory). It's just disabled currently. Note that in earlier designs, asset libraries were called repositories. Idea is simple: In Preferences > File Paths, you can create custom libraries, by setting a name and selecting a path. The name is ensured to be unique. If the name or path are empty, the Asset Browser will not show it in the list of available asset libraries. The library path is not checked for validity, the Asset Browser will allow selecting invalid libraries, but show a message instead of the file list, to help the user understand what's going on. Of course the actual Asset Browser UI is not part of this commit, it's in one of the following ones. {F9497950} Part of the first Asset Browser milestone. Check the #asset_browser_milestone_1 project milestone on developer.blender.org. Differential Revision: https://developer.blender.org/D9722 Reviewed by: Brecht Van Lommel, Hans Goudey
2020-10-15Cleanup: remove duplicate context variable (__py_context)Campbell Barton
The context was stored both in __py_context & bpy_context_module. This avoids duplicate functions to update them too.
2020-10-03Cleanup: remove unused code in blend file loadingCampbell Barton
v2.4x could cancel loading files that warned of being a newer, unsupported version. Remove this logic since it's no longer in use.
2020-10-03readfile: always run setup_app_data after updating defaultsCampbell Barton
When blend files were loaded with app-templates, setup_app_data was running before defaults were updated. This is likely to cause problems with order of initialization so always update the startup file beforehand.
2020-09-09Cleanup: use bool instead of intJacques Lucke
2020-06-27Docs: correct invalid doxygen params & referencesCampbell Barton
2020-06-19Writefile: move file flags to BlendFileWriteParamsCampbell Barton
This removes G_FILE_HISTORY, G_FILE_SAVE_COPY & G_FILE_USERPREFS. Using file-flags made logic harder to follow since it's not so clear which flags are expected to be in G.fileflags & which are meant to be set and passed as arguments, these are shared between read & write functions too. Add BlendFileWriteParams so options which don't need to be stored aren't mixed up with flags that are stored for reuse.
2020-06-18Python API: path mapping options for library writing functionCampbell Barton
When "Relative Remap" option was added, the intention was only to remap paths that were already relative. However it remapped all paths. This was reported as T62612 and fixed recently, however some Python script authors depended on the old behavior. For users, it's reasonable to use the existing operators to make paths absolute/relative. For scripts however it's useful to be able to write out individual data-blocks with the ability to make all paths relative. Now `bpy.data.libraries.write()` takes a path_remap argument which can be `NONE/RELATIVE/RELATIVE_ALL/ABSOLUTE` allowing the script author to choose how paths are handled when writing out data-blocks. Addresses T77768.
2020-05-29Merge branch 'blender-v2.83-release'Brecht Van Lommel
2020-05-29Blender: change bugfix release versioning from a/b/c to .1/.2/.3Brecht Van Lommel
The file subversion is no longer used in the Python API or user interface, and is now internal to Blender. User interface, Python API and file I/O metadata now use more consistent formatting for version numbers. Official releases use "2.83.0", "2.83.1", and releases under development use "2.90.0 Alpha", "2.90.0 Beta". Some Python add-ons may need to lower the Blender version in bl_info to (2, 83, 0) or (2, 90, 0) if they used a subversion number higher than 0. https://wiki.blender.org/wiki/Reference/Release_Notes/2.83/Python_API#Compatibility This change is in preparation of LTS releases, and also brings us more in line with semantic versioning. Fixes T76058. Differential Revision: https://developer.blender.org/D7748
2020-04-21Merge branch 'blender-v2.83-release'Bastien Montagne
2020-04-21Fix T75893: Undo causes crash with "Load UI" disabled.Bastien Montagne
We need to re-generate a new session uuid for the UI-related data-blocks that are kept across file reading, when load UI is disabled. Otherwise there will be several IDs with same uuid, which is an ensured way to crash in new undo code.
2020-04-15Cleanup: remove (unused) RNA update cachePhilipp Oeser
Introduced in 2011 in rB6a392e8cb505, it was disabled again soon after in rBb062056c05a3 and traces to it partly removed in rB21744217cea9. Now remove completely. quote @sergey: We shouldn't be having partially working unused code. If we ever need some sort of update cache it would need to have clear design first, and the code could be resurrected from history if needed. Differential Revision: https://developer.blender.org/D7432
2020-04-07Cleanup: BLI_path.h function renamingCampbell Barton
Use BLI_path_ prefix, more consistent names: BLI_parent_dir -> BLI_path_parent_dir BLI_parent_dir_until_exists -> BLI_path_parent_dir_until_exists BLI_ensure_filename -> BLI_path_filename_ensure BLI_first_slash -> BLI_path_slash_find BLI_last_slash -> BLI_path_slash_rfind BLI_add_slash -> BLI_path_slash_ensure BLI_del_slash -> BLI_path_slash_rstrip BLI_path_native_slash -> BLI_path_slash_native Rename 'cleanup' to 'normalize', similar to Python's `os.path.normpath`. BLI_cleanup_path -> BLI_path_normalize BLI_cleanup_dir -> BLI_path_normalize_dir BLI_cleanup_unc -> BLI_path_normalize_unc BLI_cleanup_unc16 -> BLI_path_normalize_unc16 Clarify naming for extracting, creating numbered paths: BLI_stringenc -> BLI_path_sequence_encode BLI_stringdec -> BLI_path_sequence_decode Part of T74506 proposal.
2020-04-03Code Quality: Replace for loops with LISTBASE_FOREACHDalai Felinto
Note this only changes cases where the variable was declared inside the for loop. To handle it outside as well is a different challenge. Differential Revision: https://developer.blender.org/D7320
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-17Add experimental global undo speedup.Bastien Montagne
The feature is hidden behind an experimental option, you'll have to enable it in the preferences to try it. This feature is not yet considered fully stable, crashes may happen, as well as .blend file corruptions (very unlikely, but still possible). In a nutshell, the ideas behind this code are to: * Detect unchanged IDs across an undo step. * Reuse as much as possible existing IDs memory, even when its content did change. * Re-use existing depsgraphs instead of building new ones from scratch. * Store accumulated recalc flags, to avoid needless re-compute of things that did not change, when the ID itself is detected as modified. See T60695 and D6580 for more technical details.
2020-02-19readfile: Move ID refcounting to libquery.Bastien Montagne
Having that extra ID users handling at readfile level, besides generic one ensured by libquery, has been something bothering me for a long time (had to fix my share of bugs due to mismatches between those two areas). Further more, work on undo speedup will require even more complex ID refcount management if we want to keep it in readfile.c area. So idea is instead to generalize what we did for linked data already when undoing: recompute properly usercount numbers after liblink step, for all IDs. Note that extra time required here is neglectable in a whole .blend file reading (few extra milliseconds when loading a full production scene e.g.). Notes: * Some deprecated data (IPOs) are not refcounted at all anymore, this should not be an issue in pratice since the are supposed to get deleted after doversion anyway. * Refcounting happens after `do_versions_after_linking`, i.e those functions won't get valid ID usercounts currently. Again, this is not a problem in current code, if needed we could recompute refcount before, and then ensure `do_versions_after_linoiing()` actually handles properly usercount, which it does not currently. Differential Revision: https://developer.blender.org/D6881
2020-02-10Cleanup/refactor: Rename `BKE_library` files to `BKE_lib`.Bastien Montagne
Note that `BKE_library.h`/`library.c` were renamed to `BKE_lib_id.h`/`lib_id.c` to avoid having a too generic name here. Part of T72604.
2019-12-20ID Management: Improve speed of code used when creating/renaming and ID.Bastien Montagne
This commit affects `id_sort_by_name()` and `check_for_dupid()` helper: * Add a new parameter, `ID *id_sorting_hint`, to `id_sort_by_name()`, and when non-NULL, check if we can insert `id` immediately before or after it. This can dramatically reduce time spent in that function. * Use loop over whole list in `check_for_dupid()` to also define the likely ID pointer that will be neighbor with our new one. This gives another decent speedup to all massive addition cases: | Number and type of names of IDs | old code | new code | speed improvement | | -------------------------------- | -------- | -------- | ----------------- | | 40K, mixed (14k rand, 26k const) | 39s | 33s | 18% | | 40K, fully random | 51s | 42s | 21% | | 40K, fully constant | 40s | 34s | 18% | Combined with the previous commits, this makes massive addition of IDs more than twice as fast as previously.
2019-12-05Fix T72169: "New File" loads UI, even when disabledCampbell Barton
Partially reverts b500f427009f0, callers now set this flag.
2019-08-08Cleanup: Typo in naming (BLE instead of BKE, tssttt).Bastien Montagne
2019-08-02Fix T68126: Cycles not enabled with factory settingsBrecht Van Lommel
2019-08-01Cleanup: remove redundant LMB select default.Campbell Barton
2019-08-01Fix error setting the user preferencesCampbell Barton
User preferences from the startup.blend was still being used, fixing this exposed missing theme initialization, now fixed.
2019-08-01Cleanup: move defaults into U_default structCampbell Barton
2019-07-31Fix error in user preferences commitCampbell Barton
Add include & initialize variable.
2019-07-31Cleanup: remove BLO_update_defaults_userpref_blendCampbell Barton
Merge into BKE_blendfile_userdef_from_defaults
2019-07-31Preferences: don't store preferences in the startupCampbell Barton
Simplify preferences by removing the ability to load them from either the startup.blend or userpref.blend. Also simplifies updating default preferences by moving them to a struct definition.
2019-07-30Cleanup: check is_startup parameters instead of the pathCampbell Barton
2019-07-30Cleanup: replace unused return defines with boolCampbell Barton
2019-07-16Fix T66940, T67005, T60651: append workspace from old startup file failsBrecht Van Lommel
Don't try to use old screens as workspaces, just leave them out of the menu. Differential Revision: https://developer.blender.org/D5270
2019-06-12Cleanup: spelling in commentsCampbell Barton
2019-05-23Merge branch 'blender2.7'Bastien Montagne
Conflicts: source/blender/blenkernel/intern/library.c source/blender/blenloader/intern/readfile.c source/blender/editors/screen/screen_edit.c
2019-05-13Preferences: support loading factory preferencesCampbell Barton
Previously it was only possible to load factory startup & preferences.
2019-05-10Cleanup: split setup_app_data into two functionsCampbell Barton
Allows for skipping either preferences or data-blocks. Previously setup_app_data was used for both.
2019-05-10Preferences: add is_dirty memberCampbell Barton
Tag preferences as dirty when changed (prepare for adding auto-save).
2019-05-10Cleanup: move preference saving logic into blendfile.cCampbell Barton
2019-04-27Cleanup: comments (long lines) in blenkernelCampbell Barton
2019-04-22Cleanup: style, use braces for blenkernelCampbell Barton
2019-04-20Cleanup: add missing macros to clang-formatCampbell Barton