View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005977 | DarkRadiant | Design/Coding | public | 16.06.2022 15:55 | 26.06.2022 10:53 |
Reporter | greebo | Assigned To | greebo | ||
Priority | normal | Severity | normal | Reproducibility | have not tried |
Status | assigned | Resolution | open | ||
Product Version | 3.0.0 | ||||
Summary | 0005977: Improve Declaration Block Parsing | ||||
Description | Followup of 0005911: Since all the idTech4 declaration files have the same format, DR should perform all the parsing using the same DefBlockTokeniser type. There's still some custom if-else trickery involved for entityDef or material/table parsing that could be shifted towards the tokeniser. The output token type BlockTokeniser::Block needs to be expanded by a "type" field, which can hold the optional decl type like "material" or "skin" or "entityDef". | ||||
Tags | No tags attached. | ||||
DarkRadiant: declmanager 9939fd69 2022-06-17 06:57:55 Details Diff |
0005977: Add a few more unit test cases |
Affected Issues 0005977 |
|
mod - test/Parsing.cpp | Diff File | ||
DarkRadiant: declmanager 0f91058b 2022-06-17 06:58:12 Details Diff |
0005977: Set up a few declaration-related interfaces |
Affected Issues 0005977 |
|
add - include/ideclmanager.h | Diff File | ||
mod - tools/msvc/include.vcxproj | Diff File | ||
mod - tools/msvc/include.vcxproj.filters | Diff File | ||
DarkRadiant: declmanager 0aa291a2 2022-06-18 17:53:20 Details Diff |
0005977: Add empty implementation, define a few unit tests |
Affected Issues 0005977 |
|
mod - radiantcore/CMakeLists.txt | Diff File | ||
add - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
mod - test/CMakeLists.txt | Diff File | ||
add - test/DeclManager.cpp | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj.filters | Diff File | ||
mod - tools/msvc/Tests/Tests.vcxproj | Diff File | ||
mod - tools/msvc/Tests/Tests.vcxproj.filters | Diff File | ||
DarkRadiant: declmanager e0a32134 2022-06-18 18:03:25 Details Diff |
0005977: Implement registerDeclType and unregisterDeclType |
Affected Issues 0005977 |
|
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
DarkRadiant: declmanager 941062eb 2022-06-19 07:57:41 Details Diff |
0005977: First iteration supporting parsing of known declarations. |
Affected Issues 0005977 |
|
mod - include/ideclmanager.h | Diff File | ||
mod - include/idecltypes.h | Diff File | ||
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
add - radiantcore/decl/DeclarationManager.h | Diff File | ||
add - radiantcore/decl/DeclarationParser.cpp | Diff File | ||
add - radiantcore/decl/DeclarationParser.h | Diff File | ||
mod - test/DeclManager.cpp | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj.filters | Diff File | ||
DarkRadiant: declmanager 409ae7af 2022-06-19 08:04:10 Details Diff |
0005977: Safely close parser threads when the module is shut down |
Affected Issues 0005977 |
|
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationManager.h | Diff File | ||
DarkRadiant: declmanager 2ef2444c 2022-06-19 08:36:23 Details Diff |
0005977: Separate the unit test resources, they will collide with the regular RadiantTest setup once GlobalMaterialManager() et al will have been migrated to use the decl manager. |
Affected Issues 0005977 |
|
mod - test/DeclManager.cpp | Diff File | ||
add - test/resources/tdm/testdecls/exporttest.decl | Diff File | ||
add - test/resources/tdm/testdecls/numbers.decl | Diff File | ||
DarkRadiant: declmanager 813575cd 2022-06-19 08:54:24 Details Diff |
0005977: Late parser registration is working now |
Affected Issues 0005977 |
|
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationManager.h | Diff File | ||
mod - radiantcore/decl/DeclarationParser.cpp | Diff File | ||
mod - test/DeclManager.cpp | Diff File | ||
DarkRadiant: declmanager 639bdeaf 2022-06-19 09:01:48 Details Diff |
0005977: Late parser registration is working now even when added during thread processing |
Affected Issues 0005977 |
|
mod - test/DeclManager.cpp | Diff File | ||
DarkRadiant: declmanager 30e8b3f1 2022-06-19 14:08:01 Details Diff |
0005977: Start migrating SoundManager to use the DeclarationManager's parsing infrastructure instead of a custom threaded parser. |
Affected Issues 0005977 |
|
mod - include/ideclmanager.h | Diff File | ||
mod - include/ifilesystem.h | Diff File | ||
mod - include/isound.h | Diff File | ||
mod - plugins/script/interfaces/SoundInterface.h | Diff File | ||
mod - plugins/sound/SoundFileLoader.h | Diff File | ||
mod - plugins/sound/SoundManager.cpp | Diff File | ||
mod - plugins/sound/SoundManager.h | Diff File | ||
mod - plugins/sound/SoundShader.h | Diff File | ||
mod - radiant/ui/common/SoundChooser.cpp | Diff File | ||
mod - radiant/ui/common/SoundShaderDefinitionView.cpp | Diff File | ||
mod - radiant/ui/common/SoundShaderPreview.cpp | Diff File | ||
mod - radiantcore/CMakeLists.txt | Diff File | ||
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationManager.h | Diff File | ||
mod - radiantcore/decl/DeclarationParser.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationParser.h | Diff File | ||
mod - radiantcore/entity/algorithm/Speaker.h | Diff File | ||
mod - test/DeclManager.cpp | Diff File | ||
DarkRadiant: declmanager e6c400e4 2022-06-19 16:32:03 Details Diff |
0005977: SoundManager no longer maintains its own dictionary of shaders as member |
Affected Issues 0005977 |
|
mod - include/ideclmanager.h | Diff File | ||
mod - plugins/sound/SoundFileLoader.h | Diff File | ||
mod - plugins/sound/SoundManager.cpp | Diff File | ||
mod - plugins/sound/SoundManager.h | Diff File | ||
mod - plugins/sound/SoundShader.cpp | Diff File | ||
mod - plugins/sound/SoundShader.h | Diff File | ||
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationManager.h | Diff File | ||
mod - test/DeclManager.cpp | Diff File | ||
DarkRadiant: declmanager c4f2bbb0 2022-06-19 16:33:54 Details Diff |
0005977: Rename SoundFileLoader to SoundShaderParser |
Affected Issues 0005977 |
|
mod - plugins/sound/SoundManager.cpp | Diff File | ||
mod - plugins/sound/SoundManager.h | Diff File | ||
mod - tools/msvc/sound.vcxproj | Diff File | ||
mod - tools/msvc/sound.vcxproj.filters | Diff File | ||
DarkRadiant: declmanager 38ed7f2b 2022-06-19 17:25:49 Details Diff |
0005977: Add reloadDecarations() to IDeclarationManager interface |
Affected Issues 0005977 |
|
mod - include/ideclmanager.h | Diff File | ||
mod - plugins/sound/SoundManager.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationManager.h | Diff File | ||
DarkRadiant: declmanager df14b271 2022-06-24 12:59:09 Details Diff |
0005977: Add unit test checking that reloadDecls re-parses the file |
Affected Issues 0005977 |
|
mod - include/ideclmanager.h | Diff File | ||
mod - plugins/sound/SoundShader.cpp | Diff File | ||
mod - plugins/sound/SoundShader.h | Diff File | ||
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
mod - test/DeclManager.cpp | Diff File | ||
add - test/testutil/TemporaryFile.h | Diff File | ||
mod - tools/msvc/Tests/Tests.vcxproj | Diff File | ||
mod - tools/msvc/Tests/Tests.vcxproj.filters | Diff File | ||
DarkRadiant: declmanager a9896bcb 2022-06-24 17:55:08 Details Diff |
0005977: Some restructuring to make the parsing logic reusable outside the ThreadedDeclParser. |
Affected Issues 0005977 |
|
mod - radiantcore/CMakeLists.txt | Diff File | ||
add - radiantcore/decl/DeclarationFile.h | Diff File | ||
add - radiantcore/decl/DeclarationFolderParser.cpp | Diff File | ||
add - radiantcore/decl/DeclarationFolderParser.h | Diff File | ||
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationManager.h | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj.filters | Diff File | ||
DarkRadiant: declmanager 43c9214e 2022-06-25 04:30:11 Details Diff |
0005977: Change IDeclarationParser to IDeclarationCreator. The declaration instances will work with the DeclarationBlockSyntax. |
Affected Issues 0005977 |
|
mod - include/ideclmanager.h | Diff File | ||
mod - plugins/sound/SoundManager.cpp | Diff File | ||
mod - plugins/sound/SoundShader.cpp | Diff File | ||
mod - plugins/sound/SoundShader.h | Diff File | ||
mod - plugins/sound/SoundShaderParser.h | Diff File | ||
mod - radiantcore/decl/DeclarationFileParser.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationFileParser.h | Diff File | ||
mod - radiantcore/decl/DeclarationFolderParser.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationFolderParser.h | Diff File | ||
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationManager.h | Diff File | ||
mod - test/DeclManager.cpp | Diff File | ||
DarkRadiant: declmanager 81fd9fea 2022-06-25 04:49:52 Details Diff |
0005977: Rename interface method |
Affected Issues 0005977 |
|
mod - include/ideclmanager.h | Diff File | ||
mod - plugins/sound/SoundManager.cpp | Diff File | ||
mod - plugins/sound/SoundShader.cpp | Diff File | ||
mod - plugins/sound/SoundShader.h | Diff File | ||
mod - radiantcore/decl/DeclarationFileParser.cpp | Diff File | ||
mod - test/DeclManager.cpp | Diff File | ||
DarkRadiant: declmanager 612a5307 2022-06-25 13:36:38 Details Diff |
0005977: Reduce DeclarationFileParser responsibility to cut the incoming streams into blocks and determine their type. The DeclarationManager will receive all identified blocks and will process them further. |
Affected Issues 0005977 |
|
mod - include/idecltypes.h | Diff File | ||
mod - radiantcore/decl/DeclarationFileParser.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationFileParser.h | Diff File | ||
mod - radiantcore/decl/DeclarationFolderParser.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationFolderParser.h | Diff File | ||
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationManager.h | Diff File | ||
DarkRadiant: declmanager e79828b0 2022-06-25 14:18:08 Details Diff |
0005977: First implementation of IDeclarationManager::reloadDecarations |
Affected Issues 0005977 |
|
mod - radiantcore/decl/DeclarationFileParser.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationFileParser.h | Diff File | ||
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationManager.h | Diff File | ||
mod - test/DeclManager.cpp | Diff File | ||
DarkRadiant: declmanager 8bf2ffeb 2022-06-25 16:26:28 Details Diff |
0005977: Introduce parse stamp methods to the IDeclaration interface. Add unit test. |
Affected Issues 0005977 |
|
mod - include/ideclmanager.h | Diff File | ||
mod - plugins/sound/SoundShader.cpp | Diff File | ||
mod - plugins/sound/SoundShader.h | Diff File | ||
mod - test/DeclManager.cpp | Diff File | ||
DarkRadiant: declmanager 73d41714 2022-06-26 04:31:45 Details Diff |
0005977: More reloadDecls unit tests |
Affected Issues 0005977 |
|
mod - test/DeclManager.cpp | Diff File | ||
DarkRadiant: declmanager 9eff8281 2022-06-26 05:53:57 Details Diff |
0005977: First working version of reloadDecls |
Affected Issues 0005977 |
|
mod - radiantcore/decl/DeclarationFile.h | Diff File | ||
mod - radiantcore/decl/DeclarationFileParser.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationFileParser.h | Diff File | ||
mod - radiantcore/decl/DeclarationFolderParser.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationManager.h | Diff File | ||
mod - test/DeclManager.cpp | Diff File | ||
DarkRadiant: declmanager f1cb6204 2022-06-26 06:36:53 Details Diff |
0005977: Some more precautions, code cleanup |
Affected Issues 0005977 |
|
mod - radiantcore/decl/DeclarationFileParser.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationFileParser.h | Diff File | ||
mod - radiantcore/decl/DeclarationFolderParser.h | Diff File | ||
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationManager.h | Diff File | ||
DarkRadiant: declmanager 3a1d720f 2022-06-26 06:42:50 Details Diff |
0005977: Merge DeclarationFileParser back into DeclarationFolderParser, turns out it doesn't add much value |
Affected Issues 0005977 |
|
mod - radiantcore/CMakeLists.txt | Diff File | ||
rm - radiantcore/decl/DeclarationFileParser.cpp | Diff File | ||
rm - radiantcore/decl/DeclarationFileParser.h | Diff File | ||
mod - radiantcore/decl/DeclarationFolderParser.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationFolderParser.h | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj.filters | Diff File | ||
DarkRadiant: declmanager 3a58c3cc 2022-06-26 06:56:34 Details Diff |
0005977: More signal tests |
Affected Issues 0005977 |
|
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
mod - test/DeclManager.cpp | Diff File | ||
DarkRadiant: declmanager 9cd59760 2022-06-26 07:11:13 Details Diff |
0005977: Add unit test checking the precedence of parsed decls with the same name (test is failing right now) |
Affected Issues 0005977 |
|
mod - test/DeclManager.cpp | Diff File | ||
add - test/resources/tdm/testdecls/precedence_test1.decl | Diff File | ||
add - test/resources/tdm/testdecls/precedence_test2.decl | Diff File | ||
DarkRadiant: declmanager 86fc80f3 2022-06-26 07:28:18 Details Diff |
0005977: Declaration precedence is matching the engine's behaviour now, the first decl takes precedence |
Affected Issues 0005977 |
|
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
DarkRadiant: declmanager 523dc791 2022-06-26 08:21:07 Details Diff |
0005977: Fix SoundManager returning empty references in getSoundShader(). The docs state that this should return an empty shader instead. |
Affected Issues 0005977 |
|
mod - plugins/sound/SoundManager.cpp | Diff File | ||
DarkRadiant: declmanager 90631131 2022-06-26 08:37:39 Details Diff |
0005977: Extend DefBlockTokeniser tests to handle some blocks with type names |
Affected Issues 0005977 |
|
mod - test/Parsing.cpp | Diff File | ||
DarkRadiant: declmanager 93bf93f1 2022-06-26 10:03:10 Details Diff |
0005977: Separate SoundManager tests from DefBlockTokeniser tests. |
Affected Issues 0005977 |
|
mod - test/CMakeLists.txt | Diff File | ||
add - test/SoundManager.cpp | Diff File | ||
mod - test/resources/tdm/sound/parsing_test.sndshd | Diff File | ||
mod - tools/msvc/Tests/Tests.vcxproj | Diff File | ||
mod - tools/msvc/Tests/Tests.vcxproj.filters | Diff File | ||
DarkRadiant: declmanager f2032dfa 2022-06-26 10:17:40 Details Diff |
0005977: More SoundManager tests |
Affected Issues 0005977 |
|
mod - test/SoundManager.cpp | Diff File | ||
mod - test/resources/tdm/sound/parsing_test.sndshd | Diff File | ||
add - test/resources/tdm/sound/test/jorge.ogg | Diff File | ||
add - test/resources/tdm/sound/test/jorge.wav | Diff File | ||
DarkRadiant: declmanager fbb3e81e 2022-06-26 10:24:22 Details Diff |
0005977: Check SoundManager behaviour when serving requests for files without extensions |
Affected Issues 0005977 |
|
mod - test/SoundManager.cpp | Diff File | ||
DarkRadiant: declmanager 60dc9427 2022-06-26 10:31:08 Details Diff |
0005977: Simplify file extension replacement code a bit |
Affected Issues 0005977 |
|
mod - plugins/sound/SoundManager.cpp | Diff File | ||
mod - plugins/sound/SoundManager.h | Diff File | ||
DarkRadiant: declmanager a533214b 2022-06-26 10:51:52 Details Diff |
0005977: Add ReloadDecls which is now the target of the ReloadSounds command. Cleanup and comments. |
Affected Issues 0005977 |
|
mod - include/ideclmanager.h | Diff File | ||
mod - include/isound.h | Diff File | ||
mod - plugins/sound/SoundManager.cpp | Diff File | ||
mod - plugins/sound/SoundManager.h | Diff File | ||
mod - radiant/ui/common/SoundChooser.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationManager.cpp | Diff File | ||
mod - radiantcore/decl/DeclarationManager.h | Diff File | ||
mod - test/DeclManager.cpp | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
16.06.2022 15:55 | greebo | New Issue | |
16.06.2022 15:55 | greebo | Status | new => confirmed |
16.06.2022 15:55 | greebo | Relationship added | related to 0004910 |
16.06.2022 15:55 | greebo | Relationship added | related to 0005911 |
16.06.2022 15:56 | greebo | Assigned To | => greebo |
16.06.2022 15:56 | greebo | Status | confirmed => assigned |
16.06.2022 15:56 | greebo | Summary | Improve Declaration Block Parser => Improve Declaration Block Parsing |
19.06.2022 09:13 | greebo | Changeset attached | => DarkRadiant declmanager 9939fd69 |
19.06.2022 09:13 | greebo | Changeset attached | => DarkRadiant declmanager 0f91058b |
19.06.2022 09:13 | greebo | Changeset attached | => DarkRadiant declmanager 0aa291a2 |
19.06.2022 09:13 | greebo | Changeset attached | => DarkRadiant declmanager e0a32134 |
19.06.2022 09:13 | greebo | Changeset attached | => DarkRadiant declmanager 941062eb |
19.06.2022 09:13 | greebo | Changeset attached | => DarkRadiant declmanager 409ae7af |
19.06.2022 09:13 | greebo | Changeset attached | => DarkRadiant declmanager 2ef2444c |
19.06.2022 09:13 | greebo | Changeset attached | => DarkRadiant declmanager 813575cd |
19.06.2022 09:13 | greebo | Changeset attached | => DarkRadiant declmanager 639bdeaf |
19.06.2022 17:26 | greebo | Changeset attached | => DarkRadiant declmanager 30e8b3f1 |
19.06.2022 17:26 | greebo | Changeset attached | => DarkRadiant declmanager e6c400e4 |
19.06.2022 17:26 | greebo | Changeset attached | => DarkRadiant declmanager c4f2bbb0 |
19.06.2022 17:26 | greebo | Changeset attached | => DarkRadiant declmanager 38ed7f2b |
26.06.2022 06:56 | greebo | Changeset attached | => DarkRadiant declmanager df14b271 |
26.06.2022 06:56 | greebo | Changeset attached | => DarkRadiant declmanager a9896bcb |
26.06.2022 06:56 | greebo | Changeset attached | => DarkRadiant declmanager 43c9214e |
26.06.2022 06:56 | greebo | Changeset attached | => DarkRadiant declmanager 81fd9fea |
26.06.2022 06:56 | greebo | Changeset attached | => DarkRadiant declmanager 612a5307 |
26.06.2022 06:56 | greebo | Changeset attached | => DarkRadiant declmanager e79828b0 |
26.06.2022 06:56 | greebo | Changeset attached | => DarkRadiant declmanager 8bf2ffeb |
26.06.2022 06:56 | greebo | Changeset attached | => DarkRadiant declmanager 73d41714 |
26.06.2022 06:56 | greebo | Changeset attached | => DarkRadiant declmanager 9eff8281 |
26.06.2022 06:56 | greebo | Changeset attached | => DarkRadiant declmanager f1cb6204 |
26.06.2022 06:56 | greebo | Changeset attached | => DarkRadiant declmanager 3a1d720f |
26.06.2022 06:56 | greebo | Changeset attached | => DarkRadiant declmanager 3a58c3cc |
26.06.2022 10:53 | greebo | Changeset attached | => DarkRadiant declmanager 9cd59760 |
26.06.2022 10:53 | greebo | Changeset attached | => DarkRadiant declmanager 86fc80f3 |
26.06.2022 10:53 | greebo | Changeset attached | => DarkRadiant declmanager 523dc791 |
26.06.2022 10:53 | greebo | Changeset attached | => DarkRadiant declmanager 90631131 |
26.06.2022 10:53 | greebo | Changeset attached | => DarkRadiant declmanager 93bf93f1 |
26.06.2022 10:53 | greebo | Changeset attached | => DarkRadiant declmanager f2032dfa |
26.06.2022 10:53 | greebo | Changeset attached | => DarkRadiant declmanager fbb3e81e |
26.06.2022 10:53 | greebo | Changeset attached | => DarkRadiant declmanager 60dc9427 |
26.06.2022 10:53 | greebo | Changeset attached | => DarkRadiant declmanager a533214b |