﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Dev%3A2.7%2FSource%2FChecklists%2FToolsettingsProperty</id>
	<title>Dev:2.7/Source/Checklists/ToolsettingsProperty - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Dev%3A2.7%2FSource%2FChecklists%2FToolsettingsProperty"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:2.7/Source/Checklists/ToolsettingsProperty&amp;action=history"/>
	<updated>2026-10-25T06:48:38Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:2.7/Source/Checklists/ToolsettingsProperty&amp;diff=150777&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:2.7/Source/Checklists/ToolsettingsProperty&amp;diff=150777&amp;oldid=prev"/>
		<updated>2018-06-28T21:15:52Z</updated>

		<summary type="html">&lt;p&gt;1版 をインポートしました&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2018年6月28日 (木) 21:15時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Yamyam</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:2.7/Source/Checklists/ToolsettingsProperty&amp;diff=150776&amp;oldid=prev</id>
		<title>wiki&gt;Aligorith: Created page with &quot;= Adding New Tool Settings Properties/Data = This checklist covers adding a new property or struct (with properties) to Tool Settings (or some data attached to it).  &quot;Tool Settin...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:2.7/Source/Checklists/ToolsettingsProperty&amp;diff=150776&amp;oldid=prev"/>
		<updated>2016-02-01T13:03:23Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Adding New Tool Settings Properties/Data = This checklist covers adding a new property or struct (with properties) to Tool Settings (or some data attached to it).  &amp;quot;Tool Settin...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Adding New Tool Settings Properties/Data =&lt;br /&gt;
This checklist covers adding a new property or struct (with properties) to Tool Settings (or some data attached to it).&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Tool Settings&amp;quot; is a per-scene place to store settings related to how various tools operate. Unlike User Preferences, these setting are saved with the scene data in each .blend file instead of being a standalone &amp;quot;global preferences&amp;quot; thing. Thus, it is good for being a kind of &amp;quot;global&amp;quot; place to store settings that the user will likely frequently require access to, which need to be adjusted in response to the nature of the current scene/file being worked on, and are not restricted to only being relevant in a particular editor instance. Examples of settings which are stored in Tool Settings include: Sculpt Settings, Particle Edit Settings, Auto Keyframing options (i.e. enabled/not-enabled, etc.), and many others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Key Precautions and Takeaway Tips ==&lt;br /&gt;
# The main thing to be careful about is remembering to include the version patching code in all 3 places where these defaults need to be set. It is all too easy to only remember to deal with the most obvious one, only to find later that a critical setting has not been initialised in one of the other cases (and likely leading to a segfault or weird hard-to-trace behaviour).&lt;br /&gt;
# The other thing to be careful about is that since &amp;lt;code&amp;gt;DNA_scene_types.h&amp;lt;/code&amp;gt; is included in a LOT of files, it&amp;#039;s imperative to double check that you&amp;#039;re happy with your code before compiling, as you&amp;#039;ll invariably end up having to recompile most of Blender each time you touch that file.&lt;br /&gt;
#* Personally, I recommend batching up edits to that file during development, and only splitting out the changes per-feature when committing to Git (by cherry-picking the relevant lines/blocks as needed)&lt;br /&gt;
#* Also be warned that every time you modify a RNA file, quite a few of the Blender-side export code for Cycles will also need to be recompiled, as those classes rely on the autogenerated RNA C++ API to do their magic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Checklist==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;makesdna/DNA_scene_types.h&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; - Data structures, types, flag values, etc.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;1) Add Property&amp;#039;&amp;#039;&amp;#039; - Find the &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;ToolSettings&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; struct (~60% of the way down the file).&lt;br /&gt;
*** Add your property somewhere here, taking into account the SDNA alignment considerations (if appropriate)&lt;br /&gt;
*** Otherwise, add to the relevant struct that is linked off here (e.g. &amp;lt;code&amp;gt;ParticleEditSettings&amp;lt;/code&amp;gt;)&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;2) Add any flags defines/enum values&amp;#039;&amp;#039;&amp;#039; - Scroll down ~80-90%, till you start seeing comments like &amp;lt;code&amp;gt;/* toolsettings-&amp;gt;snap_flag */&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;makesrna/intern/rna_scene.c&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (or &amp;lt;code&amp;gt;rna_sculpt_paint.c&amp;lt;/code&amp;gt;) - RNA defines for the new properties&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Version Patching (x3)&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;blenloader/versioning_270.c&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; - Version Patching for old files. &lt;br /&gt;
*** Scroll to the end of the file, and stub the version patch in at the end of &amp;lt;code&amp;gt;blo_do_versions_270&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;blenloader/versioning_defaults.c&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; - Version Patching for old startup/userpref files. (Pretty much the same again, except without the version checks)&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;blenkernel/intern/scene.c&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; - Set defaults for new Scene instances (i.e. those added via the &amp;#039;+&amp;#039; on the Info Header)&lt;/div&gt;</summary>
		<author><name>wiki&gt;Aligorith</name></author>
		
	</entry>
</feed>