<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.eduke32.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=OffCharacter</id>
	<title>EDukeWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.eduke32.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=OffCharacter"/>
	<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/wiki/Special:Contributions/OffCharacter"/>
	<updated>2026-05-20T18:52:45Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.47.0-alpha</generator>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Defineprojectile&amp;diff=6504</id>
		<title>Defineprojectile</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Defineprojectile&amp;diff=6504"/>
		<updated>2008-02-10T09:38:09Z</updated>

		<summary type="html">&lt;p&gt;OffCharacter: added a note about PROJECTILE_FLAG_RPG_IMPACT and ifwasweapon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;defineprojectile &amp;lt;tilenum&amp;gt; &amp;lt;function&amp;gt; &amp;lt;value&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Defines a projectile to be fired by the [[shoot]] command and its variants.&lt;br /&gt;
&lt;br /&gt;
To use this command, several things must be done.  First, include the following defines somewhere before your defineprojectile lines:&lt;br /&gt;
&lt;br /&gt;
 define [[PROJ_WORKSLIKE]] 1&lt;br /&gt;
 define [[PROJ_SPAWNS]] 2&lt;br /&gt;
 define [[PROJ_SXREPEAT]] 3&lt;br /&gt;
 define [[PROJ_SYREPEAT]] 4&lt;br /&gt;
 define [[PROJ_SOUND]] 5&lt;br /&gt;
 define [[PROJ_ISOUND]] 6&lt;br /&gt;
 define [[PROJ_VEL]] 7&lt;br /&gt;
 define [[PROJ_EXTRA]] 8&lt;br /&gt;
 define [[PROJ_DECAL]] 9&lt;br /&gt;
 define [[PROJ_TRAIL]] 10&lt;br /&gt;
 define [[PROJ_TXREPEAT]] 11&lt;br /&gt;
 define [[PROJ_TYREPEAT]] 12&lt;br /&gt;
 define [[PROJ_TOFFSET]] 13&lt;br /&gt;
 define [[PROJ_TNUM]] 14&lt;br /&gt;
 define [[PROJ_DROP]] 15&lt;br /&gt;
 define [[PROJ_CSTAT]] 16&lt;br /&gt;
 define [[PROJ_CLIPDIST]] 17&lt;br /&gt;
 define [[PROJ_SHADE]] 18&lt;br /&gt;
 define [[PROJ_XREPEAT]] 19&lt;br /&gt;
 define [[PROJ_YREPEAT]] 20&lt;br /&gt;
 define [[PROJ_PAL]] 21&lt;br /&gt;
 define [[PROJ_EXTRA_RAND]] 22&lt;br /&gt;
 define [[PROJ_HITRADIUS]] 23&lt;br /&gt;
 define [[PROJ_VEL_MULT]] 24&lt;br /&gt;
 define [[PROJ_OFFSET]] 25&lt;br /&gt;
 define [[PROJ_BOUNCES]] 26&lt;br /&gt;
 define [[PROJ_BSOUND]] 27&lt;br /&gt;
 define [[PROJ_RANGE]] 28&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Second, we must figure out a proper WORKSLIKE flag for our projectile.  The WORKSLIKE flag can be determined by looking at the following defines:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 define [[PROJECTILE_FLAG_BULLET]] 			1&lt;br /&gt;
 define [[PROJECTILE_FLAG_RPG]] 			2&lt;br /&gt;
 define [[PROJECTILE_FLAG_BOUNCESOFFWALLS]] 		4&lt;br /&gt;
 define [[PROJECTILE_FLAG_BOUNCESOFFMIRRORS]]	8&lt;br /&gt;
 define [[PROJECTILE_FLAG_KNEE]] 			16&lt;br /&gt;
 define [[PROJECTILE_FLAG_WATERBUBBLES]] 		32&lt;br /&gt;
 define [[PROJECTILE_FLAG_TIMED]] 			64&lt;br /&gt;
 define [[PROJECTILE_FLAG_NOENEMYHITS]] 		128&lt;br /&gt;
 define [[PROJECTILE_FLAG_SPIT]] 			256&lt;br /&gt;
 define [[PROJECTILE_FLAG_COOLEXPLOSION1]] 		512&lt;br /&gt;
 define [[PROJECTILE_FLAG_BLOOD]] 			1024&lt;br /&gt;
 define [[PROJECTILE_FLAG_LOSESVELOCITY]] 		2048&lt;br /&gt;
 define [[PROJECTILE_FLAG_NOAIM]] 			4096&lt;br /&gt;
 define [[PROJECTILE_FLAG_RANDDECALSIZE]] 		8192&lt;br /&gt;
 define [[PROJECTILE_FLAG_EXPLODEONTIMER]] 		16384&lt;br /&gt;
 define [[PROJECTILE_FLAG_RPG_IMPACT]]		32768&lt;br /&gt;
 define [[PROJECTILE_FLAG_RADIUS_PICNUM]]		65536&lt;br /&gt;
 define [[PROJECTILE_FLAG_ACCURATE_AUTOAIM]]		131072&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To determine the proper WORKSLIKE flag for your projectile, simply add the numbers for the various functions you&#039;d like your projectile to have together.  Obviously, some flags are not compatible.  Note that either [[PROJECTILE_FLAG_BULLET]], [[PROJECTILE_FLAG_RPG]] or [[PROJECTILE_FLAG_KNEE]] must be part of your WORKSLIKE flag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is an example of a working user-defined projectile:&lt;br /&gt;
