Feature #219
porting Tools to Qt : Tile_Edit
Status: | Closed | Start date: | 12/01/2008 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | sfb | % Done: | 100% |
|
Category: | Tools: General | |||
Target version: | Version 0.7.0 |
Description
Tile_Edit is a tool used to manage .bank files:
- add/remove Land & Tile Set
- Link Land to TileSet
- Link TileSet to Vegetation Set
It also include a TileSet Viewer :
- Diffuse, Additive (Night&Day) Tiles
- Transition Tiles
- Displacement Maps
with Batch load, and Border Import/Export facilities
Still checking a few things concerning Image format and omw to port it :)
History
#1 Updated by titegus over 6 years ago
- File tile_edit_Qt-4.4.3.zip added
- File landscape.zip added
Here is the Qt version of the tile_edit tool
The interface slightly changed :
- TileSet relative Informations (SurfaceData/VegetSet/IsOriented) have been grouped into a "TileSet detail" Frame, visible without having to open the tile browser
- in the Tile Browser, "Subtile Set" checkboxes have been removed (obsolete)
- in the Tile Browser, RadioButton have been grouped to make a clear distinction between Tiles Data (stored into the .bank) and Editor Options (which only influence the way informations are displayed in the Browser)
and more generally, Buttons and Actions are Enable/Disable depending on the Context to help understanding.
I didn't remove any fonctionalities, but, in my opinion, the "Import border" fonctionality is useless (as it's imported by default with the first Tile) and new Border are imported without any Pixel Check, which is not correct ?
The Export Fonctionality should also be split into several methods "Export 128 Diffuse" and "Export 128 Additive", so we could add "Export 256 Diffuse" and "Export 256 Additive" (and this should be independant from the Texture currently displayed in the Browser)
I could provide a second version of the tile_edit tool after this one is validated !
I join the landscape.zip files (from snowball) that can be used as an Example
#2 Updated by kaetemi over 6 years ago
It seems to be working nicely.
Some issues, though:
- It needs quite a few changes with the include paths to compile with Qt 4.5
- Loads of warnings when compiling under VS2008 (related to how you are using enums)
- The project is missing a configuration for compiling under Debug mode apparently
- And it might be nice to follow the NeL naming conventions (filenames, typenames, etc)
#3 Updated by aquiles over 6 years ago
kaetemi wrote:
It seems to be working nicely.
Some issues, though:
- It needs quite a few changes with the include paths to compile with Qt 4.5
- Loads of warnings when compiling under VS2008 (related to how you are using enums)
- The project is missing a configuration for compiling under Debug mode apparently
- And it might be nice to follow the NeL naming conventions (filenames, typenames, etc)
Hello,
i tried to compile it, but after changing includes for qt and adding the additional needed librarys like nlmisc_x.lib or nl3d_x.lib and so oni get a bunch of compile errors (trimmed for better reading):
Linking...
@YAXP6AXXZ@Z) already defined in msvcprt.lib(locale0_implib.obj)
msvcprt.lib(MSVCP90.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>, already defined in nlmisc_r.lib(app_context.obj)
msvcprt.lib(MSVCP90.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>, already defined in nlmisc_r.lib(app_context.obj)
msvcprt.lib(MSVCP90.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>, already defined in nlmisc_r.lib(app_context.obj)
msvcprt.lib(MSVCP90.dll) : error LNK2005: "bool __cdecl std::operator==<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>, already defined in nlmisc_r.lib(log.obj)
msvcprt.lib(MSVCP90.dll) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>, already defined in nlmisc_r.lib(file.obj)
msvcprt.lib(MSVCP90.dll) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>, already defined in nlmisc_r.lib(file.obj)
libcpmt.lib(locale0.obj) : error LNK2005: "void __cdecl _AtModuleExit(void (__cdecl*)(void))" (?_AtModuleExit
libcpmt.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * _cdecl std::locale::_Getgloballocale(void)" already defined in msvcprt.lib(MSVCP90.dll)
libcpmt.lib(locale0.obj) : error LNK2005: __Fac_tidy already defined in msvcprt.lib(locale0_implib.obj)
libcpmt.lib(locale0.obj) : error LNK2005: "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" already defined in msvcprt.lib(locale0_implib.obj)
LIBCMT.lib(setlocal.obj) : error LNK2005: __configthreadlocale already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(tidtable.obj) : error LNK2005: __encode_pointer already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(tidtable.obj) : error LNK2005: __decode_pointer already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(tolower.obj) : error LNK2005: _tolower already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(invarg.obj) : error LNK2005: __invalid_parameter_noinfo already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(strftime.obj) : error LNK2005: _strftime already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(crt0dat.obj) : error LNK2005: __amsg_exit already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(crt0dat.obj) : error LNK2005: __initterm_e already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(crt0dat.obj) : error LNK2005: __exit already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(crt0dat.obj) : error LNK2005: __cexit already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(mlock.obj) : error LNK2005: __unlock already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(mlock.obj) : error LNK2005: __lock already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(winxfltr.obj) : error LNK2005: __XcptFilter already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(atox.obj) : error LNK2005: _atoi already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(crt0init.obj) : error LNK2005: __xi_a already defined in MSVCRT.lib(cinitexe.obj)
LIBCMT.lib(crt0init.obj) : error LNK2005: __xi_z already defined in MSVCRT.lib(cinitexe.obj)
LIBCMT.lib(crt0init.obj) : error LNK2005: __xc_a already defined in MSVCRT.lib(cinitexe.obj)
LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in MSVCRT.lib(cinitexe.obj)
LIBCMT.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@YAXXZ) already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(getenv.obj) : error LNK2005: _getenv already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(dosmap.obj) : error LNK2005: __errno already defined in MSVCRT.lib(MSVCR90.dll)
LIBCMT.lib(errmode.obj) : error LNK2005: ___set_app_type already defined in MSVCRT.lib(MSVCR90.dll)
MSVCRT.lib(MSVCR90.dll) : error LNK2005: __strnicmp already defined in LIBCMT.lib(strnicmp.obj)
LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
Seems i have some missconfigured librarys. Can i simply use the libs compiled with normal Nel build? Or do i have to switch to dynamic linked? Or just some parameter changes in the project settings?
Thanx in advance,
aquiles
#4 Updated by kaetemi over 6 years ago
Yes, you seem to be mixing static/dynamic runtimes. Make sure you're compiling with the same stl runtime version for all libs and modules.
#5 Updated by kaetemi over 6 years ago
- File tile_edit_qt_4.5.7z added
Updated version with cleaned up filenames and compiling under Qt 4.5
#6 Updated by sfb about 6 years ago
- Status changed from New to Closed
- Assignee set to sfb
- Target version set to Version 0.7.0
Just an FYI that this tool is largely untested and does have a few issues with resolving tile bank paths. As these issues are discovered please open new issues for them. This builds and generates automatically via CMake for integrated building.
#7 Updated by kervala about 6 years ago
- % Done changed from 0 to 100
#8 Updated by kervala almost 5 years ago
- Project changed from NeL to Ryzom
- Category deleted (
Tools) - Target version deleted (
Version 0.7.0)
#9 Updated by kervala almost 5 years ago
- Category set to Tools: General
- Target version set to Version 0.7.0