User contributions for Eric Lengyel
Jump to navigation
Jump to search
15 July 2023
- 10:5410:54, 15 July 2023 diff hist 0 N File:Cascades.png No edit summary current
- 10:5310:53, 15 July 2023 diff hist +5,423 N Models and Instanced Worlds Created page with "__NOTOC__ There are two file formats in which scene data can be saved for use in the C4 Engine: # A world file having the <code>.wld</code> extension. # A model file having the <code>.mdl</code> extension. Both of these types of resources can contain just about any kind of scene data, and they can both be loaded into a larger world as instances of the data they contain. This article describes the differences between models and instanced worlds and discusses when one ty..." current
- 10:5210:52, 15 July 2023 diff hist 0 N File:Editor worlds.png No edit summary current
- 10:5210:52, 15 July 2023 diff hist 0 N File:Editor models.png No edit summary current
- 10:5110:51, 15 July 2023 diff hist +5,804 N The C4 Rendering Pipeline Created page with "right|frame|'''Figure 1.''' The major stages of the C4 Engine rendering pipeline. The C4 Engine executes a complex sequence of rendering operations during each frame of gameplay. This article gives a high-level overview of the various components of the C4 Engine rendering pipeline so that users of the engine, having some knowledge of its internal processes, can achieve more efficient results. The following sections describe the rendering stages exec..." current
- 10:5110:51, 15 July 2023 diff hist 0 N File:Pipeline.png No edit summary current
- 10:4910:49, 15 July 2023 diff hist +11,453 N Defining a Custom Method Created page with "In the C4 Engine, a ''method'' refers to an individual action that can appear in a script. There are many types of methods built into the engine, and an application can define its own custom methods by implementing new subclasses of the [http://c4engine.com/docs/Controller/Method.html Method] class. == Defining a Method Subclass == In this article, we will use the example of a method called <code>ChangeLightColorMethod</code> that simply changes the color of a light so..."
- 10:4810:48, 15 July 2023 diff hist +12,829 N Defining a Custom Controller Created page with "In the C4 Engine, a ''controller'' is attached to a node to give it some kind of dynamic behavior. A controller is represented by a subclass of the [http://c4engine.com/docs/Controller/Controller.html <code>Controller</code>] class and contains all of the information needed to move or change an object in some way. It is often the case that a controller is assigned to a node and configured in the World Editor under the Controller tab in the Node Info window. == Defining..."
- 10:4610:46, 15 July 2023 diff hist +2,057 N Distribution Controller Created page with "__NOTOC__ The '''Distribution Controller''' is a special type of controller that forwards the messages it receives to other controllers. This can be useful for performing the same action on multiple nodes in the world using only a single script method. If the target of a script method has a Distribution Controller attached to it, then it's as if the same script method were applied to all of the nodes to which the distribution controller forwards its messages. As an exam..." current
- 10:4610:46, 15 July 2023 diff hist +1,728 N Animation Controller Created page with "__NOTOC__ The '''Animation Controller''' is a type of controller that can be used to play animations for a generic model. == Settings == The following settings are available for Animation Controllers. {| {{Table}} {{Tablehead|Setting|Description}} |- {{Setting|'''Initial animation name'''|The name of the animation resource that is initially applied to the model.}} |- {{Setting|'''Animation is initially playing'''|If checked, then the animation is initially playing whe..." current
- 10:4510:45, 15 July 2023 diff hist +1,426 N Physics Controller Created page with "__NOTOC__ The '''Physics Controller''' is a type of controller that represents the global physics simulation. The Physics Controller is built into the core engine, and automatically assigned to the Physics Node when it is placed in the scene. A single Physics Node should be placed in any world that uses the built-in physics simulation by using the tool in the Physics Page. == Settings == The following settings are available for Physics Controllers. {| {{Table}} {{..." current
- 10:4510:45, 15 July 2023 diff hist +2,971 N Rigid Body Controller Created page with "__NOTOC__ The '''Rigid Body Controller''' is a type of controller that represents a rigid body in a physics simulation. The Rigid Body Controller is built into the core engine, and it's used for all solid objects that move under the control of the built-in physics system. == Settings == The following settings are available for Rigid Body Controllers. {| {{Table}} {{Tablehead|Setting|Description}} |- {{HeadingSetting|'''Rigid Body Flags'''|}} |- {{Setting|'''..." current
- 10:4410:44, 15 July 2023 diff hist 0 N Category:Physics Created blank page current
- 10:4410:44, 15 July 2023 diff hist 0 N Category:Controllers Created blank page current
- 10:4410:44, 15 July 2023 diff hist +5,491 N Cloth Controller Created page with "__NOTOC__ The '''Cloth Controller''' is the type of controller assigned to a dynamic cloth geometry. The Cloth Controller is built into the core engine, and it is part of the Physics Manager. == Settings == The following settings are available for Cloth Controllers. {| {{Table}} {{Tablehead|Setting|Description}} |- {{HeadingSetting|'''Deformable Body Flags'''|}} |- {{Setting|'''Ignore force fields'''|If checked, then force fields do not affect this..." current
- 10:4310:43, 15 July 2023 diff hist +5,041 N Rope Controller Created page with "__NOTOC__ The '''Rope Controller''' is the type of controller assigned to a dynamic rope geometry. The Rope Controller is built into the core engine, and it is part of the Physics Manager. == Settings == The following settings are available for Rope Controllers. {| {{Table}} {{Tablehead|Setting|Description}} |- {{HeadingSetting|'''Deformable Body Flags'''|}} |- {{Setting|'''Ignore force fields'''|If checked, then force fields do not affect this rop..." current
- 10:4310:43, 15 July 2023 diff hist +2,788 N Spin Controller Created page with "__NOTOC__ The '''Spin Controller''' is a type of controller that causes a node to continuously spin about a particular axis. The Spin Controller is built into the core engine, and it is one of four ''kinematic'' controllers that cause an object to follow an exact motion. Rigid bodies controlled by the Physics Manager are able to interact with kinematic objects, but they cannot stop kinematic objects or alter their motions. A kinematic object pushes rigid bodies out of it..." current
- 10:4210:42, 15 July 2023 diff hist +3,388 N Rotation Controller Created page with "__NOTOC__ The '''Rotation Controller''' is a type of controller that causes a node to rotate forward or backward through a given angle. The Rotation Controller is built into the core engine, and it is one of four ''kinematic'' controllers that cause an object to follow an exact motion. Rigid bodies controlled by the Physics Manager are able to interact with kinematic objects, but they cannot stop kinematic objects or alter their motions. A kinematic object pushes rigid b..." current
- 10:4210:42, 15 July 2023 diff hist +2,960 N Oscillation Controller Created page with "__NOTOC__ The '''Oscillation Controller''' is a type of controller that causes a node to oscillate between two positions on a sine wave. The Oscillation Controller is built into the core engine, and it is one of four ''kinematic'' controllers that cause an object to follow an exact motion. Rigid bodies controlled by the Physics Manager are able to interact with kinematic objects, but they cannot stop kinematic objects or alter their motions. A kinematic object pushes rig..." current
- 10:4010:40, 15 July 2023 diff hist +239 N Template:Setting Created page with "| style="vertical-align: top; background-color: #F6F6F6; border: solid 1px #444; padding: 2px 24px 2px 6px;" | {{{1}}} | style="vertical-align: top; background-color: #F6F6F6; border: solid 1px #444; padding: 2px 6px 2px 6px;" | {{{2}}}" current
- 10:4010:40, 15 July 2023 diff hist +418 N Template:HeadingSetting Created page with "| style="vertical-align: top; background-color: #E8E8E8; border-left: solid 1px #444; border-right: solid 1px #444; border-top: solid 2px #444; border-bottom: solid 2px #444; padding: 2px 24px 2px 6px;" | {{{1}}} | style="vertical-align: top; background-color: #E8E8E8; border-left: solid 1px #444; border-right: solid 1px #444; border-top: solid 2px #444; border-bottom: solid 2px #444; padding: 2px 6px 2px 6px;" |" current
- 10:4010:40, 15 July 2023 diff hist +3,273 N Movement Controller Created page with "__NOTOC__ The '''Movement Controller''' is a type of controller that causes a node to move forward and backward between two positions. The Movement Controller is built into the core engine, and it is one of four ''kinematic'' controllers that cause an object to follow an exact motion. Rigid bodies controlled by the Physics Manager are able to interact with kinematic objects, but they cannot stop kinematic objects or alter their motions. A kinematic object pushes rigid bo..." current
- 10:3910:39, 15 July 2023 diff hist +1,512 N String Tables Created page with "'''String tables''' are used by the C4 Engine to store human-readable text strings in resources that are external to the engine code and game code. The use of string tables is not required, but they can be convenient for storing strings separately in order to make localization easy and allow text to be changed without the need to recompile your game. == String Table Resources == String table resources have the <code>.str</code> file extension and reside inside subfolde..." current
- 10:3810:38, 15 July 2023 diff hist +1,325 N File Locations Created page with "The following table lists the locations where certain types of files created by the C4 Engine are stored under Windows. {| {{Table}} {{Tablehead|File Type|File Location}} |- {{Tablerow|Log file|<code>C:\Users\''<username>''\AppData\Local\C4 Engine\</code>}} |- {{Tablerow|Configuration files|<code>C:\Users\<username>\AppData\Roaming\C4 Engine\</code>}} |- {{Tablerow|Screenshots and saved games|<code>C:\Users\<username>\Documents\C4 Engine\</code>}}..." current
- 10:3610:36, 15 July 2023 diff hist +3,269 N Pack Files and Virtual Directories Created page with "The Resource Manager supports pack files and a virtual directory hierarchy. All resources are stored inside the <code>Data</code> folder, where resources can be organized in an arbitrary manner. However, the top-level contents of the <code>Data</code> folder have special meanings. All of the top-level sub-folders of the <code>Data</code> folder behave as if their contents belonged to a single virtual folder at the root of the resource name space. These top-level subfold..." current
- 10:3510:35, 15 July 2023 diff hist +11,117 N Command Console Created page with "480px|right The '''Command Console''' window can be opened at any time by pressing the tilde/grave key. (On some non-English keyboards, the key directly below the Escape key should be used.) The window displays a command line and an output buffer as shown in the image to the right. If the C4 Engine was built using the debug settings, the window displays "(Debug)" to the right of the build number. The console stores a small command history that can b..."
- 10:3210:32, 15 July 2023 diff hist 0 N File:Console.png No edit summary current
- 10:3010:30, 15 July 2023 diff hist +239 N Template:Tablerow Created page with "| style="vertical-align: top; background-color: #F6F6F6; border: solid 1px #444; padding: 2px 24px 2px 6px;" | {{{1}}} | style="vertical-align: top; background-color: #F6F6F6; border: solid 1px #444; padding: 2px 6px 2px 6px;" | {{{2}}}" current
- 10:3010:30, 15 July 2023 diff hist +341 N Template:Tablehead Created page with "| style="font-weight: bold; vertical-align: top; background-color: #80C8FF; border: solid 1px #444; border-bottom: solid 2px black; padding: 2px 24px 2px 6px;" | {{{1}}} | style="font-weight: bold; vertical-align: top; background-color: #80C8FF; border: solid 1px #444; border-bottom: solid 2px black; padding: 2px 6px 2px 6px;" | {{{2}}}" current
- 10:3010:30, 15 July 2023 diff hist +4,160 N C4 Menu Created page with "The '''C4 Menu''' is opened by clicking on the skull logo in the bottom-left corner of the screen. It contains several commands that are built into the core engine as well as commands that access the plugin tools. Most of these menu commands also have equivalent console commands that can be typed into the Command Console. {| {{Table}} {{Tablehead|Command|Description}} |- {{Tablerow|'''New World'''|Opens the World Editor with a new blank world. You can type..." current
- 10:2610:26, 15 July 2023 diff hist +1,513 N Release Notes for Version 7.1 Created page with "__NOTOC__ '''Release date:''' April 24, 2023 == Core Engine == * Luminance and chromaticity have been separated for most things that emit light. This applies to light sources, emission attributes, and several special effects. This essentially allows color to be chosen independently of brightness, which can be much higher than 1.0. Brightness is now measured in physical quantities appropriate for the type of object. Infinite lights have illuminance measured in kilolux (..."
- 10:2510:25, 15 July 2023 diff hist +5,282 N Release Notes for Version 7.0 Created page with "__NOTOC__ '''Release date:''' March 22, 2023 == Core Engine == * The <code>Color4C</code> class has been renamed to [http://c4engine.com/docs/Math/Color4U.html <code>Color4U</code>] to reflect the fact that it has unsigned components. There are also new classes called [http://c4engine.com/docs/Math/Color2U.html <code>Color2U</code>], [http://c4engine.com/docs/Math/Color2S.html <code>Color2S</code>], and [http://c4engine.com/docs/Math/Color4S.html <code>Color4S</code>],..." current
- 10:2410:24, 15 July 2023 diff hist +4,179 N Release Notes for Version 6.9 Created page with "__NOTOC__ '''Release date:''' November 2, 2018 (C4 version 6.9 corresponds to Tombstone version 2.9.) * The file formats have been updated a little bit in this version. While it's not a requirement, you ''may'' upgrade your resources to the newer formats by typing <code>updateworlds</code> in the Command Console. '''Always backup your entire Data folder before doing this just in case something goes wrong.''' == Core Engine == * All of the unsigned integer types t..." current
- 10:2310:23, 15 July 2023 diff hist +2,931 N Release Notes for Version 6.5 Created page with "__NOTOC__ '''Release date:''' September 30, 2017 (C4 version 6.5 corresponds to Tombstone version 2.5.) == Core Engine == === Math Library === * The vector and matrix classes have been redesigned and now have new capabilities that promote higher performance and more legible code. * Vector components can now be accessed using the swizzle syntax that's available in shading languages. For example, a 3D vector <code>v</code> can be treated as another 3D vector with its..." current
- 10:2210:22, 15 July 2023 diff hist +757 N Release Notes for Version 6.2 Created page with "__NOTOC__ '''Release date:''' May 11, 2017 (C4 version 6.2 corresponds to Tombstone version 2.2.) == Core Engine == === Graphics Manager === * When the <code>GL_NV_alpha_to_coverage_dither_control</code> extension is available, the engine now disables dithering for alpha to coverage rendering. This gets rid of the unsightly dot pattern sometimes visible in dense alpha-tested vegetation. == Tools == === Model Viewer === * Added a scale factor to the animation impor..." current
- 10:2210:22, 15 July 2023 diff hist +4,579 N Release Notes for Version 6.1 Created page with "__NOTOC__ '''Release date:''' April 29, 2017 (C4 version 6.1 corresponds to Tombstone version 2.1.) == Core Engine == * The project files for Visual Studio have been updated to 2017. == Graphics Manager == * The engine no longer attempts to figure out how fast the GPU is in order to set defaults for all the rendering options. A single set of default options is now used for all GPUs. * By default, the engine now tries to create a 1920×1080 full-screen renderin..." current
- 10:2110:21, 15 July 2023 diff hist +3,230 N Release Notes for Version 6.0 Created page with "__NOTOC__ '''Release date:''' January 27, 2017 (C4 version 6.0 corresponds to Tombstone version 2.0.) == Core Engine == * Support for the Open Data Description Language has been updated to version 2.0. === Graphics Manager === * A few new workarounds have been implemented to deal with subtle bugs in the AMD graphics driver. === Interface Manager === * All text drawing, both in the user interface and in panel effects, now uses our new technology to render glyphs on..." current
- 10:2010:20, 15 July 2023 diff hist +1,219 N Release Notes for Version 5.5.1 Created page with "__NOTOC__ '''Release date:''' December 6, 2016 (C4 version 5.5.1 corresponds to Tombstone version 1.5.1.) == Core Engine == * The API documentation has been corrected in many places to update function names in cross references. === World Manager === * New settings have been added to the Interaction property that let you specify object-space axis and angle constraints that have to be satisfied for an object to appear interactive. The direction that the camera is look..." current
- 10:2010:20, 15 July 2023 diff hist +1,554 N Release Notes for Version 5.5 Created page with "__NOTOC__ '''Release date:''' November 16, 2016 (C4 version 5.5 corresponds to Tombstone version 1.5.) == Core Engine == === Graphics Manager === * This version of the engine contains a workaround that avoids a bug in the current AMD graphics drivers. This has to do with the code that resolves the multisample frame buffer. === Interface Manager === * The appearance of the set of GUI widgets has been updated to be more crisp and to be ready for high DPI displays. Th..." current
- 10:1910:19, 15 July 2023 diff hist +5,188 N Release Notes for Version 5.0 Created page with "__NOTOC__ '''Release date:''' September 20, 2016 (C4 version 5.0 corresponds to Tombstone version 1.0.) == Core Engine == * All C-style casts have been changed to constructor syntax. * The <code>*</code> and <code>%</code> operators for dot product and cross product have been removed from the engine. The <code>Dot()</code> and <code>Cross()</code> functions should always be used instead. * The container modification and iteration functions have been made more verbos..." current
- 10:1910:19, 15 July 2023 diff hist +3,327 N Release Notes for Version 4.5 Created page with "__NOTOC__ '''Release date:''' March 28, 2015 == Core Engine == * The C4 Engine now runs on iOS devices. Separate Xcode project files are included with the engine for those who have a license for mobile development. The C4 Engine currently runs on iOS devices containing an A7 or A8 processor, listed below. ** iPad Air and iPad Air 2 ** iPad Mini with Retina display and iPad Mini 3 ** iPhone 5s and iPhone 6 * Custom properties, controllers, properties, forces, modifiers..." current
- 10:1810:18, 15 July 2023 diff hist +2,683 N Release Notes for Version 4.2 Created page with "__NOTOC__ '''Release date:''' January 11, 2015 == Core Engine == === Graphics Manager === * Screen-space depth derivatives are now stored in the structure buffer along with the existing high-precision linear depth value. This allows for higher quality rendering along depth discontinuities, making effects such as SSAO look better. When motion blur is enabled, screen-space velocities are now stored in a separate render buffer. * Support for the Nvidia driver API has be..." current
- 10:1710:17, 15 July 2023 diff hist +4,467 N Release Notes for Version 4.1 Created page with "__NOTOC__ '''Release date:''' December 25, 2014 == Core Engine == * The format of animation resources has changed in this release in order to accommodate morph weight animation. Existing animation resources need to be updated before they can be used in version 4.1. A conversion utility has been included, and it can be run by typing "updateanims" in the command console. This utility will update all <code>.anm</code> files in the <code>Data</code> directory hierarchy. ''..." current
- 10:1710:17, 15 July 2023 diff hist +18,992 N Release Notes for Version 4.0 Created page with "__NOTOC__ '''Release date:''' October 14, 2014 * Note that version 4.0 may not be able to read world, model, panel, and material resources that were saved in versions earlier than version 3.5. Older resources should be updated using the <code>updateworlds</code> utility in version 3.5.x before using them in version 4.0. * Like version 3.5.x, this release contains a utility that updates world and model resources to the current format...." current
- 10:1610:16, 15 July 2023 diff hist +1,051 N Release Notes for Version 3.5.1 Created page with "__NOTOC__ '''Release date:''' January 22, 2014 * The <code>updateworlds</code> utility included with version 3.5 has been expanded to update panel and material resources in addition to the world and model resources that it previously updated. This utility is run by typing <code>updateworlds</code> in the command console, and it should be run to prepare your resources for version 4.0. '''Note that this will overwrite all existing <code>.wld</code>, <code>.mdl</code>, <co..." current
- 10:1510:15, 15 July 2023 diff hist +17,560 N Release Notes for Version 3.5 Created page with "__NOTOC__ '''Release date:''' January 8, 2014 * This release includes a utility function that automatically updates all world and model resources so that they use the newest format. The engine currently contains a significant amount of code that's necessary to support old formats going back many years, and this code will be removed from version 4.0. It will be necessary to run the update utility in version 3.5 before your world and model resources can be used in version..." current
- 10:1410:14, 15 July 2023 diff hist +15,903 N Release Notes for Version 3.0 Created page with "__NOTOC__ '''Release date:''' July 29, 2013 '''WARNING:''' In version 3.0, all shaders are permanently changed to a new layout when a world is opened. See Shader Editor below. Just in case something goes wrong, please be sure to make a backup of your <code>Data</code> folder before running version 3.0. == Core Engine == * The Visual Studio projects now use shared property sheets to specify build settings. * The <code>ToolCode</code> directory has been removed, and al..." current
- 10:1310:13, 15 July 2023 diff hist +703 N Release Notes for Version 2.10.3 Created page with "__NOTOC__ '''Release date:''' March 31, 2013 * This release several few minor improvements and bug fixes for version 2.10. There are no new features. * A problem that could occur if a resource was requested twice with name strings having different case has been corrected. * The <code>EditTextWidget</code> now automatically sets the text rendering line count when multi-line editing is enabled. * The perspective exclusion mask is now correctly passed through from a pan..." current
- 10:1210:12, 15 July 2023 diff hist +766 N Release Notes for Version 2.10.2 Created page with "__NOTOC__ '''Release date:''' March 7, 2013 * This release several few minor improvements and bug fixes for version 2.10. There are no new features. * A problem with the shader used to render movies with an alpha channel has been corrected. * The collision detection structures have been expanded to handle meshes with a much larger number of triangles, and picking issues for dense meshes have been corrected. * Path control point picking in the World Editor has been im..." current
- 10:1210:12, 15 July 2023 diff hist +498 N Release Notes for Version 2.10.1 Created page with "__NOTOC__ '''Release date:''' December 1, 2012 * This release contains a few minor bug fixes for version 2.10. There are no new features. * Texture coordinates for cloth geometries are now generated by default so that the front and back sides of the cloth match. * Some problems that could occur when a shader is saved in the Shader Editor have been corrected. * Cases in which the text box in a save file picker would not be populated properly when a file name was click..." current