<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.eduke32.com/w/index.php?action=history&amp;feed=atom&amp;title=Packaging_mods</id>
	<title>Packaging mods - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.eduke32.com/w/index.php?action=history&amp;feed=atom&amp;title=Packaging_mods"/>
	<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Packaging_mods&amp;action=history"/>
	<updated>2026-05-22T08:00:32Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.47.0-alpha</generator>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Packaging_mods&amp;diff=13938&amp;oldid=prev</id>
		<title>Rob Anybody: /* DEF entrypoint */</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Packaging_mods&amp;diff=13938&amp;oldid=prev"/>
		<updated>2020-07-30T16:53:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;DEF entrypoint&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:53, 30 July 2020&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-l47&quot;&gt;Line 47:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 47:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  setdefname mymod.def&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  setdefname mymod.def&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;The [[setdefname]] command tells &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Eduke32 &lt;/del&gt;where to find your DEF file.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;The [[setdefname]] command tells &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;EDuke32 &lt;/ins&gt;where to find your DEF file.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note that you could name it whatever you like or put it in a subdirectory&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note that you could name it whatever you like or put it in a subdirectory&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;and adjust the line above as necessary.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;and adjust the line above as necessary.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key edukewiki:diff:1.41:old-13937:rev-13938:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Rob Anybody</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Packaging_mods&amp;diff=13937&amp;oldid=prev</id>
		<title>Rob Anybody: /* DEF entrypoint */</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Packaging_mods&amp;diff=13937&amp;oldid=prev"/>
		<updated>2020-07-30T03:38:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;DEF entrypoint&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:38, 29 July 2020&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-l47&quot;&gt;Line 47:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 47:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  setdefname mymod.def&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  setdefname mymod.def&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;The [setdefname] command tells Eduke32 where to find your DEF file.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;The &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[&lt;/ins&gt;[setdefname&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;] command tells Eduke32 where to find your DEF file.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note that you could name it whatever you like or put it in a subdirectory&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note that you could name it whatever you like or put it in a subdirectory&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;and adjust the line above as necessary.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;and adjust the line above as necessary.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key edukewiki:diff:1.41:old-13936:rev-13937:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Rob Anybody</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Packaging_mods&amp;diff=13936&amp;oldid=prev</id>
		<title>Rob Anybody: /* CON entrypoint */</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Packaging_mods&amp;diff=13936&amp;oldid=prev"/>
		<updated>2020-07-30T03:38:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;CON entrypoint&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:38, 29 July 2020&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-l36&quot;&gt;Line 36:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 36:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &amp;#039;&amp;#039;game.con&amp;#039;&amp;#039; here refers to a file in &amp;#039;&amp;#039;duke3d.grp&amp;#039;&amp;#039;, not a part of your mod.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &amp;#039;&amp;#039;game.con&amp;#039;&amp;#039; here refers to a file in &amp;#039;&amp;#039;duke3d.grp&amp;#039;&amp;#039;, not a part of your mod.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Eduke32 &lt;/del&gt;will automatically load &#039;&#039;eduke.con&#039;&#039; if present, or &#039;&#039;game.con&#039;&#039; if not.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;EDuke32 &lt;/ins&gt;will automatically load &#039;&#039;eduke.con&#039;&#039; if present, or &#039;&#039;game.con&#039;&#039; if not.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Since &amp;#039;&amp;#039;eduke.con&amp;#039;&amp;#039; is loaded in this case, we must load &amp;#039;&amp;#039;game.con&amp;#039;&amp;#039; ourselves.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Since &amp;#039;&amp;#039;eduke.con&amp;#039;&amp;#039; is loaded in this case, we must load &amp;#039;&amp;#039;game.con&amp;#039;&amp;#039; ourselves.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key edukewiki:diff:1.41:old-13935:rev-13936:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Rob Anybody</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Packaging_mods&amp;diff=13935&amp;oldid=prev</id>
		<title>Rob Anybody: Create tutorial on packaging mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Packaging_mods&amp;diff=13935&amp;oldid=prev"/>
		<updated>2020-07-30T03:03:23Z</updated>

		<summary type="html">&lt;p&gt;Create tutorial on packaging mods&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;div class=&amp;quot;floatright&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intro==&lt;br /&gt;
&lt;br /&gt;
This guide outlines a scheme for packaging mods,&lt;br /&gt;
including directory structure, essential files, useful CON commands,&lt;br /&gt;
instructions on launching packaged and unpacked mods,&lt;br /&gt;
and tips for working with version control.&lt;br /&gt;
&lt;br /&gt;
This guide assumes you are modding for EDuke32 on Windows;&lt;br /&gt;
you may need to make adjustments for other games&lt;br /&gt;
or operating systems.&lt;br /&gt;
&lt;br /&gt;
==Unpackaged mods==&lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s possible to test your mod without ever packaging it,&lt;br /&gt;
by placing your files in a subdirectory alongside the EDuke32 executable.&lt;br /&gt;
&lt;br /&gt;
===Mod directory===&lt;br /&gt;
&lt;br /&gt;
First, create a new subdirectory alongside the EDuke32 executable,&lt;br /&gt;
and name it &amp;#039;&amp;#039;mymod&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
All of your mod&amp;#039;s files will live here, including&lt;br /&gt;
CON scripts, DEF files, maps, graphical and audio assets, and so on.&lt;br /&gt;
You can name and organize these in subdirectories as you please,&lt;br /&gt;
with only the following exception.&lt;br /&gt;
&lt;br /&gt;
===CON entrypoint===&lt;br /&gt;
&lt;br /&gt;
Next, create a CON script named &amp;#039;&amp;#039;eduke.con&amp;#039;&amp;#039;&lt;br /&gt;
directly inside of the &amp;#039;&amp;#039;mymod&amp;#039;&amp;#039; directory&lt;br /&gt;
and add the following line:&lt;br /&gt;
&lt;br /&gt;
 include game.con&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;game.con&amp;#039;&amp;#039; here refers to a file in &amp;#039;&amp;#039;duke3d.grp&amp;#039;&amp;#039;, not a part of your mod.&lt;br /&gt;
Eduke32 will automatically load &amp;#039;&amp;#039;eduke.con&amp;#039;&amp;#039; if present, or &amp;#039;&amp;#039;game.con&amp;#039;&amp;#039; if not.&lt;br /&gt;
Since &amp;#039;&amp;#039;eduke.con&amp;#039;&amp;#039; is loaded in this case, we must load &amp;#039;&amp;#039;game.con&amp;#039;&amp;#039; ourselves.&lt;br /&gt;
&lt;br /&gt;
===DEF entrypoint===&lt;br /&gt;
&lt;br /&gt;
Now, create a file called &amp;#039;&amp;#039;mymod.def&amp;#039;&amp;#039; and leave it blank for now.&lt;br /&gt;
This will contain any [[DEF_Language]] instructions your mod needs.&lt;br /&gt;
In &amp;#039;&amp;#039;eduke.con&amp;#039;&amp;#039;, add the following line:&lt;br /&gt;
&lt;br /&gt;
 setdefname mymod.def&lt;br /&gt;
&lt;br /&gt;
The [setdefname] command tells Eduke32 where to find your DEF file.&lt;br /&gt;
Note that you could name it whatever you like or put it in a subdirectory&lt;br /&gt;
and adjust the line above as necessary.&lt;br /&gt;
&lt;br /&gt;
===Episodes and levels===&lt;br /&gt;
&lt;br /&gt;
Finally, fire up Mapster32, create a quick map,&lt;br /&gt;
and save it in &amp;#039;&amp;#039;mymod&amp;#039;&amp;#039; as &amp;#039;&amp;#039;mymap01.map&amp;#039;&amp;#039;.&lt;br /&gt;
Add the following to &amp;#039;&amp;#039;eduke.con&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
 definevolumename 0 Episode One&lt;br /&gt;
 definelevelname 0 0 mymap01.map 01:02 02:03 My Map One&lt;br /&gt;
&lt;br /&gt;
The [[definevolumename]] command&lt;br /&gt;
registers &amp;quot;Episode One&amp;quot; as the name of your first episode.&lt;br /&gt;
The [[definelevelname]] command registers&lt;br /&gt;
the path to the first map of the first episode,&lt;br /&gt;
as well as target completion times and the name of the map.&lt;br /&gt;
&lt;br /&gt;
Again, you could name the map whatever you like,&lt;br /&gt;
or put it in a subdirectory,&lt;br /&gt;
and adjust the line above as necessary.&lt;br /&gt;
&lt;br /&gt;
===Testing your mod===&lt;br /&gt;
&lt;br /&gt;
To launch the mod in its unpackaged form,&lt;br /&gt;
simply run the following command:&lt;br /&gt;
&lt;br /&gt;
 eduke32 -j mymod&lt;br /&gt;
&lt;br /&gt;
If you&amp;#039;re not comfortable working from the command line,&lt;br /&gt;
create a shortcut to eduke32.exe, right click it, select &amp;#039;&amp;#039;Properties&amp;#039;&amp;#039;,&lt;br /&gt;
and edit the &amp;#039;&amp;#039;Target&amp;#039;&amp;#039; field to add &amp;#039;&amp;#039;-j&amp;#039;&amp;#039; at the end:&lt;br /&gt;
&lt;br /&gt;
 C:\path\to\eduke32.exe -j&lt;br /&gt;
&lt;br /&gt;
You can now drag your &amp;#039;&amp;#039;mymod&amp;#039;&amp;#039; folder onto the shortcut to launch it.&lt;br /&gt;
If you want the shortcut to be a dedicated launcher for your mod&lt;br /&gt;
instead of having to drag the folder onto it,&lt;br /&gt;
add &amp;#039;&amp;#039;mymod&amp;#039;&amp;#039; after the &amp;#039;&amp;#039;-j&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Packaging mods==&lt;br /&gt;
&lt;br /&gt;
===The easy way===&lt;br /&gt;
&lt;br /&gt;
To package your mod, simply zip up the contents of &amp;#039;&amp;#039;mymod&amp;#039;&amp;#039;&lt;br /&gt;
using a tool like [https://www.7-zip.org/ 7-Zip].&lt;br /&gt;
Be sure to zip up the contents rather than the directory itself;&lt;br /&gt;
the zip file should not include a directory called &amp;#039;&amp;#039;mymod&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
To test the packaged mod, simply drag the zip file onto the EDuke32 executable.&lt;br /&gt;
&lt;br /&gt;
===The Git way===&lt;br /&gt;
&lt;br /&gt;
Explaining version control is outside the scope of this tutorial,&lt;br /&gt;
but if you&amp;#039;re already using [https://git-scm.com/ Git], you can use&lt;br /&gt;
[https://git-scm.com/docs/git-archive git-archive] to package your mod:&lt;br /&gt;
&lt;br /&gt;
 # after committing everything...&lt;br /&gt;
 git archive HEAD -o ../mymod.zip&lt;br /&gt;
&lt;br /&gt;
This will keep Git&amp;#039;s dotfiles from getting packaged,&lt;br /&gt;
as well as anything listed in &amp;#039;&amp;#039;.gitignore&amp;#039;&amp;#039;&lt;br /&gt;
or having the &amp;#039;&amp;#039;export-ignore&amp;#039;&amp;#039; attribute.&lt;/div&gt;</summary>
		<author><name>Rob Anybody</name></author>
	</entry>
</feed>