&lt;br /&gt;
 defineprojectile 1653 [[PROJ_WORKSLIKE]] 6150&lt;br /&gt;
 defineprojectile 1653 [[PROJ_SPAWNS]] EXPLOSION2&lt;br /&gt;
 defineprojectile 1653 [[PROJ_VEL]] 1000&lt;br /&gt;
 defineprojectile 1653 [[PROJ_EXTRA]] 300&lt;br /&gt;
 defineprojectile 1653 [[PROJ_DROP]] -200&lt;br /&gt;
 defineprojectile 1653 [[PROJ_ISOUND]] PIPEBOMB_EXPLODE&lt;br /&gt;
 defineprojectile 1653 [[PROJ_HITRADIUS]] 2560&lt;br /&gt;
 defineprojectile 1653 [[PROJ_BOUNCES]] 5&lt;br /&gt;
 defineprojectile 1653 [[PROJ_OFFSET]] 224&lt;br /&gt;
 defineprojectile 1653 [[PROJ_CLIPDIST]] 24&lt;br /&gt;
 defineprojectile 1653 [[PROJ_TRAIL]] SMALLSMOKE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this example, the projectile has the following WORKSLIKE flags set: PROJECTILE_FLAG_NOAIM, PROJECTILE_FLAG_LOSESVELOCITY, PROJECTILE_FLAG_RPG and PROJECTILE_FLAG_BOUNCESOFFWALLS.  This gives us an RPG-like projectile that doesn&#039;t automatically aim at enemies/players (we need this because the projectile in question fires in an arc), automatically slows down during flight, fires like an RPG and bounces off the walls.&lt;br /&gt;
