<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.vega-strike.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=ContentTools%3ADeveloperDesign%3AGeneral</id>
		<title>ContentTools:DeveloperDesign:General - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.vega-strike.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=ContentTools%3ADeveloperDesign%3AGeneral"/>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=ContentTools:DeveloperDesign:General&amp;action=history"/>
		<updated>2026-05-14T04:45:18Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.2</generator>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=ContentTools:DeveloperDesign:General&amp;diff=17597&amp;oldid=prev</id>
		<title>Nikai: sp</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=ContentTools:DeveloperDesign:General&amp;diff=17597&amp;oldid=prev"/>
				<updated>2010-07-12T21:01:54Z</updated>
		
		<summary type="html">&lt;p&gt;sp&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 21:01, 12 July 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot; &gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;All content tools (in fact all support applications for VS) will be done in ''Python'', when the performance or convenience for low-level manipulations of ''C++'' is not required. To this date, the only such tool that requires ''C++'' is the mesh importer (mesher).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;All content tools (in fact all support applications for VS) will be done in ''Python'', when the performance or convenience for low-level manipulations of ''C++'' is not required. To this date, the only such tool that requires ''C++'' is the mesh importer (mesher).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When specific tasks of an application do require an implementation in C++, be for performance or because &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;its &lt;/del&gt;implemented within the VS engine, python bindings through an extension module will be used so that the bulk of the application remains implemented in the Python. The objective of this is to guarantee trouble-free portability across all supported platforms.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When specific tasks of an application do require an implementation in C++, be for performance or because &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;it's &lt;/ins&gt;implemented within the VS engine, python bindings through an extension module will be used so that the bulk of the application remains implemented in the Python. The objective of this is to guarantee trouble-free portability across all supported platforms.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Libraries ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Libraries ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l11&quot; &gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Some libraries will be mandatory for various reasons.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Some libraries will be mandatory for various reasons.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''User interface''': Support applications will use [http://wiki.python.org/moin/TkInter TkInter]. The reason behind this forceful adoption of the library is to make support for all official tools uniform and easy, and to avoid what would happen if each tool &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;mantainer &lt;/del&gt;chose its own preferred toolkit (dependency mayhem).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''User interface''': Support applications will use [http://wiki.python.org/moin/TkInter TkInter]. The reason behind this forceful adoption of the library is to make support for all official tools uniform and easy, and to avoid what would happen if each tool &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;maintainer &lt;/ins&gt;chose its own preferred toolkit (dependency mayhem).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''3D visualization''': This is a complicated point. Eventually, when and if the Ogre rendering backend of VS materializes, applications should use it since it would provide an easy-to-use and well abstracted view of VS resources, besides rendering things exactly the way they would be rendered ingame (quite important for previews). Right now, however, this may be a problem, since that backend has not been implemented. Ideally, 3D visualization would wait for such backend which, ideally, would be finished by 0.6. When 3D visualization is a must, though, an ad-hoc solution will be required. [http://python-ogre.org/ Python-Ogre] is a possibility, however loading current-generation VS resources into Python-Ogre may be nontrivial.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''3D visualization''': This is a complicated point. Eventually, when and if the Ogre rendering backend of VS materializes, applications should use it since it would provide an easy-to-use and well abstracted view of VS resources, besides rendering things exactly the way they would be rendered ingame (quite important for previews). Right now, however, this may be a problem, since that backend has not been implemented. Ideally, 3D visualization would wait for such backend which, ideally, would be finished by 0.6. When 3D visualization is a must, though, an ad-hoc solution will be required. [http://python-ogre.org/ Python-Ogre] is a possibility, however loading current-generation VS resources into Python-Ogre may be nontrivial.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''XML parsing''': Since the engine already uses classes specifically designed for XML parsing and editing, and since we want perfect correlation between how the various tools process a file and how the engine does (ie: the same set of XML namespace extensions), we'll be relying on said XML parsing implementation exposed to python as an external module.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''XML parsing''': Since the engine already uses classes specifically designed for XML parsing and editing, and since we want perfect correlation between how the various tools process a file and how the engine does (ie: the same set of XML namespace extensions), we'll be relying on said XML parsing implementation exposed to python as an external module.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Nikai</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=ContentTools:DeveloperDesign:General&amp;diff=15218&amp;oldid=prev</id>
		<title>klauss: Add back link</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=ContentTools:DeveloperDesign:General&amp;diff=15218&amp;oldid=prev"/>
				<updated>2008-05-15T16:13:09Z</updated>
		
		<summary type="html">&lt;p&gt;Add back link&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 16:13, 15 May 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Back to [[ContentTools:DeveloperDesign|Developer Design Documents]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Development Language ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Development Language ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>klauss</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=ContentTools:DeveloperDesign:General&amp;diff=15217&amp;oldid=prev</id>
		<title>klauss: Added some implementation generalities</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=ContentTools:DeveloperDesign:General&amp;diff=15217&amp;oldid=prev"/>
				<updated>2008-05-15T16:08:59Z</updated>
		
		<summary type="html">&lt;p&gt;Added some implementation generalities&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Development Language ==&lt;br /&gt;
&lt;br /&gt;
All content tools (in fact all support applications for VS) will be done in ''Python'', when the performance or convenience for low-level manipulations of ''C++'' is not required. To this date, the only such tool that requires ''C++'' is the mesh importer (mesher).&lt;br /&gt;
&lt;br /&gt;
When specific tasks of an application do require an implementation in C++, be for performance or because its implemented within the VS engine, python bindings through an extension module will be used so that the bulk of the application remains implemented in the Python. The objective of this is to guarantee trouble-free portability across all supported platforms.&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
Some libraries will be mandatory for various reasons.&lt;br /&gt;
&lt;br /&gt;
* '''User interface''': Support applications will use [http://wiki.python.org/moin/TkInter TkInter]. The reason behind this forceful adoption of the library is to make support for all official tools uniform and easy, and to avoid what would happen if each tool mantainer chose its own preferred toolkit (dependency mayhem).&lt;br /&gt;
* '''3D visualization''': This is a complicated point. Eventually, when and if the Ogre rendering backend of VS materializes, applications should use it since it would provide an easy-to-use and well abstracted view of VS resources, besides rendering things exactly the way they would be rendered ingame (quite important for previews). Right now, however, this may be a problem, since that backend has not been implemented. Ideally, 3D visualization would wait for such backend which, ideally, would be finished by 0.6. When 3D visualization is a must, though, an ad-hoc solution will be required. [http://python-ogre.org/ Python-Ogre] is a possibility, however loading current-generation VS resources into Python-Ogre may be nontrivial.&lt;br /&gt;
* '''XML parsing''': Since the engine already uses classes specifically designed for XML parsing and editing, and since we want perfect correlation between how the various tools process a file and how the engine does (ie: the same set of XML namespace extensions), we'll be relying on said XML parsing implementation exposed to python as an external module.&lt;/div&gt;</summary>
		<author><name>klauss</name></author>	</entry>

	</feed>