From 1c2a92ca10fdee3cfb20da31cab472d88050d92d Mon Sep 17 00:00:00 2001 From: danij Date: Sun, 10 Nov 2013 00:44:27 +0000 Subject: [PATCH] Refactor|Server|ResourceSystem: The server does not need a Fonts collection The collection is no longer initialized and no logical Font resources are instantiated on server side (Font definitions are parsed, but not processed into resources). --- doomsday/client/include/dd_main.h | 2 ++ doomsday/client/include/resource/resourcesystem.h | 6 +++++- doomsday/client/src/con_main.cpp | 8 ++++---- doomsday/client/src/dd_main.cpp | 8 ++++++++ doomsday/client/src/def_main.cpp | 4 ++++ doomsday/client/src/resource/fonts.cpp | 8 ++++---- doomsday/client/src/resource/resourcesystem.cpp | 4 ++++ doomsday/client/src/world/surface.cpp | 1 + doomsday/server/include/server_dummies.h | 4 ++-- doomsday/server/src/server_dummies.cpp | 6 +++--- 10 files changed, 37 insertions(+), 14 deletions(-) diff --git a/doomsday/client/include/dd_main.h b/doomsday/client/include/dd_main.h index 69d5727104..f5d2d28c18 100644 --- a/doomsday/client/include/dd_main.h +++ b/doomsday/client/include/dd_main.h @@ -165,8 +165,10 @@ ResourceSystem &App_ResourceSystem(); /// @return The application's global Texture collection. de::Textures &App_Textures(); +#ifdef __CLIENT__ /// @return The application's global Font collection. de::Fonts &App_Fonts(); +#endif /// @return @c true iff there is presently a game loaded. boolean App_GameLoaded(); diff --git a/doomsday/client/include/resource/resourcesystem.h b/doomsday/client/include/resource/resourcesystem.h index 3ac4eb705f..cb75b621e0 100644 --- a/doomsday/client/include/resource/resourcesystem.h +++ b/doomsday/client/include/resource/resourcesystem.h @@ -23,7 +23,9 @@ #include #include "resourceclass.h" #include "Textures" -#include "Fonts" +#ifdef __CLIENT__ +# include "Fonts" +#endif /** * Logical resources; materials, packages, textures, etc... @ingroup resource @@ -77,10 +79,12 @@ class ResourceSystem : public de::System patchid_t declarePatch(char const *encodedName); +#ifdef __CLIENT__ /** * Provides access to the Fonts collection. */ de::Fonts &fonts(); +#endif public: /// @todo Should be private: void initCompositeTextures(); diff --git a/doomsday/client/src/con_main.cpp b/doomsday/client/src/con_main.cpp index 5f63fcf482..da1439ac04 100644 --- a/doomsday/client/src/con_main.cpp +++ b/doomsday/client/src/con_main.cpp @@ -2764,7 +2764,7 @@ D_CMD(Font) Con_Printf("Usage: %s (cmd) (args)\n", argv[0]); Con_Printf("Commands: default, leading, name, size, tracking, xsize, ysize.\n"); Con_Printf("Names: "); - list = Fonts_CollectNames(&listCount); + list = AppFonts().collectNames(&listCount); for(i = 0; i < listCount-1; ++i) { Con_Printf("%s, ", Str_Text(list[i])); @@ -2780,7 +2780,7 @@ D_CMD(Font) if(!stricmp(argv[1], "default")) { de::Uri uri(R_ChooseFixedFont(), RC_NULL); - fontid_t newFont = Fonts_ResolveUri(reinterpret_cast(&uri)); + fontid_t newFont = App_Fonts().resolveUri(uri); if(newFont) { Con_SetFont(newFont); @@ -2794,10 +2794,10 @@ D_CMD(Font) if(!stricmp(argv[1], "name") && argc == 3) { de::Uri uri(String(argv[2]), RC_NULL); - fontid_t newFont = App_Fonts().resolveUri(reinterpret_cast(&uri), true/*quiet please*/); + fontid_t newFont = App_Fonts().resolveUri(uri, true/*quiet please*/); if(newFont) { - QScopedPointer uri(reinterpret_cast(App_Fonts().composeUri(newFont))); + QScopedPointer uri(App_Fonts().composeUri(newFont)); Con_SetFont(newFont); if(!uri->scheme().compareWithoutCase("Game")) { diff --git a/doomsday/client/src/dd_main.cpp b/doomsday/client/src/dd_main.cpp index ddf1c0b7e0..3dbc243e1d 100644 --- a/doomsday/client/src/dd_main.cpp +++ b/doomsday/client/src/dd_main.cpp @@ -530,10 +530,12 @@ de::Textures &App_Textures() return App_ResourceSystem().textures(); } +#ifdef __CLIENT__ de::Fonts &App_Fonts() { return App_ResourceSystem().fonts(); } +#endif void DD_ClearRuntimeTextureSchemes() { @@ -1456,7 +1458,9 @@ bool App_ChangeGame(Game &game, bool allowReload) R_ShutdownSvgs(); R_DestroyColorPalettes(); +#ifdef __CLIENT__ App_Fonts().clearRuntime(); +#endif DD_ClearRuntimeTextureSchemes(); Sfx_InitLogical(); @@ -2596,7 +2600,11 @@ void DD_SetVariable(int ddvalue, void *parm) /// @note Part of the Doomsday public API. fontschemeid_t DD_ParseFontSchemeName(char const *str) { +#ifdef __CLIENT__ return App_Fonts().parseScheme(str); +#else + return FS_INVALID; +#endif } String DD_MaterialSchemeNameForTextureScheme(String textureSchemeName) diff --git a/doomsday/client/src/def_main.cpp b/doomsday/client/src/def_main.cpp index ef993da0f9..90a2f256a2 100644 --- a/doomsday/client/src/def_main.cpp +++ b/doomsday/client/src/def_main.cpp @@ -1433,7 +1433,9 @@ void Def_Read() scheme.reset(); invalidateAllMaterials(); +#ifdef __CLIENT__ App_Fonts().clearDefinitionLinks(); +#endif Def_Destroy(); } @@ -1454,11 +1456,13 @@ void Def_Read() // Any definition hooks? DD_CallHooks(HOOK_DEFS, 0, &defs); +#ifdef __CLIENT__ // Composite fonts. for(int i = 0; i < defs.count.compositeFonts.num; ++i) { App_Fonts().createFontFromDef(defs.compositeFonts + i); } +#endif // Sprite names. DED_NewEntries((void **) &sprNames, &countSprNames, sizeof(*sprNames), defs.count.sprites.num); diff --git a/doomsday/client/src/resource/fonts.cpp b/doomsday/client/src/resource/fonts.cpp index 7fcd81ba59..788b682429 100644 --- a/doomsday/client/src/resource/fonts.cpp +++ b/doomsday/client/src/resource/fonts.cpp @@ -148,8 +148,8 @@ void Font_Release(font_t *font) { switch(Font_Type(font)) { - case FT_BITMAP: BitmapFont_DeleteGLTexture(font); break; - case FT_BITMAPCOMPOSITE: BitmapCompositeFont_ReleaseTextures(font); break; + case FT_BITMAP: BitmapFont_DeleteGLTexture(font); return; + case FT_BITMAPCOMPOSITE: BitmapCompositeFont_ReleaseTextures(font); return; } DENG2_ASSERT(false); } @@ -158,8 +158,8 @@ void Font_Prepare(font_t *font) { switch(Font_Type(font)) { - case FT_BITMAP: BitmapFont_Prepare(font); break; - case FT_BITMAPCOMPOSITE: BitmapCompositeFont_Prepare(font); break; + case FT_BITMAP: BitmapFont_Prepare(font); return; + case FT_BITMAPCOMPOSITE: BitmapCompositeFont_Prepare(font); return; } DENG2_ASSERT(false); } diff --git a/doomsday/client/src/resource/resourcesystem.cpp b/doomsday/client/src/resource/resourcesystem.cpp index dfa679f775..1cc4c91da9 100644 --- a/doomsday/client/src/resource/resourcesystem.cpp +++ b/doomsday/client/src/resource/resourcesystem.cpp @@ -74,7 +74,9 @@ DENG2_PIMPL(ResourceSystem) QList patchNames; Textures textures; +#ifdef __CLIENT__ Fonts fonts; +#endif Instance(Public *i) : Base(i) { @@ -963,7 +965,9 @@ patchid_t ResourceSystem::declarePatch(char const *encodedName) return 0; } +#ifdef __CLIENT__ Fonts &ResourceSystem::fonts() { return d->fonts; } +#endif diff --git a/doomsday/client/src/world/surface.cpp b/doomsday/client/src/world/surface.cpp index c2d31b8efb..b37b26a5bd 100644 --- a/doomsday/client/src/world/surface.cpp +++ b/doomsday/client/src/world/surface.cpp @@ -28,6 +28,7 @@ #include "de_defs.h" // Def_GetGenerator #include "Materials" +#include "TextureManifest" #include "world/map.h" #include "Plane" diff --git a/doomsday/server/include/server_dummies.h b/doomsday/server/include/server_dummies.h index 77844230dc..dcdb3d531a 100644 --- a/doomsday/server/include/server_dummies.h +++ b/doomsday/server/include/server_dummies.h @@ -53,12 +53,12 @@ DENG_EXTERN_C struct font_s* R_CreateFontFromDef(ded_compositefont_t* def); DENG_EXTERN_C void FR_Init(void); -DENG_EXTERN_C void Fonts_Init(void); +/*DENG_EXTERN_C void Fonts_Init(void); DENG_EXTERN_C fontschemeid_t Fonts_ParseScheme(const char* str); //DENG_EXTERN_C fontid_t Fonts_ResolveUri(Uri const *uri); DENG_EXTERN_C fontid_t Fonts_ResolveUriCString(const char* uri); DENG_EXTERN_C void Fonts_ClearDefinitionLinks(void); -DENG_EXTERN_C void Fonts_ClearRuntime(void); +DENG_EXTERN_C void Fonts_ClearRuntime(void);*/ DENG_EXTERN_C void Rend_Init(void); //DENG_EXTERN_C void Rend_DecorInitForMap(); diff --git a/doomsday/server/src/server_dummies.cpp b/doomsday/server/src/server_dummies.cpp index f24b909c7a..6fc1009394 100644 --- a/doomsday/server/src/server_dummies.cpp +++ b/doomsday/server/src/server_dummies.cpp @@ -361,7 +361,7 @@ int FR_TextHeight(const char* text) } */ -void Fonts_Init(void) +/*void Fonts_Init(void) {} fontschemeid_t Fonts_ParseScheme(const char* str) @@ -370,13 +370,12 @@ fontschemeid_t Fonts_ParseScheme(const char* str) return fontschemeid_t(0); } -/* + fontid_t Fonts_ResolveUri(Uri const *uri) { DENG_UNUSED(uri); return 0; } -*/ fontid_t Fonts_ResolveUriCString(const char* uri) { @@ -389,6 +388,7 @@ void Fonts_ClearDefinitionLinks(void) void Fonts_ClearRuntime(void) {} +*/ /* void R_InitViewWindow(void)