Compare commits
No commits in common. "1f8aa8e55c3de9caf0db1cb167b76abd05641aeb" and "f9406aa9a990ab69dc626a20781e20b921bb026a" have entirely different histories.
1f8aa8e55c
...
f9406aa9a9
198
.clang-format
Normal file
198
.clang-format
Normal file
@ -0,0 +1,198 @@
|
||||
---
|
||||
Language: Cpp
|
||||
AccessModifierOffset: -4
|
||||
AlignAfterOpenBracket: Align # [BlockIndent, Align]
|
||||
AlignArrayOfStructures: None # [None, Left, Right]
|
||||
AlignConsecutiveMacros: AcrossComments
|
||||
AlignConsecutiveAssignments: None # [Consecutive, None]
|
||||
AlignConsecutiveBitFields: Consecutive
|
||||
AlignConsecutiveDeclarations: None
|
||||
AlignEscapedNewlines: Left
|
||||
AlignOperands: Align
|
||||
AlignTrailingComments: true
|
||||
AllowAllArgumentsOnNextLine: false
|
||||
AllowAllParametersOfDeclarationOnNextLine: false
|
||||
AllowShortEnumsOnASingleLine: false
|
||||
AllowShortBlocksOnASingleLine: false
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: false # [InlineOnly, true]
|
||||
AllowShortLambdasOnASingleLine: false
|
||||
AllowShortIfStatementsOnASingleLine: false
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
# AllowShortCompoundRequirementOnASingleLine: true # <== clang-format v18+
|
||||
AlwaysBreakAfterDefinitionReturnType: false
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: true
|
||||
AlwaysBreakTemplateDeclarations: true
|
||||
BreakAfterAttributes: Leave
|
||||
AttributeMacros:
|
||||
- __capability
|
||||
BinPackArguments: true
|
||||
BinPackParameters: true
|
||||
BreakBeforeBraces: Custom
|
||||
BraceWrapping:
|
||||
AfterCaseLabel: true
|
||||
AfterClass: true
|
||||
AfterControlStatement: Always
|
||||
AfterEnum: false
|
||||
AfterFunction: true
|
||||
AfterNamespace: true
|
||||
AfterObjCDeclaration: true
|
||||
AfterStruct: true
|
||||
AfterUnion: true
|
||||
AfterExternBlock: true
|
||||
BeforeCatch: true
|
||||
BeforeElse: true
|
||||
BeforeLambdaBody: false
|
||||
BeforeWhile: true
|
||||
IndentBraces: false
|
||||
SplitEmptyFunction: true
|
||||
SplitEmptyRecord: true
|
||||
SplitEmptyNamespace: true
|
||||
BreakBeforeBinaryOperators: None # true
|
||||
BreakBeforeConceptDeclarations: true
|
||||
BreakBeforeInheritanceComma: true
|
||||
BreakInheritanceList: AfterComma
|
||||
BreakBeforeTernaryOperators: true # false
|
||||
BreakConstructorInitializersBeforeComma: true
|
||||
BreakConstructorInitializers: BeforeColon
|
||||
BreakAfterJavaFieldAnnotations: false
|
||||
BreakStringLiterals: false
|
||||
ColumnLimit: 100
|
||||
CommentPragmas: '^ IWYU pragma:'
|
||||
QualifierAlignment: Leave
|
||||
CompactNamespaces: false
|
||||
ConstructorInitializerIndentWidth: 4
|
||||
ContinuationIndentWidth: 4
|
||||
Cpp11BracedListStyle: false
|
||||
DeriveLineEnding: true
|
||||
DerivePointerAlignment: false
|
||||
DisableFormat: false
|
||||
EmptyLineAfterAccessModifier: Never
|
||||
EmptyLineBeforeAccessModifier: LogicalBlock
|
||||
ExperimentalAutoDetectBinPacking: false
|
||||
PackConstructorInitializers: Never
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
||||
AllowAllConstructorInitializersOnNextLine: true
|
||||
FixNamespaceComments: false
|
||||
ForEachMacros:
|
||||
- foreach
|
||||
- Q_FOREACH
|
||||
- BOOST_FOREACH
|
||||
IfMacros:
|
||||
- KJ_IF_MAYBE
|
||||
IncludeBlocks: Regroup
|
||||
IncludeCategories:
|
||||
- Regex: '(<[0-9a-z_-]*>)'
|
||||
Priority: 0
|
||||
SortPriority: 0
|
||||
CaseSensitive: false
|
||||
- Regex: '(<gdextension[/0-9a-z_-]*\.h[p]?[p]?>)'
|
||||
Priority: 2
|
||||
SortPriority: 3
|
||||
CaseSensitive: false
|
||||
- Regex: '(<godot[/0-9a-z_-]*\.h[p]?[p]?>)'
|
||||
Priority: 2
|
||||
SortPriority: 4
|
||||
CaseSensitive: false
|
||||
- Regex: '(<[0-9a-z_-]*\.h[p]?[p]?>)'
|
||||
Priority: 1
|
||||
SortPriority: 1
|
||||
CaseSensitive: false
|
||||
- Regex: '(<.+[/0-9a-z_]*\.h[p]?[p]?>)'
|
||||
Priority: 1
|
||||
SortPriority: 2
|
||||
CaseSensitive: false
|
||||
- Regex: '(".*\.h[p]?[p]?")'
|
||||
Priority: 3
|
||||
SortPriority: 5
|
||||
CaseSensitive: false
|
||||
- Regex: '(".+[/0-9a-z_]*\.h[p]?[p]?")'
|
||||
Priority: 3
|
||||
SortPriority: 6
|
||||
CaseSensitive: false
|
||||
IncludeIsMainRegex: '""'
|
||||
IncludeIsMainSourceRegex: '""'
|
||||
IndentAccessModifiers: false
|
||||
IndentCaseLabels: true
|
||||
IndentCaseBlocks: false
|
||||
IndentGotoLabels: true
|
||||
IndentPPDirectives: BeforeHash
|
||||
IndentExternBlock: AfterExternBlock
|
||||
IndentRequires: true
|
||||
IndentWidth: 4
|
||||
IndentWrappedFunctionNames: false
|
||||
InsertTrailingCommas: None # [None, Wrapped] ==> trailing comma insertion cannot be used with bin packing
|
||||
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||
LambdaBodyIndentation: Signature
|
||||
MacroBlockBegin: ''
|
||||
MacroBlockEnd: ''
|
||||
MaxEmptyLinesToKeep: 1
|
||||
NamespaceIndentation: All
|
||||
PenaltyBreakAssignment: 50
|
||||
PenaltyBreakBeforeFirstCallParameter: 10
|
||||
PenaltyBreakComment: 50
|
||||
PenaltyBreakFirstLessLess: 120
|
||||
PenaltyBreakOpenParenthesis: 10
|
||||
PenaltyBreakString: 1000
|
||||
PenaltyBreakTemplateDeclaration: 1000
|
||||
PenaltyExcessCharacter: 10
|
||||
PenaltyReturnTypeOnItsOwnLine: 100
|
||||
PenaltyIndentedWhitespace: 0
|
||||
PointerAlignment: Left
|
||||
PPIndentWidth: 2
|
||||
# QualifierOrder: ['static', 'inline', 'constexpr', 'const', 'type']
|
||||
ReferenceAlignment: Pointer
|
||||
ReflowComments: true
|
||||
RemoveBracesLLVM: true
|
||||
# RemoveParentheses: true ## clang v17 only
|
||||
RequiresClausePosition: OwnLine
|
||||
SeparateDefinitionBlocks: Always # Leave
|
||||
ShortNamespaceLines: 1
|
||||
SortIncludes: true
|
||||
SortUsingDeclarations: true
|
||||
SpaceAfterCStyleCast: false
|
||||
SpaceAfterLogicalNot: false
|
||||
SpaceAfterTemplateKeyword: true
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
SpaceBeforeCaseColon: false
|
||||
SpaceBeforeCpp11BracedList: false
|
||||
SpaceBeforeCtorInitializerColon: true
|
||||
SpaceBeforeInheritanceColon: true
|
||||
SpaceBeforeParens: Custom
|
||||
SpaceBeforeParensOptions:
|
||||
AfterControlStatements: true
|
||||
AfterForeachMacros: true
|
||||
AfterFunctionDefinitionName: false
|
||||
AfterFunctionDeclarationName: false
|
||||
AfterIfMacros: true
|
||||
AfterOverloadedOperator: false
|
||||
BeforeNonEmptyParentheses: false
|
||||
SpaceAroundPointerQualifiers: Default
|
||||
SpaceBeforeRangeBasedForLoopColon: true
|
||||
SpaceInEmptyBlock: true
|
||||
SpaceInEmptyParentheses: false
|
||||
SpacesBeforeTrailingComments: 2
|
||||
SpacesInAngles: Never
|
||||
SpacesInConditionalStatement: false
|
||||
SpacesInContainerLiterals: true
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpacesInLineCommentPrefix:
|
||||
Minimum: 1
|
||||
Maximum: -1
|
||||
SpacesInParentheses: false
|
||||
SpacesInSquareBrackets: false
|
||||
SpaceBeforeSquareBrackets: false
|
||||
BitFieldColonSpacing: Both
|
||||
Standard: Latest
|
||||
TabWidth: 4
|
||||
UseCRLF: false
|
||||
UseTab: Never
|
||||
WhitespaceSensitiveMacros:
|
||||
- STRINGIZE
|
||||
- PP_STRINGIZE
|
||||
- BOOST_PP_STRINGIZE
|
||||
- NS_SWIFT_NAME
|
||||
- CF_SWIFT_NAME
|
||||
- R
|
||||
...
|
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@ -0,0 +1 @@
|
||||
* text=auto eol=lf
|
38
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
38
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. iOS]
|
||||
- Browser [e.g. chrome, safari]
|
||||
- Version [e.g. 22]
|
||||
|
||||
**Smartphone (please complete the following information):**
|
||||
- Device: [e.g. iPhone6]
|
||||
- OS: [e.g. iOS8.1]
|
||||
- Browser [e.g. stock browser, safari]
|
||||
- Version [e.g. 22]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
27
.github/workflows/cmake-multi-platform.yml
vendored
Normal file
27
.github/workflows/cmake-multi-platform.yml
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
name: GDExtension CMake
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build-linux:
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
# linux / gcc build
|
||||
- name: '[linux | submodule sync]'
|
||||
run: cd ${{ github.workspace }} && git submodule deinit --all --force && git submodule update --init --recursive
|
||||
- name: '[linux | gcc] => cmake - delete cache'
|
||||
run: rm -rf ${{ github.workspace }}/.out/*
|
||||
- name: '[linux | gcc] => cmake - configure'
|
||||
run: >
|
||||
cmake -B ${{ github.workspace }}/.out
|
||||
-DCMAKE_CXX_COMPILER=g++
|
||||
-DCMAKE_C_COMPILER=gcc
|
||||
-DCMAKE_BUILD_TYPE=Debug
|
||||
-S ${{ github.workspace }}
|
||||
-G Ninja
|
||||
- name: '[linux | gcc] => cmake - clean'
|
||||
run: cmake --build ${{ github.workspace }}/.out --config Debug --target clean --parallel 48
|
||||
- name: '[linux | gcc] => cmake - build'
|
||||
run: cmake --build ${{ github.workspace }}/.out --config Debug --target roguelite --parallel 48
|
30
.gitignore
vendored
30
.gitignore
vendored
@ -1,2 +1,30 @@
|
||||
.godot/
|
||||
.import/
|
||||
.out/
|
||||
out/
|
||||
cmake-build-*/
|
||||
|
||||
export.cfg
|
||||
export_presets.cfg
|
||||
.sconsign.dblite
|
||||
|
||||
*.translation
|
||||
*.obj
|
||||
|
||||
**/bin/*
|
||||
!**/bin/*.gdextension
|
||||
|
||||
.vs/**
|
||||
!.vs/launch.vs.json
|
||||
!.vs/VSWorkspaceSettings.json
|
||||
!.vs/CMakeWorkspaceSettings.json
|
||||
|
||||
.vscode/**
|
||||
!.vscode/c_cpp_properties.json
|
||||
!.vscode/extensions.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/settings.json
|
||||
|
||||
.cache/**
|
||||
build/
|
||||
.vscode/
|
||||
compile_commands.json
|
11
.gitmodules
vendored
Normal file
11
.gitmodules
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
[submodule "extern/godot-engine"]
|
||||
path = extern/godot-engine
|
||||
url = https://github.com/godotengine/godot.git
|
||||
branch = 4.3
|
||||
[submodule "extern/godot-cpp"]
|
||||
path = extern/godot-cpp
|
||||
url = https://github.com/godotengine/godot-cpp.git
|
||||
branch = 4.3
|
||||
[submodule "extern/vcpkg"]
|
||||
path = extern/vcpkg
|
||||
url = https://github.com/microsoft/vcpkg
|
4
.vs/CMakeWorkspaceSettings.json
Normal file
4
.vs/CMakeWorkspaceSettings.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"enableCMake": true,
|
||||
"sourceDirectory": "${workspaceRoot}"
|
||||
}
|
38
.vs/VSWorkspaceSettings.json
Normal file
38
.vs/VSWorkspaceSettings.json
Normal file
@ -0,0 +1,38 @@
|
||||
{
|
||||
"BuildIncremental": {
|
||||
"Enabled": false
|
||||
},
|
||||
"ExcludedItems": [
|
||||
".git*",
|
||||
".clang*",
|
||||
".idea",
|
||||
".vscode",
|
||||
"*.md",
|
||||
"cpp.hint",
|
||||
"/scripts",
|
||||
"extension_api.json",
|
||||
"godot-engine/**/*.md",
|
||||
"godot-engine/**/*.txt",
|
||||
"godot-engine/**/*.py",
|
||||
"godot-engine/**/*.png",
|
||||
"godot-engine/**/*.svg",
|
||||
"godot-engine/**/*.yml",
|
||||
"godot-engine/**/SConstruct",
|
||||
"godot-engine/**/SCsub",
|
||||
"godot-engine/**/.mailmap*",
|
||||
"godot-engine/**/.editorconfig",
|
||||
"godot-engine/**/LICENSE",
|
||||
"!.out*",
|
||||
"!.out/*",
|
||||
"!.out/build/*",
|
||||
"!.godot",
|
||||
"!README.md"
|
||||
],
|
||||
"Indexing": {
|
||||
"Enabled": true
|
||||
},
|
||||
"Logger": {
|
||||
"EnableVsLogging": false,
|
||||
"LoggingLevel": "Info"
|
||||
}
|
||||
}
|
36
.vs/launch.vs.json
Normal file
36
.vs/launch.vs.json
Normal file
@ -0,0 +1,36 @@
|
||||
{
|
||||
"version": "0.2.1",
|
||||
"configurations": [
|
||||
{
|
||||
"type": "dll",
|
||||
"exe": "${workspaceRoot}/extern/godot-engine/bin/godot.windows.editor.dev.x86_64.exe",
|
||||
"args": [
|
||||
"--editor",
|
||||
"--windowed",
|
||||
"--delta-smoothing enable",
|
||||
"--resolution 1920x1080",
|
||||
"--debug",
|
||||
"--verbose",
|
||||
"--path",
|
||||
"${workspaceRoot}/project"
|
||||
],
|
||||
"project": "CMakeLists.txt",
|
||||
"name": "gdextension (editor)",
|
||||
"visualizerFile": "${workspaceRoot}/extern/godot-engine/platform/windows/godot.natvis"
|
||||
},
|
||||
{
|
||||
"type": "dll",
|
||||
"isDefaultConfiguration": true,
|
||||
"exe": "${workspaceRoot}/extern/godot-engine/bin/godot.windows.editor.dev.x86_64.exe",
|
||||
"args": [
|
||||
"--debug",
|
||||
"--verbose",
|
||||
"--path",
|
||||
"${workspaceRoot}/project"
|
||||
],
|
||||
"project": "CMakeLists.txt",
|
||||
"name": "gdextension (project)",
|
||||
"visualizerFile": "${workspaceRoot}/extern/godot-engine/platform/windows/godot.natvis"
|
||||
}
|
||||
]
|
||||
}
|
25
.vscode/c_cpp_properties.json
vendored
Normal file
25
.vscode/c_cpp_properties.json
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"version": 4,
|
||||
"configurations": [
|
||||
{
|
||||
"name": "GDNative C++ (GCC)",
|
||||
"configurationProvider": "ms-vscode.cmake-tools",
|
||||
"intelliSenseMode": "linux-gcc-x64"
|
||||
},
|
||||
{
|
||||
"name": "GDNative C++ (Clang)",
|
||||
"configurationProvider": "ms-vscode.cmake-tools",
|
||||
"intelliSenseMode": "linux-clang-x64"
|
||||
},
|
||||
{
|
||||
"name": "Mac GDNative C++ (Clang)",
|
||||
"configurationProvider": "ms-vscode.cmake-tools",
|
||||
"intelliSenseMode": "macos-clang-x64"
|
||||
},
|
||||
{
|
||||
"name": "GDNative C++ (MSVC)",
|
||||
"configurationProvider": "ms-vscode.cmake-tools",
|
||||
"intelliSenseMode": "windows-msvc-x64"
|
||||
}
|
||||
]
|
||||
}
|
7
.vscode/extensions.json
vendored
Normal file
7
.vscode/extensions.json
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"ms-vscode.cpptools",
|
||||
"ms-vscode.cmake-tools",
|
||||
"xaver.clang-format",
|
||||
]
|
||||
}
|
202
.vscode/launch.json
vendored
Normal file
202
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,202 @@
|
||||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "project (gdb)",
|
||||
"type": "cppdbg",
|
||||
"request": "launch",
|
||||
"MIMode": "gdb",
|
||||
"linux": {
|
||||
"program": "${workspaceFolder}/extern/godot-engine/bin/godot.linuxbsd.editor.dev.x86_64",
|
||||
"miDebuggerPath": "/usr/bin/gdb"
|
||||
},
|
||||
"windows": {
|
||||
"program": "${workspaceFolder}/extern/godot-engine/bin/godot.windows.editor.dev.x86_64.exe",
|
||||
"miDebuggerPath": "gdb"
|
||||
},
|
||||
"args": [
|
||||
"--debug",
|
||||
"--verbose",
|
||||
"--path",
|
||||
"${workspaceFolder}/project"
|
||||
],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"visualizerFile": "${workspaceFolder}/extern/godot-engine/platform/windows/godot.natvis",
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"launchCompleteCommand": "exec-run",
|
||||
"symbolLoadInfo": {
|
||||
"loadAll": true,
|
||||
"exceptionList": ""
|
||||
},
|
||||
"setupCommands": [
|
||||
{
|
||||
"description": "Enable pretty-printing for gdb",
|
||||
"text": "-enable-pretty-printing",
|
||||
"ignoreFailures": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "editor (gdb)",
|
||||
"type": "cppdbg",
|
||||
"request": "launch",
|
||||
"MIMode": "gdb",
|
||||
"linux": {
|
||||
"program": "${workspaceFolder}/extern/godot-engine/bin/godot.linuxbsd.editor.dev.x86_64",
|
||||
"miDebuggerPath": "/usr/bin/gdb"
|
||||
},
|
||||
"windows": {
|
||||
"program": "${workspaceFolder}/extern/godot-engine/bin/godot.windows.editor.dev.x86_64.exe",
|
||||
"miDebuggerPath": "gdb"
|
||||
},
|
||||
"args": [
|
||||
"--editor",
|
||||
"--debug",
|
||||
"--verbose",
|
||||
"--path",
|
||||
"${workspaceFolder}/project"
|
||||
],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"visualizerFile": "${workspaceFolder}/extern/godot-engine/platform/windows/godot.natvis",
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"launchCompleteCommand": "exec-run",
|
||||
"symbolLoadInfo": {
|
||||
"loadAll": true,
|
||||
"exceptionList": ""
|
||||
},
|
||||
"setupCommands": [
|
||||
{
|
||||
"description": "Enable pretty-printing for gdb",
|
||||
"text": "-enable-pretty-printing",
|
||||
"ignoreFailures": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "project (vsdbg | windows)",
|
||||
"type": "cppvsdbg",
|
||||
"request": "launch",
|
||||
"requireExactSource": true,
|
||||
"symbolOptions": {
|
||||
"searchPaths": [
|
||||
"${workspaceFolder}/extern/godot-engine/bin",
|
||||
"${workspaceFolder}/project"
|
||||
],
|
||||
"searchMicrosoftSymbolServer": true
|
||||
},
|
||||
"program": "${workspaceFolder}/extern/godot-engine/bin/godot.windows.editor.dev.x86_64.exe",
|
||||
"args": [
|
||||
"--debug",
|
||||
"--verbose",
|
||||
"--path",
|
||||
"${workspaceFolder}/project"
|
||||
],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"visualizerFile": "${workspaceFolder}/extern/godot-engine/platform/windows/godot.natvis",
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"name": "editor (vsdbg | windows)",
|
||||
"type": "cppvsdbg",
|
||||
"request": "launch",
|
||||
"requireExactSource": true,
|
||||
"symbolOptions": {
|
||||
"searchPaths": [
|
||||
"${workspaceFolder}/extern/godot-engine/bin",
|
||||
"${workspaceFolder}/project"
|
||||
],
|
||||
"searchMicrosoftSymbolServer": true
|
||||
},
|
||||
"program": "${workspaceFolder}/extern/godot-engine/bin/godot.windows.editor.dev.x86_64.exe",
|
||||
"args": [
|
||||
"--editor",
|
||||
"--debug",
|
||||
"--verbose",
|
||||
"--path",
|
||||
"${workspaceFolder}/project"
|
||||
],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"visualizerFile": "${workspaceFolder}/extern/godot-engine/platform/windows/godot.natvis",
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"name": "project (lldb)",
|
||||
"type": "cppdbg",
|
||||
"MIMode": "lldb",
|
||||
"request": "launch",
|
||||
"linux": {
|
||||
"program": "${workspaceFolder}/extern/godot-engine/bin/godot.linuxbsd.editor.dev.x86_64"
|
||||
},
|
||||
"windows": {
|
||||
"program": "${workspaceFolder}/extern/godot-engine/bin/godot.windows.editor.dev.x86_64.exe"
|
||||
},
|
||||
"osx": {
|
||||
"program": "${workspaceFolder}/extern/godot-engine/bin/godot.macos.editor.dev.arm64"
|
||||
},
|
||||
"args": [
|
||||
"--debug",
|
||||
"--verbose",
|
||||
"--path",
|
||||
"${workspaceFolder}/project"
|
||||
],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"visualizerFile": "${workspaceFolder}/extern/godot-engine/platform/windows/godot.natvis",
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"launchCompleteCommand": "exec-run",
|
||||
"symbolLoadInfo": {
|
||||
"loadAll": true,
|
||||
"exceptionList": ""
|
||||
},
|
||||
"setupCommands": [
|
||||
{
|
||||
"description": "Enable pretty-printing for gdb",
|
||||
"text": "-enable-pretty-printing",
|
||||
"ignoreFailures": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "editor (lldb)",
|
||||
"type": "cppdbg",
|
||||
"MIMode": "lldb",
|
||||
"miDebuggerPath": "lldb",
|
||||
"request": "launch",
|
||||
"linux": {
|
||||
"program": "${workspaceFolder}/extern/godot-engine/bin/godot.linuxbsd.editor.dev.x86_64"
|
||||
},
|
||||
"windows": {
|
||||
"program": "${workspaceFolder}/extern/godot-engine/bin/godot.windows.editor.dev.x86_64.exe"
|
||||
},
|
||||
"osx": {
|
||||
"program": "${workspaceFolder}/extern/godot-engine/bin/godot.macos.editor.dev.arm64"
|
||||
},
|
||||
"args": [
|
||||
"--editor",
|
||||
"--debug",
|
||||
"--verbose",
|
||||
"--path",
|
||||
"${workspaceFolder}/project"
|
||||
],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"visualizerFile": "${workspaceFolder}/extern/godot-engine/platform/windows/godot.natvis",
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"launchCompleteCommand": "exec-run",
|
||||
"symbolLoadInfo": {
|
||||
"loadAll": true,
|
||||
"exceptionList": ""
|
||||
},
|
||||
"setupCommands": [
|
||||
{
|
||||
"description": "Enable pretty-printing for gdb",
|
||||
"text": "-enable-pretty-printing",
|
||||
"ignoreFailures": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
105
.vscode/settings.json
vendored
Normal file
105
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,105 @@
|
||||
{
|
||||
"C_Cpp.autoAddFileAssociations": false,
|
||||
"C_Cpp.autocomplete": "default",
|
||||
"C_Cpp.clang_format_fallbackStyle": "none",
|
||||
"C_Cpp.clang_format_style": "file",
|
||||
"C_Cpp.codeAnalysis.runAutomatically": true,
|
||||
"C_Cpp.commentContinuationPatterns": [
|
||||
"/**",
|
||||
"///"
|
||||
],
|
||||
"C_Cpp.default.compilerPath": "",
|
||||
"C_Cpp.default.cppStandard": "c++20",
|
||||
"C_Cpp.default.enableConfigurationSquiggles": true,
|
||||
"C_Cpp.enhancedColorization": "enabled",
|
||||
"C_Cpp.formatting": "clangFormat",
|
||||
"clang-format.language.cpp.enable": true,
|
||||
"clang-format.language.cpp.style": "file",
|
||||
"clang-format.assumeFilename": ".clangformat",
|
||||
"C_Cpp.workspaceParsingPriority": "high",
|
||||
"cmake.automaticReconfigure": true,
|
||||
"cmake.buildBeforeRun": true,
|
||||
"cmake.buildTask": false,
|
||||
"cmake.cmakeCommunicationMode": "fileApi",
|
||||
"cmake.configureOnOpen": true,
|
||||
"cmake.languageSupport.enableFileAPI": true,
|
||||
"cmake.launchBehavior": "breakAndReuseTerminal",
|
||||
"cmake.outputLogEncoding": "utf-8",
|
||||
"cmake.parallelJobs": 0,
|
||||
"cmake.parseBuildDiagnostics": true,
|
||||
"cmake.useCMakePresets": "always",
|
||||
"debug.autoExpandLazyVariables": "on",
|
||||
"debug.console.closeOnEnd": true,
|
||||
"debug.console.fontFamily": "Fira Code Retina, Consolas, 'Courier New', monospace",
|
||||
"debug.console.fontSize": 12,
|
||||
"debug.inlineValues": "off",
|
||||
"debug.onTaskErrors": "showErrors",
|
||||
"debug.openDebug": "openOnSessionStart",
|
||||
"debug.openExplorerOnEnd": true,
|
||||
"debug.showBreakpointsInOverviewRuler": true,
|
||||
"debug.terminal.clearBeforeReusing": true,
|
||||
"debug.toolBarLocation": "docked",
|
||||
"diffEditor.experimental.showMoves": true,
|
||||
"diffEditor.experimental.useVersion2": true,
|
||||
"docsView.documentationView.updateMode": "sticky",
|
||||
"editor.autoClosingBrackets": "beforeWhitespace",
|
||||
"editor.bracketPairColorization.enabled": false,
|
||||
"editor.codeLens": false,
|
||||
"editor.cursorSmoothCaretAnimation": "on",
|
||||
"editor.cursorStyle": "line",
|
||||
"editor.cursorSurroundingLinesStyle": "all",
|
||||
"editor.dragAndDrop": false,
|
||||
"editor.fontFamily": "Fira Code Retina, Consolas, 'Courier New', monospace",
|
||||
"editor.fontLigatures": true,
|
||||
"editor.fontSize": 12,
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnSaveMode": "file",
|
||||
"editor.gotoLocation.alternativeDefinitionCommand": "editor.action.revealDeclaration",
|
||||
"editor.hover.delay": 500,
|
||||
"editor.maxTokenizationLineLength": 10000,
|
||||
"editor.minimap.enabled": false,
|
||||
"editor.mouseWheelScrollSensitivity": 3,
|
||||
"editor.mouseWheelZoom": true,
|
||||
"editor.quickSuggestionsDelay": 250,
|
||||
"editor.renderLineHighlight": "gutter",
|
||||
"editor.rulers": [
|
||||
100
|
||||
],
|
||||
"editor.smoothScrolling": true,
|
||||
"editor.stickyScroll.enabled": true,
|
||||
"explorer.autoReveal": false,
|
||||
"explorer.sortOrder": "foldersNestsFiles",
|
||||
"files.trimFinalNewlines": true,
|
||||
"git.autofetch": true,
|
||||
"git.confirmSync": false,
|
||||
"gitlens.plusFeatures.enabled": false,
|
||||
"markdown-preview-enhanced.previewTheme": "one-dark.css",
|
||||
"problems.sortOrder": "position",
|
||||
"search.maxResults": null,
|
||||
"search.showLineNumbers": true,
|
||||
"search.useIgnoreFiles": false,
|
||||
"terminal.integrated.automationProfile.linux": {
|
||||
"path": "/usr/bin/bash"
|
||||
},
|
||||
"terminal.integrated.cursorStyle": "line",
|
||||
"terminal.integrated.defaultProfile.linux": "bash",
|
||||
"terminal.integrated.fontSize": 12,
|
||||
"terminal.integrated.profiles.linux": {
|
||||
"bash": {
|
||||
"args": [
|
||||
"--login",
|
||||
"-i"
|
||||
],
|
||||
"color": "terminal.ansiYellow",
|
||||
"icon": "terminal-bash",
|
||||
"path": "bash"
|
||||
}
|
||||
},
|
||||
"terminal.integrated.scrollback": 100000,
|
||||
"workbench.editor.highlightModifiedTabs": true,
|
||||
"workbench.editor.untitled.labelFormat": "name",
|
||||
"workbench.list.smoothScrolling": true,
|
||||
"workbench.tree.renderIndentGuides": "always",
|
||||
"dotnet.defaultSolution": "disable",
|
||||
"svg.preview.background": "editor",
|
||||
}
|
272
CMakeLists.txt
Normal file
272
CMakeLists.txt
Normal file
@ -0,0 +1,272 @@
|
||||
# This is the main CMake script which (summed up) configures a CMake build project on how to build our .dll
|
||||
# The gdextension .dll build can be run from Visual Studio Community, VSCode, CLion, etc as long as you have
|
||||
# installed the appropriate CMake add-ons to enable IDE/editor integration with CMake, and the project is
|
||||
# in the same directory as CMakeLists.txt
|
||||
|
||||
# This script can also easily handle adding 3rd party libraries to our gdextension project.
|
||||
# An official explanation on how it's intended to function is here:
|
||||
|
||||
# https://github.com/vorlac/godot-roguelite/wiki#cmake-configuration
|
||||
|
||||
# =======================================================================
|
||||
# Main cmake project settings area
|
||||
# =======================================================================
|
||||
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
|
||||
# Name for our library:
|
||||
set(GDEXTENSION_LIB_NAME naval-swarm)
|
||||
# Directory for placing the built .dll (The project .gdextension file should likely point in here):
|
||||
set(GDEXTENSION_LIB_PATH "${CMAKE_CURRENT_SOURCE_DIR}/project/bin")
|
||||
# Tip: "set" arguments are basically defining variables in CMake
|
||||
|
||||
option(
|
||||
AUTOFORMAT_SRC_ON_CONFIGURE
|
||||
"If enabled, clang-format will be used to format all sources in src/ during configuration"
|
||||
ON
|
||||
)
|
||||
# Tip: "option" arguments are basically also CMake variables, but in a easy user toggleable format.
|
||||
|
||||
option(
|
||||
USE_CCACHE_FOR_GDEXT_BUILD
|
||||
"If enabled, ccache will be used to when building the project lib"
|
||||
ON
|
||||
)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 23)
|
||||
set(CMAKE_CXX_EXTENSIONS ON)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_COLOR_DIAGNOSTICS ON)
|
||||
set(CMAKE_MESSAGE_LOG_LEVEL STATUS)
|
||||
|
||||
# Assign CMAKE_MODULE_PATH which will indicate future include statements where the .cmake files to be included may be located
|
||||
list(APPEND CMAKE_MODULE_PATH
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-cpp/cmake/"
|
||||
)
|
||||
# Tip: "list" arguments allow you to group multiple variables under a single identifier.
|
||||
|
||||
# =======================================================================
|
||||
# Configure vcpkg submodule and define library.
|
||||
# vcpkg:
|
||||
# is a submodule (repository within the main one, defined in
|
||||
# .gitmodules) It is a program used by CMake further on in this
|
||||
# script to easily add 3rd party libraries to our own main .dll
|
||||
# (it can priorize dynamic or static linking for the dependency
|
||||
# as well as the C runtime based on what the VCPKG_TARGET_TRIPLET
|
||||
# variable is set to. For this project static linkage is configured
|
||||
# for the library Windows (but the C runtime is dynamically linked)
|
||||
# and Linux & MacOS favor dynamic linkage)
|
||||
# =======================================================================
|
||||
include(vcpkg-init)
|
||||
# Tip: "vcpkg-init" is actually a .cmake script located in the cmake/ directory.
|
||||
# Include file names in the cmake/ directory don't require a full path or file extension to be specified thanks to the
|
||||
# previous CMAKE_MODULE_PATH list definition
|
||||
|
||||
project("${GDEXTENSION_LIB_NAME}"
|
||||
LANGUAGES
|
||||
C CXX
|
||||
VERSION
|
||||
0.1.0
|
||||
)
|
||||
# Tip: the "project" specifications tell CMake valuable project info for compilation:
|
||||
# project name (same as lib name), languages and version.
|
||||
|
||||
include(vcpkg-install-deps)
|
||||
# Tip: Includes cmake/vcpkg-install-deps.cmake and runs it here.
|
||||
# the "vcpkg-install-deps" .cmake script just makes sure that the previously asserted vcpkg install has all of it's dependencies available
|
||||
|
||||
# =======================================================================
|
||||
# Compiler identification
|
||||
# =======================================================================
|
||||
|
||||
set(compiler_is_clang "$<OR:$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:Clang>>")
|
||||
set(compiler_is_gnu "$<CXX_COMPILER_ID:GNU>")
|
||||
set(compiler_is_msvc "$<CXX_COMPILER_ID:MSVC>")
|
||||
# Tip: The compiler we are using is determined by configs in CMakePresets.json, which in turn are picked by the VS Community option we selected
|
||||
|
||||
# =======================================================================
|
||||
# Configure godot-engine and godot-cpp submodules and define libraries.
|
||||
# godot-cpp:
|
||||
# Configured as a library that will statically
|
||||
# link to this project's gdextension dynamic link library.
|
||||
# godot-engine:
|
||||
# The engine submodule will be (re)built using scons if a
|
||||
# debug build of the editor doesn't already exist.
|
||||
# the engine sources and headers will then be used to declare
|
||||
# a library in cmake (but will not be built). The cmake library
|
||||
# will improve code browsing, syntax highlighting, searching,
|
||||
# debbuging, and autocomplete/intellisense for any IDEs that
|
||||
# gather data from cmake (i.e. VSCode and Visual Studio 2022)
|
||||
# =======================================================================
|
||||
|
||||
include(godot-dev-configuration)
|
||||
# Tip: Includes cmake/godot-dev-configuration.cmake and runs it
|
||||
|
||||
# =======================================================================
|
||||
# 3rd party library setup/configuration (leverages vcpkg)
|
||||
# =======================================================================
|
||||
|
||||
find_package(fmt CONFIG REQUIRED)
|
||||
find_package(spdlog CONFIG REQUIRED)
|
||||
# Tip: The previous packages are in vcpkg's registry, hence why CMake's find_package method can find them.
|
||||
# once found, they are respectively referenced by names (eg. fmt, spdlog, flecs)
|
||||
|
||||
# =======================================================================
|
||||
# Our GDExtension dynamic library (.dll) setup/configuration
|
||||
# =======================================================================
|
||||
|
||||
# Point to our library sources as "gdext_sources":
|
||||
file(GLOB_RECURSE gdext_sources
|
||||
CONFIGURE_DEPENDS
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.[hc]"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.[hc]pp"
|
||||
)
|
||||
|
||||
# Use gdext_sources in order to build a shared library that will be named whatever
|
||||
# the PROJECT_NAME variable is set to (which will be the same name you set for the
|
||||
# GDEXTENSION_LIB_NAME variable at the top of this file):
|
||||
add_library(${PROJECT_NAME}
|
||||
SHARED
|
||||
${gdext_sources}
|
||||
)
|
||||
# Tip1: The "add_library()" command is used to specify a library target for this cmake project to build
|
||||
# The SHARED keyword tells CMake to create a shared/dynamic library. The gdext_sources file directories are passed to add_library()
|
||||
# command to specify the source files for the library.
|
||||
# Tip2: The .dll isn't built here yet, it's only being pointed at. The build will occur when running cmake --build in the same
|
||||
# directory as this CMakeLists.txt file, or if the build command is run from visual studio.
|
||||
|
||||
# Import compiler warnings from godot-cpp's own cmake folder:
|
||||
include(common_compiler_flags)
|
||||
|
||||
# Set compiler options for the gdextension library based on the compiler being used:
|
||||
target_compile_options(${PROJECT_NAME} PUBLIC
|
||||
$<${compiler_is_msvc}:
|
||||
/EHsc
|
||||
/utf-8
|
||||
/Zc:preprocessor
|
||||
>
|
||||
$<$<NOT:${compiler_is_msvc}>:
|
||||
-g
|
||||
-Wno-unused-value
|
||||
$<${compiler_is_gnu}:
|
||||
-Wno-attributes
|
||||
-Wno-attributes=rl::
|
||||
>
|
||||
$<${compiler_is_clang}:
|
||||
-Wno-ignored-attributes
|
||||
-Wno-unknown-attributes
|
||||
>
|
||||
$<$<CONFIG:Debug>:
|
||||
-fno-omit-frame-pointer
|
||||
-O0
|
||||
>
|
||||
$<$<CONFIG:Release>:
|
||||
-O3
|
||||
>
|
||||
>
|
||||
)
|
||||
|
||||
# Enable extension hot swapping:
|
||||
target_compile_definitions(${PROJECT_NAME} PUBLIC
|
||||
HOT_RELOAD_ENABLED
|
||||
)
|
||||
|
||||
# Define the directories containing inclusion headers (CMake needs to know this after running add_library):
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src"
|
||||
)
|
||||
|
||||
if (NOT APPLE)
|
||||
# linker options for the gdextension library
|
||||
target_link_options(${PROJECT_NAME} PRIVATE
|
||||
$<$<NOT:${compiler_is_msvc}>:
|
||||
-static-libgcc
|
||||
-static-libstdc++
|
||||
-Wl,-R,'$$ORIGIN'
|
||||
>
|
||||
)
|
||||
endif()
|
||||
|
||||
# =======================================================================
|
||||
# Optional configuration / build features
|
||||
# =======================================================================
|
||||
|
||||
if (USE_CCACHE_FOR_GDEXT_BUILD MATCHES ON)
|
||||
include(ccache)
|
||||
endif()
|
||||
|
||||
if (AUTOFORMAT_SRC_ON_CONFIGURE MATCHES ON)
|
||||
include(clang-format)
|
||||
endif()
|
||||
|
||||
# =======================================================================
|
||||
# Dependency linkage (linking dependencies to our .dll build)
|
||||
# =======================================================================
|
||||
|
||||
# gdextension library dependency linkage
|
||||
# godot::cpp: Found by CMake thanks to godot-dev-configuration "add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-cpp)" statement.
|
||||
# the subdirectory addition runs godot-cpp's own CMakeLists.txt which declares "add_library(godot::cpp ALIAS ${PROJECT_NAME})"
|
||||
# CMake automatically exports all targets that are created in the godot-cpp CMakeLists.txt file. This means that the godot::cpp
|
||||
# library is accessible and linkable from here.
|
||||
#
|
||||
# The other libraries are found thanks to their definition earlier in "find_package", which
|
||||
# is defined by the vcpkg package manager for each dependency added to the project.
|
||||
target_link_libraries(${PROJECT_NAME}
|
||||
PUBLIC godot::cpp
|
||||
PRIVATE fmt::fmt
|
||||
PRIVATE fmt::fmt-header-only
|
||||
PRIVATE spdlog::spdlog_header_only
|
||||
)
|
||||
# Tip1: PUBLIC: our .dll depends on the library. PRIVATE: the library is expendable.
|
||||
# Tip2: godot::cpp, fmt::fmt etc... each library name is declared by each of it's
|
||||
# respective projects's own CMakeLists.txt, which is reached thanks to vcpkg
|
||||
|
||||
# Define system architecture for the build:
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(system_bits 64)
|
||||
else()
|
||||
set(system_bits 32)
|
||||
endif()
|
||||
|
||||
# Define built .dll name:
|
||||
string(TOLOWER
|
||||
"${PROJECT_NAME}.${CMAKE_SYSTEM_NAME}.${system_bits}.${CMAKE_BUILD_TYPE}"
|
||||
gde_lib_name
|
||||
)
|
||||
|
||||
set_target_properties(${PROJECT_NAME}
|
||||
PROPERTIES
|
||||
# This option tells CMake to generate position-independent code (PIC).
|
||||
# PIC code can be loaded and executed at any address in memory.
|
||||
# This is necessary when building shared/dynamic libraries.
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
# This option tells CMake to export the compile commands for the target.
|
||||
# This can be useful for debugging and profiling purposes.
|
||||
CMAKE_EXPORT_COMPILE_COMMANDS ON
|
||||
# This option tells CMake to enable interprocedural optimization for the target.
|
||||
# This can improve the performance of the target by optimizing code across multiple functions.
|
||||
CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON
|
||||
# This option tells CMake to place the static library archive for the target in the specified directory.
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${GDEXTENSION_LIB_PATH}"
|
||||
# This option tells CMake to place the shared library for the target in the specified directory.
|
||||
LIBRARY_OUTPUT_DIRECTORY "${GDEXTENSION_LIB_PATH}"
|
||||
# This option tells CMake to place the runtime library for the target in the specified directory.
|
||||
RUNTIME_OUTPUT_DIRECTORY "${GDEXTENSION_LIB_PATH}"
|
||||
# This option tells CMake to place the program database (PDB) file for the target in the specified directory.
|
||||
# The PDB file contains debugging information for the target.
|
||||
CMAKE_PDB_OUTPUT_DIRECTORY "${GDEXTENSION_LIB_PATH}"
|
||||
# This option tells CMake to place the compile-time PDB file for the target in the specified directory.
|
||||
# The compile-time PDB file contains debugging information that can be used to debug the target while it is being built.
|
||||
CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY "${GDEXTENSION_LIB_PATH}"
|
||||
# This option tells CMake to set the output name for the target to the specified value.
|
||||
OUTPUT_NAME "${gde_lib_name}"
|
||||
)
|
||||
|
||||
# =======================================================================
|
||||
# Print configuration report
|
||||
# =======================================================================
|
||||
|
||||
# Include utility script that prints a handful of useful build/configuration cmake variables:
|
||||
include(cmake-utils)
|
||||
print_project_variables()
|
225
CMakePresets.json
Normal file
225
CMakePresets.json
Normal file
@ -0,0 +1,225 @@
|
||||
{
|
||||
"version": 5,
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "default",
|
||||
"hidden": true,
|
||||
"generator": "Ninja",
|
||||
"installDir": "${sourceDir}/.out/install/${presetName}",
|
||||
"binaryDir": "${sourceDir}/.out/build/${presetName}",
|
||||
"toolchainFile": "${sourceDir}/extern/vcpkg/scripts/buildsystems/vcpkg.cmake",
|
||||
"architecture": {
|
||||
"value": "x64",
|
||||
"strategy": "external"
|
||||
},
|
||||
"toolset": {
|
||||
"value": "host=x64",
|
||||
"strategy": "external"
|
||||
},
|
||||
"environment": {
|
||||
"NINJA_STATUS": "%p [%es] (%f/%t) -"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "default-verbose",
|
||||
"inherits": "default",
|
||||
"hidden": true,
|
||||
"environment": {
|
||||
"VERBOSE": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "msvc",
|
||||
"inherits": "default",
|
||||
"hidden": true,
|
||||
"cacheVariables": {
|
||||
"CMAKE_C_COMPILER": "cl",
|
||||
"CMAKE_CXX_COMPILER": "cl",
|
||||
"VCPKG_TARGET_TRIPLET": "x64-windows-static-md"
|
||||
},
|
||||
"condition": {
|
||||
"type": "equals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "Windows"
|
||||
}
|
||||
},
|
||||
{
|
||||
"displayName": "MSVC Debug",
|
||||
"name": "msvc-debug",
|
||||
"inherits": "msvc",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"displayName": "MSVC Release",
|
||||
"name": "msvc-release",
|
||||
"inherits": "msvc",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release"
|
||||
}
|
||||
},
|
||||
{
|
||||
"displayName": "MSVC RelWithDebInfo",
|
||||
"name": "msvc-relwdebinfo",
|
||||
"inherits": "msvc",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "gcc",
|
||||
"inherits": "default",
|
||||
"hidden": true,
|
||||
"cacheVariables": {
|
||||
"CMAKE_C_COMPILER": "gcc",
|
||||
"CMAKE_CXX_COMPILER": "g++"
|
||||
},
|
||||
"condition": {
|
||||
"type": "notEquals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "Windows"
|
||||
}
|
||||
},
|
||||
{
|
||||
"displayName": "GCC Debug",
|
||||
"name": "gcc-debug",
|
||||
"inherits": "gcc",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"displayName": "GCC Release",
|
||||
"name": "gcc-release",
|
||||
"inherits": "gcc",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release"
|
||||
}
|
||||
},
|
||||
{
|
||||
"displayName": "GCC RelWithDebInfo",
|
||||
"name": "gcc-relwdebinfo",
|
||||
"inherits": "gcc",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "gcc-windows",
|
||||
"inherits": "default",
|
||||
"hidden": true,
|
||||
"cacheVariables": {
|
||||
"CMAKE_C_COMPILER": "gcc",
|
||||
"CMAKE_CXX_COMPILER": "g++",
|
||||
"VCPKG_TARGET_TRIPLET": "x64-windows-static-md"
|
||||
},
|
||||
"condition": {
|
||||
"type": "equals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "Windows"
|
||||
}
|
||||
},
|
||||
{
|
||||
"displayName": "GCC Debug",
|
||||
"name": "gcc-windows-debug",
|
||||
"inherits": "gcc-windows",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"displayName": "GCC Release",
|
||||
"name": "gcc-windows-release",
|
||||
"inherits": "gcc-windows",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release"
|
||||
}
|
||||
},
|
||||
{
|
||||
"displayName": "GCC RelWithDebInfo",
|
||||
"name": "gcc-windows-relwdebinfo",
|
||||
"inherits": "gcc-windows",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "clang",
|
||||
"inherits": "default",
|
||||
"hidden": true,
|
||||
"cacheVariables": {
|
||||
"CMAKE_C_COMPILER": "clang",
|
||||
"CMAKE_CXX_COMPILER": "clang++"
|
||||
},
|
||||
"condition": {
|
||||
"type": "notEquals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "Windows"
|
||||
}
|
||||
},
|
||||
{
|
||||
"displayName": "Clang Debug",
|
||||
"name": "clang-debug",
|
||||
"inherits": "clang",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"displayName": "Clang Release",
|
||||
"name": "clang-release",
|
||||
"inherits": "clang",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release"
|
||||
}
|
||||
},
|
||||
{
|
||||
"displayName": "Clang RelWithDebInfo",
|
||||
"name": "clang-relwdebinfo",
|
||||
"inherits": "clang",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "clang-windows",
|
||||
"inherits": "default",
|
||||
"hidden": true,
|
||||
"cacheVariables": {
|
||||
"CMAKE_C_COMPILER": "clang",
|
||||
"CMAKE_CXX_COMPILER": "clang++",
|
||||
"VCPKG_TARGET_TRIPLET": "x64-windows-static-md"
|
||||
},
|
||||
"condition": {
|
||||
"type": "equals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "Windows"
|
||||
}
|
||||
},
|
||||
{
|
||||
"displayName": "Clang Debug",
|
||||
"name": "clang-windows-debug",
|
||||
"inherits": "clang-windows",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"displayName": "Clang Release",
|
||||
"name": "clang-windows-release",
|
||||
"inherits": "clang-windows",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release"
|
||||
}
|
||||
},
|
||||
{
|
||||
"displayName": "Clang RelWithDebInfo",
|
||||
"name": "clang-windows-relwdebinfo",
|
||||
"inherits": "clang-windows",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 sal
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
37
Makefile
37
Makefile
@ -1,37 +0,0 @@
|
||||
# Compiler and flags
|
||||
CPPC = g++
|
||||
#CPPC_FLAGS = -std=c++23 -s -O3 -Wall -Wextra -lSDL3 -lSDL3_image
|
||||
# Debug flags:
|
||||
CPPC_FLAGS = -std=c++23 -ggdb -Wall -Wextra -lSDL3 -lSDL3_image
|
||||
|
||||
SRC_PATH := src
|
||||
OBJ_PATH := build/obj
|
||||
BIN_PATH := build/bin
|
||||
|
||||
|
||||
SRC_FILES := $(shell find $(SRC_PATH) -name '*.cpp')
|
||||
# Generate corresponding object file paths by replacing src/ with build/obj/
|
||||
OBJ_FILES := $(patsubst $(SRC_PATH)/%.cpp,$(OBJ_PATH)/%.o,$(SRC_FILES))
|
||||
|
||||
|
||||
|
||||
all: make-build-dir $(BIN_PATH)/naval_swarm
|
||||
|
||||
|
||||
make-build-dir:
|
||||
mkdir -p $(OBJ_PATH)
|
||||
mkdir -p $(BIN_PATH)
|
||||
|
||||
|
||||
$(BIN_PATH)/naval_swarm: $(OBJ_FILES)
|
||||
$(CPPC) $(CPPC_FLAGS) $^ -o $@
|
||||
|
||||
|
||||
$(OBJ_PATH)/%.o: $(SRC_PATH)/%.cpp
|
||||
$(CPPC) $(CPPC_FLAGS) -c $< -o $@
|
||||
|
||||
|
||||
clean:
|
||||
rm -fr build
|
||||
|
||||
.PHONY: all clean make-build-dir
|
91
README.md
Normal file
91
README.md
Normal file
@ -0,0 +1,91 @@
|
||||
# Godot 4.3 GDExtension C++ Prototype
|
||||
|
||||
This project is a rough prototype focusing on understanding how to implementa majority of a game's core logic/scripting in C++ using GDExtension. Everything is done in the code aside from UI/dialog/menu design, and scene file generation.
|
||||
|
||||
The current focus is aimed towards learning more about how certain features and funtionality can be implemented in native code leveraging the [godot-cpp](https://github.com/godotengine/godot-cpp) GDExtension bindings so there isn't much game logic implemented yet. Since the documentation is pretty sparse when it comes to pure native development, most of the functionality implemnted in this project is focused on providing a variety of general examples of misc functionality that others will likely find useful.
|
||||
|
||||
Game logic will become a focus when most of the essentials are figured out and implented throughout the project.
|
||||
|
||||
# Overview
|
||||
|
||||
This project is meant to show others working with GDExtension how to:
|
||||
|
||||
- structure a project
|
||||
- implement specific features and functionality entirely in C++
|
||||
- incorporate 3rd party libraries into their GDExtension code/library
|
||||
- use CMake, VCPKG, and submodules to configure the project automatically
|
||||
- configure VSCode (linux & windows) / Visual Studio 2022 (windows) for
|
||||
- good code navigation for godot engine sources, godot-cpp sources, and the gdextension project sources.
|
||||
- good autocomplete / intellisense configuration
|
||||
- preconfigured debugger launch profiles to run the project standalone or by launching the editor (both launch settings debuggable)
|
||||
- good debugger visualizations for internal godot data structures by leveraging the .natvis file provided with godot-cpp
|
||||
|
||||
# High Level Project Structure
|
||||
|
||||
The project's [main scene](./project/main.tscn) consists of a single `Main` node. The `Main` node is intended to handle all high level game management (level loading, scene swaps, saving, loading, UI, input handling, menus, signal propigation, etc)
|
||||
|
||||
The overall node hierarchy:
|
||||
|
||||
<div class="highlight highlight-html"> <pre>
|
||||
<a href="./src/main.hpp" title="Main">Main</a>
|
||||
├── <a href="./src/ui/main_dialog.hpp" title="main_dialog.hpp">Main Canvas Layer<a> (reference to <a href=https://github.com/vorlac/godot-roguelite/blob/main/project/scenes/ui/main_dialog.tscn#L100-L113 title="title">Canvas Layer</a> in MainDialog)
|
||||
├── <a href="./src/ui/main_dialog.hpp" title="main_dialog.hpp">MainDialog</a>
|
||||
│ ├── <a href="https://github.com/vorlac/godot-roguelite/blob/main/project/scenes/ui/main_dialog.tscn#L132-L159" title="main_dialog.tscn">RichTextLabel (In-Game Console)</a>
|
||||
│ └── <a href="https://github.com/vorlac/godot-roguelite/blob/main/project/scenes/ui/main_dialog.tscn#L100-L113" title="main_dialog.tscn">MainSubViewport (Primary Game Viewport)</a>
|
||||
│ └── <a href="https://github.com/vorlac/godot-roguelite/blob/main/project/scenes/ui/main_dialog.tscn#L100-L113" title="main_dialog.tscn">Canvas Layer</a>
|
||||
├── <a href="./src/entity/level.hpp" title="level.hpp">Level</a>
|
||||
│ ├── <a href="./src/entity/character/player.cpp" title="player.cpp">Player</a> (GDCLASS object inheritance example)
|
||||
│ │ ├── <a href="./project/scenes/characters/player.tscn" title="player.tscn">Godot Player Scene</a>
|
||||
│ │ ├── <a href="./src/entity/controller/character_controller.cpp" title="character_controller.cp">CharacterController</a>
|
||||
│ │ ├── <a href="./src/entity/camera.cpp" title="camera.cpp">Camera</a>
|
||||
│ │ └── <a href="https://github.com/vorlac/godot-roguelite/blob/main/src/entity/character/character.hpp#L85" title="character.hpp">FiringPoint (Marker2D reference from Godot Player Scene)</a>
|
||||
│ └── <a href="./src/entity/projectile/projectile_spawner.hpp" title="projectile_spawner.hpp">Projectile Spawner</a>
|
||||
│ └── <a href="./src/entity/projectile/projectile.hpp" title="projectile.hpp">Projectile</a>
|
||||
<a href="./src/singletons/console.hpp" title="console.hpp">Console (Singleton example)</a>
|
||||
└── <a href="https://github.com/vorlac/godot-roguelite/blob/main/project/scenes/ui/main_dialog.tscn#L132-L159" title="main_dialog.tscn">RichTextLabel (Reference from MainDialog)</a>
|
||||
</pre> </div>
|
||||
|
||||
# Setup Guide
|
||||
|
||||
See the [wiki](https://github.com/vorlac/godot-roguelite/wiki) for a detailed guide that will walk you through the steps required to get this project running and debugging on linux or windows. Make sure to thank [PixelRain](https://github.com/Mangonels) in the [Godot discord](https://discord.com/channels/212250894228652034/342047011778068481) for his contributions to the wiki.
|
||||
|
||||
# Using this project as a base for your project
|
||||
|
||||
This repo is set up as a template (using the "use this template"->"create a new repository" button on the main landing page of this repo). If you use that option rather than just cloning this repo directly it will create a copy of the repo (not a clone or fork) in your github account with all history stripped. This project should be relatively plug and play when it comes to reusing the parts you want to keep and removing/replacing the parts you don't. If you create a repo from the template you also have the option of making the project private when it creates the repo in your github account.
|
||||
|
||||
Once the template project is created you _should_ be able to just swap out the code in `src/` and godot project files in `project/` with your own C++ source code and godot project files. If everything was replaced correctly/consistently, the cmake build should detect the changes in the `src/` directory (file additions/removals/renames) and know to reconfigure the project if/when changes are made.
|
||||
|
||||
More information about using this repo as a base for your own project in the [templating](https://github.com/vorlac/godot-roguelite/wiki/Templating-%E2%80%90-godot%E2%80%90roguelite-as-a-template-for-your-own-project) section of the wiki.
|
||||
|
||||
# Note about cloning
|
||||
|
||||
If you just want to clone/try this project locally, it's important that you truly clone the repo and not just download it as a zip. The repo contains submodules that are required for the build to function properly, which will only be included if the repo is cloned (or templated). The zip download option won't correctly package the repos located in each extern/<submodule> directory which will lead to the buildscripts failing.
|
||||
|
||||
# Contributing
|
||||
|
||||
This repo and/or the [gdextension developer documentation](https://github.com/vorlac/gdextension-docs/blob/main/main.md) I recently started working on is open to anyone that wants to contribute. Feel free to submit PRs for any changes that implement new features, fix bugs, or improve upon any existing features, functionality, or design.
|
||||
|
||||
# Additional Resources
|
||||
|
||||
The projects below are also worth checking out for some additional GDExtension examples to use as references
|
||||
|
||||
- https://github.com/paddy-exe/GDExtensionSummator
|
||||
- https://github.com/asmaloney/GDExtensionTemplate
|
||||
- https://github.com/godotengine/godot-cpp-template
|
||||
- https://github.com/godotengine/godot-cpp/tree/master/test/src
|
||||
|
||||
# Licensing
|
||||
|
||||
#### Code
|
||||
|
||||
- All code in this project is licensed as [MIT](./LICENSE)
|
||||
|
||||
#### Assets
|
||||
|
||||
- All art assets (`project/assets/art/*`) are licensed as [Creative Commons Zero, CC0](./project/assets/art/LICENSE)
|
||||
- All audio assets (`project/assets/audio/*`) are licensed as [Creative Commons Zero, CC0](./project/assets/audio/LICENSE)
|
||||
- Art & audio assets credit: [Kenney](www.kenney.nl)
|
||||
- Asset pack purchase link: [All-in-1 Asset Pack](https://kenney.itch.io/kenney-game-assets)
|
||||
|
||||
|
||||
> [vorlac/godot-roguelite](https://github.com/vorlac/godot-roguelite) was used as template
|
73
TODO.md
Normal file
73
TODO.md
Normal file
@ -0,0 +1,73 @@
|
||||
# TODO
|
||||
|
||||
### Stats / Resource Monitoring
|
||||
* print resource usage (fps, frametime, object count, etc) in UI labels.
|
||||
* truncate console text output once it exceeds ~1024 lines.
|
||||
|
||||
### Resource loading
|
||||
* see if loading from path can be default rather than loading cached resource file.
|
||||
* cached files don't always play nice with certain native code changes (i.e. changing `GDCLASS` baseclass)
|
||||
|
||||
### Menu Dialogs / HUD
|
||||
* create main menu
|
||||
* create options menu
|
||||
* create pause menu
|
||||
* in-game HUD
|
||||
|
||||
### Level Creation
|
||||
* look into procedural level generation
|
||||
* completely dynamic? pieced together using prebuilt scene chunks?
|
||||
|
||||
### Enemies
|
||||
* implement placeholer dynamic enemy spawns
|
||||
* health
|
||||
* movement
|
||||
* attacks
|
||||
* weapons
|
||||
|
||||
### Projectiles
|
||||
* design dynamic projectile system
|
||||
* custom paths
|
||||
* tweening
|
||||
* speed
|
||||
* size
|
||||
* acceleration
|
||||
* TTL
|
||||
* distance
|
||||
* auto tracking
|
||||
* rayscan / lazer
|
||||
* pattern
|
||||
* accuracy / randomness in spray
|
||||
|
||||
### Weapons
|
||||
* implement weapon inventory
|
||||
* weapon swapping
|
||||
* weapon pickups / replacement
|
||||
* randomized properties?
|
||||
|
||||
### Items
|
||||
* implement basic item pickup system
|
||||
* usable items
|
||||
* passive modifiers
|
||||
|
||||
### Score / Stats tracking
|
||||
* player health
|
||||
* score / kills
|
||||
* survival time
|
||||
* dungeon depth
|
||||
* rooms cleared per dungeon / floor
|
||||
* currency
|
||||
* apply toward perstent upgrades / weapons / skill tree
|
||||
|
||||
### Player Character
|
||||
##### Inputs / Movement
|
||||
* refine controls
|
||||
##### Animations
|
||||
* implement basic animations for movement / state change
|
||||
|
||||
### Graphics
|
||||
* Look into shaders
|
||||
* particle effects (projectiles? dashing?)
|
||||
|
||||
### Audio
|
||||
* Hook up some basic sfx / music
|
Binary file not shown.
Before Width: | Height: | Size: 5.6 MiB |
@ -1,913 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
width="58.118374"
|
||||
height="512"
|
||||
viewBox="0 0 58.118374 511.99998"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<g
|
||||
id="g1"
|
||||
transform="matrix(0.75042725,0,0,0.75042725,-268.6203,-165.22315)">
|
||||
<path
|
||||
id="path2"
|
||||
d="m 96,58.502331 h 18"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path3"
|
||||
d="M 115,78.502331 V 158.50233"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path4"
|
||||
d="M 95,78.502331 V 158.50233"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path5"
|
||||
d="m 115,158.50233 -0.003,1.9633 -0.009,1.96212 -0.0151,1.95975 -0.0211,1.9562 -0.027,1.95148 -0.033,1.94559 -0.039,1.93851 -0.0449,1.93028 -0.0508,1.92087 -0.0567,1.91031 -0.0626,1.89861 -0.0684,1.88575 -0.0741,1.87177 -0.0798,1.85665 -0.0855,1.84041 -0.0911,1.82307 -0.0967,1.80464 -0.10221,1.7851 -0.10765,1.7645 -0.11303,1.74283 -0.11834,1.72012 -0.12358,1.69636 -0.12875,1.67159 -0.13384,1.64581 -0.13885,1.61904 -0.14378,1.59128 -0.14861,1.56259 -0.15336,1.53293 -0.15801,1.50237 -0.16258,1.47089 -0.16704,1.43852 -0.1714,1.4053 -0.17567,1.37123 -0.17981,1.33632 -0.18386,1.30062 -0.1878,1.26413 -0.19162,1.22687 -0.19532,1.18889 -0.19891,1.15019 -0.20238,1.11078 -0.20572,1.07072 -0.20895,1.03 -0.21205,0.98867 -0.21501,0.94674 -0.21786,0.90424 -0.22056,0.8612 -0.22314,0.81764 -0.22558,0.77358 -0.22788,0.72906 -0.23005,0.68411 -0.23208,0.63872 -0.23397,0.59298 -0.23572,0.54686 -0.23733,0.50041 -0.23879,0.45367 -0.24011,0.40665 -0.24128,0.35939 -0.24232,0.31191 -0.24319,0.26424 -0.24394,0.21642 -0.24452,0.16846 -0.24497,0.1204 -0.24527,0.0723 -0.24541,0.0241 -0.24541,-0.0241 -0.24527,-0.0723 -0.24497,-0.1204 -0.24452,-0.16846 -0.24394,-0.21642 -0.24319,-0.26424 -0.24232,-0.31191 -0.24128,-0.35939 -0.24011,-0.40665 -0.23879,-0.45367 -0.23733,-0.50041 -0.23572,-0.54686 -0.23397,-0.59298 -0.23208,-0.63872 -0.23005,-0.68411 -0.22789,-0.72906 -0.22557,-0.77358 -0.22314,-0.81764 -0.22056,-0.8612 -0.21786,-0.90424 -0.21501,-0.94674 -0.212048,-0.98867 -0.208948,-1.03 -0.205726,-1.07072 -0.20238,-1.11078 -0.198911,-1.15019 -0.195323,-1.18889 -0.191617,-1.22687 -0.187796,-1.26413 -0.183861,-1.30062 -0.179815,-1.33632 -0.175663,-1.37123 -0.171403,-1.4053 -0.16704,-1.43852 -0.162577,-1.47089 -0.158017,-1.50237 -0.153359,-1.53293 -0.148611,-1.56259 -0.143773,-1.59128 -0.138848,-1.61904 -0.13384,-1.64581 -0.12875,-1.67159 -0.123584,-1.69636 -0.118343,-1.72012 -0.11303,-1.74283 -0.10765,-1.7645 -0.102205,-1.7851 -0.0967,-1.80464 -0.09113,-1.82307 -0.08551,-1.84041 -0.07984,-1.85665 -0.07412,-1.87177 -0.06836,-1.88575 -0.06255,-1.89861 -0.05671,-1.91031 -0.05083,-1.92087 -0.04492,-1.93028 -0.03899,-1.93851 -0.03303,-1.94559 -0.02705,-1.95148 -0.02106,-1.9562 -0.01505,-1.95975 -0.009,-1.96212 -0.003,-1.9633"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path6"
|
||||
d="m 96,58.502331 -1,20"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path7"
|
||||
d="m 114,58.502331 1,20"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path8"
|
||||
d="m 106,205.25233 -9e-4,0.0423 -0.003,0.0423 -0.004,0.0421 -0.006,0.0419 -0.008,0.0416 -0.01,0.0412 -0.0115,0.0408 -0.0132,0.0402 -0.0149,0.0396 -0.0166,0.039 -0.0182,0.0382 -0.0198,0.0374 -0.0214,0.0366 -0.0229,0.0356 -0.0244,0.0346 -0.0259,0.0335 -0.0272,0.0324 -0.0286,0.0312 -0.0299,0.03 -0.0311,0.0287 -0.0323,0.0274 -0.0335,0.026 -0.0345,0.0245 -0.0355,0.023 -0.0365,0.0215 -0.0374,0.02 -0.0382,0.0184 -0.0389,0.0167 -0.0396,0.0151 -0.0402,0.0134 -0.0407,0.0117 -0.0412,0.01 -0.0416,0.008 -0.0419,0.006 -0.0421,0.005 -0.0422,0.003 -0.0423,0.001 -0.0423,-7.3e-4 -0.0423,-0.003 -0.0421,-0.004 -0.0419,-0.006 -0.0416,-0.008 -0.0412,-0.01 -0.0408,-0.0113 -0.0403,-0.0131 -0.0397,-0.0148 -0.039,-0.0164 -0.0383,-0.0181 -0.0375,-0.0197 -0.0366,-0.0213 -0.0357,-0.0228 -0.0347,-0.0243 -0.0337,-0.0257 -0.0325,-0.0271 -0.0314,-0.0285 -0.0301,-0.0298 -0.0288,-0.031 -0.0275,-0.0322 -0.0261,-0.0334 -0.0247,-0.0344 -0.0232,-0.0354 -0.0217,-0.0364 -0.0201,-0.0373 -0.0185,-0.0381 -0.0169,-0.0388 -0.0152,-0.0395 -0.0135,-0.0401 -0.0118,-0.0407 -0.0101,-0.0411 -0.008,-0.0415 -0.007,-0.0418 -0.005,-0.0421 -0.003,-0.0422 -10e-4,-0.0423 5.7e-4,-0.0423 0.002,-0.0423 0.004,-0.0421 0.006,-0.0419 0.008,-0.0416 0.009,-0.0413 0.0112,-0.0408 0.0129,-0.0403 0.0146,-0.0397 0.0163,-0.0391 0.0179,-0.0384 0.0195,-0.0376 0.0211,-0.0367 0.0227,-0.0358 0.0241,-0.0348 0.0256,-0.0337 0.027,-0.0326 0.0284,-0.0315 0.0297,-0.0302 0.0309,-0.029 0.0321,-0.0276 0.0333,-0.0262 0.0343,-0.0248 0.0353,-0.0233 0.0363,-0.0218 0.0372,-0.0203 0.038,-0.0187 0.0388,-0.017 0.0395,-0.0154 0.0401,-0.0137 0.0406,-0.012 0.0411,-0.0102 0.0415,-0.008 0.0418,-0.007 0.0421,-0.005 0.0422,-0.003 0.0423,-0.001 0.0423,4.2e-4 0.0423,0.002 0.0422,0.004 0.0419,0.006 0.0417,0.008 0.0413,0.009 0.0409,0.011 0.0404,0.0128 0.0398,0.0145 0.0392,0.0161 0.0384,0.0178 0.0376,0.0194 0.0368,0.021 0.0359,0.0225 0.0349,0.024 0.0338,0.0255 0.0327,0.0269 0.0316,0.0282 0.0303,0.0296 0.0291,0.0308 0.0277,0.032 0.0264,0.0332 0.0249,0.0342 0.0235,0.0353 0.0219,0.0362 0.0204,0.0371 0.0188,0.0379 0.0172,0.0387 0.0155,0.0394 0.0138,0.04 0.0121,0.0406 0.0104,0.0411 0.009,0.0415 0.007,0.0418 0.005,0.042 0.003,0.0422 0.002,0.0423 1.1e-4,0.0152 z"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path9"
|
||||
d="m 99,198.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path10"
|
||||
d="M 100.5,198.50233 H 102"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path11"
|
||||
d="m 102,198.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path12"
|
||||
d="M 103.5,198.50233 H 105"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path13"
|
||||
d="m 99,186.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path14"
|
||||
d="M 100.5,186.50233 H 102"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path15"
|
||||
d="m 102,186.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path16"
|
||||
d="M 103.5,186.50233 H 105"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path17"
|
||||
d="m 111,186.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path18"
|
||||
d="m 111,188.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path19"
|
||||
d="m 111,189.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path20"
|
||||
d="m 111,191.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path21"
|
||||
d="m 99,186.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path22"
|
||||
d="m 99,188.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path23"
|
||||
d="m 99,189.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path24"
|
||||
d="m 99,191.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path25"
|
||||
d="m 111,103.50233 h -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path26"
|
||||
d="M 109.5,103.50233 H 108"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path27"
|
||||
d="m 108,103.50233 h -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path28"
|
||||
d="M 106.5,103.50233 H 105"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path29"
|
||||
d="m 99,103.50233 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path30"
|
||||
d="m 99,102.00233 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path31"
|
||||
d="M 99,100.50233 V 99.002331"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path32"
|
||||
d="m 99,99.002331 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path33"
|
||||
d="m 111,103.50233 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path34"
|
||||
d="m 111,102.00233 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path35"
|
||||
d="M 111,100.50233 V 99.002331"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path36"
|
||||
d="m 111,99.002331 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path37"
|
||||
d="m 105,198.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path38"
|
||||
d="M 106.5,198.50233 H 108"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path39"
|
||||
d="m 108,198.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path40"
|
||||
d="M 109.5,198.50233 H 111"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path41"
|
||||
d="m 105,186.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path42"
|
||||
d="M 106.5,186.50233 H 108"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path43"
|
||||
d="m 108,186.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path44"
|
||||
d="M 109.5,186.50233 H 111"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path45"
|
||||
d="m 111,192.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path46"
|
||||
d="m 111,194.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path47"
|
||||
d="m 111,195.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path48"
|
||||
d="m 111,197.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path49"
|
||||
d="m 99,192.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path50"
|
||||
d="m 99,194.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path51"
|
||||
d="m 99,195.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path52"
|
||||
d="m 99,197.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path53"
|
||||
d="m 105,103.50233 h -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path54"
|
||||
d="M 103.5,103.50233 H 102"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path55"
|
||||
d="m 102,103.50233 h -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path56"
|
||||
d="M 100.5,103.50233 H 99"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path57"
|
||||
d="m 99,97.502331 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path58"
|
||||
d="m 99,96.002331 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path59"
|
||||
d="m 111,97.502331 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path60"
|
||||
d="m 111,96.002331 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path61"
|
||||
d="m 99,197.00233 h 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path62"
|
||||
d="m 100.5,198.50233 v -12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path63"
|
||||
d="m 109.5,94.502331 v 8.999999"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path64"
|
||||
d="m 102,198.50233 v -12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path65"
|
||||
d="m 108,94.502331 v 8.999999"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path66"
|
||||
d="m 103.5,186.50233 v 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path67"
|
||||
d="M 106.5,103.50233 V 94.502331"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path68"
|
||||
d="m 105,198.50233 v -12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path69"
|
||||
d="m 105,94.502331 v 8.999999"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path70"
|
||||
d="m 106.5,198.50233 v -12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path71"
|
||||
d="m 103.5,94.502331 v 8.999999"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path72"
|
||||
d="m 108,198.50233 v -12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path73"
|
||||
d="m 102,94.502331 v 8.999999"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path74"
|
||||
d="m 109.5,186.50233 v 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path75"
|
||||
d="M 100.5,103.50233 V 94.502331"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path76"
|
||||
d="M 111,195.50233 H 99"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path77"
|
||||
d="m 99,94.502331 h 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path78"
|
||||
d="m 99,194.00233 h 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path79"
|
||||
d="M 111,96.002331 H 99"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path80"
|
||||
d="m 99,192.50233 h 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path81"
|
||||
d="M 111,97.502331 H 99"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path82"
|
||||
d="M 111,191.00233 H 99"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path83"
|
||||
d="m 99,99.002331 h 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path84"
|
||||
d="m 99,189.50233 h 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path85"
|
||||
d="M 111,100.50233 H 99"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path86"
|
||||
d="m 99,188.00233 h 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path87"
|
||||
d="M 111,102.00233 H 99"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path88"
|
||||
d="m 100.5,178.50233 h 9"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path89"
|
||||
d="m 109.5,178.50233 0.5,-15"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path90"
|
||||
d="m 100.5,178.50233 -0.5,-15"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path91"
|
||||
d="m 100,163.50233 -5,-5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path92"
|
||||
d="m 110,163.50233 5,-5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path93"
|
||||
d="m 100,163.50233 h 10"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path94"
|
||||
d="M 110,139.50233 H 100"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path95"
|
||||
d="m 100,163.50233 1,-2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path96"
|
||||
d="m 110,163.50233 -1,-2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path97"
|
||||
d="m 109,161.50233 h -8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path98"
|
||||
d="m 101,161.50233 -4,-4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path99"
|
||||
d="m 97,145.50233 4,-4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path100"
|
||||
d="m 109,141.50233 4,4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path101"
|
||||
d="m 109,161.50233 4,-4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path102"
|
||||
d="m 106,173.50233 -9e-4,0.0423 -0.003,0.0423 -0.004,0.0421 -0.006,0.0419 -0.008,0.0416 -0.01,0.0412 -0.0115,0.0408 -0.0132,0.0402 -0.0149,0.0396 -0.0166,0.039 -0.0182,0.0382 -0.0198,0.0374 -0.0214,0.0366 -0.0229,0.0356 -0.0244,0.0346 -0.0259,0.0335 -0.0272,0.0324 -0.0286,0.0312 -0.0299,0.03 -0.0311,0.0287 -0.0323,0.0274 -0.0335,0.026 -0.0345,0.0245 -0.0355,0.023 -0.0365,0.0215 -0.0374,0.02 -0.0382,0.0184 -0.0389,0.0167 -0.0396,0.0151 -0.0402,0.0134 -0.0407,0.0117 -0.0412,0.01 -0.0416,0.008 -0.0419,0.006 -0.0421,0.005 -0.0422,0.003 -0.0423,0.001 -0.0423,-7.3e-4 -0.0423,-0.003 -0.0421,-0.004 -0.0419,-0.006 -0.0416,-0.008 -0.0412,-0.01 -0.0408,-0.0113 -0.0403,-0.0131 -0.0397,-0.0148 -0.039,-0.0164 -0.0383,-0.0181 -0.0375,-0.0197 -0.0366,-0.0213 -0.0357,-0.0228 -0.0347,-0.0243 -0.0337,-0.0257 -0.0325,-0.0271 -0.0314,-0.0285 -0.0301,-0.0298 -0.0288,-0.031 -0.0275,-0.0322 -0.0261,-0.0334 -0.0247,-0.0344 -0.0232,-0.0354 -0.0217,-0.0364 -0.0201,-0.0373 -0.0185,-0.0381 -0.0169,-0.0388 -0.0152,-0.0395 -0.0135,-0.0401 -0.0118,-0.0407 -0.0101,-0.0411 -0.008,-0.0415 -0.007,-0.0418 -0.005,-0.0421 -0.003,-0.0422 -10e-4,-0.0423 5.7e-4,-0.0423 0.002,-0.0423 0.004,-0.0421 0.006,-0.0419 0.008,-0.0416 0.009,-0.0413 0.0112,-0.0408 0.0129,-0.0403 0.0146,-0.0397 0.0163,-0.0391 0.0179,-0.0384 0.0195,-0.0376 0.0211,-0.0367 0.0227,-0.0358 0.0241,-0.0348 0.0256,-0.0337 0.027,-0.0326 0.0284,-0.0315 0.0297,-0.0302 0.0309,-0.029 0.0321,-0.0276 0.0333,-0.0262 0.0343,-0.0248 0.0353,-0.0233 0.0363,-0.0218 0.0372,-0.0203 0.038,-0.0187 0.0388,-0.017 0.0395,-0.0154 0.0401,-0.0137 0.0406,-0.012 0.0411,-0.0102 0.0415,-0.008 0.0418,-0.007 0.0421,-0.005 0.0422,-0.003 0.0423,-0.001 0.0423,4.2e-4 0.0423,0.002 0.0422,0.004 0.0419,0.006 0.0417,0.008 0.0413,0.009 0.0409,0.011 0.0404,0.0128 0.0398,0.0145 0.0392,0.0161 0.0384,0.0178 0.0376,0.0194 0.0368,0.021 0.0359,0.0225 0.0349,0.024 0.0338,0.0255 0.0327,0.0269 0.0316,0.0282 0.0303,0.0296 0.0291,0.0308 0.0277,0.032 0.0264,0.0332 0.0249,0.0342 0.0235,0.0353 0.0219,0.0362 0.0204,0.0371 0.0188,0.0379 0.0172,0.0387 0.0155,0.0394 0.0138,0.04 0.0121,0.0406 0.0104,0.0411 0.009,0.0415 0.007,0.0418 0.005,0.042 0.003,0.0422 0.002,0.0423 1.1e-4,0.0152 z"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path103"
|
||||
d="m 105,141.50233 h -3"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path104"
|
||||
d="m 102,141.50233 h -1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path105"
|
||||
d="m 105,141.50233 h 3"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path106"
|
||||
d="m 108,141.50233 h 1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path107"
|
||||
d="m 100,139.50233 1,2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path108"
|
||||
d="m 109,141.50233 1,-2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path109"
|
||||
d="m 110,139.50233 5,5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path110"
|
||||
d="m 100,139.50233 -5,5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path111"
|
||||
d="m 113,157.50233 v -12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path112"
|
||||
d="m 97,157.50233 v -12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path113"
|
||||
d="m 102,141.50233 v 8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path114"
|
||||
d="m 108,141.50233 v 8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path115"
|
||||
d="m 102,149.50233 h 6"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path116"
|
||||
d="m 108,149.50233 -1,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path117"
|
||||
d="m 107,148.50233 h -4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path118"
|
||||
d="m 103,148.50233 -1,1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path119"
|
||||
d="m 102,141.50233 1,1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path120"
|
||||
d="m 108,141.50233 -1,1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path121"
|
||||
d="m 107,142.50233 v 6"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path122"
|
||||
d="m 103,148.50233 v -6"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path123"
|
||||
d="m 103,142.50233 h 4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path124"
|
||||
d="m 106,143.50233 -9e-4,0.0423 -0.003,0.0423 -0.004,0.0421 -0.006,0.0419 -0.008,0.0416 -0.01,0.0412 -0.0115,0.0408 -0.0132,0.0402 -0.0149,0.0396 -0.0166,0.039 -0.0182,0.0382 -0.0198,0.0374 -0.0214,0.0366 -0.0229,0.0356 -0.0244,0.0346 -0.0259,0.0335 -0.0272,0.0324 -0.0286,0.0312 -0.0299,0.03 -0.0311,0.0287 -0.0323,0.0274 -0.0335,0.026 -0.0345,0.0245 -0.0355,0.023 -0.0365,0.0215 -0.0374,0.02 -0.0382,0.0184 -0.0389,0.0167 -0.0396,0.0151 -0.0402,0.0134 -0.0407,0.0117 -0.0412,0.01 -0.0416,0.008 -0.0419,0.006 -0.0421,0.005 -0.0422,0.003 -0.0423,0.001 -0.0423,-7.3e-4 -0.0423,-0.003 -0.0421,-0.004 -0.0419,-0.006 -0.0416,-0.008 -0.0412,-0.01 -0.0408,-0.0113 -0.0403,-0.0131 -0.0397,-0.0148 -0.039,-0.0164 -0.0383,-0.0181 -0.0375,-0.0197 -0.0366,-0.0213 -0.0357,-0.0228 -0.0347,-0.0243 -0.0337,-0.0257 -0.0325,-0.0271 -0.0314,-0.0285 -0.0301,-0.0298 -0.0288,-0.031 -0.0275,-0.0322 -0.0261,-0.0334 -0.0247,-0.0344 -0.0232,-0.0354 -0.0217,-0.0364 -0.0201,-0.0373 -0.0185,-0.0381 -0.0169,-0.0388 -0.0152,-0.0395 -0.0135,-0.0401 -0.0118,-0.0407 -0.0101,-0.0411 -0.008,-0.0415 -0.007,-0.0418 -0.005,-0.0421 -0.003,-0.0422 -10e-4,-0.0423 5.7e-4,-0.0423 0.002,-0.0423 0.004,-0.0421 0.006,-0.0419 0.008,-0.0416 0.009,-0.0413 0.0112,-0.0408 0.0129,-0.0403 0.0146,-0.0397 0.0163,-0.0391 0.0179,-0.0384 0.0195,-0.0376 0.0211,-0.0367 0.0227,-0.0358 0.0241,-0.0348 0.0256,-0.0337 0.027,-0.0326 0.0284,-0.0315 0.0297,-0.0302 0.0309,-0.029 0.0321,-0.0276 0.0333,-0.0262 0.0343,-0.0248 0.0353,-0.0233 0.0363,-0.0218 0.0372,-0.0203 0.038,-0.0187 0.0388,-0.017 0.0395,-0.0154 0.0401,-0.0137 0.0406,-0.012 0.0411,-0.0102 0.0415,-0.008 0.0418,-0.007 0.0421,-0.005 0.0422,-0.003 0.0423,-0.001 0.0423,4.2e-4 0.0423,0.002 0.0422,0.004 0.0419,0.006 0.0417,0.008 0.0413,0.009 0.0409,0.011 0.0404,0.0128 0.0398,0.0145 0.0392,0.0161 0.0384,0.0178 0.0376,0.0194 0.0368,0.021 0.0359,0.0225 0.0349,0.024 0.0338,0.0255 0.0327,0.0269 0.0316,0.0282 0.0303,0.0296 0.0291,0.0308 0.0277,0.032 0.0264,0.0332 0.0249,0.0342 0.0235,0.0353 0.0219,0.0362 0.0204,0.0371 0.0188,0.0379 0.0172,0.0387 0.0155,0.0394 0.0138,0.04 0.0121,0.0406 0.0104,0.0411 0.009,0.0415 0.007,0.0418 0.005,0.042 0.003,0.0422 0.002,0.0423 1.1e-4,0.0152 z"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path125"
|
||||
d="m 5005.7238,7252.6356 -0.1693,-3.9973 -0.5067,-3.9687 -0.8405,-3.9116 -1.1682,-3.8264 -1.4875,-3.7138 -1.7963,-3.5746 -2.092,-3.4097 -2.3729,-3.2204 -2.6367,-3.008 -2.8816,-2.7741 -3.1058,-2.5201 -3.3077,-2.2483 -3.486,-1.9602 -3.6393,-1.658 -3.7664,-1.3441 -3.8666,-1.0204 -3.9389,-0.6895 -3.9832,-0.3536 -3.9988,-0.015 -3.9857,0.3234 -3.9441,0.6596 -3.8742,0.9911 -3.7764,1.3154 -3.6518,1.6305 -3.5007,1.9336 -3.3247,2.2231 -3.1248,2.4966 -2.9025,2.7521 -2.6594,2.9879 -2.3972,3.2023 -2.1179,3.3937 -1.8232,3.5609 -1.5157,3.7024 -1.1972,3.8175 -0.87,3.9051 -0.5368,3.9647 -0.1996,3.996 0.1391,3.9985 0.4766,3.9724 0.8108,3.9179 1.1391,3.8351 1.4594,3.725 1.7691,3.5881 2.0662,3.4255 2.3484,3.2383 2.6138,3.0279 2.8605,2.7958 3.0866,2.5437 3.2907,2.2733 3.471,1.9865 3.6266,1.6856 3.7561,1.3726 3.8587,1.0498 3.9337,0.7193 3.9804,0.3838 3.9985,0.046 3.9881,-0.2931 3.9489,-0.6297 3.8816,-0.9617 3.7863,-1.2867 3.664,-1.6027 3.5153,-1.9071 3.3415,-2.1978 3.1436,-2.4728 2.9233,-2.73 2.6819,-2.9676 2.4214,-3.1841 2.1435,-3.3776 1.8502,-3.5469 1.5437,-3.6908 1.226,-3.8083 0.8996,-3.8984 0.5668,-3.9605 0.2299,-3.9944 0.01,-0.7163 z"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
transform="scale(0.08)" />
|
||||
<path
|
||||
id="path126"
|
||||
d="m 103,146.50233 -0.0128,-3e-4 -0.0128,-9e-4 -0.0128,-0.002 -0.0128,-0.002 -0.0127,-0.003 -0.0127,-0.003 -0.0126,-0.004 -0.0126,-0.004 -0.0125,-0.005 -0.0125,-0.006 -0.0124,-0.006 -0.0123,-0.007 -0.0122,-0.007 -0.0121,-0.008 -0.012,-0.009 -0.0119,-0.009 -0.0118,-0.01 -0.0117,-0.0102 -0.0115,-0.0108 -0.0114,-0.0113 -0.0112,-0.0118 -0.0111,-0.0124 -0.0109,-0.0129 -0.0107,-0.0134 -0.0106,-0.0139 -0.0104,-0.0144 -0.0102,-0.0149 -0.01,-0.0153 -0.01,-0.0158 -0.01,-0.0163 -0.009,-0.0167 -0.009,-0.0171 -0.009,-0.0176 -0.009,-0.018 -0.008,-0.0184 -0.008,-0.0188 -0.008,-0.0192 -0.008,-0.0195 -0.007,-0.0199 -0.007,-0.0202 -0.007,-0.0206 -0.007,-0.0209 -0.006,-0.0212 -0.006,-0.0215 -0.006,-0.0218 -0.006,-0.0221 -0.005,-0.0223 -0.005,-0.0226 -0.005,-0.0228 -0.004,-0.023 -0.004,-0.0232 -0.004,-0.0234 -0.004,-0.0236 -0.003,-0.0237 -0.003,-0.0239 -0.003,-0.024 -0.002,-0.0241 -0.002,-0.0242 -0.002,-0.0243 -10e-4,-0.0244 -0.001,-0.0245 -7.9e-4,-0.0245 -4.7e-4,-0.0245 -1.6e-4,-0.0245 1.6e-4,-0.0245 4.7e-4,-0.0245 7.9e-4,-0.0245 0.001,-0.0245 10e-4,-0.0244 0.002,-0.0243 0.002,-0.0242 0.002,-0.0241 0.003,-0.024 0.003,-0.0239 0.003,-0.0237 0.004,-0.0236 0.004,-0.0234 0.004,-0.0232 0.004,-0.023 0.005,-0.0228 0.005,-0.0226 0.005,-0.0223 0.006,-0.0221 0.006,-0.0218 0.006,-0.0215 0.006,-0.0212 0.007,-0.0209 0.007,-0.0206 0.007,-0.0202 0.007,-0.0199 0.008,-0.0195 0.008,-0.0192 0.008,-0.0188 0.008,-0.0184 0.009,-0.018 0.009,-0.0176 0.009,-0.0171 0.009,-0.0167 0.01,-0.0163 0.01,-0.0158 0.01,-0.0153 0.0102,-0.0149 0.0104,-0.0144 0.0106,-0.0139 0.0107,-0.0134 0.0109,-0.0129 0.0111,-0.0124 0.0112,-0.0118 0.0114,-0.0113 0.0115,-0.0108 0.0117,-0.0102 0.0118,-0.01 0.0119,-0.009 0.012,-0.009 0.0121,-0.008 0.0122,-0.007 0.0123,-0.007 0.0124,-0.006 0.0125,-0.006 0.0125,-0.005 0.0126,-0.004 0.0126,-0.004 0.0127,-0.003 0.0127,-0.003 0.0128,-0.002 0.0128,-0.002 0.0128,-9e-4 0.0128,-3e-4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path127"
|
||||
d="m 107,144.50233 0.0136,3e-4 0.0136,9e-4 0.0136,0.002 0.0135,0.002 0.0135,0.003 0.0135,0.003 0.0134,0.004 0.0134,0.004 0.0133,0.005 0.0132,0.006 0.0131,0.006 0.013,0.007 0.013,0.007 0.0128,0.008 0.0127,0.009 0.0126,0.009 0.0125,0.01 0.0123,0.0102 0.0122,0.0108 0.0121,0.0113 0.0119,0.0118 0.0117,0.0124 0.0116,0.0129 0.0114,0.0134 0.0112,0.0139 0.011,0.0144 0.0108,0.0149 0.0106,0.0153 0.0104,0.0158 0.0102,0.0163 0.01,0.0167 0.01,0.0171 0.009,0.0176 0.009,0.018 0.009,0.0184 0.009,0.0188 0.008,0.0192 0.008,0.0195 0.008,0.0199 0.008,0.0202 0.007,0.0206 0.007,0.0209 0.007,0.0212 0.007,0.0215 0.006,0.0218 0.006,0.0221 0.006,0.0223 0.005,0.0226 0.005,0.0228 0.005,0.023 0.004,0.0232 0.004,0.0234 0.004,0.0236 0.003,0.0237 0.003,0.0239 0.003,0.024 0.002,0.0241 0.002,0.0242 0.002,0.0243 10e-4,0.0244 0.001,0.0245 8.3e-4,0.0245 5e-4,0.0245 1.7e-4,0.0245 -1.7e-4,0.0245 -5e-4,0.0245 -8.3e-4,0.0245 -0.001,0.0245 -10e-4,0.0244 -0.002,0.0243 -0.002,0.0242 -0.002,0.0241 -0.003,0.024 -0.003,0.0239 -0.003,0.0237 -0.004,0.0236 -0.004,0.0234 -0.004,0.0232 -0.005,0.023 -0.005,0.0228 -0.005,0.0226 -0.006,0.0223 -0.006,0.0221 -0.006,0.0218 -0.007,0.0215 -0.007,0.0212 -0.007,0.0209 -0.007,0.0206 -0.008,0.0202 -0.008,0.0199 -0.008,0.0195 -0.008,0.0192 -0.009,0.0188 -0.009,0.0184 -0.009,0.018 -0.009,0.0176 -0.01,0.0171 -0.01,0.0167 -0.0102,0.0163 -0.0104,0.0158 -0.0106,0.0153 -0.0108,0.0149 -0.011,0.0144 -0.0112,0.0139 -0.0114,0.0134 -0.0116,0.0129 -0.0117,0.0124 -0.0119,0.0118 -0.0121,0.0113 -0.0122,0.0108 -0.0123,0.0102 -0.0125,0.01 -0.0126,0.009 -0.0127,0.009 -0.0128,0.008 -0.013,0.007 -0.013,0.007 -0.0131,0.006 -0.0132,0.006 -0.0133,0.005 -0.0134,0.004 -0.0134,0.004 -0.0135,0.003 -0.0135,0.003 -0.0135,0.002 -0.0136,0.002 -0.0136,9e-4 -0.0136,3e-4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path128"
|
||||
d="m 104,148.90233 3e-4,-0.01 9e-4,-0.01 0.002,-0.01 0.002,-0.01 0.003,-0.01 0.003,-0.01 0.004,-0.01 0.004,-0.01 0.005,-0.01 0.006,-0.01 0.006,-0.009 0.007,-0.009 0.007,-0.009 0.008,-0.009 0.009,-0.009 0.009,-0.009 0.01,-0.009 0.0102,-0.009 0.0108,-0.009 0.0113,-0.009 0.0118,-0.009 0.0124,-0.008 0.0129,-0.008 0.0134,-0.008 0.0139,-0.008 0.0144,-0.008 0.0149,-0.008 0.0153,-0.008 0.0158,-0.008 0.0163,-0.007 0.0167,-0.007 0.0171,-0.007 0.0176,-0.007 0.018,-0.007 0.0184,-0.007 0.0188,-0.006 0.0192,-0.006 0.0195,-0.006 0.0199,-0.006 0.0202,-0.006 0.0206,-0.005 0.0209,-0.005 0.0212,-0.005 0.0215,-0.005 0.0218,-0.005 0.0221,-0.004 0.0223,-0.004 0.0226,-0.004 0.0228,-0.004 0.023,-0.003 0.0232,-0.003 0.0234,-0.003 0.0236,-0.003 0.0237,-0.002 0.0239,-0.002 0.024,-0.002 0.0241,-0.002 0.0242,-0.002 0.0243,-0.001 0.0244,-0.001 0.0245,-8.5e-4 0.0245,-6e-4 0.0245,-3.6e-4 0.0245,-1.2e-4 0.0245,1.2e-4 0.0245,3.6e-4 0.0245,6e-4 0.0245,8.5e-4 0.0244,0.001 0.0243,0.001 0.0242,0.002 0.0241,0.002 0.024,0.002 0.0239,0.002 0.0237,0.002 0.0236,0.003 0.0234,0.003 0.0232,0.003 0.023,0.003 0.0228,0.004 0.0226,0.004 0.0223,0.004 0.0221,0.004 0.0218,0.005 0.0215,0.005 0.0212,0.005 0.0209,0.005 0.0206,0.005 0.0202,0.006 0.0199,0.006 0.0195,0.006 0.0192,0.006 0.0188,0.006 0.0184,0.007 0.018,0.007 0.0176,0.007 0.0171,0.007 0.0167,0.007 0.0163,0.007 0.0158,0.008 0.0153,0.008 0.0149,0.008 0.0144,0.008 0.0139,0.008 0.0134,0.008 0.0129,0.008 0.0124,0.008 0.0118,0.009 0.0113,0.009 0.0108,0.009 0.0102,0.009 0.01,0.009 0.009,0.009 0.009,0.009 0.008,0.009 0.007,0.009 0.007,0.009 0.006,0.009 0.006,0.01 0.005,0.01 0.005,0.01 0.004,0.01 0.003,0.01 0.003,0.01 0.002,0.01 0.002,0.01 9e-4,0.01 3e-4,0.01"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path129"
|
||||
d="m 112.5,142.00233 v -18"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path130"
|
||||
d="m 97.5,142.00233 v -18"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path131"
|
||||
d="m 97.5,124.00233 2.5,-2.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path132"
|
||||
d="m 112.5,124.00233 -2.5,-2.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path133"
|
||||
d="m 100,121.50233 v -9"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path134"
|
||||
d="m 110,121.50233 v -9"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path135"
|
||||
d="m 102.5,112.50233 h 5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path136"
|
||||
d="M 107.5,112.50233 H 109"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path137"
|
||||
d="m 101,112.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path138"
|
||||
d="m 100,139.50233 v -15"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path139"
|
||||
d="m 110,139.50233 v -15"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path140"
|
||||
d="m 110,124.50233 -2.5,-2.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path141"
|
||||
d="m 100,124.50233 2.5,-2.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path142"
|
||||
d="m 102.5,122.00233 v -8.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path143"
|
||||
d="m 107.5,122.00233 v -8.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path144"
|
||||
d="m 107.5,113.50233 h -5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path145"
|
||||
d="m 100,112.50233 v -8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path146"
|
||||
d="m 100,104.50233 h 10"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path147"
|
||||
d="m 110,104.50233 v 8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path148"
|
||||
d="m 107.5,122.00233 2.5,-0.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path149"
|
||||
d="m 102.5,122.00233 -2.5,-0.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path150"
|
||||
d="m 100,124.50233 -2.5,-0.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path151"
|
||||
d="m 110,124.50233 2.5,-0.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path152"
|
||||
d="m 109,105.50233 1,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path153"
|
||||
d="m 100,104.50233 1,1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path154"
|
||||
d="m 109,112.50233 v -7"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path155"
|
||||
d="m 109,105.50233 h -8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path156"
|
||||
d="m 101,105.50233 v 7"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path157"
|
||||
d="m 101,112.50233 1.5,1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path158"
|
||||
d="m 107.5,113.50233 1.5,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path159"
|
||||
d="m 113,145.50233 2,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path160"
|
||||
d="m 97,145.50233 -2,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path161"
|
||||
d="m 97,157.50233 -2,1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path162"
|
||||
d="m 98,93.502331 -3,-4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path163"
|
||||
d="m 112,93.502331 3,-4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path164"
|
||||
d="m 114,89.302331 v -12.8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path165"
|
||||
d="m 98,93.502331 h 14"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path166"
|
||||
d="m 98.4,92.502331 h 13.2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path167"
|
||||
d="m 96,89.302331 v -12.8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path168"
|
||||
d="m 98.4,92.502331 -2.4,-3.2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path169"
|
||||
d="m 111.6,92.502331 2.4,-3.2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path170"
|
||||
d="m 96,76.502331 h 18"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path171"
|
||||
d="m 96,76.502331 -0.85,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path172"
|
||||
d="m 98,93.502331 0.4,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path173"
|
||||
d="m 112,93.502331 -0.4,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path174"
|
||||
d="m 114,89.302331 1,0.2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path175"
|
||||
d="m 96,89.302331 -1,0.2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path176"
|
||||
d="m 96,75.502331 h 18"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path177"
|
||||
d="m 114,75.502331 h 0.9"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path178"
|
||||
d="M 96,75.502331 H 95.1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path179"
|
||||
d="m 114,76.502331 0.9,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path180"
|
||||
d="m 106.75,82.902331 -5.1e-4,0.04235 -0.002,0.04232 -0.003,0.04227 -0.004,0.0422 -0.005,0.0421 -0.006,0.04198 -0.007,0.04183 -0.008,0.04165 -0.009,0.04146 -0.01,0.04124 -0.0106,0.04099 -0.0116,0.04072 -0.0126,0.04043 -0.0136,0.04011 -0.0146,0.03977 -0.0155,0.03941 -0.0165,0.03902 -0.0174,0.03861 -0.0183,0.03818 -0.0192,0.03772 -0.0202,0.03724 -0.0211,0.03675 -0.0219,0.03623 -0.0228,0.03568 -0.0237,0.03512 -0.0245,0.03454 -0.0253,0.03394 -0.0262,0.03331 -0.0269,0.03267 -0.0277,0.03201 -0.0285,0.03133 -0.0292,0.03063 -0.03,0.02991 -0.0307,0.02918 -0.0314,0.02843 -0.0321,0.02766 -0.0327,0.02688 -0.0334,0.02608 -0.034,0.02526 -0.0346,0.02443 -0.0352,0.02359 -0.0357,0.02273 -0.0363,0.02186 -0.0368,0.02097 -0.0373,0.02007 -0.0378,0.01917 -0.0382,0.01825 -0.0387,0.01732 -0.0391,0.01638 -0.0394,0.01543 -0.0398,0.01447 -0.0401,0.0135 -0.0405,0.01253 -0.0407,0.01154 -0.041,0.01055 -0.0413,0.0096 -0.0415,0.0086 -0.0417,0.0076 -0.0418,0.0065 -0.042,0.0055 -0.0421,0.0045 -0.0422,0.0035 -0.0423,0.0025 -0.0423,0.0014 -0.0424,4.17e-4 -0.0423,-6.09e-4 -0.0423,-0.0016 -0.0423,-0.0027 -0.0422,-0.0037 -0.0421,-0.0047 -0.042,-0.0057 -0.0418,-0.0067 -0.0416,-0.0077 -0.0414,-0.0087 -0.0412,-0.0097 -0.041,-0.01074 -0.0407,-0.01173 -0.0404,-0.01271 -0.0401,-0.01368 -0.0397,-0.01465 -0.0394,-0.01561 -0.039,-0.01655 -0.0386,-0.01749 -0.0381,-0.01842 -0.0377,-0.01934 -0.0372,-0.02024 -0.0367,-0.02114 -0.0362,-0.02202 -0.0356,-0.02289 -0.0351,-0.02374 -0.0345,-0.02459 -0.0339,-0.02541 -0.0332,-0.02622 -0.0326,-0.02702 -0.0319,-0.0278 -0.0313,-0.02857 -0.0306,-0.02932 -0.0299,-0.03005 -0.0291,-0.03076 -0.0284,-0.03146 -0.0276,-0.03213 -0.0268,-0.03279 -0.026,-0.03343 -0.0252,-0.03405 -0.0243,-0.03465 -0.0235,-0.03523 -0.0226,-0.03579 -0.0218,-0.03633 -0.0209,-0.03684 -0.02,-0.03734 -0.0191,-0.03781 -0.0182,-0.03826 -0.0172,-0.03869 -0.0163,-0.03909 -0.0153,-0.03948 -0.0144,-0.03983 -0.0134,-0.04017 -0.0124,-0.04048 -0.0114,-0.04077 -0.0105,-0.04104 -0.009,-0.04128 -0.008,-0.0415 -0.007,-0.04169 -0.006,-0.04186 -0.005,-0.042 -0.004,-0.04212 -0.003,-0.04221 -0.002,-0.04228 -0.001,-0.04233 -3.2e-4,-0.04235 7e-4,-0.04234 0.002,-0.04232 0.003,-0.04226 0.004,-0.04218 0.005,-0.04208 0.006,-0.04195 0.007,-0.0418 0.008,-0.04162 0.009,-0.04142 0.01,-0.04119 0.0108,-0.04094 0.0118,-0.04067 0.0128,-0.04037 0.0138,-0.04005 0.0147,-0.0397 0.0157,-0.03934 0.0166,-0.03894 0.0176,-0.03853 0.0185,-0.03809 0.0194,-0.03763 0.0203,-0.03715 0.0212,-0.03665 0.0221,-0.03613 0.023,-0.03558 0.0238,-0.03502 0.0247,-0.03443 0.0255,-0.03382 0.0263,-0.03319 0.0271,-0.03255 0.0279,-0.03188 0.0286,-0.0312 0.0294,-0.0305 0.0301,-0.02978 0.0308,-0.02904 0.0315,-0.02828 0.0322,-0.02751 0.0329,-0.02673 0.0335,-0.02592 0.0341,-0.0251 0.0347,-0.02427 0.0353,-0.02343 0.0358,-0.02257 0.0364,-0.02169 0.0369,-0.02081 0.0374,-0.01991 0.0379,-0.019 0.0383,-0.01807 0.0387,-0.01714 0.0391,-0.0162 0.0395,-0.01525 0.0399,-0.01429 0.0402,-0.01332 0.0405,-0.01234 0.0408,-0.01136 0.0411,-0.01037 0.0413,-0.0094 0.0415,-0.0084 0.0417,-0.0074 0.0419,-0.0063 0.042,-0.0053 0.0421,-0.0043 0.0422,-0.0033 0.0423,-0.0023 0.0423,-0.0012 0.0423,-2.26e-4 0.0423,8e-4 0.0423,0.0018 0.0422,0.0028 0.0422,0.0039 0.0421,0.0049 0.0419,0.0059 0.0418,0.0069 0.0416,0.0079 0.0414,0.0089 0.0412,0.0099 0.0409,0.01092 0.0406,0.01191 0.0403,0.01289 0.04,0.01386 0.0397,0.01483 0.0393,0.01578 0.0389,0.01673 0.0385,0.01767 0.038,0.01859 0.0376,0.01951 0.0371,0.02041 0.0366,0.0213 0.0361,0.02218 0.0355,0.02305 0.035,0.0239 0.0344,0.02474 0.0338,0.02557 0.0331,0.02638 0.0325,0.02717 0.0318,0.02795 0.0311,0.02871 0.0304,0.02945 0.0297,0.03018 0.029,0.03089 0.0282,0.03159 0.0274,0.03226 0.0267,0.03291 0.0258,0.03355 0.025,0.03416 0.0242,0.03476 0.0233,0.03533 0.0225,0.03589 0.0216,0.03642 0.0207,0.03693 0.0198,0.03742 0.0189,0.03789 0.018,0.03834 0.017,0.03876 0.0161,0.03917 0.0152,0.03954 0.0142,0.0399 0.0132,0.04023 0.0122,0.04054 0.0113,0.04082 0.0103,0.04108 0.009,0.04132 0.008,0.04153 0.007,0.04172 0.006,0.04189 0.005,0.04202 0.004,0.04214 0.003,0.04223 0.002,0.04229 0.001,0.04233 2e-4,0.02653 z"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 69 KiB |
22
cmake/ccache.cmake
Normal file
22
cmake/ccache.cmake
Normal file
@ -0,0 +1,22 @@
|
||||
# SPDX-License-Identifier: Unlicense
|
||||
|
||||
# See: https://crascit.com/2016/04/09/using-ccache-with-cmake/
|
||||
find_program( CCACHE_PROGRAM ccache )
|
||||
|
||||
if ( CCACHE_PROGRAM )
|
||||
# get version information
|
||||
execute_process(
|
||||
COMMAND "${CCACHE_PROGRAM}" --version
|
||||
OUTPUT_VARIABLE CCACHE_VERSION
|
||||
)
|
||||
|
||||
string( REGEX MATCH "[^\r\n]*" CCACHE_VERSION ${CCACHE_VERSION} )
|
||||
|
||||
message( STATUS "Using ccache: ${CCACHE_PROGRAM} (${CCACHE_VERSION})" )
|
||||
|
||||
# Turn on ccache for all targets
|
||||
set( CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}" )
|
||||
set( CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}" )
|
||||
|
||||
unset( CCACHE_VERSION )
|
||||
endif()
|
31
cmake/clang-format.cmake
Normal file
31
cmake/clang-format.cmake
Normal file
@ -0,0 +1,31 @@
|
||||
# SPDX-License-Identifier: Unlicense
|
||||
|
||||
find_program(CLANG_FORMAT_PROGRAM NAMES clang-format)
|
||||
|
||||
if (CLANG_FORMAT_PROGRAM)
|
||||
execute_process(
|
||||
COMMAND "${CLANG_FORMAT_PROGRAM}" --version
|
||||
OUTPUT_VARIABLE CLANG_FORMAT_VERSION
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
message("Using clang-format: ${CLANG_FORMAT_PROGRAM} (${CLANG_FORMAT_VERSION})")
|
||||
|
||||
file(GLOB_RECURSE
|
||||
format_src_list
|
||||
RELATIVE
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
"src/*.[hc]"
|
||||
"src/*.[hc]pp"
|
||||
)
|
||||
|
||||
foreach(_src_file ${format_src_list})
|
||||
message(" formatting => ${_src_file}")
|
||||
execute_process(
|
||||
COMMAND "${CLANG_FORMAT_PROGRAM}" --style=file -i "${_src_file}"
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
)
|
||||
endforeach()
|
||||
|
||||
unset(CLANG_FORMAT_VERSION)
|
||||
endif()
|
111
cmake/cmake-utils.cmake
Normal file
111
cmake/cmake-utils.cmake
Normal file
@ -0,0 +1,111 @@
|
||||
# Creates a custom "graphviz" target that outputs useful information
|
||||
# about the project's (and sub target) lib deps/linkage relationships
|
||||
function(run_active_cmake_diagnostics)
|
||||
# enabled with -D DEPENDENCY_DIAGNOSTICS=ON
|
||||
if(DEPENDENCY_DIAGNOSTICS MATCHES ON)
|
||||
# prints a dependency hierarchy for all targets in project
|
||||
set_property(GLOBAL PROPERTY GLOBAL_DEPENDS_DEBUG_MODE ON)
|
||||
endif()
|
||||
|
||||
# enabled with -D GRAPHVIZ_OUTPUT=ON
|
||||
if(GRAPHVIZ_OUTPUT MATCHES ON)
|
||||
# Outputs graphviz dot files and generates png images showing dependency
|
||||
# relationships for top level project and all targets it contains.
|
||||
# All files will be generated in src/build/graphviz_output by default.
|
||||
#
|
||||
# Note: png image graph generation requires graphviz to be installed
|
||||
include(${CMAKE_SOURCE_DIR}/CMakeGraphVizOptions.cmake)
|
||||
add_custom_target(graphviz ALL
|
||||
|
||||
# TODO: wipe out ${CMAKE_BINARY_DIR}/graphviz_output dir here
|
||||
COMMAND ${CMAKE_COMMAND} "--graphviz=${CMAKE_BINARY_DIR}/graphviz_output/${PROJECT_NAME}.dot" .
|
||||
COMMAND for dot_file in \$$\(find "${CMAKE_BINARY_DIR}/graphviz_output/*.dot*" ! -name \"*.png\" \)\; do echo \"Generating \$\${dot_file}.png\" && dot -Tpng \"\$$dot_file\" -o \"\$$dot_file.png\" \; done;
|
||||
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
||||
)
|
||||
endif()
|
||||
endfunction(run_active_cmake_diagnostics)
|
||||
|
||||
# function to output all CMAKE variables along with their
|
||||
# values using a case insentive regex match
|
||||
#
|
||||
# examples:
|
||||
# 1. print all cmake variables:
|
||||
# > dump_cmake_variables(".*")
|
||||
# 2. print all boolt cmake variables:
|
||||
# > dump_cmake_variables("^boost.*")
|
||||
function(dump_cmake_variables)
|
||||
get_cmake_property(_vars VARIABLES)
|
||||
list(SORT _vars)
|
||||
|
||||
foreach(_var ${_vars})
|
||||
if(ARGV0)
|
||||
unset(MATCHED)
|
||||
|
||||
# case insenstitive match
|
||||
string(TOLOWER "${ARGV0}" ARGV0_lower)
|
||||
string(TOLOWER "${_var}" _var_lower)
|
||||
|
||||
string(REGEX MATCH ${ARGV0_lower} MATCHED ${_var_lower})
|
||||
|
||||
if(NOT MATCHED)
|
||||
continue()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
set(_value ${${_var}})
|
||||
list(LENGTH _value _val_list_len)
|
||||
if(_val_list_len GREATER 1)
|
||||
message(DEBUG " [${_var}] =>")
|
||||
foreach(_val ${_value})
|
||||
message(DEBUG " - ${_val}")
|
||||
endforeach()
|
||||
else()
|
||||
message(DEBUG " [${_var}] => ${_value}")
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
# prints a collection of useful C++ project configuration values
|
||||
function(print_project_variables)
|
||||
message(DEBUG "")
|
||||
message(DEBUG "DEBUG CMake Cache Variable Dump")
|
||||
message(DEBUG "=============================================")
|
||||
message(DEBUG "")
|
||||
dump_cmake_variables(".*")
|
||||
|
||||
message(NOTICE "")
|
||||
message(NOTICE "Project Configuration Settigs: " ${PROJECT_NAME})
|
||||
message(NOTICE "=============================================")
|
||||
message(NOTICE "")
|
||||
message(NOTICE "Build Configuration")
|
||||
message(NOTICE " CMAKE_SYSTEM_PROCESSOR:..................: " ${CMAKE_SYSTEM_PROCESSOR})
|
||||
message(NOTICE " CMAKE_HOST_SYSTEM_NAME:..................: " ${CMAKE_HOST_SYSTEM_NAME})
|
||||
message(NOTICE " CMAKE_BUILD_TYPE:........................: " ${CMAKE_BUILD_TYPE})
|
||||
message(NOTICE " CMAKE_CXX_COMPILER_ARCHITECTURE_ID:......: " ${CMAKE_CXX_COMPILER_ARCHITECTURE_ID})
|
||||
message(NOTICE " CMAKE_CXX_STANDARD:......................: " ${CMAKE_CXX_STANDARD})
|
||||
message(NOTICE " CMAKE_CXX_COMPILER_VERSION:..............: " ${CMAKE_CXX_COMPILER_VERSION})
|
||||
message(NOTICE " CMAKE_CXX_SIZEOF_DATA_PTR:...............: " ${CMAKE_CXX_SIZEOF_DATA_PTR})
|
||||
message(NOTICE " CMAKE_GENERATOR:.........................: " ${CMAKE_GENERATOR})
|
||||
message(NOTICE " CMAKE_VERSION:...........................: " ${CMAKE_VERSION})
|
||||
message(NOTICE " CMAKE_MINIMUM_REQUIRED_VERSION:..........: " ${CMAKE_MINIMUM_REQUIRED_VERSION})
|
||||
message(NOTICE " VCPKG_TARGET_TRIPLET.....................: " ${VCPKG_TARGET_TRIPLET})
|
||||
message(NOTICE " CMAKE_DEBUG_POSTFIX......................: " ${CMAKE_DEBUG_POSTFIX})
|
||||
message(NOTICE "")
|
||||
message(NOTICE "CMake Paths")
|
||||
message(NOTICE " CMAKE_CURRENT_SOURCE_DIR.................: " ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
message(NOTICE " CMAKE_TOOLCHAIN_FILE:....................: " ${CMAKE_TOOLCHAIN_FILE})
|
||||
message(NOTICE " CMAKE_SOURCE_DIR:........................: " ${CMAKE_SOURCE_DIR})
|
||||
message(NOTICE " CMAKE_COMMAND:...........................: " ${CMAKE_COMMAND})
|
||||
message(NOTICE " CLANG_FORMAT_PROGRAM:....................: " ${CLANG_FORMAT_PROGRAM})
|
||||
message(NOTICE " SCONS_PROGRAM:...........................: " ${SCONS_PROGRAM})
|
||||
message(NOTICE " CMAKE_CXX_COMPILER:......................: " ${CMAKE_CXX_COMPILER})
|
||||
message(NOTICE " CMAKE_LINKER:............................: " ${CMAKE_LINKER})
|
||||
message(NOTICE " CMAKE_BUILD_TOOL:........................: " ${CMAKE_BUILD_TOOL})
|
||||
message(NOTICE " vcpkg_executable:........................: " ${vcpkg_executable})
|
||||
message(NOTICE " godot_debug_editor_executable:...........: " ${godot_debug_editor_executable})
|
||||
message(NOTICE " CMAKE_INSTALL_PREFIX:....................: " ${CMAKE_INSTALL_PREFIX})
|
||||
message(NOTICE " CMAKE_BINARY_DIR:........................: " ${CMAKE_BINARY_DIR})
|
||||
message(NOTICE " GDEXTENSION_LIB_PATH:....................: " ${GDEXTENSION_LIB_PATH})
|
||||
message(NOTICE "")
|
||||
endfunction(print_project_variables)
|
207
cmake/godot-dev-configuration.cmake
Normal file
207
cmake/godot-dev-configuration.cmake
Normal file
@ -0,0 +1,207 @@
|
||||
# =======================================================================
|
||||
# Godot Engine submodule update/init
|
||||
# =======================================================================
|
||||
|
||||
# confirm we found the godot engine source files.
|
||||
# if the sources list is empty, the submodule probably
|
||||
# hasn't been initialized or updated yet.
|
||||
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine/core")
|
||||
message(NOTICE "Godot engine sources not found")
|
||||
message(NOTICE "initializing/updating the engine submodule...")
|
||||
|
||||
# update the engine submodule to populate it with the
|
||||
# code necessary to build a debug version of the editor that
|
||||
# can be easily debugged along with the gdextension library
|
||||
execute_process(
|
||||
COMMAND git submodule update --init extern/godot-engine
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
)
|
||||
endif()
|
||||
|
||||
# =======================================================================
|
||||
# Godot-cpp bindings submodule update/init
|
||||
# =======================================================================
|
||||
|
||||
# confirm we found the godot engine source files.
|
||||
# if the sources list is empty, the submodule probably
|
||||
# hasn't been initialized or updated yet.
|
||||
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-cpp/src")
|
||||
message(NOTICE "godot-cpp bingings source not found")
|
||||
message(NOTICE "initializing/updating the godot-cpp submodule...")
|
||||
|
||||
# update the c++ bingings submodule to populate it with
|
||||
# the necessary source for the gdextension library
|
||||
execute_process(
|
||||
COMMAND git submodule update --init extern/godot-cpp
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
)
|
||||
endif()
|
||||
|
||||
# =======================================================================
|
||||
# Godot editor/engine debug build
|
||||
# =======================================================================
|
||||
|
||||
string(TOLOWER "${CMAKE_SYSTEM_NAME}" host_os)
|
||||
set(cpu_arch "x86_64")
|
||||
|
||||
# define variable to be used in the engine build when specifying platform.
|
||||
set(host_os_engine "${host_os}")
|
||||
if (APPLE)
|
||||
if ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "arm64")
|
||||
set(cpu_arch "arm64")
|
||||
endif()
|
||||
# ${CMAKE_SYSTEM_NAME} returns Darwin, but the scons platform name will be macos
|
||||
set(host_os_engine "macos")
|
||||
elseif(UNIX)
|
||||
# the scons build expects linuxbsd to be passed in as the platform
|
||||
# when building on linux, so just append bsd to CMAKE_SYSTEM_NAME
|
||||
set(host_os_engine "${host_os}bsd")
|
||||
endif()
|
||||
|
||||
|
||||
set(godot_debug_editor_executable
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine/bin/godot.${host_os_engine}.editor.dev.${cpu_arch}${CMAKE_EXECUTABLE_SUFFIX}"
|
||||
)
|
||||
|
||||
find_program(SCONS_PROGRAM NAMES scons)
|
||||
if (NOT EXISTS "${SCONS_PROGRAM}")
|
||||
message(FATAL_ERROR
|
||||
"scons not found, it is required for the godot engine build. "
|
||||
"Please install scons and confirm it is in your system PATH."
|
||||
)
|
||||
endif()
|
||||
|
||||
message(NOTICE "godot_debug_editor_executable = ${godot_debug_editor_executable}")
|
||||
|
||||
# if the engine/editor executable isn't found in the
|
||||
# engine's submodule bin folder, invoke the scons build.
|
||||
if(NOT EXISTS "${godot_debug_editor_executable}")
|
||||
message(STATUS "Godot engine debug binaries not found, invoking debug build of engine...")
|
||||
|
||||
if (WIN32)
|
||||
set(SCONS_COMMAND powershell -c)
|
||||
endif()
|
||||
|
||||
set(SCONS_COMMAND
|
||||
${SCONS_COMMAND}
|
||||
${SCONS_PROGRAM}
|
||||
target=editor
|
||||
use_static_cpp=yes
|
||||
dev_build=yes
|
||||
debug_symbols=yes
|
||||
optimize=none
|
||||
use_lto=no
|
||||
)
|
||||
|
||||
set(GODOT_ENGINE_CLEAN_BUILD OFF)
|
||||
if (GODOT_ENGINE_CLEAN_BUILD MATCHES ON)
|
||||
message(STATUS "Invoking scons clean: ${SCONS_COMMAND} --clean")
|
||||
|
||||
execute_process(
|
||||
COMMAND "${SCONS_PROGRAM}" --clean
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
)
|
||||
endif()
|
||||
|
||||
message(STATUS "Invoking scons build: ${SCONS_COMMAND}")
|
||||
# this build should only ever need to be run once (unless the enging debug binaries
|
||||
# are deleted or you want to change the build configuration/command invoked below).
|
||||
execute_process(
|
||||
COMMAND ${SCONS_COMMAND}
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
)
|
||||
|
||||
# not necessary, the temp file in here just confuses Visual Studio
|
||||
file(REMOVE_RECURSE "${CMAKE_CURRENT_SOURCE_DIR}}/extern/godot-engine/.sconf_temp")
|
||||
|
||||
if(NOT EXISTS "${godot_debug_editor_executable}")
|
||||
message(FATAL_ERROR "Couldn't find godot debug executable after scons build: ${godot_debug_editor_executable}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# =======================================================================
|
||||
# Godot C++ bindings library setup/configuration
|
||||
# =======================================================================
|
||||
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-cpp)
|
||||
|
||||
# =======================================================================
|
||||
# Godot engine library setup/configuration.
|
||||
# Not necessary, just provides better support in multiple IDEs
|
||||
# for engine source code browsing, intellisense, and debugging
|
||||
# =======================================================================
|
||||
|
||||
# populate source file list for the godot engine submodule
|
||||
file(GLOB_RECURSE godot_engine_sources CONFIGURE_DEPENDS
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine/*.[hc]"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine/*.[hc]pp"
|
||||
)
|
||||
|
||||
# add the engine sources as a library so intellisense works in VS and VSCode
|
||||
# (and any other IDEs that support CMake in a way where the information from
|
||||
# the CMake build is fed into the IDE for additional context about the code
|
||||
# when browsing/debugging). even though the engine is being added as a library here,
|
||||
# the EXCLUDE_FROM_ALL option will prevent it from compiling. This is done
|
||||
# purely for IDE integration so it's able to properly navigate the engine
|
||||
# source code using features like "go do definition", or typical tooltips.
|
||||
add_library(godot_engine EXCLUDE_FROM_ALL ${godot_engine_sources})
|
||||
|
||||
# this is just a handful of additional include directories used by the engine.
|
||||
# this isn't a complete list, I just add them as needed whenever I venture into
|
||||
# code where the IDE can't find certain header files during engine source browsing.
|
||||
target_include_directories(godot_engine PUBLIC
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine/platform/windows"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine/thirdparty/zlib"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine/thirdparty/vulkan"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine/thirdparty/vulkan/include"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine/thirdparty/vulkan/include/vulkan"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine/drivers/vulkan"
|
||||
SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine/thirdparty/glad"
|
||||
SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine/thirdparty/volk"
|
||||
SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine/thirdparty/zstd"
|
||||
SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/extern/godot-engine/thirdparty/mbedtls/include"
|
||||
)
|
||||
|
||||
# define a bunch of the same symbol definitions
|
||||
# used when by the scons engine build. These build
|
||||
# flags can differen based on the engine's build for
|
||||
# you system. Update as needed for your setup.
|
||||
target_compile_definitions(godot_engine PUBLIC
|
||||
$<$<CONFIG:Debug>:
|
||||
DEBUG_ENABLED
|
||||
DEBUG_METHODS_ENABLED
|
||||
DEV_ENABLED
|
||||
>
|
||||
$<$<BOOL:UNIX>:
|
||||
UNIX_ENABLED
|
||||
VK_USE_PLATFORM_XLIB_KHR
|
||||
>
|
||||
$<$<BOOL:WIN32>:
|
||||
WINDOWS_ENABLED
|
||||
WASAPI_ENABLED
|
||||
WINMIDI_ENABLED
|
||||
TYPED_METHOD_BIND
|
||||
NOMINMAX
|
||||
WIN32
|
||||
VK_USE_PLATFORM_WIN32_KHR
|
||||
_SCRT_STARTUP_WINMAIN=1
|
||||
$<$<BOOL:MSVC>:
|
||||
MSVC
|
||||
>
|
||||
>
|
||||
TOOLS_ENABLED
|
||||
NO_EDITOR_SPLASH
|
||||
GLAD_ENABLED
|
||||
GLES3_ENABLED
|
||||
GLES_OVER_GL
|
||||
VULKAN_ENABLED
|
||||
USE_VOLK
|
||||
MINIZIP_ENABLED
|
||||
BROTLI_ENABLED
|
||||
ZSTD_STATIC_LINKING_ONLY
|
||||
)
|
1
cmake/iwyu.cmake
Normal file
1
cmake/iwyu.cmake
Normal file
@ -0,0 +1 @@
|
||||
# TODO: implement include-what-you-use auto analysis target
|
48
cmake/vcpkg-init.cmake
Normal file
48
cmake/vcpkg-init.cmake
Normal file
@ -0,0 +1,48 @@
|
||||
# VCPKG submodule init/update
|
||||
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/extern/vcpkg/ports")
|
||||
message(NOTICE "VCPKG package manager sources not found")
|
||||
message(NOTICE "initializing/updating the vcpkg submodule...")
|
||||
execute_process(
|
||||
COMMAND git submodule update --init extern/vcpkg
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
)
|
||||
endif()
|
||||
|
||||
# =======================================================================
|
||||
# VCPKG triplet definition (should enforce static linkage for all deps)
|
||||
# This would typically be passed in from CMakePresets.json, but if
|
||||
# the cmake configuration is invoked without using a preset this fallback
|
||||
# should define a preset that prefers static linkage for 3rd party libs.
|
||||
# =======================================================================
|
||||
|
||||
if (NOT VCPKG_TARGET_TRIPLET)
|
||||
if (WIN32)
|
||||
# static-md enforces static linkage to all dependencies,
|
||||
# as well as dynamic linkage to the C runtime for consistency.
|
||||
# if this gives you trouble change to "x64-windows-static".
|
||||
set(VCPKG_TARGET_TRIPLET "x64-windows-static-md")
|
||||
elseif(APPLE)
|
||||
if ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "arm64")
|
||||
set(VCPKG_TARGET_TRIPLET "arm64-osx")
|
||||
else()
|
||||
set(VCPKG_TARGET_TRIPLET "x64-osx")
|
||||
endif()
|
||||
elseif(UNIX)
|
||||
set(VCPKG_TARGET_TRIPLET "x64-linux")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# =======================================================================
|
||||
# Define VCPKG toolchain file. This would typically be passed in from
|
||||
# CMakePresets.json, but if the cmake configuration is invoked without
|
||||
# using a preset this fallback should detect that the path is missing.
|
||||
# =======================================================================
|
||||
if(NOT CMAKE_TOOLCHAIN_FILE)
|
||||
set(toolchain_file_path "${CMAKE_CURRENT_SOURCE_DIR}/extern/vcpkg/scripts/buildsystems/vcpkg.cmake")
|
||||
if (EXISTS "${toolchain_file_path}")
|
||||
set(CMAKE_TOOLCHAIN_FILE "${toolchain_file_path}")
|
||||
else()
|
||||
message(WARNING "VCPKG toolchain file not found: ${toolchain_file_path}")
|
||||
endif()
|
||||
endif()
|
31
cmake/vcpkg-install-deps.cmake
Normal file
31
cmake/vcpkg-install-deps.cmake
Normal file
@ -0,0 +1,31 @@
|
||||
# =======================================================================
|
||||
# VCPKG bootstrap / initialization.
|
||||
# =======================================================================
|
||||
|
||||
set(vcpkg_executable "${CMAKE_CURRENT_SOURCE_DIR}/extern/vcpkg/vcpkg${CMAKE_EXECUTABLE_SUFFIX}")
|
||||
|
||||
if(EXISTS "${vcpkg_executable}")
|
||||
message(NOTICE "Found VCPKG Executable: ${vcpkg_executable}")
|
||||
else()
|
||||
message(NOTICE "Could not find VCPKG Executable: ${vcpkg_executable}")
|
||||
message(NOTICE "Calling VCPKG bootstrap scripts.")
|
||||
|
||||
if(WIN32)
|
||||
execute_process(
|
||||
COMMAND powershell -c "${CMAKE_CURRENT_SOURCE_DIR}/extern/vcpkg/bootstrap-vcpkg.bat"
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
)
|
||||
elseif(UNIX)
|
||||
execute_process(
|
||||
COMMAND bash "${CMAKE_CURRENT_SOURCE_DIR}/extern/vcpkg/bootstrap-vcpkg.sh"
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
)
|
||||
endif()
|
||||
|
||||
# fail out if vcpkg isn't found after setup
|
||||
if(NOT EXISTS "${vcpkg_executable}")
|
||||
message(FATAL_ERROR "ERROR: '${vcpkg_executable}' not found!")
|
||||
endif()
|
||||
endif()
|
1
extern/godot-cpp
vendored
Submodule
1
extern/godot-cpp
vendored
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit f3a1a2fd458dfaf4de08c906f22a2fe9e924b16f
|
1
extern/godot-engine
vendored
Submodule
1
extern/godot-engine
vendored
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 90f21a35c71107d2afe95a3875bb761ba2170d90
|
1
extern/vcpkg
vendored
Submodule
1
extern/vcpkg
vendored
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 01f602195983451bc83e72f4214af2cbc495aa94
|
11520
misc/destroyer.dxf
11520
misc/destroyer.dxf
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,950 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
width="58.118374"
|
||||
height="512"
|
||||
viewBox="0 0 58.118374 511.99998"
|
||||
sodipodi:docname="destroyer.svg"
|
||||
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||
inkscape:export-filename="../assets/destroyer.svg"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#545454"
|
||||
bordercolor="#999999"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="4"
|
||||
inkscape:cx="38.875"
|
||||
inkscape:cy="447.625"
|
||||
inkscape:window-width="1629"
|
||||
inkscape:window-height="1058"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g1">
|
||||
<inkscape:page
|
||||
x="7.2906252e-15"
|
||||
y="3.5531787e-15"
|
||||
inkscape:label="1"
|
||||
id="page1"
|
||||
width="58.118374"
|
||||
height="511.99997"
|
||||
margin="0"
|
||||
bleed="0" />
|
||||
</sodipodi:namedview>
|
||||
<g
|
||||
id="g1"
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="1"
|
||||
transform="matrix(0.75042725,0,0,0.75042725,-268.6203,-165.22315)">
|
||||
<path
|
||||
id="path2"
|
||||
d="m 96,58.502331 h 18"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path3"
|
||||
d="M 115,78.502331 V 158.50233"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path4"
|
||||
d="M 95,78.502331 V 158.50233"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path5"
|
||||
d="m 115,158.50233 -0.003,1.9633 -0.009,1.96212 -0.0151,1.95975 -0.0211,1.9562 -0.027,1.95148 -0.033,1.94559 -0.039,1.93851 -0.0449,1.93028 -0.0508,1.92087 -0.0567,1.91031 -0.0626,1.89861 -0.0684,1.88575 -0.0741,1.87177 -0.0798,1.85665 -0.0855,1.84041 -0.0911,1.82307 -0.0967,1.80464 -0.10221,1.7851 -0.10765,1.7645 -0.11303,1.74283 -0.11834,1.72012 -0.12358,1.69636 -0.12875,1.67159 -0.13384,1.64581 -0.13885,1.61904 -0.14378,1.59128 -0.14861,1.56259 -0.15336,1.53293 -0.15801,1.50237 -0.16258,1.47089 -0.16704,1.43852 -0.1714,1.4053 -0.17567,1.37123 -0.17981,1.33632 -0.18386,1.30062 -0.1878,1.26413 -0.19162,1.22687 -0.19532,1.18889 -0.19891,1.15019 -0.20238,1.11078 -0.20572,1.07072 -0.20895,1.03 -0.21205,0.98867 -0.21501,0.94674 -0.21786,0.90424 -0.22056,0.8612 -0.22314,0.81764 -0.22558,0.77358 -0.22788,0.72906 -0.23005,0.68411 -0.23208,0.63872 -0.23397,0.59298 -0.23572,0.54686 -0.23733,0.50041 -0.23879,0.45367 -0.24011,0.40665 -0.24128,0.35939 -0.24232,0.31191 -0.24319,0.26424 -0.24394,0.21642 -0.24452,0.16846 -0.24497,0.1204 -0.24527,0.0723 -0.24541,0.0241 -0.24541,-0.0241 -0.24527,-0.0723 -0.24497,-0.1204 -0.24452,-0.16846 -0.24394,-0.21642 -0.24319,-0.26424 -0.24232,-0.31191 -0.24128,-0.35939 -0.24011,-0.40665 -0.23879,-0.45367 -0.23733,-0.50041 -0.23572,-0.54686 -0.23397,-0.59298 -0.23208,-0.63872 -0.23005,-0.68411 -0.22789,-0.72906 -0.22557,-0.77358 -0.22314,-0.81764 -0.22056,-0.8612 -0.21786,-0.90424 -0.21501,-0.94674 -0.212048,-0.98867 -0.208948,-1.03 -0.205726,-1.07072 -0.20238,-1.11078 -0.198911,-1.15019 -0.195323,-1.18889 -0.191617,-1.22687 -0.187796,-1.26413 -0.183861,-1.30062 -0.179815,-1.33632 -0.175663,-1.37123 -0.171403,-1.4053 -0.16704,-1.43852 -0.162577,-1.47089 -0.158017,-1.50237 -0.153359,-1.53293 -0.148611,-1.56259 -0.143773,-1.59128 -0.138848,-1.61904 -0.13384,-1.64581 -0.12875,-1.67159 -0.123584,-1.69636 -0.118343,-1.72012 -0.11303,-1.74283 -0.10765,-1.7645 -0.102205,-1.7851 -0.0967,-1.80464 -0.09113,-1.82307 -0.08551,-1.84041 -0.07984,-1.85665 -0.07412,-1.87177 -0.06836,-1.88575 -0.06255,-1.89861 -0.05671,-1.91031 -0.05083,-1.92087 -0.04492,-1.93028 -0.03899,-1.93851 -0.03303,-1.94559 -0.02705,-1.95148 -0.02106,-1.9562 -0.01505,-1.95975 -0.009,-1.96212 -0.003,-1.9633"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path6"
|
||||
d="m 96,58.502331 -1,20"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path7"
|
||||
d="m 114,58.502331 1,20"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path8"
|
||||
d="m 106,205.25233 -9e-4,0.0423 -0.003,0.0423 -0.004,0.0421 -0.006,0.0419 -0.008,0.0416 -0.01,0.0412 -0.0115,0.0408 -0.0132,0.0402 -0.0149,0.0396 -0.0166,0.039 -0.0182,0.0382 -0.0198,0.0374 -0.0214,0.0366 -0.0229,0.0356 -0.0244,0.0346 -0.0259,0.0335 -0.0272,0.0324 -0.0286,0.0312 -0.0299,0.03 -0.0311,0.0287 -0.0323,0.0274 -0.0335,0.026 -0.0345,0.0245 -0.0355,0.023 -0.0365,0.0215 -0.0374,0.02 -0.0382,0.0184 -0.0389,0.0167 -0.0396,0.0151 -0.0402,0.0134 -0.0407,0.0117 -0.0412,0.01 -0.0416,0.008 -0.0419,0.006 -0.0421,0.005 -0.0422,0.003 -0.0423,0.001 -0.0423,-7.3e-4 -0.0423,-0.003 -0.0421,-0.004 -0.0419,-0.006 -0.0416,-0.008 -0.0412,-0.01 -0.0408,-0.0113 -0.0403,-0.0131 -0.0397,-0.0148 -0.039,-0.0164 -0.0383,-0.0181 -0.0375,-0.0197 -0.0366,-0.0213 -0.0357,-0.0228 -0.0347,-0.0243 -0.0337,-0.0257 -0.0325,-0.0271 -0.0314,-0.0285 -0.0301,-0.0298 -0.0288,-0.031 -0.0275,-0.0322 -0.0261,-0.0334 -0.0247,-0.0344 -0.0232,-0.0354 -0.0217,-0.0364 -0.0201,-0.0373 -0.0185,-0.0381 -0.0169,-0.0388 -0.0152,-0.0395 -0.0135,-0.0401 -0.0118,-0.0407 -0.0101,-0.0411 -0.008,-0.0415 -0.007,-0.0418 -0.005,-0.0421 -0.003,-0.0422 -10e-4,-0.0423 5.7e-4,-0.0423 0.002,-0.0423 0.004,-0.0421 0.006,-0.0419 0.008,-0.0416 0.009,-0.0413 0.0112,-0.0408 0.0129,-0.0403 0.0146,-0.0397 0.0163,-0.0391 0.0179,-0.0384 0.0195,-0.0376 0.0211,-0.0367 0.0227,-0.0358 0.0241,-0.0348 0.0256,-0.0337 0.027,-0.0326 0.0284,-0.0315 0.0297,-0.0302 0.0309,-0.029 0.0321,-0.0276 0.0333,-0.0262 0.0343,-0.0248 0.0353,-0.0233 0.0363,-0.0218 0.0372,-0.0203 0.038,-0.0187 0.0388,-0.017 0.0395,-0.0154 0.0401,-0.0137 0.0406,-0.012 0.0411,-0.0102 0.0415,-0.008 0.0418,-0.007 0.0421,-0.005 0.0422,-0.003 0.0423,-0.001 0.0423,4.2e-4 0.0423,0.002 0.0422,0.004 0.0419,0.006 0.0417,0.008 0.0413,0.009 0.0409,0.011 0.0404,0.0128 0.0398,0.0145 0.0392,0.0161 0.0384,0.0178 0.0376,0.0194 0.0368,0.021 0.0359,0.0225 0.0349,0.024 0.0338,0.0255 0.0327,0.0269 0.0316,0.0282 0.0303,0.0296 0.0291,0.0308 0.0277,0.032 0.0264,0.0332 0.0249,0.0342 0.0235,0.0353 0.0219,0.0362 0.0204,0.0371 0.0188,0.0379 0.0172,0.0387 0.0155,0.0394 0.0138,0.04 0.0121,0.0406 0.0104,0.0411 0.009,0.0415 0.007,0.0418 0.005,0.042 0.003,0.0422 0.002,0.0423 1.1e-4,0.0152 z"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path9"
|
||||
d="m 99,198.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path10"
|
||||
d="M 100.5,198.50233 H 102"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path11"
|
||||
d="m 102,198.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path12"
|
||||
d="M 103.5,198.50233 H 105"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path13"
|
||||
d="m 99,186.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path14"
|
||||
d="M 100.5,186.50233 H 102"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path15"
|
||||
d="m 102,186.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path16"
|
||||
d="M 103.5,186.50233 H 105"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path17"
|
||||
d="m 111,186.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path18"
|
||||
d="m 111,188.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path19"
|
||||
d="m 111,189.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path20"
|
||||
d="m 111,191.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path21"
|
||||
d="m 99,186.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path22"
|
||||
d="m 99,188.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path23"
|
||||
d="m 99,189.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path24"
|
||||
d="m 99,191.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path25"
|
||||
d="m 111,103.50233 h -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path26"
|
||||
d="M 109.5,103.50233 H 108"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path27"
|
||||
d="m 108,103.50233 h -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path28"
|
||||
d="M 106.5,103.50233 H 105"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path29"
|
||||
d="m 99,103.50233 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path30"
|
||||
d="m 99,102.00233 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path31"
|
||||
d="M 99,100.50233 V 99.002331"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path32"
|
||||
d="m 99,99.002331 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path33"
|
||||
d="m 111,103.50233 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path34"
|
||||
d="m 111,102.00233 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path35"
|
||||
d="M 111,100.50233 V 99.002331"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path36"
|
||||
d="m 111,99.002331 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path37"
|
||||
d="m 105,198.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path38"
|
||||
d="M 106.5,198.50233 H 108"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path39"
|
||||
d="m 108,198.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path40"
|
||||
d="M 109.5,198.50233 H 111"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path41"
|
||||
d="m 105,186.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path42"
|
||||
d="M 106.5,186.50233 H 108"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path43"
|
||||
d="m 108,186.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path44"
|
||||
d="M 109.5,186.50233 H 111"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path45"
|
||||
d="m 111,192.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path46"
|
||||
d="m 111,194.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path47"
|
||||
d="m 111,195.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path48"
|
||||
d="m 111,197.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path49"
|
||||
d="m 99,192.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path50"
|
||||
d="m 99,194.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path51"
|
||||
d="m 99,195.50233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path52"
|
||||
d="m 99,197.00233 v 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path53"
|
||||
d="m 105,103.50233 h -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path54"
|
||||
d="M 103.5,103.50233 H 102"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path55"
|
||||
d="m 102,103.50233 h -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path56"
|
||||
d="M 100.5,103.50233 H 99"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path57"
|
||||
d="m 99,97.502331 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path58"
|
||||
d="m 99,96.002331 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path59"
|
||||
d="m 111,97.502331 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path60"
|
||||
d="m 111,96.002331 v -1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path61"
|
||||
d="m 99,197.00233 h 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path62"
|
||||
d="m 100.5,198.50233 v -12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path63"
|
||||
d="m 109.5,94.502331 v 8.999999"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path64"
|
||||
d="m 102,198.50233 v -12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path65"
|
||||
d="m 108,94.502331 v 8.999999"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path66"
|
||||
d="m 103.5,186.50233 v 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path67"
|
||||
d="M 106.5,103.50233 V 94.502331"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path68"
|
||||
d="m 105,198.50233 v -12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path69"
|
||||
d="m 105,94.502331 v 8.999999"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path70"
|
||||
d="m 106.5,198.50233 v -12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path71"
|
||||
d="m 103.5,94.502331 v 8.999999"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path72"
|
||||
d="m 108,198.50233 v -12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path73"
|
||||
d="m 102,94.502331 v 8.999999"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path74"
|
||||
d="m 109.5,186.50233 v 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path75"
|
||||
d="M 100.5,103.50233 V 94.502331"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path76"
|
||||
d="M 111,195.50233 H 99"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path77"
|
||||
d="m 99,94.502331 h 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path78"
|
||||
d="m 99,194.00233 h 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path79"
|
||||
d="M 111,96.002331 H 99"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path80"
|
||||
d="m 99,192.50233 h 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path81"
|
||||
d="M 111,97.502331 H 99"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path82"
|
||||
d="M 111,191.00233 H 99"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path83"
|
||||
d="m 99,99.002331 h 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path84"
|
||||
d="m 99,189.50233 h 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path85"
|
||||
d="M 111,100.50233 H 99"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path86"
|
||||
d="m 99,188.00233 h 12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path87"
|
||||
d="M 111,102.00233 H 99"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path88"
|
||||
d="m 100.5,178.50233 h 9"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path89"
|
||||
d="m 109.5,178.50233 0.5,-15"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path90"
|
||||
d="m 100.5,178.50233 -0.5,-15"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path91"
|
||||
d="m 100,163.50233 -5,-5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path92"
|
||||
d="m 110,163.50233 5,-5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path93"
|
||||
d="m 100,163.50233 h 10"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path94"
|
||||
d="M 110,139.50233 H 100"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path95"
|
||||
d="m 100,163.50233 1,-2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path96"
|
||||
d="m 110,163.50233 -1,-2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path97"
|
||||
d="m 109,161.50233 h -8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path98"
|
||||
d="m 101,161.50233 -4,-4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path99"
|
||||
d="m 97,145.50233 4,-4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path100"
|
||||
d="m 109,141.50233 4,4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path101"
|
||||
d="m 109,161.50233 4,-4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path102"
|
||||
d="m 106,173.50233 -9e-4,0.0423 -0.003,0.0423 -0.004,0.0421 -0.006,0.0419 -0.008,0.0416 -0.01,0.0412 -0.0115,0.0408 -0.0132,0.0402 -0.0149,0.0396 -0.0166,0.039 -0.0182,0.0382 -0.0198,0.0374 -0.0214,0.0366 -0.0229,0.0356 -0.0244,0.0346 -0.0259,0.0335 -0.0272,0.0324 -0.0286,0.0312 -0.0299,0.03 -0.0311,0.0287 -0.0323,0.0274 -0.0335,0.026 -0.0345,0.0245 -0.0355,0.023 -0.0365,0.0215 -0.0374,0.02 -0.0382,0.0184 -0.0389,0.0167 -0.0396,0.0151 -0.0402,0.0134 -0.0407,0.0117 -0.0412,0.01 -0.0416,0.008 -0.0419,0.006 -0.0421,0.005 -0.0422,0.003 -0.0423,0.001 -0.0423,-7.3e-4 -0.0423,-0.003 -0.0421,-0.004 -0.0419,-0.006 -0.0416,-0.008 -0.0412,-0.01 -0.0408,-0.0113 -0.0403,-0.0131 -0.0397,-0.0148 -0.039,-0.0164 -0.0383,-0.0181 -0.0375,-0.0197 -0.0366,-0.0213 -0.0357,-0.0228 -0.0347,-0.0243 -0.0337,-0.0257 -0.0325,-0.0271 -0.0314,-0.0285 -0.0301,-0.0298 -0.0288,-0.031 -0.0275,-0.0322 -0.0261,-0.0334 -0.0247,-0.0344 -0.0232,-0.0354 -0.0217,-0.0364 -0.0201,-0.0373 -0.0185,-0.0381 -0.0169,-0.0388 -0.0152,-0.0395 -0.0135,-0.0401 -0.0118,-0.0407 -0.0101,-0.0411 -0.008,-0.0415 -0.007,-0.0418 -0.005,-0.0421 -0.003,-0.0422 -10e-4,-0.0423 5.7e-4,-0.0423 0.002,-0.0423 0.004,-0.0421 0.006,-0.0419 0.008,-0.0416 0.009,-0.0413 0.0112,-0.0408 0.0129,-0.0403 0.0146,-0.0397 0.0163,-0.0391 0.0179,-0.0384 0.0195,-0.0376 0.0211,-0.0367 0.0227,-0.0358 0.0241,-0.0348 0.0256,-0.0337 0.027,-0.0326 0.0284,-0.0315 0.0297,-0.0302 0.0309,-0.029 0.0321,-0.0276 0.0333,-0.0262 0.0343,-0.0248 0.0353,-0.0233 0.0363,-0.0218 0.0372,-0.0203 0.038,-0.0187 0.0388,-0.017 0.0395,-0.0154 0.0401,-0.0137 0.0406,-0.012 0.0411,-0.0102 0.0415,-0.008 0.0418,-0.007 0.0421,-0.005 0.0422,-0.003 0.0423,-0.001 0.0423,4.2e-4 0.0423,0.002 0.0422,0.004 0.0419,0.006 0.0417,0.008 0.0413,0.009 0.0409,0.011 0.0404,0.0128 0.0398,0.0145 0.0392,0.0161 0.0384,0.0178 0.0376,0.0194 0.0368,0.021 0.0359,0.0225 0.0349,0.024 0.0338,0.0255 0.0327,0.0269 0.0316,0.0282 0.0303,0.0296 0.0291,0.0308 0.0277,0.032 0.0264,0.0332 0.0249,0.0342 0.0235,0.0353 0.0219,0.0362 0.0204,0.0371 0.0188,0.0379 0.0172,0.0387 0.0155,0.0394 0.0138,0.04 0.0121,0.0406 0.0104,0.0411 0.009,0.0415 0.007,0.0418 0.005,0.042 0.003,0.0422 0.002,0.0423 1.1e-4,0.0152 z"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path103"
|
||||
d="m 105,141.50233 h -3"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path104"
|
||||
d="m 102,141.50233 h -1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path105"
|
||||
d="m 105,141.50233 h 3"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path106"
|
||||
d="m 108,141.50233 h 1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path107"
|
||||
d="m 100,139.50233 1,2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path108"
|
||||
d="m 109,141.50233 1,-2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path109"
|
||||
d="m 110,139.50233 5,5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path110"
|
||||
d="m 100,139.50233 -5,5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path111"
|
||||
d="m 113,157.50233 v -12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path112"
|
||||
d="m 97,157.50233 v -12"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path113"
|
||||
d="m 102,141.50233 v 8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path114"
|
||||
d="m 108,141.50233 v 8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path115"
|
||||
d="m 102,149.50233 h 6"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path116"
|
||||
d="m 108,149.50233 -1,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path117"
|
||||
d="m 107,148.50233 h -4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path118"
|
||||
d="m 103,148.50233 -1,1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path119"
|
||||
d="m 102,141.50233 1,1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path120"
|
||||
d="m 108,141.50233 -1,1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path121"
|
||||
d="m 107,142.50233 v 6"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path122"
|
||||
d="m 103,148.50233 v -6"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path123"
|
||||
d="m 103,142.50233 h 4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path124"
|
||||
d="m 106,143.50233 -9e-4,0.0423 -0.003,0.0423 -0.004,0.0421 -0.006,0.0419 -0.008,0.0416 -0.01,0.0412 -0.0115,0.0408 -0.0132,0.0402 -0.0149,0.0396 -0.0166,0.039 -0.0182,0.0382 -0.0198,0.0374 -0.0214,0.0366 -0.0229,0.0356 -0.0244,0.0346 -0.0259,0.0335 -0.0272,0.0324 -0.0286,0.0312 -0.0299,0.03 -0.0311,0.0287 -0.0323,0.0274 -0.0335,0.026 -0.0345,0.0245 -0.0355,0.023 -0.0365,0.0215 -0.0374,0.02 -0.0382,0.0184 -0.0389,0.0167 -0.0396,0.0151 -0.0402,0.0134 -0.0407,0.0117 -0.0412,0.01 -0.0416,0.008 -0.0419,0.006 -0.0421,0.005 -0.0422,0.003 -0.0423,0.001 -0.0423,-7.3e-4 -0.0423,-0.003 -0.0421,-0.004 -0.0419,-0.006 -0.0416,-0.008 -0.0412,-0.01 -0.0408,-0.0113 -0.0403,-0.0131 -0.0397,-0.0148 -0.039,-0.0164 -0.0383,-0.0181 -0.0375,-0.0197 -0.0366,-0.0213 -0.0357,-0.0228 -0.0347,-0.0243 -0.0337,-0.0257 -0.0325,-0.0271 -0.0314,-0.0285 -0.0301,-0.0298 -0.0288,-0.031 -0.0275,-0.0322 -0.0261,-0.0334 -0.0247,-0.0344 -0.0232,-0.0354 -0.0217,-0.0364 -0.0201,-0.0373 -0.0185,-0.0381 -0.0169,-0.0388 -0.0152,-0.0395 -0.0135,-0.0401 -0.0118,-0.0407 -0.0101,-0.0411 -0.008,-0.0415 -0.007,-0.0418 -0.005,-0.0421 -0.003,-0.0422 -10e-4,-0.0423 5.7e-4,-0.0423 0.002,-0.0423 0.004,-0.0421 0.006,-0.0419 0.008,-0.0416 0.009,-0.0413 0.0112,-0.0408 0.0129,-0.0403 0.0146,-0.0397 0.0163,-0.0391 0.0179,-0.0384 0.0195,-0.0376 0.0211,-0.0367 0.0227,-0.0358 0.0241,-0.0348 0.0256,-0.0337 0.027,-0.0326 0.0284,-0.0315 0.0297,-0.0302 0.0309,-0.029 0.0321,-0.0276 0.0333,-0.0262 0.0343,-0.0248 0.0353,-0.0233 0.0363,-0.0218 0.0372,-0.0203 0.038,-0.0187 0.0388,-0.017 0.0395,-0.0154 0.0401,-0.0137 0.0406,-0.012 0.0411,-0.0102 0.0415,-0.008 0.0418,-0.007 0.0421,-0.005 0.0422,-0.003 0.0423,-0.001 0.0423,4.2e-4 0.0423,0.002 0.0422,0.004 0.0419,0.006 0.0417,0.008 0.0413,0.009 0.0409,0.011 0.0404,0.0128 0.0398,0.0145 0.0392,0.0161 0.0384,0.0178 0.0376,0.0194 0.0368,0.021 0.0359,0.0225 0.0349,0.024 0.0338,0.0255 0.0327,0.0269 0.0316,0.0282 0.0303,0.0296 0.0291,0.0308 0.0277,0.032 0.0264,0.0332 0.0249,0.0342 0.0235,0.0353 0.0219,0.0362 0.0204,0.0371 0.0188,0.0379 0.0172,0.0387 0.0155,0.0394 0.0138,0.04 0.0121,0.0406 0.0104,0.0411 0.009,0.0415 0.007,0.0418 0.005,0.042 0.003,0.0422 0.002,0.0423 1.1e-4,0.0152 z"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path125"
|
||||
d="m 5005.7238,7252.6356 -0.1693,-3.9973 -0.5067,-3.9687 -0.8405,-3.9116 -1.1682,-3.8264 -1.4875,-3.7138 -1.7963,-3.5746 -2.092,-3.4097 -2.3729,-3.2204 -2.6367,-3.008 -2.8816,-2.7741 -3.1058,-2.5201 -3.3077,-2.2483 -3.486,-1.9602 -3.6393,-1.658 -3.7664,-1.3441 -3.8666,-1.0204 -3.9389,-0.6895 -3.9832,-0.3536 -3.9988,-0.015 -3.9857,0.3234 -3.9441,0.6596 -3.8742,0.9911 -3.7764,1.3154 -3.6518,1.6305 -3.5007,1.9336 -3.3247,2.2231 -3.1248,2.4966 -2.9025,2.7521 -2.6594,2.9879 -2.3972,3.2023 -2.1179,3.3937 -1.8232,3.5609 -1.5157,3.7024 -1.1972,3.8175 -0.87,3.9051 -0.5368,3.9647 -0.1996,3.996 0.1391,3.9985 0.4766,3.9724 0.8108,3.9179 1.1391,3.8351 1.4594,3.725 1.7691,3.5881 2.0662,3.4255 2.3484,3.2383 2.6138,3.0279 2.8605,2.7958 3.0866,2.5437 3.2907,2.2733 3.471,1.9865 3.6266,1.6856 3.7561,1.3726 3.8587,1.0498 3.9337,0.7193 3.9804,0.3838 3.9985,0.046 3.9881,-0.2931 3.9489,-0.6297 3.8816,-0.9617 3.7863,-1.2867 3.664,-1.6027 3.5153,-1.9071 3.3415,-2.1978 3.1436,-2.4728 2.9233,-2.73 2.6819,-2.9676 2.4214,-3.1841 2.1435,-3.3776 1.8502,-3.5469 1.5437,-3.6908 1.226,-3.8083 0.8996,-3.8984 0.5668,-3.9605 0.2299,-3.9944 0.01,-0.7163 z"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
transform="scale(0.08)" />
|
||||
<path
|
||||
id="path126"
|
||||
d="m 103,146.50233 -0.0128,-3e-4 -0.0128,-9e-4 -0.0128,-0.002 -0.0128,-0.002 -0.0127,-0.003 -0.0127,-0.003 -0.0126,-0.004 -0.0126,-0.004 -0.0125,-0.005 -0.0125,-0.006 -0.0124,-0.006 -0.0123,-0.007 -0.0122,-0.007 -0.0121,-0.008 -0.012,-0.009 -0.0119,-0.009 -0.0118,-0.01 -0.0117,-0.0102 -0.0115,-0.0108 -0.0114,-0.0113 -0.0112,-0.0118 -0.0111,-0.0124 -0.0109,-0.0129 -0.0107,-0.0134 -0.0106,-0.0139 -0.0104,-0.0144 -0.0102,-0.0149 -0.01,-0.0153 -0.01,-0.0158 -0.01,-0.0163 -0.009,-0.0167 -0.009,-0.0171 -0.009,-0.0176 -0.009,-0.018 -0.008,-0.0184 -0.008,-0.0188 -0.008,-0.0192 -0.008,-0.0195 -0.007,-0.0199 -0.007,-0.0202 -0.007,-0.0206 -0.007,-0.0209 -0.006,-0.0212 -0.006,-0.0215 -0.006,-0.0218 -0.006,-0.0221 -0.005,-0.0223 -0.005,-0.0226 -0.005,-0.0228 -0.004,-0.023 -0.004,-0.0232 -0.004,-0.0234 -0.004,-0.0236 -0.003,-0.0237 -0.003,-0.0239 -0.003,-0.024 -0.002,-0.0241 -0.002,-0.0242 -0.002,-0.0243 -10e-4,-0.0244 -0.001,-0.0245 -7.9e-4,-0.0245 -4.7e-4,-0.0245 -1.6e-4,-0.0245 1.6e-4,-0.0245 4.7e-4,-0.0245 7.9e-4,-0.0245 0.001,-0.0245 10e-4,-0.0244 0.002,-0.0243 0.002,-0.0242 0.002,-0.0241 0.003,-0.024 0.003,-0.0239 0.003,-0.0237 0.004,-0.0236 0.004,-0.0234 0.004,-0.0232 0.004,-0.023 0.005,-0.0228 0.005,-0.0226 0.005,-0.0223 0.006,-0.0221 0.006,-0.0218 0.006,-0.0215 0.006,-0.0212 0.007,-0.0209 0.007,-0.0206 0.007,-0.0202 0.007,-0.0199 0.008,-0.0195 0.008,-0.0192 0.008,-0.0188 0.008,-0.0184 0.009,-0.018 0.009,-0.0176 0.009,-0.0171 0.009,-0.0167 0.01,-0.0163 0.01,-0.0158 0.01,-0.0153 0.0102,-0.0149 0.0104,-0.0144 0.0106,-0.0139 0.0107,-0.0134 0.0109,-0.0129 0.0111,-0.0124 0.0112,-0.0118 0.0114,-0.0113 0.0115,-0.0108 0.0117,-0.0102 0.0118,-0.01 0.0119,-0.009 0.012,-0.009 0.0121,-0.008 0.0122,-0.007 0.0123,-0.007 0.0124,-0.006 0.0125,-0.006 0.0125,-0.005 0.0126,-0.004 0.0126,-0.004 0.0127,-0.003 0.0127,-0.003 0.0128,-0.002 0.0128,-0.002 0.0128,-9e-4 0.0128,-3e-4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path127"
|
||||
d="m 107,144.50233 0.0136,3e-4 0.0136,9e-4 0.0136,0.002 0.0135,0.002 0.0135,0.003 0.0135,0.003 0.0134,0.004 0.0134,0.004 0.0133,0.005 0.0132,0.006 0.0131,0.006 0.013,0.007 0.013,0.007 0.0128,0.008 0.0127,0.009 0.0126,0.009 0.0125,0.01 0.0123,0.0102 0.0122,0.0108 0.0121,0.0113 0.0119,0.0118 0.0117,0.0124 0.0116,0.0129 0.0114,0.0134 0.0112,0.0139 0.011,0.0144 0.0108,0.0149 0.0106,0.0153 0.0104,0.0158 0.0102,0.0163 0.01,0.0167 0.01,0.0171 0.009,0.0176 0.009,0.018 0.009,0.0184 0.009,0.0188 0.008,0.0192 0.008,0.0195 0.008,0.0199 0.008,0.0202 0.007,0.0206 0.007,0.0209 0.007,0.0212 0.007,0.0215 0.006,0.0218 0.006,0.0221 0.006,0.0223 0.005,0.0226 0.005,0.0228 0.005,0.023 0.004,0.0232 0.004,0.0234 0.004,0.0236 0.003,0.0237 0.003,0.0239 0.003,0.024 0.002,0.0241 0.002,0.0242 0.002,0.0243 10e-4,0.0244 0.001,0.0245 8.3e-4,0.0245 5e-4,0.0245 1.7e-4,0.0245 -1.7e-4,0.0245 -5e-4,0.0245 -8.3e-4,0.0245 -0.001,0.0245 -10e-4,0.0244 -0.002,0.0243 -0.002,0.0242 -0.002,0.0241 -0.003,0.024 -0.003,0.0239 -0.003,0.0237 -0.004,0.0236 -0.004,0.0234 -0.004,0.0232 -0.005,0.023 -0.005,0.0228 -0.005,0.0226 -0.006,0.0223 -0.006,0.0221 -0.006,0.0218 -0.007,0.0215 -0.007,0.0212 -0.007,0.0209 -0.007,0.0206 -0.008,0.0202 -0.008,0.0199 -0.008,0.0195 -0.008,0.0192 -0.009,0.0188 -0.009,0.0184 -0.009,0.018 -0.009,0.0176 -0.01,0.0171 -0.01,0.0167 -0.0102,0.0163 -0.0104,0.0158 -0.0106,0.0153 -0.0108,0.0149 -0.011,0.0144 -0.0112,0.0139 -0.0114,0.0134 -0.0116,0.0129 -0.0117,0.0124 -0.0119,0.0118 -0.0121,0.0113 -0.0122,0.0108 -0.0123,0.0102 -0.0125,0.01 -0.0126,0.009 -0.0127,0.009 -0.0128,0.008 -0.013,0.007 -0.013,0.007 -0.0131,0.006 -0.0132,0.006 -0.0133,0.005 -0.0134,0.004 -0.0134,0.004 -0.0135,0.003 -0.0135,0.003 -0.0135,0.002 -0.0136,0.002 -0.0136,9e-4 -0.0136,3e-4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path128"
|
||||
d="m 104,148.90233 3e-4,-0.01 9e-4,-0.01 0.002,-0.01 0.002,-0.01 0.003,-0.01 0.003,-0.01 0.004,-0.01 0.004,-0.01 0.005,-0.01 0.006,-0.01 0.006,-0.009 0.007,-0.009 0.007,-0.009 0.008,-0.009 0.009,-0.009 0.009,-0.009 0.01,-0.009 0.0102,-0.009 0.0108,-0.009 0.0113,-0.009 0.0118,-0.009 0.0124,-0.008 0.0129,-0.008 0.0134,-0.008 0.0139,-0.008 0.0144,-0.008 0.0149,-0.008 0.0153,-0.008 0.0158,-0.008 0.0163,-0.007 0.0167,-0.007 0.0171,-0.007 0.0176,-0.007 0.018,-0.007 0.0184,-0.007 0.0188,-0.006 0.0192,-0.006 0.0195,-0.006 0.0199,-0.006 0.0202,-0.006 0.0206,-0.005 0.0209,-0.005 0.0212,-0.005 0.0215,-0.005 0.0218,-0.005 0.0221,-0.004 0.0223,-0.004 0.0226,-0.004 0.0228,-0.004 0.023,-0.003 0.0232,-0.003 0.0234,-0.003 0.0236,-0.003 0.0237,-0.002 0.0239,-0.002 0.024,-0.002 0.0241,-0.002 0.0242,-0.002 0.0243,-0.001 0.0244,-0.001 0.0245,-8.5e-4 0.0245,-6e-4 0.0245,-3.6e-4 0.0245,-1.2e-4 0.0245,1.2e-4 0.0245,3.6e-4 0.0245,6e-4 0.0245,8.5e-4 0.0244,0.001 0.0243,0.001 0.0242,0.002 0.0241,0.002 0.024,0.002 0.0239,0.002 0.0237,0.002 0.0236,0.003 0.0234,0.003 0.0232,0.003 0.023,0.003 0.0228,0.004 0.0226,0.004 0.0223,0.004 0.0221,0.004 0.0218,0.005 0.0215,0.005 0.0212,0.005 0.0209,0.005 0.0206,0.005 0.0202,0.006 0.0199,0.006 0.0195,0.006 0.0192,0.006 0.0188,0.006 0.0184,0.007 0.018,0.007 0.0176,0.007 0.0171,0.007 0.0167,0.007 0.0163,0.007 0.0158,0.008 0.0153,0.008 0.0149,0.008 0.0144,0.008 0.0139,0.008 0.0134,0.008 0.0129,0.008 0.0124,0.008 0.0118,0.009 0.0113,0.009 0.0108,0.009 0.0102,0.009 0.01,0.009 0.009,0.009 0.009,0.009 0.008,0.009 0.007,0.009 0.007,0.009 0.006,0.009 0.006,0.01 0.005,0.01 0.005,0.01 0.004,0.01 0.003,0.01 0.003,0.01 0.002,0.01 0.002,0.01 9e-4,0.01 3e-4,0.01"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path129"
|
||||
d="m 112.5,142.00233 v -18"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path130"
|
||||
d="m 97.5,142.00233 v -18"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path131"
|
||||
d="m 97.5,124.00233 2.5,-2.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path132"
|
||||
d="m 112.5,124.00233 -2.5,-2.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path133"
|
||||
d="m 100,121.50233 v -9"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path134"
|
||||
d="m 110,121.50233 v -9"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path135"
|
||||
d="m 102.5,112.50233 h 5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path136"
|
||||
d="M 107.5,112.50233 H 109"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path137"
|
||||
d="m 101,112.50233 h 1.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path138"
|
||||
d="m 100,139.50233 v -15"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path139"
|
||||
d="m 110,139.50233 v -15"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path140"
|
||||
d="m 110,124.50233 -2.5,-2.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path141"
|
||||
d="m 100,124.50233 2.5,-2.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path142"
|
||||
d="m 102.5,122.00233 v -8.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path143"
|
||||
d="m 107.5,122.00233 v -8.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path144"
|
||||
d="m 107.5,113.50233 h -5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path145"
|
||||
d="m 100,112.50233 v -8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path146"
|
||||
d="m 100,104.50233 h 10"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path147"
|
||||
d="m 110,104.50233 v 8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path148"
|
||||
d="m 107.5,122.00233 2.5,-0.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path149"
|
||||
d="m 102.5,122.00233 -2.5,-0.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path150"
|
||||
d="m 100,124.50233 -2.5,-0.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path151"
|
||||
d="m 110,124.50233 2.5,-0.5"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path152"
|
||||
d="m 109,105.50233 1,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path153"
|
||||
d="m 100,104.50233 1,1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path154"
|
||||
d="m 109,112.50233 v -7"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path155"
|
||||
d="m 109,105.50233 h -8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path156"
|
||||
d="m 101,105.50233 v 7"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path157"
|
||||
d="m 101,112.50233 1.5,1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path158"
|
||||
d="m 107.5,113.50233 1.5,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path159"
|
||||
d="m 113,145.50233 2,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path160"
|
||||
d="m 97,145.50233 -2,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path161"
|
||||
d="m 97,157.50233 -2,1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path162"
|
||||
d="m 98,93.502331 -3,-4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path163"
|
||||
d="m 112,93.502331 3,-4"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path164"
|
||||
d="m 114,89.302331 v -12.8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path165"
|
||||
d="m 98,93.502331 h 14"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path166"
|
||||
d="m 98.4,92.502331 h 13.2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path167"
|
||||
d="m 96,89.302331 v -12.8"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path168"
|
||||
d="m 98.4,92.502331 -2.4,-3.2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path169"
|
||||
d="m 111.6,92.502331 2.4,-3.2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path170"
|
||||
d="m 96,76.502331 h 18"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path171"
|
||||
d="m 96,76.502331 -0.85,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path172"
|
||||
d="m 98,93.502331 0.4,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path173"
|
||||
d="m 112,93.502331 -0.4,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path174"
|
||||
d="m 114,89.302331 1,0.2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path175"
|
||||
d="m 96,89.302331 -1,0.2"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path176"
|
||||
d="m 96,75.502331 h 18"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path177"
|
||||
d="m 114,75.502331 h 0.9"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path178"
|
||||
d="M 96,75.502331 H 95.1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path179"
|
||||
d="m 114,76.502331 0.9,-1"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
<path
|
||||
id="path180"
|
||||
d="m 106.75,82.902331 -5.1e-4,0.04235 -0.002,0.04232 -0.003,0.04227 -0.004,0.0422 -0.005,0.0421 -0.006,0.04198 -0.007,0.04183 -0.008,0.04165 -0.009,0.04146 -0.01,0.04124 -0.0106,0.04099 -0.0116,0.04072 -0.0126,0.04043 -0.0136,0.04011 -0.0146,0.03977 -0.0155,0.03941 -0.0165,0.03902 -0.0174,0.03861 -0.0183,0.03818 -0.0192,0.03772 -0.0202,0.03724 -0.0211,0.03675 -0.0219,0.03623 -0.0228,0.03568 -0.0237,0.03512 -0.0245,0.03454 -0.0253,0.03394 -0.0262,0.03331 -0.0269,0.03267 -0.0277,0.03201 -0.0285,0.03133 -0.0292,0.03063 -0.03,0.02991 -0.0307,0.02918 -0.0314,0.02843 -0.0321,0.02766 -0.0327,0.02688 -0.0334,0.02608 -0.034,0.02526 -0.0346,0.02443 -0.0352,0.02359 -0.0357,0.02273 -0.0363,0.02186 -0.0368,0.02097 -0.0373,0.02007 -0.0378,0.01917 -0.0382,0.01825 -0.0387,0.01732 -0.0391,0.01638 -0.0394,0.01543 -0.0398,0.01447 -0.0401,0.0135 -0.0405,0.01253 -0.0407,0.01154 -0.041,0.01055 -0.0413,0.0096 -0.0415,0.0086 -0.0417,0.0076 -0.0418,0.0065 -0.042,0.0055 -0.0421,0.0045 -0.0422,0.0035 -0.0423,0.0025 -0.0423,0.0014 -0.0424,4.17e-4 -0.0423,-6.09e-4 -0.0423,-0.0016 -0.0423,-0.0027 -0.0422,-0.0037 -0.0421,-0.0047 -0.042,-0.0057 -0.0418,-0.0067 -0.0416,-0.0077 -0.0414,-0.0087 -0.0412,-0.0097 -0.041,-0.01074 -0.0407,-0.01173 -0.0404,-0.01271 -0.0401,-0.01368 -0.0397,-0.01465 -0.0394,-0.01561 -0.039,-0.01655 -0.0386,-0.01749 -0.0381,-0.01842 -0.0377,-0.01934 -0.0372,-0.02024 -0.0367,-0.02114 -0.0362,-0.02202 -0.0356,-0.02289 -0.0351,-0.02374 -0.0345,-0.02459 -0.0339,-0.02541 -0.0332,-0.02622 -0.0326,-0.02702 -0.0319,-0.0278 -0.0313,-0.02857 -0.0306,-0.02932 -0.0299,-0.03005 -0.0291,-0.03076 -0.0284,-0.03146 -0.0276,-0.03213 -0.0268,-0.03279 -0.026,-0.03343 -0.0252,-0.03405 -0.0243,-0.03465 -0.0235,-0.03523 -0.0226,-0.03579 -0.0218,-0.03633 -0.0209,-0.03684 -0.02,-0.03734 -0.0191,-0.03781 -0.0182,-0.03826 -0.0172,-0.03869 -0.0163,-0.03909 -0.0153,-0.03948 -0.0144,-0.03983 -0.0134,-0.04017 -0.0124,-0.04048 -0.0114,-0.04077 -0.0105,-0.04104 -0.009,-0.04128 -0.008,-0.0415 -0.007,-0.04169 -0.006,-0.04186 -0.005,-0.042 -0.004,-0.04212 -0.003,-0.04221 -0.002,-0.04228 -0.001,-0.04233 -3.2e-4,-0.04235 7e-4,-0.04234 0.002,-0.04232 0.003,-0.04226 0.004,-0.04218 0.005,-0.04208 0.006,-0.04195 0.007,-0.0418 0.008,-0.04162 0.009,-0.04142 0.01,-0.04119 0.0108,-0.04094 0.0118,-0.04067 0.0128,-0.04037 0.0138,-0.04005 0.0147,-0.0397 0.0157,-0.03934 0.0166,-0.03894 0.0176,-0.03853 0.0185,-0.03809 0.0194,-0.03763 0.0203,-0.03715 0.0212,-0.03665 0.0221,-0.03613 0.023,-0.03558 0.0238,-0.03502 0.0247,-0.03443 0.0255,-0.03382 0.0263,-0.03319 0.0271,-0.03255 0.0279,-0.03188 0.0286,-0.0312 0.0294,-0.0305 0.0301,-0.02978 0.0308,-0.02904 0.0315,-0.02828 0.0322,-0.02751 0.0329,-0.02673 0.0335,-0.02592 0.0341,-0.0251 0.0347,-0.02427 0.0353,-0.02343 0.0358,-0.02257 0.0364,-0.02169 0.0369,-0.02081 0.0374,-0.01991 0.0379,-0.019 0.0383,-0.01807 0.0387,-0.01714 0.0391,-0.0162 0.0395,-0.01525 0.0399,-0.01429 0.0402,-0.01332 0.0405,-0.01234 0.0408,-0.01136 0.0411,-0.01037 0.0413,-0.0094 0.0415,-0.0084 0.0417,-0.0074 0.0419,-0.0063 0.042,-0.0053 0.0421,-0.0043 0.0422,-0.0033 0.0423,-0.0023 0.0423,-0.0012 0.0423,-2.26e-4 0.0423,8e-4 0.0423,0.0018 0.0422,0.0028 0.0422,0.0039 0.0421,0.0049 0.0419,0.0059 0.0418,0.0069 0.0416,0.0079 0.0414,0.0089 0.0412,0.0099 0.0409,0.01092 0.0406,0.01191 0.0403,0.01289 0.04,0.01386 0.0397,0.01483 0.0393,0.01578 0.0389,0.01673 0.0385,0.01767 0.038,0.01859 0.0376,0.01951 0.0371,0.02041 0.0366,0.0213 0.0361,0.02218 0.0355,0.02305 0.035,0.0239 0.0344,0.02474 0.0338,0.02557 0.0331,0.02638 0.0325,0.02717 0.0318,0.02795 0.0311,0.02871 0.0304,0.02945 0.0297,0.03018 0.029,0.03089 0.0282,0.03159 0.0274,0.03226 0.0267,0.03291 0.0258,0.03355 0.025,0.03416 0.0242,0.03476 0.0233,0.03533 0.0225,0.03589 0.0216,0.03642 0.0207,0.03693 0.0198,0.03742 0.0189,0.03789 0.018,0.03834 0.017,0.03876 0.0161,0.03917 0.0152,0.03954 0.0142,0.0399 0.0132,0.04023 0.0122,0.04054 0.0113,0.04082 0.0103,0.04108 0.009,0.04132 0.008,0.04153 0.007,0.04172 0.006,0.04189 0.005,0.04202 0.004,0.04214 0.003,0.04223 0.002,0.04229 0.001,0.04233 2e-4,0.02653 z"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(3.7779048,0,0,-3.7799327,0,1122.64)" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 70 KiB |
2
project/.gitattributes
vendored
Normal file
2
project/.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Normalize EOL for all files that Git considers text files.
|
||||
* text=auto eol=lf
|
3
project/.gitignore
vendored
Normal file
3
project/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
# Godot 4+ specific ignores
|
||||
.godot/
|
||||
/android/
|
1
project/icon.svg
Normal file
1
project/icon.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128"><rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/><g fill="#fff" transform="translate(12.322 12.322)scale(.101)"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042" transform="translate(12.322 12.322)scale(.101)"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></svg>
|
After Width: | Height: | Size: 994 B |
37
project/icon.svg.import
Normal file
37
project/icon.svg.import
Normal file
@ -0,0 +1,37 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dmcjlguuq8xqt"
|
||||
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://icon.svg"
|
||||
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
9
project/main.tscn
Normal file
9
project/main.tscn
Normal file
@ -0,0 +1,9 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://beuvt3vhjibjt"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dmcjlguuq8xqt" path="res://icon.svg" id="1_lodlx"]
|
||||
|
||||
[node name="Main" type="Node"]
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("1_lodlx")
|
||||
centered = false
|
14
project/naval-swarm.gdextension
Normal file
14
project/naval-swarm.gdextension
Normal file
@ -0,0 +1,14 @@
|
||||
[configuration]
|
||||
|
||||
entry_symbol = "extension_library_init"
|
||||
compatibility_minimum = 4.3
|
||||
reloadable = true
|
||||
|
||||
[libraries]
|
||||
|
||||
windows.debug.x86_64 = "res://bin/naval-swarm.windows.64.debug.dll"
|
||||
windows.release.x86_64 = "res://bin/naval-swarm.windows.64.release.dll"
|
||||
linux.debug.x86_64 = "res://bin/libnaval-swarm.linux.64.debug.so"
|
||||
linux.release.x86_64 = "res://bin/libnaval-swarm.linux.64.release.so"
|
||||
macos.debug = "res://bin/libnaval-swarm.darwin.64.debug.dylib"
|
||||
macos.release = "res://bin/libnaval-swarm.darwin.64.release.dylib"
|
16
project/project.godot
Normal file
16
project/project.godot
Normal file
@ -0,0 +1,16 @@
|
||||
; Engine configuration file.
|
||||
; It's best edited using the editor UI and not directly,
|
||||
; since the parameters that go here are not all obvious.
|
||||
;
|
||||
; Format:
|
||||
; [section] ; section goes between []
|
||||
; param=value ; assign values to parameters
|
||||
|
||||
config_version=5
|
||||
|
||||
[application]
|
||||
|
||||
config/name="Naval Swarm"
|
||||
run/main_scene="res://main.tscn"
|
||||
config/features=PackedStringArray("4.3", "Forward Plus")
|
||||
config/icon="res://icon.svg"
|
193
src/main.cpp
193
src/main.cpp
@ -1,175 +1,22 @@
|
||||
#include <SDL3/SDL.h>
|
||||
#include <SDL3_image/SDL_image.h>
|
||||
#include "types.hpp"
|
||||
#include "main.hpp"
|
||||
|
||||
constexpr int SCREEN_WIDTH = 800;
|
||||
constexpr int SCREEN_HEIGHT = 600;
|
||||
constexpr int WORLD_WIDTH = 1600;
|
||||
constexpr int WORLD_HEIGHT = 1200;
|
||||
constexpr int TARGET_FPS = 60;
|
||||
constexpr Uint64 TARGET_FRAME_TIME_NS = 1'000'000'000 / TARGET_FPS;
|
||||
|
||||
struct Entity {
|
||||
SDL_FRect position;
|
||||
SDL_Texture* texture;
|
||||
SDL_Rect srcRect;
|
||||
float speed = 250.0f;
|
||||
Angle360 Angle;
|
||||
};
|
||||
|
||||
struct Camera {
|
||||
SDL_FRect view = {0.0f, 0.0f, SCREEN_WIDTH, SCREEN_HEIGHT};
|
||||
bool followPlayer = true;
|
||||
float speed = 500.0f;
|
||||
float smoothness = 0.1f;
|
||||
};
|
||||
|
||||
int main() {
|
||||
SDL_Init(SDL_INIT_VIDEO);
|
||||
SDL_Window* window = SDL_CreateWindow("Naval Swarm", SCREEN_WIDTH, SCREEN_HEIGHT, 0);
|
||||
SDL_Renderer* renderer = SDL_CreateRenderer(window, "gpu,vulcan");
|
||||
|
||||
// Load textures
|
||||
SDL_Texture* spriteSheet = IMG_LoadTexture(renderer, "assets/destroyer.svg");
|
||||
SDL_Texture* bgTexture = IMG_LoadTexture(renderer, "assets/background.png");
|
||||
|
||||
// Initialize player
|
||||
Entity destroyer;
|
||||
destroyer.texture = spriteSheet;
|
||||
destroyer.position = {WORLD_WIDTH/2.0f, WORLD_HEIGHT/2.0f, 58.0f, 512.0f};
|
||||
destroyer.srcRect = {0, 0, 58, 512}; // Static source rectangle
|
||||
destroyer.Angle = 0;
|
||||
|
||||
// Initialize camera
|
||||
Camera camera;
|
||||
bool running = true;
|
||||
Uint64 lastFrameTime = SDL_GetTicksNS();
|
||||
float deltaTime = 0.0f;
|
||||
|
||||
while (running) {
|
||||
const Uint64 frameStart = SDL_GetTicksNS();
|
||||
|
||||
// Event handling
|
||||
SDL_Event event;
|
||||
while (SDL_PollEvent(&event)) {
|
||||
if (event.type == SDL_EVENT_QUIT) running = false;
|
||||
}
|
||||
|
||||
// Input handling
|
||||
const bool* keystate = SDL_GetKeyboardState(NULL);
|
||||
|
||||
// Toggle camera mode with C key
|
||||
static Uint32 lastToggle = 0;
|
||||
if (keystate[SDL_SCANCODE_C] && (SDL_GetTicks() - lastToggle > 200)) {
|
||||
camera.followPlayer = !camera.followPlayer;
|
||||
lastToggle = SDL_GetTicks();
|
||||
}
|
||||
|
||||
// Player movement
|
||||
int moveX = keystate[SDL_SCANCODE_RIGHT] - keystate[SDL_SCANCODE_LEFT];
|
||||
int moveY = keystate[SDL_SCANCODE_DOWN] - keystate[SDL_SCANCODE_UP];
|
||||
|
||||
// There is propably more eficient way to do this
|
||||
switch (moveX) {
|
||||
case 1:
|
||||
switch (moveY) {
|
||||
case 1:
|
||||
destroyer.Angle = 135;
|
||||
break;
|
||||
case -1:
|
||||
destroyer.Angle = 45;
|
||||
break;
|
||||
default:
|
||||
destroyer.Angle = 90;
|
||||
}
|
||||
break;
|
||||
case -1:
|
||||
switch (moveY) {
|
||||
case 1:
|
||||
destroyer.Angle = 225;
|
||||
break;
|
||||
case -1:
|
||||
destroyer.Angle = 315;
|
||||
break;
|
||||
default:
|
||||
destroyer.Angle = 270;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
switch (moveY) {
|
||||
case 1:
|
||||
destroyer.Angle = 180;
|
||||
break;
|
||||
case -1:
|
||||
destroyer.Angle = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
destroyer.position.x += (float)moveX * destroyer.speed * deltaTime;
|
||||
destroyer.position.y += (float)moveY * destroyer.speed * deltaTime;
|
||||
|
||||
// Camera movement
|
||||
if (camera.followPlayer) {
|
||||
float targetX = destroyer.position.x + destroyer.position.w/2 - camera.view.w/2;
|
||||
float targetY = destroyer.position.y + destroyer.position.h/2 - camera.view.h/2;
|
||||
camera.view.x += (targetX - camera.view.x) * camera.smoothness;
|
||||
camera.view.y += (targetY - camera.view.y) * camera.smoothness;
|
||||
} else {
|
||||
float camMoveX = keystate[SDL_SCANCODE_L] - keystate[SDL_SCANCODE_J];
|
||||
float camMoveY = keystate[SDL_SCANCODE_K] - keystate[SDL_SCANCODE_I];
|
||||
camera.view.x += camMoveX * camera.speed * deltaTime;
|
||||
camera.view.y += camMoveY * camera.speed * deltaTime;
|
||||
}
|
||||
|
||||
// World bounds
|
||||
destroyer.position.x = SDL_clamp(destroyer.position.x, 0.0f, WORLD_WIDTH - destroyer.position.w);
|
||||
destroyer.position.y = SDL_clamp(destroyer.position.y, 0.0f, WORLD_HEIGHT - destroyer.position.h);
|
||||
camera.view.x = SDL_clamp(camera.view.x, 0.0f, WORLD_WIDTH - camera.view.w);
|
||||
camera.view.y = SDL_clamp(camera.view.y, 0.0f, WORLD_HEIGHT - camera.view.h);
|
||||
|
||||
//ANIMATION HERE
|
||||
|
||||
// Rendering
|
||||
SDL_SetRenderDrawColor(renderer, 30, 30, 45, 255);
|
||||
SDL_RenderClear(renderer);
|
||||
|
||||
// Draw background
|
||||
if (bgTexture) {
|
||||
SDL_FRect bgDest = { -camera.view.x, -camera.view.y, WORLD_WIDTH, WORLD_HEIGHT };
|
||||
SDL_RenderTexture(renderer, bgTexture, NULL, &bgDest);
|
||||
}
|
||||
|
||||
// Draw player (simplified without animation)
|
||||
SDL_FRect srcFRect;
|
||||
SDL_RectToFRect(&destroyer.srcRect, &srcFRect);
|
||||
SDL_FRect destRect = {
|
||||
destroyer.position.x - camera.view.x,
|
||||
destroyer.position.y - camera.view.y,
|
||||
destroyer.position.w,
|
||||
destroyer.position.h
|
||||
};
|
||||
SDL_RenderTextureRotated(renderer, destroyer.texture, &srcFRect, &destRect, destroyer.Angle, nullptr, SDL_FLIP_NONE);
|
||||
|
||||
SDL_RenderPresent(renderer);
|
||||
|
||||
// Frame timing (unchanged)
|
||||
const Uint64 frameTime = SDL_GetTicksNS() - frameStart;
|
||||
if (frameTime < TARGET_FRAME_TIME_NS) {
|
||||
const Uint64 sleepTime = TARGET_FRAME_TIME_NS - frameTime;
|
||||
SDL_DelayNS(sleepTime - 2'000'000);
|
||||
while (SDL_GetTicksNS() - frameStart < TARGET_FRAME_TIME_NS) {}
|
||||
}
|
||||
|
||||
deltaTime = (SDL_GetTicksNS() - lastFrameTime) / 1e9f;
|
||||
lastFrameTime = SDL_GetTicksNS();
|
||||
}
|
||||
|
||||
// Cleanup
|
||||
SDL_DestroyTexture(spriteSheet);
|
||||
SDL_DestroyTexture(bgTexture);
|
||||
SDL_DestroyRenderer(renderer);
|
||||
SDL_DestroyWindow(window);
|
||||
SDL_Quit();
|
||||
return 0;
|
||||
Main::Main()
|
||||
{
|
||||
time_passed = 0.0;
|
||||
}
|
||||
|
||||
Main::~Main()
|
||||
{
|
||||
// Required destructor implementation
|
||||
}
|
||||
|
||||
void Main::_bind_methods()
|
||||
{
|
||||
ClassDB::bind_method(D_METHOD("_process", "delta"), &Main::_process);
|
||||
}
|
||||
|
||||
void Main::_process(double delta)
|
||||
{
|
||||
time_passed += delta;
|
||||
set_rotation(time_passed);
|
||||
}
|
||||
|
20
src/main.hpp
Normal file
20
src/main.hpp
Normal file
@ -0,0 +1,20 @@
|
||||
#include <godot_cpp/classes/sprite2d.hpp>
|
||||
|
||||
using namespace godot;
|
||||
|
||||
class Main : public Sprite2D
|
||||
{
|
||||
GDCLASS(Main, Sprite2D) // Must be in public section
|
||||
|
||||
private:
|
||||
double time_passed;
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
||||
public:
|
||||
Main();
|
||||
virtual ~Main() override; // Required for proper destruction
|
||||
|
||||
void _process(double delta) override;
|
||||
};
|
@ -1,46 +0,0 @@
|
||||
#include <SDL3/SDL.h>
|
||||
#include <SDL3_image/SDL_image.h>
|
||||
#include <iostream>
|
||||
|
||||
struct Angle360 {
|
||||
private:
|
||||
int value{0};
|
||||
|
||||
void normalize() {
|
||||
value %= 360;
|
||||
if (value < 0) value += 360; // Handle negative values
|
||||
}
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Angle360(int val = 0) : value(val) { normalize(); }
|
||||
|
||||
// Assignment operator
|
||||
Angle360& operator=(int val) {
|
||||
value = val;
|
||||
normalize();
|
||||
return *this;
|
||||
}
|
||||
|
||||
// Compound assignment
|
||||
Angle360& operator+=(int rhs) {
|
||||
value += rhs;
|
||||
normalize();
|
||||
return *this;
|
||||
}
|
||||
|
||||
Angle360& operator-=(int rhs) {
|
||||
value -= rhs;
|
||||
normalize();
|
||||
return *this;
|
||||
}
|
||||
|
||||
// Type conversion
|
||||
operator int() const { return value; }
|
||||
|
||||
// Stream output
|
||||
friend std::ostream& operator<<(std::ostream& os, const Angle360& a) {
|
||||
return os << a.value;
|
||||
}
|
||||
};
|
||||
|
10
vcpkg.json
Normal file
10
vcpkg.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
|
||||
"documentation": "https://github.com/microsoft/vcpkg/blob/master/docs/users/manifests.md",
|
||||
"name": "naval-swarm",
|
||||
"version": "0.1.0",
|
||||
"dependencies": [
|
||||
"fmt",
|
||||
"spdlog"
|
||||
]
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user