﻿<?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.4%2FSource%2FBlender_File_Format%2FReading</id>
	<title>Dev:2.4/Source/Blender File Format/Reading - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Dev%3A2.4%2FSource%2FBlender_File_Format%2FReading"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:2.4/Source/Blender_File_Format/Reading&amp;action=history"/>
	<updated>2026-10-26T03:42:24Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:2.4/Source/Blender_File_Format/Reading&amp;diff=51746&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:2.4/Source/Blender_File_Format/Reading&amp;diff=51746&amp;oldid=prev"/>
		<updated>2018-06-28T17:49:55Z</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日 (木) 17:49時点における版&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.4/Source/Blender_File_Format/Reading&amp;diff=51745&amp;oldid=prev</id>
		<title>wiki&gt;Brecht: moved Dev:Doc/Blender File Format/Reading to Dev:2.4/Source/Blender File Format/Reading</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:2.4/Source/Blender_File_Format/Reading&amp;diff=51745&amp;oldid=prev"/>
		<updated>2011-06-15T13:31:57Z</updated>

		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/Dev:Doc/Blender_File_Format/Reading&quot; class=&quot;mw-redirect&quot; title=&quot;Dev:Doc/Blender File Format/Reading&quot;&gt;Dev:Doc/Blender File Format/Reading&lt;/a&gt; to &lt;a href=&quot;/Dev:2.4/Source/Blender_File_Format/Reading&quot; title=&quot;Dev:2.4/Source/Blender File Format/Reading&quot;&gt;Dev:2.4/Source/Blender File Format/Reading&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Currently four different levels of routines for .blend file reading exist;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* interface level */&lt;br /&gt;
1) BIF_init() -&amp;gt; calls 3&lt;br /&gt;
2) BIF_read_file() -&amp;gt; calls 11, optional 4&lt;br /&gt;
3) BIF_read_homefile() -&amp;gt; calls 11 or 12, and then 4&lt;br /&gt;
4) init_userdef_file()&lt;br /&gt;
&lt;br /&gt;
/* kernel level */&lt;br /&gt;
11) BKE_read_file() -&amp;gt; calls 21, and then 14&lt;br /&gt;
12) BKE_read_file_from_memory() -&amp;gt; calls 22, and then 14&lt;br /&gt;
13) BKE_read_file_from_memfile() -&amp;gt; calls 23, and then 14&lt;br /&gt;
14) setup_app_data()&lt;br /&gt;
&lt;br /&gt;
/* loader module level */&lt;br /&gt;
21) BLO_read_from_file() -&amp;gt; calls 24&lt;br /&gt;
22) BLO_read_from_memory() -&amp;gt; calls 24&lt;br /&gt;
23) BLO_read_from_memfile() -&amp;gt; calls 24&lt;br /&gt;
&lt;br /&gt;
/* loader module, internal */&lt;br /&gt;
24) blo_read_file_internal()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
- BIF_read_homefile() has additional UI initialize calls, like windows fullscreen and executing commandline options&lt;br /&gt;
&lt;br /&gt;
- Reading from memory (12) only happens for the compiled-in .B.blend&lt;br /&gt;
&lt;br /&gt;
- The &amp;quot;memfile&amp;quot; here is a name I gave to the undo &amp;quot;file&amp;quot; structure. Which is constructed out of memory chunks with basic compression features.&lt;br /&gt;
&lt;br /&gt;
- the kernel function setup_app_data() sets globals like &amp;quot;current screen&amp;quot; and &amp;quot;current scene&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
So far, so good. The levels as mentioned here clearly distinguish UI from kernel, and should enable for example game loading (runtime) or background (no UI) loading. In the past years however, &amp;#039;bad level&amp;#039; dependencies were added, and especially the patches for &amp;#039;file versions&amp;#039; were added in too many places. The latter is evidently a result of the problem that the &amp;quot;UserDef&amp;quot; struct cannot be initialized/patched if there&amp;#039;s not a need for a UI.&lt;br /&gt;
&lt;br /&gt;
Here&amp;#039;s how the flow goes in four different cases:&lt;br /&gt;
&lt;br /&gt;
----- Starting up Blender, in foreground with UI --------------------&lt;br /&gt;
&lt;br /&gt;
- creator/creator.c, main() -&amp;gt; calls 1&lt;br /&gt;
- If the commandline contains a filename, it calls 11&lt;br /&gt;
&lt;br /&gt;
----- Starting up Blender, in background without UI --------------------&lt;br /&gt;
&lt;br /&gt;
- creator/creator.c, main() -&amp;gt; calls 11 if the commandline has a filename&lt;br /&gt;
&lt;br /&gt;
Note: no Userdef is read, nor initialized. Please note that this was already an existing problem for using Yafray, not setting proper file paths in background mode. The Yafray paths don&amp;#039;t belong in the User menu.&lt;br /&gt;
&lt;br /&gt;
----- Starting up Blender as a runtime executable --------------------&lt;br /&gt;
&lt;br /&gt;
This only has calls to 22&lt;br /&gt;
&lt;br /&gt;
----- Loading a file from within the UI (with F1, CTRL+O, using pulldowns) -----&lt;br /&gt;
&lt;br /&gt;
Only calls allowed to 2. It detects if a UserDef has been read too, and in that case the init_userdef_file() will be executed.&lt;br /&gt;
&lt;br /&gt;
Hope this is understandable :)&lt;/div&gt;</summary>
		<author><name>wiki&gt;Brecht</name></author>
		
	</entry>
</feed>