Documentation update
- updated Doxyfile - added/changed file, dir and namespace descriptions - fixed some errors in doxygen tagsdev-ui
parent
7f80ca2971
commit
1996507fd3
94
Doxyfile
94
Doxyfile
|
@ -1,14 +1,14 @@
|
||||||
# Doxyfile 1.8.0
|
# Doxyfile 1.8.1.2
|
||||||
|
|
||||||
# This file describes the settings to be used by the documentation system
|
# This file describes the settings to be used by the documentation system
|
||||||
# doxygen (www.doxygen.org) for a project
|
# doxygen (www.doxygen.org) for a project.
|
||||||
#
|
#
|
||||||
# All text after a hash (#) is considered a comment and will be ignored
|
# All text after a hash (#) is considered a comment and will be ignored.
|
||||||
# The format is:
|
# The format is:
|
||||||
# TAG = value [value, ...]
|
# TAG = value [value, ...]
|
||||||
# For lists items can also be appended using:
|
# For lists items can also be appended using:
|
||||||
# TAG += value [value, ...]
|
# TAG += value [value, ...]
|
||||||
# Values that contain spaces should be placed between quotes (" ")
|
# Values that contain spaces should be placed between quotes (" ").
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Project related configuration options
|
# Project related configuration options
|
||||||
|
@ -372,8 +372,7 @@ EXTRACT_ALL = NO
|
||||||
|
|
||||||
EXTRACT_PRIVATE = NO
|
EXTRACT_PRIVATE = NO
|
||||||
|
|
||||||
# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
|
# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation.
|
||||||
# scope will be included in the documentation.
|
|
||||||
|
|
||||||
EXTRACT_PACKAGE = NO
|
EXTRACT_PACKAGE = NO
|
||||||
|
|
||||||
|
@ -564,12 +563,6 @@ MAX_INITIALIZER_LINES = 30
|
||||||
|
|
||||||
SHOW_USED_FILES = YES
|
SHOW_USED_FILES = YES
|
||||||
|
|
||||||
# If the sources in your project are distributed over multiple directories
|
|
||||||
# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
|
|
||||||
# in the documentation. The default is NO.
|
|
||||||
|
|
||||||
SHOW_DIRECTORIES = NO
|
|
||||||
|
|
||||||
# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
|
# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
|
||||||
# This will remove the Files entry from the Quick Index and from the
|
# This will remove the Files entry from the Quick Index and from the
|
||||||
# Folder Tree View (if specified). The default is YES.
|
# Folder Tree View (if specified). The default is YES.
|
||||||
|
@ -577,7 +570,8 @@ SHOW_DIRECTORIES = NO
|
||||||
SHOW_FILES = YES
|
SHOW_FILES = YES
|
||||||
|
|
||||||
# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
|
# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
|
||||||
# Namespaces page. This will remove the Namespaces entry from the Quick Index
|
# Namespaces page.
|
||||||
|
# This will remove the Namespaces entry from the Quick Index
|
||||||
# and from the Folder Tree View (if specified). The default is YES.
|
# and from the Folder Tree View (if specified). The default is YES.
|
||||||
|
|
||||||
SHOW_NAMESPACES = YES
|
SHOW_NAMESPACES = YES
|
||||||
|
@ -594,7 +588,7 @@ FILE_VERSION_FILTER =
|
||||||
|
|
||||||
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
|
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
|
||||||
# by doxygen. The layout file controls the global structure of the generated
|
# by doxygen. The layout file controls the global structure of the generated
|
||||||
# output files in an output format independent way. The create the layout file
|
# output files in an output format independent way. To create the layout file
|
||||||
# that represents doxygen's defaults, run doxygen with the -l option.
|
# that represents doxygen's defaults, run doxygen with the -l option.
|
||||||
# You can optionally specify a file name after the option, if omitted
|
# You can optionally specify a file name after the option, if omitted
|
||||||
# DoxygenLayout.xml will be used as the name of the layout file.
|
# DoxygenLayout.xml will be used as the name of the layout file.
|
||||||
|
@ -630,7 +624,7 @@ WARNINGS = YES
|
||||||
# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
|
# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
|
||||||
# automatically be disabled.
|
# automatically be disabled.
|
||||||
|
|
||||||
WARN_IF_UNDOCUMENTED = YES
|
WARN_IF_UNDOCUMENTED = NO
|
||||||
|
|
||||||
# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
|
# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
|
||||||
# potential errors in the documentation, such as not documenting some
|
# potential errors in the documentation, such as not documenting some
|
||||||
|
@ -671,7 +665,8 @@ WARN_LOGFILE =
|
||||||
# directories like "/usr/src/myproject". Separate the files or directories
|
# directories like "/usr/src/myproject". Separate the files or directories
|
||||||
# with spaces.
|
# with spaces.
|
||||||
|
|
||||||
INPUT = "src" "src/CBot" "src/doc"
|
INPUT = "src" \
|
||||||
|
"src/CBot"
|
||||||
|
|
||||||
# This tag can be used to specify the character encoding of the source files
|
# This tag can be used to specify the character encoding of the source files
|
||||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
||||||
|
@ -690,7 +685,8 @@ INPUT_ENCODING = UTF-8
|
||||||
# *.f90 *.f *.for *.vhd *.vhdl
|
# *.f90 *.f *.for *.vhd *.vhdl
|
||||||
|
|
||||||
FILE_PATTERNS = *.h \
|
FILE_PATTERNS = *.h \
|
||||||
*.cpp
|
*.cpp \
|
||||||
|
README.txt
|
||||||
|
|
||||||
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
|
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
|
||||||
# should be searched for input files as well. Possible values are YES and NO.
|
# should be searched for input files as well. Possible values are YES and NO.
|
||||||
|
@ -704,7 +700,8 @@ RECURSIVE = YES
|
||||||
# Note that relative paths are relative to the directory from which doxygen is
|
# Note that relative paths are relative to the directory from which doxygen is
|
||||||
# run.
|
# run.
|
||||||
|
|
||||||
EXCLUDE = "src/old" "src/metafile"
|
EXCLUDE = "src/old" \
|
||||||
|
"src/metafile"
|
||||||
|
|
||||||
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
|
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
|
||||||
# directories that are symbolic links (a Unix file system feature) are excluded
|
# directories that are symbolic links (a Unix file system feature) are excluded
|
||||||
|
@ -759,14 +756,17 @@ IMAGE_PATH =
|
||||||
# by executing (via popen()) the command <filter> <input-file>, where <filter>
|
# by executing (via popen()) the command <filter> <input-file>, where <filter>
|
||||||
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
|
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
|
||||||
# input file. Doxygen will then use the output that the filter program writes
|
# input file. Doxygen will then use the output that the filter program writes
|
||||||
# to standard output. If FILTER_PATTERNS is specified, this tag will be
|
# to standard output.
|
||||||
|
# If FILTER_PATTERNS is specified, this tag will be
|
||||||
# ignored.
|
# ignored.
|
||||||
|
|
||||||
INPUT_FILTER =
|
INPUT_FILTER =
|
||||||
|
|
||||||
# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
|
# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
|
||||||
# basis. Doxygen will compare the file name with each pattern and apply the
|
# basis.
|
||||||
# filter if there is a match. The filters are a list of the form:
|
# Doxygen will compare the file name with each pattern and apply the
|
||||||
|
# filter if there is a match.
|
||||||
|
# The filters are a list of the form:
|
||||||
# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
|
# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
|
||||||
# info on how filters are used. If FILTER_PATTERNS is empty or if
|
# info on how filters are used. If FILTER_PATTERNS is empty or if
|
||||||
# non of the patterns match the file name, INPUT_FILTER is applied.
|
# non of the patterns match the file name, INPUT_FILTER is applied.
|
||||||
|
@ -805,7 +805,7 @@ INLINE_SOURCES = NO
|
||||||
|
|
||||||
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
|
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
|
||||||
# doxygen to hide any special comment blocks from generated source code
|
# doxygen to hide any special comment blocks from generated source code
|
||||||
# fragments. Normal C and C++ comments will always remain visible.
|
# fragments. Normal C, C++ and Fortran comments will always remain visible.
|
||||||
|
|
||||||
STRIP_CODE_COMMENTS = YES
|
STRIP_CODE_COMMENTS = YES
|
||||||
|
|
||||||
|
@ -824,7 +824,8 @@ REFERENCES_RELATION = NO
|
||||||
# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
|
# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
|
||||||
# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
|
# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
|
||||||
# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
|
# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
|
||||||
# link to the source code. Otherwise they will link to the documentation.
|
# link to the source code.
|
||||||
|
# Otherwise they will link to the documentation.
|
||||||
|
|
||||||
REFERENCES_LINK_SOURCE = YES
|
REFERENCES_LINK_SOURCE = YES
|
||||||
|
|
||||||
|
@ -889,7 +890,7 @@ HTML_FILE_EXTENSION = .html
|
||||||
# The HTML_HEADER tag can be used to specify a personal HTML header for
|
# The HTML_HEADER tag can be used to specify a personal HTML header for
|
||||||
# each generated HTML page. If it is left blank doxygen will generate a
|
# each generated HTML page. If it is left blank doxygen will generate a
|
||||||
# standard header. Note that when using a custom header you are responsible
|
# standard header. Note that when using a custom header you are responsible
|
||||||
# for the proper inclusion of any scripts and style sheets that doxygen
|
# for the proper inclusion of any scripts and style sheets that doxygen
|
||||||
# needs, which is dependent on the configuration options used.
|
# needs, which is dependent on the configuration options used.
|
||||||
# It is advised to generate a default header using "doxygen -w html
|
# It is advised to generate a default header using "doxygen -w html
|
||||||
# header.html footer.html stylesheet.css YourConfigFile" and then modify
|
# header.html footer.html stylesheet.css YourConfigFile" and then modify
|
||||||
|
@ -954,20 +955,23 @@ HTML_COLORSTYLE_GAMMA = 80
|
||||||
|
|
||||||
HTML_TIMESTAMP = YES
|
HTML_TIMESTAMP = YES
|
||||||
|
|
||||||
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
|
|
||||||
# files or namespaces will be aligned in HTML using tables. If set to
|
|
||||||
# NO a bullet list will be used.
|
|
||||||
|
|
||||||
HTML_ALIGN_MEMBERS = YES
|
|
||||||
|
|
||||||
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
|
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
|
||||||
# documentation will contain sections that can be hidden and shown after the
|
# documentation will contain sections that can be hidden and shown after the
|
||||||
# page has loaded. For this to work a browser that supports
|
# page has loaded.
|
||||||
# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
|
|
||||||
# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
|
|
||||||
|
|
||||||
HTML_DYNAMIC_SECTIONS = NO
|
HTML_DYNAMIC_SECTIONS = NO
|
||||||
|
|
||||||
|
# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of
|
||||||
|
# entries shown in the various tree structured indices initially; the user
|
||||||
|
# can expand and collapse entries dynamically later on. Doxygen will expand
|
||||||
|
# the tree to such a level that at most the specified number of entries are
|
||||||
|
# visible (unless a fully collapsed tree already exceeds this amount).
|
||||||
|
# So setting the number of entries 1 will produce a full collapsed tree by
|
||||||
|
# default. 0 is a special value representing an infinite number of entries
|
||||||
|
# and will result in a full expanded tree by default.
|
||||||
|
|
||||||
|
HTML_INDEX_NUM_ENTRIES = 100
|
||||||
|
|
||||||
# If the GENERATE_DOCSET tag is set to YES, additional index files
|
# If the GENERATE_DOCSET tag is set to YES, additional index files
|
||||||
# will be generated that can be used as input for Apple's Xcode 3
|
# will be generated that can be used as input for Apple's Xcode 3
|
||||||
# integrated development environment, introduced with OSX 10.5 (Leopard).
|
# integrated development environment, introduced with OSX 10.5 (Leopard).
|
||||||
|
@ -1103,7 +1107,7 @@ QHP_SECT_FILTER_ATTRS =
|
||||||
QHG_LOCATION =
|
QHG_LOCATION =
|
||||||
|
|
||||||
# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
|
# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
|
||||||
# will be generated, which together with the HTML files, form an Eclipse help
|
# will be generated, which together with the HTML files, form an Eclipse help
|
||||||
# plugin. To install this plugin and make it available under the help contents
|
# plugin. To install this plugin and make it available under the help contents
|
||||||
# menu in Eclipse, the contents of the directory containing the HTML and XML
|
# menu in Eclipse, the contents of the directory containing the HTML and XML
|
||||||
# files needs to be copied into the plugins directory of eclipse. The name of
|
# files needs to be copied into the plugins directory of eclipse. The name of
|
||||||
|
@ -1146,11 +1150,6 @@ GENERATE_TREEVIEW = NO
|
||||||
|
|
||||||
ENUM_VALUES_PER_LINE = 4
|
ENUM_VALUES_PER_LINE = 4
|
||||||
|
|
||||||
# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
|
|
||||||
# and Class Hierarchy pages using a tree view instead of an ordered list.
|
|
||||||
|
|
||||||
USE_INLINE_TREES = NO
|
|
||||||
|
|
||||||
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
|
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
|
||||||
# used to set the initial width (in pixels) of the frame in which the tree
|
# used to set the initial width (in pixels) of the frame in which the tree
|
||||||
# is shown.
|
# is shown.
|
||||||
|
@ -1193,7 +1192,8 @@ USE_MATHJAX = NO
|
||||||
# directory is located at the same level as the HTML output directory, then
|
# directory is located at the same level as the HTML output directory, then
|
||||||
# MATHJAX_RELPATH should be ../mathjax. The default value points to
|
# MATHJAX_RELPATH should be ../mathjax. The default value points to
|
||||||
# the MathJax Content Delivery Network so you can quickly see the result without
|
# the MathJax Content Delivery Network so you can quickly see the result without
|
||||||
# installing MathJax. However, it is strongly recommended to install a local
|
# installing MathJax.
|
||||||
|
# However, it is strongly recommended to install a local
|
||||||
# copy of MathJax from http://www.mathjax.org before deployment.
|
# copy of MathJax from http://www.mathjax.org before deployment.
|
||||||
|
|
||||||
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
|
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
|
||||||
|
@ -1458,8 +1458,10 @@ GENERATE_PERLMOD = NO
|
||||||
PERLMOD_LATEX = NO
|
PERLMOD_LATEX = NO
|
||||||
|
|
||||||
# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
|
# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
|
||||||
# nicely formatted so it can be parsed by a human reader. This is useful
|
# nicely formatted so it can be parsed by a human reader.
|
||||||
# if you want to understand what is going on. On the other hand, if this
|
# This is useful
|
||||||
|
# if you want to understand what is going on.
|
||||||
|
# On the other hand, if this
|
||||||
# tag is set to NO the size of the Perl module output will be much smaller
|
# tag is set to NO the size of the Perl module output will be much smaller
|
||||||
# and Perl will parse it just the same.
|
# and Perl will parse it just the same.
|
||||||
|
|
||||||
|
@ -1545,9 +1547,11 @@ SKIP_FUNCTION_MACROS = YES
|
||||||
# The TAGFILES option can be used to specify one or more tagfiles. For each
|
# The TAGFILES option can be used to specify one or more tagfiles. For each
|
||||||
# tag file the location of the external documentation should be added. The
|
# tag file the location of the external documentation should be added. The
|
||||||
# format of a tag file without this location is as follows:
|
# format of a tag file without this location is as follows:
|
||||||
# TAGFILES = file1 file2 ...
|
#
|
||||||
|
# TAGFILES = file1 file2 ...
|
||||||
# Adding location for the tag files is done as follows:
|
# Adding location for the tag files is done as follows:
|
||||||
# TAGFILES = file1=loc1 "file2 = loc2" ...
|
#
|
||||||
|
# TAGFILES = file1=loc1 "file2 = loc2" ...
|
||||||
# where "loc1" and "loc2" can be relative or absolute paths
|
# where "loc1" and "loc2" can be relative or absolute paths
|
||||||
# or URLs. Note that each tag file must have a unique name (where the name does
|
# or URLs. Note that each tag file must have a unique name (where the name does
|
||||||
# NOT include the path). If a tag file is not located in the directory in which
|
# NOT include the path). If a tag file is not located in the directory in which
|
||||||
|
@ -1713,7 +1717,7 @@ CALLER_GRAPH = NO
|
||||||
|
|
||||||
GRAPHICAL_HIERARCHY = YES
|
GRAPHICAL_HIERARCHY = YES
|
||||||
|
|
||||||
# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
|
# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES
|
||||||
# then doxygen will show the dependencies a directory has on other directories
|
# then doxygen will show the dependencies a directory has on other directories
|
||||||
# in a graphical way. The dependency relations are determined by the #include
|
# in a graphical way. The dependency relations are determined by the #include
|
||||||
# relations between the files in the directories.
|
# relations between the files in the directories.
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
src/app
|
/**
|
||||||
|
* \dir app
|
||||||
Contains the main class of the application.
|
* Main class of the application and system functions
|
||||||
|
*/
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// app.h
|
/**
|
||||||
|
* \file app/app.h
|
||||||
|
* \brief CApplication class
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// main.cpp
|
/**
|
||||||
|
* \file app/main.cpp
|
||||||
|
* \brief Entry point of application - main() function
|
||||||
|
*/
|
||||||
|
|
||||||
#include "app/app.h"
|
#include "app/app.h"
|
||||||
#include "app/system.h"
|
#include "app/system.h"
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// system.h
|
/**
|
||||||
|
* \file app/system.h
|
||||||
|
* \brief System functions: time stamps, info dialogs, etc.
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
@ -26,7 +29,7 @@
|
||||||
/* Dialog utils */
|
/* Dialog utils */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \enum SysDialogType
|
* \enum SystemDialogType
|
||||||
* \brief Type of system dialog
|
* \brief Type of system dialog
|
||||||
*/
|
*/
|
||||||
enum SystemDialogType
|
enum SystemDialogType
|
||||||
|
@ -44,7 +47,7 @@ enum SystemDialogType
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \enum SysDialogResult
|
* \enum SystemDialogResult
|
||||||
* \brief Result of system dialog
|
* \brief Result of system dialog
|
||||||
*
|
*
|
||||||
* Means which button was pressed.
|
* Means which button was pressed.
|
||||||
|
|
|
@ -15,10 +15,13 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// system_linux.h
|
/**
|
||||||
|
* \file app/system_linux.h
|
||||||
|
* \brief Linux-specific implementation of system functions
|
||||||
|
*/
|
||||||
|
|
||||||
/* This header contains Linux-specific code for system utils
|
/* NOTE: code is contained in this header;
|
||||||
from system.h. There is no separate .cpp module for simplicity.*/
|
* there is no separate .cpp module for simplicity */
|
||||||
|
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
|
@ -15,10 +15,13 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// system_other.h
|
/**
|
||||||
|
* \file app/system_other.h
|
||||||
|
* \brief Fallback code for other systems
|
||||||
|
*/
|
||||||
|
|
||||||
/* This header contains fallback code for other platforms for system utils
|
/* NOTE: code is contained in this header;
|
||||||
from system.h. There is no separate .cpp module for simplicity.*/
|
* there is no separate .cpp module for simplicity */
|
||||||
|
|
||||||
#include <SDL/SDL.h>
|
#include <SDL/SDL.h>
|
||||||
|
|
||||||
|
|
|
@ -15,10 +15,13 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// system_windows.h
|
/**
|
||||||
|
* \file app/system_windows.h
|
||||||
|
* \brief Windows-specific implementation of system functions
|
||||||
|
*/
|
||||||
|
|
||||||
/* This header contains Windows-specific code for system utils
|
/* NOTE: code is contained in this header;
|
||||||
from system.h. There is no separate .cpp module for simplicity.*/
|
* there is no separate .cpp module for simplicity */
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
src/common
|
/**
|
||||||
|
* \dir common
|
||||||
Contains headers and modules with common structs and enums.
|
* \brief Structs and utils shared throughout the application
|
||||||
|
*/
|
||||||
|
|
|
@ -57,36 +57,36 @@ class CLogger : public CSingleton<CLogger>
|
||||||
~CLogger();
|
~CLogger();
|
||||||
|
|
||||||
/** Write message to console or file
|
/** Write message to console or file
|
||||||
* @param const char str - message to write
|
* @param str - message to write
|
||||||
* @param ... - additional arguments
|
* @param ... - additional arguments
|
||||||
*/
|
*/
|
||||||
void Message(const char *str, ...);
|
void Message(const char *str, ...);
|
||||||
|
|
||||||
/** Write message to console or file with LOG_INFO level
|
/** Write message to console or file with LOG_INFO level
|
||||||
* @param const char str - message to write
|
* @param str - message to write
|
||||||
* @param ... - additional arguments
|
* @param ... - additional arguments
|
||||||
*/
|
*/
|
||||||
void Info(const char *str, ...);
|
void Info(const char *str, ...);
|
||||||
|
|
||||||
/** Write message to console or file with LOG_WARN level
|
/** Write message to console or file with LOG_WARN level
|
||||||
* @param const char str - message to write
|
* @param str - message to write
|
||||||
* @param ... - additional arguments
|
* @param ... - additional arguments
|
||||||
*/
|
*/
|
||||||
void Warn(const char *str, ...);
|
void Warn(const char *str, ...);
|
||||||
|
|
||||||
/** Write message to console or file with LOG_ERROR level
|
/** Write message to console or file with LOG_ERROR level
|
||||||
* @param const char str - message to write
|
* @param str - message to write
|
||||||
* @param ... - additional arguments
|
* @param ... - additional arguments
|
||||||
*/
|
*/
|
||||||
void Error(const char *str, ...);
|
void Error(const char *str, ...);
|
||||||
|
|
||||||
/** Set output file to write logs to
|
/** Set output file to write logs to
|
||||||
* @param std::string filename - output file to write to
|
* @param filename - output file to write to
|
||||||
*/
|
*/
|
||||||
void SetOutputFile(std::string filename);
|
void SetOutputFile(std::string filename);
|
||||||
|
|
||||||
/** Set log level. Logs with level below will not be shown
|
/** Set log level. Logs with level below will not be shown
|
||||||
* @param LogType level - minimum log level to write
|
* @param level - minimum log level to write
|
||||||
*/
|
*/
|
||||||
void SetLogLevel(LogType level);
|
void SetLogLevel(LogType level);
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,12 @@
|
||||||
src/graphics
|
/**
|
||||||
|
* \dir graphics
|
||||||
|
* \brief Graphics engine
|
||||||
|
*/
|
||||||
|
|
||||||
Graphics engine
|
/**
|
||||||
|
* \namespace Gfx
|
||||||
|
* \brief Namespace for (new) graphics code
|
||||||
|
*
|
||||||
|
* This namespace was created to avoid clashing with old code, but now it still serves,
|
||||||
|
* defining a border between pure graphics engine and other parts of application.
|
||||||
|
*/
|
|
@ -1,6 +1,7 @@
|
||||||
src/graphics/core
|
/**
|
||||||
|
* \dir graphics/core
|
||||||
Abstract core of graphics engine
|
* \brief Abstract core of graphics engine
|
||||||
|
*
|
||||||
Core types, enums, structs and CDevice abstract class that define
|
* Core types, enums, structs and CDevice abstract class that define
|
||||||
the abstract graphics device used in graphics engine
|
* the abstract graphics device used in graphics engine
|
||||||
|
*/
|
|
@ -14,7 +14,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// color.h
|
/**
|
||||||
|
* \file graphics/core/color.h
|
||||||
|
* \brief Color structs and related functions
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// device.h
|
/**
|
||||||
|
* \file graphics/core/device.h
|
||||||
|
* \brief Abstract graphics device - Gfx::CDevice class and related structs/enums
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// light.h
|
/**
|
||||||
|
* \file graphics/core/light.h
|
||||||
|
* \brief Light struct and related enums
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// material.h
|
/**
|
||||||
|
* \file graphics/core/material.h
|
||||||
|
* \brief Material struct
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// texture.h
|
/**
|
||||||
|
* \file graphics/core/texture.h
|
||||||
|
* \brief Texture struct and related enums
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// vertex.h
|
/**
|
||||||
|
* \file graphics/core/vertex.h
|
||||||
|
* \brief Vertex structs
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
src/graphics/d3d
|
/**
|
||||||
|
* \dir graphics/d3d
|
||||||
Possible future DirectX implementation of graphics engine
|
* \brief Possible future DirectX implementation of graphics engine
|
||||||
|
*/
|
|
@ -1,8 +1,9 @@
|
||||||
src/graphics/engine
|
/**
|
||||||
|
* \dir graphics/engine
|
||||||
Graphics engine
|
* \brief Graphics engine
|
||||||
|
*
|
||||||
CEngine class and various other classes implementing the main features
|
* CEngine class and various other classes implementing the main features
|
||||||
of graphics engine from model loading to decorative particles
|
* of graphics engine from model loading to decorative particles
|
||||||
|
*
|
||||||
Graphics operations are done on abstract interface from src/graphics/core
|
* Graphics operations are done on abstract interface from src/graphics/core
|
||||||
|
*/
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// camera.h
|
/**
|
||||||
|
* \file graphics/engine/camera.h
|
||||||
|
* \brief Camera handling - Gfx::CCamera class
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// cloud.h
|
/**
|
||||||
|
* \file graphics/engine/cloud.h
|
||||||
|
* \brief Cloud rendering - Gfx::CCloud class
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// engine.h
|
/**
|
||||||
|
* \file graphics/engine/engine.h
|
||||||
|
* \brief Main graphics engine - Gfx::CEngine class
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// lightman.h
|
/**
|
||||||
|
* \file graphics/engine/lightman.h
|
||||||
|
* \brief Dynamic light manager - Gfx::CLightManager class
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// lightning.h (aka blitz.h)
|
/**
|
||||||
|
* \file graphics/engine/lightning.h
|
||||||
|
* \brief Lightning rendering - Gfx::CLightning class (aka blitz)
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// modelfile.h (aka modfile.h)
|
/**
|
||||||
|
* \file graphics/engine/modelfile.h
|
||||||
|
* \brief Model loading - Gfx::CModelFile class (aka modfile)
|
||||||
|
*/
|
||||||
|
|
||||||
#include "graphics/engine/engine.h"
|
#include "graphics/engine/engine.h"
|
||||||
#include "graphics/core/vertex.h"
|
#include "graphics/core/vertex.h"
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// particle.h (aka particule.h)
|
/**
|
||||||
|
* \file graphics/engine/particle.h
|
||||||
|
* \brief Particle rendering - Gfx::CParticle class (aka particule)
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// planet.h
|
/**
|
||||||
|
* \file graphics/engine/planet.h
|
||||||
|
* \brief Planet rendering - Gfx::CPlanet class
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// pyro.h
|
/**
|
||||||
|
* \file graphics/engine/pyro.h
|
||||||
|
* \brief Fire effect rendering - Gfx::CPyro class
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// terrain.h
|
/**
|
||||||
|
* \file graphics/engine/terrain.h
|
||||||
|
* \brief Terrain rendering - Gfx::CTerrain class
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// text.h
|
/**
|
||||||
|
* \file graphics/engine/text.h
|
||||||
|
* \brief Text rendering - Gfx::CText class
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// water.h
|
/**
|
||||||
|
* \file graphics/engine/water.h
|
||||||
|
* \brief Water rendering - Gfx::CWater class
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
src/graphics/opengl
|
/**
|
||||||
|
* \dir graphics/opengl
|
||||||
OpenGL engine implementation
|
* \brief OpenGL engine implementation
|
||||||
|
*
|
||||||
Contains the concrete implementation using OpenGL of abstract CDevice class
|
* Contains the concrete implementation using OpenGL of abstract CDevice class
|
||||||
from src/graphics/core
|
* from src/graphics/core
|
||||||
|
*/
|
|
@ -14,7 +14,10 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
// gldevice.h
|
/**
|
||||||
|
* \file graphics/opengl/gldevice.h
|
||||||
|
* \brief OpenGL implementation - Gfx::CGLDevice class
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,12 @@
|
||||||
src/math
|
/**
|
||||||
|
* \dir math
|
||||||
|
* \brief Common mathematical structures and functions
|
||||||
|
*/
|
||||||
|
|
||||||
Contains common mathematical structures and functions.
|
/**
|
||||||
|
* \namespace Math
|
||||||
|
* \brief Namespace for (new) math code
|
||||||
|
*
|
||||||
|
* This namespace was created to avoid clashing with old code, but now it still serves,
|
||||||
|
* defining a border between math and non-math-related code.
|
||||||
|
*/
|
|
@ -14,14 +14,13 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
/** @defgroup MathAllModule math/all.h
|
/**
|
||||||
Includes all other math module headers.
|
* \file math/all.h
|
||||||
|
* \brief Includes all other math module headers
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
/* @{ */ // start of group
|
|
||||||
|
|
||||||
#include "const.h"
|
#include "const.h"
|
||||||
#include "func.h"
|
#include "func.h"
|
||||||
#include "point.h"
|
#include "point.h"
|
||||||
|
@ -30,5 +29,3 @@
|
||||||
#include "geometry.h"
|
#include "geometry.h"
|
||||||
|
|
||||||
#include "conv.h"
|
#include "conv.h"
|
||||||
|
|
||||||
/* @} */ // end of group
|
|
||||||
|
|
|
@ -14,8 +14,9 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
/** @defgroup MathConstModule math/const.h
|
/**
|
||||||
Contains the math constants used in math functions.
|
* \file math/const.h
|
||||||
|
* \brief Constants used in math functions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -26,7 +27,6 @@
|
||||||
// Math module namespace
|
// Math module namespace
|
||||||
namespace Math
|
namespace Math
|
||||||
{
|
{
|
||||||
/* @{ */ // start of group
|
|
||||||
|
|
||||||
//! Tolerance level -- minimum accepted float value
|
//! Tolerance level -- minimum accepted float value
|
||||||
const float TOLERANCE = 1e-6f;
|
const float TOLERANCE = 1e-6f;
|
||||||
|
@ -50,6 +50,5 @@ const float RAD_TO_DEG = 57.29577951308232286465f;
|
||||||
//! Natural logarithm of 2
|
//! Natural logarithm of 2
|
||||||
const float LOG_2 = log(2.0f);
|
const float LOG_2 = log(2.0f);
|
||||||
|
|
||||||
/* @} */ // end of group
|
|
||||||
}; // namespace Math
|
}; // namespace Math
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,9 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
/** @defgroup MathFuncModule math/func.h
|
/**
|
||||||
Contains common math functions.
|
* \file math/func.h
|
||||||
|
* \brief Common math functions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -31,8 +32,6 @@
|
||||||
namespace Math
|
namespace Math
|
||||||
{
|
{
|
||||||
|
|
||||||
/* @{ */ // start of group
|
|
||||||
|
|
||||||
//! Compares \a a and \a b within \a tolerance
|
//! Compares \a a and \a b within \a tolerance
|
||||||
inline bool IsEqual(float a, float b, float tolerance = Math::TOLERANCE)
|
inline bool IsEqual(float a, float b, float tolerance = Math::TOLERANCE)
|
||||||
{
|
{
|
||||||
|
@ -188,11 +187,13 @@ inline float Direction(float a, float g)
|
||||||
|
|
||||||
//! Managing the dead zone of a joystick.
|
//! Managing the dead zone of a joystick.
|
||||||
/**
|
/**
|
||||||
\verbatimin: -1 0 1
|
\verbatim
|
||||||
|
in: -1 0 1
|
||||||
--|-------|----o----|-------|-->
|
--|-------|----o----|-------|-->
|
||||||
<---->
|
<---->
|
||||||
dead
|
dead
|
||||||
out: -1 0 0 1\endverbatim */
|
out: -1 0 0 1
|
||||||
|
\endverbatim */
|
||||||
inline float Neutral(float value, float dead)
|
inline float Neutral(float value, float dead)
|
||||||
{
|
{
|
||||||
if ( fabs(value) <= dead )
|
if ( fabs(value) <= dead )
|
||||||
|
@ -226,7 +227,8 @@ inline float Smooth(float actual, float hope, float time)
|
||||||
|
|
||||||
//! Bounces any movement
|
//! Bounces any movement
|
||||||
/**
|
/**
|
||||||
\verbatimout
|
\verbatim
|
||||||
|
out
|
||||||
|
|
|
|
||||||
1+------o-------o---
|
1+------o-------o---
|
||||||
| o | o o | | bounce
|
| o | o o | | bounce
|
||||||
|
@ -235,7 +237,8 @@ inline float Smooth(float actual, float hope, float time)
|
||||||
| o | |
|
| o | |
|
||||||
-o------|-------+----> progress
|
-o------|-------+----> progress
|
||||||
0| | 1
|
0| | 1
|
||||||
|<---->|middle\endverbatim */
|
|<---->|middle
|
||||||
|
\endverbatim */
|
||||||
inline float Bounce(float progress, float middle = 0.3f, float bounce = 0.4f)
|
inline float Bounce(float progress, float middle = 0.3f, float bounce = 0.4f)
|
||||||
{
|
{
|
||||||
if ( progress < middle )
|
if ( progress < middle )
|
||||||
|
@ -250,6 +253,4 @@ inline float Bounce(float progress, float middle = 0.3f, float bounce = 0.4f)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* @} */ // end of group
|
|
||||||
|
|
||||||
}; // namespace Math
|
}; // namespace Math
|
||||||
|
|
|
@ -15,9 +15,9 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
/** @defgroup MathGeometryModule math/geometry.h
|
/**
|
||||||
Contains math functions related to 3D geometry calculations,
|
* \file math/geometry.h
|
||||||
transformations, etc.
|
* \brief Math functions related to 3D geometry calculations, transformations, etc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -36,9 +36,6 @@
|
||||||
namespace Math
|
namespace Math
|
||||||
{
|
{
|
||||||
|
|
||||||
/* @{ */ // start of group
|
|
||||||
|
|
||||||
|
|
||||||
//! Returns py up on the line \a a - \a b
|
//! Returns py up on the line \a a - \a b
|
||||||
inline float MidPoint(const Math::Point &a, const Math::Point &b, float px)
|
inline float MidPoint(const Math::Point &a, const Math::Point &b, float px)
|
||||||
{
|
{
|
||||||
|
@ -566,6 +563,4 @@ inline Math::Vector RotateView(Math::Vector center, float angleH, float angleV,
|
||||||
return eye+center;
|
return eye+center;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* @} */ // end of group
|
|
||||||
|
|
||||||
}; // namespace Math
|
}; // namespace Math
|
||||||
|
|
|
@ -14,18 +14,18 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
/** @defgroup MathIntPointModule math/intpoint.h
|
/**
|
||||||
Contains the IntPoint struct.
|
* \file math/intpoint.h
|
||||||
|
* \brief IntPoint struct
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
namespace Math {
|
namespace Math {
|
||||||
|
|
||||||
/* @{ */ // start of group
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \struct IntPoint 2D Point with integer coords
|
* \struct IntPoint
|
||||||
|
* \brief 2D Point with integer coords
|
||||||
*
|
*
|
||||||
* Analog of WinAPI's POINT struct.
|
* Analog of WinAPI's POINT struct.
|
||||||
*/
|
*/
|
||||||
|
@ -39,6 +39,4 @@ struct IntPoint
|
||||||
IntPoint(int aX = 0, int aY = 0) : x(aX), y(aY) {}
|
IntPoint(int aX = 0, int aY = 0) : x(aX), y(aY) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* @} */ // end of group
|
|
||||||
|
|
||||||
}; // namespace Math
|
}; // namespace Math
|
||||||
|
|
|
@ -14,8 +14,9 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
/** @defgroup MathMatrixModule math/matrix.h
|
/**
|
||||||
Contains the Matrix struct and related functions.
|
* \file math/matrix.h
|
||||||
|
* \brief Matrix struct and related functions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -32,8 +33,6 @@
|
||||||
namespace Math
|
namespace Math
|
||||||
{
|
{
|
||||||
|
|
||||||
/* @{ */ // start of group
|
|
||||||
|
|
||||||
/** \struct Matrix math/matrix.h
|
/** \struct Matrix math/matrix.h
|
||||||
\brief 4x4 matrix
|
\brief 4x4 matrix
|
||||||
|
|
||||||
|
@ -42,11 +41,12 @@ namespace Math
|
||||||
|
|
||||||
The internal representation is a 16-value table in column-major order, thus:
|
The internal representation is a 16-value table in column-major order, thus:
|
||||||
|
|
||||||
\verbatim
|
\verbatim
|
||||||
m[0 ] m[4 ] m[8 ] m[12]
|
m[0 ] m[4 ] m[8 ] m[12]
|
||||||
m[1 ] m[5 ] m[9 ] m[13]
|
m[1 ] m[5 ] m[9 ] m[13]
|
||||||
m[2 ] m[6 ] m[10] m[14]
|
m[2 ] m[6 ] m[10] m[14]
|
||||||
m[3 ] m[7 ] m[11] m[15] \endverbatim
|
m[3 ] m[7 ] m[11] m[15]
|
||||||
|
\endverbatim
|
||||||
|
|
||||||
This representation is native to OpenGL; DirectX requires transposing the matrix.
|
This representation is native to OpenGL; DirectX requires transposing the matrix.
|
||||||
|
|
||||||
|
@ -405,11 +405,15 @@ inline Math::Matrix MultiplyMatrices(const Math::Matrix &left, const Math::Matri
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Calculates the result of multiplying m * v
|
//! Calculates the result of multiplying m * v
|
||||||
/** The multiplication is performed thus:
|
/**
|
||||||
\verbatim [ m.m[0 ] m.m[4 ] m.m[8 ] m.m[12] ] [ v.x ]
|
The multiplication is performed thus:
|
||||||
|
|
||||||
|
\verbatim
|
||||||
|
[ m.m[0 ] m.m[4 ] m.m[8 ] m.m[12] ] [ v.x ]
|
||||||
[ m.m[1 ] m.m[5 ] m.m[9 ] m.m[13] ] [ v.y ]
|
[ m.m[1 ] m.m[5 ] m.m[9 ] m.m[13] ] [ v.y ]
|
||||||
[ m.m[2 ] m.m[6 ] m.m[10] m.m[14] ] * [ v.z ]
|
[ m.m[2 ] m.m[6 ] m.m[10] m.m[14] ] * [ v.z ]
|
||||||
[ m.m[3 ] m.m[7 ] m.m[11] m.m[15] ] [ 1 ] \endverbatim
|
[ m.m[3 ] m.m[7 ] m.m[11] m.m[15] ] [ 1 ]
|
||||||
|
\endverbatim
|
||||||
|
|
||||||
The result, a 4x1 vector is then converted to 3x1 by dividing
|
The result, a 4x1 vector is then converted to 3x1 by dividing
|
||||||
x,y,z coords by the fourth coord (w). */
|
x,y,z coords by the fourth coord (w). */
|
||||||
|
@ -434,6 +438,4 @@ inline Math::Vector MatrixVectorMultiply(const Math::Matrix &m, const Math::Vect
|
||||||
return Math::Vector(x, y, z);
|
return Math::Vector(x, y, z);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* @} */ // end of group
|
|
||||||
|
|
||||||
}; // namespace Math
|
}; // namespace Math
|
||||||
|
|
|
@ -14,8 +14,9 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
/** @defgroup MathPointModule math/point.h
|
/**
|
||||||
Contains the Point struct and related functions.
|
* \file math/point.h
|
||||||
|
* \brief Point struct and related functions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -31,8 +32,6 @@
|
||||||
namespace Math
|
namespace Math
|
||||||
{
|
{
|
||||||
|
|
||||||
/* @{ */ // start of group
|
|
||||||
|
|
||||||
/** \struct Point math/point.h
|
/** \struct Point math/point.h
|
||||||
\brief 2D point
|
\brief 2D point
|
||||||
|
|
||||||
|
@ -188,6 +187,4 @@ inline float Distance(const Point &a, const Point &b)
|
||||||
return sqrtf((a.x-b.x)*(a.x-b.x) + (a.y-b.y)*(a.y-b.y));
|
return sqrtf((a.x-b.x)*(a.x-b.x) + (a.y-b.y)*(a.y-b.y));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* @} */ // end of group
|
|
||||||
|
|
||||||
}; // namespace Math
|
}; // namespace Math
|
||||||
|
|
|
@ -14,8 +14,9 @@
|
||||||
// * You should have received a copy of the GNU General Public License
|
// * You should have received a copy of the GNU General Public License
|
||||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
/** @defgroup MathVectorModule math/vector.h
|
/**
|
||||||
Contains the Vector struct and related functions.
|
* \file math/vector.h
|
||||||
|
* \brief Vector struct and related functions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -31,8 +32,6 @@
|
||||||
namespace Math
|
namespace Math
|
||||||
{
|
{
|
||||||
|
|
||||||
/* @{ */ // start of group
|
|
||||||
|
|
||||||
/** \struct Vector math/vector.h
|
/** \struct Vector math/vector.h
|
||||||
\brief 3D (3x1) vector
|
\brief 3D (3x1) vector
|
||||||
|
|
||||||
|
@ -263,6 +262,4 @@ inline float Distance(const Math::Vector &a, const Math::Vector &b)
|
||||||
(a.z-b.z)*(a.z-b.z) );
|
(a.z-b.z)*(a.z-b.z) );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* @} */ // end of group
|
|
||||||
|
|
||||||
}; // namespace Math
|
}; // namespace Math
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
src/object
|
/**
|
||||||
|
* \dir object
|
||||||
Contains modules of robots and buildings.
|
* \brief Game engine
|
||||||
|
*
|
||||||
|
* Contains the main class of game engine - CRobotMain and the various in-game objects:
|
||||||
|
* CObject and related auto, motion and task subclasses.
|
||||||
|
*/
|
|
@ -1,3 +1,4 @@
|
||||||
src/physics
|
/**
|
||||||
|
* \dir physics
|
||||||
Contains the physics module.
|
* \brief Physics engine
|
||||||
|
*/
|
|
@ -1,3 +1,4 @@
|
||||||
src/sound
|
/**
|
||||||
|
* \dir sound
|
||||||
Contains the sound module - for playing sounds and music.
|
* \brief Sound module - playing sounds and music
|
||||||
|
*/
|
|
@ -1,3 +1,4 @@
|
||||||
src/ui
|
/**
|
||||||
|
* \dir ui
|
||||||
Contains modules responsible for displaying the user interface controls (from game menus and HUD).
|
* \brief 2D user interface controls
|
||||||
|
*/
|
Loading…
Reference in New Issue