&lt;br /&gt;
Please take care not to set a projectile&#039;s velocity over 1000.  Instead, set PROJ_VELMULT and a lower PROJ_VEL.&lt;br /&gt;
&lt;br /&gt;
To be able to use the [[ifwasweapon]] with custom RPG-type projectiles ([[PROJ_WORKSLIKE]] includes bit 2), make sure to include the [[PROJECTILE_FLAG_RPG_IMPACT]] flag (32768) in [[PROJ_WORKSLIKE]].&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 specific commands]]&lt;br /&gt;
[[Category:Projectile manipulation]]&lt;/div&gt;</summary>
		<author><name>OffCharacter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=PROJECTILE_BOUNCESOFFSPRITES&amp;diff=5690</id>
		<title>PROJECTILE BOUNCESOFFSPRITES</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=PROJECTILE_BOUNCESOFFSPRITES&amp;diff=5690"/>
		<updated>2006-11-11T20:17:23Z</updated>

		<summary type="html">&lt;p&gt;OffCharacter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Setting this flag in the [[PROJ_WORKSLIKE]] variable will disallow the projectile from causing damage to any other actor other than the player.&lt;/div&gt;</summary>
		<author><name>OffCharacter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=PROJ_BOUNCES&amp;diff=5689</id>
		<title>PROJ BOUNCES</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=PROJ_BOUNCES&amp;diff=5689"/>
		<updated>2006-11-11T20:15:25Z</updated>

		<summary type="html">&lt;p&gt;OffCharacter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Number of times the projectile will bounce off of walls before destruction.  Will only count wall bounces even if [[PROJECTILE_FLAG_NOENEMYHITS]] is included in the [[PROJ_WORKSLIKE]] flag.&lt;br /&gt;
Only works for RPG-like projectiles.&lt;/div&gt;</summary>
		<author><name>OffCharacter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=PROJ_OFFSET&amp;diff=5688</id>
		<title>PROJ OFFSET</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=PROJ_OFFSET&amp;diff=5688"/>
		<updated>2006-11-11T20:10:59Z</updated>

		<summary type="html">&lt;p&gt;OffCharacter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sets the X-Offset of the projectile fired.  As numbers get higher, the Projectile&#039;s initial position will move further to the left.&lt;/div&gt;</summary>
		<author><name>OffCharacter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=PROJ_OFFSET&amp;diff=5687</id>
		<title>PROJ OFFSET</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=PROJ_OFFSET&amp;diff=5687"/>
		<updated>2006-11-11T20:09:29Z</updated>

		<summary type="html">&lt;p&gt;OffCharacter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sets the X-Offset of the projectile fired.  As numbers get higher, the Projectile moves more to the player&#039;s left.&lt;/div&gt;</summary>
		<author><name>OffCharacter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=PROJ_TOFFSET&amp;diff=5686</id>
		<title>PROJ TOFFSET</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=PROJ_TOFFSET&amp;diff=5686"/>
		<updated>2006-11-11T20:07:20Z</updated>

		<summary type="html">&lt;p&gt;OffCharacter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Y-Offset of the trail spawned by the PROJ_TRAIL variable.  Positive numbers move the sprite down.&lt;/div&gt;</summary>
		<author><name>OffCharacter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=User:OffCharacter&amp;diff=5683</id>
		<title>User:OffCharacter</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=User:OffCharacter&amp;diff=5683"/>
		<updated>2006-11-11T17:50:40Z</updated>

		<summary type="html">&lt;p&gt;OffCharacter: aka Rex, Death-Rex, DTX Productions, Zone Zero Productions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Been around since &#039;96... under various names...&lt;br /&gt;
Used to run an SST:TC add-on map-pack, but I&#039;ve since been too busy to mess with Duke...&lt;br /&gt;
Now I have a little more time, and I find I still enjoy building with duke, considering it&#039;s pretty much become a free-form, general-purpose game engine now, and the graphics aren&#039;t even that bad anymore.&lt;br /&gt;
&lt;br /&gt;
Stay tuned to see some CONs, Textures, and Maps.&lt;/div&gt;</summary>
		<author><name>OffCharacter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Frequently_Asked_Questions&amp;diff=5682</id>
		<title>Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Frequently_Asked_Questions&amp;diff=5682"/>
		<updated>2006-11-11T17:43:30Z</updated>

		<summary type="html">&lt;p&gt;OffCharacter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Q: When launching EDuke32, I get an error about a missing file called &#039;GAME.CON&#039; or &#039;EDUKE.CON&#039;.  Help!&#039;&#039;&#039;&lt;br /&gt;
