Fix typos with codespell.

This commit is contained in:
Relintai 2022-12-22 19:51:25 +01:00
parent cc7d77f3e1
commit 213f393293
151 changed files with 317 additions and 317 deletions

View File

@ -166,7 +166,7 @@ Backported everything up to and including https://github.com/godotengine/godot/c
- Fix requesting write locks in WebNodes.
- Fix default argument for the binding of WebServerRequest::send_redirect.
- Fix: WebPermission was meant to be a Resource.
- Fix mimetype handling in the simle server. Also added a few misisng ones.
- Fix mimetype handling in the simle server. Also added a few missing ones.
- Fixed rendering the menu of the BrowsableFolderServeWebPage and StaticWebPage.
#### Build System
@ -413,7 +413,7 @@ Added an icon for UserModule.
- [[Thread Pool]](https://github.com/Relintai/thread_pool) - A c++ Godot engine module which makes it easy to run methods in threads.
- [[Texture Packer]](https://github.com/Relintai/texture_packer) - A c++ Godot engine module, to layer, pack, and merge textures at runtime.
- [[Mesh Data Resource]](https://github.com/Relintai/mesh_data_resource) - A Godot c++ engine module. It adds a data-only mesh type with an importer.
- [[Mesh Utils]](https://github.com/Relintai/mesh_utils) - A c++ Godot engine module containing utilites for working with mehses (Like simplification).
- [[Mesh Utils]](https://github.com/Relintai/mesh_utils) - A c++ Godot engine module containing utilities for working with mehses (Like simplification).
- [[Godot Fastnoise]](https://github.com/Relintai/godot_fastnoise) - Zylann's godot_fastnoise, but with compile fixes for 4.0, and a Resource class.
- [[UI Extensions]](https://github.com/Relintai/ui_extensions) - Small extensions engine module for GODOT.
- [[Skeleton Editor]](https://github.com/Relintai/skeleton_editor) - Godot engine module version of TokageItLab's skeleton editor pr, that got deprecated, but [[my godot fork]](https://github.com/Relintai/godot/tree/3.x) has it fully implemented.
@ -490,7 +490,7 @@ Added an icon for UserModule.
#### Platforms
- UWP (I was never once able to succesfully set up the environment for it to compile during the last 3 years).
- UWP (I was never once able to successfully set up the environment for it to compile during the last 3 years).
#### Editor
@ -512,11 +512,11 @@ Added an icon for UserModule.
#### module: ui_extensions
- Removed TMeshInstance, and changed the core MeshInstance to wrok the way I need it instead.
- Removed TMeshInstance, and changed the core MeshInstance to work the way I need it instead.
#### other
- Removed the github issue tamplates.
- Removed the github issue templates.
### Fixed
@ -534,7 +534,7 @@ Added an icon for UserModule.
#### Other
- Github actions have been simplifed and fixed.
- Github actions have been simplified and fixed.
- Godot's regression test tool have been updated / fixed.
- Fixed all crashed the regression test tool found by throwing invalid / unexpected arguments at methods.
- Cleanups to the docs.

View File

@ -48,7 +48,7 @@ for compilation instructions for every supported platform.
## Documentation and demos
The documantation is available in this repo under the doc/engine folder. [[Here]](https://github.com/Relintai/pandemonium_engine/tree/master/doc/engine).
The documentation is available in this repo under the doc/engine folder. [[Here]](https://github.com/Relintai/pandemonium_engine/tree/master/doc/engine).
You can also look at the official Godot documentation. It is hosted on [ReadTheDocs](https://docs.godotengine.org), and
is maintained by the Godot community in its own [GitHub repository](https://github.com/godotengine/godot-docs).

View File

@ -330,7 +330,7 @@ def _function_contents(func):
def _object_instance_content(obj):
"""
Returns consistant content for a action class or an instance thereof
Returns consistent content for a action class or an instance thereof
:Parameters:
- `obj` Should be either and action class or an instance thereof

View File

@ -501,7 +501,7 @@ int main(void) {
size = int(out)
except ValueError:
# If cannot convert output of test prog to an integer (the size),
# something went wront, so just fail
# something went wrong, so just fail
st = 1
size = 0

View File

@ -348,7 +348,7 @@ class SubstitutionEnvironment:
"""
if SCons.Debug.track_instances: logInstanceCreation(self, 'Environment.SubstitutionEnvironment')
self.fs = SCons.Node.FS.get_default_fs()
self.ans = SCons.Node.Alias.default_ans
self.and = SCons.Node.Alias.default_ans
self.lookup_list = SCons.Node.arg2nodes_lookups
self._dict = kw.copy()
self._init_special()
@ -567,7 +567,7 @@ class SubstitutionEnvironment:
'universal_newlines' : True,
}
# if the command is a list, assume it's been quoted
# othewise force a shell
# otherwise force a shell
if not is_List(command): kw['shell'] = True
# run constructed command
p = SCons.Action._subproc(self, command, **kw)
@ -818,7 +818,7 @@ class SubstitutionEnvironment:
def MergeFlags(self, args, unique=True):
"""Merge flags into construction variables.
Merges the flags from ``args`` into this construction environent.
Merges the flags from ``args`` into this construction environment.
If ``args`` is not a dict, it is first converted to a dictionary with
flags distributed into appropriate construction variables.
See :meth:`ParseFlags`.
@ -865,12 +865,12 @@ class SubstitutionEnvironment:
add_to_orig(value)
t = []
if key[-4:] == 'PATH':
### keep left-most occurence
### keep left-most occurrence
for v in orig:
if v not in t:
t.append(v)
else:
### keep right-most occurence
### keep right-most occurrence
for v in orig[::-1]:
if v not in t:
t.insert(0, v)
@ -942,7 +942,7 @@ class Base(SubstitutionEnvironment):
if SCons.Debug.track_instances: logInstanceCreation(self, 'Environment.Base')
self._memo = {}
self.fs = SCons.Node.FS.get_default_fs()
self.ans = SCons.Node.Alias.default_ans
self.and = SCons.Node.Alias.default_ans
self.lookup_list = SCons.Node.arg2nodes_lookups
self._dict = semi_deepcopy(SCons.Defaults.ConstructionEnvironment)
self._init_special()
@ -1941,7 +1941,7 @@ class Base(SubstitutionEnvironment):
return nodes
def Alias(self, target, source=[], action=None, **kw):
tlist = self.arg2nodes(target, self.ans.Alias)
tlist = self.arg2nodes(target, self.and.Alias)
if not is_List(source):
source = [source]
source = [_f for _f in source if _f]
@ -2088,7 +2088,7 @@ class Base(SubstitutionEnvironment):
return bld(self, target, source, **kw)
def Depends(self, target, dependency):
"""Explicity specify that 'target's depend on 'dependency'."""
"""Explicitly specify that 'target's depend on 'dependency'."""
tlist = self.arg2nodes(target, self.fs.Entry)
dlist = self.arg2nodes(dependency, self.fs.Entry)
for t in tlist:

View File

@ -150,7 +150,7 @@ class Jobs:
pass
if (self.old_sigint is None) or (self.old_sigterm is None) or \
(hasattr(self, "old_sighup") and self.old_sighup is None):
msg = "Overwritting previous signal handler which was not installed from Python. " + \
msg = "Overwriting previous signal handler which was not installed from Python. " + \
"Will not be able to reinstate and so will return to default handler."
SCons.Warnings.warn(SCons.Warnings.SConsWarning, msg)

View File

@ -228,7 +228,7 @@ needs_normpath_match = needs_normpath_check.match
# For Now disable hard & softlinks for win32
# PY3 supports them, but the rest of SCons is not ready for this
# in some cases user permissions may be required.
# TODO: See if theres a reasonable way to enable using links on win32/64
# TODO: See if there's a reasonable way to enable using links on win32/64
if hasattr(os, 'link') and sys.platform != 'win32':
def _hardlink_func(fs, src, dst):

View File

@ -138,7 +138,7 @@ class Value(SCons.Node.Node):
###TODO: something reasonable about universal newlines
contents = str(self.value)
for kid in self.children(None):
# Get csig() value of child as this is more efficent
# Get csig() value of child as this is more efficient
contents = contents + kid.get_csig()
return contents

View File

@ -301,7 +301,7 @@ class TempFileMunge:
# to avoid creating two temporary files one for print and one for execute.
if node is not None:
try:
# Storing in tempfile_cmdlist by self.cmd provided when intializing
# Storing in tempfile_cmdlist by self.cmd provided when initializing
# $TEMPFILE{} fixes issue raised in PR #3140 and #3553
node.attributes.tempfile_cmdlist[cmdlist_key] = cmdlist
except AttributeError:

View File

@ -76,19 +76,19 @@ try:
import threading
spawn_lock = threading.Lock()
# This locked version of spawnve works around a Windows
# MSVCRT bug, because its spawnve is not thread-safe.
# This locked version of spawn works around a Windows
# MSVCRT bug, because its spawn is not thread-safe.
# Without this, python can randomly crash while using -jN.
# See the python bug at http://bugs.python.org/issue6476
# and SCons issue at
# https://github.com/SCons/scons/issues/2449
def spawnve(mode, file, args, env):
def spawn(mode, file, args, env):
spawn_lock.acquire()
try:
if mode == os.P_WAIT:
ret = os.spawnve(os.P_NOWAIT, file, args, env)
ret = os.spawn(os.P_NOWAIT, file, args, env)
else:
ret = os.spawnve(mode, file, args, env)
ret = os.spawn(mode, file, args, env)
finally:
spawn_lock.release()
if mode == os.P_WAIT:
@ -96,14 +96,14 @@ try:
ret = status >> 8
return ret
except ImportError:
# Use the unsafe method of spawnve.
# Use the unsafe method of spawn.
# Please, don't try to optimize this try-except block
# away by assuming that the threading module is always present.
# In the test test/option-j.py we intentionally call SCons with
# a fake threading.py that raises an import exception right away,
# simulating a non-existent package.
def spawnve(mode, file, args, env):
return os.spawnve(mode, file, args, env)
def spawn(mode, file, args, env):
return os.spawn(mode, file, args, env)
# The upshot of all this is that, if you are using Python 1.5.2,
# you had better have cmd or command.com in your PATH when you run
@ -150,7 +150,7 @@ def piped_spawn(sh, escape, cmd, args, env, stdout, stderr):
# actually do the spawn
try:
args = [sh, '/C', escape(' '.join(args))]
ret = spawnve(os.P_WAIT, sh, args, env)
ret = spawn(os.P_WAIT, sh, args, env)
except OSError as e:
# catch any error
try:
@ -183,7 +183,7 @@ def piped_spawn(sh, escape, cmd, args, env, stdout, stderr):
def exec_spawn(l, env):
try:
result = spawnve(os.P_WAIT, l[0], l, env)
result = spawn(os.P_WAIT, l[0], l, env)
except (OSError, EnvironmentError) as e:
try:
result = exitvalmap[e.errno]
@ -226,7 +226,7 @@ def get_system_root():
if _system_root is not None:
return _system_root
# A resonable default if we can't read the registry
# A reasonable default if we can't read the registry
val = os.environ.get('SystemRoot', "C:\\WINDOWS")
if SCons.Util.can_read_reg:

View File

@ -155,7 +155,7 @@ class ConfigureDryRunError(SConfError):
SConfError.__init__(self,msg)
class ConfigureCacheError(SConfError):
"""Raised when a use explicitely requested the cache feature, but the test
"""Raised when a use explicitly requested the cache feature, but the test
is run the first time."""
def __init__(self,target):
SConfError.__init__(self, '"%s" is not yet built and cache is forced.' % str(target))
@ -264,15 +264,15 @@ class SConfBuildTask(SCons.Taskmaster.AlwaysTask):
return SCons.Taskmaster.Task.failed(self)
def collect_node_states(self):
# returns (is_up_to_date, cached_error, cachable)
# returns (is_up_to_date, cached_error, cacheable)
# where is_up_to_date is 1, if the node(s) are up_to_date
# cached_error is 1, if the node(s) are up_to_date, but the
# build will fail
# cachable is 0, if some nodes are not in our cache
# cacheable is 0, if some nodes are not in our cache
T = 0
changed = False
cached_error = False
cachable = True
cacheable = True
for t in self.targets:
if T: Trace('%s' % t)
bi = t.get_stored_info().binfo
@ -292,11 +292,11 @@ class SConfBuildTask(SCons.Taskmaster.AlwaysTask):
if T: Trace(': else')
# the node hasn't been built in a SConf context or doesn't
# exist
cachable = False
cacheable = False
changed = ( t.get_state() != SCons.Node.up_to_date )
if T: Trace(': changed %s' % changed)
if T: Trace('\n')
return (not changed, cached_error, cachable)
return (not changed, cached_error, cacheable)
def execute(self):
if not self.targets[0].has_builder():
@ -304,9 +304,9 @@ class SConfBuildTask(SCons.Taskmaster.AlwaysTask):
sconf = sconf_global
is_up_to_date, cached_error, cachable = self.collect_node_states()
is_up_to_date, cached_error, cacheable = self.collect_node_states()
if cache_mode == CACHE and not cachable:
if cache_mode == CACHE and not cacheable:
raise ConfigureCacheError(self.targets[0])
elif cache_mode == FORCE:
is_up_to_date = 0

View File

@ -83,7 +83,7 @@ class ScannerBase:
passes control to other Scanners.
A scanner function takes three arguments: a Node to scan for
dependecies, the construction environment to use, and an optional
dependencies, the construction environment to use, and an optional
tuple of paths (as generated by the optional path function).
It must return a list containing the Nodes for all the direct
dependencies of the file.
@ -383,7 +383,7 @@ class Classic(Current):
# This is a hand-coded DSU (decorate-sort-undecorate, or
# Schwartzian transform) pattern. The sort key is the raw name
# of the file as specifed on the #include line (including the
# of the file as specified on the #include line (including the
# " or <, since that may affect what file is found), which lets
# us keep the sort order constant regardless of whether the file
# is actually found in a Repository or locally.

View File

@ -579,7 +579,7 @@ def find_deepest_user_frame(tb):
def _scons_user_error(e):
"""Handle user errors. Print out a message and a description of the
error, along with the line number and routine where it occured.
error, along with the line number and routine where it occurred.
The file and line number will be the deepest stack frame that is
not part of SCons itself.
"""
@ -594,7 +594,7 @@ def _scons_user_error(e):
def _scons_user_warning(e):
"""Handle user warnings. Print out a message and a description of
the warning, along with the line number and routine where it occured.
the warning, along with the line number and routine where it occurred.
The file and line number will be the deepest stack frame that is
not part of SCons itself.
"""
@ -1287,7 +1287,7 @@ def _build_targets(fs, options, targets, target_top):
# python_has_threads = sysconfig.get_config_var('WITH_THREAD') or is_pypy or is_37_or_later
# As of python 3.4 threading has a dummy_threading module for use when there is no threading
# it's get_ident() will allways return -1, while real threading modules get_ident() will
# it's get_ident() will always return -1, while real threading modules get_ident() will
# always return a positive integer
python_has_threads = threading.get_ident() != -1
# to check if python configured with threads.

View File

@ -277,7 +277,7 @@ class SConsOptionGroup(optparse.OptionGroup):
def format_help(self, formatter):
""" Format an option group's help text.
The title is dedented so it's flush with the "SCons Options"
The title is indented so it's flush with the "SCons Options"
title we print at the top.
"""
formatter.dedent()

View File

@ -870,7 +870,7 @@ def scons_subst(strSubst, env, mode=SUBST_RAW, target=None, source=None, gvars={
# Now replace escaped $'s currently "$$"
# This is needed because we now retain $$ instead of
# replacing them during substition to avoid
# replacing them during substitution to avoid
# improperly trying to escape "$$(" as being "$("
result = result.replace('$$','$')
elif is_Sequence(result):

View File

@ -158,15 +158,15 @@ class _POFileBuilder(BuilderBase):
This is multi-target single-source builder. In typical situation the source
is single `POT` file, e.g. `messages.pot`, and there are multiple `PO`
targets to be updated from this `POT`. We must run
`SCons.Builder.BuilderBase._execute()` separatelly for each target to track
dependencies separatelly for each target file.
`SCons.Builder.BuilderBase._execute()` separately for each target to track
dependencies separately for each target file.
**NOTE**: if we call `SCons.Builder.BuilderBase._execute(.., target, ...)`
with target being list of all targets, all targets would be rebuilt each time
one of the targets from this list is missing. This would happen, for example,
when new language `ll` enters `LINGUAS_FILE` (at this moment there is no
`ll.po` file yet). To avoid this, we override
`SCons.Builder.BuilerBase._execute()` and call it separatelly for each
`SCons.Builder.BuilerBase._execute()` and call it separately for each
target. Here we also append to the target list the languages read from
`LINGUAS_FILE`.
"""
@ -212,7 +212,7 @@ class _POFileBuilder(BuilderBase):
""" Execute builder's actions.
Here we append to `target` the languages read from `$LINGUAS_FILE` and
apply `SCons.Builder.BuilderBase._execute()` separatelly to each target.
apply `SCons.Builder.BuilderBase._execute()` separately to each target.
The arguments and return value are same as for
`SCons.Builder.BuilderBase._execute()`.
"""

View File

@ -343,7 +343,7 @@ def is_host_target_supported(host_target, msvc_version):
(host, target) pair, not that the toolchain is actually on the machine.
Args:
host_target: canonalized host-target pair, e.g.
host_target: canonicalized host-target pair, e.g.
("x86", "amd64") for cross compilation from 32- to 64-bit Windows.
msvc_version: Visual C++ version (major.minor), e.g. "10.0"

View File

@ -33,7 +33,7 @@ selection method.
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
#forward proxy to the preffered cxx version
#forward proxy to the preferred cxx version
from SCons.Tool.aixcxx import *
# Local Variables:

View File

@ -33,7 +33,7 @@ selection method.
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
#forward proxy to the preffered cxx version
#forward proxy to the preferred cxx version
from SCons.Tool.cxx import *

View File

@ -34,7 +34,7 @@ selection method.
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
#forward proxy to the preffered cxx version
#forward proxy to the preferred cxx version
from SCons.Tool.gxx import *

View File

@ -34,7 +34,7 @@ selection method.
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
#forward proxy to the preffered cxx version
#forward proxy to the preferred cxx version
from SCons.Tool.hpcxx import *

View File

@ -516,7 +516,7 @@ def generate(env, version=None, abi=None, topdir=None, verbose=0):
('LIB' , 'LibDir', 'Lib'),
('PATH' , 'BinDir', 'Bin'))
# We are supposed to ignore version if topdir is set, so set
# it to the emptry string if it's not already set.
# it to the empty string if it's not already set.
if version is None:
version = ''
# Each path has a registry entry, use that or default to subdir

View File

@ -44,7 +44,7 @@ from SCons.Tool.GettextCommon import (
class _MOFileBuilder(BuilderBase):
"""The builder class for `MO` files.
The reason for this builder to exists and its purpose is quite simillar
The reason for this builder to exists and its purpose is quite similar
as for `_POFileBuilder`. This time, we extend list of sources, not targets,
and call `BuilderBase._execute()` only once (as we assume single-target
here).

View File

@ -205,7 +205,7 @@ def RegServerFunc(target, source, env):
if ret:
raise SCons.Errors.UserError("Unable to register %s" % target[0])
else:
print("Registered %s sucessfully" % target[0])
print("Registered %s successfully" % target[0])
return ret
return 0

View File

@ -285,7 +285,7 @@ def generate(env):
env['SHOBJPREFIX'] = '$OBJPREFIX'
env['SHOBJSUFFIX'] = '$OBJSUFFIX'
# MSVC probably wont support unistd.h so default
# MSVC probably won't support unistd.h so default
# without it for lex generation
env["LEXUNISTD"] = SCons.Util.CLVar("--nounistd")

View File

@ -768,15 +768,15 @@ class _GenerateV6DSP(_DSPGenerator):
# read to get configs
line = dspfile.readline()
datas = line
data = line
while line and line != '\n':
line = dspfile.readline()
datas = datas + line
data = data + line
# OK, we've found our little pickled cache of data.
try:
datas = base64.decodestring(datas)
data = pickle.loads(datas)
data = base64.decodestring(data)
data = pickle.loads(data)
except KeyboardInterrupt:
raise
except Exception:
@ -787,17 +787,17 @@ class _GenerateV6DSP(_DSPGenerator):
# keep reading to get sources
data = None
line = dspfile.readline()
datas = line
data = line
while line and line != '\n':
line = dspfile.readline()
datas = datas + line
data = data + line
dspfile.close()
# OK, we've found our little pickled cache of data.
# it has a "# " in front of it, so we strip that.
try:
datas = base64.decodestring(datas)
data = pickle.loads(datas)
data = base64.decodestring(data)
data = pickle.loads(data)
except KeyboardInterrupt:
raise
except:
@ -1086,15 +1086,15 @@ class _GenerateV7DSP(_DSPGenerator, _GenerateV7User):
# read to get configs
line = dspfile.readline()
datas = line
data = line
while line and line != '\n':
line = dspfile.readline()
datas = datas + line
data = data + line
# OK, we've found our little pickled cache of data.
try:
datas = base64.decodestring(datas)
data = pickle.loads(datas)
data = base64.decodestring(data)
data = pickle.loads(data)
except KeyboardInterrupt:
raise
except:
@ -1105,16 +1105,16 @@ class _GenerateV7DSP(_DSPGenerator, _GenerateV7User):
# keep reading to get sources
data = None
line = dspfile.readline()
datas = line
data = line
while line and line != '\n':
line = dspfile.readline()
datas = datas + line
data = data + line
dspfile.close()
# OK, we've found our little pickled cache of data.
try:
datas = base64.decodestring(datas)
data = pickle.loads(datas)
data = base64.decodestring(data)
data = pickle.loads(data)
except KeyboardInterrupt:
raise
except:
@ -1582,16 +1582,16 @@ class _GenerateV7DSW(_DSWGenerator):
line = dswfile.readline()
line = dswfile.readline()
datas = line
data = line
while line:
line = dswfile.readline()
datas = datas + line
data = data + line
dswfile.close()
# OK, we've found our little pickled cache of data.
try:
datas = base64.decodestring(datas)
data = pickle.loads(datas)
data = base64.decodestring(data)
data = pickle.loads(data)
except KeyboardInterrupt:
raise
except:

View File

@ -47,7 +47,7 @@ def package(env, target, source, PACKAGEROOT, NAME, VERSION, DESCRIPTION,
target, source = stripinstallbuilder(target, source, env)
target, source = putintopackageroot(target, source, env, PACKAGEROOT)
# This should be overrideable from the construction environment,
# This should be overridable from the construction environment,
# which it is by using ARCHITECTURE=.
# Guessing based on what os.uname() returns at least allows it
# to work for both i386 and x86_64 Linux systems.

View File

@ -272,7 +272,7 @@ def build_wxsfile_file_section(root, files, NAME, VERSION, VENDOR, filename_set,
Files need to be specified in 8.3 format and in the long name format, long
filenames will be converted automatically.
Features are specficied with the 'X_MSI_FEATURE' or 'DOC' FileTag.
Features are specified with the 'X_MSI_FEATURE' or 'DOC' FileTag.
"""
root = create_default_directory_layout( root, NAME, VERSION, VENDOR, filename_set )
components = create_feature_dict( files )
@ -363,7 +363,7 @@ def build_wxsfile_features_section(root, files, NAME, VERSION, SUMMARY, id_set):
This is achieved by finding all <component>s and adding them to a default target.
It should be called after the tree has been built completly. We assume
It should be called after the tree has been built completely. We assume
that a MY_DEFAULT_FOLDER Property is defined in the wxs file tree.
Furthermore a top-level with the name and VERSION of the software will be created.

View File

@ -303,7 +303,7 @@ def build_specfile_filesection(spec, files):
class SimpleTagCompiler:
""" Compile RPM tags by doing simple string substitution.
The replacement specfication is stored in the *tagset* dictionary,
The replacement specification is stored in the *tagset* dictionary,
something like::
{"abc" : "cdef %s ", "abc_": "cdef %s %s"}

View File

@ -312,11 +312,11 @@ def generate(env):
'-o ${TARGETS[1]} $SOURCE'),
CLVar('$QT_MOC $QT_MOCFROMHFLAGS -o ${TARGETS[2]} ${TARGETS[0]}')],
# command to generate meta object information for a class
# declarated in a header
# declared in a header
QT_MOCFROMHCOM = (
'$QT_MOC $QT_MOCFROMHFLAGS -o ${TARGETS[0]} $SOURCE'),
# command to generate meta object information for a class
# declarated in a cpp file
# declared in a cpp file
QT_MOCFROMCXXCOM = [
CLVar('$QT_MOC $QT_MOCFROMCXXFLAGS -o ${TARGETS[0]} $SOURCE'),
Action(checkMocIncluded,None)])

View File

@ -33,7 +33,7 @@ selection method.
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
#forward proxy to the preffered cxx version
#forward proxy to the preferred cxx version
from SCons.Tool.sgicxx import *
# Local Variables:

View File

@ -34,7 +34,7 @@ selection method.
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
#forward proxy to the preffered cxx version
#forward proxy to the preferred cxx version
from SCons.Tool.suncxx import *

View File

@ -113,7 +113,7 @@ def _update_pot_file(target, source, env):
# Revert working dirs to previous state.
env.fs.chdir(save_cwd, 0)
os.chdir(save_os_cwd)
# If the command was not successfull, return error code.
# If the command was not successful, return error code.
if status: return status
new_content = cmd.out

View File

@ -1435,7 +1435,7 @@ class UniqueList(UserList):
"""A list which maintains uniqueness.
Uniquing is lazy: rather than being assured on list changes, it is fixed
up on access by those methods which need to act on a uniqe list to be
up on access by those methods which need to act on a unique list to be
correct. That means things like "in" don't have to eat the uniquing time.
"""
def __init__(self, initlist=None):

View File

@ -87,7 +87,7 @@ PICKLE_PROTOCOL = 4
class NoSlotsPyPy(type):
""" Metaclass for PyPy compatitbility.
""" Metaclass for PyPy compatibility.
PyPy does not work well with __slots__ and __class__ assignment.
"""

View File

@ -260,7 +260,7 @@ class PreProcessor:
# For efficiency, a dispatch table maps each C preprocessor
# directive (#if, #define, etc.) to the method that should be
# called when we see it. We accomodate state changes (#if,
# called when we see it. We accommodate state changes (#if,
# #ifdef, #ifndef) by pushing the current dispatch table on a
# stack and changing what method gets called for each relevant
# directive we might see next at this level (#else, #elif).

View File

@ -55,7 +55,7 @@ class dblite:
that we'll use when our __del__() method calls our sync() method
during shutdown. We might get destroyed when Python is in the midst
of tearing down the different modules we import in an essentially
arbitrary order, and some of the various modules's global attributes
arbitrary order, and some of the various modules' global attributes
may already be wiped out from under us.
See the discussion at:

View File

@ -485,7 +485,7 @@ if selected_platform in platform_list:
#not needed
#env.Prepend(CXXFLAGS=["/EHr-"])
# Apparently disabling exeptions when you also need to have stl containers
# Apparently disabling exceptions when you also need to have stl containers
# (Some of the 3rd party code needs them)
# is not as simple with msvc as I originally thought.
# So for now they are always enabled.
@ -647,7 +647,7 @@ if selected_platform in platform_list:
sys.path.remove(path)
sys.modules.pop("config")
#TODO hack, the editor should be a module aswell
#TODO hack, the editor should be a module as well
if env["tools"] and not env["module_freetype_enabled"]:
print("The editor (tools=yes) can't be built if freetype is disabled! Stopping.")
sys.exit(255)

20
TODO.md
View File

@ -3,7 +3,7 @@
## Core
- Add a core binder class for Math. This would allow for simpler script to engine side code ports. Maybe it could also smplify scripting language code.
- Maye threading could be de-modernized. So the implementation could use the old os level constructs. (like pthreads). An implementation that uses std::threads could be kept around though. (without it being compiled). -> Just add back and update the old os api implementations (pthreads etc), keep the core classes, and make every single class that uses std threads overrideable similarly to what can be done with thread now (mutexes etc).
- Maye threading could be de-modernized. So the implementation could use the old os level constructs. (like pthreads). An implementation that uses std::threads could be kept around though. (without it being compiled). -> Just add back and update the old os api implementations (pthreads etc), keep the core classes, and make every single class that uses std threads overridable similarly to what can be done with thread now (mutexes etc).
- Maybe use NULLs again instead of nullptrs? TODO check if there is an actual difference, other than requiring cpp11.
- Add error macro like methods to global scope for scripting
- Add containers that are a drop in replacement for stl containers.
@ -18,8 +18,8 @@
- There are probably a few lingering bugs, as some examples give bad results.
- Need to make sure wave size, out size, and size related things are consistent, and intuitive, as right now they are neither.
- The bindings will likely need more improvements.
- Would be nice, if the algorithm could be parametrized from gdscript aswell.
- Maybe addding Array2D, and Array3D like classes to the engine would be a good idea.
- Would be nice, if the algorithm could be parametrized from gdscript as well.
- Maybe adding Array2D, and Array3D like classes to the engine would be a good idea.
- Replace std::vectors to engine vectors.
## Physics
@ -48,7 +48,7 @@
## Editor
- Add support for enabling / disabling editor plugins, and also add a gui for this. (Like how the gdscript addons can be enabled/disabled, but for built in c++ stuff.) It will need support for either exlusion, or dependencies. (Dependencies would be better.)
- Add support for enabling / disabling editor plugins, and also add a gui for this. (Like how the gdscript addons can be enabled/disabled, but for built in c++ stuff.) It will need support for either exclusion, or dependencies. (Dependencies would be better.)
- Modularize the editor.
## Engine
@ -58,8 +58,8 @@
- Add more hooks where needed, to let stuff register itself. Like visual server backends, so adding them is simple, as I think this is the best way forward, so you can just create your custom rendering backend, when needed. Like if you want lightmaps, add a module that has the tooling + visualserver that has it implemented.
- Port the DisplayServer from Godot4, as I think having display and windowing in a DisplayServer singleton instead of in OS is better architecturally.
- Port the capability to have more than one windows. Multi windowing however should be disabled by default, also I don't want to port the full multi windowing stuff for the editor, as it's a lot leaner the way it is. However multi windowing would be cool for creating tools. Would also make it easier to not have a window at all.
- The DisplayServer at first could just use stuff in OS, so it doesn't have to be ported all at onece.
- Should backport the tests and the test suite from Godot4 aswell.
- The DisplayServer at first could just use stuff in OS, so it doesn't have to be ported all at once.
- Should backport the tests and the test suite from Godot4 as well.
- Backport optimizations to the hashmap (or maybe just add it as another option), and also replace usage where applicable (https://github.com/godotengine/godot/commit/8b7c7f5a753b43cec10f72b274bb1d70c253652b), and (https://github.com/godotengine/godot/commit/45af29da8095af16729955117a165d23e77cd740)
- Make operator='s return void (https://github.com/godotengine/godot/commit/7da392bcc52366740394322728464e724cf20cdf).
- Switch back to the old c++ version (pre c++11) for the codebase. I'm already targeting low end hardware, I think it will likely come in handy later.
@ -76,7 +76,7 @@
## GUI
- Rename the EditorZoomWidget to something like ZoomWidget, and make it available for the games aswell. Also I think I did smaller improvements to it in the world_generator addon. Also port those.
- Rename the EditorZoomWidget to something like ZoomWidget, and make it available for the games as well. Also I think I did smaller improvements to it in the world_generator addon. Also port those.
## Graphics
@ -96,7 +96,7 @@
- Support for adding graphics backends from modules. This will require platform specific creation funcs.
- Could add an api to query gpus, and optionally to mess with them. Like you could use an off gpu to to do something, maybe like calculations, etc. (Needs more research, not even sure if this is possible or not, or how hard it would be.)
- Rename VisualServer to RenderingServer like on Godot 4. I think it's a better long term name for what it does.
- Port the RenderingDevice API from Godot 4 alongside a RenderingServer implementation that uses it once it's stable. However keep the GLES backends around the same way as they are now, so RenderingServer would be Pluggable aswell: RenderingServer <- RenderingSreverGLES2, RenderingServer <- RenderingSreverGLES3 (eventually), RenderingServer <- RenderingSreverRenderingDevice (This would then just use an available RenderingDevice).
- Port the RenderingDevice API from Godot 4 alongside a RenderingServer implementation that uses it once it's stable. However keep the GLES backends around the same way as they are now, so RenderingServer would be Pluggable as well: RenderingServer <- RenderingSreverGLES2, RenderingServer <- RenderingSreverGLES3 (eventually), RenderingServer <- RenderingSreverRenderingDevice (This would then just use an available RenderingDevice).
- Port the newer godot rendering backends once they are stable enough. (With at least some of their features.)
- Somehow make VisualServer's implementation more modular.
- Add a scriptable VisualServer implementation. Similar idea as the scriptable networking api. Alongside with a similar interface for GLES. Would help with experimentation.
@ -164,8 +164,8 @@
## Binaries, Containers, Releases
- Set up containers and build scripts to autmatically build frt and frt_sdl binaries.
- Set up automatically building ios binaries aswell.
- Set up containers and build scripts to automatically build frt and frt_sdl binaries.
- Set up automatically building ios binaries as well.
- Try to set up godot's UWP platform again. Maybe.
- Add all binaries to the project side export and release helper scripts.
- Maybe split TPZ files, so you can install the export templates that you want.

View File

@ -3228,13 +3228,13 @@ void register_variant_methods() {
ADDFUNC1R(TRANSFORM2D, REAL, Transform2D, tdoty, VECTOR2, "v", varray());
ADDFUNC1R(TRANSFORM2D, VECTOR2, Transform2D, get_axis, INT, "axis", varray());
ADDFUNC2(TRANSFORM2D, NIL, Transform2D, set_axis, INT, "axis", VECTOR2, "vec", varray());
ADDFUNC1R(TRANSFORM2D, VECTOR2, Transform2D, get_column, INT, "colum", varray());
ADDFUNC2(TRANSFORM2D, NIL, Transform2D, set_column, INT, "colum", VECTOR2, "vec", varray());
ADDFUNC1R(TRANSFORM2D, VECTOR2, Transform2D, get_column, INT, "column", varray());
ADDFUNC2(TRANSFORM2D, NIL, Transform2D, set_column, INT, "column", VECTOR2, "vec", varray());
ADDFUNC0(TRANSFORM2D, NIL, Transform2D, invert, varray());
ADDFUNC0(TRANSFORM2D, NIL, Transform2D, affine_invert, varray());
ADDFUNC0R(TRANSFORM2D, TRANSFORM2D, Transform2D, inverse, varray());
ADDFUNC0R(TRANSFORM2D, TRANSFORM2D, Transform2D, affine_inverse, varray());
ADDFUNC1(TRANSFORM2D, NIL, Transform2D, set_column, REAL, "colum", varray());
ADDFUNC1(TRANSFORM2D, NIL, Transform2D, set_column, REAL, "column", varray());
ADDFUNC0R(TRANSFORM2D, TRANSFORM2D, Transform2D, inverse, varray());
ADDFUNC0R(TRANSFORM2D, REAL, Transform2D, get_rotation, varray());
ADDFUNC0R(TRANSFORM2D, REAL, Transform2D, get_skew, varray());

View File

@ -291,8 +291,8 @@
<member name="editors/3d/navigation/navigation_scheme" type="int" setter="" getter="">
The navigation scheme to use in the 3D editor. Changing this setting will affect the mouse buttons that must be held down to perform certain operations in the 3D editor viewport.
- [b]Godot[/b] Middle mouse button to orbit, [kbd]Shift + Middle mouse button[/kbd] to pan. [kbd]Mouse wheel[/kbd] to zoom.
- [b]Maya:[/b] [kbd]Alt + Left mouse buttton[/kbd] to orbit. [kbd]Middle mouse button[/kbd] to pan, [kbd]Shift + Middle mouse button[/kbd] to pan 10 times faster. [kbd]Mouse wheel[/kbd] to zoom.
- [b]Modo:[/b] [kbd]Alt + Left mouse buttton[/kbd] to orbit. [kbd]Alt + Shift + Left mouse button[/kbd] to pan. [kbd]Ctrl + Alt + Left mouse button[/kbd] to zoom.
- [b]Maya:[/b] [kbd]Alt + Left mouse button[/kbd] to orbit. [kbd]Middle mouse button[/kbd] to pan, [kbd]Shift + Middle mouse button[/kbd] to pan 10 times faster. [kbd]Mouse wheel[/kbd] to zoom.
- [b]Modo:[/b] [kbd]Alt + Left mouse button[/kbd] to orbit. [kbd]Alt + Shift + Left mouse button[/kbd] to pan. [kbd]Ctrl + Alt + Left mouse button[/kbd] to zoom.
See also [member editors/3d/freelook/freelook_navigation_scheme].
[b]Note:[/b] On certain window managers on Linux, the [kbd]Alt[/kbd] key will be intercepted by the window manager when clicking a mouse button at the same time. This means Godot will not see the modifier key as being pressed.
</member>

View File

@ -806,7 +806,7 @@
The method takes only global paths, so you may need to use [method ProjectSettings.globalize_path]. Do not use it for files in [code]res://[/code] as it will not work in exported project.
[b]Note:[/b] If the user has disabled the recycle bin on their system, the file will be permanently deleted instead.
[codeblock]
var file_to_remove = "user://slot1.sav"
var file_to_remove = "user://slot1.save"
OS.move_to_trash(ProjectSettings.globalize_path(file_to_remove))
[/codeblock]
</description>

View File

@ -114,13 +114,13 @@
<method name="get_string_from_utf16">
<return type="String" />
<description>
Converts UTF-16 encoded array to [String]. If the BOM is missing, system endianness is assumed. Returns empty string if source array is not vaild UTF-16 string.
Converts UTF-16 encoded array to [String]. If the BOM is missing, system endianness is assumed. Returns empty string if source array is not valid UTF-16 string.
</description>
</method>
<method name="get_string_from_utf32">
<return type="String" />
<description>
Converts UTF-8 encoded array to [String]. Slower than [method get_string_from_ascii] but supports UTF-8 encoded data. Use this function if you are unsure about the source of the data. For user input this function should always be preferred. Returns empty string if source array is not vaild UTF-8 string.
Converts UTF-8 encoded array to [String]. Slower than [method get_string_from_ascii] but supports UTF-8 encoded data. Use this function if you are unsure about the source of the data. For user input this function should always be preferred. Returns empty string if source array is not valid UTF-8 string.
</description>
</method>
<method name="get_string_from_utf8">

View File

@ -493,7 +493,7 @@
<argument index="0" name="id" type="int" />
<description>
Emitted when an item of some [code]id[/code] is pressed or its accelerator is activated.
[b]Note:[/b] If [code]id[/code] is negative (either explicitly or due to overflow), this will return the correponding index instead.
[b]Note:[/b] If [code]id[/code] is negative (either explicitly or due to overflow), this will return the corresponding index instead.
</description>
</signal>
<signal name="index_pressed">

View File

@ -83,7 +83,7 @@
</method>
<method name="get_column">
<return type="Vector2" />
<argument index="0" name="colum" type="int" />
<argument index="0" name="column" type="int" />
<description>
</description>
</method>
@ -213,7 +213,7 @@
</description>
</method>
<method name="set_column">
<argument index="0" name="colum" type="float" />
<argument index="0" name="column" type="float" />
<description>
</description>
</method>

View File

@ -200,7 +200,7 @@ entities for every model/body you have.
Bodies are stored at `EntityData->EntitySpeciesData->ModelDatas (SpeciesModelData)->Body`
When an `Entity` gets initialized, it will instance it's body automatically, but if you want to intance it yourself,
When an `Entity` gets initialized, it will instance it's body automatically, but if you want to do it yourself,
you can call `void instance_body(entity_data: EntityData, model_index: int)` on an `Entity`.
The `model_index` property tell the `Entity` which one it should use.
@ -360,7 +360,7 @@ The standard speed resource implementation.
#### EntityResourceCostData
This is the class taht lets you implement resource costs. For example mana cost for a spell.
This is the class that lets you implement resource costs. For example mana cost for a spell.
##### EntityResourceCostDataResource
@ -481,9 +481,9 @@ func sapply_aura() -> void:
#### UI
[Complete UI Implemetation](https://github.com/Relintai/broken_seals/tree/master/game/ui/player)
[Complete UI Implementation](https://github.com/Relintai/broken_seals/tree/master/game/ui/player)
[Player UI Core Implemetation](https://github.com/Relintai/broken_seals/tree/master/game/ui/player/player_ui)
[Player UI Core Implementation](https://github.com/Relintai/broken_seals/tree/master/game/ui/player/player_ui)
[Aura Frame Implementation](https://github.com/Relintai/broken_seals/tree/master/game/ui/player/auraframe) \
[Castbar Implementation](https://github.com/Relintai/broken_seals/tree/master/game/ui/player/castbar) \
@ -495,7 +495,7 @@ func sapply_aura() -> void:
[Inventory Window Implementation](https://github.com/Relintai/broken_seals/tree/master/game/ui/player/bags) \
[Crafting Window Implementation](https://github.com/Relintai/broken_seals/tree/master/game/ui/player/crafting) \
[Loot Window Implementation](https://github.com/Relintai/broken_seals/tree/master/game/ui/player/loot_window) \
[Talent Window Implemetation](https://github.com/Relintai/broken_seals/tree/master/game/ui/player/talents) \
[Talent Window Implementation](https://github.com/Relintai/broken_seals/tree/master/game/ui/player/talents) \
[Spellbook Window Implementation](https://github.com/Relintai/broken_seals/tree/master/game/ui/player/spellbook) \
[Vendor Window Implementation](https://github.com/Relintai/broken_seals/tree/master/game/ui/player/vendor_window) \
[Trainer Window Implementation](https://github.com/Relintai/broken_seals/tree/master/game/ui/player/trainer)
@ -550,7 +550,7 @@ And an example ui implementation [here](https://github.com/Relintai/broken_seals
You can set all the xp values for your levels in `ProjectSettings->Ess->xp`.
Now you can start distributing xp, for whatever you'd like to Entities, using `Entity.xp_adds(vlaue : int)`
Now you can start distributing xp, for whatever you'd like to Entities, using `Entity.xp_adds(value : int)`
## Examples

View File

@ -30,7 +30,7 @@ For future reference it's based on e8ff4e8862735197c3308cfe926eeba68e0d2edb.
Porting is mostly done, but it does needs some debugging (it has a crash if smart linking is enabled).
I might just return to using the original FQMS. As if meshes are merged together using `MeshUtils.merge_mesh_array`, or
`bake_mesh_array_uv` the original algortithm will work fine. Still on the fence about it.
`bake_mesh_array_uv` the original algorithm will work fine. Still on the fence about it.
# Building

View File

@ -19,7 +19,7 @@ repo, should you want to. It contains all my modules.
# PropData
Props are basicly 3D scenes in a simple format, so other things can easily process them without instancing.
Props are basically 3D scenes in a simple format, so other things can easily process them without instancing.
For example if you create a building from MeshDataInstances, and then convert that scene to a prop, Voxelman
can spawn it, merge it's meshes, and create lods without any scene instancing.
@ -36,7 +36,7 @@ They contain 4 methods for scene->prop conversion, namely:
//Whether or not this PropDataEntry can process the given Node.
virtual bool _processor_handles(Node *node);
//Save the given Node into the given prop_data any way you like, at tranform.
//Save the given Node into the given prop_data any way you like, at transform.
virtual void _processor_process(Ref<PropData> prop_data, Node *node, const Transform &transform);
//Turn PropDataEntry back into a Node

View File

@ -19,7 +19,7 @@ repo, should you want to. It contains all my modules.
# Prop2DData
Prop2Ds are basicly 3D scenes in a simple format, so other things can easily process them without instancing.
Prop2Ds are basically 3D scenes in a simple format, so other things can easily process them without instancing.
For example if you create a building from MeshDataInstances, and then convert that scene to a prop, Voxelman
can spawn it, merge it's meshes, and create lods without any scene instancing.
@ -36,7 +36,7 @@ They contain 4 methods for scene->prop conversion, namely:
//Whether or not this Prop2DDataEntry can process the given Node.
virtual bool _processor_handles(Node *node);
//Save the given Node into the given prop_data any way you like, at tranform.
//Save the given Node into the given prop_data any way you like, at transform.
virtual void _processor_process(Ref<Prop2DData> prop_data, Node *node, const Transform &transform);
//Turn Prop2DDataEntry back into a Node

View File

@ -96,7 +96,7 @@ You can write your own algorithm by implementing the ``` void _generate_chunk(ch
Producing just a terrain mesh for a chunk is not that hard by itself. However when you start adding layers/features
like lod generation, collision meshes (especially since manipulating the physics server is not threadsafe),
vertex lights, props, snapping props, props with vertex lights, etc
chunk mesh generation can quicly become a serious mess.
chunk mesh generation can quickly become a serious mess.
TerraJobs are meant to solve the issue with less complexity.
@ -178,7 +178,7 @@ When it starts building meshes it will start submitting jobs to thread_pool (if
If you want to implement your own meshing algorithm you can do so by overriding ``` void _add_chunk(chunk: TerraChunk) virtual ```.
TerraMesher works similarly to SurfaceTool, so first you need to set colors, uvs, etc and then call add_vertex.
They won't get reset, so for exaple if you want all your vertices to have a certain color, you can get away with setting it only once.
They won't get reset, so for example if you want all your vertices to have a certain color, you can get away with setting it only once.
## Compiling
@ -204,7 +204,7 @@ If you want Godot 4.0:
(the folder needs to be named terraman!)
4. If you want the optional dependencies run these commands aswell:
4. If you want the optional dependencies run these commands as well:
```git clone https://github.com/Relintai/texture_packer.git texture_packer``` \
```git clone https://github.com/Relintai/mesh_data_resource.git mesh_data_resource```

View File

@ -97,7 +97,7 @@ You can write your own algorithm by implementing the ``` void _generate_chunk(ch
Producing just a terrain mesh for a chunk is not that hard by itself. However when you start adding layers/features
like lod generation, collision meshes (especially since manipulating the physics server is not threadsafe),
vertex lights, props, snapping props, props with vertex lights, etc
chunk mesh generation can quicly become a serious mess.
chunk mesh generation can quickly become a serious mess.
TerraJobs are meant to solve the issue with less complexity.
@ -180,7 +180,7 @@ When it starts building meshes it will start submitting jobs to thread_pool one
If you want to implement your own meshing algorithm you can do so by overriding ``` void _add_chunk(chunk: TerraChunk) virtual ```.
TerraMesher works similarly to SurfaceTool, so first you need to set colors, uvs, etc and then call add_vertex.
They won't get reset, so for exaple if you want all your vertices to have a certain color, you can get away with setting it only once.
They won't get reset, so for example if you want all your vertices to have a certain color, you can get away with setting it only once.
## Compiling
@ -206,7 +206,7 @@ If you want Godot 4.0:
(the folder needs to be named terraman!)
4. If you want the optional dependencies run these commands aswell:
4. If you want the optional dependencies run these commands as well:
```git clone https://github.com/Relintai/texture_packer.git texture_packer``` \
```git clone https://github.com/Relintai/mesh_data_resource.git mesh_data_resource```

View File

@ -20,7 +20,7 @@ Contains a job that can run on different threads.
A job is only considered finished, if you set the 'complete' property to 'true'. If multiple threads are available,
the system will not check for this though, because there is no need.
If you want to support envioronments that doesn't have threading, you can use:
If you want to support environments that doesn't have threading, you can use:
```
bool should_do(const bool just_check = false);
@ -31,7 +31,7 @@ For example:
```
func _execute():
# On the first run this will return true, on subsequest runs it will return false
# On the first run this will return true, on subsequent runs it will return false
if should_do():
thing1()
@ -85,7 +85,7 @@ func _execute():
```
This class will need litle tweaks, hopefully I can get to is soon.
This class will need little tweaks, hopefully I can get to is soon.
# ThreadPoolExecuteJob
@ -100,7 +100,7 @@ ThreadPool.create_execute_job(self, "method", arg1, arg2, ...)
ThreadPool.create_execute_job_simple(self, "method")
```
This class will need litle tweaks, hopefully I can get to is soon.
This class will need little tweaks, hopefully I can get to is soon.
# ThreadPool singleton

View File

@ -85,7 +85,7 @@ A marching cubes based Voxel World. Actually it uses a modified version of the T
### VoxelWorldCubic
This is my own meshing algorithm, it's basicly a Minecraft style mesher that can take isolevel into account.
This is my own meshing algorithm, it's basically a Minecraft style mesher that can take isolevel into account.
It's kind of a pain to use, it might get removed.
@ -102,7 +102,7 @@ You can write your own algorithm by implementing the ``` void _generate_chunk(ch
Producing just a terrain mesh for a chunk is not that hard by itself. However when you start adding layers/features
like lod generation, collision meshes (especially since manipulating the physics server is not threadsafe),
vertex lights, props, snapping props, props with vertex lights, etc
chunk mesh generation can quicly become a serious mess.
chunk mesh generation can quickly become a serious mess.
VoxelJobs are meant to solve the issue with less complexity.
@ -185,7 +185,7 @@ When it starts building meshes it will start submitting jobs to thread_pool one
If you want to implement your own meshing algorithm you can do so by overriding ``` void _add_chunk(chunk: VoxelChunk) virtual ```.
VoxelMesher works similarly to SurfaceTool, so first you need to set colors, uvs, etc and then call add_vertex.
They won't get reset, so for exaple if you want all your vertices to have a certain color, you can get away with setting it only once.
They won't get reset, so for example if you want all your vertices to have a certain color, you can get away with setting it only once.
## Compiling
@ -211,7 +211,7 @@ If you want Godot 4.0:
(the folder needs to be named voxelman!)
4. If you want the optional dependencies run these commands aswell:
4. If you want the optional dependencies run these commands as well:
```git clone https://github.com/Relintai/texture_packer.git texture_packer``` \
```git clone https://github.com/Relintai/mesh_data_resource.git mesh_data_resource```

View File

@ -253,7 +253,7 @@ bool EditorExportPlatform::fill_log_messages(RichTextLabel *p_log, Error p_err)
} else {
p_log->add_image(EditorNode::get_singleton()->get_gui_base()->get_theme_icon("StatusSuccess", "EditorIcons"), 16 * EDSCALE, 16 * EDSCALE, RichTextLabel::INLINE_ALIGN_CENTER);
p_log->add_text(" ");
p_log->add_text(TTR("Completed sucessfully."));
p_log->add_text(TTR("Completed successfully."));
if (msg_count > 0) {
has_messages = true;
}

View File

@ -1952,7 +1952,7 @@ void EditorFileSystem::reimport_files(const Vector<String> &p_files) {
if (group_file_cache.has(p_files[i])) {
//maybe the file itself is a group!
groups_to_reimport.insert(p_files[i]);
//groups do not belong to grups
//groups do not belong to groups
group_file = String();
} else if (group_file != String()) {
//it's a group file, add group to import and skip this file

View File

@ -940,7 +940,7 @@ void SpatialEditorViewport::_update_name() {
}
if (RoomManager::static_rooms_get_active_and_loaded()) {
// TRANSLATORS: This will be appended to the view name when Portal Occulusion is enabled.
// TRANSLATORS: This will be appended to the view name when Portal Occlusion is enabled.
name += TTR(" [portals active]");
}

View File

@ -65,7 +65,7 @@ class SpriteFramesEditor : public HSplitContainer {
enum {
PARAM_USE_CURRENT, // Used in callbacks to indicate `dominant_param` should be not updated.
PARAM_FRAME_COUNT, // Keep "Horizontal" & "Vertial" values.
PARAM_FRAME_COUNT, // Keep "Horizontal" & "Vertical" values.
PARAM_SIZE, // Keep "Size" values.
};
int dominant_param = PARAM_FRAME_COUNT;

View File

@ -39,7 +39,7 @@ scons tools=no target=release_debug custom_modules_shared=no debug_symbols=no pl
scons tools=no target=release custom_modules_shared=no debug_symbols=no platform=x11 arch=armv7 CCFLAGS="-mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -mlittle-endian -munaligned-access" "$@" . 2>&1 | tee logs/linux_template_r_armhf.log
# Rename armhf to pi4
# Todo think about a better naming convention, especially if FRT is added to the builds aswell
# Todo think about a better naming convention, especially if FRT is added to the builds as well
mv -f bin/pandemonium.x11.opt.armv7 bin/pandemonium.x11.opt.pi4
mv -f bin/pandemonium.x11.opt.debug.armv7 bin/pandemonium.x11.opt.debug.pi4

4
misc/scripts/codespell.sh Normal file → Executable file
View File

@ -1,5 +1,5 @@
#!/bin/sh
SKIP_LIST="./thirdparty,*.gen.*,*.po,*.pot,package-lock.json,./core/string/locales.h,./DONORS.md,./misc/scripts/codespell.sh"
IGNORE_LIST="ba,childs,curvelinear,doubleclick,expct,fave,findn,gird,inout,leapyear,lod,nd,numer,ois,readded,ro,statics,te,varn"
SKIP_LIST="./.git,./bin,./thirdparty,*.gen.*,*.po,*.pot,package-lock.json,./core/string/locales.h,./DONORS.md,./misc/dist/linux/net.relintai.pandemonium.Pandemonium.desktop,./misc/scripts/codespell.sh,./modules/database_sqlite/sqlite/*,./modules/lz4/thirdparty/*,./modules/web/html/libs/*,./modules/mesh_utils/xatlas/*,./modules/mesh_utils/delaunay/*"
IGNORE_LIST="ba,childs,commiting,complies,curvelinear,doubleclick,expct,fave,findn,gird,inout,leapyear,lod,nd,numer,ois,readded,ro,statics,switchs,te,varius,varn,translater,acount,matc,ede"
codespell -w -q 3 -S "${SKIP_LIST}" -L "${IGNORE_LIST}"

View File

@ -3,7 +3,7 @@ set -e
# Run this script form it's own folder
# Before using this sript, I recommend using:
# Before using this script, I recommend using:
# pre_release_check_files_present.sh
# strip_all.sh

View File

@ -81,7 +81,7 @@
<method name="insert">
<return type="QueryBuilder" />
<argument index="0" name="table_name" type="String" default="&quot;&quot;" />
<argument index="1" name="colums" type="String" default="&quot;&quot;" />
<argument index="1" name="columns" type="String" default="&quot;&quot;" />
<description>
</description>
</method>

View File

@ -322,7 +322,7 @@ void QueryBuilder::_bind_methods() {
ClassDB::bind_method(D_METHOD("where", "params"), &QueryBuilder::_where_bind, "");
ClassDB::bind_method(D_METHOD("from", "params"), &QueryBuilder::_from_bind, "");
ClassDB::bind_method(D_METHOD("insert", "table_name", "colums"), &QueryBuilder::_insert_bind, "", "");
ClassDB::bind_method(D_METHOD("insert", "table_name", "columns"), &QueryBuilder::_insert_bind, "", "");
ClassDB::bind_method(D_METHOD("values", "params_str"), &QueryBuilder::_values_bind, "");
ClassDB::bind_method(D_METHOD("val"), &QueryBuilder::_val_bind);
ClassDB::bind_method(D_METHOD("vals", "param"), &QueryBuilder::_vals_bind);

View File

@ -7,7 +7,7 @@
#include <memory>
//Brynet has it aswell, and because of using namespace it is defined here aswell
//Brynet has it as well, and because of using namespace it is defined here as well
//later this will be fixed better
#ifdef IS_NUM
#undef IS_NUM

View File

@ -3,7 +3,7 @@
#include "database/database.h"
//Brynet has it aswell, and because of using namespace it is defined here aswell
//Brynet has it as well, and because of using namespace it is defined here as well
//later this will be fixed better
//#ifdef IS_NUM
//#undef IS_NUM

View File

@ -113,7 +113,7 @@ CraftRecipe::CraftRecipe() {
}
CraftRecipe::~CraftRecipe() {
//TODO check if the array destrutors actually unref the objects.
//TODO check if the array destructors actually unref the objects.
//_item = Ref<CraftRecipeHelper>(NULL);
}

View File

@ -54,7 +54,7 @@ public:
int get_model_data_count() const;
Vector<Variant> get_model_datas();
void set_model_datas(const Vector<Variant> &datas);
void set_model_datas(const Vector<Variant> &data);
//Spells
Ref<Spell> get_spell(const int index) const;

View File

@ -778,7 +778,7 @@ void Spell::aura_heal_set(const int min, const int max, const bool can_crit) {
aura_heal_set_can_crit(can_crit);
}
//Dispell
//Dispel
bool Spell::aura_dispell_get_enabled() const {
return _aura_dispell_enabled;
}
@ -2719,7 +2719,7 @@ void Spell::_bind_methods() {
ADD_GROUP("Spells Cast", "spells_cast_");
//ADD_GROUP("Caster Aura Applys", "caster_aura_applys");
//ADD_GROUP("Caster Aura Applies", "caster_aura_applys");
ClassDB::bind_method(D_METHOD("spells_cast_on_caster_num_get"), &Spell::spells_cast_on_caster_num_get);
ClassDB::bind_method(D_METHOD("spells_cast_on_caster_num_set", "value"), &Spell::spells_cast_on_caster_num_set);
@ -2867,7 +2867,7 @@ void Spell::_bind_methods() {
ClassDB::bind_method(D_METHOD("heal_set_scale_coeff", "value"), &Spell::heal_set_scale_coeff);
ADD_PROPERTY(PropertyInfo(Variant::REAL, "heal_scale_coeff"), "heal_set_scale_coeff", "heal_get_scale_coeff");
ADD_GROUP("Dispell", "dispell");
ADD_GROUP("Dispel", "dispel");
ClassDB::bind_method(D_METHOD("dispell_get_enabled"), &Spell::dispell_get_enabled);
ClassDB::bind_method(D_METHOD("dispell_set_enabled", "value"), &Spell::dispell_set_enabled);
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "dispell_enabled"), "dispell_set_enabled", "dispell_get_enabled");
@ -3084,7 +3084,7 @@ void Spell::_bind_methods() {
ClassDB::bind_method(D_METHOD("aura_heal_set_scaling_curve", "curve"), &Spell::aura_heal_set_scaling_curve);
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "aura_heal_scaling_curve", PROPERTY_HINT_RESOURCE_TYPE, "Curve"), "aura_heal_set_scaling_curve", "aura_heal_get_scaling_curve");
ADD_GROUP("Aura Dispell", "aura_dispell");
ADD_GROUP("Aura Dispel", "aura_dispell");
ClassDB::bind_method(D_METHOD("aura_dispell_get_enabled"), &Spell::aura_dispell_get_enabled);
ClassDB::bind_method(D_METHOD("aura_dispell_set_enabled", "value"), &Spell::aura_dispell_set_enabled);
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "aura_dispell_enabled"), "aura_dispell_set_enabled", "aura_dispell_get_enabled");

View File

@ -39,14 +39,14 @@
<method name="_notification_cstat_changed" qualifiers="virtual">
<return type="void" />
<argument index="0" name="statid" type="int" />
<argument index="1" name="curent" type="float" />
<argument index="1" name="current" type="float" />
<description>
</description>
</method>
<method name="_notification_sstat_changed" qualifiers="virtual">
<return type="void" />
<argument index="0" name="statid" type="int" />
<argument index="1" name="curent" type="float" />
<argument index="1" name="current" type="float" />
<description>
</description>
</method>

View File

@ -2687,7 +2687,7 @@ void Entity::stake_damage(Ref<SpellDamageInfo> info) {
//send it through the onbeforehit handler
notification_sdamage(SpellEnums::NOTIFICATION_DAMAGE_BEFORE_DAMAGE, info);
//send it throug the onhit pipeliine
//send it through the onhit pipeliine
notification_sdamage(SpellEnums::NOTIFICATION_DAMAGE_HIT, info);
notification_sdamage(SpellEnums::NOTIFICATION_DAMAGE_RECEIVE, info);

View File

@ -431,8 +431,8 @@ void EntityResource::_bind_methods() {
ClassDB::bind_method(D_METHOD("mods_changed"), &EntityResource::mods_changed);
BIND_VMETHOD(MethodInfo("_notification_sstat_changed", PropertyInfo(Variant::INT, "statid"), PropertyInfo(Variant::REAL, "curent")));
BIND_VMETHOD(MethodInfo("_notification_cstat_changed", PropertyInfo(Variant::INT, "statid"), PropertyInfo(Variant::REAL, "curent")));
BIND_VMETHOD(MethodInfo("_notification_sstat_changed", PropertyInfo(Variant::INT, "statid"), PropertyInfo(Variant::REAL, "current")));
BIND_VMETHOD(MethodInfo("_notification_cstat_changed", PropertyInfo(Variant::INT, "statid"), PropertyInfo(Variant::REAL, "current")));
BIND_VMETHOD(MethodInfo("_ons_target_changed", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::OBJECT, "old_target", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));
BIND_VMETHOD(MethodInfo("_onc_target_changed", PropertyInfo(Variant::OBJECT, "entity", PROPERTY_HINT_RESOURCE_TYPE, "Entity"), PropertyInfo(Variant::OBJECT, "old_target", PROPERTY_HINT_RESOURCE_TYPE, "Entity")));

View File

@ -24,8 +24,8 @@ SOFTWARE.
const String ItemEnums::BINDING_STRING_RARITY = "None,Common,Uncommon,Superior,Heroic,Mythic,Artifact";
const String ItemEnums::BINDING_STRING_RARITY_FLAG = "Common,Uncommon,Superior,Heroic,Mythic,Artifact";
const String ItemEnums::BINDING_STRING_ITEM_TYPE = "None,Equipment,Potion,Herb,Ore,Gemstone,Food,Alchemy,Engineering,Enchanting,Tailoring,Recipe,Currency,Bag";
const String ItemEnums::BINDING_STRING_ITEM_TYPE_FLAGS = "Equipment,Potion,Herb,Ore,Gemstone,Food,Alchemy,Engineering,Enchanting,Tailoring,Recipe,Currency,Bag";
const String ItemEnums::BINDING_STRING_ITEM_TYPE = "None,Equipment,Potion,Herb,Or,Gemstone,Food,Alchemy,Engineering,Enchanting,Tailoring,Recipe,Currency,Bag";
const String ItemEnums::BINDING_STRING_ITEM_TYPE_FLAGS = "Equipment,Potion,Herb,Or,Gemstone,Food,Alchemy,Engineering,Enchanting,Tailoring,Recipe,Currency,Bag";
const String ItemEnums::BINDING_STRING_ITEM_SUB_TYPE = "None,Sword,Axe,Mace,Dagger,Bow,Crossbow,Gun,Wand,Quest Item";
const String ItemEnums::BINDING_STRING_ITEM_SUB_SUB_TYPE = "None,Two Hand,One Hand,Left Hand,Right Hand";
const String ItemEnums::BINDING_STRING_ARMOR_TYPE = "None,Cloth,Leather,Mail,Plate";

View File

@ -24,7 +24,7 @@ SOFTWARE.
const String SpellEnums::BINDING_STRING_SPELL_TYPES = "Melee,Holy,Shadow,Nature,Fire,Frost,Lightning,Chaos";
const String SpellEnums::BINDING_STRING_SPELL_CATEGORY = "Normal,Alchemy,Cooking,Engineering,Crafting,Hidden,Development";
const String SpellEnums::BINDING_STRING_TRIGGER_EVENTS = "None,S On Before Damage,S On Damage Receive,S On Hit,S On Damage Dealt,S Aura Remove,S Aura Dispell,S On Before Aura Applied,S On After Aura Applied,C On Aura Added,C On Aura Removed,C On Aura Refreshed";
const String SpellEnums::BINDING_STRING_TRIGGER_EVENTS = "None,S On Before Damage,S On Damage Receive,S On Hit,S On Damage Dealt,S Aura Remove,S Aura Dispel,S On Before Aura Applied,S On After Aura Applied,C On Aura Added,C On Aura Removed,C On Aura Refreshed";
const String SpellEnums::BINDING_STRING_DAMAGE_TYPES = "Melee,Holy,Shadow,Nature,Fire,Frost,Lightning,Chaos";
const String SpellEnums::BINDING_STRING_AURA_TYPES = "None,Magic,Poison,Physical,Curse,Bleed,Talent,Skill";
const String SpellEnums::BINDING_STRING_AURA_FLAG_TYPES = "Magic,Poison,Physical,Curse,Bleed,Talent,Skill";

View File

@ -1827,7 +1827,7 @@ size_t http_parser_execute(http_parser *parser,
/* Here we call the headers_complete callback. This is somewhat
* different than other callbacks because if the user returns 1, we
* will interpret that as saying that this message has no body. This
* is needed for the annoying case of recieving a response to a HEAD
* is needed for the annoying case of receiving a response to a HEAD
* request.
*
* We'd like to use CALLBACK_NOTIFY_NOADVANCE() here but we cannot, so
@ -1934,7 +1934,7 @@ size_t http_parser_execute(http_parser *parser,
assert(parser->content_length != 0 && parser->content_length != ULLONG_MAX);
/* The difference between advancing content_length and p is because
* the latter will automaticaly advance on the next loop iteration.
* the latter will automatically advance on the next loop iteration.
* Further, if content_length ends up at 0, we want to see the last
* byte again for our message complete callback.
*/
@ -2409,7 +2409,7 @@ int http_parser_parse_url(const char *buf, size_t buflen, int is_connect,
case s_dead:
return 1;
/* Skip delimeters */
/* Skip delimiters */
case s_req_schema_slash:
case s_req_schema_slash_slash:
case s_req_server_start:

View File

@ -54,7 +54,7 @@ typedef unsigned __int64 uint64_t;
# define HTTP_PARSER_STRICT 1
#endif
/* Maximium header size allowed. If the macro is not defined
/* Maximum header size allowed. If the macro is not defined
* before including this header then the default is used. To
* change the maximum header size, define the macro in the build
* environment (e.g. -DHTTP_MAX_HEADER_SIZE=<value>). To remove
@ -79,7 +79,7 @@ typedef struct http_parser_settings http_parser_settings;
* chunked' headers that indicate the presence of a body.
*
* Returning `2` from on_headers_complete will tell parser that it should not
* expect neither a body nor any futher responses on this connection. This is
* expect neither a body nor any further responses on this connection. This is
* useful for handling responses to a CONNECT request which may not contain
* `Upgrade` or `Connection: upgrade` headers.
*

View File

@ -638,7 +638,7 @@ Vector3 MMAlgos::fill_to_uv_square(const Vector2 &coord, const Color &bb, const
//in1, color, default vec4($uv.x, 1.0, 1.0, 1.0);
//in2, color, default vec4($uv.x, 1.0, 1.0, 1.0);
//blend_type, enum, default: 0, Normal,Dissolve,Multiply,Screen,Overlay,Hard Light,Soft Light,Burn,Dodge,Lighten,Darken,Difference;
//opactiy, float, min: 0, max: 1, default: 0.5, step: 0.01 (input float);
//opacity, float, min: 0, max: 1, default: 0.5, step: 0.01 (input float);
//----------------------;
//combine.mmg;
//----------------------;
@ -5066,7 +5066,7 @@ float MMAlgos::shape_rays(const Vector2 &uuv, const float sides, const float siz
//tile2x2_variations.mmg;
//----------------------;
//tiler.mmg;
//Tiles several occurences of an input image while adding randomness.;
//Tiles several occurrences of an input image while adding randomness.;
//vec4 $(name_uv)_rch = tiler_$(name)($uv, vec2($tx, $ty), int($overlap), vec2(float($seed)));
//instance;
//vec4 tiler_$(name)(vec2 uv, vec2 tile, int overlap, vec2 _seed) {\n\t;
@ -5137,7 +5137,7 @@ float MMAlgos::shape_rays(const Vector2 &uuv, const float sides, const float siz
//tiler_advanced_color.mmg;
//----------------------;
//tiler_color.mmg;
//Tiles several occurences of an input image while adding randomness.;
//Tiles several occurrences of an input image while adding randomness.;
//vec3 $(name_uv)_random_color;\n;
//vec4 $(name_uv)_tiled_output = tiler_$(name)($uv, vec2($tx, $ty), int($overlap), vec2(float($seed)), $(name_uv)_random_color);
//vec4 tiler_$(name)(vec2 uv, vec2 tile, int overlap, vec2 _seed, out vec3 random_color) {\n\t;
@ -5233,7 +5233,7 @@ float MMAlgos::shape_rays(const Vector2 &uuv, const float sides, const float siz
//custom_uv.mmg;
//----------------------;
//splatter.mmg;
//Spreads several occurences of an input image randomly.;
//Spreads several occurrences of an input image randomly.;
//vec4 $(name_uv)_rch = splatter_$(name)($uv, int($count), vec2(float($seed)));
//vec4 splatter_$(name)(vec2 uv, int count, vec2 seed) {\n\t;
// float c = 0.0;\n\t;
@ -5285,7 +5285,7 @@ float MMAlgos::shape_rays(const Vector2 &uuv, const float sides, const float siz
//4, "pv = CLAMP(0.5*(pv+floor(rand2(seed)*2.0)), vec2(0.0), vec2(1.0));";
//16, "pv = CLAMP(0.25*(pv+floor(rand2(seed)*4.0)), vec2(0.0), vec2(1.0));";
//Parameters:;
//count, int, default 25, min 1, max 100, - The number of occurences of the input image;
//count, int, default 25, min 1, max 100, - The number of occurrences of the input image;
//select_inputs (Inputs), enum, default 0, values 1, 4, 16;
//tile, Vector2, default 4, min:1, max:64, step:1 - The number of columns of the tiles pattern;
//overlap, float, default 1, min 0, max 5, step 1 - The number of neighbour tiles an instance of the input image can overlap. Set this parameter to the lowest value that generates the expected result (where all instances are fully visible) to improve performance.;
@ -5295,7 +5295,7 @@ float MMAlgos::shape_rays(const Vector2 &uuv, const float sides, const float siz
//value (rnd_value), float, default 0, min 0, max 1, step 0.01;
//----------------------;
//splatter_color.mmg;
//preads several occurences of an input image randomly.;
//preads several occurrences of an input image randomly.;
//vec4 splatter_$(name)(vec2 uv, int count, vec2 seed) {\n\t;
// vec4 c = vec4(0.0);\n\t;
//;
@ -5341,7 +5341,7 @@ float MMAlgos::shape_rays(const Vector2 &uuv, const float sides, const float siz
//4, "pv = CLAMP(0.5*(pv+floor(rand2(seed)*2.0)), vec2(0.0), vec2(1.0));";
//16, "pv = CLAMP(0.25*(pv+floor(rand2(seed)*4.0)), vec2(0.0), vec2(1.0));";
//Parameters:;
//count, int, default 25, min 1, max 100, - The number of occurences of the input image;
//count, int, default 25, min 1, max 100, - The number of occurrences of the input image;
//select_inputs (Inputs), enum, default 0, values 1, 4, 16;
//tile, Vector2, default 4, min:1, max:64, step:1 - The number of columns of the tiles pattern;
//overlap, float, default 1, min 0, max 5, step 1 - The number of neighbour tiles an instance of the input image can overlap. Set this parameter to the lowest value that generates the expected result (where all instances are fully visible) to improve performance.;
@ -5352,7 +5352,7 @@ float MMAlgos::shape_rays(const Vector2 &uuv, const float sides, const float siz
//variations bool;
//----------------------;
//circle_splatter.mmg;
//Spreads several occurences of an input image in a circle or spiral pattern.;
//Spreads several occurrences of an input image in a circle or spiral pattern.;
//vec4 $(name_uv)_rch = splatter_$(name)($uv, int($count), int($rings), vec2(float($seed)));
//vec4 splatter_$(name)(vec2 uv, int count, int rings, vec2 seed) {\n\t;
// float c = 0.0;\n\t;
@ -5404,8 +5404,8 @@ float MMAlgos::shape_rays(const Vector2 &uuv, const float sides, const float siz
//4, "pv = CLAMP(0.5*(pv+floor(rand2(seed)*2.0)), vec2(0.0), vec2(1.0));";
//16, "pv = CLAMP(0.25*(pv+floor(rand2(seed)*4.0)), vec2(0.0), vec2(1.0));";
//Parameters:;
//count, int, default 10, min 1, max 256, - The number of occurences of the input image;
//rings, int, default 1, min 1, max 16, - The number of occurences of the input image;
//count, int, default 10, min 1, max 256, - The number of occurrences of the input image;
//rings, int, default 1, min 1, max 16, - The number of occurrences of the input image;
//select_inputs (Inputs), enum, default 0, values 1, 4, 16;
//scale, Vector2, default 1, min:0, max:2, step:0.01 - "The scale of input images on the X axis;
//radius, float, default 0.4, min 0, max 0.5, step 0.01;

View File

@ -539,7 +539,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
# }
# ],
# "label": "Gaussian Blur",
# "longdesc": "Applys a gaussian blur on its input",
# "longdesc": "Applies a gaussian blur on its input",
# "name": "gaussian_blur",
# "node_position": {
# "x": 0,
@ -973,7 +973,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
# }
# ],
# "label": "Slope Blur",
# "longdesc": "Applys a blur effect on its input, following slopes of an input height map",
# "longdesc": "Applies a blur effect on its input, following slopes of an input height map",
# "name": "slope_blur",
# "node_position": {
# "x": 0,

View File

@ -448,8 +448,8 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
# "type": "enum",
# "values": [
# {
# "name": "Euclidian",
# "value": "euclidian"
# "name": "Euclidean",
# "value": "euclidean"
# },
# {
# "name": "Manhattan",

View File

@ -486,7 +486,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
# {
# "default": 0,
# "label": "",
# "longdesc": "The mode decides how the UVs are layed out on each bounding box:\n- Stretch mode where the UV layout is stretched to the bounding box. \n- Square mode where the UV layout is even and centerered based on the longest axis of the bounding box.",
# "longdesc": "The mode decides how the UVs are laid out on each bounding box:\n- Stretch mode where the UV layout is stretched to the bounding box. \n- Square mode where the UV layout is even and centerered based on the longest axis of the bounding box.",
# "name": "mode",
# "shortdesc": "Mode",
# "type": "enum",

View File

@ -469,7 +469,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
# "widget": "param0"
# }
# ],
# "longdesc": "Buffers are used to find the mininum and maximum values for the input image. If the input has small details a higher resolution buffer might be needed to capture precise min and max values.\n\nNote: The output itself will not be buffered.",
# "longdesc": "Buffers are used to find the minimum and maximum values for the input image. If the input has small details a higher resolution buffer might be needed to capture precise min and max values.\n\nNote: The output itself will not be buffered.",
# "name": "param0",
# "shortdesc": "Size",
# "type": "linked_control"
@ -500,7 +500,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
#in1, color, default vec4($uv.x, 1.0, 1.0, 1.0)
#in2, color, default vec4($uv.x, 1.0, 1.0, 1.0)
#blend_type, enum, default: 0, Normal,Dissolve,Multiply,Screen,Overlay,Hard Light,Soft Light,Burn,Dodge,Lighten,Darken,Difference
#opactiy, float, min: 0, max: 1, default: 0.5, step: 0.01 (input float)
#opacity, float, min: 0, max: 1, default: 0.5, step: 0.01 (input float)
#----------------------
#combine.mmg

View File

@ -1168,7 +1168,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
# "ports": [
# {
# "group_size": 0,
# "longdesc": "The genrated distance field",
# "longdesc": "The generated distance field",
# "name": "sdf",
# "shortdesc": "Output",
# "type": "sdf2d"
@ -1240,7 +1240,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
# "widget": "tiled"
# }
# ],
# "longdesc": "Controls whether the resulting ditance field will be tiled. Useful for patterns that extend over the texture bounds",
# "longdesc": "Controls whether the resulting distance field will be tiled. Useful for patterns that extend over the texture bounds",
# "name": "param2",
# "shortdesc": "Tiled",
# "type": "linked_control"

View File

@ -80,7 +80,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
#----------------------
#tiler.mmg
#Tiles several occurences of an input image while adding randomness.
#Tiles several occurrences of an input image while adding randomness.
#vec4 $(name_uv)_rch = tiler_$(name)($uv, vec2($tx, $ty), int($overlap), vec2(float($seed)));
@ -156,7 +156,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
#----------------------
#tiler_advanced.mmg
#Tiles several occurences of an input image while adding randomness.
#Tiles several occurrences of an input image while adding randomness.
# "code": "vec4 $(name_uv)_rch = tiler_$(name)($uv, vec2($tx, $ty), int($overlap), float($seed));",
# "inputs": [
@ -392,7 +392,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
#----------------------
#tiler_advanced_color.mmg
#Tiles several occurences of an input image while adding randomness.
#Tiles several occurrences of an input image while adding randomness.
# "code": "vec2 $(name_uv)_mapuv;\nvec4 $(name_uv)_rch = tiler_$(name)($uv, vec2($tx, $ty), int($overlap), float($seed), $(name_uv)_mapuv);",
# "inputs": [
@ -628,7 +628,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
#----------------------
#tiler_color.mmg
#Tiles several occurences of an input image while adding randomness.
#Tiles several occurrences of an input image while adding randomness.
#vec3 $(name_uv)_random_color;\n
#vec4 $(name_uv)_tiled_output = tiler_$(name)($uv, vec2($tx, $ty), int($overlap), vec2(float($seed)), $(name_uv)_random_color);

View File

@ -433,7 +433,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
# "control": "P1.y",
# "default": 0,
# "label": "Center Y:",
# "longdesc": "The poisition of the scale center",
# "longdesc": "The position of the scale center",
# "max": 1,
# "min": -1,
# "name": "cy",
@ -938,7 +938,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
#----------------------
#splatter.mmg
#Spreads several occurences of an input image randomly.
#Spreads several occurrences of an input image randomly.
#vec4 $(name_uv)_rch = splatter_$(name)($uv, int($count), vec2(float($seed)));
@ -998,7 +998,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
#16, "pv = clamp(0.25*(pv+floor(rand2(seed)*4.0)), vec2(0.0), vec2(1.0));"
#Parameters:
#count, int, default 25, min 1, max 100, - The number of occurences of the input image
#count, int, default 25, min 1, max 100, - The number of occurrences of the input image
#select_inputs (Inputs), enum, default 0, values 1, 4, 16
#tile, Vector2, default 4, min:1, max:64, step:1 - The number of columns of the tiles pattern
#overlap, float, default 1, min 0, max 5, step 1 - The number of neighbour tiles an instance of the input image can overlap. Set this parameter to the lowest value that generates the expected result (where all instances are fully visible) to improve performance.
@ -1009,7 +1009,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
#----------------------
#splatter_color.mmg
#preads several occurences of an input image randomly.
#preads several occurrences of an input image randomly.
#vec4 splatter_$(name)(vec2 uv, int count, vec2 seed) {\n\t
# vec4 c = vec4(0.0);\n\t
@ -1061,7 +1061,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
#16, "pv = clamp(0.25*(pv+floor(rand2(seed)*4.0)), vec2(0.0), vec2(1.0));"
#Parameters:
#count, int, default 25, min 1, max 100, - The number of occurences of the input image
#count, int, default 25, min 1, max 100, - The number of occurrences of the input image
#select_inputs (Inputs), enum, default 0, values 1, 4, 16
#tile, Vector2, default 4, min:1, max:64, step:1 - The number of columns of the tiles pattern
#overlap, float, default 1, min 0, max 5, step 1 - The number of neighbour tiles an instance of the input image can overlap. Set this parameter to the lowest value that generates the expected result (where all instances are fully visible) to improve performance.
@ -1073,7 +1073,7 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
#----------------------
#circle_splatter.mmg
#Spreads several occurences of an input image in a circle or spiral pattern.
#Spreads several occurrences of an input image in a circle or spiral pattern.
#vec4 $(name_uv)_rch = splatter_$(name)($uv, int($count), int($rings), vec2(float($seed)));
@ -1133,8 +1133,8 @@ const Commons = preload("res://addons/mat_maker_gd/nodes/common/commons.gd")
#16, "pv = clamp(0.25*(pv+floor(rand2(seed)*4.0)), vec2(0.0), vec2(1.0));"
#Parameters:
#count, int, default 10, min 1, max 256, - The number of occurences of the input image
#rings, int, default 1, min 1, max 16, - The number of occurences of the input image
#count, int, default 10, min 1, max 256, - The number of occurrences of the input image
#rings, int, default 1, min 1, max 16, - The number of occurrences of the input image
#select_inputs (Inputs), enum, default 0, values 1, 4, 16
#scale, Vector2, default 1, min:0, max:2, step:0.01 - "The scale of input images on the X axis
#radius, float, default 0.4, min 0, max 0.5, step 0.01

View File

@ -15,7 +15,7 @@ enum BlendType {
DODGE,
LIGHTEN,
DARKEN,
DIFFRENCE
DIFFERENCE
}
export(Resource) var image : Resource
@ -111,7 +111,7 @@ func get_value_for(uv : Vector2, pseed : int) -> Color:
b = Filter.blend_lighten(uv, Vector3(s1.r, s1.g, s1.b), Vector3(s2.r, s2.g, s2.b), a * s1.a)
elif blend_type == BlendType.DARKEN:
b = Filter.blend_darken(uv, Vector3(s1.r, s1.g, s1.b), Vector3(s2.r, s2.g, s2.b), a * s1.a)
elif blend_type == BlendType.DIFFRENCE:
elif blend_type == BlendType.DIFFERENCE:
b = Filter.blend_difference(uv, Vector3(s1.r, s1.g, s1.b), Vector3(s2.r, s2.g, s2.b), a * s1.a)
return Color(b.x, b.y, b.z, min(1, s2.a + a * s1.a))

View File

@ -7,7 +7,7 @@ var SDF2D = preload("res://addons/mat_maker_gd/nodes/common/sdf2d.gd")
export(Resource) var input1 : Resource
export(Resource) var input2 : Resource
export(Resource) var output : Resource
export(int, "Union,Substraction,Intersection") var operation : int = 0
export(int, "Union,Subtraction,Intersection") var operation : int = 0
func _init_properties():
if !input1:
@ -49,7 +49,7 @@ func _register_methods(mm_graph_node) -> void:
mm_graph_node.add_slot_label_universal(input2)
mm_graph_node.add_slot_label_universal(output)
mm_graph_node.add_slot_enum("get_operation", "set_operation", "Operation", [ "Union", "Substraction", "Intersection" ])
mm_graph_node.add_slot_enum("get_operation", "set_operation", "Operation", [ "Union", "Subtraction", "Intersection" ])
func get_property_value(uv : Vector2) -> float:
if operation == 0:

View File

@ -7,7 +7,7 @@ var SDF2D = preload("res://addons/mat_maker_gd/nodes/common/sdf2d.gd")
export(Resource) var input1 : Resource
export(Resource) var input2 : Resource
export(Resource) var output : Resource
export(int, "Union,Substraction,Intersection") var operation : int = 0
export(int, "Union,Subtraction,Intersection") var operation : int = 0
export(float) var smoothness : float = 0.15
func _init_properties():
@ -50,7 +50,7 @@ func _register_methods(mm_graph_node) -> void:
mm_graph_node.add_slot_label_universal(input2)
mm_graph_node.add_slot_label_universal(output)
mm_graph_node.add_slot_enum("get_operation", "set_operation", "Operation", [ "Union", "Substraction", "Intersection" ])
mm_graph_node.add_slot_enum("get_operation", "set_operation", "Operation", [ "Union", "Subtraction", "Intersection" ])
mm_graph_node.add_slot_float("get_smoothness", "set_smoothness", "Smoothness", 0.01)
func get_property_value(uv : Vector2) -> float:

View File

@ -7,7 +7,7 @@ var SDF3D = preload("res://addons/mat_maker_gd/nodes/common/sdf3d.gd")
export(Resource) var input1 : Resource
export(Resource) var input2 : Resource
export(Resource) var output : Resource
export(int, "Union,Substraction,Intersection") var operation : int = 0
export(int, "Union,Subtraction,Intersection") var operation : int = 0
func _init_properties():
if !input1:
@ -49,7 +49,7 @@ func _register_methods(mm_graph_node) -> void:
mm_graph_node.add_slot_label_universal(input2)
mm_graph_node.add_slot_label_universal(output)
mm_graph_node.add_slot_enum("get_operation", "set_operation", "Operation", [ "Union", "Substraction", "Intersection" ])
mm_graph_node.add_slot_enum("get_operation", "set_operation", "Operation", [ "Union", "Subtraction", "Intersection" ])
func get_property_value_sdf3d(uv3 : Vector3) -> Vector2:
var s1 : Vector2 = input1.get_value_sdf3d(uv3)

View File

@ -7,7 +7,7 @@ var SDF3D = preload("res://addons/mat_maker_gd/nodes/common/sdf3d.gd")
export(Resource) var input1 : Resource
export(Resource) var input2 : Resource
export(Resource) var output : Resource
export(int, "Union,Substraction,Intersection") var operation : int = 0
export(int, "Union,Subtraction,Intersection") var operation : int = 0
export(float) var smoothness : float = 0.15
func _init_properties():
@ -50,7 +50,7 @@ func _register_methods(mm_graph_node) -> void:
mm_graph_node.add_slot_label_universal(input2)
mm_graph_node.add_slot_label_universal(output)
mm_graph_node.add_slot_enum("get_operation", "set_operation", "Operation", [ "Union", "Substraction", "Intersection" ])
mm_graph_node.add_slot_enum("get_operation", "set_operation", "Operation", [ "Union", "Subtraction", "Intersection" ])
mm_graph_node.add_slot_float("get_smoothness", "set_smoothness", "Smoothness", 0.01)
func get_property_value_sdf3d(uv3 : Vector3) -> Vector2:

View File

@ -204,7 +204,7 @@ func set_variations(val : bool) -> void:
#----------------------
#color_tiler.mmg
#Tiles several occurences of an input image while adding randomness.
#Tiles several occurrences of an input image while adding randomness.
#vec4 tiler_$(name)(vec2 uv, vec2 tile, int overlap, vec2 _seed, out vec3 random_color) {
# vec4 c = vec4(0.0);

View File

@ -211,7 +211,7 @@ func set_variations(val : bool) -> void:
#----------------------
#tiler.mmg
#Tiles several occurences of an input image while adding randomness.
#Tiles several occurrences of an input image while adding randomness.
#instance
#vec4 tiler_$(name)(vec2 uv, vec2 tile, int overlap, vec2 _seed) {

View File

@ -88,7 +88,7 @@ void MMSdOpBool::_register_methods(MMGraphNode *mm_graph_node) {
Array arr;
arr.push_back("Union");
arr.push_back("Substraction");
arr.push_back("Subtraction");
arr.push_back("Intersection");
mm_graph_node->add_slot_enum("get_operation", "set_operation", "Operation", arr);

View File

@ -35,7 +35,7 @@ protected:
Ref<MMNodeUniversalProperty> input1;
Ref<MMNodeUniversalProperty> input2;
Ref<MMNodeUniversalProperty> output;
//export(int, "Union,Substraction,Intersection")
//export(int, "Union,Subtraction,Intersection")
int operation;
};

View File

@ -98,7 +98,7 @@ void MMSdOpSmoothBool::_register_methods(MMGraphNode *mm_graph_node) {
Array arr;
arr.push_back("Union");
arr.push_back("Substraction");
arr.push_back("Subtraction");
arr.push_back("Intersection");
mm_graph_node->add_slot_enum("get_operation", "set_operation", "Operation", arr);

View File

@ -38,7 +38,7 @@ protected:
Ref<MMNodeUniversalProperty> input1;
Ref<MMNodeUniversalProperty> input2;
Ref<MMNodeUniversalProperty> output;
//export(int, "Union,Substraction,Intersection")
//export(int, "Union,Subtraction,Intersection")
int operation;
float smoothness;
};

View File

@ -87,7 +87,7 @@ void MMSdf3dOpBool::_register_methods(MMGraphNode *mm_graph_node) {
Array arr;
arr.push_back("Union");
arr.push_back("Substraction");
arr.push_back("Subtraction");
arr.push_back("Intersection");
mm_graph_node->add_slot_enum("get_operation", "set_operation", "Operation", arr);

View File

@ -35,7 +35,7 @@ protected:
Ref<MMNodeUniversalProperty> input1;
Ref<MMNodeUniversalProperty> input2;
Ref<MMNodeUniversalProperty> output;
//export(int, "Union,Substraction,Intersection")
//export(int, "Union,Subtraction,Intersection")
int operation;
};

View File

@ -97,7 +97,7 @@ void MMSdf3dOpSmoothBool::_register_methods(MMGraphNode *mm_graph_node) {
Array arr;
arr.push_back("Union");
arr.push_back("Substraction");
arr.push_back("Subtraction");
arr.push_back("Intersection");
mm_graph_node->add_slot_enum("get_operation", "set_operation", "Operation", arr);

View File

@ -38,7 +38,7 @@ protected:
Ref<MMNodeUniversalProperty> input1;
Ref<MMNodeUniversalProperty> input2;
Ref<MMNodeUniversalProperty> output;
//export(int, "Union,Substraction,Intersection")
//export(int, "Union,Subtraction,Intersection")
int operation;
float smoothness;
};

View File

@ -231,7 +231,7 @@ Color MMColorTiler::_get_value_for(const Vector2 &uv, const int pseed) {
//----------------------;
//color_tiler.mmg;
//Tiles several occurences of an input image while adding randomness.;
//Tiles several occurrences of an input image while adding randomness.;
//vec4 tiler_$(name)(vec2 uv, vec2 tile, int overlap, vec2 _seed, out vec3 random_color) {;
// vec4 c = vec4(0.0);
// vec3 rc = vec3(0.0);

View File

@ -1210,7 +1210,7 @@ void MDIGizmo::extrude() {
Vector3 v3 = new_verts[j + 3];
if (is_verts_equal(v0, v3)) {
// +2 offset to 2rd vert
// +2 offset to 2nd vert
found_verts.append(j + 2);
}
}
@ -1243,7 +1243,7 @@ void MDIGizmo::extrude() {
add_mesh_change_undo_redo(orig_arr, arr, "Extrude");
enable_change_event();
// The selection alo will take care of the duplicates
// The selection also will take care of the duplicates
PoolVector3Array new_handle_points;
for (int i = original_size; i < new_verts.size(); i += 4) {
Vector3 vavg = new_verts[i + 1];

View File

@ -355,7 +355,7 @@ void MDREDMeshUtils::add_triangulated_mesh_from_points(Ref<MeshDataResource> mdr
merge_in_surface_tool(mdr, st);
}
// Appends a triangle to the mesh. It's created from miroring v2 to the ev0, and ev1 edge
// Appends a triangle to the mesh. It's created from mirroring v2 to the ev0, and ev1 edge
void MDREDMeshUtils::append_triangle_to_tri_edge(Ref<MeshDataResource> mdr, const Vector3 &ev0, const Vector3 &ev1, const Vector3 &v2) {
Vector3 vref = reflect_vertex(ev0, ev1, v2);
@ -1377,7 +1377,7 @@ Array MDREDMeshUtils::remove_vertices(Array arrays, const PoolIntArray &indices)
return arrays;
}
//udpate indices
//update indices
PoolIntArray arr_indices = arrays[ArrayMesh::ARRAY_INDEX];
int max_index = find_max(indices);

Some files were not shown because too many files have changed in this diff Show More