View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005911 | DarkRadiant | Design/Coding | public | 02.03.2022 09:03 | 05.01.2023 16:25 |
Reporter | greebo | Assigned To | greebo | ||
Priority | normal | Severity | normal | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | 3.0.0 | ||||
Target Version | 3.0.0 | Fixed in Version | 3.0.0 | ||
Summary | 0005911: Unify Declaration Parsers | ||||
Description | The various manager classes (EClassManager, SoundManager, SkinManager, ShaderManager, etc.) are all using similar parsing code. While all of them are already using the ThreadedDefLoader to parse the files in a worker thread, there's still redundant code in many of them. The goal here is to move as much common code as possible to shared infrastructure. | ||||
Tags | No tags attached. | ||||
DarkRadiant: master 689e06d8 02.03.2022 05:46 Details Diff |
0005911: Add file sorting functionality to ThreadedDefLoader. ShaderFileLoader and ParticleLoader are subclassing the ThreadedDefLoader. Compiling and working, but some parse code still needs to be migrated. |
Affected Issues 0005911 |
|
mod - libs/ThreadedDefLoader.h | Diff File | ||
mod - plugins/dm.gui/gui/GuiManager.cpp | Diff File | ||
mod - plugins/sound/SoundManager.cpp | Diff File | ||
mod - radiantcore/CMakeLists.txt | Diff File | ||
mod - radiantcore/eclass/EClassManager.cpp | Diff File | ||
mod - radiantcore/fonts/FontLoader.cpp | Diff File | ||
mod - radiantcore/fonts/FontLoader.h | Diff File | ||
mod - radiantcore/fonts/FontManager.cpp | Diff File | ||
mod - radiantcore/fonts/FontManager.h | Diff File | ||
add - radiantcore/particles/ParticleLoader.cpp | Diff File | ||
add - radiantcore/particles/ParticleLoader.h | Diff File | ||
mod - radiantcore/particles/ParticlesManager.cpp | Diff File | ||
mod - radiantcore/particles/ParticlesManager.h | Diff File | ||
mod - radiantcore/shaders/Doom3ShaderSystem.cpp | Diff File | ||
mod - radiantcore/shaders/Doom3ShaderSystem.h | Diff File | ||
mod - radiantcore/shaders/ShaderFileLoader.h | Diff File | ||
mod - radiantcore/skins/Doom3SkinCache.cpp | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj.filters | Diff File | ||
DarkRadiant: master f5d9a92b 02.03.2022 11:57 Details Diff |
0005911: Build the ThreadedDeclParser on top of the ThreadedDefLoader class, handling all the VFS specifics. Since requiring a finished callback is the exception rather than the rule, offer a finished signal for client code to subscribe to. |
Affected Issues 0005911 |
|
mod - libs/ThreadedDefLoader.h | Diff File | ||
add - libs/parser/ThreadedDeclParser.h | Diff File | ||
mod - plugins/dm.gui/gui/GuiManager.h | Diff File | ||
mod - plugins/sound/SoundManager.h | Diff File | ||
mod - radiantcore/eclass/EClassManager.cpp | Diff File | ||
mod - radiantcore/eclass/EClassManager.h | Diff File | ||
mod - radiantcore/fonts/FontLoader.h | Diff File | ||
mod - radiantcore/particles/ParticleLoader.h | Diff File | ||
mod - radiantcore/particles/ParticlesManager.cpp | Diff File | ||
mod - radiantcore/shaders/ShaderFileLoader.h | Diff File | ||
mod - radiantcore/skins/Doom3SkinCache.h | Diff File | ||
mod - tools/msvc/libs.vcxproj | Diff File | ||
mod - tools/msvc/libs.vcxproj.filters | Diff File | ||
DarkRadiant: master cbcca644 02.03.2022 14:23 Details Diff |
0005911: Move common VFS handling code to the base ThreadedDeclParser implementation. Subclasses just fill in the missing parsing routines. Add a parseSynchronously() method to allow for parsing on the main thread (reloading entityDefs is using that). FontLoader has been reverted to use a ThreadedDefLoader only, it's not really a decl parser. EClassParser is now doing all the parsing business previously hosted in the EClassManager. |
Affected Issues 0005911 |
|
mod - include/idecltypes.h | Diff File | ||
mod - libs/debugging/ScopedDebugTimer.h | Diff File | ||
mod - libs/parser/ThreadedDeclParser.h | Diff File | ||
mod - radiantcore/CMakeLists.txt | Diff File | ||
mod - radiantcore/eclass/EClassManager.cpp | Diff File | ||
mod - radiantcore/eclass/EClassManager.h | Diff File | ||
add - radiantcore/eclass/EClassParser.cpp | Diff File | ||
add - radiantcore/eclass/EClassParser.h | Diff File | ||
mod - radiantcore/fonts/FontLoader.cpp | Diff File | ||
mod - radiantcore/fonts/FontLoader.h | Diff File | ||
mod - radiantcore/fonts/FontManager.cpp | Diff File | ||
mod - radiantcore/particles/ParticleLoader.cpp | Diff File | ||
mod - radiantcore/particles/ParticleLoader.h | Diff File | ||
mod - radiantcore/shaders/Doom3ShaderSystem.cpp | Diff File | ||
mod - radiantcore/shaders/ShaderFileLoader.h | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj.filters | Diff File | ||
DarkRadiant: master e966d6dc 02.03.2022 15:48 Details Diff |
0005911: EClassManager and parser cleanup |
Affected Issues 0005911 |
|
mod - include/ieclass.h | Diff File | ||
mod - radiantcore/eclass/EClassManager.cpp | Diff File | ||
mod - radiantcore/eclass/EClassManager.h | Diff File | ||
mod - radiantcore/eclass/EClassParser.cpp | Diff File | ||
mod - radiantcore/eclass/EClassParser.h | Diff File | ||
mod - radiantcore/fonts/FontLoader.h | Diff File | ||
DarkRadiant: master 170eda71 02.03.2022 16:35 Details Diff |
0005911: Migrate Skin parsing to use the shared DeclParser |
Affected Issues 0005911 |
|
mod - include/idecltypes.h | Diff File | ||
mod - radiantcore/shaders/ShaderFileLoader.h | Diff File | ||
mod - radiantcore/skins/Doom3SkinCache.cpp | Diff File | ||
mod - radiantcore/skins/Doom3SkinCache.h | Diff File | ||
add - radiantcore/skins/SkinDeclParser.h | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj | Diff File | ||
mod - tools/msvc/DarkRadiantCore.vcxproj.filters | Diff File | ||
DarkRadiant: master 4f906261 02.03.2022 16:39 Details Diff |
0005911: Downgrade GUI loader to use the ThreadedDefLoader base, since it doesn't immediately parse the decl |
Affected Issues 0005911 |
|
mod - plugins/dm.gui/gui/GuiManager.cpp | Diff File | ||
mod - plugins/dm.gui/gui/GuiManager.h | Diff File | ||
DarkRadiant: master 3a9819ba 02.03.2022 17:07 Details Diff |
0005911: Migrate SoundFileLoader to derive from ThreadedDeclParser |
Affected Issues 0005911 |
|
mod - plugins/sound/SoundFileLoader.h | Diff File | ||
mod - plugins/sound/SoundManager.cpp | Diff File | ||
mod - plugins/sound/SoundManager.h | Diff File | ||
DarkRadiant: master 6cd041f0 02.03.2022 19:43 Details Diff |
0005911: Minor simplification. Try to fix gcc compilation. |
Affected Issues 0005911 |
|
mod - libs/parser/ThreadedDeclParser.h | Diff File | ||
mod - plugins/sound/SoundFileLoader.h | Diff File | ||
mod - plugins/sound/SoundManager.cpp | Diff File | ||
DarkRadiant: master 66f14469 03.03.2022 04:58 Details Diff |
0005911: Fix gcc compilation. |
Affected Issues 0005911 |
|
mod - libs/parser/ThreadedDeclParser.h | Diff File | ||
DarkRadiant: master 6b1b7e18 03.03.2022 07:43 Details Diff |
0005911: Remove legacy constructors. The virtual parse method is now mandatory for subclasses. |
Affected Issues 0005911 |
|
mod - libs/parser/ThreadedDeclParser.h | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
02.03.2022 09:03 | greebo | New Issue | |
02.03.2022 09:03 | greebo | Relationship added | related to 0005853 |
02.03.2022 09:04 | greebo | Status | new => confirmed |
02.03.2022 17:39 | greebo | Assigned To | => greebo |
02.03.2022 17:39 | greebo | Status | confirmed => assigned |
02.03.2022 17:41 | greebo | Changeset attached | => DarkRadiant master 689e06d8 |
02.03.2022 17:41 | greebo | Changeset attached | => DarkRadiant master f5d9a92b |
02.03.2022 17:41 | greebo | Changeset attached | => DarkRadiant master cbcca644 |
02.03.2022 17:41 | greebo | Changeset attached | => DarkRadiant master e966d6dc |
02.03.2022 17:41 | greebo | Changeset attached | => DarkRadiant master 170eda71 |
02.03.2022 17:41 | greebo | Changeset attached | => DarkRadiant master 4f906261 |
02.03.2022 17:41 | greebo | Changeset attached | => DarkRadiant master 3a9819ba |
02.03.2022 17:42 | greebo | Target Version | => 3.0.0 |
02.03.2022 17:42 | greebo | Category | Map Editing => Design/Coding |
02.03.2022 17:42 | greebo | Status | assigned => resolved |
02.03.2022 17:42 | greebo | Resolution | open => fixed |
02.03.2022 17:42 | greebo | Fixed in Version | => 3.0.0 |
02.03.2022 19:53 | greebo | Changeset attached | => DarkRadiant master 6cd041f0 |
03.03.2022 04:58 | greebo | Changeset attached | => DarkRadiant master 66f14469 |
03.03.2022 15:09 | greebo | Changeset attached | => DarkRadiant master 6b1b7e18 |
16.06.2022 15:55 | greebo | Relationship added | related to 0005977 |
05.01.2023 16:25 | greebo | Status | resolved => closed |