:A: It would appear that you haven&#039;t placed a copy of &#039;DUKE3D.GRP&#039; from your &#039;&#039;Duke Nukem 3D&#039;&#039; or &#039;&#039;Duke Nukem 3D: Atomic Edition&#039;&#039; CD into your EDuke32 directory.  Once you place &#039;DUKE3D.GRP&#039; into the same directory as &#039;eduke32.exe&#039;, the game should launch and run fine.  You may also use the shareware version&#039;s &#039;DUKE3D.GRP&#039; as well.&lt;br /&gt;
&lt;br /&gt;
[[Image:Gametab.png|frame|Here is a picture of what the &#039;Game&#039; tab looks like with the shareware, full version 1.3D, full version 1.5, and NAM GRPs available.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: What is the &#039;Game&#039; tab at the startup screen used for?&#039;&#039;&#039;&lt;br /&gt;
:A: The &#039;Game&#039; tab is a feature that allows you to select what GRP file you would like to play. It is recommended to keep the individual .CON files in the seperate GRPs, not loose in the directory. The GRP files have to be exact, without any custom content. The &#039;grpfiles.cache&#039; file is required to use this. It will be automatically generated at game startup. The choices so far:&lt;br /&gt;
&lt;br /&gt;
:* &#039;&#039;Duke Nukem 3D Shareware Version&#039;&#039;&lt;br /&gt;
:* &#039;&#039;Duke Nukem 3D&#039;&#039;&lt;br /&gt;
:* &#039;&#039;Duke Nukem 3D: Atomic Edition&#039;&#039;&lt;br /&gt;
:* &#039;&#039;NAM&#039;&#039; (Note: you must rename GAME.CON from &#039;&#039;NAM&#039;&#039; to NAM.CON)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: When I am playing EDuke32 with 16-bit or 32-bit color, everything has a blue tint! How can I fix this?&#039;&#039;&#039;&lt;br /&gt;
:A: Unfortunately, most people who run into this error are just out of luck.  There are a few things you can do to try and fix this problem:&lt;br /&gt;
&lt;br /&gt;
:* Download the newest drivers for your graphics card&lt;br /&gt;
:* Try a different Windows port of Duke Nukem 3D&lt;br /&gt;
:* Try the most updated release of Eduke32&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Q: How can I acquire a copy of Duke Nukem 3D to run EDuke32?&#039;&#039;&#039;&lt;br /&gt;
:A: You have to purchase the game from the [http://3drealms.stores.yahoo.net/games.html 3D Realm&#039;s Online Store] or another retailer. The Duke Nukem 3D v1.5 [http://www.3drealms.com/downloads.html#duke3d source code] has been released for a while, you can attempt to assemble that, but the easiest way to go is to purchase the game.  DO NOT post or ask anybody at all about where to attain this game illegaly.  Support 3D Realms for making the most awesome game ever, and don&#039;t be a pirate.&lt;br /&gt;
&lt;br /&gt;
[[Category:EDuke32 end-user documentation]]&lt;/div&gt;</summary>
		<author><name>OffCharacter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Joystick_setup&amp;diff=5679</id>
		<title>Joystick setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Joystick_setup&amp;diff=5679"/>
		<updated>2006-11-11T09:11:26Z</updated>

		<summary type="html">&lt;p&gt;OffCharacter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This feature is used when a player wishes to use a joystick/game-pad with the game.&lt;br /&gt;
&lt;br /&gt;
In order to use the joystick properly with EDuke32, you must check the joystick check-box under the configuration tab of the Eduke32 pre-game setup.&lt;br /&gt;
&lt;br /&gt;
After that, you run the game.&lt;br /&gt;
&lt;br /&gt;
To set up the joystick, go to the &#039;&#039;&#039;Options&#039;&#039;&#039; menu then click on &#039;&#039;&#039;Joystick Setup&#039;&#039;&#039; (Note: if this menu is blue, your joystick/game-pad is either not plugged in properly, or you do not have the correct drivers installed.)&lt;br /&gt;
&lt;br /&gt;
Under joystick setup there are several menus available.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Setup Buttons&#039;&#039;&#039; allows you to assign the various controls to the buttons on your joystick/game-pad.&lt;br /&gt;
&#039;&#039;&#039;Edit Axes&#039;&#039;&#039; allows you to assign basic movement parameters and/or digital controls to your joystick&#039;s X and Y axes, and Rudder and Throttle axes (on most game pads, X and Y is the left analog joystick and Rudder is the right analog joystick&#039;s X axis and Throttle is the Y axis.)  The basic movement types are &#039;&#039;Strafing, Looking Up and Down, Movement&#039;&#039; and &#039;&#039;Turning.&#039;&#039; There are also controls to control the sensitivity of the axis. (Note: with my personal experience with a game-pad, the strafing function has acted ridiculously sensitive and may be hard to control, so it may be wise to set the sensitivity on the axis that uses the strafing control to something around 0.13.) &#039;&#039;Digital&#039;&#039; controls make the axis function like a button when the pressed in the designated direction.&lt;br /&gt;
&#039;&#039;&#039;Edit Dead-Zones&#039;&#039;&#039; allows you to set up to which angle the axis will be maxed out and cut-off.  There are controls for all four axes possible.&lt;br /&gt;
&lt;br /&gt;
Overall, playing Eduke32 with a game-pad or joystick will change the experience of the game, and it&#039;s always nice to try something new! :)&lt;/div&gt;</summary>
		<author><name>OffCharacter</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Joystick_setup&amp;diff=5678</id>
		<title>Joystick setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Joystick_setup&amp;diff=5678"/>
		<updated>2006-11-11T09:10:53Z</updated>

		<summary type="html">&lt;p&gt;OffCharacter: Teaches the player how to set up a joystick for use with Eduke32&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This feature is used when a player wishes to use a joystick/game-pad with the game.&lt;br /&gt;
&lt;br /&gt;
In order to use the joystick properly with EDuke32, you must check the joystick check-box under the configuration tab of the Eduke32 pre-game setup.&lt;br /&gt;
&lt;br /&gt;
After that, you run the game.&lt;br /&gt;
&lt;br /&gt;
To set up the joystick, go to the &#039;&#039;&#039;Options&#039;&#039;&#039; menu then click on &#039;&#039;&#039;Joystick Setup&#039;&#039;&#039; (Note: if this menu is blue, your joystick/game-pad is either not plugged in properly, or you do not have the correct drivers installed.)&lt;br /&gt;
&lt;br /&gt;
Under joystick setup there are several menus available.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Setup Buttons&#039;&#039;&#039; allows you to assign the various controls to the buttons on your joystick/game-pad.&lt;br /&gt;
&#039;&#039;&#039;Edit Axes&#039;&#039;&#039; allows you to assign basic movement parameters and/or digital controls to your joystick&#039;s X and Y axes, and Rudder and Throttle axes (on most game pads, X and Y is the left analog joystick and Rudder is the right analog joystick&#039;s X axis and Throttle is the Y axis.)  The basic movement types are &#039;&#039;Strafing, Looking Up and Down, &#039;&#039;Movement&#039;&#039; and &#039;&#039;Turning.&#039;&#039; There are also controls to control the sensitivity of the axis. (Note: with my personal experience with a game-pad, the strafing function has acted ridiculously sensitive and may be hard to control, so it may be wise to set the sensitivity on the axis that uses the strafing control to something around 0.13.) &#039;&#039;Digital&#039;&#039; controls make the axis function like a button when the pressed in the designated direction.&lt;br /&gt;
&#039;&#039;&#039;Edit Dead-Zones&#039;&#039;&#039; allows you to set up to which angle the axis will be maxed out and cut-off.  There are controls for all four axes possible.&lt;br /&gt;
&lt;br /&gt;
Overall, playing Eduke32 with a game-pad or joystick will change the experience of the game, and it&#039;s always nice to try something new! :)&lt;/div&gt;</summary>
		<author><name>OffCharacter</name></author>
	</entry>
</feed>