From cde1a42750cf821901288bd2af55e2abbecb5546 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sun, 25 Nov 2012 05:22:40 +0100 Subject: [PATCH] MODIFIED: #1471 Merged mainline default to this branch. --- .hgignore | 1 + code/CMakeLists.txt | 27 +- code/CMakeModules/FindMercurial.cmake | 26 +- code/CMakeModules/FindSquish.cmake | 7 +- code/CMakeModules/GetRevision.cmake | 31 +- code/CMakeModules/PCHSupport.cmake | 35 +- code/CMakeModules/nel.cmake | 536 +- code/config.h.cmake | 17 +- code/nel/CMakeLists.txt | 6 +- code/nel/include/nel/3d/driver.h | 5 + code/nel/include/nel/3d/driver_user.h | 1 + code/nel/include/nel/3d/u_driver.h | 5 + code/nel/include/nel/gui/interface_anim.h | 4 +- code/nel/include/nel/gui/view_text_id.h | 4 - code/nel/include/nel/misc/bitmap.h | 6 +- code/nel/include/nel/misc/eval_num_expr.h | 2 +- code/nel/include/nel/misc/time_nl.h | 17 +- code/nel/include/nel/net/message_recorder.h | 2 +- .../{src => include/nel}/pacs/build_indoor.h | 0 code/nel/{src => include/nel}/pacs/chain.h | 0 .../{src => include/nel}/pacs/chain_quad.h | 0 .../nel}/pacs/collision_callback.h | 0 .../nel}/pacs/collision_desc.h | 0 .../nel}/pacs/collision_mesh_build.h | 0 .../{src => include/nel}/pacs/collision_ot.h | 0 .../nel}/pacs/collision_surface_temp.h | 0 .../{src => include/nel}/pacs/edge_collide.h | 0 .../nel/{src => include/nel}/pacs/edge_quad.h | 0 .../{src => include/nel}/pacs/exterior_mesh.h | 0 .../nel/{src => include/nel}/pacs/face_grid.h | 0 .../nel}/pacs/global_retriever.h | 0 .../nel}/pacs/local_retriever.h | 0 .../nel/{src => include/nel}/pacs/move_cell.h | 0 .../nel}/pacs/move_container.h | 0 .../nel}/pacs/move_container_inline.h | 0 .../{src => include/nel}/pacs/move_element.h | 0 .../nel}/pacs/move_element_inline.h | 0 .../nel}/pacs/move_primitive.h | 0 .../nel}/pacs/primitive_block.h | 0 .../nel}/pacs/primitive_world_image.h | 0 .../nel/{src => include/nel}/pacs/quad_grid.h | 0 .../nel}/pacs/retrievable_surface.h | 0 .../nel}/pacs/retriever_bank.h | 2 +- .../nel}/pacs/retriever_instance.h | 0 .../{src => include/nel}/pacs/surface_quad.h | 0 .../nel/{src => include/nel}/pacs/vector_2s.h | 0 code/nel/samples/3d/cegui/CMakeLists.txt | 6 +- .../samples/3d/cluster_viewer/CMakeLists.txt | 14 +- code/nel/samples/3d/font/CMakeLists.txt | 6 +- code/nel/samples/3d/qtnel/CMakeLists.txt | 2 +- .../samples/3d/shape_viewer/CMakeLists.txt | 2 +- code/nel/samples/georges/CMakeLists.txt | 6 +- code/nel/samples/misc/command/CMakeLists.txt | 2 +- .../samples/misc/configfile/CMakeLists.txt | 6 +- code/nel/samples/misc/debug/CMakeLists.txt | 2 +- code/nel/samples/misc/i18n/CMakeLists.txt | 6 +- code/nel/samples/misc/log/CMakeLists.txt | 2 +- code/nel/samples/misc/strings/CMakeLists.txt | 2 +- .../samples/misc/types_check/CMakeLists.txt | 2 +- code/nel/samples/net/chat/CMakeLists.txt | 6 +- .../net/class_transport/CMakeLists.txt | 6 +- .../samples/net/login_system/CMakeLists.txt | 6 +- code/nel/samples/net/udp/CMakeLists.txt | 8 +- code/nel/samples/pacs/CMakeLists.txt | 8 +- .../sound/sound_sources/CMakeLists.txt | 6 +- .../samples/sound/stream_file/CMakeLists.txt | 2 +- .../sound/stream_ogg_vorbis/CMakeLists.txt | 2 +- code/nel/src/3d/CMakeLists.txt | 2 +- code/nel/src/3d/cloud_scape.cpp | 2 +- code/nel/src/3d/cluster.cpp | 2 +- code/nel/src/3d/driver.cpp | 2 +- .../nel/src/3d/driver/direct3d/CMakeLists.txt | 2 +- .../3d/driver/direct3d/driver_direct3d.cpp | 37 + .../src/3d/driver/direct3d/driver_direct3d.h | 8 + .../direct3d/driver_direct3d_texture.cpp | 35 +- code/nel/src/3d/driver/opengl/CMakeLists.txt | 2 +- .../src/3d/driver/opengl/driver_opengl.cpp | 9 +- code/nel/src/3d/driver/opengl/driver_opengl.h | 3 + .../driver/opengl/driver_opengl_extension.cpp | 26 +- .../driver/opengl/driver_opengl_extension.h | 17 +- .../opengl/driver_opengl_extension_def.h | 14 + .../3d/driver/opengl/driver_opengl_inputs.cpp | 4 +- .../driver/opengl/driver_opengl_material.cpp | 31 +- .../3d/driver/opengl/driver_opengl_states.cpp | 52 +- .../3d/driver/opengl/driver_opengl_states.h | 5 + .../driver/opengl/driver_opengl_texture.cpp | 75 +- .../driver_opengl_vertex_buffer_hard.cpp | 3 +- .../opengl/driver_opengl_vertex_program.cpp | 13 +- .../nel/src/3d/driver/opengl/nel-driverogl.pc | 2 +- .../src/3d/driver/opengl/nel-driverogl.pc.in | 2 +- .../nel/src/3d/driver/opengles/CMakeLists.txt | 2 +- code/nel/src/3d/driver_user.cpp | 9 + code/nel/src/3d/nel-3d.pc | 2 +- code/nel/src/3d/nel-3d.pc.in | 2 +- code/nel/src/3d/tangent_space_build.cpp | 6 +- code/nel/src/3d/zone_manager.cpp | 2 +- code/nel/src/cegui/CMakeLists.txt | 2 +- code/nel/src/georges/CMakeLists.txt | 2 +- code/nel/src/georges/nel-georges.pc.in | 2 +- code/nel/src/georges/type.cpp | 1 - code/nel/src/gui/ctrl_button.cpp | 6 +- code/nel/src/gui/group_html.cpp | 5 +- code/nel/src/gui/group_menu.cpp | 2 +- code/nel/src/gui/interface_expr.cpp | 4 +- code/nel/src/gui/libwww.cpp | 32 + code/nel/src/gui/lua_ihm.cpp | 2 +- code/nel/src/gui/view_bitmap.cpp | 2 - code/nel/src/gui/view_renderer.cpp | 6 +- code/nel/src/ligo/CMakeLists.txt | 2 +- code/nel/src/ligo/nel-ligo.pc.in | 2 +- code/nel/src/logic/CMakeLists.txt | 2 +- code/nel/src/misc/CMakeLists.txt | 2 +- code/nel/src/misc/eval_num_expr.cpp | 2 +- code/nel/src/misc/i18n.cpp | 6 +- code/nel/src/misc/nel-misc.pc | 2 +- code/nel/src/misc/nel-misc.pc.in | 2 +- code/nel/src/misc/p_thread.cpp | 51 +- code/nel/src/misc/sheet_id.cpp | 2 +- code/nel/src/misc/time_nl.cpp | 324 +- code/nel/src/net/CMakeLists.txt | 2 +- code/nel/src/net/message_recorder.cpp | 2 +- code/nel/src/net/nel-net.pc.in | 2 +- code/nel/src/net/varpath.cpp | 6 +- code/nel/src/pacs/CMakeLists.txt | 2 +- code/nel/src/pacs/build_indoor.cpp | 8 +- code/nel/src/pacs/chain.cpp | 2 +- code/nel/src/pacs/chain_quad.cpp | 2 +- code/nel/src/pacs/collision_callback.cpp | 2 +- code/nel/src/pacs/collision_desc.cpp | 2 +- code/nel/src/pacs/collision_ot.cpp | 4 +- code/nel/src/pacs/collision_surface_temp.cpp | 2 +- code/nel/src/pacs/edge_collide.cpp | 2 +- code/nel/src/pacs/edge_quad.cpp | 4 +- code/nel/src/pacs/exterior_mesh.cpp | 6 +- code/nel/src/pacs/global_retriever.cpp | 4 +- code/nel/src/pacs/local_retriever.cpp | 6 +- code/nel/src/pacs/move_cell.cpp | 6 +- code/nel/src/pacs/move_container.cpp | 6 +- code/nel/src/pacs/move_element.cpp | 4 +- code/nel/src/pacs/move_primitive.cpp | 6 +- code/nel/src/pacs/nel-pacs.pc.in | 2 +- code/nel/src/pacs/primitive_block_pacs.cpp | 2 +- code/nel/src/pacs/primitive_world_image.cpp | 6 +- code/nel/src/pacs/retrievable_surface.cpp | 2 +- code/nel/src/pacs/retriever_bank.cpp | 2 +- code/nel/src/pacs/retriever_instance.cpp | 4 +- code/nel/src/pacs/surface_quad.cpp | 2 +- code/nel/src/pacs/vector_2s.cpp | 2 +- code/nel/src/sound/CMakeLists.txt | 3 +- code/nel/src/sound/audio_mixer_user.cpp | 1 - code/nel/src/sound/background_source.cpp | 1 - code/nel/src/sound/driver/CMakeLists.txt | 2 +- .../src/sound/driver/dsound/CMakeLists.txt | 2 +- .../src/sound/driver/dsound/buffer_dsound.h | 2 +- .../src/sound/driver/dsound/listener_dsound.h | 2 +- .../sound/driver/dsound/sound_driver_dsound.h | 2 +- .../src/sound/driver/dsound/source_dsound.cpp | 1 - .../src/sound/driver/dsound/source_dsound.h | 6 +- code/nel/src/sound/driver/fmod/CMakeLists.txt | 2 +- code/nel/src/sound/driver/fmod/buffer_fmod.h | 2 +- .../sound/driver/fmod/music_channel_fmod.h | 2 +- .../src/sound/driver/fmod/sound_driver_fmod.h | 2 +- code/nel/src/sound/driver/fmod/source_fmod.h | 6 +- code/nel/src/sound/driver/fmod/stdfmod.h | 32 +- .../src/sound/driver/openal/CMakeLists.txt | 2 +- .../nel/src/sound/driver/openal/buffer_al.cpp | 4 +- code/nel/src/sound/driver/openal/buffer_al.h | 2 +- .../sound/driver/openal/sound_driver_al.cpp | 2 +- .../src/sound/driver/openal/sound_driver_al.h | 6 +- .../nel/src/sound/driver/openal/source_al.cpp | 2 +- code/nel/src/sound/driver/openal/source_al.h | 2 +- .../src/sound/driver/xaudio2/CMakeLists.txt | 2 +- .../src/sound/driver/xaudio2/adpcm_xaudio2.h | 2 +- .../src/sound/driver/xaudio2/buffer_xaudio2.h | 2 +- .../sound/driver/xaudio2/listener_xaudio2.h | 4 +- .../src/sound/driver/xaudio2/source_xaudio2.h | 6 +- code/nel/src/sound/nel-sound.pc.in | 2 +- code/nel/tools/3d/CMakeLists.txt | 1 + code/nel/tools/3d/anim_builder/CMakeLists.txt | 2 +- .../3d/animation_set_builder/CMakeLists.txt | 2 +- .../tools/3d/build_clod_bank/CMakeLists.txt | 2 +- .../nel/tools/3d/build_clodtex/CMakeLists.txt | 2 +- .../tools/3d/build_coarse_mesh/CMakeLists.txt | 2 +- .../tools/3d/build_far_bank/CMakeLists.txt | 2 +- .../tools/3d/build_interface/CMakeLists.txt | 2 +- .../tools/3d/build_shadow_skin/CMakeLists.txt | 2 +- .../tools/3d/build_smallbank/CMakeLists.txt | 2 +- .../tools/3d/cluster_viewer/CMakeLists.txt | 2 +- code/nel/tools/3d/file_info/CMakeLists.txt | 2 +- .../nel/tools/3d/get_neighbors/CMakeLists.txt | 2 +- .../tools/3d/hls_bank_maker/CMakeLists.txt | 8 +- code/nel/tools/3d/ig_add/CMakeLists.txt | 2 +- code/nel/tools/3d/ig_elevation/CMakeLists.txt | 2 +- code/nel/tools/3d/ig_info/CMakeLists.txt | 2 +- code/nel/tools/3d/ig_lighter/CMakeLists.txt | 2 +- code/nel/tools/3d/ig_lighter/ig_lighter.cpp | 6 +- .../3d/ig_lighter_lib/ig_lighter_lib.cpp | 4 +- .../3d/lightmap_optimizer/CMakeLists.txt | 2 +- .../tools/3d/ligo/plugin_max/CMakeLists.txt | 2 +- .../3d/ligo/plugin_max/ligoscape_utility.def | 2 +- code/nel/tools/3d/ligo/plugin_max/script.cpp | 8 + .../nel/tools/3d/object_viewer/CMakeLists.txt | 4 +- .../tools/3d/object_viewer/edit_ps_sound.cpp | 10 +- .../tools/3d/object_viewer/object_viewer.cpp | 2 +- .../nel/tools/3d/object_viewer/pick_sound.cpp | 4 +- code/nel/tools/3d/object_viewer/pick_sound.h | 8 +- .../tools/3d/object_viewer/sound_anim_dlg.cpp | 10 +- .../tools/3d/object_viewer/sound_system.cpp | 4 +- .../tools/3d/object_viewer_exe/CMakeLists.txt | 2 +- .../tools/3d/object_viewer_qt/CMakeLists.txt | 24 +- .../3d/object_viewer_qt/ovqt_config.h.cmake | 7 + .../3d/object_viewer_qt/src/CMakeLists.txt | 10 +- .../src/extension_system/plugin_manager.cpp | 6 +- .../src/extension_system/plugin_spec.cpp | 54 +- .../src/extension_system/plugin_spec.h | 1 + .../tools/3d/object_viewer_qt/src/main.cpp | 14 +- .../src/plugins/bnp_manager/CMakeLists.txt | 4 +- .../bnp_manager/bnp_filelist_dialog.cpp | 4 +- .../bnp_manager/bnp_manager_window.cpp | 20 +- .../src/plugins/core/CMakeLists.txt | 17 +- .../src/plugins/core/context_manager.cpp | 18 +- .../plugins/core/general_settings_page.cpp | 23 +- .../src/plugins/core/menu_manager.cpp | 4 +- .../core/search_paths_settings_page.cpp | 4 +- .../src/plugins/disp_sheet_id/CMakeLists.txt | 4 +- .../src/plugins/example/CMakeLists.txt | 4 +- .../src/plugins/example/qnel_widget.cpp | 2 +- .../src/plugins/georges_editor/CMakeLists.txt | 4 +- .../plugins/georges_editor/formdelegate.cpp | 12 +- .../src/plugins/georges_editor/formitem.cpp | 12 +- .../georges_editor/georges_editor_form.cpp | 2 +- .../georges_treeview_dialog.cpp | 46 +- .../georges_editor/georgesform_model.cpp | 16 +- .../plugins/landscape_editor/CMakeLists.txt | 4 +- .../src/plugins/log/CMakeLists.txt | 4 +- .../plugins/mission_compiler/CMakeLists.txt | 4 +- .../mission_compiler_main_window.cpp | 8 +- .../src/plugins/object_viewer/CMakeLists.txt | 330 +- .../object_viewer/animation_dialog.cpp | 2 +- .../object_viewer/animation_set_dialog.cpp | 8 +- .../src/plugins/object_viewer/main_window.cpp | 4 +- .../src/plugins/object_viewer/mesh_widget.cpp | 4 +- .../object_viewer/morph_mesh_dialog.cpp | 6 +- .../plugins/object_viewer/object_viewer.cpp | 2 +- .../object_viewer/particle_force_page.cpp | 4 +- .../object_viewer/particle_sound_page.cpp | 4 +- .../object_viewer/particle_system_page.cpp | 2 +- .../object_viewer/particle_texture_widget.cpp | 4 +- .../object_viewer/particle_tree_model.cpp | 2 +- .../particle_workspace_dialog.cpp | 6 +- .../object_viewer/particle_workspace_page.cpp | 12 +- .../object_viewer/scheme_bank_dialog.cpp | 8 +- .../object_viewer/skeleton_scale_dialog.cpp | 12 +- .../object_viewer/slot_manager_dialog.cpp | 6 +- .../plugins/object_viewer/sound_system.cpp | 8 +- .../object_viewer/vegetable_density_page.cpp | 6 +- .../object_viewer/vegetable_dialog.cpp | 10 +- .../object_viewer/vegetable_editor.cpp | 10 +- .../plugins/ovqt_sheet_builder/CMakeLists.txt | 4 +- .../ovqt_sheet_builder/sheetbuilderdialog.cpp | 6 +- .../translation_manager/CMakeLists.txt | 4 +- .../translation_manager/editor_phrase.cpp | 2 +- .../translation_manager/editor_worksheet.cpp | 29 +- .../translation_manager_main_window.cpp | 22 +- .../src/plugins/zone_painter/CMakeLists.txt | 4 +- .../src/translations/object_viewer_qt_fr.ts | 116 +- .../3d/object_viewer_widget/CMakeLists.txt | 2 +- .../object_viewer_widget/src/CMakeLists.txt | 2 +- .../nel/tools/3d/panoply_maker/CMakeLists.txt | 8 +- .../nel_3dsmax_shared/CMakeLists.txt | 2 +- .../3d/plugin_max/nel_export/CMakeLists.txt | 2 +- .../nel_export/nel_export_collision.cpp | 4 +- .../plugin_max/nel_export/nel_export_view.cpp | 4 +- .../tools/3d/plugin_max/nel_export/std_afx.h | 17 +- .../3d/plugin_max/nel_mesh_lib/CMakeLists.txt | 2 +- .../tools/3d/plugin_max/nel_mesh_lib/StdAfx.h | 1 + .../nel_mesh_lib/export_collision.cpp | 13 +- .../plugin_max/nel_mesh_lib/export_misc.cpp | 8 + .../3d/plugin_max/nel_mesh_lib/export_nel.h | 2 +- .../nel_patch_converter/CMakeLists.txt | 2 +- .../nel_patch_converter.def | 2 +- .../plugin_max/nel_patch_converter/script.cpp | 12 + .../plugin_max/nel_patch_edit/CMakeLists.txt | 2 +- .../nel_patch_edit/nel_patch_edit.def | 2 +- .../tools/3d/plugin_max/nel_patch_edit/np.cpp | 12 +- .../nel_patch_edit_adv/CMakeLists.txt | 2 +- .../3d/plugin_max/nel_patch_edit_adv/NP.cpp | 12 +- .../nel_patch_edit_adv/NP_EPM_Selection.cpp | 6 +- .../nel_patch_edit_adv/NP_EPM_Surface.cpp | 22 +- .../nel_patch_edit_adv/NP_EPM_Tess.cpp | 10 +- .../nel_patch_edit_adv/NP_EditPatchMod.cpp | 4 +- .../plugin_max/nel_patch_edit_adv/NP_Main.cpp | 12 +- .../nel_patch_edit_adv/NP_Rollup.cpp | 12 +- .../nel_patch_edit_adv/NP_editpops.cpp | 2 +- .../plugin_max/nel_patch_edit_adv/NP_mods.cpp | 4 +- .../3d/plugin_max/nel_patch_edit_adv/mods.def | 2 +- .../3d/plugin_max/nel_patch_edit_adv/stdafx.h | 2 + .../plugin_max/nel_patch_lib/CMakeLists.txt | 2 +- .../3d/plugin_max/nel_patch_lib/stdafx.h | 2 + .../plugin_max/nel_patch_paint/CMakeLists.txt | 2 +- .../nel_patch_paint/nel_patch_paint.def | 2 +- .../nel_vertex_tree_paint/CMakeLists.txt | 2 +- .../vertex_tree_paint.def | 2 +- .../3d/plugin_max/tile_utility/CMakeLists.txt | 2 +- .../plugin_max/tile_utility/tile_utility.def | 2 +- .../3d/plugin_max/tile_utility/tile_utility.h | 2 + .../3d/s3tc_compressor_lib/CMakeLists.txt | 16 + .../s3tc_compressor_lib/s3tc_compressor.cpp | 4 + code/nel/tools/3d/shape2obj/main.cpp | 668 ++ .../tools/3d/shapes_exporter/CMakeLists.txt | 2 +- code/nel/tools/3d/tga_2_dds/CMakeLists.txt | 8 +- code/nel/tools/3d/tga_cut/CMakeLists.txt | 2 +- code/nel/tools/3d/tga_resize/CMakeLists.txt | 2 +- code/nel/tools/3d/tile_edit/CMakeLists.txt | 2 +- code/nel/tools/3d/tile_edit_qt/CMakeLists.txt | 2 +- .../tools/3d/tile_edit_qt/browser_model.cpp | 17 +- .../tools/3d/tile_edit_qt/pic/PIC_System.c | 16 +- code/nel/tools/3d/tile_edit_qt/pic/Pic_BMP.c | 4 +- code/nel/tools/3d/tile_edit_qt/pic/Pic_JPG.c | 4 +- .../tools/3d/tile_edit_qt/pic/Pic_Manage.c | 2 +- code/nel/tools/3d/tile_edit_qt/pic/Pic_TGA.c | 4 +- code/nel/tools/3d/tile_edit_qt/pic/pic.h | 2 +- .../tools/3d/tile_edit_qt/pic/pic_private.h | 140 +- .../3d/tile_edit_qt/tile_browser_dlg.cpp | 22 +- .../tools/3d/tile_edit_qt/tile_edit_dlg.cpp | 26 +- .../tools/3d/zone_check_bind/CMakeLists.txt | 2 +- .../tools/3d/zone_dependencies/CMakeLists.txt | 2 +- code/nel/tools/3d/zone_dump/CMakeLists.txt | 2 +- .../tools/3d/zone_ig_lighter/CMakeLists.txt | 2 +- code/nel/tools/3d/zone_lighter/CMakeLists.txt | 2 +- code/nel/tools/3d/zone_welder/CMakeLists.txt | 2 +- code/nel/tools/3d/zviewer/CMakeLists.txt | 6 +- .../tools/georges/georges2csv/CMakeLists.txt | 2 +- .../logic/logic_editor_dll/CMakeLists.txt | 2 +- .../logic/logic_editor_exe/CMakeLists.txt | 2 +- code/nel/tools/memory/memlog/CMakeLists.txt | 2 +- code/nel/tools/misc/CMakeLists.txt | 2 + code/nel/tools/misc/bnp_make/CMakeLists.txt | 2 +- .../tools/misc/branch_patcher/CMakeLists.txt | 2 +- .../nel/tools/misc/data_mirror/CMakeLists.txt | 2 +- code/nel/tools/misc/data_mirror/StdAfx.h | 3 + .../tools/misc/disp_sheet_id/CMakeLists.txt | 2 +- .../tools/misc/exec_timeout/CMakeLists.txt | 2 +- .../misc/extract_filename/CMakeLists.txt | 2 +- code/nel/tools/misc/lock/CMakeLists.txt | 2 +- .../tools/misc/log_analyser/CMakeLists.txt | 2 +- .../extract_warnings/CMakeLists.txt | 2 +- .../tools/misc/make_sheet_id/CMakeLists.txt | 4 +- .../nel/tools/misc/message_box/CMakeLists.txt | 2 +- .../tools/misc/message_box_qt/CMakeLists.txt | 2 +- .../misc/multi_cd_setup_fix/CMakeLists.txt | 2 +- .../tools/misc/probe_timers/CMakeLists.txt | 9 + code/nel/tools/misc/probe_timers/main.cpp | 38 + code/nel/tools/misc/words_dic/CMakeLists.txt | 2 +- .../tools/misc/words_dic_qt/CMakeLists.txt | 4 +- .../tools/misc/words_dic_qt/words_dicDlg.cpp | 4 +- code/nel/tools/misc/xml_packer/CMakeLists.txt | 2 +- code/nel/tools/nel_unit_test/CMakeLists.txt | 2 +- .../tools/pacs/build_ig_boxes/CMakeLists.txt | 4 +- .../pacs/build_indoor_rbank/CMakeLists.txt | 4 +- .../build_indoor_rbank/build_surfaces.cpp | 10 +- .../pacs/build_indoor_rbank/build_surfaces.h | 2 +- .../tools/pacs/build_indoor_rbank/main.cpp | 10 +- .../tools/pacs/build_indoor_rbank/mouline.cpp | 6 +- .../nel/tools/pacs/build_rbank/CMakeLists.txt | 4 +- .../tools/pacs/build_rbank/build_rbank.cpp | 14 +- .../nel/tools/pacs/build_rbank/build_surf.cpp | 2 +- code/nel/tools/pacs/build_rbank/build_surf.h | 4 +- code/nel/tools/pacs/build_rbank/main.cpp | 10 +- .../tools/pacs/build_rbank/surface_splitter.h | 4 +- .../sound/build_samplebank/CMakeLists.txt | 2 +- .../tools/sound/build_sound/CMakeLists.txt | 2 +- .../sound/build_soundbank/CMakeLists.txt | 2 +- .../sound/source_sounds_builder/SoundPage.cpp | 2 +- .../source_sounds_builderDlg.cpp | 8 +- .../admin_executor_service/CMakeLists.txt | 2 +- code/nelns/admin_service/CMakeLists.txt | 2 +- code/nelns/admin_service/admin_service.cpp | 7 +- code/nelns/login_service/CMakeLists.txt | 2 +- .../nelns/login_service/connection_client.cpp | 2 +- code/nelns/login_service/login_service.h | 2 + code/nelns/login_service/mysql_helper.h | 2 + .../nel_launcher_qt/CMakeLists.txt | 2 +- .../nel_launcher_qt/nel_launcher_dlg.cpp | 4 +- .../nel_launcher_windows_ext2/CMakeLists.txt | 2 +- code/nelns/naming_service/CMakeLists.txt | 2 +- code/nelns/welcome_service/CMakeLists.txt | 2 +- code/ryzom/client/client_default.cfg | 8 +- .../data/gamedev/interfaces_v3/actions.xml | 3 +- .../data/gamedev/interfaces_v3/commands.xml | 8 + .../data/gamedev/interfaces_v3/config.xml | 10 + .../gamedev/interfaces_v3/game_config.xml | 32 +- .../data/gamedev/interfaces_v3/guild.xml | 4 +- .../data/gamedev/interfaces_v3/help.xml | 2 +- .../gamedev/interfaces_v3/info_player.xml | 12 +- .../data/gamedev/interfaces_v3/inventory.xml | 61 +- .../data/gamedev/interfaces_v3/login_main.xml | 22 +- .../gamedev/interfaces_v3/out_v2_select.xml | 10 +- .../data/gamedev/interfaces_v3/reset.xml | 2 + .../data/gamedev/interfaces_v3/taskbar.xml | 49 +- .../data/gamedev/interfaces_v3/widgets.xml | 256 +- .../client/src/animated_scene_object.cpp | 6 +- code/ryzom/client/src/app_bundle_utils.cpp | 2 +- code/ryzom/client/src/character_cl.cpp | 5 +- code/ryzom/client/src/client.cpp | 5 +- code/ryzom/client/src/client_cfg.cpp | 5 +- code/ryzom/client/src/client_cfg.h | 2 + code/ryzom/client/src/client_chat_manager.cpp | 20 + .../client/src/client_sheets/CMakeLists.txt | 2 +- code/ryzom/client/src/commands.cpp | 2 +- code/ryzom/client/src/connection.cpp | 37 +- code/ryzom/client/src/entity_cl.cpp | 35 +- code/ryzom/client/src/entity_cl.h | 4 +- code/ryzom/client/src/far_tp.cpp | 1 - code/ryzom/client/src/http_client_curl.cpp | 2 +- code/ryzom/client/src/init.cpp | 15 +- .../src/interface_v3/action_handler_game.cpp | 39 +- .../src/interface_v3/action_handler_help.cpp | 6 +- .../src/interface_v3/action_handler_misc.cpp | 14 +- .../interface_v3/action_handler_phrase.cpp | 29 +- .../src/interface_v3/action_handler_ui.cpp | 2 +- .../interface_v3/bot_chat_page_mission.cpp | 4 +- .../src/interface_v3/brick_learned_callback.h | 1 + .../client/src/interface_v3/chat_displayer.h | 6 + .../src/interface_v3/chat_text_manager.cpp | 25 +- .../src/interface_v3/chat_text_manager.h | 3 + .../client/src/interface_v3/chat_window.h | 2 +- .../client/src/interface_v3/dbctrl_sheet.cpp | 6 +- .../src/interface_v3/group_html_webig.cpp | 2 +- .../interface_v3/group_in_scene_bubble.cpp | 4 +- .../interface_v3/group_in_scene_user_info.cpp | 126 +- .../client/src/interface_v3/guild_manager.cpp | 52 +- .../src/interface_v3/interface_manager.cpp | 11 +- .../src/interface_v3/interface_manager.h | 3 + .../interface_v3/item_consumable_effect.cpp | 2 +- .../src/interface_v3/sphrase_manager.cpp | 40 +- .../client/src/interface_v3/sphrase_manager.h | 4 +- .../client/src/interface_v3/view_radar.cpp | 39 +- .../client/src/interface_v3/view_radar.h | 24 +- code/ryzom/client/src/login.cpp | 15 +- code/ryzom/client/src/login.h | 17 + code/ryzom/client/src/login_patch.cpp | 2 +- .../client/src/login_progress_post_thread.h | 2 +- code/ryzom/client/src/net_manager.cpp | 3 +- code/ryzom/client/src/pacs_client.cpp | 2 +- code/ryzom/client/src/r2/dmc/dmc.h | 2 +- code/ryzom/client/src/r2/editor.cpp | 2 +- code/ryzom/client/src/release.cpp | 2 +- code/ryzom/client/src/session_browser.cpp | 2 +- .../ryzom/client/src/seven_zip/CMakeLists.txt | 22 +- .../client/src/string_manager_client.cpp | 22 +- code/ryzom/client/src/string_manager_client.h | 4 +- code/ryzom/client/src/time_client.h | 19 +- code/ryzom/client/src/user_entity.cpp | 4 +- code/ryzom/client/unix/CMakeLists.txt | 20 +- code/ryzom/client/unix/ryzom.desktop.in | 13 - code/ryzom/client/unix/ryzom.xpm | 1313 --- .../ryzom/client/unix/ryzom_client.desktop.in | 16 + .../unix/{ryzom.png => ryzom_client.png} | Bin code/ryzom/client/unix/ryzom_client.xpm | 696 ++ code/ryzom/common/CMakeLists.txt | 4 + .../common/src/game_share/CMakeLists.txt | 2 +- code/ryzom/common/src/game_share/ai_wrapper.h | 4 + code/ryzom/common/src/game_share/dms.h | 2 +- .../src/game_share/generic_xml_msg_mngr.h | 2 +- .../src/game_share}/http_client.cpp | 32 +- .../src/game_share}/http_client.h | 23 +- code/ryzom/common/src/game_share/object.cpp | 10 +- .../src/game_share/scenario_entry_points.cpp | 2 +- .../time_weather_season/time_and_season.h | 2 +- code/ryzom/server/backup_service.cfg | 4 +- code/ryzom/server/backup_service_default.cfg | 25 +- code/ryzom/server/common.cfg | 5 +- .../data_shard/client_commands_privileges.txt | 312 +- code/ryzom/server/data_shard/game_event.txt | 2 +- .../server/entities_game_service_default.cfg | 14 +- code/ryzom/server/gpm_service_default.cfg | 2 +- .../server/input_output_service_default.cfg | 43 +- .../server/mail_forum_service_default.cfg | 19 +- code/ryzom/server/mirror_service_default.cfg | 4 +- code/ryzom/server/session_browser_server.cfg | 3 +- .../server/shard_unifier_service_default.cfg | 2 +- .../sheet_pack_cfg/input_output_service.cfg | 2 +- .../server/src/admin_modules/CMakeLists.txt | 2 +- .../server/src/ai_data_service/pacs_scan.cpp | 2 +- code/ryzom/server/src/ai_service/ai_bot.cpp | 19 + code/ryzom/server/src/ai_service/ai_bot.h | 6 +- .../server/src/ai_service/ai_bot_npc.cpp | 2 + .../server/src/ai_service/ai_grp_npc.cpp | 23 + code/ryzom/server/src/ai_service/ai_grp_npc.h | 1 + .../server/src/ai_service/ai_outpost.cpp | 21 +- code/ryzom/server/src/ai_service/nf_grp.cpp | 13 +- .../server/src/ai_service/nf_grp_npc.cpp | 46 + .../src/ai_service/npc_description_msg.cpp | 9 +- code/ryzom/server/src/ai_share/CMakeLists.txt | 2 +- .../src/backup_service/backup_file_access.cpp | 9 + .../src/backup_service/backup_service.cpp | 5 +- .../src/entities_game_service/admin.cpp | 397 +- .../server/src/entities_game_service/admin.h | 1 + .../building_manager/building_physical.cpp | 15 + .../building_manager/destination.cpp | 7 + .../entities_game_service/client_messages.cpp | 23 +- .../creature_manager/creature.cpp | 6 +- .../creature_manager/creature_manager.cpp | 4 +- .../entities_game_service.cpp | 36 +- .../entity_manager/entity_callbacks.cpp | 23 +- .../game_item_manager/player_inv_xchg.cpp | 7 + .../guild_manager/guild.cpp | 40 +- .../guild_manager/guild.h | 2 + .../mission_manager/mission_step_kill.cpp | 2 - .../mission_manager/mission_step_talk.cpp | 21 +- .../outpost_manager/outpost_commands.cpp | 6 +- .../phrase_manager/aura_effect.cpp | 11 + .../phrase_manager/bounce_effect.cpp | 22 +- .../phrase_manager/bounce_effect.h | 4 +- .../phrase_manager/combat_phrase.cpp | 2 +- .../phrase_manager/damage_aura_effect.cpp | 18 +- .../phrase_manager/damage_aura_effect.h | 2 +- .../phrase_manager/faber_action.cpp | 2 +- .../phrase_manager/faber_phrase.cpp | 68 +- .../phrase_manager/fg_extraction_phrase.cpp | 39 +- .../phrase_manager/magic_action_attack.cpp | 2 +- .../phrase_utilities_functions.cpp | 23 +- .../phrase_manager/special_power_taunt.cpp | 13 +- .../player_manager/character.cpp | 471 +- .../player_manager/character.h | 80 +- .../player_manager/character_inlines.h | 67 + .../character_inventory_manipulation.cpp | 23 +- .../player_manager/persistent_player_data.cpp | 11 +- .../player_manager/player_manager.cpp | 1 + .../progression/progression_pvp.cpp | 2 +- .../entities_game_service/pvp_manager/pvp.cpp | 2 +- .../pvp_manager/pvp_manager_2.cpp | 53 +- .../shop_type/shop_type_manager.cpp | 4 +- .../entities_game_service/zone_manager.cpp | 2 +- .../src/gameplay_module_lib/CMakeLists.txt | 2 +- .../rs_remote_saves.h | 2 +- .../src/input_output_service/chat_manager.cpp | 2 +- .../server/src/monitor_service/mirrors.h | 2 +- .../src/patchman_service/patchman_tester.h | 2 +- code/ryzom/server/src/pd_lib/CMakeLists.txt | 2 +- .../server/src/server_share/CMakeLists.txt | 2 +- .../src/server_share/char_name_mapper_itf.h | 4 +- .../src/server_share/chat_unifier_itf.h | 4 +- .../src/server_share/command_executor_itf.h | 4 +- .../src/server_share/entity_locator_itf.h | 4 +- .../src/server_share/logger_service_itf.h | 4 +- .../server/src/server_share/mysql_wrapper.cpp | 7 +- code/ryzom/tools/assoc_mem/CMakeLists.txt | 2 +- code/ryzom/tools/assoc_mem/field.h | 2 +- code/ryzom/tools/assoc_mem/node.h | 2 +- code/ryzom/tools/assoc_mem/record.h | 2 +- code/ryzom/tools/assoc_mem/value.h | 2 + .../client/client_patcher/CMakeLists.txt | 2 +- code/ryzom/tools/leveldesign/CMakeLists.txt | 3 + .../alias_synchronizer/CMakeLists.txt | 4 +- .../leveldesign/csv_transform/CMakeLists.txt | 2 +- .../tools/leveldesign/export/CMakeLists.txt | 5 +- .../ryzom/tools/leveldesign/export/export.cpp | 1 - .../leveldesign/georges_dll/CMakeLists.txt | 19 + .../leveldesign/georges_dll/header_dialog.cpp | 2 +- .../leveldesign/georges_dll/imagelist_ex.cpp | 4 +- .../georges_dll/output_console_dlg.h | 2 +- .../georges_editor_qt/CMakeLists.txt | 4 +- .../georges_editor_qt/src/CMakeLists.txt | 2 +- .../georges_editor_qt/src/configuration.cpp | 2 +- .../georges_editor_qt/src/formdelegate.cpp | 10 +- .../georges_editor_qt/src/formitem.cpp | 18 +- .../src/georges_treeview_dialog.cpp | 24 +- .../src/georgesform_model.cpp | 18 +- .../src/georgesform_proxy_model.cpp | 4 +- .../georges_editor_qt/src/main.cpp | 2 +- .../georges_editor_qt/src/main_window.cpp | 18 +- .../georges_editor_qt/src/modules.cpp | 12 +- .../georges_editor_qt/src/new_dialog.cpp | 10 +- .../georges_editor_qt/src/settings_dialog.cpp | 6 +- .../leveldesign/georges_exe/CMakeLists.txt | 12 + .../georges_plugin_sound/CMakeLists.txt | 26 + .../georges_plugin_sound/sound_dialog.cpp | 2 +- .../georges_plugin_sound/sound_dialog.h | 2 +- .../georges_plugin_sound/sound_plugin.cpp | 7 +- .../georges_plugin_sound/sound_plugin.h | 4 +- .../leveldesign/icon_search/CMakeLists.txt | 2 +- .../mission_compiler_fe/CMakeLists.txt | 2 +- .../mission_compiler_lib/CMakeLists.txt | 6 +- .../mission_compiler_lib/step_content.cpp | 2 +- .../leveldesign/mp_generator/CMakeLists.txt | 2 +- .../tools/leveldesign/mp_generator/main.cpp | 56 +- .../tools/leveldesign/mp_generator/utils.h | 6 +- .../named_items_2_csv/CMakeLists.txt | 2 +- .../named_items_2_csv/named_items_2_csv.cpp | 12 +- .../leveldesign/prim_export/CMakeLists.txt | 4 +- .../tools/leveldesign/uni_conv/CMakeLists.txt | 6 +- .../leveldesign/world_editor/CMakeLists.txt | 4 + .../world_editor/land_export/CMakeLists.txt | 4 +- .../land_export_lib/CMakeLists.txt | 5 +- .../world_editor/land_export_lib/export.cpp | 2 +- .../world_editor/world_editor/CMakeLists.txt | 4 +- .../world_editor/dialog_properties.cpp | 2 +- .../world_editor/file_dialog_ex.cpp | 2 +- .../world_editor/file_dialog_ex.h | 2 +- .../world_editor/imagelist_ex.cpp | 4 +- .../world_editor/world_editor/main_frm.cpp | 2 +- .../world_editor/world_editor/main_frm.h | 2 +- .../CMakeLists.txt | 21 + .../world_editor_graph_plugin/CMakeLists.txt | 22 + .../world_editor_plugin/CMakeLists.txt | 4 +- .../CMakeLists.txt | 2 +- .../primitive_plugin.h | 2 +- .../CMakeLists.txt | 22 + .../world_editor_sound_plugin/CMakeLists.txt | 21 + .../tools/make_alias_file/CMakeLists.txt | 4 +- .../tools/make_anim_by_race/CMakeLists.txt | 4 +- .../make_anim_melee_impact/CMakeLists.txt | 4 +- code/ryzom/tools/occ2huff/CMakeLists.txt | 2 +- code/ryzom/tools/patch_gen/CMakeLists.txt | 8 +- code/ryzom/tools/pd_parser/CMakeLists.txt | 4 +- code/ryzom/tools/pdr_util/CMakeLists.txt | 4 +- .../tools/phrase_generator/CMakeLists.txt | 2 +- .../tools/server/ai_build_wmap/CMakeLists.txt | 2 +- .../build_world_packed_col/CMakeLists.txt | 2 +- .../tools/server/www/webig/app_hello.php | 29 - code/ryzom/tools/server/www/webig/index.php | 133 - .../tools/server/www/webig/lib/config.php | 23 - .../tools/server/www/webig/lib/functions.php | 394 - .../tools/server/www/webig/lib/pdr_util.php | 124 - .../www/webig/lib/pdr_util_character.php | 46 - .../server/www/webig/lib/pdr_util_guild.php | 47 - .../sheet_random_generator/CMakeLists.txt | 2 +- code/ryzom/tools/sheets_packer/CMakeLists.txt | 2 +- .../tools/skill_extractor/CMakeLists.txt | 4 +- code/ryzom/tools/stats_scan/CMakeLists.txt | 4 +- .../tools/translation_tools/CMakeLists.txt | 4 +- .../translation_tools/extract_bot_names.cpp | 4 +- code/snowballs2/client/src/CMakeLists.txt | 2 +- code/web/api/client/config.php.default | 2 +- code/web/api/client/time.php | 46 + code/web/api/common/actionPage.php | 161 + code/web/api/common/auth.php | 125 +- code/web/api/common/bbCode.php | 988 ++ code/web/api/common/config.php.default | 5 +- code/web/api/common/db_defs.php | 24 + code/web/api/common/db_lib.php | 266 +- code/web/api/common/dfm.php | 151 + code/web/api/common/logger.php | 29 +- code/web/api/common/render.php | 215 +- code/web/api/common/ryform.php | 678 ++ code/web/api/common/ryformBases.php | 177 + code/web/api/common/time.php | 130 + code/web/api/common/user.php | 58 + code/web/api/common/utils.php | 317 +- code/web/api/common/xml_utils.php | 23 + code/web/api/data/css/ryzom_ui.css | 60 +- code/web/api/data/icons/add_app.png | Bin 0 -> 2532 bytes code/web/api/data/icons/edit.png | Bin 0 -> 1203 bytes code/web/api/data/icons/edit_16.png | Bin 0 -> 732 bytes code/web/api/data/icons/no_action.png | Bin 0 -> 566 bytes code/web/api/data/icons/spe_com.png | Bin 0 -> 1840 bytes code/web/api/data/img/bordure.png | Bin 0 -> 3920 bytes code/web/api/data/img/lang/de.png | Bin 229 -> 736 bytes code/web/api/data/img/lang/en.png | Bin 396 -> 725 bytes code/web/api/data/img/lang/es.png | Bin 0 -> 649 bytes code/web/api/data/img/lang/fr.png | Bin 2889 -> 675 bytes code/web/api/data/img/lang/ru.png | Bin 2886 -> 646 bytes code/web/api/data/js/combobox.js | 17 + code/web/api/data/js/jquery-1.7.1.js | 9266 +++++++++++++++++ code/web/api/data/ryzom/guild_png/.htaccess | 1 + .../ryzom/guild_png/guild_back_b_00_1.png | Bin 0 -> 3427 bytes .../ryzom/guild_png/guild_back_b_00_2.png | Bin 0 -> 3354 bytes .../ryzom/guild_png/guild_back_b_01_1.png | Bin 0 -> 3432 bytes .../ryzom/guild_png/guild_back_b_01_2.png | Bin 0 -> 3346 bytes .../ryzom/guild_png/guild_back_b_02_1.png | Bin 0 -> 3426 bytes .../ryzom/guild_png/guild_back_b_02_2.png | Bin 0 -> 3325 bytes .../ryzom/guild_png/guild_back_b_03_1.png | Bin 0 -> 3295 bytes .../ryzom/guild_png/guild_back_b_03_2.png | Bin 0 -> 3249 bytes .../ryzom/guild_png/guild_back_b_04_1.png | Bin 0 -> 3042 bytes .../ryzom/guild_png/guild_back_b_04_2.png | Bin 0 -> 3042 bytes .../ryzom/guild_png/guild_back_b_05_1.png | Bin 0 -> 3825 bytes .../ryzom/guild_png/guild_back_b_05_2.png | Bin 0 -> 3634 bytes .../ryzom/guild_png/guild_back_b_06_1.png | Bin 0 -> 3875 bytes .../ryzom/guild_png/guild_back_b_06_2.png | Bin 0 -> 3641 bytes .../ryzom/guild_png/guild_back_b_07_1.png | Bin 0 -> 3776 bytes .../ryzom/guild_png/guild_back_b_07_2.png | Bin 0 -> 3645 bytes .../ryzom/guild_png/guild_back_b_08_1.png | Bin 0 -> 3722 bytes .../ryzom/guild_png/guild_back_b_08_2.png | Bin 0 -> 3574 bytes .../ryzom/guild_png/guild_back_b_09_1.png | Bin 0 -> 3381 bytes .../ryzom/guild_png/guild_back_b_09_2.png | Bin 0 -> 3459 bytes .../ryzom/guild_png/guild_back_b_10_1.png | Bin 0 -> 3517 bytes .../ryzom/guild_png/guild_back_b_10_2.png | Bin 0 -> 3152 bytes .../ryzom/guild_png/guild_back_b_11_1.png | Bin 0 -> 3603 bytes .../ryzom/guild_png/guild_back_b_11_2.png | Bin 0 -> 3174 bytes .../ryzom/guild_png/guild_back_b_12_1.png | Bin 0 -> 3612 bytes .../ryzom/guild_png/guild_back_b_12_2.png | Bin 0 -> 3152 bytes .../ryzom/guild_png/guild_back_b_13_1.png | Bin 0 -> 3493 bytes .../ryzom/guild_png/guild_back_b_13_2.png | Bin 0 -> 3079 bytes .../ryzom/guild_png/guild_back_b_14_1.png | Bin 0 -> 3133 bytes .../ryzom/guild_png/guild_back_b_14_2.png | Bin 0 -> 2954 bytes .../ryzom/guild_png/guild_back_s_00_1.png | Bin 0 -> 536 bytes .../ryzom/guild_png/guild_back_s_00_2.png | Bin 0 -> 517 bytes .../ryzom/guild_png/guild_back_s_01_1.png | Bin 0 -> 543 bytes .../ryzom/guild_png/guild_back_s_01_2.png | Bin 0 -> 498 bytes .../ryzom/guild_png/guild_back_s_02_1.png | Bin 0 -> 539 bytes .../ryzom/guild_png/guild_back_s_02_2.png | Bin 0 -> 502 bytes .../ryzom/guild_png/guild_back_s_03_1.png | Bin 0 -> 434 bytes .../ryzom/guild_png/guild_back_s_03_2.png | Bin 0 -> 419 bytes .../ryzom/guild_png/guild_back_s_04_1.png | Bin 0 -> 387 bytes .../ryzom/guild_png/guild_back_s_04_2.png | Bin 0 -> 363 bytes .../ryzom/guild_png/guild_back_s_05_1.png | Bin 0 -> 561 bytes .../ryzom/guild_png/guild_back_s_05_2.png | Bin 0 -> 457 bytes .../ryzom/guild_png/guild_back_s_06_1.png | Bin 0 -> 622 bytes .../ryzom/guild_png/guild_back_s_06_2.png | Bin 0 -> 484 bytes .../ryzom/guild_png/guild_back_s_07_1.png | Bin 0 -> 625 bytes .../ryzom/guild_png/guild_back_s_07_2.png | Bin 0 -> 494 bytes .../ryzom/guild_png/guild_back_s_08_1.png | Bin 0 -> 513 bytes .../ryzom/guild_png/guild_back_s_08_2.png | Bin 0 -> 366 bytes .../ryzom/guild_png/guild_back_s_09_1.png | Bin 0 -> 388 bytes .../ryzom/guild_png/guild_back_s_09_2.png | Bin 0 -> 416 bytes .../ryzom/guild_png/guild_back_s_10_1.png | Bin 0 -> 543 bytes .../ryzom/guild_png/guild_back_s_10_2.png | Bin 0 -> 397 bytes .../ryzom/guild_png/guild_back_s_11_1.png | Bin 0 -> 584 bytes .../ryzom/guild_png/guild_back_s_11_2.png | Bin 0 -> 405 bytes .../ryzom/guild_png/guild_back_s_12_1.png | Bin 0 -> 623 bytes .../ryzom/guild_png/guild_back_s_12_2.png | Bin 0 -> 394 bytes .../ryzom/guild_png/guild_back_s_13_1.png | Bin 0 -> 528 bytes .../ryzom/guild_png/guild_back_s_13_2.png | Bin 0 -> 351 bytes .../ryzom/guild_png/guild_back_s_14_1.png | Bin 0 -> 431 bytes .../ryzom/guild_png/guild_back_s_14_2.png | Bin 0 -> 238 bytes .../ryzom/guild_png/guild_symbol_b_00.png | Bin 0 -> 2851 bytes .../ryzom/guild_png/guild_symbol_b_01.png | Bin 0 -> 2035 bytes .../ryzom/guild_png/guild_symbol_b_02.png | Bin 0 -> 3081 bytes .../ryzom/guild_png/guild_symbol_b_03.png | Bin 0 -> 1850 bytes .../ryzom/guild_png/guild_symbol_b_04.png | Bin 0 -> 2424 bytes .../ryzom/guild_png/guild_symbol_b_05.png | Bin 0 -> 1937 bytes .../ryzom/guild_png/guild_symbol_b_06.png | Bin 0 -> 2192 bytes .../ryzom/guild_png/guild_symbol_b_07.png | Bin 0 -> 2655 bytes .../ryzom/guild_png/guild_symbol_b_08.png | Bin 0 -> 1757 bytes .../ryzom/guild_png/guild_symbol_b_09.png | Bin 0 -> 3326 bytes .../ryzom/guild_png/guild_symbol_b_10.png | Bin 0 -> 1561 bytes .../ryzom/guild_png/guild_symbol_b_11.png | Bin 0 -> 2189 bytes .../ryzom/guild_png/guild_symbol_b_12.png | Bin 0 -> 2029 bytes .../ryzom/guild_png/guild_symbol_b_13.png | Bin 0 -> 2566 bytes .../ryzom/guild_png/guild_symbol_b_14.png | Bin 0 -> 2617 bytes .../ryzom/guild_png/guild_symbol_b_15.png | Bin 0 -> 2474 bytes .../ryzom/guild_png/guild_symbol_b_16.png | Bin 0 -> 1915 bytes .../ryzom/guild_png/guild_symbol_b_17.png | Bin 0 -> 2424 bytes .../ryzom/guild_png/guild_symbol_b_18.png | Bin 0 -> 1850 bytes .../ryzom/guild_png/guild_symbol_b_19.png | Bin 0 -> 1009 bytes .../ryzom/guild_png/guild_symbol_b_20.png | Bin 0 -> 1656 bytes .../ryzom/guild_png/guild_symbol_b_21.png | Bin 0 -> 2647 bytes .../ryzom/guild_png/guild_symbol_b_22.png | Bin 0 -> 2739 bytes .../ryzom/guild_png/guild_symbol_b_23.png | Bin 0 -> 3122 bytes .../ryzom/guild_png/guild_symbol_b_24.png | Bin 0 -> 2923 bytes .../ryzom/guild_png/guild_symbol_b_25.png | Bin 0 -> 1925 bytes .../ryzom/guild_png/guild_symbol_b_26.png | Bin 0 -> 3289 bytes .../ryzom/guild_png/guild_symbol_b_27.png | Bin 0 -> 1864 bytes .../ryzom/guild_png/guild_symbol_b_28.png | Bin 0 -> 1515 bytes .../ryzom/guild_png/guild_symbol_b_29.png | Bin 0 -> 2642 bytes .../ryzom/guild_png/guild_symbol_b_30.png | Bin 0 -> 3340 bytes .../ryzom/guild_png/guild_symbol_b_31.png | Bin 0 -> 3335 bytes .../ryzom/guild_png/guild_symbol_b_32.png | Bin 0 -> 1410 bytes .../ryzom/guild_png/guild_symbol_b_33.png | Bin 0 -> 2922 bytes .../ryzom/guild_png/guild_symbol_b_34.png | Bin 0 -> 2349 bytes .../ryzom/guild_png/guild_symbol_b_35.png | Bin 0 -> 1490 bytes .../ryzom/guild_png/guild_symbol_b_36.png | Bin 0 -> 3116 bytes .../ryzom/guild_png/guild_symbol_b_37.png | Bin 0 -> 1978 bytes .../ryzom/guild_png/guild_symbol_b_38.png | Bin 0 -> 2939 bytes .../ryzom/guild_png/guild_symbol_b_39.png | Bin 0 -> 3075 bytes .../ryzom/guild_png/guild_symbol_b_40.png | Bin 0 -> 1264 bytes .../ryzom/guild_png/guild_symbol_b_41.png | Bin 0 -> 1584 bytes .../ryzom/guild_png/guild_symbol_b_42.png | Bin 0 -> 4013 bytes .../ryzom/guild_png/guild_symbol_b_43.png | Bin 0 -> 2076 bytes .../ryzom/guild_png/guild_symbol_s_00.png | Bin 0 -> 2125 bytes .../ryzom/guild_png/guild_symbol_s_01.png | Bin 0 -> 1608 bytes .../ryzom/guild_png/guild_symbol_s_02.png | Bin 0 -> 2156 bytes .../ryzom/guild_png/guild_symbol_s_03.png | Bin 0 -> 1375 bytes .../ryzom/guild_png/guild_symbol_s_04.png | Bin 0 -> 1951 bytes .../ryzom/guild_png/guild_symbol_s_05.png | Bin 0 -> 1689 bytes .../ryzom/guild_png/guild_symbol_s_06.png | Bin 0 -> 1393 bytes .../ryzom/guild_png/guild_symbol_s_07.png | Bin 0 -> 1904 bytes .../ryzom/guild_png/guild_symbol_s_08.png | Bin 0 -> 1117 bytes .../ryzom/guild_png/guild_symbol_s_09.png | Bin 0 -> 2269 bytes .../ryzom/guild_png/guild_symbol_s_10.png | Bin 0 -> 1117 bytes .../ryzom/guild_png/guild_symbol_s_11.png | Bin 0 -> 1714 bytes .../ryzom/guild_png/guild_symbol_s_12.png | Bin 0 -> 1530 bytes .../ryzom/guild_png/guild_symbol_s_13.png | Bin 0 -> 1953 bytes .../ryzom/guild_png/guild_symbol_s_14.png | Bin 0 -> 2012 bytes .../ryzom/guild_png/guild_symbol_s_15.png | Bin 0 -> 2223 bytes .../ryzom/guild_png/guild_symbol_s_16.png | Bin 0 -> 1552 bytes .../ryzom/guild_png/guild_symbol_s_17.png | Bin 0 -> 1932 bytes .../ryzom/guild_png/guild_symbol_s_18.png | Bin 0 -> 1360 bytes .../ryzom/guild_png/guild_symbol_s_19.png | Bin 0 -> 828 bytes .../ryzom/guild_png/guild_symbol_s_20.png | Bin 0 -> 1361 bytes .../ryzom/guild_png/guild_symbol_s_21.png | Bin 0 -> 2076 bytes .../ryzom/guild_png/guild_symbol_s_22.png | Bin 0 -> 1667 bytes .../ryzom/guild_png/guild_symbol_s_23.png | Bin 0 -> 2418 bytes .../ryzom/guild_png/guild_symbol_s_24.png | Bin 0 -> 2034 bytes .../ryzom/guild_png/guild_symbol_s_25.png | Bin 0 -> 1542 bytes .../ryzom/guild_png/guild_symbol_s_26.png | Bin 0 -> 2183 bytes .../ryzom/guild_png/guild_symbol_s_27.png | Bin 0 -> 1490 bytes .../ryzom/guild_png/guild_symbol_s_28.png | Bin 0 -> 1165 bytes .../ryzom/guild_png/guild_symbol_s_29.png | Bin 0 -> 1848 bytes .../ryzom/guild_png/guild_symbol_s_30.png | Bin 0 -> 2490 bytes .../ryzom/guild_png/guild_symbol_s_31.png | Bin 0 -> 2481 bytes .../ryzom/guild_png/guild_symbol_s_32.png | Bin 0 -> 1365 bytes .../ryzom/guild_png/guild_symbol_s_33.png | Bin 0 -> 2224 bytes .../ryzom/guild_png/guild_symbol_s_34.png | Bin 0 -> 1869 bytes .../ryzom/guild_png/guild_symbol_s_35.png | Bin 0 -> 1280 bytes .../ryzom/guild_png/guild_symbol_s_36.png | Bin 0 -> 2190 bytes .../ryzom/guild_png/guild_symbol_s_37.png | Bin 0 -> 1543 bytes .../ryzom/guild_png/guild_symbol_s_38.png | Bin 0 -> 2332 bytes .../ryzom/guild_png/guild_symbol_s_39.png | Bin 0 -> 2390 bytes .../ryzom/guild_png/guild_symbol_s_40.png | Bin 0 -> 1154 bytes .../ryzom/guild_png/guild_symbol_s_41.png | Bin 0 -> 1301 bytes .../ryzom/guild_png/guild_symbol_s_42.png | Bin 0 -> 2388 bytes .../ryzom/guild_png/guild_symbol_s_43.png | Bin 0 -> 1981 bytes code/web/api/data/ryzom/interface/1h_over.png | Bin 0 -> 402 bytes code/web/api/data/ryzom/interface/2h_over.png | Bin 0 -> 529 bytes code/web/api/data/ryzom/interface/am_logo.png | Bin 0 -> 619 bytes .../api/data/ryzom/interface/ar_armpad.png | Bin 0 -> 3066 bytes .../data/ryzom/interface/ar_armpad_mask.png | Bin 0 -> 1218 bytes .../web/api/data/ryzom/interface/ar_botte.png | Bin 0 -> 2969 bytes .../data/ryzom/interface/ar_botte_mask.png | Bin 0 -> 1367 bytes .../web/api/data/ryzom/interface/ar_gilet.png | Bin 0 -> 3444 bytes .../data/ryzom/interface/ar_gilet_mask.png | Bin 0 -> 1198 bytes code/web/api/data/ryzom/interface/ar_hand.png | Bin 0 -> 2206 bytes .../api/data/ryzom/interface/ar_hand_mask.png | Bin 0 -> 1097 bytes .../api/data/ryzom/interface/ar_helmet.png | Bin 0 -> 3203 bytes .../data/ryzom/interface/ar_helmet_mask.png | Bin 0 -> 1224 bytes .../data/ryzom/interface/ar_pantabotte.png | Bin 0 -> 3388 bytes .../ryzom/interface/ar_pantabotte_mask.png | Bin 0 -> 1887 bytes .../web/api/data/ryzom/interface/asc_exit.png | Bin 0 -> 2532 bytes .../ryzom/interface/asc_rolemastercraft.png | Bin 0 -> 2463 bytes .../ryzom/interface/asc_rolemasterfight.png | Bin 0 -> 2640 bytes .../ryzom/interface/asc_rolemasterharvest.png | Bin 0 -> 2456 bytes .../ryzom/interface/asc_rolemastermagic.png | Bin 0 -> 2396 bytes .../api/data/ryzom/interface/asc_unknown.png | Bin 0 -> 2368 bytes .../data/ryzom/interface/bg_downloader.png | Bin 0 -> 1712 bytes .../web/api/data/ryzom/interface/bg_empty.png | Bin 0 -> 1425 bytes code/web/api/data/ryzom/interface/bk_aura.png | Bin 0 -> 709 bytes .../web/api/data/ryzom/interface/bk_conso.png | Bin 0 -> 693 bytes .../data/ryzom/interface/bk_consommable.png | Bin 0 -> 627 bytes .../web/api/data/ryzom/interface/bk_fyros.png | Bin 0 -> 2656 bytes .../data/ryzom/interface/bk_fyros_brick.png | Bin 0 -> 117 bytes .../api/data/ryzom/interface/bk_generic.png | Bin 0 -> 2607 bytes .../data/ryzom/interface/bk_generic_brick.png | Bin 0 -> 121 bytes code/web/api/data/ryzom/interface/bk_goo.png | Bin 0 -> 2348 bytes .../web/api/data/ryzom/interface/bk_guild.png | Bin 0 -> 3095 bytes .../web/api/data/ryzom/interface/bk_horde.png | Bin 0 -> 162 bytes code/web/api/data/ryzom/interface/bk_kami.png | Bin 0 -> 2979 bytes .../api/data/ryzom/interface/bk_karavan.png | Bin 0 -> 3037 bytes .../ryzom/interface/bk_magie_noire_brick.png | Bin 0 -> 117 bytes .../web/api/data/ryzom/interface/bk_matis.png | Bin 0 -> 3143 bytes .../data/ryzom/interface/bk_matis_brick.png | Bin 0 -> 117 bytes .../api/data/ryzom/interface/bk_mission.png | Bin 0 -> 2459 bytes .../api/data/ryzom/interface/bk_mission2.png | Bin 0 -> 2689 bytes .../api/data/ryzom/interface/bk_outpost.png | Bin 0 -> 2607 bytes .../data/ryzom/interface/bk_outpost_brick.png | Bin 0 -> 552 bytes .../web/api/data/ryzom/interface/bk_power.png | Bin 0 -> 733 bytes .../api/data/ryzom/interface/bk_primes.png | Bin 0 -> 2955 bytes .../api/data/ryzom/interface/bk_service.png | Bin 0 -> 517 bytes .../api/data/ryzom/interface/bk_training.png | Bin 0 -> 3057 bytes .../api/data/ryzom/interface/bk_tryker.png | Bin 0 -> 3092 bytes .../data/ryzom/interface/bk_tryker_brick.png | Bin 0 -> 117 bytes .../web/api/data/ryzom/interface/bk_zorai.png | Bin 0 -> 3003 bytes .../data/ryzom/interface/bk_zorai_brick.png | Bin 0 -> 121 bytes .../data/ryzom/interface/brick_default.png | Bin 0 -> 1020 bytes .../ryzom/interface/building_state_24x24.png | Bin 0 -> 1514 bytes .../api/data/ryzom/interface/cb_main_nue.png | Bin 0 -> 1261 bytes code/web/api/data/ryzom/interface/ch_back.png | Bin 0 -> 120 bytes code/web/api/data/ryzom/interface/charge.png | Bin 0 -> 948 bytes code/web/api/data/ryzom/interface/clef.png | Bin 0 -> 2318 bytes .../data/ryzom/interface/conso_branche.png | Bin 0 -> 3436 bytes .../ryzom/interface/conso_branche_mask.png | Bin 0 -> 549 bytes .../api/data/ryzom/interface/conso_fleur.png | Bin 0 -> 3595 bytes .../data/ryzom/interface/conso_fleur_mask.png | Bin 0 -> 1891 bytes .../api/data/ryzom/interface/conso_grappe.png | Bin 0 -> 3602 bytes .../ryzom/interface/conso_grappe_mask.png | Bin 0 -> 1963 bytes .../api/data/ryzom/interface/conso_nectar.png | Bin 0 -> 3275 bytes .../ryzom/interface/conso_nectar_mask.png | Bin 0 -> 658 bytes .../api/data/ryzom/interface/construction.png | Bin 0 -> 3598 bytes code/web/api/data/ryzom/interface/cp_back.png | Bin 0 -> 126 bytes .../data/ryzom/interface/cp_over_break.png | Bin 0 -> 220 bytes .../api/data/ryzom/interface/cp_over_less.png | Bin 0 -> 157 bytes .../api/data/ryzom/interface/cp_over_more.png | Bin 0 -> 176 bytes .../data/ryzom/interface/cp_over_opening.png | Bin 0 -> 141 bytes .../ryzom/interface/cp_over_opening_2.png | Bin 0 -> 149 bytes .../api/data/ryzom/interface/cristal_ammo.png | Bin 0 -> 2903 bytes .../data/ryzom/interface/cristal_generic.png | Bin 0 -> 3045 bytes .../data/ryzom/interface/cristal_spell.png | Bin 0 -> 3164 bytes code/web/api/data/ryzom/interface/ef_back.png | Bin 0 -> 138 bytes .../data/ryzom/interface/ef_over_break.png | Bin 0 -> 219 bytes .../api/data/ryzom/interface/ef_over_less.png | Bin 0 -> 152 bytes .../api/data/ryzom/interface/ef_over_more.png | Bin 0 -> 169 bytes code/web/api/data/ryzom/interface/fo_back.png | Bin 0 -> 161 bytes code/web/api/data/ryzom/interface/fo_over.png | Bin 0 -> 160 bytes code/web/api/data/ryzom/interface/fp_ammo.png | Bin 0 -> 1136 bytes .../web/api/data/ryzom/interface/fp_armor.png | Bin 0 -> 1553 bytes .../api/data/ryzom/interface/fp_building.png | Bin 0 -> 1114 bytes .../web/api/data/ryzom/interface/fp_jewel.png | Bin 0 -> 1322 bytes .../web/api/data/ryzom/interface/fp_melee.png | Bin 0 -> 1316 bytes code/web/api/data/ryzom/interface/fp_over.png | Bin 0 -> 156 bytes .../web/api/data/ryzom/interface/fp_range.png | Bin 0 -> 1270 bytes .../api/data/ryzom/interface/fp_shield.png | Bin 0 -> 1460 bytes .../web/api/data/ryzom/interface/fp_tools.png | Bin 0 -> 1142 bytes .../interface/ge_mission_outpost_townhall.png | Bin 0 -> 3368 bytes .../ryzom/interface/ico_absorb_damage.png | Bin 0 -> 1020 bytes .../api/data/ryzom/interface/ico_accurate.png | Bin 0 -> 1010 bytes .../web/api/data/ryzom/interface/ico_acid.png | Bin 0 -> 883 bytes code/web/api/data/ryzom/interface/ico_aim.png | Bin 0 -> 650 bytes .../ryzom/interface/ico_aim_bird_wings.png | Bin 0 -> 1186 bytes .../ico_aim_flying_kitin_abdomen.png | Bin 0 -> 1643 bytes .../ryzom/interface/ico_aim_homin_arms.png | Bin 0 -> 1413 bytes .../ryzom/interface/ico_aim_homin_chest.png | Bin 0 -> 1433 bytes .../ryzom/interface/ico_aim_homin_feet.png | Bin 0 -> 1393 bytes .../ryzom/interface/ico_aim_homin_feint.png | Bin 0 -> 1541 bytes .../ryzom/interface/ico_aim_homin_hands.png | Bin 0 -> 1463 bytes .../ryzom/interface/ico_aim_homin_head.png | Bin 0 -> 1379 bytes .../ryzom/interface/ico_aim_homin_legs.png | Bin 0 -> 1397 bytes .../ryzom/interface/ico_aim_kitin_head.png | Bin 0 -> 1473 bytes .../api/data/ryzom/interface/ico_amande.png | Bin 0 -> 2738 bytes .../data/ryzom/interface/ico_ammo_bullet.png | Bin 0 -> 911 bytes .../data/ryzom/interface/ico_ammo_jacket.png | Bin 0 -> 1196 bytes .../api/data/ryzom/interface/ico_angle.png | Bin 0 -> 1102 bytes .../ryzom/interface/ico_anti_magic_shield.png | Bin 0 -> 1313 bytes .../api/data/ryzom/interface/ico_armor.png | Bin 0 -> 1383 bytes .../data/ryzom/interface/ico_armor_clip.png | Bin 0 -> 1066 bytes .../data/ryzom/interface/ico_armor_heavy.png | Bin 0 -> 1276 bytes .../data/ryzom/interface/ico_armor_kitin.png | Bin 0 -> 1261 bytes .../data/ryzom/interface/ico_armor_light.png | Bin 0 -> 1320 bytes .../data/ryzom/interface/ico_armor_medium.png | Bin 0 -> 1194 bytes .../ryzom/interface/ico_armor_penalty.png | Bin 0 -> 1543 bytes .../data/ryzom/interface/ico_armor_shell.png | Bin 0 -> 1519 bytes .../web/api/data/ryzom/interface/ico_atys.png | Bin 0 -> 1532 bytes .../api/data/ryzom/interface/ico_atysian.png | Bin 0 -> 733 bytes .../data/ryzom/interface/ico_balance_hp.png | Bin 0 -> 863 bytes .../api/data/ryzom/interface/ico_barrel.png | Bin 0 -> 1032 bytes .../web/api/data/ryzom/interface/ico_bash.png | Bin 0 -> 1210 bytes .../api/data/ryzom/interface/ico_berserk.png | Bin 0 -> 768 bytes .../api/data/ryzom/interface/ico_blade.png | Bin 0 -> 781 bytes .../api/data/ryzom/interface/ico_bleeding.png | Bin 0 -> 852 bytes .../api/data/ryzom/interface/ico_blind.png | Bin 0 -> 922 bytes .../api/data/ryzom/interface/ico_blunt.png | Bin 0 -> 930 bytes .../web/api/data/ryzom/interface/ico_bomb.png | Bin 0 -> 1166 bytes .../ryzom/interface/ico_cataliseur_xp.png | Bin 0 -> 4015 bytes .../data/ryzom/interface/ico_celestial.png | Bin 0 -> 790 bytes .../ryzom/interface/ico_circular_attack.png | Bin 0 -> 1574 bytes .../api/data/ryzom/interface/ico_clothes.png | Bin 0 -> 1423 bytes .../web/api/data/ryzom/interface/ico_cold.png | Bin 0 -> 1162 bytes .../ryzom/interface/ico_concentration.png | Bin 0 -> 1405 bytes .../ryzom/interface/ico_consommable_over.png | Bin 0 -> 472 bytes .../data/ryzom/interface/ico_constitution.png | Bin 0 -> 920 bytes .../ryzom/interface/ico_counterweight.png | Bin 0 -> 934 bytes .../data/ryzom/interface/ico_craft_buff.png | Bin 0 -> 1326 bytes .../ryzom/interface/ico_create_sapload.png | Bin 0 -> 1187 bytes .../api/data/ryzom/interface/ico_curse.png | Bin 0 -> 761 bytes .../api/data/ryzom/interface/ico_debuff.png | Bin 0 -> 863 bytes .../ryzom/interface/ico_debuff_resist.png | Bin 0 -> 1340 bytes .../data/ryzom/interface/ico_debuff_skill.png | Bin 0 -> 1345 bytes .../api/data/ryzom/interface/ico_desert.png | Bin 0 -> 973 bytes .../data/ryzom/interface/ico_dexterity.png | Bin 0 -> 950 bytes .../api/data/ryzom/interface/ico_disarm.png | Bin 0 -> 978 bytes .../api/data/ryzom/interface/ico_dodge.png | Bin 0 -> 906 bytes code/web/api/data/ryzom/interface/ico_dot.png | Bin 0 -> 1200 bytes .../data/ryzom/interface/ico_durability.png | Bin 0 -> 1021 bytes .../api/data/ryzom/interface/ico_electric.png | Bin 0 -> 1372 bytes .../api/data/ryzom/interface/ico_explosif.png | Bin 0 -> 682 bytes .../data/ryzom/interface/ico_extracting.png | Bin 0 -> 1299 bytes .../web/api/data/ryzom/interface/ico_fear.png | Bin 0 -> 1236 bytes .../api/data/ryzom/interface/ico_feint.png | Bin 0 -> 1202 bytes .../web/api/data/ryzom/interface/ico_fire.png | Bin 0 -> 1138 bytes .../data/ryzom/interface/ico_firing_pin.png | Bin 0 -> 1382 bytes .../ryzom/interface/ico_fleur_carac_1.png | Bin 0 -> 3025 bytes .../interface/ico_fleur_carac_1_mask.png | Bin 0 -> 1490 bytes .../ryzom/interface/ico_fleur_carac_2.png | Bin 0 -> 2513 bytes .../interface/ico_fleur_carac_2_mask.png | Bin 0 -> 1111 bytes .../ryzom/interface/ico_fleur_carac_3.png | Bin 0 -> 3175 bytes .../interface/ico_fleur_carac_3_mask.png | Bin 0 -> 1536 bytes .../api/data/ryzom/interface/ico_focus.png | Bin 0 -> 764 bytes .../data/ryzom/interface/ico_forage_buff.png | Bin 0 -> 1644 bytes .../data/ryzom/interface/ico_forbid_item.png | Bin 0 -> 1254 bytes .../api/data/ryzom/interface/ico_forest.png | Bin 0 -> 1476 bytes .../api/data/ryzom/interface/ico_foreuse.png | Bin 0 -> 3320 bytes .../data/ryzom/interface/ico_gardening.png | Bin 0 -> 949 bytes .../api/data/ryzom/interface/ico_gentle.png | Bin 0 -> 196 bytes code/web/api/data/ryzom/interface/ico_goo.png | Bin 0 -> 1491 bytes .../api/data/ryzom/interface/ico_gripp.png | Bin 0 -> 1011 bytes .../data/ryzom/interface/ico_haircolor.png | Bin 0 -> 3453 bytes .../api/data/ryzom/interface/ico_haircut.png | Bin 0 -> 3468 bytes .../api/data/ryzom/interface/ico_hammer.png | Bin 0 -> 1065 bytes .../api/data/ryzom/interface/ico_harmful.png | Bin 0 -> 194 bytes .../api/data/ryzom/interface/ico_hatred.png | Bin 0 -> 1801 bytes .../web/api/data/ryzom/interface/ico_heal.png | Bin 0 -> 746 bytes .../api/data/ryzom/interface/ico_hit_rate.png | Bin 0 -> 1272 bytes .../data/ryzom/interface/ico_incapacity.png | Bin 0 -> 952 bytes .../data/ryzom/interface/ico_intelligence.png | Bin 0 -> 894 bytes .../data/ryzom/interface/ico_interrupt.png | Bin 0 -> 852 bytes .../ryzom/interface/ico_invulnerability.png | Bin 0 -> 1688 bytes .../data/ryzom/interface/ico_jewel_stone.png | Bin 0 -> 1068 bytes .../interface/ico_jewel_stone_support.png | Bin 0 -> 804 bytes .../api/data/ryzom/interface/ico_jungle.png | Bin 0 -> 1237 bytes .../api/data/ryzom/interface/ico_lacustre.png | Bin 0 -> 1427 bytes .../ryzom/interface/ico_landmark_bonus.png | Bin 0 -> 762 bytes .../api/data/ryzom/interface/ico_level.png | Bin 0 -> 504 bytes .../api/data/ryzom/interface/ico_lining.png | Bin 0 -> 509 bytes .../api/data/ryzom/interface/ico_location.png | Bin 0 -> 1331 bytes .../api/data/ryzom/interface/ico_madness.png | Bin 0 -> 1161 bytes .../api/data/ryzom/interface/ico_magic.png | Bin 0 -> 670 bytes .../ryzom/interface/ico_magic_action_buff.png | Bin 0 -> 1368 bytes .../data/ryzom/interface/ico_magic_focus.png | Bin 0 -> 847 bytes .../ryzom/interface/ico_magic_target_buff.png | Bin 0 -> 1621 bytes .../ryzom/interface/ico_melee_action_buff.png | Bin 0 -> 1266 bytes .../ryzom/interface/ico_melee_target_buff.png | Bin 0 -> 1498 bytes .../api/data/ryzom/interface/ico_mental.png | Bin 0 -> 1323 bytes .../data/ryzom/interface/ico_metabolism.png | Bin 0 -> 702 bytes .../web/api/data/ryzom/interface/ico_mezz.png | Bin 0 -> 720 bytes .../data/ryzom/interface/ico_misfortune.png | Bin 0 -> 1199 bytes .../ryzom/interface/ico_mission_art_fyros.png | Bin 0 -> 2988 bytes .../ryzom/interface/ico_mission_art_matis.png | Bin 0 -> 2595 bytes .../interface/ico_mission_art_tryker.png | Bin 0 -> 3258 bytes .../ryzom/interface/ico_mission_art_zorai.png | Bin 0 -> 2790 bytes .../ryzom/interface/ico_mission_barrel.png | Bin 0 -> 2927 bytes .../ryzom/interface/ico_mission_bottle.png | Bin 0 -> 2684 bytes .../ryzom/interface/ico_mission_casket.png | Bin 0 -> 2586 bytes .../ryzom/interface/ico_mission_medicine.png | Bin 0 -> 2823 bytes .../ryzom/interface/ico_mission_message.png | Bin 0 -> 2875 bytes .../ryzom/interface/ico_mission_package.png | Bin 0 -> 3294 bytes .../data/ryzom/interface/ico_mission_pot.png | Bin 0 -> 2470 bytes .../ryzom/interface/ico_mission_purse.png | Bin 0 -> 3051 bytes .../web/api/data/ryzom/interface/ico_move.png | Bin 0 -> 1009 bytes .../data/ryzom/interface/ico_multi_fight.png | Bin 0 -> 917 bytes .../ryzom/interface/ico_multiple_spots.png | Bin 0 -> 673 bytes .../web/api/data/ryzom/interface/ico_noix.png | Bin 0 -> 3229 bytes .../data/ryzom/interface/ico_opening_hit.png | Bin 0 -> 1270 bytes .../data/ryzom/interface/ico_over_autumn.png | Bin 0 -> 311 bytes .../ryzom/interface/ico_over_degenerated.png | Bin 0 -> 770 bytes .../data/ryzom/interface/ico_over_fauna.png | Bin 0 -> 852 bytes .../data/ryzom/interface/ico_over_flora.png | Bin 0 -> 699 bytes .../ryzom/interface/ico_over_hit_arms.png | Bin 0 -> 630 bytes .../ryzom/interface/ico_over_hit_chest.png | Bin 0 -> 635 bytes .../ryzom/interface/ico_over_hit_feet.png | Bin 0 -> 510 bytes .../interface/ico_over_hit_feet_hands.png | Bin 0 -> 595 bytes .../interface/ico_over_hit_feet_head.png | Bin 0 -> 701 bytes .../ryzom/interface/ico_over_hit_feet_x2.png | Bin 0 -> 540 bytes .../ryzom/interface/ico_over_hit_feint_x3.png | Bin 0 -> 559 bytes .../ryzom/interface/ico_over_hit_hands.png | Bin 0 -> 523 bytes .../interface/ico_over_hit_hands_chest.png | Bin 0 -> 725 bytes .../interface/ico_over_hit_hands_head.png | Bin 0 -> 790 bytes .../ryzom/interface/ico_over_hit_head.png | Bin 0 -> 598 bytes .../ryzom/interface/ico_over_hit_head_x3.png | Bin 0 -> 625 bytes .../ryzom/interface/ico_over_hit_legs.png | Bin 0 -> 636 bytes .../data/ryzom/interface/ico_over_homin.png | Bin 0 -> 750 bytes .../data/ryzom/interface/ico_over_kitin.png | Bin 0 -> 1046 bytes .../data/ryzom/interface/ico_over_magic.png | Bin 0 -> 688 bytes .../data/ryzom/interface/ico_over_melee.png | Bin 0 -> 511 bytes .../data/ryzom/interface/ico_over_racial.png | Bin 0 -> 708 bytes .../data/ryzom/interface/ico_over_range.png | Bin 0 -> 495 bytes .../data/ryzom/interface/ico_over_special.png | Bin 0 -> 268 bytes .../data/ryzom/interface/ico_over_spring.png | Bin 0 -> 309 bytes .../data/ryzom/interface/ico_over_summer.png | Bin 0 -> 303 bytes .../data/ryzom/interface/ico_over_winter.png | Bin 0 -> 303 bytes .../api/data/ryzom/interface/ico_parry.png | Bin 0 -> 700 bytes .../api/data/ryzom/interface/ico_piercing.png | Bin 0 -> 1196 bytes .../api/data/ryzom/interface/ico_pointe.png | Bin 0 -> 849 bytes .../api/data/ryzom/interface/ico_poison.png | Bin 0 -> 808 bytes .../api/data/ryzom/interface/ico_power.png | Bin 0 -> 899 bytes .../data/ryzom/interface/ico_preservation.png | Bin 0 -> 1049 bytes .../api/data/ryzom/interface/ico_primal.png | Bin 0 -> 765 bytes .../data/ryzom/interface/ico_prime_roots.png | Bin 0 -> 1385 bytes .../api/data/ryzom/interface/ico_private.png | Bin 0 -> 880 bytes .../data/ryzom/interface/ico_prospecting.png | Bin 0 -> 897 bytes .../api/data/ryzom/interface/ico_quality.png | Bin 0 -> 1193 bytes .../api/data/ryzom/interface/ico_racine.png | Bin 0 -> 3220 bytes .../api/data/ryzom/interface/ico_range.png | Bin 0 -> 945 bytes .../ryzom/interface/ico_range_action_buff.png | Bin 0 -> 1718 bytes .../ryzom/interface/ico_range_target_buff.png | Bin 0 -> 2047 bytes .../api/data/ryzom/interface/ico_ricochet.png | Bin 0 -> 1042 bytes .../web/api/data/ryzom/interface/ico_root.png | Bin 0 -> 1524 bytes code/web/api/data/ryzom/interface/ico_rot.png | Bin 0 -> 1047 bytes .../web/api/data/ryzom/interface/ico_safe.png | Bin 0 -> 1729 bytes code/web/api/data/ryzom/interface/ico_sap.png | Bin 0 -> 724 bytes .../data/ryzom/interface/ico_self_damage.png | Bin 0 -> 985 bytes .../api/data/ryzom/interface/ico_shaft.png | Bin 0 -> 923 bytes .../data/ryzom/interface/ico_shield_buff.png | Bin 0 -> 1579 bytes .../data/ryzom/interface/ico_shield_up.png | Bin 0 -> 1406 bytes .../data/ryzom/interface/ico_shielding.png | Bin 0 -> 1061 bytes .../data/ryzom/interface/ico_shockwave.png | Bin 0 -> 1042 bytes .../api/data/ryzom/interface/ico_sickness.png | Bin 0 -> 557 bytes .../api/data/ryzom/interface/ico_slashing.png | Bin 0 -> 1017 bytes .../web/api/data/ryzom/interface/ico_slow.png | Bin 0 -> 695 bytes .../data/ryzom/interface/ico_soft_spot.png | Bin 0 -> 1220 bytes .../ryzom/interface/ico_source_knowledge.png | Bin 0 -> 909 bytes .../data/ryzom/interface/ico_source_time.png | Bin 0 -> 1662 bytes .../api/data/ryzom/interface/ico_speed.png | Bin 0 -> 605 bytes .../data/ryzom/interface/ico_speeding_up.png | Bin 0 -> 863 bytes .../data/ryzom/interface/ico_spell_break.png | Bin 0 -> 1350 bytes .../api/data/ryzom/interface/ico_spores.png | Bin 0 -> 2676 bytes .../api/data/ryzom/interface/ico_spray.png | Bin 0 -> 1410 bytes .../api/data/ryzom/interface/ico_spying.png | Bin 0 -> 1010 bytes .../api/data/ryzom/interface/ico_stamina.png | Bin 0 -> 758 bytes .../api/data/ryzom/interface/ico_strength.png | Bin 0 -> 945 bytes .../api/data/ryzom/interface/ico_stuffing.png | Bin 0 -> 1470 bytes .../api/data/ryzom/interface/ico_stunn.png | Bin 0 -> 1225 bytes .../data/ryzom/interface/ico_task_craft.png | Bin 0 -> 3962 bytes .../data/ryzom/interface/ico_task_done.png | Bin 0 -> 899 bytes .../data/ryzom/interface/ico_task_failed.png | Bin 0 -> 1168 bytes .../data/ryzom/interface/ico_task_fight.png | Bin 0 -> 3865 bytes .../data/ryzom/interface/ico_task_forage.png | Bin 0 -> 3860 bytes .../data/ryzom/interface/ico_task_generic.png | Bin 0 -> 3806 bytes .../interface/ico_task_generic_quart.png | Bin 0 -> 3379 bytes .../data/ryzom/interface/ico_task_guild.png | Bin 0 -> 3973 bytes .../data/ryzom/interface/ico_task_rite.png | Bin 0 -> 3926 bytes .../data/ryzom/interface/ico_task_travel.png | Bin 0 -> 3908 bytes .../api/data/ryzom/interface/ico_tatoo.png | Bin 0 -> 4185 bytes .../api/data/ryzom/interface/ico_taunt.png | Bin 0 -> 941 bytes .../web/api/data/ryzom/interface/ico_time.png | Bin 0 -> 720 bytes .../data/ryzom/interface/ico_time_bonus.png | Bin 0 -> 1028 bytes .../api/data/ryzom/interface/ico_tourbe.png | Bin 0 -> 3161 bytes .../api/data/ryzom/interface/ico_trigger.png | Bin 0 -> 762 bytes .../api/data/ryzom/interface/ico_umbrella.png | Bin 0 -> 1298 bytes .../ryzom/interface/ico_use_enchantement.png | Bin 0 -> 1230 bytes .../api/data/ryzom/interface/ico_vampire.png | Bin 0 -> 687 bytes .../data/ryzom/interface/ico_visibility.png | Bin 0 -> 886 bytes .../api/data/ryzom/interface/ico_war_cry.png | Bin 0 -> 1172 bytes .../api/data/ryzom/interface/ico_weight.png | Bin 0 -> 919 bytes .../data/ryzom/interface/ico_wellbalanced.png | Bin 0 -> 726 bytes .../web/api/data/ryzom/interface/ico_will.png | Bin 0 -> 716 bytes .../api/data/ryzom/interface/ico_windding.png | Bin 0 -> 1170 bytes .../api/data/ryzom/interface/ico_wisdom.png | Bin 0 -> 685 bytes .../data/ryzom/interface/improved_tool.png | Bin 0 -> 3549 bytes .../api/data/ryzom/interface/item_default.png | Bin 0 -> 1977 bytes .../data/ryzom/interface/item_plan_over.png | Bin 0 -> 220 bytes .../api/data/ryzom/interface/lucky_flower.png | Bin 0 -> 3527 bytes code/web/api/data/ryzom/interface/mail.png | Bin 0 -> 1706 bytes .../api/data/ryzom/interface/mektoub_pack.png | Bin 0 -> 4301 bytes .../data/ryzom/interface/mektoub_steed.png | Bin 0 -> 3913 bytes code/web/api/data/ryzom/interface/mf_back.png | Bin 0 -> 216 bytes code/web/api/data/ryzom/interface/mf_over.png | Bin 0 -> 205 bytes .../web/api/data/ryzom/interface/mg_glove.png | Bin 0 -> 3618 bytes .../data/ryzom/interface/mission_icon_0.png | Bin 0 -> 2760 bytes .../data/ryzom/interface/mission_icon_1.png | Bin 0 -> 2763 bytes .../data/ryzom/interface/mission_icon_2.png | Bin 0 -> 2739 bytes .../data/ryzom/interface/mission_icon_3.png | Bin 0 -> 2736 bytes code/web/api/data/ryzom/interface/mp3.png | Bin 0 -> 1515 bytes .../web/api/data/ryzom/interface/mp_amber.png | Bin 0 -> 2916 bytes .../data/ryzom/interface/mp_back_curative.png | Bin 0 -> 193 bytes .../ryzom/interface/mp_back_offensive.png | Bin 0 -> 190 bytes .../data/ryzom/interface/mp_back_selfonly.png | Bin 0 -> 186 bytes code/web/api/data/ryzom/interface/mp_bark.png | Bin 0 -> 2940 bytes .../ryzom/interface/mp_batiment_brique.png | Bin 0 -> 2791 bytes .../ryzom/interface/mp_batiment_colonne.png | Bin 0 -> 1691 bytes .../interface/mp_batiment_colonne_justice.png | Bin 0 -> 2828 bytes .../ryzom/interface/mp_batiment_comble.png | Bin 0 -> 2684 bytes .../interface/mp_batiment_noyau_maduk.png | Bin 0 -> 3596 bytes .../ryzom/interface/mp_batiment_ornement.png | Bin 0 -> 2444 bytes .../interface/mp_batiment_revetement.png | Bin 0 -> 1912 bytes .../ryzom/interface/mp_batiment_socle.png | Bin 0 -> 3064 bytes .../ryzom/interface/mp_batiment_statue.png | Bin 0 -> 2945 bytes code/web/api/data/ryzom/interface/mp_beak.png | Bin 0 -> 2440 bytes .../web/api/data/ryzom/interface/mp_blood.png | Bin 0 -> 1474 bytes code/web/api/data/ryzom/interface/mp_bone.png | Bin 0 -> 1825 bytes code/web/api/data/ryzom/interface/mp_bud.png | Bin 0 -> 2469 bytes .../data/ryzom/interface/mp_buterfly_blue.png | Bin 0 -> 2738 bytes .../ryzom/interface/mp_buterfly_cocoon.png | Bin 0 -> 2460 bytes .../api/data/ryzom/interface/mp_cereal.png | Bin 0 -> 3102 bytes code/web/api/data/ryzom/interface/mp_claw.png | Bin 0 -> 2531 bytes .../api/data/ryzom/interface/mp_dandelion.png | Bin 0 -> 4364 bytes code/web/api/data/ryzom/interface/mp_dry | Bin 0 -> 10373 bytes .../api/data/ryzom/interface/mp_dry wood.png | Bin 0 -> 2952 bytes code/web/api/data/ryzom/interface/mp_dry.png | Bin 0 -> 14122 bytes .../api/data/ryzom/interface/mp_dry_wood.png | Bin 0 -> 3057 bytes code/web/api/data/ryzom/interface/mp_dust.png | Bin 0 -> 2971 bytes code/web/api/data/ryzom/interface/mp_egg.png | Bin 0 -> 1765 bytes code/web/api/data/ryzom/interface/mp_eyes.png | Bin 0 -> 2526 bytes code/web/api/data/ryzom/interface/mp_fang.png | Bin 0 -> 2728 bytes .../web/api/data/ryzom/interface/mp_fiber.png | Bin 0 -> 3737 bytes .../api/data/ryzom/interface/mp_filament.png | Bin 0 -> 3290 bytes .../ryzom/interface/mp_firefly_abdomen.png | Bin 0 -> 4004 bytes .../data/ryzom/interface/mp_fish_scale.png | Bin 0 -> 3000 bytes .../api/data/ryzom/interface/mp_flowers.png | Bin 0 -> 2345 bytes .../ryzom/interface/mp_fresh_loose_soil.png | Bin 0 -> 1929 bytes .../web/api/data/ryzom/interface/mp_fruit.png | Bin 0 -> 1683 bytes .../api/data/ryzom/interface/mp_generic.png | Bin 0 -> 2498 bytes .../ryzom/interface/mp_generic_colorize.png | Bin 0 -> 2606 bytes .../web/api/data/ryzom/interface/mp_gomme.png | Bin 0 -> 2164 bytes .../data/ryzom/interface/mp_goo_residue.png | Bin 0 -> 3168 bytes .../web/api/data/ryzom/interface/mp_hairs.png | Bin 0 -> 2328 bytes code/web/api/data/ryzom/interface/mp_hoof.png | Bin 0 -> 2884 bytes code/web/api/data/ryzom/interface/mp_horn.png | Bin 0 -> 2277 bytes .../api/data/ryzom/interface/mp_horney.png | Bin 0 -> 2835 bytes .../data/ryzom/interface/mp_insect_fossil.png | Bin 0 -> 3390 bytes .../data/ryzom/interface/mp_kitin_flesh.png | Bin 0 -> 2011 bytes .../ryzom/interface/mp_kitin_secretion.png | Bin 0 -> 2878 bytes .../data/ryzom/interface/mp_kitinshell.png | Bin 0 -> 3065 bytes .../web/api/data/ryzom/interface/mp_larva.png | Bin 0 -> 2071 bytes code/web/api/data/ryzom/interface/mp_leaf.png | Bin 0 -> 3436 bytes .../api/data/ryzom/interface/mp_leather.png | Bin 0 -> 4001 bytes .../web/api/data/ryzom/interface/mp_liane.png | Bin 0 -> 2574 bytes .../api/data/ryzom/interface/mp_lichen.png | Bin 0 -> 3569 bytes .../api/data/ryzom/interface/mp_ligament.png | Bin 0 -> 3341 bytes .../api/data/ryzom/interface/mp_mandible.png | Bin 0 -> 2503 bytes code/web/api/data/ryzom/interface/mp_meat.png | Bin 0 -> 2826 bytes code/web/api/data/ryzom/interface/mp_moss.png | Bin 0 -> 3279 bytes .../api/data/ryzom/interface/mp_mushroom.png | Bin 0 -> 3154 bytes code/web/api/data/ryzom/interface/mp_nail.png | Bin 0 -> 2615 bytes code/web/api/data/ryzom/interface/mp_oil.png | Bin 0 -> 3139 bytes .../api/data/ryzom/interface/mp_over_link.png | Bin 0 -> 129 bytes .../api/data/ryzom/interface/mp_parasite.png | Bin 0 -> 2865 bytes .../web/api/data/ryzom/interface/mp_pearl.png | Bin 0 -> 2302 bytes .../api/data/ryzom/interface/mp_pelvis.png | Bin 0 -> 3513 bytes .../api/data/ryzom/interface/mp_pigment.png | Bin 0 -> 4092 bytes .../api/data/ryzom/interface/mp_pistil.png | Bin 0 -> 2757 bytes .../data/ryzom/interface/mp_plant_fossil.png | Bin 0 -> 2515 bytes .../api/data/ryzom/interface/mp_pollen.png | Bin 0 -> 2314 bytes .../web/api/data/ryzom/interface/mp_resin.png | Bin 0 -> 2994 bytes .../web/api/data/ryzom/interface/mp_ronce.png | Bin 0 -> 2493 bytes .../api/data/ryzom/interface/mp_rostrum.png | Bin 0 -> 2256 bytes code/web/api/data/ryzom/interface/mp_sap.png | Bin 0 -> 2473 bytes .../api/data/ryzom/interface/mp_sawdust.png | Bin 0 -> 3561 bytes code/web/api/data/ryzom/interface/mp_seed.png | Bin 0 -> 3242 bytes .../web/api/data/ryzom/interface/mp_shell.png | Bin 0 -> 3332 bytes .../api/data/ryzom/interface/mp_silk_worm.png | Bin 0 -> 2479 bytes code/web/api/data/ryzom/interface/mp_skin.png | Bin 0 -> 4247 bytes .../web/api/data/ryzom/interface/mp_skull.png | Bin 0 -> 3406 bytes .../data/ryzom/interface/mp_spiders_web.png | Bin 0 -> 4081 bytes .../web/api/data/ryzom/interface/mp_spine.png | Bin 0 -> 1885 bytes code/web/api/data/ryzom/interface/mp_stem.png | Bin 0 -> 3755 bytes .../web/api/data/ryzom/interface/mp_sting.png | Bin 0 -> 1877 bytes .../web/api/data/ryzom/interface/mp_straw.png | Bin 0 -> 2425 bytes code/web/api/data/ryzom/interface/mp_suc.png | Bin 0 -> 2370 bytes code/web/api/data/ryzom/interface/mp_tail.png | Bin 0 -> 2835 bytes .../web/api/data/ryzom/interface/mp_tooth.png | Bin 0 -> 3003 bytes .../web/api/data/ryzom/interface/mp_trunk.png | Bin 0 -> 2361 bytes .../api/data/ryzom/interface/mp_whiskers.png | Bin 0 -> 2161 bytes code/web/api/data/ryzom/interface/mp_wing.png | Bin 0 -> 2865 bytes code/web/api/data/ryzom/interface/mp_wood.png | Bin 0 -> 2296 bytes .../api/data/ryzom/interface/mp_wood_node.png | Bin 0 -> 2242 bytes .../api/data/ryzom/interface/mw_2h_axe.png | Bin 0 -> 2312 bytes .../api/data/ryzom/interface/mw_2h_lance.png | Bin 0 -> 1890 bytes .../api/data/ryzom/interface/mw_2h_mace.png | Bin 0 -> 2152 bytes .../api/data/ryzom/interface/mw_2h_sword.png | Bin 0 -> 2463 bytes code/web/api/data/ryzom/interface/mw_axe.png | Bin 0 -> 1526 bytes .../api/data/ryzom/interface/mw_dagger.png | Bin 0 -> 1075 bytes .../web/api/data/ryzom/interface/mw_lance.png | Bin 0 -> 1341 bytes code/web/api/data/ryzom/interface/mw_mace.png | Bin 0 -> 1507 bytes .../web/api/data/ryzom/interface/mw_staff.png | Bin 0 -> 1021 bytes .../web/api/data/ryzom/interface/mw_sword.png | Bin 0 -> 1894 bytes .../api/data/ryzom/interface/no_action.png | Bin 0 -> 566 bytes .../api/data/ryzom/interface/num_slash.png | Bin 0 -> 365 bytes code/web/api/data/ryzom/interface/op_back.png | Bin 0 -> 126 bytes .../data/ryzom/interface/op_over_break.png | Bin 0 -> 231 bytes .../api/data/ryzom/interface/op_over_less.png | Bin 0 -> 157 bytes .../api/data/ryzom/interface/op_over_more.png | Bin 0 -> 182 bytes .../api/data/ryzom/interface/pa_anklet.png | Bin 0 -> 2128 bytes code/web/api/data/ryzom/interface/pa_back.png | Bin 0 -> 125 bytes .../api/data/ryzom/interface/pa_bracelet.png | Bin 0 -> 1872 bytes .../api/data/ryzom/interface/pa_diadem.png | Bin 0 -> 1589 bytes .../api/data/ryzom/interface/pa_earring.png | Bin 0 -> 816 bytes .../data/ryzom/interface/pa_over_break.png | Bin 0 -> 222 bytes .../api/data/ryzom/interface/pa_over_less.png | Bin 0 -> 157 bytes .../api/data/ryzom/interface/pa_over_more.png | Bin 0 -> 178 bytes .../api/data/ryzom/interface/pa_pendant.png | Bin 0 -> 1648 bytes code/web/api/data/ryzom/interface/pa_ring.png | Bin 0 -> 1943 bytes code/web/api/data/ryzom/interface/profile.png | Bin 0 -> 129 bytes .../data/ryzom/interface/protect_amber.png | Bin 0 -> 3644 bytes .../api/data/ryzom/interface/pvp_ally_0.png | Bin 0 -> 1598 bytes .../api/data/ryzom/interface/pvp_ally_1.png | Bin 0 -> 1004 bytes .../api/data/ryzom/interface/pvp_ally_2.png | Bin 0 -> 1261 bytes .../api/data/ryzom/interface/pvp_ally_3.png | Bin 0 -> 1524 bytes .../api/data/ryzom/interface/pvp_ally_4.png | Bin 0 -> 1404 bytes .../api/data/ryzom/interface/pvp_ally_6.png | Bin 0 -> 1498 bytes .../data/ryzom/interface/pvp_ally_primas.png | Bin 0 -> 1537 bytes .../data/ryzom/interface/pvp_ally_ranger.png | Bin 0 -> 1255 bytes .../web/api/data/ryzom/interface/pvp_aura.png | Bin 0 -> 1200 bytes .../data/ryzom/interface/pvp_aura_mask.png | Bin 0 -> 2971 bytes .../api/data/ryzom/interface/pvp_boost.png | Bin 0 -> 2884 bytes .../data/ryzom/interface/pvp_boost_mask.png | Bin 0 -> 1102 bytes .../api/data/ryzom/interface/pvp_enemy_0.png | Bin 0 -> 1439 bytes .../api/data/ryzom/interface/pvp_enemy_1.png | Bin 0 -> 1281 bytes .../api/data/ryzom/interface/pvp_enemy_2.png | Bin 0 -> 1302 bytes .../api/data/ryzom/interface/pvp_enemy_3.png | Bin 0 -> 1532 bytes .../api/data/ryzom/interface/pvp_enemy_4.png | Bin 0 -> 1546 bytes .../api/data/ryzom/interface/pvp_enemy_6.png | Bin 0 -> 1612 bytes .../ryzom/interface/pvp_enemy_marauder.png | Bin 0 -> 1170 bytes .../ryzom/interface/pvp_enemy_trytonist.png | Bin 0 -> 1499 bytes code/web/api/data/ryzom/interface/pw_4.png | Bin 0 -> 297 bytes code/web/api/data/ryzom/interface/pw_5.png | Bin 0 -> 307 bytes code/web/api/data/ryzom/interface/pw_6.png | Bin 0 -> 537 bytes code/web/api/data/ryzom/interface/pw_7.png | Bin 0 -> 659 bytes .../web/api/data/ryzom/interface/pw_heavy.png | Bin 0 -> 221 bytes .../web/api/data/ryzom/interface/pw_light.png | Bin 0 -> 200 bytes .../api/data/ryzom/interface/pw_medium.png | Bin 0 -> 214 bytes .../api/data/ryzom/interface/quest_coeur.png | Bin 0 -> 2849 bytes .../api/data/ryzom/interface/quest_foie.png | Bin 0 -> 3675 bytes .../api/data/ryzom/interface/quest_jeton.png | Bin 0 -> 4192 bytes .../api/data/ryzom/interface/quest_langue.png | Bin 0 -> 2421 bytes .../api/data/ryzom/interface/quest_louche.png | Bin 0 -> 2290 bytes .../data/ryzom/interface/quest_oreille.png | Bin 0 -> 3300 bytes .../api/data/ryzom/interface/quest_patte.png | Bin 0 -> 3132 bytes .../api/data/ryzom/interface/quest_poils.png | Bin 0 -> 3011 bytes .../api/data/ryzom/interface/quest_queue.png | Bin 0 -> 2417 bytes .../api/data/ryzom/interface/quest_ticket.png | Bin 0 -> 3397 bytes code/web/api/data/ryzom/interface/r2_live.png | Bin 0 -> 3384 bytes .../api/data/ryzom/interface/r2_live_over.png | Bin 0 -> 3964 bytes .../data/ryzom/interface/r2_live_pushed.png | Bin 0 -> 2812 bytes .../ryzom/interface/r2_palette_entities.png | Bin 0 -> 1481 bytes .../api/data/ryzom/interface/requirement.png | Bin 0 -> 2791 bytes code/web/api/data/ryzom/interface/rm_f.png | Bin 0 -> 2716 bytes .../api/data/ryzom/interface/rm_f_upgrade.png | Bin 0 -> 2830 bytes code/web/api/data/ryzom/interface/rm_h.png | Bin 0 -> 2567 bytes .../api/data/ryzom/interface/rm_h_upgrade.png | Bin 0 -> 2682 bytes code/web/api/data/ryzom/interface/rm_m.png | Bin 0 -> 2487 bytes .../api/data/ryzom/interface/rm_m_upgrade.png | Bin 0 -> 2596 bytes code/web/api/data/ryzom/interface/rm_r.png | Bin 0 -> 2561 bytes .../api/data/ryzom/interface/rm_r_upgrade.png | Bin 0 -> 2668 bytes .../api/data/ryzom/interface/rpjob_200.png | Bin 0 -> 3930 bytes .../api/data/ryzom/interface/rpjob_201.png | Bin 0 -> 4027 bytes .../api/data/ryzom/interface/rpjob_202.png | Bin 0 -> 3789 bytes .../api/data/ryzom/interface/rpjob_203.png | Bin 0 -> 4267 bytes .../api/data/ryzom/interface/rpjob_204.png | Bin 0 -> 3960 bytes .../api/data/ryzom/interface/rpjob_205.png | Bin 0 -> 3452 bytes .../api/data/ryzom/interface/rpjob_206.png | Bin 0 -> 4044 bytes .../api/data/ryzom/interface/rpjob_207.png | Bin 0 -> 3968 bytes .../data/ryzom/interface/rpjob_advanced.png | Bin 0 -> 4209 bytes .../data/ryzom/interface/rpjob_elementary.png | Bin 0 -> 4140 bytes .../data/ryzom/interface/rpjob_roleplay.png | Bin 0 -> 4209 bytes .../api/data/ryzom/interface/rpjob_task.png | Bin 0 -> 4057 bytes .../interface/rpjob_task_certificats.png | Bin 0 -> 4000 bytes .../ryzom/interface/rpjob_task_convert.png | Bin 0 -> 3880 bytes .../ryzom/interface/rpjob_task_elementary.png | Bin 0 -> 4325 bytes .../ryzom/interface/rpjob_task_generic.png | Bin 0 -> 4025 bytes .../ryzom/interface/rpjob_task_upgrade.png | Bin 0 -> 3888 bytes .../data/ryzom/interface/rpjobitem_200_a.png | Bin 0 -> 3002 bytes .../data/ryzom/interface/rpjobitem_200_b.png | Bin 0 -> 4253 bytes .../data/ryzom/interface/rpjobitem_200_c.png | Bin 0 -> 3255 bytes .../data/ryzom/interface/rpjobitem_201_a.png | Bin 0 -> 3988 bytes .../data/ryzom/interface/rpjobitem_201_b.png | Bin 0 -> 3428 bytes .../data/ryzom/interface/rpjobitem_201_c.png | Bin 0 -> 2616 bytes .../data/ryzom/interface/rpjobitem_202_a.png | Bin 0 -> 4003 bytes .../data/ryzom/interface/rpjobitem_202_b.png | Bin 0 -> 4050 bytes .../data/ryzom/interface/rpjobitem_202_c.png | Bin 0 -> 2684 bytes .../data/ryzom/interface/rpjobitem_203_a.png | Bin 0 -> 4719 bytes .../data/ryzom/interface/rpjobitem_203_b.png | Bin 0 -> 4545 bytes .../data/ryzom/interface/rpjobitem_203_c.png | Bin 0 -> 3848 bytes .../data/ryzom/interface/rpjobitem_204_a.png | Bin 0 -> 2683 bytes .../data/ryzom/interface/rpjobitem_204_b.png | Bin 0 -> 2779 bytes .../data/ryzom/interface/rpjobitem_204_c.png | Bin 0 -> 2730 bytes .../data/ryzom/interface/rpjobitem_205_a.png | Bin 0 -> 3577 bytes .../data/ryzom/interface/rpjobitem_205_b.png | Bin 0 -> 3264 bytes .../data/ryzom/interface/rpjobitem_205_c.png | Bin 0 -> 2513 bytes .../data/ryzom/interface/rpjobitem_206_a.png | Bin 0 -> 2321 bytes .../data/ryzom/interface/rpjobitem_206_b.png | Bin 0 -> 3529 bytes .../data/ryzom/interface/rpjobitem_206_c.png | Bin 0 -> 2047 bytes .../data/ryzom/interface/rpjobitem_207_a.png | Bin 0 -> 3947 bytes .../data/ryzom/interface/rpjobitem_207_b.png | Bin 0 -> 3907 bytes .../data/ryzom/interface/rpjobitem_207_c.png | Bin 0 -> 4055 bytes .../interface/rpjobitem_certifications.png | Bin 0 -> 3864 bytes .../data/ryzom/interface/rw_autolaunch.png | Bin 0 -> 2268 bytes .../api/data/ryzom/interface/rw_bowgun.png | Bin 0 -> 2849 bytes .../api/data/ryzom/interface/rw_grenade.png | Bin 0 -> 1230 bytes .../data/ryzom/interface/rw_harpoongun.png | Bin 0 -> 1796 bytes .../api/data/ryzom/interface/rw_launcher.png | Bin 0 -> 2563 bytes .../api/data/ryzom/interface/rw_pistol.png | Bin 0 -> 1984 bytes .../api/data/ryzom/interface/rw_pistolarc.png | Bin 0 -> 2282 bytes .../web/api/data/ryzom/interface/rw_rifle.png | Bin 0 -> 2155 bytes code/web/api/data/ryzom/interface/sapload.png | Bin 0 -> 1079 bytes .../api/data/ryzom/interface/sh_buckler.png | Bin 0 -> 2540 bytes .../data/ryzom/interface/sh_large_shield.png | Bin 0 -> 3386 bytes .../data/ryzom/interface/small_task_craft.png | Bin 0 -> 824 bytes .../data/ryzom/interface/small_task_done.png | Bin 0 -> 464 bytes .../ryzom/interface/small_task_failed.png | Bin 0 -> 535 bytes .../data/ryzom/interface/small_task_fight.png | Bin 0 -> 808 bytes .../ryzom/interface/small_task_forage.png | Bin 0 -> 807 bytes .../ryzom/interface/small_task_generic.png | Bin 0 -> 796 bytes .../data/ryzom/interface/small_task_guild.png | Bin 0 -> 825 bytes .../data/ryzom/interface/small_task_rite.png | Bin 0 -> 848 bytes .../ryzom/interface/small_task_travel.png | Bin 0 -> 835 bytes .../api/data/ryzom/interface/spe_beast.png | Bin 0 -> 3041 bytes code/web/api/data/ryzom/interface/spe_com.png | Bin 0 -> 2443 bytes .../data/ryzom/interface/spe_inventory.png | Bin 0 -> 3253 bytes .../web/api/data/ryzom/interface/spe_labs.png | Bin 0 -> 3264 bytes .../api/data/ryzom/interface/spe_memory.png | Bin 0 -> 3080 bytes .../api/data/ryzom/interface/spe_options.png | Bin 0 -> 3407 bytes .../api/data/ryzom/interface/spe_status.png | Bin 0 -> 2912 bytes .../ryzom/interface/stimulating_water.png | Bin 0 -> 3567 bytes .../data/ryzom/interface/tb_action_attack.png | Bin 0 -> 1669 bytes .../data/ryzom/interface/tb_action_config.png | Bin 0 -> 1764 bytes .../ryzom/interface/tb_action_disband.png | Bin 0 -> 1491 bytes .../ryzom/interface/tb_action_disengage.png | Bin 0 -> 1727 bytes .../ryzom/interface/tb_action_extract.png | Bin 0 -> 1678 bytes .../data/ryzom/interface/tb_action_invite.png | Bin 0 -> 1416 bytes .../data/ryzom/interface/tb_action_kick.png | Bin 0 -> 1401 bytes .../data/ryzom/interface/tb_action_move.png | Bin 0 -> 1339 bytes .../data/ryzom/interface/tb_action_run.png | Bin 0 -> 1598 bytes .../data/ryzom/interface/tb_action_sit.png | Bin 0 -> 1565 bytes .../data/ryzom/interface/tb_action_stand.png | Bin 0 -> 1434 bytes .../data/ryzom/interface/tb_action_stop.png | Bin 0 -> 1336 bytes .../data/ryzom/interface/tb_action_talk.png | Bin 0 -> 994 bytes .../data/ryzom/interface/tb_action_walk.png | Bin 0 -> 1508 bytes .../api/data/ryzom/interface/tb_animals.png | Bin 0 -> 1716 bytes .../api/data/ryzom/interface/tb_config.png | Bin 0 -> 1764 bytes .../data/ryzom/interface/tb_connection.png | Bin 0 -> 1278 bytes .../api/data/ryzom/interface/tb_contacts.png | Bin 0 -> 1613 bytes .../api/data/ryzom/interface/tb_desk_1.png | Bin 0 -> 717 bytes .../api/data/ryzom/interface/tb_desk_2.png | Bin 0 -> 723 bytes .../api/data/ryzom/interface/tb_desk_3.png | Bin 0 -> 707 bytes .../api/data/ryzom/interface/tb_desk_4.png | Bin 0 -> 702 bytes .../api/data/ryzom/interface/tb_faction.png | Bin 0 -> 1344 bytes .../web/api/data/ryzom/interface/tb_forum.png | Bin 0 -> 1561 bytes .../web/api/data/ryzom/interface/tb_guild.png | Bin 0 -> 1704 bytes .../web/api/data/ryzom/interface/tb_help2.png | Bin 0 -> 1511 bytes code/web/api/data/ryzom/interface/tb_keys.png | Bin 0 -> 1688 bytes .../api/data/ryzom/interface/tb_macros.png | Bin 0 -> 1720 bytes code/web/api/data/ryzom/interface/tb_mail.png | Bin 0 -> 1593 bytes code/web/api/data/ryzom/interface/tb_mode.png | Bin 0 -> 401 bytes .../data/ryzom/interface/tb_mode_dodge.png | Bin 0 -> 1541 bytes .../data/ryzom/interface/tb_mode_parry.png | Bin 0 -> 1444 bytes code/web/api/data/ryzom/interface/tb_over.png | Bin 0 -> 113 bytes .../api/data/ryzom/interface/tb_support.png | Bin 0 -> 1535 bytes code/web/api/data/ryzom/interface/tb_team.png | Bin 0 -> 1462 bytes .../api/data/ryzom/interface/tb_windows.png | Bin 0 -> 770 bytes .../api/data/ryzom/interface/tetekitin.png | Bin 0 -> 4058 bytes code/web/api/data/ryzom/interface/to_ammo.png | Bin 0 -> 2936 bytes .../web/api/data/ryzom/interface/to_armor.png | Bin 0 -> 3563 bytes .../data/ryzom/interface/to_cooking_pot.png | Bin 0 -> 1958 bytes .../data/ryzom/interface/to_fishing_rod.png | Bin 0 -> 1616 bytes .../api/data/ryzom/interface/to_forage.png | Bin 0 -> 2589 bytes .../api/data/ryzom/interface/to_hammer.png | Bin 0 -> 1826 bytes .../ryzom/interface/to_jewelry_hammer.png | Bin 0 -> 1346 bytes .../api/data/ryzom/interface/to_jewels.png | Bin 0 -> 3822 bytes .../data/ryzom/interface/to_leathercutter.png | Bin 0 -> 1124 bytes .../web/api/data/ryzom/interface/to_melee.png | Bin 0 -> 2691 bytes .../api/data/ryzom/interface/to_needle.png | Bin 0 -> 1546 bytes .../api/data/ryzom/interface/to_pestle.png | Bin 0 -> 3242 bytes .../web/api/data/ryzom/interface/to_range.png | Bin 0 -> 3209 bytes .../api/data/ryzom/interface/to_searake.png | Bin 0 -> 1062 bytes .../web/api/data/ryzom/interface/to_spade.png | Bin 0 -> 1269 bytes .../web/api/data/ryzom/interface/to_stick.png | Bin 0 -> 984 bytes .../ryzom/interface/to_tunneling_knife.png | Bin 0 -> 1426 bytes code/web/api/data/ryzom/interface/to_whip.png | Bin 0 -> 2155 bytes .../api/data/ryzom/interface/to_wrench.png | Bin 0 -> 2053 bytes .../api/data/ryzom/interface/tp_caravane.png | Bin 0 -> 3668 bytes code/web/api/data/ryzom/interface/tp_kami.png | Bin 0 -> 4209 bytes .../api/data/ryzom/interface/us_back_0.png | Bin 0 -> 117 bytes .../api/data/ryzom/interface/us_back_1.png | Bin 0 -> 117 bytes .../api/data/ryzom/interface/us_back_2.png | Bin 0 -> 117 bytes .../api/data/ryzom/interface/us_back_3.png | Bin 0 -> 117 bytes .../api/data/ryzom/interface/us_back_4.png | Bin 0 -> 117 bytes .../api/data/ryzom/interface/us_back_5.png | Bin 0 -> 117 bytes .../api/data/ryzom/interface/us_back_6.png | Bin 0 -> 117 bytes .../api/data/ryzom/interface/us_back_7.png | Bin 0 -> 117 bytes .../api/data/ryzom/interface/us_back_8.png | Bin 0 -> 117 bytes .../api/data/ryzom/interface/us_back_9.png | Bin 0 -> 117 bytes .../web/api/data/ryzom/interface/us_ico_0.png | Bin 0 -> 201 bytes .../web/api/data/ryzom/interface/us_ico_1.png | Bin 0 -> 200 bytes .../web/api/data/ryzom/interface/us_ico_2.png | Bin 0 -> 201 bytes .../web/api/data/ryzom/interface/us_ico_3.png | Bin 0 -> 200 bytes .../web/api/data/ryzom/interface/us_ico_4.png | Bin 0 -> 201 bytes .../web/api/data/ryzom/interface/us_ico_5.png | Bin 0 -> 201 bytes .../web/api/data/ryzom/interface/us_ico_6.png | Bin 0 -> 200 bytes .../web/api/data/ryzom/interface/us_ico_7.png | Bin 0 -> 201 bytes .../web/api/data/ryzom/interface/us_ico_8.png | Bin 0 -> 199 bytes .../web/api/data/ryzom/interface/us_ico_9.png | Bin 0 -> 201 bytes .../api/data/ryzom/interface/us_over_0.png | Bin 0 -> 180 bytes .../api/data/ryzom/interface/us_over_1.png | Bin 0 -> 733 bytes .../api/data/ryzom/interface/us_over_2.png | Bin 0 -> 529 bytes .../api/data/ryzom/interface/us_over_3.png | Bin 0 -> 190 bytes .../api/data/ryzom/interface/us_over_4.png | Bin 0 -> 126 bytes .../api/data/ryzom/interface/w_am_logo.png | Bin 0 -> 566 bytes .../web/api/data/ryzom/interface/w_leader.png | Bin 0 -> 401 bytes code/web/api/data/ryzom/interface/w_major.png | Bin 0 -> 133 bytes .../api/data/ryzom/interface/w_pa_anklet.png | Bin 0 -> 2129 bytes .../data/ryzom/interface/w_pa_bracelet.png | Bin 0 -> 1806 bytes .../api/data/ryzom/interface/w_pa_diadem.png | Bin 0 -> 1527 bytes .../api/data/ryzom/interface/w_pa_earring.png | Bin 0 -> 793 bytes .../api/data/ryzom/interface/w_pa_pendant.png | Bin 0 -> 1618 bytes .../api/data/ryzom/interface/w_pa_ring.png | Bin 0 -> 1881 bytes .../ryzom/interface/w_slot_shortcut_id0.png | Bin 0 -> 141 bytes .../ryzom/interface/w_slot_shortcut_id1.png | Bin 0 -> 201 bytes .../ryzom/interface/w_slot_shortcut_id2.png | Bin 0 -> 178 bytes .../ryzom/interface/w_slot_shortcut_id3.png | Bin 0 -> 165 bytes .../ryzom/interface/w_slot_shortcut_id4.png | Bin 0 -> 174 bytes .../ryzom/interface/w_slot_shortcut_id5.png | Bin 0 -> 192 bytes .../ryzom/interface/w_slot_shortcut_id6.png | Bin 0 -> 147 bytes .../ryzom/interface/w_slot_shortcut_id7.png | Bin 0 -> 180 bytes .../ryzom/interface/w_slot_shortcut_id8.png | Bin 0 -> 192 bytes .../ryzom/interface/w_slot_shortcut_id9.png | Bin 0 -> 167 bytes .../interface/w_slot_shortcut_shift_id0.png | Bin 0 -> 231 bytes .../interface/w_slot_shortcut_shift_id1.png | Bin 0 -> 282 bytes .../interface/w_slot_shortcut_shift_id2.png | Bin 0 -> 253 bytes .../interface/w_slot_shortcut_shift_id3.png | Bin 0 -> 238 bytes .../interface/w_slot_shortcut_shift_id4.png | Bin 0 -> 259 bytes .../interface/w_slot_shortcut_shift_id5.png | Bin 0 -> 273 bytes .../interface/w_slot_shortcut_shift_id6.png | Bin 0 -> 239 bytes .../interface/w_slot_shortcut_shift_id7.png | Bin 0 -> 263 bytes .../interface/w_slot_shortcut_shift_id8.png | Bin 0 -> 264 bytes .../interface/w_slot_shortcut_shift_id9.png | Bin 0 -> 249 bytes .../api/data/ryzom/interface/xp_cat_green.png | Bin 0 -> 3582 bytes code/web/api/player_auth.php | 4 +- code/web/api/ryzom_api.php | 35 +- code/web/api/server/auth.php | 60 +- code/web/api/server/config.php.default | 2 + code/web/api/server/guilds.php | 62 + code/web/api/server/hmagic.php | 108 + code/web/api/server/item_icon.php | 266 + code/web/api/server/time.php | 46 + code/web/api/server/user.php | 44 +- code/web/api/server/utils.php | 2 +- code/web/api/time.php | 35 + 1508 files changed, 19524 insertions(+), 5021 deletions(-) rename code/nel/{src => include/nel}/pacs/build_indoor.h (100%) rename code/nel/{src => include/nel}/pacs/chain.h (100%) rename code/nel/{src => include/nel}/pacs/chain_quad.h (100%) rename code/nel/{src => include/nel}/pacs/collision_callback.h (100%) rename code/nel/{src => include/nel}/pacs/collision_desc.h (100%) rename code/nel/{src => include/nel}/pacs/collision_mesh_build.h (100%) rename code/nel/{src => include/nel}/pacs/collision_ot.h (100%) rename code/nel/{src => include/nel}/pacs/collision_surface_temp.h (100%) rename code/nel/{src => include/nel}/pacs/edge_collide.h (100%) rename code/nel/{src => include/nel}/pacs/edge_quad.h (100%) rename code/nel/{src => include/nel}/pacs/exterior_mesh.h (100%) rename code/nel/{src => include/nel}/pacs/face_grid.h (100%) rename code/nel/{src => include/nel}/pacs/global_retriever.h (100%) rename code/nel/{src => include/nel}/pacs/local_retriever.h (100%) rename code/nel/{src => include/nel}/pacs/move_cell.h (100%) rename code/nel/{src => include/nel}/pacs/move_container.h (100%) rename code/nel/{src => include/nel}/pacs/move_container_inline.h (100%) rename code/nel/{src => include/nel}/pacs/move_element.h (100%) rename code/nel/{src => include/nel}/pacs/move_element_inline.h (100%) rename code/nel/{src => include/nel}/pacs/move_primitive.h (100%) rename code/nel/{src => include/nel}/pacs/primitive_block.h (100%) rename code/nel/{src => include/nel}/pacs/primitive_world_image.h (100%) rename code/nel/{src => include/nel}/pacs/quad_grid.h (100%) rename code/nel/{src => include/nel}/pacs/retrievable_surface.h (100%) rename code/nel/{src => include/nel}/pacs/retriever_bank.h (99%) rename code/nel/{src => include/nel}/pacs/retriever_instance.h (100%) rename code/nel/{src => include/nel}/pacs/surface_quad.h (100%) rename code/nel/{src => include/nel}/pacs/vector_2s.h (100%) create mode 100644 code/nel/tools/3d/object_viewer_qt/ovqt_config.h.cmake create mode 100644 code/nel/tools/3d/s3tc_compressor_lib/CMakeLists.txt create mode 100644 code/nel/tools/3d/shape2obj/main.cpp create mode 100644 code/nel/tools/misc/probe_timers/CMakeLists.txt create mode 100644 code/nel/tools/misc/probe_timers/main.cpp delete mode 100644 code/ryzom/client/unix/ryzom.desktop.in delete mode 100644 code/ryzom/client/unix/ryzom.xpm create mode 100644 code/ryzom/client/unix/ryzom_client.desktop.in rename code/ryzom/client/unix/{ryzom.png => ryzom_client.png} (100%) create mode 100644 code/ryzom/client/unix/ryzom_client.xpm rename code/ryzom/{client/src => common/src/game_share}/http_client.cpp (91%) rename code/ryzom/{client/src => common/src/game_share}/http_client.h (83%) create mode 100644 code/ryzom/tools/leveldesign/georges_dll/CMakeLists.txt create mode 100644 code/ryzom/tools/leveldesign/georges_exe/CMakeLists.txt create mode 100644 code/ryzom/tools/leveldesign/georges_plugin_sound/CMakeLists.txt create mode 100644 code/ryzom/tools/leveldesign/world_editor/world_editor_fauna_graph_plugin/CMakeLists.txt create mode 100644 code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/CMakeLists.txt create mode 100644 code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/CMakeLists.txt create mode 100644 code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/CMakeLists.txt delete mode 100644 code/ryzom/tools/server/www/webig/app_hello.php delete mode 100644 code/ryzom/tools/server/www/webig/index.php delete mode 100644 code/ryzom/tools/server/www/webig/lib/config.php delete mode 100644 code/ryzom/tools/server/www/webig/lib/functions.php delete mode 100644 code/ryzom/tools/server/www/webig/lib/pdr_util.php delete mode 100644 code/ryzom/tools/server/www/webig/lib/pdr_util_character.php delete mode 100644 code/ryzom/tools/server/www/webig/lib/pdr_util_guild.php create mode 100644 code/web/api/client/time.php create mode 100644 code/web/api/common/actionPage.php create mode 100644 code/web/api/common/bbCode.php create mode 100644 code/web/api/common/db_defs.php create mode 100644 code/web/api/common/dfm.php create mode 100644 code/web/api/common/ryform.php create mode 100644 code/web/api/common/ryformBases.php create mode 100644 code/web/api/common/time.php create mode 100644 code/web/api/common/xml_utils.php create mode 100755 code/web/api/data/icons/add_app.png create mode 100644 code/web/api/data/icons/edit.png create mode 100644 code/web/api/data/icons/edit_16.png create mode 100755 code/web/api/data/icons/no_action.png create mode 100644 code/web/api/data/icons/spe_com.png create mode 100644 code/web/api/data/img/bordure.png create mode 100644 code/web/api/data/img/lang/es.png create mode 100644 code/web/api/data/js/combobox.js create mode 100644 code/web/api/data/js/jquery-1.7.1.js create mode 100644 code/web/api/data/ryzom/guild_png/.htaccess create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_00_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_00_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_01_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_01_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_02_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_02_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_03_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_03_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_04_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_04_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_05_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_05_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_06_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_06_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_07_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_07_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_08_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_08_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_09_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_09_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_10_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_10_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_11_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_11_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_12_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_12_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_13_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_13_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_14_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_b_14_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_00_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_00_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_01_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_01_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_02_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_02_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_03_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_03_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_04_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_04_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_05_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_05_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_06_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_06_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_07_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_07_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_08_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_08_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_09_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_09_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_10_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_10_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_11_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_11_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_12_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_12_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_13_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_13_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_14_1.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_back_s_14_2.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_00.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_01.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_02.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_03.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_04.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_05.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_06.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_07.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_08.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_09.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_10.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_11.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_12.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_13.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_14.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_15.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_16.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_17.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_18.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_19.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_20.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_21.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_22.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_23.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_24.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_25.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_26.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_27.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_28.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_29.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_30.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_31.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_32.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_33.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_34.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_35.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_36.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_37.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_38.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_39.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_40.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_41.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_42.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_b_43.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_00.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_01.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_02.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_03.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_04.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_05.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_06.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_07.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_08.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_09.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_10.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_11.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_12.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_13.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_14.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_15.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_16.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_17.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_18.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_19.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_20.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_21.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_22.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_23.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_24.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_25.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_26.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_27.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_28.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_29.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_30.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_31.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_32.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_33.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_34.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_35.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_36.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_37.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_38.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_39.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_40.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_41.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_42.png create mode 100644 code/web/api/data/ryzom/guild_png/guild_symbol_s_43.png create mode 100644 code/web/api/data/ryzom/interface/1h_over.png create mode 100644 code/web/api/data/ryzom/interface/2h_over.png create mode 100644 code/web/api/data/ryzom/interface/am_logo.png create mode 100644 code/web/api/data/ryzom/interface/ar_armpad.png create mode 100644 code/web/api/data/ryzom/interface/ar_armpad_mask.png create mode 100644 code/web/api/data/ryzom/interface/ar_botte.png create mode 100644 code/web/api/data/ryzom/interface/ar_botte_mask.png create mode 100644 code/web/api/data/ryzom/interface/ar_gilet.png create mode 100644 code/web/api/data/ryzom/interface/ar_gilet_mask.png create mode 100644 code/web/api/data/ryzom/interface/ar_hand.png create mode 100644 code/web/api/data/ryzom/interface/ar_hand_mask.png create mode 100644 code/web/api/data/ryzom/interface/ar_helmet.png create mode 100644 code/web/api/data/ryzom/interface/ar_helmet_mask.png create mode 100644 code/web/api/data/ryzom/interface/ar_pantabotte.png create mode 100644 code/web/api/data/ryzom/interface/ar_pantabotte_mask.png create mode 100644 code/web/api/data/ryzom/interface/asc_exit.png create mode 100644 code/web/api/data/ryzom/interface/asc_rolemastercraft.png create mode 100644 code/web/api/data/ryzom/interface/asc_rolemasterfight.png create mode 100644 code/web/api/data/ryzom/interface/asc_rolemasterharvest.png create mode 100644 code/web/api/data/ryzom/interface/asc_rolemastermagic.png create mode 100644 code/web/api/data/ryzom/interface/asc_unknown.png create mode 100644 code/web/api/data/ryzom/interface/bg_downloader.png create mode 100644 code/web/api/data/ryzom/interface/bg_empty.png create mode 100644 code/web/api/data/ryzom/interface/bk_aura.png create mode 100644 code/web/api/data/ryzom/interface/bk_conso.png create mode 100644 code/web/api/data/ryzom/interface/bk_consommable.png create mode 100644 code/web/api/data/ryzom/interface/bk_fyros.png create mode 100644 code/web/api/data/ryzom/interface/bk_fyros_brick.png create mode 100644 code/web/api/data/ryzom/interface/bk_generic.png create mode 100644 code/web/api/data/ryzom/interface/bk_generic_brick.png create mode 100644 code/web/api/data/ryzom/interface/bk_goo.png create mode 100644 code/web/api/data/ryzom/interface/bk_guild.png create mode 100644 code/web/api/data/ryzom/interface/bk_horde.png create mode 100644 code/web/api/data/ryzom/interface/bk_kami.png create mode 100644 code/web/api/data/ryzom/interface/bk_karavan.png create mode 100644 code/web/api/data/ryzom/interface/bk_magie_noire_brick.png create mode 100644 code/web/api/data/ryzom/interface/bk_matis.png create mode 100644 code/web/api/data/ryzom/interface/bk_matis_brick.png create mode 100644 code/web/api/data/ryzom/interface/bk_mission.png create mode 100644 code/web/api/data/ryzom/interface/bk_mission2.png create mode 100644 code/web/api/data/ryzom/interface/bk_outpost.png create mode 100644 code/web/api/data/ryzom/interface/bk_outpost_brick.png create mode 100644 code/web/api/data/ryzom/interface/bk_power.png create mode 100644 code/web/api/data/ryzom/interface/bk_primes.png create mode 100644 code/web/api/data/ryzom/interface/bk_service.png create mode 100644 code/web/api/data/ryzom/interface/bk_training.png create mode 100644 code/web/api/data/ryzom/interface/bk_tryker.png create mode 100644 code/web/api/data/ryzom/interface/bk_tryker_brick.png create mode 100644 code/web/api/data/ryzom/interface/bk_zorai.png create mode 100644 code/web/api/data/ryzom/interface/bk_zorai_brick.png create mode 100644 code/web/api/data/ryzom/interface/brick_default.png create mode 100644 code/web/api/data/ryzom/interface/building_state_24x24.png create mode 100644 code/web/api/data/ryzom/interface/cb_main_nue.png create mode 100644 code/web/api/data/ryzom/interface/ch_back.png create mode 100644 code/web/api/data/ryzom/interface/charge.png create mode 100644 code/web/api/data/ryzom/interface/clef.png create mode 100644 code/web/api/data/ryzom/interface/conso_branche.png create mode 100644 code/web/api/data/ryzom/interface/conso_branche_mask.png create mode 100644 code/web/api/data/ryzom/interface/conso_fleur.png create mode 100644 code/web/api/data/ryzom/interface/conso_fleur_mask.png create mode 100644 code/web/api/data/ryzom/interface/conso_grappe.png create mode 100644 code/web/api/data/ryzom/interface/conso_grappe_mask.png create mode 100644 code/web/api/data/ryzom/interface/conso_nectar.png create mode 100644 code/web/api/data/ryzom/interface/conso_nectar_mask.png create mode 100644 code/web/api/data/ryzom/interface/construction.png create mode 100644 code/web/api/data/ryzom/interface/cp_back.png create mode 100644 code/web/api/data/ryzom/interface/cp_over_break.png create mode 100644 code/web/api/data/ryzom/interface/cp_over_less.png create mode 100644 code/web/api/data/ryzom/interface/cp_over_more.png create mode 100644 code/web/api/data/ryzom/interface/cp_over_opening.png create mode 100644 code/web/api/data/ryzom/interface/cp_over_opening_2.png create mode 100644 code/web/api/data/ryzom/interface/cristal_ammo.png create mode 100644 code/web/api/data/ryzom/interface/cristal_generic.png create mode 100644 code/web/api/data/ryzom/interface/cristal_spell.png create mode 100644 code/web/api/data/ryzom/interface/ef_back.png create mode 100644 code/web/api/data/ryzom/interface/ef_over_break.png create mode 100644 code/web/api/data/ryzom/interface/ef_over_less.png create mode 100644 code/web/api/data/ryzom/interface/ef_over_more.png create mode 100644 code/web/api/data/ryzom/interface/fo_back.png create mode 100644 code/web/api/data/ryzom/interface/fo_over.png create mode 100644 code/web/api/data/ryzom/interface/fp_ammo.png create mode 100644 code/web/api/data/ryzom/interface/fp_armor.png create mode 100644 code/web/api/data/ryzom/interface/fp_building.png create mode 100644 code/web/api/data/ryzom/interface/fp_jewel.png create mode 100644 code/web/api/data/ryzom/interface/fp_melee.png create mode 100644 code/web/api/data/ryzom/interface/fp_over.png create mode 100644 code/web/api/data/ryzom/interface/fp_range.png create mode 100644 code/web/api/data/ryzom/interface/fp_shield.png create mode 100644 code/web/api/data/ryzom/interface/fp_tools.png create mode 100644 code/web/api/data/ryzom/interface/ge_mission_outpost_townhall.png create mode 100644 code/web/api/data/ryzom/interface/ico_absorb_damage.png create mode 100644 code/web/api/data/ryzom/interface/ico_accurate.png create mode 100644 code/web/api/data/ryzom/interface/ico_acid.png create mode 100644 code/web/api/data/ryzom/interface/ico_aim.png create mode 100644 code/web/api/data/ryzom/interface/ico_aim_bird_wings.png create mode 100644 code/web/api/data/ryzom/interface/ico_aim_flying_kitin_abdomen.png create mode 100644 code/web/api/data/ryzom/interface/ico_aim_homin_arms.png create mode 100644 code/web/api/data/ryzom/interface/ico_aim_homin_chest.png create mode 100644 code/web/api/data/ryzom/interface/ico_aim_homin_feet.png create mode 100644 code/web/api/data/ryzom/interface/ico_aim_homin_feint.png create mode 100644 code/web/api/data/ryzom/interface/ico_aim_homin_hands.png create mode 100644 code/web/api/data/ryzom/interface/ico_aim_homin_head.png create mode 100644 code/web/api/data/ryzom/interface/ico_aim_homin_legs.png create mode 100644 code/web/api/data/ryzom/interface/ico_aim_kitin_head.png create mode 100644 code/web/api/data/ryzom/interface/ico_amande.png create mode 100644 code/web/api/data/ryzom/interface/ico_ammo_bullet.png create mode 100644 code/web/api/data/ryzom/interface/ico_ammo_jacket.png create mode 100644 code/web/api/data/ryzom/interface/ico_angle.png create mode 100644 code/web/api/data/ryzom/interface/ico_anti_magic_shield.png create mode 100644 code/web/api/data/ryzom/interface/ico_armor.png create mode 100644 code/web/api/data/ryzom/interface/ico_armor_clip.png create mode 100644 code/web/api/data/ryzom/interface/ico_armor_heavy.png create mode 100644 code/web/api/data/ryzom/interface/ico_armor_kitin.png create mode 100644 code/web/api/data/ryzom/interface/ico_armor_light.png create mode 100644 code/web/api/data/ryzom/interface/ico_armor_medium.png create mode 100644 code/web/api/data/ryzom/interface/ico_armor_penalty.png create mode 100644 code/web/api/data/ryzom/interface/ico_armor_shell.png create mode 100644 code/web/api/data/ryzom/interface/ico_atys.png create mode 100644 code/web/api/data/ryzom/interface/ico_atysian.png create mode 100644 code/web/api/data/ryzom/interface/ico_balance_hp.png create mode 100644 code/web/api/data/ryzom/interface/ico_barrel.png create mode 100644 code/web/api/data/ryzom/interface/ico_bash.png create mode 100644 code/web/api/data/ryzom/interface/ico_berserk.png create mode 100644 code/web/api/data/ryzom/interface/ico_blade.png create mode 100644 code/web/api/data/ryzom/interface/ico_bleeding.png create mode 100644 code/web/api/data/ryzom/interface/ico_blind.png create mode 100644 code/web/api/data/ryzom/interface/ico_blunt.png create mode 100644 code/web/api/data/ryzom/interface/ico_bomb.png create mode 100644 code/web/api/data/ryzom/interface/ico_cataliseur_xp.png create mode 100644 code/web/api/data/ryzom/interface/ico_celestial.png create mode 100644 code/web/api/data/ryzom/interface/ico_circular_attack.png create mode 100644 code/web/api/data/ryzom/interface/ico_clothes.png create mode 100644 code/web/api/data/ryzom/interface/ico_cold.png create mode 100644 code/web/api/data/ryzom/interface/ico_concentration.png create mode 100644 code/web/api/data/ryzom/interface/ico_consommable_over.png create mode 100644 code/web/api/data/ryzom/interface/ico_constitution.png create mode 100644 code/web/api/data/ryzom/interface/ico_counterweight.png create mode 100644 code/web/api/data/ryzom/interface/ico_craft_buff.png create mode 100644 code/web/api/data/ryzom/interface/ico_create_sapload.png create mode 100644 code/web/api/data/ryzom/interface/ico_curse.png create mode 100644 code/web/api/data/ryzom/interface/ico_debuff.png create mode 100644 code/web/api/data/ryzom/interface/ico_debuff_resist.png create mode 100644 code/web/api/data/ryzom/interface/ico_debuff_skill.png create mode 100644 code/web/api/data/ryzom/interface/ico_desert.png create mode 100644 code/web/api/data/ryzom/interface/ico_dexterity.png create mode 100644 code/web/api/data/ryzom/interface/ico_disarm.png create mode 100644 code/web/api/data/ryzom/interface/ico_dodge.png create mode 100644 code/web/api/data/ryzom/interface/ico_dot.png create mode 100644 code/web/api/data/ryzom/interface/ico_durability.png create mode 100644 code/web/api/data/ryzom/interface/ico_electric.png create mode 100644 code/web/api/data/ryzom/interface/ico_explosif.png create mode 100644 code/web/api/data/ryzom/interface/ico_extracting.png create mode 100644 code/web/api/data/ryzom/interface/ico_fear.png create mode 100644 code/web/api/data/ryzom/interface/ico_feint.png create mode 100644 code/web/api/data/ryzom/interface/ico_fire.png create mode 100644 code/web/api/data/ryzom/interface/ico_firing_pin.png create mode 100644 code/web/api/data/ryzom/interface/ico_fleur_carac_1.png create mode 100644 code/web/api/data/ryzom/interface/ico_fleur_carac_1_mask.png create mode 100644 code/web/api/data/ryzom/interface/ico_fleur_carac_2.png create mode 100644 code/web/api/data/ryzom/interface/ico_fleur_carac_2_mask.png create mode 100644 code/web/api/data/ryzom/interface/ico_fleur_carac_3.png create mode 100644 code/web/api/data/ryzom/interface/ico_fleur_carac_3_mask.png create mode 100644 code/web/api/data/ryzom/interface/ico_focus.png create mode 100644 code/web/api/data/ryzom/interface/ico_forage_buff.png create mode 100644 code/web/api/data/ryzom/interface/ico_forbid_item.png create mode 100644 code/web/api/data/ryzom/interface/ico_forest.png create mode 100644 code/web/api/data/ryzom/interface/ico_foreuse.png create mode 100644 code/web/api/data/ryzom/interface/ico_gardening.png create mode 100644 code/web/api/data/ryzom/interface/ico_gentle.png create mode 100644 code/web/api/data/ryzom/interface/ico_goo.png create mode 100644 code/web/api/data/ryzom/interface/ico_gripp.png create mode 100644 code/web/api/data/ryzom/interface/ico_haircolor.png create mode 100644 code/web/api/data/ryzom/interface/ico_haircut.png create mode 100644 code/web/api/data/ryzom/interface/ico_hammer.png create mode 100644 code/web/api/data/ryzom/interface/ico_harmful.png create mode 100644 code/web/api/data/ryzom/interface/ico_hatred.png create mode 100644 code/web/api/data/ryzom/interface/ico_heal.png create mode 100644 code/web/api/data/ryzom/interface/ico_hit_rate.png create mode 100644 code/web/api/data/ryzom/interface/ico_incapacity.png create mode 100644 code/web/api/data/ryzom/interface/ico_intelligence.png create mode 100644 code/web/api/data/ryzom/interface/ico_interrupt.png create mode 100644 code/web/api/data/ryzom/interface/ico_invulnerability.png create mode 100644 code/web/api/data/ryzom/interface/ico_jewel_stone.png create mode 100644 code/web/api/data/ryzom/interface/ico_jewel_stone_support.png create mode 100644 code/web/api/data/ryzom/interface/ico_jungle.png create mode 100644 code/web/api/data/ryzom/interface/ico_lacustre.png create mode 100644 code/web/api/data/ryzom/interface/ico_landmark_bonus.png create mode 100644 code/web/api/data/ryzom/interface/ico_level.png create mode 100644 code/web/api/data/ryzom/interface/ico_lining.png create mode 100644 code/web/api/data/ryzom/interface/ico_location.png create mode 100644 code/web/api/data/ryzom/interface/ico_madness.png create mode 100644 code/web/api/data/ryzom/interface/ico_magic.png create mode 100644 code/web/api/data/ryzom/interface/ico_magic_action_buff.png create mode 100644 code/web/api/data/ryzom/interface/ico_magic_focus.png create mode 100644 code/web/api/data/ryzom/interface/ico_magic_target_buff.png create mode 100644 code/web/api/data/ryzom/interface/ico_melee_action_buff.png create mode 100644 code/web/api/data/ryzom/interface/ico_melee_target_buff.png create mode 100644 code/web/api/data/ryzom/interface/ico_mental.png create mode 100644 code/web/api/data/ryzom/interface/ico_metabolism.png create mode 100644 code/web/api/data/ryzom/interface/ico_mezz.png create mode 100644 code/web/api/data/ryzom/interface/ico_misfortune.png create mode 100644 code/web/api/data/ryzom/interface/ico_mission_art_fyros.png create mode 100644 code/web/api/data/ryzom/interface/ico_mission_art_matis.png create mode 100644 code/web/api/data/ryzom/interface/ico_mission_art_tryker.png create mode 100644 code/web/api/data/ryzom/interface/ico_mission_art_zorai.png create mode 100644 code/web/api/data/ryzom/interface/ico_mission_barrel.png create mode 100644 code/web/api/data/ryzom/interface/ico_mission_bottle.png create mode 100644 code/web/api/data/ryzom/interface/ico_mission_casket.png create mode 100644 code/web/api/data/ryzom/interface/ico_mission_medicine.png create mode 100644 code/web/api/data/ryzom/interface/ico_mission_message.png create mode 100644 code/web/api/data/ryzom/interface/ico_mission_package.png create mode 100644 code/web/api/data/ryzom/interface/ico_mission_pot.png create mode 100644 code/web/api/data/ryzom/interface/ico_mission_purse.png create mode 100644 code/web/api/data/ryzom/interface/ico_move.png create mode 100644 code/web/api/data/ryzom/interface/ico_multi_fight.png create mode 100644 code/web/api/data/ryzom/interface/ico_multiple_spots.png create mode 100644 code/web/api/data/ryzom/interface/ico_noix.png create mode 100644 code/web/api/data/ryzom/interface/ico_opening_hit.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_autumn.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_degenerated.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_fauna.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_flora.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_hit_arms.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_hit_chest.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_hit_feet.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_hit_feet_hands.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_hit_feet_head.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_hit_feet_x2.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_hit_feint_x3.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_hit_hands.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_hit_hands_chest.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_hit_hands_head.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_hit_head.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_hit_head_x3.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_hit_legs.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_homin.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_kitin.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_magic.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_melee.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_racial.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_range.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_special.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_spring.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_summer.png create mode 100644 code/web/api/data/ryzom/interface/ico_over_winter.png create mode 100644 code/web/api/data/ryzom/interface/ico_parry.png create mode 100644 code/web/api/data/ryzom/interface/ico_piercing.png create mode 100644 code/web/api/data/ryzom/interface/ico_pointe.png create mode 100644 code/web/api/data/ryzom/interface/ico_poison.png create mode 100644 code/web/api/data/ryzom/interface/ico_power.png create mode 100644 code/web/api/data/ryzom/interface/ico_preservation.png create mode 100644 code/web/api/data/ryzom/interface/ico_primal.png create mode 100644 code/web/api/data/ryzom/interface/ico_prime_roots.png create mode 100644 code/web/api/data/ryzom/interface/ico_private.png create mode 100644 code/web/api/data/ryzom/interface/ico_prospecting.png create mode 100644 code/web/api/data/ryzom/interface/ico_quality.png create mode 100644 code/web/api/data/ryzom/interface/ico_racine.png create mode 100644 code/web/api/data/ryzom/interface/ico_range.png create mode 100644 code/web/api/data/ryzom/interface/ico_range_action_buff.png create mode 100644 code/web/api/data/ryzom/interface/ico_range_target_buff.png create mode 100644 code/web/api/data/ryzom/interface/ico_ricochet.png create mode 100644 code/web/api/data/ryzom/interface/ico_root.png create mode 100644 code/web/api/data/ryzom/interface/ico_rot.png create mode 100644 code/web/api/data/ryzom/interface/ico_safe.png create mode 100644 code/web/api/data/ryzom/interface/ico_sap.png create mode 100644 code/web/api/data/ryzom/interface/ico_self_damage.png create mode 100644 code/web/api/data/ryzom/interface/ico_shaft.png create mode 100644 code/web/api/data/ryzom/interface/ico_shield_buff.png create mode 100644 code/web/api/data/ryzom/interface/ico_shield_up.png create mode 100644 code/web/api/data/ryzom/interface/ico_shielding.png create mode 100644 code/web/api/data/ryzom/interface/ico_shockwave.png create mode 100644 code/web/api/data/ryzom/interface/ico_sickness.png create mode 100644 code/web/api/data/ryzom/interface/ico_slashing.png create mode 100644 code/web/api/data/ryzom/interface/ico_slow.png create mode 100644 code/web/api/data/ryzom/interface/ico_soft_spot.png create mode 100644 code/web/api/data/ryzom/interface/ico_source_knowledge.png create mode 100644 code/web/api/data/ryzom/interface/ico_source_time.png create mode 100644 code/web/api/data/ryzom/interface/ico_speed.png create mode 100644 code/web/api/data/ryzom/interface/ico_speeding_up.png create mode 100644 code/web/api/data/ryzom/interface/ico_spell_break.png create mode 100644 code/web/api/data/ryzom/interface/ico_spores.png create mode 100644 code/web/api/data/ryzom/interface/ico_spray.png create mode 100644 code/web/api/data/ryzom/interface/ico_spying.png create mode 100644 code/web/api/data/ryzom/interface/ico_stamina.png create mode 100644 code/web/api/data/ryzom/interface/ico_strength.png create mode 100644 code/web/api/data/ryzom/interface/ico_stuffing.png create mode 100644 code/web/api/data/ryzom/interface/ico_stunn.png create mode 100644 code/web/api/data/ryzom/interface/ico_task_craft.png create mode 100644 code/web/api/data/ryzom/interface/ico_task_done.png create mode 100644 code/web/api/data/ryzom/interface/ico_task_failed.png create mode 100644 code/web/api/data/ryzom/interface/ico_task_fight.png create mode 100644 code/web/api/data/ryzom/interface/ico_task_forage.png create mode 100644 code/web/api/data/ryzom/interface/ico_task_generic.png create mode 100644 code/web/api/data/ryzom/interface/ico_task_generic_quart.png create mode 100644 code/web/api/data/ryzom/interface/ico_task_guild.png create mode 100644 code/web/api/data/ryzom/interface/ico_task_rite.png create mode 100644 code/web/api/data/ryzom/interface/ico_task_travel.png create mode 100644 code/web/api/data/ryzom/interface/ico_tatoo.png create mode 100644 code/web/api/data/ryzom/interface/ico_taunt.png create mode 100644 code/web/api/data/ryzom/interface/ico_time.png create mode 100644 code/web/api/data/ryzom/interface/ico_time_bonus.png create mode 100644 code/web/api/data/ryzom/interface/ico_tourbe.png create mode 100644 code/web/api/data/ryzom/interface/ico_trigger.png create mode 100644 code/web/api/data/ryzom/interface/ico_umbrella.png create mode 100644 code/web/api/data/ryzom/interface/ico_use_enchantement.png create mode 100644 code/web/api/data/ryzom/interface/ico_vampire.png create mode 100644 code/web/api/data/ryzom/interface/ico_visibility.png create mode 100644 code/web/api/data/ryzom/interface/ico_war_cry.png create mode 100644 code/web/api/data/ryzom/interface/ico_weight.png create mode 100644 code/web/api/data/ryzom/interface/ico_wellbalanced.png create mode 100644 code/web/api/data/ryzom/interface/ico_will.png create mode 100644 code/web/api/data/ryzom/interface/ico_windding.png create mode 100644 code/web/api/data/ryzom/interface/ico_wisdom.png create mode 100644 code/web/api/data/ryzom/interface/improved_tool.png create mode 100644 code/web/api/data/ryzom/interface/item_default.png create mode 100644 code/web/api/data/ryzom/interface/item_plan_over.png create mode 100644 code/web/api/data/ryzom/interface/lucky_flower.png create mode 100644 code/web/api/data/ryzom/interface/mail.png create mode 100644 code/web/api/data/ryzom/interface/mektoub_pack.png create mode 100644 code/web/api/data/ryzom/interface/mektoub_steed.png create mode 100644 code/web/api/data/ryzom/interface/mf_back.png create mode 100644 code/web/api/data/ryzom/interface/mf_over.png create mode 100644 code/web/api/data/ryzom/interface/mg_glove.png create mode 100644 code/web/api/data/ryzom/interface/mission_icon_0.png create mode 100644 code/web/api/data/ryzom/interface/mission_icon_1.png create mode 100644 code/web/api/data/ryzom/interface/mission_icon_2.png create mode 100644 code/web/api/data/ryzom/interface/mission_icon_3.png create mode 100644 code/web/api/data/ryzom/interface/mp3.png create mode 100644 code/web/api/data/ryzom/interface/mp_amber.png create mode 100644 code/web/api/data/ryzom/interface/mp_back_curative.png create mode 100644 code/web/api/data/ryzom/interface/mp_back_offensive.png create mode 100644 code/web/api/data/ryzom/interface/mp_back_selfonly.png create mode 100644 code/web/api/data/ryzom/interface/mp_bark.png create mode 100644 code/web/api/data/ryzom/interface/mp_batiment_brique.png create mode 100644 code/web/api/data/ryzom/interface/mp_batiment_colonne.png create mode 100644 code/web/api/data/ryzom/interface/mp_batiment_colonne_justice.png create mode 100644 code/web/api/data/ryzom/interface/mp_batiment_comble.png create mode 100644 code/web/api/data/ryzom/interface/mp_batiment_noyau_maduk.png create mode 100644 code/web/api/data/ryzom/interface/mp_batiment_ornement.png create mode 100644 code/web/api/data/ryzom/interface/mp_batiment_revetement.png create mode 100644 code/web/api/data/ryzom/interface/mp_batiment_socle.png create mode 100644 code/web/api/data/ryzom/interface/mp_batiment_statue.png create mode 100644 code/web/api/data/ryzom/interface/mp_beak.png create mode 100644 code/web/api/data/ryzom/interface/mp_blood.png create mode 100644 code/web/api/data/ryzom/interface/mp_bone.png create mode 100644 code/web/api/data/ryzom/interface/mp_bud.png create mode 100644 code/web/api/data/ryzom/interface/mp_buterfly_blue.png create mode 100644 code/web/api/data/ryzom/interface/mp_buterfly_cocoon.png create mode 100644 code/web/api/data/ryzom/interface/mp_cereal.png create mode 100644 code/web/api/data/ryzom/interface/mp_claw.png create mode 100644 code/web/api/data/ryzom/interface/mp_dandelion.png create mode 100644 code/web/api/data/ryzom/interface/mp_dry create mode 100644 code/web/api/data/ryzom/interface/mp_dry wood.png create mode 100644 code/web/api/data/ryzom/interface/mp_dry.png create mode 100644 code/web/api/data/ryzom/interface/mp_dry_wood.png create mode 100644 code/web/api/data/ryzom/interface/mp_dust.png create mode 100644 code/web/api/data/ryzom/interface/mp_egg.png create mode 100644 code/web/api/data/ryzom/interface/mp_eyes.png create mode 100644 code/web/api/data/ryzom/interface/mp_fang.png create mode 100644 code/web/api/data/ryzom/interface/mp_fiber.png create mode 100644 code/web/api/data/ryzom/interface/mp_filament.png create mode 100644 code/web/api/data/ryzom/interface/mp_firefly_abdomen.png create mode 100644 code/web/api/data/ryzom/interface/mp_fish_scale.png create mode 100644 code/web/api/data/ryzom/interface/mp_flowers.png create mode 100644 code/web/api/data/ryzom/interface/mp_fresh_loose_soil.png create mode 100644 code/web/api/data/ryzom/interface/mp_fruit.png create mode 100644 code/web/api/data/ryzom/interface/mp_generic.png create mode 100644 code/web/api/data/ryzom/interface/mp_generic_colorize.png create mode 100644 code/web/api/data/ryzom/interface/mp_gomme.png create mode 100644 code/web/api/data/ryzom/interface/mp_goo_residue.png create mode 100644 code/web/api/data/ryzom/interface/mp_hairs.png create mode 100644 code/web/api/data/ryzom/interface/mp_hoof.png create mode 100644 code/web/api/data/ryzom/interface/mp_horn.png create mode 100644 code/web/api/data/ryzom/interface/mp_horney.png create mode 100644 code/web/api/data/ryzom/interface/mp_insect_fossil.png create mode 100644 code/web/api/data/ryzom/interface/mp_kitin_flesh.png create mode 100644 code/web/api/data/ryzom/interface/mp_kitin_secretion.png create mode 100644 code/web/api/data/ryzom/interface/mp_kitinshell.png create mode 100644 code/web/api/data/ryzom/interface/mp_larva.png create mode 100644 code/web/api/data/ryzom/interface/mp_leaf.png create mode 100644 code/web/api/data/ryzom/interface/mp_leather.png create mode 100644 code/web/api/data/ryzom/interface/mp_liane.png create mode 100644 code/web/api/data/ryzom/interface/mp_lichen.png create mode 100644 code/web/api/data/ryzom/interface/mp_ligament.png create mode 100644 code/web/api/data/ryzom/interface/mp_mandible.png create mode 100644 code/web/api/data/ryzom/interface/mp_meat.png create mode 100644 code/web/api/data/ryzom/interface/mp_moss.png create mode 100644 code/web/api/data/ryzom/interface/mp_mushroom.png create mode 100644 code/web/api/data/ryzom/interface/mp_nail.png create mode 100644 code/web/api/data/ryzom/interface/mp_oil.png create mode 100644 code/web/api/data/ryzom/interface/mp_over_link.png create mode 100644 code/web/api/data/ryzom/interface/mp_parasite.png create mode 100644 code/web/api/data/ryzom/interface/mp_pearl.png create mode 100644 code/web/api/data/ryzom/interface/mp_pelvis.png create mode 100644 code/web/api/data/ryzom/interface/mp_pigment.png create mode 100644 code/web/api/data/ryzom/interface/mp_pistil.png create mode 100644 code/web/api/data/ryzom/interface/mp_plant_fossil.png create mode 100644 code/web/api/data/ryzom/interface/mp_pollen.png create mode 100644 code/web/api/data/ryzom/interface/mp_resin.png create mode 100644 code/web/api/data/ryzom/interface/mp_ronce.png create mode 100644 code/web/api/data/ryzom/interface/mp_rostrum.png create mode 100644 code/web/api/data/ryzom/interface/mp_sap.png create mode 100644 code/web/api/data/ryzom/interface/mp_sawdust.png create mode 100644 code/web/api/data/ryzom/interface/mp_seed.png create mode 100644 code/web/api/data/ryzom/interface/mp_shell.png create mode 100644 code/web/api/data/ryzom/interface/mp_silk_worm.png create mode 100644 code/web/api/data/ryzom/interface/mp_skin.png create mode 100644 code/web/api/data/ryzom/interface/mp_skull.png create mode 100644 code/web/api/data/ryzom/interface/mp_spiders_web.png create mode 100644 code/web/api/data/ryzom/interface/mp_spine.png create mode 100644 code/web/api/data/ryzom/interface/mp_stem.png create mode 100644 code/web/api/data/ryzom/interface/mp_sting.png create mode 100644 code/web/api/data/ryzom/interface/mp_straw.png create mode 100644 code/web/api/data/ryzom/interface/mp_suc.png create mode 100644 code/web/api/data/ryzom/interface/mp_tail.png create mode 100644 code/web/api/data/ryzom/interface/mp_tooth.png create mode 100644 code/web/api/data/ryzom/interface/mp_trunk.png create mode 100644 code/web/api/data/ryzom/interface/mp_whiskers.png create mode 100644 code/web/api/data/ryzom/interface/mp_wing.png create mode 100644 code/web/api/data/ryzom/interface/mp_wood.png create mode 100644 code/web/api/data/ryzom/interface/mp_wood_node.png create mode 100644 code/web/api/data/ryzom/interface/mw_2h_axe.png create mode 100644 code/web/api/data/ryzom/interface/mw_2h_lance.png create mode 100644 code/web/api/data/ryzom/interface/mw_2h_mace.png create mode 100644 code/web/api/data/ryzom/interface/mw_2h_sword.png create mode 100644 code/web/api/data/ryzom/interface/mw_axe.png create mode 100644 code/web/api/data/ryzom/interface/mw_dagger.png create mode 100644 code/web/api/data/ryzom/interface/mw_lance.png create mode 100644 code/web/api/data/ryzom/interface/mw_mace.png create mode 100644 code/web/api/data/ryzom/interface/mw_staff.png create mode 100644 code/web/api/data/ryzom/interface/mw_sword.png create mode 100644 code/web/api/data/ryzom/interface/no_action.png create mode 100644 code/web/api/data/ryzom/interface/num_slash.png create mode 100644 code/web/api/data/ryzom/interface/op_back.png create mode 100644 code/web/api/data/ryzom/interface/op_over_break.png create mode 100644 code/web/api/data/ryzom/interface/op_over_less.png create mode 100644 code/web/api/data/ryzom/interface/op_over_more.png create mode 100644 code/web/api/data/ryzom/interface/pa_anklet.png create mode 100644 code/web/api/data/ryzom/interface/pa_back.png create mode 100644 code/web/api/data/ryzom/interface/pa_bracelet.png create mode 100644 code/web/api/data/ryzom/interface/pa_diadem.png create mode 100644 code/web/api/data/ryzom/interface/pa_earring.png create mode 100644 code/web/api/data/ryzom/interface/pa_over_break.png create mode 100644 code/web/api/data/ryzom/interface/pa_over_less.png create mode 100644 code/web/api/data/ryzom/interface/pa_over_more.png create mode 100644 code/web/api/data/ryzom/interface/pa_pendant.png create mode 100644 code/web/api/data/ryzom/interface/pa_ring.png create mode 100644 code/web/api/data/ryzom/interface/profile.png create mode 100644 code/web/api/data/ryzom/interface/protect_amber.png create mode 100644 code/web/api/data/ryzom/interface/pvp_ally_0.png create mode 100644 code/web/api/data/ryzom/interface/pvp_ally_1.png create mode 100644 code/web/api/data/ryzom/interface/pvp_ally_2.png create mode 100644 code/web/api/data/ryzom/interface/pvp_ally_3.png create mode 100644 code/web/api/data/ryzom/interface/pvp_ally_4.png create mode 100644 code/web/api/data/ryzom/interface/pvp_ally_6.png create mode 100644 code/web/api/data/ryzom/interface/pvp_ally_primas.png create mode 100644 code/web/api/data/ryzom/interface/pvp_ally_ranger.png create mode 100644 code/web/api/data/ryzom/interface/pvp_aura.png create mode 100644 code/web/api/data/ryzom/interface/pvp_aura_mask.png create mode 100644 code/web/api/data/ryzom/interface/pvp_boost.png create mode 100644 code/web/api/data/ryzom/interface/pvp_boost_mask.png create mode 100644 code/web/api/data/ryzom/interface/pvp_enemy_0.png create mode 100644 code/web/api/data/ryzom/interface/pvp_enemy_1.png create mode 100644 code/web/api/data/ryzom/interface/pvp_enemy_2.png create mode 100644 code/web/api/data/ryzom/interface/pvp_enemy_3.png create mode 100644 code/web/api/data/ryzom/interface/pvp_enemy_4.png create mode 100644 code/web/api/data/ryzom/interface/pvp_enemy_6.png create mode 100644 code/web/api/data/ryzom/interface/pvp_enemy_marauder.png create mode 100644 code/web/api/data/ryzom/interface/pvp_enemy_trytonist.png create mode 100644 code/web/api/data/ryzom/interface/pw_4.png create mode 100644 code/web/api/data/ryzom/interface/pw_5.png create mode 100644 code/web/api/data/ryzom/interface/pw_6.png create mode 100644 code/web/api/data/ryzom/interface/pw_7.png create mode 100644 code/web/api/data/ryzom/interface/pw_heavy.png create mode 100644 code/web/api/data/ryzom/interface/pw_light.png create mode 100644 code/web/api/data/ryzom/interface/pw_medium.png create mode 100644 code/web/api/data/ryzom/interface/quest_coeur.png create mode 100644 code/web/api/data/ryzom/interface/quest_foie.png create mode 100644 code/web/api/data/ryzom/interface/quest_jeton.png create mode 100644 code/web/api/data/ryzom/interface/quest_langue.png create mode 100644 code/web/api/data/ryzom/interface/quest_louche.png create mode 100644 code/web/api/data/ryzom/interface/quest_oreille.png create mode 100644 code/web/api/data/ryzom/interface/quest_patte.png create mode 100644 code/web/api/data/ryzom/interface/quest_poils.png create mode 100644 code/web/api/data/ryzom/interface/quest_queue.png create mode 100644 code/web/api/data/ryzom/interface/quest_ticket.png create mode 100644 code/web/api/data/ryzom/interface/r2_live.png create mode 100644 code/web/api/data/ryzom/interface/r2_live_over.png create mode 100644 code/web/api/data/ryzom/interface/r2_live_pushed.png create mode 100644 code/web/api/data/ryzom/interface/r2_palette_entities.png create mode 100644 code/web/api/data/ryzom/interface/requirement.png create mode 100644 code/web/api/data/ryzom/interface/rm_f.png create mode 100644 code/web/api/data/ryzom/interface/rm_f_upgrade.png create mode 100644 code/web/api/data/ryzom/interface/rm_h.png create mode 100644 code/web/api/data/ryzom/interface/rm_h_upgrade.png create mode 100644 code/web/api/data/ryzom/interface/rm_m.png create mode 100644 code/web/api/data/ryzom/interface/rm_m_upgrade.png create mode 100644 code/web/api/data/ryzom/interface/rm_r.png create mode 100644 code/web/api/data/ryzom/interface/rm_r_upgrade.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_200.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_201.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_202.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_203.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_204.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_205.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_206.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_207.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_advanced.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_elementary.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_roleplay.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_task.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_task_certificats.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_task_convert.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_task_elementary.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_task_generic.png create mode 100644 code/web/api/data/ryzom/interface/rpjob_task_upgrade.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_200_a.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_200_b.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_200_c.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_201_a.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_201_b.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_201_c.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_202_a.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_202_b.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_202_c.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_203_a.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_203_b.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_203_c.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_204_a.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_204_b.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_204_c.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_205_a.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_205_b.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_205_c.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_206_a.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_206_b.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_206_c.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_207_a.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_207_b.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_207_c.png create mode 100644 code/web/api/data/ryzom/interface/rpjobitem_certifications.png create mode 100644 code/web/api/data/ryzom/interface/rw_autolaunch.png create mode 100644 code/web/api/data/ryzom/interface/rw_bowgun.png create mode 100644 code/web/api/data/ryzom/interface/rw_grenade.png create mode 100644 code/web/api/data/ryzom/interface/rw_harpoongun.png create mode 100644 code/web/api/data/ryzom/interface/rw_launcher.png create mode 100644 code/web/api/data/ryzom/interface/rw_pistol.png create mode 100644 code/web/api/data/ryzom/interface/rw_pistolarc.png create mode 100644 code/web/api/data/ryzom/interface/rw_rifle.png create mode 100644 code/web/api/data/ryzom/interface/sapload.png create mode 100644 code/web/api/data/ryzom/interface/sh_buckler.png create mode 100644 code/web/api/data/ryzom/interface/sh_large_shield.png create mode 100644 code/web/api/data/ryzom/interface/small_task_craft.png create mode 100644 code/web/api/data/ryzom/interface/small_task_done.png create mode 100644 code/web/api/data/ryzom/interface/small_task_failed.png create mode 100644 code/web/api/data/ryzom/interface/small_task_fight.png create mode 100644 code/web/api/data/ryzom/interface/small_task_forage.png create mode 100644 code/web/api/data/ryzom/interface/small_task_generic.png create mode 100644 code/web/api/data/ryzom/interface/small_task_guild.png create mode 100644 code/web/api/data/ryzom/interface/small_task_rite.png create mode 100644 code/web/api/data/ryzom/interface/small_task_travel.png create mode 100644 code/web/api/data/ryzom/interface/spe_beast.png create mode 100644 code/web/api/data/ryzom/interface/spe_com.png create mode 100644 code/web/api/data/ryzom/interface/spe_inventory.png create mode 100644 code/web/api/data/ryzom/interface/spe_labs.png create mode 100644 code/web/api/data/ryzom/interface/spe_memory.png create mode 100644 code/web/api/data/ryzom/interface/spe_options.png create mode 100644 code/web/api/data/ryzom/interface/spe_status.png create mode 100644 code/web/api/data/ryzom/interface/stimulating_water.png create mode 100644 code/web/api/data/ryzom/interface/tb_action_attack.png create mode 100644 code/web/api/data/ryzom/interface/tb_action_config.png create mode 100644 code/web/api/data/ryzom/interface/tb_action_disband.png create mode 100644 code/web/api/data/ryzom/interface/tb_action_disengage.png create mode 100644 code/web/api/data/ryzom/interface/tb_action_extract.png create mode 100644 code/web/api/data/ryzom/interface/tb_action_invite.png create mode 100644 code/web/api/data/ryzom/interface/tb_action_kick.png create mode 100644 code/web/api/data/ryzom/interface/tb_action_move.png create mode 100644 code/web/api/data/ryzom/interface/tb_action_run.png create mode 100644 code/web/api/data/ryzom/interface/tb_action_sit.png create mode 100644 code/web/api/data/ryzom/interface/tb_action_stand.png create mode 100644 code/web/api/data/ryzom/interface/tb_action_stop.png create mode 100644 code/web/api/data/ryzom/interface/tb_action_talk.png create mode 100644 code/web/api/data/ryzom/interface/tb_action_walk.png create mode 100644 code/web/api/data/ryzom/interface/tb_animals.png create mode 100644 code/web/api/data/ryzom/interface/tb_config.png create mode 100644 code/web/api/data/ryzom/interface/tb_connection.png create mode 100644 code/web/api/data/ryzom/interface/tb_contacts.png create mode 100644 code/web/api/data/ryzom/interface/tb_desk_1.png create mode 100644 code/web/api/data/ryzom/interface/tb_desk_2.png create mode 100644 code/web/api/data/ryzom/interface/tb_desk_3.png create mode 100644 code/web/api/data/ryzom/interface/tb_desk_4.png create mode 100644 code/web/api/data/ryzom/interface/tb_faction.png create mode 100644 code/web/api/data/ryzom/interface/tb_forum.png create mode 100644 code/web/api/data/ryzom/interface/tb_guild.png create mode 100644 code/web/api/data/ryzom/interface/tb_help2.png create mode 100644 code/web/api/data/ryzom/interface/tb_keys.png create mode 100644 code/web/api/data/ryzom/interface/tb_macros.png create mode 100644 code/web/api/data/ryzom/interface/tb_mail.png create mode 100644 code/web/api/data/ryzom/interface/tb_mode.png create mode 100644 code/web/api/data/ryzom/interface/tb_mode_dodge.png create mode 100644 code/web/api/data/ryzom/interface/tb_mode_parry.png create mode 100644 code/web/api/data/ryzom/interface/tb_over.png create mode 100644 code/web/api/data/ryzom/interface/tb_support.png create mode 100644 code/web/api/data/ryzom/interface/tb_team.png create mode 100644 code/web/api/data/ryzom/interface/tb_windows.png create mode 100644 code/web/api/data/ryzom/interface/tetekitin.png create mode 100644 code/web/api/data/ryzom/interface/to_ammo.png create mode 100644 code/web/api/data/ryzom/interface/to_armor.png create mode 100644 code/web/api/data/ryzom/interface/to_cooking_pot.png create mode 100644 code/web/api/data/ryzom/interface/to_fishing_rod.png create mode 100644 code/web/api/data/ryzom/interface/to_forage.png create mode 100644 code/web/api/data/ryzom/interface/to_hammer.png create mode 100644 code/web/api/data/ryzom/interface/to_jewelry_hammer.png create mode 100644 code/web/api/data/ryzom/interface/to_jewels.png create mode 100644 code/web/api/data/ryzom/interface/to_leathercutter.png create mode 100644 code/web/api/data/ryzom/interface/to_melee.png create mode 100644 code/web/api/data/ryzom/interface/to_needle.png create mode 100644 code/web/api/data/ryzom/interface/to_pestle.png create mode 100644 code/web/api/data/ryzom/interface/to_range.png create mode 100644 code/web/api/data/ryzom/interface/to_searake.png create mode 100644 code/web/api/data/ryzom/interface/to_spade.png create mode 100644 code/web/api/data/ryzom/interface/to_stick.png create mode 100644 code/web/api/data/ryzom/interface/to_tunneling_knife.png create mode 100644 code/web/api/data/ryzom/interface/to_whip.png create mode 100644 code/web/api/data/ryzom/interface/to_wrench.png create mode 100644 code/web/api/data/ryzom/interface/tp_caravane.png create mode 100644 code/web/api/data/ryzom/interface/tp_kami.png create mode 100644 code/web/api/data/ryzom/interface/us_back_0.png create mode 100644 code/web/api/data/ryzom/interface/us_back_1.png create mode 100644 code/web/api/data/ryzom/interface/us_back_2.png create mode 100644 code/web/api/data/ryzom/interface/us_back_3.png create mode 100644 code/web/api/data/ryzom/interface/us_back_4.png create mode 100644 code/web/api/data/ryzom/interface/us_back_5.png create mode 100644 code/web/api/data/ryzom/interface/us_back_6.png create mode 100644 code/web/api/data/ryzom/interface/us_back_7.png create mode 100644 code/web/api/data/ryzom/interface/us_back_8.png create mode 100644 code/web/api/data/ryzom/interface/us_back_9.png create mode 100644 code/web/api/data/ryzom/interface/us_ico_0.png create mode 100644 code/web/api/data/ryzom/interface/us_ico_1.png create mode 100644 code/web/api/data/ryzom/interface/us_ico_2.png create mode 100644 code/web/api/data/ryzom/interface/us_ico_3.png create mode 100644 code/web/api/data/ryzom/interface/us_ico_4.png create mode 100644 code/web/api/data/ryzom/interface/us_ico_5.png create mode 100644 code/web/api/data/ryzom/interface/us_ico_6.png create mode 100644 code/web/api/data/ryzom/interface/us_ico_7.png create mode 100644 code/web/api/data/ryzom/interface/us_ico_8.png create mode 100644 code/web/api/data/ryzom/interface/us_ico_9.png create mode 100644 code/web/api/data/ryzom/interface/us_over_0.png create mode 100644 code/web/api/data/ryzom/interface/us_over_1.png create mode 100644 code/web/api/data/ryzom/interface/us_over_2.png create mode 100644 code/web/api/data/ryzom/interface/us_over_3.png create mode 100644 code/web/api/data/ryzom/interface/us_over_4.png create mode 100644 code/web/api/data/ryzom/interface/w_am_logo.png create mode 100644 code/web/api/data/ryzom/interface/w_leader.png create mode 100644 code/web/api/data/ryzom/interface/w_major.png create mode 100644 code/web/api/data/ryzom/interface/w_pa_anklet.png create mode 100644 code/web/api/data/ryzom/interface/w_pa_bracelet.png create mode 100644 code/web/api/data/ryzom/interface/w_pa_diadem.png create mode 100644 code/web/api/data/ryzom/interface/w_pa_earring.png create mode 100644 code/web/api/data/ryzom/interface/w_pa_pendant.png create mode 100644 code/web/api/data/ryzom/interface/w_pa_ring.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_id0.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_id1.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_id2.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_id3.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_id4.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_id5.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_id6.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_id7.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_id8.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_id9.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_shift_id0.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_shift_id1.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_shift_id2.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_shift_id3.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_shift_id4.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_shift_id5.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_shift_id6.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_shift_id7.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_shift_id8.png create mode 100644 code/web/api/data/ryzom/interface/w_slot_shortcut_shift_id9.png create mode 100644 code/web/api/data/ryzom/interface/xp_cat_green.png create mode 100644 code/web/api/server/guilds.php create mode 100644 code/web/api/server/hmagic.php create mode 100644 code/web/api/server/item_icon.php create mode 100644 code/web/api/server/time.php create mode 100644 code/web/api/time.php diff --git a/.hgignore b/.hgignore index 1fbad60fd..6f730f76e 100644 --- a/.hgignore +++ b/.hgignore @@ -153,6 +153,7 @@ code/nelns/build/* code/snowballs/build/* code/ryzom/build/* code/build/* +code/build-2010/* build/* install/* diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index 926f66e35..8cf86ecc2 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -48,9 +48,6 @@ SET(NL_VERSION_MINOR 8) SET(NL_VERSION_PATCH 0) SET(NL_VERSION "${NL_VERSION_MAJOR}.${NL_VERSION_MINOR}.${NL_VERSION_PATCH}") -NL_SETUP_BUILD() -NL_SETUP_BUILD_FLAGS() - #----------------------------------------------------------------------------- # Redirect output files SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) @@ -87,6 +84,9 @@ RYZOM_SETUP_PREFIX_PATHS() NL_CONFIGURE_CHECKS() +NL_SETUP_BUILD() +NL_SETUP_BUILD_FLAGS() + #----------------------------------------------------------------------------- #Platform specifics @@ -111,10 +111,11 @@ IF(WITH_STATIC) SET(LIBXML2_DEFINITIONS ${LIBXML2_DEFINITIONS} -DLIBXML_STATIC) SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${WINSOCK2_LIB}) - # on Mac OS X libxml2 requieres iconv + # on Mac OS X libxml2 requires iconv and liblzma IF(APPLE) FIND_PACKAGE(Iconv REQUIRED) - SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${ICONV_LIBRARIES}) + FIND_PACKAGE(LibLZMA REQUIRED) + SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${ICONV_LIBRARIES} ${LIBLZMA_LIBRARIES}) INCLUDE_DIRECTORIES(${ICONV_INCLUDE_DIR}) ENDIF(APPLE) ENDIF(WITH_STATIC) @@ -230,7 +231,7 @@ IF(WIN32) "${QT_LIBRARY_DIR}/../bin/QtGuid4.dll" "${QT_LIBRARY_DIR}/../bin/QtXmld4.dll" "${QT_LIBRARY_DIR}/../bin/QtCored4.dll" - DESTINATION bin) + DESTINATION ${NL_BIN_PREFIX}) ENDIF(WITH_QT) ELSE(NOT CMAKE_BUILD_TYPE STREQUAL "Release") IF(WITH_QT) @@ -239,18 +240,18 @@ IF(WIN32) "${QT_LIBRARY_DIR}/../bin/QtGui4.dll" "${QT_LIBRARY_DIR}/../bin/QtXml4.dll" "${QT_LIBRARY_DIR}/../bin/QtCore4.dll" - DESTINATION bin) + DESTINATION ${NL_BIN_PREFIX}) ENDIF(WITH_QT) ENDIF(NOT CMAKE_BUILD_TYPE STREQUAL "Release") # Install CEGUI and its dependencies. IF(WITH_NEL_CEGUI) - INSTALL(FILES "${CEGUI_LIB_DIR}/CEGUIBase.dll" DESTINATION bin) - INSTALL(FILES "${CEGUI_LIB_DIR}/CEGUIDevilImageCodec.dll" DESTINATION bin) - INSTALL(FILES "${CEGUI_LIB_DIR}/CEGUIExpatParser.dll" DESTINATION bin) - INSTALL(FILES "${CEGUI_LIB_DIR}/CEGUIFalagardWRBase.dll" DESTINATION bin) - INSTALL(FILES "${CEGUI_LIB_DIR}/Devil.dll" DESTINATION bin) - INSTALL(FILES "${CEGUI_LIB_DIR}/ILU.dll" DESTINATION bin) + INSTALL(FILES "${CEGUI_LIB_DIR}/CEGUIBase.dll" DESTINATION ${NL_BIN_PREFIX}) + INSTALL(FILES "${CEGUI_LIB_DIR}/CEGUIDevilImageCodec.dll" DESTINATION ${NL_BIN_PREFIX}) + INSTALL(FILES "${CEGUI_LIB_DIR}/CEGUIExpatParser.dll" DESTINATION ${NL_BIN_PREFIX}) + INSTALL(FILES "${CEGUI_LIB_DIR}/CEGUIFalagardWRBase.dll" DESTINATION ${NL_BIN_PREFIX}) + INSTALL(FILES "${CEGUI_LIB_DIR}/Devil.dll" DESTINATION ${NL_BIN_PREFIX}) + INSTALL(FILES "${CEGUI_LIB_DIR}/ILU.dll" DESTINATION ${NL_BIN_PREFIX}) ENDIF(WITH_NEL_CEGUI) # Only the tools require MFC. diff --git a/code/CMakeModules/FindMercurial.cmake b/code/CMakeModules/FindMercurial.cmake index 9c252ad17..a18e50c43 100644 --- a/code/CMakeModules/FindMercurial.cmake +++ b/code/CMakeModules/FindMercurial.cmake @@ -60,7 +60,7 @@ IF(Mercurial_HG_EXECUTABLE) "\\1" Mercurial_VERSION_HG "${Mercurial_VERSION_HG}") MACRO(Mercurial_WC_INFO dir prefix) - EXECUTE_PROCESS(COMMAND ${Mercurial_HG_EXECUTABLE} tip + EXECUTE_PROCESS(COMMAND ${Mercurial_HG_EXECUTABLE} tip --template "{rev};{node};{tags};{author}" WORKING_DIRECTORY ${dir} OUTPUT_VARIABLE ${prefix}_WC_INFO ERROR_VARIABLE Mercurial_hg_info_error @@ -70,18 +70,18 @@ IF(Mercurial_HG_EXECUTABLE) IF(NOT ${Mercurial_hg_info_result} EQUAL 0) MESSAGE(SEND_ERROR "Command \"${Mercurial_HG_EXECUTABLE} tip\" failed with output:\n${Mercurial_hg_info_error}") ELSE(NOT ${Mercurial_hg_info_result} EQUAL 0) - - STRING(REGEX REPLACE "^(.*\n)?Repository Root: ([^\n]+).*" - "\\2" ${prefix}_WC_ROOT "${${prefix}_WC_INFO}") - STRING(REGEX REPLACE "^(.*\n)?changeset: *([0-9]+).*" - "\\2" ${prefix}_WC_REVISION "${${prefix}_WC_INFO}") - STRING(REGEX REPLACE "^(.*\n)?Last Changed Author: ([^\n]+).*" - "\\2" ${prefix}_WC_LAST_CHANGED_AUTHOR "${${prefix}_WC_INFO}") - STRING(REGEX REPLACE "^(.*\n)?Last Changed Rev: ([^\n]+).*" - "\\2" ${prefix}_WC_LAST_CHANGED_REV "${${prefix}_WC_INFO}") - STRING(REGEX REPLACE "^(.*\n)?Last Changed Date: ([^\n]+).*" - "\\2" ${prefix}_WC_LAST_CHANGED_DATE "${${prefix}_WC_INFO}") - + LIST(LENGTH ${prefix}_WC_INFO _COUNT) + IF(_COUNT EQUAL 4) + LIST(GET ${prefix}_WC_INFO 0 ${prefix}_WC_REVISION) + LIST(GET ${prefix}_WC_INFO 1 ${prefix}_WC_CHANGESET) + LIST(GET ${prefix}_WC_INFO 2 ${prefix}_WC_BRANCH) + LIST(GET ${prefix}_WC_INFO 3 ${prefix}_WC_LAST_CHANGED_AUTHOR) + ELSE(_COUNT EQUAL 4) + MESSAGE(STATUS "Bad output from HG") + SET(${prefix}_WC_REVISION "unknown") + SET(${prefix}_WC_CHANGESET "unknown") + SET(${prefix}_WC_BRANCH "unknown") + ENDIF(_COUNT EQUAL 4) ENDIF(NOT ${Mercurial_hg_info_result} EQUAL 0) ENDMACRO(Mercurial_WC_INFO) diff --git a/code/CMakeModules/FindSquish.cmake b/code/CMakeModules/FindSquish.cmake index 04f657485..ad0f7ce80 100644 --- a/code/CMakeModules/FindSquish.cmake +++ b/code/CMakeModules/FindSquish.cmake @@ -12,7 +12,7 @@ IF(SQUISH_LIBRARIES AND SQUISH_INCLUDE_DIR) SET(SQUISH_FIND_QUIETLY TRUE) ENDIF(SQUISH_LIBRARIES AND SQUISH_INCLUDE_DIR) -FIND_PATH(SQUISH_INCLUDE_DIR +FIND_PATH(SQUISH_INCLUDE_DIR squish.h PATHS /usr/local/include @@ -67,6 +67,11 @@ IF(SQUISH_FOUND) IF(NOT SQUISH_FIND_QUIETLY) MESSAGE(STATUS "Found Squish: ${SQUISH_LIBRARIES}") ENDIF(NOT SQUISH_FIND_QUIETLY) + FILE(STRINGS ${SQUISH_INCLUDE_DIR}/squish.h METRIC REGEX "metric = 0") + IF(METRIC) + SET(SQUISH_COMPRESS_HAS_METRIC ON) + SET(SQUISH_DEFINITIONS -DSQUISH_COMPRESS_HAS_METRIC) + ENDIF(METRIC) ELSE(SQUISH_FOUND) IF(NOT SQUISH_FIND_QUIETLY) MESSAGE(STATUS "Warning: Unable to find Squish!") diff --git a/code/CMakeModules/GetRevision.cmake b/code/CMakeModules/GetRevision.cmake index 52f443d5f..18e997af2 100644 --- a/code/CMakeModules/GetRevision.cmake +++ b/code/CMakeModules/GetRevision.cmake @@ -3,20 +3,24 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3) # ROOT_DIR should be set to root of the repository (where to find the .svn or .hg directory) # SOURCE_DIR should be set to root of your code (where to find CMakeLists.txt) -# Replace spaces by semi-columns -IF(CMAKE_MODULE_PATH) - STRING(REPLACE " " ";" CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}) -ENDIF(CMAKE_MODULE_PATH) +IF(SOURCE_DIR) + # Replace spaces by semi-columns + IF(CMAKE_MODULE_PATH) + STRING(REPLACE " " ";" CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}) + ENDIF(CMAKE_MODULE_PATH) -SET(CMAKE_MODULE_PATH ${SOURCE_DIR}/CMakeModules ${CMAKE_MODULE_PATH}) + SET(CMAKE_MODULE_PATH ${SOURCE_DIR}/CMakeModules ${CMAKE_MODULE_PATH}) -IF(NOT ROOT_DIR AND SOURCE_DIR) - SET(ROOT_DIR ${SOURCE_DIR}) -ENDIF(NOT ROOT_DIR AND SOURCE_DIR) + IF(NOT ROOT_DIR AND SOURCE_DIR) + SET(ROOT_DIR ${SOURCE_DIR}) + ENDIF(NOT ROOT_DIR AND SOURCE_DIR) -IF(NOT SOURCE_DIR AND ROOT_DIR) - SET(SOURCE_DIR ${ROOT_DIR}) -ENDIF(NOT SOURCE_DIR AND ROOT_DIR) + IF(NOT SOURCE_DIR AND ROOT_DIR) + SET(SOURCE_DIR ${ROOT_DIR}) + ENDIF(NOT SOURCE_DIR AND ROOT_DIR) +ELSE(SOURCE_DIR) + SET(ROOT_DIR ${CMAKE_SOURCE_DIR}) +ENDIF(SOURCE_DIR) MACRO(NOW RESULT) IF (WIN32) @@ -53,10 +57,11 @@ IF(EXISTS "${ROOT_DIR}/.hg/") ENDIF(MERCURIAL_FOUND) ENDIF(EXISTS "${ROOT_DIR}/.hg/") -IF(DEFINED REVISION) +IF(SOURCE_DIR AND DEFINED REVISION) IF(EXISTS ${SOURCE_DIR}/revision.h.in) + MESSAGE(STATUS "Revision: ${REVISION}") NOW(BUILD_DATE) CONFIGURE_FILE(${SOURCE_DIR}/revision.h.in revision.h.txt) EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy revision.h.txt revision.h) # copy_if_different ENDIF(EXISTS ${SOURCE_DIR}/revision.h.in) -ENDIF(DEFINED REVISION) +ENDIF(SOURCE_DIR AND DEFINED REVISION) diff --git a/code/CMakeModules/PCHSupport.cmake b/code/CMakeModules/PCHSupport.cmake index 7cd4c6c7d..0ef2243d6 100644 --- a/code/CMakeModules/PCHSupport.cmake +++ b/code/CMakeModules/PCHSupport.cmake @@ -34,18 +34,18 @@ ENDIF(MSVC) MACRO(_PCH_GET_COMPILE_FLAGS _out_compile_flags) STRING(TOUPPER "CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}" _flags_var_name) - SET(${_out_compile_flags} ${${_flags_var_name}} ) + SET(_FLAGS ${${_flags_var_name}} ) IF(NOT MSVC) GET_TARGET_PROPERTY(_targetType ${_PCH_current_target} TYPE) IF(${_targetType} STREQUAL SHARED_LIBRARY OR ${_targetType} STREQUAL MODULE_LIBRARY) - LIST(APPEND ${_out_compile_flags} "-fPIC") + LIST(APPEND _FLAGS "-fPIC") ENDIF(${_targetType} STREQUAL SHARED_LIBRARY OR ${_targetType} STREQUAL MODULE_LIBRARY) ENDIF(NOT MSVC) GET_DIRECTORY_PROPERTY(DIRINC INCLUDE_DIRECTORIES ) FOREACH(item ${DIRINC}) - LIST(APPEND ${_out_compile_flags} " ${_PCH_include_prefix}\"${item}\"") + LIST(APPEND _FLAGS " ${_PCH_include_prefix}\"${item}\"") ENDFOREACH(item) # Required for CMake 2.6 @@ -57,13 +57,32 @@ MACRO(_PCH_GET_COMPILE_FLAGS _out_compile_flags) GET_DIRECTORY_PROPERTY(_directory_flags DEFINITIONS) GET_DIRECTORY_PROPERTY(_directory_definitions DIRECTORY ${CMAKE_SOURCE_DIR} DEFINITIONS) - LIST(APPEND ${_out_compile_flags} ${GLOBAL_DEFINITIONS}) - LIST(APPEND ${_out_compile_flags} ${_directory_flags}) - LIST(APPEND ${_out_compile_flags} ${_directory_definitions}) - LIST(APPEND ${_out_compile_flags} ${CMAKE_CXX_FLAGS}) + LIST(APPEND _FLAGS ${GLOBAL_DEFINITIONS}) + LIST(APPEND _FLAGS ${_directory_flags}) + LIST(APPEND _FLAGS ${_directory_definitions}) + LIST(APPEND _FLAGS ${CMAKE_CXX_FLAGS}) # Format definitions - SEPARATE_ARGUMENTS(${_out_compile_flags}) + SEPARATE_ARGUMENTS(_FLAGS) + + IF(CLANG) + SET(_IGNORE_NEXT OFF) + FOREACH(item ${_FLAGS}) + IF(_IGNORE_NEXT) + SET(_IGNORE_NEXT OFF) + ELSE(_IGNORE_NEXT) + IF(item MATCHES "^-Xarch") + SET(_IGNORE_NEXT ON) + ELSEIF(item MATCHES "^-arch") + SET(_IGNORE_NEXT ON) + ELSE(item MATCHES "^-Xarch") + LIST(APPEND ${_out_compile_flags} ${item}) + ENDIF(item MATCHES "^-Xarch") + ENDIF(_IGNORE_NEXT) + ENDFOREACH(item) + ELSE(CLANG) + SET(${_out_compile_flags} ${_FLAGS}) + ENDIF(CLANG) ENDMACRO(_PCH_GET_COMPILE_FLAGS) MACRO(_PCH_GET_PDB_FILENAME out_filename _target) diff --git a/code/CMakeModules/nel.cmake b/code/CMakeModules/nel.cmake index 7e27f29ac..e7f292b21 100644 --- a/code/CMakeModules/nel.cmake +++ b/code/CMakeModules/nel.cmake @@ -13,11 +13,7 @@ ENDIF(NOT CMAKE_BUILD_TYPE) MACRO(NL_GEN_PC name) IF(NOT WIN32 AND WITH_INSTALL_LIBRARIES) CONFIGURE_FILE(${name}.in "${CMAKE_CURRENT_BINARY_DIR}/${name}") - IF(CMAKE_LIBRARY_ARCHITECTURE) - INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/${name}" DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig) - ELSE(CMAKE_LIBRARY_ARCHITECTURE) - INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/${name}" DESTINATION lib/pkgconfig) - ENDIF(CMAKE_LIBRARY_ARCHITECTURE) + INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/${name}" DESTINATION ${NL_LIB_PREFIX}/pkgconfig) ENDIF(NOT WIN32 AND WITH_INSTALL_LIBRARIES) ENDMACRO(NL_GEN_PC) @@ -26,25 +22,55 @@ ENDMACRO(NL_GEN_PC) ### MACRO(NL_GEN_REVISION_H) IF(EXISTS ${CMAKE_SOURCE_DIR}/revision.h.in) - INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}) - ADD_DEFINITIONS(-DHAVE_REVISION_H) - SET(HAVE_REVISION_H ON) + SET(TOOL_FOUND OFF) - # a custom target that is always built - ADD_CUSTOM_TARGET(revision ALL - DEPENDS ${CMAKE_BINARY_DIR}/revision.h) + IF(EXISTS "${CMAKE_SOURCE_DIR}/../.svn/") + FIND_PACKAGE(Subversion) - # creates revision.h using cmake script - ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/revision.h - COMMAND ${CMAKE_COMMAND} - -DSOURCE_DIR=${CMAKE_SOURCE_DIR} - -DROOT_DIR=${CMAKE_SOURCE_DIR}/.. - -P ${CMAKE_SOURCE_DIR}/CMakeModules/GetRevision.cmake) + IF(SUBVERSION_FOUND) + SET(TOOL_FOUND ON) + ENDIF(SUBVERSION_FOUND) + ENDIF(EXISTS "${CMAKE_SOURCE_DIR}/../.svn/") - # revision.h is a generated file - SET_SOURCE_FILES_PROPERTIES(${CMAKE_BINARY_DIR}/revision.h - PROPERTIES GENERATED TRUE - HEADER_FILE_ONLY TRUE) + IF(EXISTS "${CMAKE_SOURCE_DIR}/../.hg/") + FIND_PACKAGE(Mercurial) + + IF(MERCURIAL_FOUND) + SET(TOOL_FOUND ON) + ENDIF(MERCURIAL_FOUND) + ENDIF(EXISTS "${CMAKE_SOURCE_DIR}/../.hg/") + + # if already generated + IF(EXISTS ${CMAKE_SOURCE_DIR}/revision.h) + # copy it + MESSAGE(STATUS "Copying provided revision.h...") + FILE(COPY ${CMAKE_SOURCE_DIR}/revision.h DESTINATION ${CMAKE_BINARY_DIR}) + SET(HAVE_REVISION_H ON) + ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/revision.h) + + IF(TOOL_FOUND) + # a custom target that is always built + ADD_CUSTOM_TARGET(revision ALL) + + # creates revision.h using cmake script + ADD_CUSTOM_COMMAND(TARGET revision + PRE_BUILD + COMMAND ${CMAKE_COMMAND} + -DSOURCE_DIR=${CMAKE_SOURCE_DIR} + -DROOT_DIR=${CMAKE_SOURCE_DIR}/.. + -P ${CMAKE_SOURCE_DIR}/CMakeModules/GetRevision.cmake) + + # revision.h is a generated file + SET_SOURCE_FILES_PROPERTIES(${CMAKE_BINARY_DIR}/revision.h + PROPERTIES GENERATED TRUE + HEADER_FILE_ONLY TRUE) + SET(HAVE_REVISION_H ON) + ENDIF(TOOL_FOUND) + + IF(HAVE_REVISION_H) + INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}) + ADD_DEFINITIONS(-DHAVE_REVISION_H) + ENDIF(HAVE_REVISION_H) ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/revision.h.in) ENDMACRO(NL_GEN_REVISION_H) @@ -243,16 +269,7 @@ MACRO(NL_SETUP_DEFAULT_OPTIONS) ### # Optional support ### - - # Check if CMake is launched from a Debian packaging script - SET(DEB_HOST_GNU_CPU $ENV{DEB_HOST_GNU_CPU}) - - # Don't strip if generating a .deb - IF(DEB_HOST_GNU_CPU) - OPTION(WITH_SYMBOLS "Keep debug symbols in binaries" ON ) - ELSE(DEB_HOST_GNU_CPU) - OPTION(WITH_SYMBOLS "Keep debug symbols in binaries" OFF) - ENDIF(DEB_HOST_GNU_CPU) + OPTION(WITH_SYMBOLS "Keep debug symbols in binaries" OFF) IF(WIN32) OPTION(WITH_STLPORT "With STLport support." ON ) @@ -333,6 +350,11 @@ MACRO(NL_SETUP_SNOWBALLS_DEFAULT_OPTIONS) OPTION(WITH_SNOWBALLS_SERVER "Build Snowballs Services" ON ) ENDMACRO(NL_SETUP_SNOWBALLS_DEFAULT_OPTIONS) +MACRO(ADD_PLATFORM_FLAGS _FLAGS) + SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} ${_FLAGS}") + SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} ${_FLAGS}") +ENDMACRO(ADD_PLATFORM_FLAGS) + MACRO(NL_SETUP_BUILD) #----------------------------------------------------------------------------- @@ -365,9 +387,6 @@ MACRO(NL_SETUP_BUILD) ENDIF(HOST_CPU MATCHES "amd64") # Determine target CPU - IF(NOT TARGET_CPU) - SET(TARGET_CPU $ENV{DEB_HOST_GNU_CPU}) - ENDIF(NOT TARGET_CPU) # If not specified, use the same CPU as host IF(NOT TARGET_CPU) @@ -380,9 +399,6 @@ MACRO(NL_SETUP_BUILD) SET(TARGET_CPU "x86") ENDIF(TARGET_CPU MATCHES "amd64") - # DEB_HOST_ARCH_ENDIAN is 'little' or 'big' - # DEB_HOST_ARCH_BITS is '32' or '64' - IF(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") SET(CLANG ON) MESSAGE(STATUS "Using Clang compiler") @@ -419,71 +435,121 @@ MACRO(NL_SETUP_BUILD) MESSAGE(STATUS "Compiling on ${HOST_CPU} for ${TARGET_CPU}") ENDIF("${HOST_CPU}" STREQUAL "${TARGET_CPU}") - IF(TARGET_CPU STREQUAL "x86_64") - SET(TARGET_X64 1) - SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -DHAVE_X86_64") - ELSEIF(TARGET_CPU STREQUAL "x86") - SET(TARGET_X86 1) - SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -DHAVE_X86") - ELSEIF(TARGET_CPU STREQUAL "arm") - SET(TARGET_ARM 1) - SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -DHAVE_ARM") - ENDIF(TARGET_CPU STREQUAL "x86_64") + # Use values from environment variables + SET(PLATFORM_CFLAGS "$ENV{CFLAGS} $ENV{CPPFLAGS} ${PLATFORM_CFLAGS}") + SET(PLATFORM_CXXFLAGS "$ENV{CXXFLAGS} $ENV{CPPFLAGS} ${PLATFORM_CXXFLAGS}") + SET(PLATFORM_LINKFLAGS "$ENV{LDFLAGS} ${PLATFORM_LINKFLAGS}") + + # Remove -g and -O flag because we are managing them ourself + STRING(REPLACE "-g" "" PLATFORM_CFLAGS ${PLATFORM_CFLAGS}) + STRING(REPLACE "-g" "" PLATFORM_CXXFLAGS ${PLATFORM_CXXFLAGS}) + STRING(REGEX REPLACE "-O[0-9s]" "" PLATFORM_CFLAGS ${PLATFORM_CFLAGS}) + STRING(REGEX REPLACE "-O[0-9s]" "" PLATFORM_CXXFLAGS ${PLATFORM_CXXFLAGS}) + + # Strip spaces + STRING(STRIP ${PLATFORM_CFLAGS} PLATFORM_CFLAGS) + STRING(STRIP ${PLATFORM_CXXFLAGS} PLATFORM_CXXFLAGS) + STRING(STRIP ${PLATFORM_LINKFLAGS} PLATFORM_LINKFLAGS) + + IF(NOT CMAKE_OSX_ARCHITECTURES) + IF(TARGET_CPU STREQUAL "x86_64") + SET(TARGET_X64 1) + ELSEIF(TARGET_CPU STREQUAL "x86") + SET(TARGET_X86 1) + ELSEIF(TARGET_CPU STREQUAL "armv7s") + SET(TARGET_ARM 1) + SET(TARGET_ARMV7S 1) + ELSEIF(TARGET_CPU STREQUAL "armv7") + SET(TARGET_ARM 1) + SET(TARGET_ARMV7 1) + ELSEIF(TARGET_CPU STREQUAL "armv6") + SET(TARGET_ARM 1) + SET(TARGET_ARMV6 1) + ELSEIF(TARGET_CPU STREQUAL "armv5") + SET(TARGET_ARM 1) + SET(TARGET_ARMV5 1) + ELSEIF(TARGET_CPU STREQUAL "arm") + SET(TARGET_ARM 1) + ENDIF(TARGET_CPU STREQUAL "x86_64") + ENDIF(NOT CMAKE_OSX_ARCHITECTURES) # Fix library paths suffixes for Debian MultiArch - SET(DEBIAN_MULTIARCH $ENV{DEB_HOST_MULTIARCH}) - - IF(DEBIAN_MULTIARCH) - SET(CMAKE_LIBRARY_ARCHITECTURE ${DEBIAN_MULTIARCH}) - ENDIF(DEBIAN_MULTIARCH) - - IF(CMAKE_LIBRARY_ARCHITECTURE) - SET(CMAKE_LIBRARY_PATH /lib/${CMAKE_LIBRARY_ARCHITECTURE} /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} ${CMAKE_LIBRARY_PATH}) + IF(LIBRARY_ARCHITECTURE) + SET(CMAKE_LIBRARY_PATH /lib/${LIBRARY_ARCHITECTURE} /usr/lib/${LIBRARY_ARCHITECTURE} ${CMAKE_LIBRARY_PATH}) IF(TARGET_X64) SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /lib64 /usr/lib64) ENDIF(TARGET_X64) IF(TARGET_X86) SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /lib32 /usr/lib32) ENDIF(TARGET_X86) - ENDIF(CMAKE_LIBRARY_ARCHITECTURE) + ENDIF(LIBRARY_ARCHITECTURE) + + IF(APPLE AND NOT IOS) + SET(CMAKE_INCLUDE_PATH /opt/local/include ${CMAKE_INCLUDE_PATH}) + SET(CMAKE_LIBRARY_PATH /opt/local/lib ${CMAKE_LIBRARY_PATH}) + ENDIF(APPLE AND NOT IOS) + + IF(TARGET_ARM) + IF(TARGET_ARMV7) + ADD_PLATFORM_FLAGS("-DHAVE_ARMV7") + ENDIF(TARGET_ARMV7) + + IF(TARGET_ARMV6) + ADD_PLATFORM_FLAGS("-HAVE_ARMV6") + ENDIF(TARGET_ARMV6) + + ADD_PLATFORM_FLAGS("-DHAVE_ARM") + ENDIF(TARGET_ARM) + + IF(TARGET_X86) + ADD_PLATFORM_FLAGS("-DHAVE_X86") + ENDIF(TARGET_X86) + + IF(TARGET_X64) + ADD_PLATFORM_FLAGS("-DHAVE_X64 -DHAVE_X86_64") + ENDIF(TARGET_X64) + + IF(WITH_LOGGING) + ADD_PLATFORM_FLAGS("-DENABLE_LOGS") + ENDIF(WITH_LOGGING) IF(MSVC) IF(MSVC10) + ADD_PLATFORM_FLAGS("/Gy- /MP") # /Ox is working with VC++ 2010, but custom optimizations don't exist - SET(SPEED_OPTIMIZATIONS "/Ox /GF /GS-") + SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}") # without inlining it's unusable, use custom optimizations again - SET(MIN_OPTIMIZATIONS "/Od /Ob1") + SET(DEBUG_CFLAGS "/Od /Ob1 /GF- ${DEBUG_CFLAGS}") ELSEIF(MSVC90) + ADD_PLATFORM_FLAGS("/Gy- /MP") # don't use a /O[012x] flag if you want custom optimizations - SET(SPEED_OPTIMIZATIONS "/Ob2 /Oi /Ot /Oy /GT /GF /GS-") + SET(RELEASE_CFLAGS "/Ob2 /Oi /Ot /Oy /GT /GF /GS- ${RELEASE_CFLAGS}") # without inlining it's unusable, use custom optimizations again - SET(MIN_OPTIMIZATIONS "/Ob1") + SET(DEBUG_CFLAGS "/Ob1 /GF- ${DEBUG_CFLAGS}") ELSEIF(MSVC80) + ADD_PLATFORM_FLAGS("/Gy- /Wp64") # don't use a /O[012x] flag if you want custom optimizations - SET(SPEED_OPTIMIZATIONS "/Ox /GF /GS-") + SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}") # without inlining it's unusable, use custom optimizations again - SET(MIN_OPTIMIZATIONS "/Od /Ob1") + SET(DEBUG_CFLAGS "/Od /Ob1 ${DEBUG_CFLAGS}") ELSE(MSVC10) MESSAGE(FATAL_ERROR "Can't determine compiler version ${MSVC_VERSION}") ENDIF(MSVC10) - SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_WARNINGS /DWIN32 /D_WINDOWS /W3 /Zm1000 /MP /Gy-") - - # Common link flags - SET(PLATFORM_LINKFLAGS "") + ADD_PLATFORM_FLAGS("/D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_WARNINGS /DWIN32 /D_WINDOWS /Zm1000 /wd4250") IF(TARGET_X64) # Fix a bug with Intellisense - SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} /D_WIN64") + ADD_PLATFORM_FLAGS("/D_WIN64") # Fix a compilation error for some big C++ files - SET(MIN_OPTIMIZATIONS "${MIN_OPTIMIZATIONS} /bigobj") + SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} /bigobj") ELSE(TARGET_X64) # Allows 32 bits applications to use 3 GB of RAM SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /LARGEADDRESSAWARE") ENDIF(TARGET_X64) # Exceptions are only set for C++ - SET(PLATFORM_CXXFLAGS "${PLATFORM_CFLAGS} /EHa") + SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} /EHa") IF(WITH_SYMBOLS) SET(NL_RELEASE_CFLAGS "/Zi ${NL_RELEASE_CFLAGS}") @@ -492,88 +558,204 @@ MACRO(NL_SETUP_BUILD) SET(NL_RELEASE_LINKFLAGS "/RELEASE ${NL_RELEASE_LINKFLAGS}") ENDIF(WITH_SYMBOLS) - SET(NL_DEBUG_CFLAGS "/Zi /MDd /RTC1 /D_DEBUG ${MIN_OPTIMIZATIONS} ${NL_DEBUG_CFLAGS}") - SET(NL_RELEASE_CFLAGS "/MD /DNDEBUG ${SPEED_OPTIMIZATIONS} ${NL_RELEASE_CFLAGS}") + SET(NL_DEBUG_CFLAGS "/Zi /MDd /RTC1 /D_DEBUG ${DEBUG_CFLAGS} ${NL_DEBUG_CFLAGS}") + SET(NL_RELEASE_CFLAGS "/MD /DNDEBUG ${RELEASE_CFLAGS} ${NL_RELEASE_CFLAGS}") SET(NL_DEBUG_LINKFLAGS "/DEBUG /OPT:NOREF /OPT:NOICF /NODEFAULTLIB:msvcrt /INCREMENTAL:YES ${NL_DEBUG_LINKFLAGS}") SET(NL_RELEASE_LINKFLAGS "/OPT:REF /OPT:ICF /INCREMENTAL:NO ${NL_RELEASE_LINKFLAGS}") + + IF(WITH_WARNINGS) + SET(DEBUG_CFLAGS "/W4 ${DEBUG_CFLAGS}") + ELSE(WITH_WARNINGS) + SET(DEBUG_CFLAGS "/W3 ${DEBUG_CFLAGS}") + ENDIF(WITH_WARNINGS) ELSE(MSVC) IF(WIN32) - SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -DWIN32 -D_WIN32") + ADD_PLATFORM_FLAGS("-DWIN32 -D_WIN32") + + IF(CLANG) + ADD_PLATFORM_FLAGS("-nobuiltininc") + ENDIF(CLANG) ENDIF(WIN32) - IF(APPLE) - IF(TARGET_CPU STREQUAL "x86") - SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -arch i386") - ENDIF(TARGET_CPU STREQUAL "x86") + IF(TARGET_ARM) + ADD_PLATFORM_FLAGS("-mthumb") + ENDIF(TARGET_ARM) - IF(TARGET_CPU STREQUAL "x86_64") - SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -arch x86_64") - ENDIF(TARGET_CPU STREQUAL "x86_64") + IF(APPLE) + IF(IOS) + SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.7" CACHE PATH "" FORCE) + ELSE(IOS) + IF(NOT CMAKE_OSX_DEPLOYMENT_TARGET) + SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.6" CACHE PATH "" FORCE) + ENDIF(NOT CMAKE_OSX_DEPLOYMENT_TARGET) + ENDIF(IOS) + + IF(XCODE) + IF(IOS) + SET(CMAKE_OSX_SYSROOT "iphoneos" CACHE PATH "" FORCE) + ELSE(IOS) +# SET(CMAKE_OSX_SYSROOT "macosx" CACHE PATH "" FORCE) + ENDIF(IOS) + ELSE(XCODE) + IF(CMAKE_OSX_ARCHITECTURES) + SET(TARGETS_COUNT 0) + SET(_ARCHS) + FOREACH(_ARCH ${CMAKE_OSX_ARCHITECTURES}) + IF(_ARCH STREQUAL "i386") + SET(_ARCHS "${_ARCHS} i386") + SET(TARGET_X86 1) + MATH(EXPR TARGETS_COUNT "${TARGETS_COUNT}+1") + ELSEIF(_ARCH STREQUAL "x86_64") + SET(_ARCHS "${_ARCHS} x86_64") + SET(TARGET_X64 1) + MATH(EXPR TARGETS_COUNT "${TARGETS_COUNT}+1") + ELSEIF(_ARCH STREQUAL "armv7") + SET(_ARCHS "${_ARCHS} armv7") + SET(TARGET_ARMV7 1) + SET(TARGET_ARM 1) + MATH(EXPR TARGETS_COUNT "${TARGETS_COUNT}+1") + ELSEIF(_ARCH STREQUAL "armv6") + SET(_ARCHS "${_ARCHS} armv6") + SET(TARGET_ARMV6 1) + SET(TARGET_ARM 1) + MATH(EXPR TARGETS_COUNT "${TARGETS_COUNT}+1") + ELSE(_ARCH STREQUAL "i386") + SET(_ARCHS "${_ARCHS} unknwon(${_ARCH})") + ENDIF(_ARCH STREQUAL "i386") + ENDFOREACH(_ARCH) + MESSAGE(STATUS "Compiling under Mac OS X for ${TARGETS_COUNT} architectures: ${_ARCHS}") + ELSE(CMAKE_OSX_ARCHITECTURES) + SET(TARGETS_COUNT 1) + ENDIF(CMAKE_OSX_ARCHITECTURES) + + IF(TARGETS_COUNT EQUAL 1) + IF(TARGET_ARM) + IF(TARGET_ARMV7S) + ADD_PLATFORM_FLAGS("-arch armv7s") + ENDIF(TARGET_ARMV7S) + + IF(TARGET_ARMV7) + ADD_PLATFORM_FLAGS("-arch armv7") + ENDIF(TARGET_ARMV7) + + IF(TARGET_ARMV6) + ADD_PLATFORM_FLAGS("-arch armv6") + ENDIF(TARGET_ARMV6) + + IF(TARGET_ARMV5) + ADD_PLATFORM_FLAGS("-arch armv5") + ENDIF(TARGET_ARMV5) + ENDIF(TARGET_ARM) + + IF(TARGET_X86) + ADD_PLATFORM_FLAGS("-arch i386") + ENDIF(TARGET_X86) + + IF(TARGET_X64) + ADD_PLATFORM_FLAGS("-arch x86_64") + ENDIF(TARGET_X64) + ELSE(TARGETS_COUNT EQUAL 1) + IF(TARGET_ARMV6) + ADD_PLATFORM_FLAGS("-Xarch_armv6 -mthumb -Xarch_armv6 -DHAVE_ARM -Xarch_armv6 -DHAVE_ARMV6") + ENDIF(TARGET_ARMV6) + + IF(TARGET_ARMV7) + ADD_PLATFORM_FLAGS("-Xarch_armv7 -mthumb -Xarch_armv7 -DHAVE_ARM -Xarch_armv7 -DHAVE_ARMV7") + ENDIF(TARGET_ARMV7) + + IF(TARGET_X86) + ADD_PLATFORM_FLAGS("-arch i386 -Xarch_i386 -DHAVE_X86") + ENDIF(TARGET_X86) + + IF(TARGET_X64) + ADD_PLATFORM_FLAGS("-arch x86_64 -Xarch_x86_64 -DHAVE_X64 -Xarch_x86_64 -DHAVE_X86_64") + ENDIF(TARGET_X64) + ENDIF(TARGETS_COUNT EQUAL 1) + + IF(IOS) + IF(IOS_VERSION) + PARSE_VERSION_STRING(${IOS_VERSION} IOS_VERSION_MAJOR IOS_VERSION_MINOR IOS_VERSION_PATCH) + CONVERT_VERSION_NUMBER(${IOS_VERSION_MAJOR} ${IOS_VERSION_MINOR} ${IOS_VERSION_PATCH} IOS_VERSION_NUMBER) + + ADD_PLATFORM_FLAGS("-D__IPHONE_OS_VERSION_MIN_REQUIRED=${IOS_VERSION_NUMBER}") + ENDIF(IOS_VERSION) + + IF(CMAKE_IOS_SYSROOT) + ADD_PLATFORM_FLAGS("-isysroot${CMAKE_IOS_SYSROOT}") + ADD_PLATFORM_FLAGS("-miphoneos-version-min=${IOS_VERSION}") + SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-iphoneos_version_min,${IOS_VERSION}") + ENDIF(CMAKE_IOS_SYSROOT) + + IF(CMAKE_IOS_SIMULATOR_SYSROOT AND TARGET_X86) + IF(TARGETS_COUNT EQUAL 1) + ADD_PLATFORM_FLAGS("-arch i386") + ELSE(TARGETS_COUNT EQUAL 1) + SET(XARCH "-Xarch_i386 ") + ENDIF(TARGETS_COUNT EQUAL 1) + + # Always force -mmacosx-version-min to override environement variable + ADD_PLATFORM_FLAGS("${XARCH}-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}") + SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${XARCH}-Wl,-macosx_version_min,${CMAKE_OSX_DEPLOYMENT_TARGET}") + ENDIF(CMAKE_IOS_SIMULATOR_SYSROOT AND TARGET_X86) + ELSE(IOS) + FOREACH(_SDK ${_CMAKE_OSX_SDKS}) + IF(${_SDK} MATCHES "MacOSX${CMAKE_OSX_DEPLOYMENT_TARGET}\\.sdk") + SET(CMAKE_OSX_SYSROOT ${_SDK} CACHE PATH "" FORCE) + ENDIF(${_SDK} MATCHES "MacOSX${CMAKE_OSX_DEPLOYMENT_TARGET}\\.sdk") + ENDFOREACH(_SDK) + + IF(CMAKE_OSX_SYSROOT) + ADD_PLATFORM_FLAGS("-isysroot ${CMAKE_OSX_SYSROOT}") + ELSE(CMAKE_OSX_SYSROOT) + MESSAGE(FATAL_ERROR "CMAKE_OSX_SYSROOT can't be determinated") + ENDIF(CMAKE_OSX_SYSROOT) + + # Always force -mmacosx-version-min to override environement variable + ADD_PLATFORM_FLAGS("-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}") + SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-macosx_version_min,${CMAKE_OSX_DEPLOYMENT_TARGET}") + ENDIF(IOS) + + SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-headerpad_max_install_names") + + IF(HAVE_FLAG_SEARCH_PATHS_FIRST) + SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-search_paths_first") + ENDIF(HAVE_FLAG_SEARCH_PATHS_FIRST) + ENDIF(XCODE) ELSE(APPLE) IF(HOST_CPU STREQUAL "x86_64" AND TARGET_CPU STREQUAL "x86") - SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -m32 -march=i686") + ADD_PLATFORM_FLAGS("-m32 -march=i686") ENDIF(HOST_CPU STREQUAL "x86_64" AND TARGET_CPU STREQUAL "x86") IF(HOST_CPU STREQUAL "x86" AND TARGET_CPU STREQUAL "x86_64") - SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -m64") + ADD_PLATFORM_FLAGS("-m64") ENDIF(HOST_CPU STREQUAL "x86" AND TARGET_CPU STREQUAL "x86_64") ENDIF(APPLE) - SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -D_REENTRANT -pipe -ftemplate-depth-48 -Wall -W -Wpointer-arith -Wsign-compare -Wno-deprecated-declarations -Wno-multichar -Wno-unused -fno-strict-aliasing") - - IF(NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") - SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -ansi") - ENDIF(NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") + ADD_PLATFORM_FLAGS("-D_REENTRANT -pipe -fno-strict-aliasing") IF(WITH_COVERAGE) - SET(PLATFORM_CFLAGS "-fprofile-arcs -ftest-coverage ${PLATFORM_CFLAGS}") + ADD_PLATFORM_FLAGS("-fprofile-arcs -ftest-coverage") ENDIF(WITH_COVERAGE) + IF(WITH_WARNINGS) + ADD_PLATFORM_FLAGS("-Wall -W -Wpointer-arith -Wsign-compare -Wno-deprecated-declarations -Wno-multichar -Wno-unused") + IF(CLANG) + ADD_PLATFORM_FLAGS("-std=gnu99") + ELSE(CLANG) + ADD_PLATFORM_FLAGS("-ansi") + ENDIF(CLANG) + ENDIF(WITH_WARNINGS) + IF(APPLE) - SET(PLATFORM_CFLAGS "-gdwarf-2 ${PLATFORM_CFLAGS}") + ADD_PLATFORM_FLAGS("-gdwarf-2") ENDIF(APPLE) - IF(APPLE AND XCODE) - SET(CMAKE_OSX_SYSROOT "macosx" CACHE PATH "" FORCE) - ELSEIF(APPLE AND NOT XCODE) - IF(NOT CMAKE_OSX_DEPLOYMENT_TARGET) - SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.6") - ENDIF(NOT CMAKE_OSX_DEPLOYMENT_TARGET) - - FOREACH(_SDK ${_CMAKE_OSX_SDKS}) - IF(${_SDK} MATCHES "MacOSX${CMAKE_OSX_DEPLOYMENT_TARGET}\\.sdk") - SET(CMAKE_OSX_SYSROOT ${_SDK} CACHE PATH "" FORCE) - ENDIF(${_SDK} MATCHES "MacOSX${CMAKE_OSX_DEPLOYMENT_TARGET}\\.sdk") - ENDFOREACH(_SDK) - - IF(CMAKE_OSX_SYSROOT) - SET(PLATFORM_CFLAGS "-isysroot ${CMAKE_OSX_SYSROOT} ${PLATFORM_CFLAGS}") - ELSE(CMAKE_OSX_SYSROOT) - MESSAGE(FATAL_ERROR "CMAKE_OSX_SYSROOT can't be determinated") - ENDIF(CMAKE_OSX_SYSROOT) - - IF(CMAKE_OSX_ARCHITECTURES) - FOREACH(_ARCH ${CMAKE_OSX_ARCHITECTURES}) - SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -arch ${_ARCH}") - ENDFOREACH(_ARCH) - ENDIF(CMAKE_OSX_ARCHITECTURES) - IF(CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG) - SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}") - ENDIF(CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG) - - SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-headerpad_max_install_names") - - IF(HAVE_FLAG_SEARCH_PATHS_FIRST) - SET(PLATFORM_LINKFLAGS "-Wl,-search_paths_first ${PLATFORM_LINKFLAGS}") - ENDIF(HAVE_FLAG_SEARCH_PATHS_FIRST) - ENDIF(APPLE AND XCODE) - # Fix "relocation R_X86_64_32 against.." error on x64 platforms IF(TARGET_X64 AND WITH_STATIC AND NOT WITH_STATIC_DRIVERS) - SET(PLATFORM_CFLAGS "-fPIC ${PLATFORM_CFLAGS}") + ADD_PLATFORM_FLAGS("-fPIC") ENDIF(TARGET_X64 AND WITH_STATIC AND NOT WITH_STATIC_DRIVERS) - SET(PLATFORM_CXXFLAGS ${PLATFORM_CFLAGS}) + SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} -ftemplate-depth-48") IF(NOT APPLE) SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,--no-undefined -Wl,--as-needed") @@ -613,125 +795,146 @@ MACRO(NL_SETUP_BUILD_FLAGS) SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${PLATFORM_LINKFLAGS} ${NL_RELEASE_LINKFLAGS}" CACHE STRING "" FORCE) ENDMACRO(NL_SETUP_BUILD_FLAGS) +# Macro to create x_ABSOLUTE_PREFIX from x_PREFIX +MACRO(NL_MAKE_ABSOLUTE_PREFIX NAME_RELATIVE NAME_ABSOLUTE) + IF(IS_ABSOLUTE "${${NAME_RELATIVE}}") + SET(${NAME_ABSOLUTE} ${${NAME_RELATIVE}}) + ELSE(IS_ABSOLUTE "${${{NAME_RELATIVE}}") + IF(WIN32) + SET(${NAME_ABSOLUTE} ${${NAME_RELATIVE}}) + ELSE(WIN32) + SET(${NAME_ABSOLUTE} ${CMAKE_INSTALL_PREFIX}/${${NAME_RELATIVE}}) + ENDIF(WIN32) + ENDIF(IS_ABSOLUTE "${${NAME_RELATIVE}}") +ENDMACRO(NL_MAKE_ABSOLUTE_PREFIX) + MACRO(NL_SETUP_PREFIX_PATHS) ## Allow override of install_prefix/etc path. IF(NOT NL_ETC_PREFIX) IF(WIN32) - SET(NL_ETC_PREFIX "../etc/nel" CACHE PATH "Installation path for configurations") + SET(NL_ETC_PREFIX "." CACHE PATH "Installation path for configurations") ELSE(WIN32) - SET(NL_ETC_PREFIX "${CMAKE_INSTALL_PREFIX}/etc/nel" CACHE PATH "Installation path for configurations") + SET(NL_ETC_PREFIX "etc/nel" CACHE PATH "Installation path for configurations") ENDIF(WIN32) ENDIF(NOT NL_ETC_PREFIX) + NL_MAKE_ABSOLUTE_PREFIX(NL_ETC_PREFIX NL_ETC_ABSOLUTE_PREFIX) ## Allow override of install_prefix/share path. IF(NOT NL_SHARE_PREFIX) IF(WIN32) - SET(NL_SHARE_PREFIX "../share/nel" CACHE PATH "Installation path for data.") + SET(NL_SHARE_PREFIX "." CACHE PATH "Installation path for data.") ELSE(WIN32) - SET(NL_SHARE_PREFIX "${CMAKE_INSTALL_PREFIX}/share/nel" CACHE PATH "Installation path for data.") + SET(NL_SHARE_PREFIX "share/nel" CACHE PATH "Installation path for data.") ENDIF(WIN32) ENDIF(NOT NL_SHARE_PREFIX) + NL_MAKE_ABSOLUTE_PREFIX(NL_SHARE_PREFIX NL_SHARE_ABSOLUTE_PREFIX) ## Allow override of install_prefix/sbin path. IF(NOT NL_SBIN_PREFIX) IF(WIN32) - SET(NL_SBIN_PREFIX "../sbin" CACHE PATH "Installation path for admin tools and services.") + SET(NL_SBIN_PREFIX "." CACHE PATH "Installation path for admin tools and services.") ELSE(WIN32) - SET(NL_SBIN_PREFIX "${CMAKE_INSTALL_PREFIX}/sbin" CACHE PATH "Installation path for admin tools and services.") + SET(NL_SBIN_PREFIX "sbin" CACHE PATH "Installation path for admin tools and services.") ENDIF(WIN32) ENDIF(NOT NL_SBIN_PREFIX) + NL_MAKE_ABSOLUTE_PREFIX(NL_SBIN_PREFIX NL_SBIN_ABSOLUTE_PREFIX) ## Allow override of install_prefix/bin path. IF(NOT NL_BIN_PREFIX) IF(WIN32) - SET(NL_BIN_PREFIX "../bin" CACHE PATH "Installation path for tools and applications.") + SET(NL_BIN_PREFIX "." CACHE PATH "Installation path for tools and applications.") ELSE(WIN32) - SET(NL_BIN_PREFIX "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation path for tools and applications.") + SET(NL_BIN_PREFIX "bin" CACHE PATH "Installation path for tools and applications.") ENDIF(WIN32) ENDIF(NOT NL_BIN_PREFIX) + NL_MAKE_ABSOLUTE_PREFIX(NL_BIN_PREFIX NL_BIN_ABSOLUTE_PREFIX) ## Allow override of install_prefix/lib path. IF(NOT NL_LIB_PREFIX) - IF(WIN32) - SET(NL_LIB_PREFIX "../lib" CACHE PATH "Installation path for libraries.") - ELSE(WIN32) - IF(CMAKE_LIBRARY_ARCHITECTURE) - SET(NL_LIB_PREFIX "${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_LIBRARY_ARCHITECTURE}" CACHE PATH "Installation path for libraries.") - ELSE(CMAKE_LIBRARY_ARCHITECTURE) - SET(NL_LIB_PREFIX "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation path for libraries.") - ENDIF(CMAKE_LIBRARY_ARCHITECTURE) - ENDIF(WIN32) + IF(LIBRARY_ARCHITECTURE) + SET(NL_LIB_PREFIX "lib/${LIBRARY_ARCHITECTURE}" CACHE PATH "Installation path for libraries.") + ELSE(LIBRARY_ARCHITECTURE) + SET(NL_LIB_PREFIX "lib" CACHE PATH "Installation path for libraries.") + ENDIF(LIBRARY_ARCHITECTURE) ENDIF(NOT NL_LIB_PREFIX) + NL_MAKE_ABSOLUTE_PREFIX(NL_LIB_PREFIX NL_LIB_ABSOLUTE_PREFIX) ## Allow override of install_prefix/lib path. IF(NOT NL_DRIVER_PREFIX) IF(WIN32) - SET(NL_DRIVER_PREFIX "../lib" CACHE PATH "Installation path for drivers.") + SET(NL_DRIVER_PREFIX "." CACHE PATH "Installation path for drivers.") ELSE(WIN32) - IF(CMAKE_LIBRARY_ARCHITECTURE) - SET(NL_DRIVER_PREFIX "${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_LIBRARY_ARCHITECTURE}/nel" CACHE PATH "Installation path for drivers.") - ELSE(CMAKE_LIBRARY_ARCHITECTURE) - SET(NL_DRIVER_PREFIX "${CMAKE_INSTALL_PREFIX}/lib/nel" CACHE PATH "Installation path for drivers.") - ENDIF(CMAKE_LIBRARY_ARCHITECTURE) + IF(LIBRARY_ARCHITECTURE) + SET(NL_DRIVER_PREFIX "lib/${LIBRARY_ARCHITECTURE}/nel" CACHE PATH "Installation path for drivers.") + ELSE(LIBRARY_ARCHITECTURE) + SET(NL_DRIVER_PREFIX "lib/nel" CACHE PATH "Installation path for drivers.") + ENDIF(LIBRARY_ARCHITECTURE) ENDIF(WIN32) ENDIF(NOT NL_DRIVER_PREFIX) + NL_MAKE_ABSOLUTE_PREFIX(NL_DRIVER_PREFIX NL_DRIVER_ABSOLUTE_PREFIX) ENDMACRO(NL_SETUP_PREFIX_PATHS) MACRO(RYZOM_SETUP_PREFIX_PATHS) - ## Allow override of install_prefix path. - IF(NOT RYZOM_PREFIX) - IF(WIN32) - SET(RYZOM_PREFIX "." CACHE PATH "Installation path") - ELSE(WIN32) - SET(RYZOM_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Installation path") - ENDIF(WIN32) - ENDIF(NOT RYZOM_PREFIX) - ## Allow override of install_prefix/etc path. IF(NOT RYZOM_ETC_PREFIX) IF(WIN32) SET(RYZOM_ETC_PREFIX "." CACHE PATH "Installation path for configurations") ELSE(WIN32) - SET(RYZOM_ETC_PREFIX "${RYZOM_PREFIX}/etc/ryzom" CACHE PATH "Installation path for configurations") + SET(RYZOM_ETC_PREFIX "etc/ryzom" CACHE PATH "Installation path for configurations") ENDIF(WIN32) ENDIF(NOT RYZOM_ETC_PREFIX) + NL_MAKE_ABSOLUTE_PREFIX(RYZOM_ETC_PREFIX RYZOM_ETC_ABSOLUTE_PREFIX) ## Allow override of install_prefix/share path. IF(NOT RYZOM_SHARE_PREFIX) IF(WIN32) SET(RYZOM_SHARE_PREFIX "." CACHE PATH "Installation path for data.") ELSE(WIN32) - SET(RYZOM_SHARE_PREFIX "${RYZOM_PREFIX}/share/ryzom" CACHE PATH "Installation path for data.") + SET(RYZOM_SHARE_PREFIX "share/ryzom" CACHE PATH "Installation path for data.") ENDIF(WIN32) ENDIF(NOT RYZOM_SHARE_PREFIX) + NL_MAKE_ABSOLUTE_PREFIX(RYZOM_SHARE_PREFIX RYZOM_SHARE_ABSOLUTE_PREFIX) ## Allow override of install_prefix/sbin path. IF(NOT RYZOM_SBIN_PREFIX) IF(WIN32) SET(RYZOM_SBIN_PREFIX "." CACHE PATH "Installation path for admin tools and services.") ELSE(WIN32) - SET(RYZOM_SBIN_PREFIX "${RYZOM_PREFIX}/sbin" CACHE PATH "Installation path for admin tools and services.") + SET(RYZOM_SBIN_PREFIX "sbin" CACHE PATH "Installation path for admin tools and services.") ENDIF(WIN32) ENDIF(NOT RYZOM_SBIN_PREFIX) + NL_MAKE_ABSOLUTE_PREFIX(RYZOM_SBIN_PREFIX RYZOM_SBIN_ABSOLUTE_PREFIX) ## Allow override of install_prefix/bin path. IF(NOT RYZOM_BIN_PREFIX) IF(WIN32) SET(RYZOM_BIN_PREFIX "." CACHE PATH "Installation path for tools and applications.") ELSE(WIN32) - SET(RYZOM_BIN_PREFIX "${RYZOM_PREFIX}/bin" CACHE PATH "Installation path for tools.") + SET(RYZOM_BIN_PREFIX "bin" CACHE PATH "Installation path for tools.") ENDIF(WIN32) ENDIF(NOT RYZOM_BIN_PREFIX) + NL_MAKE_ABSOLUTE_PREFIX(RYZOM_BIN_PREFIX RYZOM_BIN_ABSOLUTE_PREFIX) + + ## Allow override of install_prefix/lib path. + IF(NOT RYZOM_LIB_PREFIX) + IF(LIBRARY_ARCHITECTURE) + SET(RYZOM_LIB_PREFIX "lib/${LIBRARY_ARCHITECTURE}" CACHE PATH "Installation path for libraries.") + ELSE(LIBRARY_ARCHITECTURE) + SET(RYZOM_LIB_PREFIX "lib" CACHE PATH "Installation path for libraries.") + ENDIF(LIBRARY_ARCHITECTURE) + ENDIF(NOT RYZOM_LIB_PREFIX) + NL_MAKE_ABSOLUTE_PREFIX(RYZOM_LIB_PREFIX RYZOM_LIB_ABSOLUTE_PREFIX) ## Allow override of install_prefix/games path. IF(NOT RYZOM_GAMES_PREFIX) IF(WIN32) SET(RYZOM_GAMES_PREFIX "." CACHE PATH "Installation path for tools and applications.") ELSE(WIN32) - SET(RYZOM_GAMES_PREFIX "${RYZOM_PREFIX}/games" CACHE PATH "Installation path for client.") + SET(RYZOM_GAMES_PREFIX "games" CACHE PATH "Installation path for client.") ENDIF(WIN32) ENDIF(NOT RYZOM_GAMES_PREFIX) + NL_MAKE_ABSOLUTE_PREFIX(RYZOM_GAMES_PREFIX RYZOM_GAMES_ABSOLUTE_PREFIX) ENDMACRO(RYZOM_SETUP_PREFIX_PATHS) @@ -743,6 +946,10 @@ MACRO(SETUP_EXTERNAL) IF(WIN32) FIND_PACKAGE(External REQUIRED) + IF(NOT VC_DIR) + SET(VC_DIR $ENV{VC_DIR}) + ENDIF(NOT VC_DIR) + IF(MSVC10) IF(NOT MSVC10_REDIST_DIR) # If you have VC++ 2010 Express, put x64/Microsoft.VC100.CRT/*.dll in ${EXTERNAL_PATH}/redist @@ -756,7 +963,10 @@ MACRO(SETUP_EXTERNAL) IF(VC_ROOT_DIR MATCHES "registry") GET_FILENAME_COMPONENT(VC_ROOT_DIR "[HKEY_CURRENT_USER\\Software\\Microsoft\\VCExpress\\10.0_Config;InstallDir]" ABSOLUTE) IF(VC_ROOT_DIR MATCHES "registry") - FILE(TO_CMAKE_PATH $ENV{VS100COMNTOOLS} VC_ROOT_DIR) + SET(VS100COMNTOOLS $ENV{VS100COMNTOOLS}) + IF(VS100COMNTOOLS) + FILE(TO_CMAKE_PATH ${VS100COMNTOOLS} VC_ROOT_DIR) + ENDIF(VS100COMNTOOLS) IF(NOT VC_ROOT_DIR) MESSAGE(FATAL_ERROR "Unable to find VC++ 2010 directory!") ENDIF(NOT VC_ROOT_DIR) diff --git a/code/config.h.cmake b/code/config.h.cmake index 2f2ff8095..d3c9f701d 100644 --- a/code/config.h.cmake +++ b/code/config.h.cmake @@ -43,15 +43,14 @@ #cmakedefine NL_DSOUND_AVAILABLE ${NL_DSOUND_AVAILABLE} #cmakedefine NL_XAUDIO2_AVAILABLE ${NL_XAUDIO2_AVAILABLE} -#cmakedefine NL_BIN_PREFIX "${NL_BIN_PREFIX}" -#cmakedefine NL_ETC_PREFIX "${NL_ETC_PREFIX}" -#cmakedefine NL_SHARE_PREFIX "${NL_SHARE_PREFIX}" -#cmakedefine NL_LIB_PREFIX "${NL_LIB_PREFIX}" -#cmakedefine NL_DRIVER_PREFIX "${NL_DRIVER_PREFIX}" +#cmakedefine NL_BIN_PREFIX "${NL_BIN_ABSOLUTE_PREFIX}" +#cmakedefine NL_ETC_PREFIX "${NL_ETC_ABSOLUTE_PREFIX}" +#cmakedefine NL_SHARE_PREFIX "${NL_SHARE_ABSOLUTE_PREFIX}" +#cmakedefine NL_LIB_PREFIX "${NL_LIB_ABSOLUTE_PREFIX}" +#cmakedefine NL_DRIVER_PREFIX "${NL_DRIVER_ABSOLUTE_PREFIX}" -#cmakedefine RYZOM_PREFIX "${RYZOM_PREFIX}" -#cmakedefine RYZOM_BIN_PREFIX "${RYZOM_BIN_PREFIX}" -#cmakedefine RYZOM_ETC_PREFIX "${RYZOM_ETC_PREFIX}" -#cmakedefine RYZOM_SHARE_PREFIX "${RYZOM_SHARE_PREFIX}" +#cmakedefine RYZOM_BIN_PREFIX "${RYZOM_BIN_ABSOLUTE_PREFIX}" +#cmakedefine RYZOM_ETC_PREFIX "${RYZOM_ETC_ABSOLUTE_PREFIX}" +#cmakedefine RYZOM_SHARE_PREFIX "${RYZOM_SHARE_ABSOLUTE_PREFIX}" #endif // CONFIG_H diff --git a/code/nel/CMakeLists.txt b/code/nel/CMakeLists.txt index 08b4babf0..745278cd7 100644 --- a/code/nel/CMakeLists.txt +++ b/code/nel/CMakeLists.txt @@ -44,8 +44,8 @@ ENDIF(WITH_GTK) IF(WITH_INSTALL_LIBRARIES) IF(UNIX) SET(prefix ${CMAKE_INSTALL_PREFIX}) - SET(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin) - SET(libdir ${CMAKE_INSTALL_PREFIX}/lib) + SET(exec_prefix ${NL_BIN_ABSOLUTE_PREFIX}) + SET(libdir ${NL_LIB_ABSOLUTE_PREFIX}) SET(includedir ${CMAKE_INSTALL_PREFIX}/include) SET(enable_ligo ${WITH_LIGO}) SET(enable_logic ${WITH_LOGIC}) @@ -56,7 +56,7 @@ IF(WITH_INSTALL_LIBRARIES) SET(enable_sound ${WITH_SOUND}) CONFIGURE_FILE(nel-config.in ${CMAKE_CURRENT_BINARY_DIR}/nel-config) - INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/nel-config DESTINATION bin) + INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/nel-config DESTINATION ${NL_BIN_PREFIX}) ENDIF(UNIX) ADD_SUBDIRECTORY(include) diff --git a/code/nel/include/nel/3d/driver.h b/code/nel/include/nel/3d/driver.h index 630cbcb01..d090d77da 100644 --- a/code/nel/include/nel/3d/driver.h +++ b/code/nel/include/nel/3d/driver.h @@ -293,6 +293,11 @@ public: */ virtual void forceDXTCCompression(bool dxtcComp)=0; + /** if different from 0, enable anisotropic filter on textures. -1 enables max value. + * Default is 0. + */ + virtual void setAnisotropicFilter(sint filter)=0; + /** if !=1, force mostly all the textures (but TextureFonts lightmaps, interfaces etc..) * to be divided by Divisor (2, 4, 8...) * Default is 1. diff --git a/code/nel/include/nel/3d/driver_user.h b/code/nel/include/nel/3d/driver_user.h index a7f6ac7a5..bfe4c1755 100644 --- a/code/nel/include/nel/3d/driver_user.h +++ b/code/nel/include/nel/3d/driver_user.h @@ -471,6 +471,7 @@ public: virtual void delete3dMouseListener (U3dMouseListener *listener); virtual TPolygonMode getPolygonMode (); virtual void forceDXTCCompression(bool dxtcComp); + virtual void setAnisotropicFilter(sint filter); virtual void forceTextureResize(uint divisor); virtual void forceNativeFragmentPrograms(bool nativeOnly); virtual bool setMonitorColorProperties (const CMonitorColorProperties &properties); diff --git a/code/nel/include/nel/3d/u_driver.h b/code/nel/include/nel/3d/u_driver.h index 9b9eac656..d66a72e47 100644 --- a/code/nel/include/nel/3d/u_driver.h +++ b/code/nel/include/nel/3d/u_driver.h @@ -660,6 +660,11 @@ public: */ virtual void forceDXTCCompression(bool dxtcComp)=0; + /** if different from 0, enable anisotropic filter on textures. -1 enables max value. + * Default is 0. + */ + virtual void setAnisotropicFilter(sint filter)=0; + /** if !=1, force mostly all the textures (but TextureFonts lightmaps, interfaces etc..) * to be divided by Divisor (2, 4, 8...) * Default is 1. diff --git a/code/nel/include/nel/gui/interface_anim.h b/code/nel/include/nel/gui/interface_anim.h index 660005a3e..04f684467 100644 --- a/code/nel/include/nel/gui/interface_anim.h +++ b/code/nel/include/nel/gui/interface_anim.h @@ -40,7 +40,7 @@ namespace NLGUI public: CInterfaceTrack(); - ~CInterfaceTrack(); + virtual ~CInterfaceTrack(); virtual bool parse (xmlNodePtr cur, CInterfaceGroup *parentGroup); @@ -93,7 +93,7 @@ namespace NLGUI public: CInterfaceAnim(); - ~CInterfaceAnim(); + virtual ~CInterfaceAnim(); virtual bool parse (xmlNodePtr cur, CInterfaceGroup *parentGroup); diff --git a/code/nel/include/nel/gui/view_text_id.h b/code/nel/include/nel/gui/view_text_id.h index d26b1a701..15fe7b637 100644 --- a/code/nel/include/nel/gui/view_text_id.h +++ b/code/nel/include/nel/gui/view_text_id.h @@ -142,11 +142,7 @@ namespace NLGUI // Optional ucstring modifier IOnReceiveTextId *_StringModifier; - - #if defined(NL_DEBUG) std::string _DBPath; - #endif - static IViewTextProvider* getTextProvider(){ return textProvider; } private: diff --git a/code/nel/include/nel/misc/bitmap.h b/code/nel/include/nel/misc/bitmap.h index f3d532311..0b6940629 100644 --- a/code/nel/include/nel/misc/bitmap.h +++ b/code/nel/include/nel/misc/bitmap.h @@ -297,8 +297,8 @@ public: void swap(CBitmap &other); /** - * Read a bitmap(TGA or DDS) from an IStream. - * Bitmap supported are DDS (DXTC1, DXTC1 with Alpha, DXTC3, DXTC5, and + * Read a bitmap(TGA, JPEG, PNG or DDS) from an IStream. + * Bitmap supported are DDS (DXTC1, DXTC1 with Alpha, DXTC3, DXTC5), PNG, JPEG and * uncompressed TGA (24 and 32 bits). * \param IStream The stream must be in reading mode. * \param mipMapSkip if the file is a DDS with mipMap. N=mipMapSkip mipmaps are skipped. @@ -310,7 +310,7 @@ public: /** * Determinate the bitmap size from a bitmap(TGA or DDS) from an IStream. load just header of the file. - * Bitmap supported are DDS (DXTC1, DXTC1 with Alpha, DXTC3, DXTC5, and + * Bitmap supported are DDS (DXTC1, DXTC1 with Alpha, DXTC3, DXTC5), PNG, JPEG and * uncompressed TGA (24 and 32 bits). * NB: at the end, f is seeked to begin. * \param IStream The stream must be in reading mode. diff --git a/code/nel/include/nel/misc/eval_num_expr.h b/code/nel/include/nel/misc/eval_num_expr.h index 18cb14725..8551e49df 100644 --- a/code/nel/include/nel/misc/eval_num_expr.h +++ b/code/nel/include/nel/misc/eval_num_expr.h @@ -241,7 +241,7 @@ private: LogicalXor, // ^^ OperatorCount, // NotOperator, // This is not an operator - ExtOperator, // This is a 2 charcters operator + ExtOperator, // This is a 2 characters operator }; // Functions diff --git a/code/nel/include/nel/misc/time_nl.h b/code/nel/include/nel/misc/time_nl.h index 2bd3edb72..e7deaae24 100644 --- a/code/nel/include/nel/misc/time_nl.h +++ b/code/nel/include/nel/misc/time_nl.h @@ -48,6 +48,19 @@ typedef sint64 TTicks; class CTime { public: + struct CTimerInfo + { + /// Returns if there is a high precision timer that can be used. + bool IsHighPrecisionAvailable; + /// If a CPU specific timer is used and the values are not consistent accross threads. + bool RequiresSingleCore; + /// The resolution of the high resolution timer. + TTicks HighPrecisionResolution; + }; + + /** Get advanced information on the used timers. + */ + static void probeTimerInfo(CTimerInfo &result); /** Return the number of second since midnight (00:00:00), January 1, 1970, * coordinated universal time, according to the system clock. @@ -71,9 +84,9 @@ public: * the value can jump backwards if the system time is changed by a user or a NTP time sync process. * The value is different on 2 different computers; use the CUniTime class to get a universal * time that is the same on all computers. - * \warning On Win32, the value is on 32 bits only. It wraps around to 0 every about 49.71 days. + * \warning On Win32, the value is on 32 bits only, and uses the low-res timer unless probeTimerInfo was called and a high resolution timer can be used. It wraps around to 0 every about 49.71 days. */ - static TTime getLocalTime (); + static TTime getLocalTime(); /** Return the time in processor ticks. Use it for profile purpose. * If the performance time is not supported on this hardware, it returns 0. diff --git a/code/nel/include/nel/net/message_recorder.h b/code/nel/include/nel/net/message_recorder.h index a7b5ac51f..5874aca4c 100644 --- a/code/nel/include/nel/net/message_recorder.h +++ b/code/nel/include/nel/net/message_recorder.h @@ -79,7 +79,7 @@ struct TMessageRecord stream.serial( s_event ); uint32 sockId; stream.serialHex( sockId ); - SockId = (NLNET::TSockId)sockId; + SockId = (NLNET::TSockId)(size_t)sockId; len = Message.length(); stream.serial( len ); stream.serialBuffer( const_cast(Message.buffer()), len ); // assumes the message contains plain text diff --git a/code/nel/src/pacs/build_indoor.h b/code/nel/include/nel/pacs/build_indoor.h similarity index 100% rename from code/nel/src/pacs/build_indoor.h rename to code/nel/include/nel/pacs/build_indoor.h diff --git a/code/nel/src/pacs/chain.h b/code/nel/include/nel/pacs/chain.h similarity index 100% rename from code/nel/src/pacs/chain.h rename to code/nel/include/nel/pacs/chain.h diff --git a/code/nel/src/pacs/chain_quad.h b/code/nel/include/nel/pacs/chain_quad.h similarity index 100% rename from code/nel/src/pacs/chain_quad.h rename to code/nel/include/nel/pacs/chain_quad.h diff --git a/code/nel/src/pacs/collision_callback.h b/code/nel/include/nel/pacs/collision_callback.h similarity index 100% rename from code/nel/src/pacs/collision_callback.h rename to code/nel/include/nel/pacs/collision_callback.h diff --git a/code/nel/src/pacs/collision_desc.h b/code/nel/include/nel/pacs/collision_desc.h similarity index 100% rename from code/nel/src/pacs/collision_desc.h rename to code/nel/include/nel/pacs/collision_desc.h diff --git a/code/nel/src/pacs/collision_mesh_build.h b/code/nel/include/nel/pacs/collision_mesh_build.h similarity index 100% rename from code/nel/src/pacs/collision_mesh_build.h rename to code/nel/include/nel/pacs/collision_mesh_build.h diff --git a/code/nel/src/pacs/collision_ot.h b/code/nel/include/nel/pacs/collision_ot.h similarity index 100% rename from code/nel/src/pacs/collision_ot.h rename to code/nel/include/nel/pacs/collision_ot.h diff --git a/code/nel/src/pacs/collision_surface_temp.h b/code/nel/include/nel/pacs/collision_surface_temp.h similarity index 100% rename from code/nel/src/pacs/collision_surface_temp.h rename to code/nel/include/nel/pacs/collision_surface_temp.h diff --git a/code/nel/src/pacs/edge_collide.h b/code/nel/include/nel/pacs/edge_collide.h similarity index 100% rename from code/nel/src/pacs/edge_collide.h rename to code/nel/include/nel/pacs/edge_collide.h diff --git a/code/nel/src/pacs/edge_quad.h b/code/nel/include/nel/pacs/edge_quad.h similarity index 100% rename from code/nel/src/pacs/edge_quad.h rename to code/nel/include/nel/pacs/edge_quad.h diff --git a/code/nel/src/pacs/exterior_mesh.h b/code/nel/include/nel/pacs/exterior_mesh.h similarity index 100% rename from code/nel/src/pacs/exterior_mesh.h rename to code/nel/include/nel/pacs/exterior_mesh.h diff --git a/code/nel/src/pacs/face_grid.h b/code/nel/include/nel/pacs/face_grid.h similarity index 100% rename from code/nel/src/pacs/face_grid.h rename to code/nel/include/nel/pacs/face_grid.h diff --git a/code/nel/src/pacs/global_retriever.h b/code/nel/include/nel/pacs/global_retriever.h similarity index 100% rename from code/nel/src/pacs/global_retriever.h rename to code/nel/include/nel/pacs/global_retriever.h diff --git a/code/nel/src/pacs/local_retriever.h b/code/nel/include/nel/pacs/local_retriever.h similarity index 100% rename from code/nel/src/pacs/local_retriever.h rename to code/nel/include/nel/pacs/local_retriever.h diff --git a/code/nel/src/pacs/move_cell.h b/code/nel/include/nel/pacs/move_cell.h similarity index 100% rename from code/nel/src/pacs/move_cell.h rename to code/nel/include/nel/pacs/move_cell.h diff --git a/code/nel/src/pacs/move_container.h b/code/nel/include/nel/pacs/move_container.h similarity index 100% rename from code/nel/src/pacs/move_container.h rename to code/nel/include/nel/pacs/move_container.h diff --git a/code/nel/src/pacs/move_container_inline.h b/code/nel/include/nel/pacs/move_container_inline.h similarity index 100% rename from code/nel/src/pacs/move_container_inline.h rename to code/nel/include/nel/pacs/move_container_inline.h diff --git a/code/nel/src/pacs/move_element.h b/code/nel/include/nel/pacs/move_element.h similarity index 100% rename from code/nel/src/pacs/move_element.h rename to code/nel/include/nel/pacs/move_element.h diff --git a/code/nel/src/pacs/move_element_inline.h b/code/nel/include/nel/pacs/move_element_inline.h similarity index 100% rename from code/nel/src/pacs/move_element_inline.h rename to code/nel/include/nel/pacs/move_element_inline.h diff --git a/code/nel/src/pacs/move_primitive.h b/code/nel/include/nel/pacs/move_primitive.h similarity index 100% rename from code/nel/src/pacs/move_primitive.h rename to code/nel/include/nel/pacs/move_primitive.h diff --git a/code/nel/src/pacs/primitive_block.h b/code/nel/include/nel/pacs/primitive_block.h similarity index 100% rename from code/nel/src/pacs/primitive_block.h rename to code/nel/include/nel/pacs/primitive_block.h diff --git a/code/nel/src/pacs/primitive_world_image.h b/code/nel/include/nel/pacs/primitive_world_image.h similarity index 100% rename from code/nel/src/pacs/primitive_world_image.h rename to code/nel/include/nel/pacs/primitive_world_image.h diff --git a/code/nel/src/pacs/quad_grid.h b/code/nel/include/nel/pacs/quad_grid.h similarity index 100% rename from code/nel/src/pacs/quad_grid.h rename to code/nel/include/nel/pacs/quad_grid.h diff --git a/code/nel/src/pacs/retrievable_surface.h b/code/nel/include/nel/pacs/retrievable_surface.h similarity index 100% rename from code/nel/src/pacs/retrievable_surface.h rename to code/nel/include/nel/pacs/retrievable_surface.h diff --git a/code/nel/src/pacs/retriever_bank.h b/code/nel/include/nel/pacs/retriever_bank.h similarity index 99% rename from code/nel/src/pacs/retriever_bank.h rename to code/nel/include/nel/pacs/retriever_bank.h index 3dacb2463..eb7afb31b 100644 --- a/code/nel/src/pacs/retriever_bank.h +++ b/code/nel/include/nel/pacs/retriever_bank.h @@ -142,7 +142,7 @@ public: for (i=0; i= D3DPS_VERSION(2, 0) || caps.PixelShaderVersion < D3DPS_VERSION(1, 4)); _NonPowerOfTwoTexturesSupported = !(caps.TextureCaps & D3DPTEXTURECAPS_POW2) || (caps.TextureCaps & D3DPTEXTURECAPS_NONPOW2CONDITIONAL); + _MaxAnisotropy = caps.MaxAnisotropy; + _AnisotropicMinSupported = (caps.TextureFilterCaps & D3DPTFILTERCAPS_MINFANISOTROPIC) != 0; + _AnisotropicMagSupported = (caps.TextureFilterCaps & D3DPTFILTERCAPS_MAGFANISOTROPIC) != 0; + _AnisotropicMinCubeSupported = (caps.CubeTextureFilterCaps & D3DPTFILTERCAPS_MINFANISOTROPIC) != 0; + _AnisotropicMagCubeSupported = (caps.CubeTextureFilterCaps & D3DPTFILTERCAPS_MAGFANISOTROPIC) != 0; } else { @@ -1506,6 +1516,11 @@ bool CDriverD3D::setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool r _MaxVertexIndex = 0xffff; _IsGeforce = false; _NonPowerOfTwoTexturesSupported = false; + _MaxAnisotropy = 0; + _AnisotropicMinSupported = false; + _AnisotropicMagSupported = false; + _AnisotropicMinCubeSupported = false; + _AnisotropicMagCubeSupported = false; } // If 16 bits vertices only, build a vb for quads rendering if (_MaxVertexIndex <= 0xffff) @@ -1607,6 +1622,7 @@ bool CDriverD3D::setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool r // Init some variables _ForceDXTCCompression = false; + _AnisotropicFilter = 0; _ForceTextureResizePower = 0; _FogEnabled = false; @@ -2049,6 +2065,25 @@ void CDriverD3D::forceDXTCCompression(bool dxtcComp) // *************************************************************************** +void CDriverD3D::setAnisotropicFilter(sint filter) +{ + H_AUTO_D3D(CDriverD3D_setAnisotropicFilter); + + // anisotropic filter not supported + if (_MaxAnisotropy < 2) return; + + if (filter < 0 || filter > _MaxAnisotropy) + { + _AnisotropicFilter = _MaxAnisotropy; + } + else + { + _AnisotropicFilter = filter; + } +} + +// *************************************************************************** + void CDriverD3D::forceTextureResize(uint divisor) { H_AUTO_D3D(CDriverD3D_forceTextureResize); @@ -2715,6 +2750,8 @@ bool CDriverD3D::fillPresentParameter (D3DPRESENT_PARAMETERS ¶meters, D3DFOR // Choose a zbuffer format D3DFORMAT zbufferFormats[]= { + //uncomment to save zbuffer D3DFMT_D32F_LOCKABLE, + //uncomment to save zbuffer D3DFMT_D16_LOCKABLE, /*D3DFMT_D32, D3DFMT_D24X8,*/ D3DFMT_D24S8, diff --git a/code/nel/src/3d/driver/direct3d/driver_direct3d.h b/code/nel/src/3d/driver/direct3d/driver_direct3d.h index c1b05cc67..351cf10d0 100644 --- a/code/nel/src/3d/driver/direct3d/driver_direct3d.h +++ b/code/nel/src/3d/driver/direct3d/driver_direct3d.h @@ -777,6 +777,7 @@ public: virtual void disableHardwareVertexArrayAGP(); virtual void disableHardwareTextureShader(); virtual void forceDXTCCompression(bool dxtcComp); + virtual void setAnisotropicFilter(sint filter); virtual void forceTextureResize(uint divisor); virtual void forceNativeFragmentPrograms(bool /* nativeOnly */) {} // ignored @@ -1521,6 +1522,7 @@ public: setSamplerState (stage, D3DSAMP_MAGFILTER, d3dtext->MagFilter); setSamplerState (stage, D3DSAMP_MINFILTER, d3dtext->MinFilter); setSamplerState (stage, D3DSAMP_MIPFILTER, d3dtext->MipFilter); + setSamplerState (stage, D3DSAMP_MAXANISOTROPY, _AnisotropicFilter); // Profile, log the use of this texture if (_SumTextureMemoryUsed) @@ -2205,6 +2207,11 @@ private: bool _CubbedMipMapSupported; bool _IsGeforce; bool _NonPowerOfTwoTexturesSupported; + uint _MaxAnisotropy; + bool _AnisotropicMinSupported; + bool _AnisotropicMagSupported; + bool _AnisotropicMinCubeSupported; + bool _AnisotropicMagCubeSupported; uint _NbNeLTextureStages; // Number of texture stage for NeL (max IDRV_MAT_MAXTEXTURES) uint _MaxVerticesByVertexBufferHard; uint _MaxLight; @@ -2411,6 +2418,7 @@ private: bool _MustRestoreLight; D3DXMATRIX _D3DMatrixIdentity; DWORD _FogColor; + uint _AnisotropicFilter; // stencil buffer bool _CurStencilTest; diff --git a/code/nel/src/3d/driver/direct3d/driver_direct3d_texture.cpp b/code/nel/src/3d/driver/direct3d/driver_direct3d_texture.cpp index b50709cd2..7922b30ea 100644 --- a/code/nel/src/3d/driver/direct3d/driver_direct3d_texture.cpp +++ b/code/nel/src/3d/driver/direct3d/driver_direct3d_texture.cpp @@ -442,7 +442,7 @@ bool CDriverD3D::generateD3DTexture (ITexture& tex, bool textureDegradation, D3D if (d3dtext->Texture == NULL) { // profiling: count TextureMemory usage. - uint32 textureMeory = computeTextureMemoryUsage (width, height, levels, destFormat, cube); + uint32 textureMemory = computeTextureMemoryUsage (width, height, levels, destFormat, cube); // Create the texture bool createSuccess; @@ -454,6 +454,7 @@ bool CDriverD3D::generateD3DTexture (ITexture& tex, bool textureDegradation, D3D } else { +/* // textures with mipmaps doesn't support not power of two sizes // only DXTC formats are beginning with a 'D' if (supportNonPowerOfTwoTextures() && (!isPowerOf2(width) || !isPowerOf2(height)) && levels == 1) @@ -464,8 +465,16 @@ bool CDriverD3D::generateD3DTexture (ITexture& tex, bool textureDegradation, D3D _DeviceInterface->SetSamplerState(0, D3DSAMP_ADDRESSV, D3DTADDRESS_CLAMP); _DeviceInterface->SetSamplerState(0, D3DSAMP_ADDRESSW, D3DTADDRESS_CLAMP); } +*/ - createSuccess = _DeviceInterface->CreateTexture (width, height, levels, renderTarget?D3DUSAGE_RENDERTARGET:0, destFormat, renderTarget?D3DPOOL_DEFAULT:D3DPOOL_MANAGED, &(d3dtext->Texture2d), NULL) == D3D_OK; + HRESULT hr = _DeviceInterface->CreateTexture (width, height, levels, renderTarget?D3DUSAGE_RENDERTARGET:0, destFormat, renderTarget?D3DPOOL_DEFAULT:D3DPOOL_MANAGED, &(d3dtext->Texture2d), NULL); + + if (hr != D3D_OK) + { + nlwarning("CreateTexture failed with code 0x%x for texture %s in %ux%u", hr, tex.getShareName().c_str(), width, height); + } + + createSuccess = hr == D3D_OK; d3dtext->Texture = d3dtext->Texture2d; } @@ -473,7 +482,7 @@ bool CDriverD3D::generateD3DTexture (ITexture& tex, bool textureDegradation, D3D return false; // Stats - d3dtext->TextureMemory = textureMeory; + d3dtext->TextureMemory = textureMemory; _AllocatedTextureMemory += d3dtext->TextureMemory; // Copy parameters @@ -499,6 +508,19 @@ inline void CDriverD3D::setupTextureWrapMode(ITexture& tex) d3dtext->MagFilter = RemapMagTextureFilterTypeNeL2D3D[tex.getMagFilter()]; d3dtext->MinFilter = RemapMinTextureFilterTypeNeL2D3D[tex.getMinFilter()]; d3dtext->MipFilter = RemapMipTextureFilterTypeNeL2D3D[tex.getMinFilter()]; + + // only enable for min filter, because it's never supported for mag filter + if (_AnisotropicFilter > 1 && tex.getMinFilter() > ITexture::NearestMipMapLinear) + { + if (tex.isTextureCube()) + { + if (_AnisotropicMinCubeSupported) d3dtext->MinFilter = D3DTEXF_ANISOTROPIC; + } + else + { + if (_AnisotropicMinSupported) d3dtext->MinFilter = D3DTEXF_ANISOTROPIC; + } + } } @@ -868,6 +890,13 @@ bool CDriverD3D::uploadTextureInternal (ITexture& tex, CRect& rect, uint8 destMi D3DFORMAT destFormat, D3DFORMAT srcFormat) { H_AUTO_D3D(CDriverD3D_uploadTextureInternal) + + if (rect.Width == 0 || rect.Height == 0) + { + nlwarning("Rectangle width or height cannot be 0"); + return false; + } + // The D3D texture CTextureDrvInfosD3D* d3dtext = getTextureD3D(tex); diff --git a/code/nel/src/3d/driver/opengl/CMakeLists.txt b/code/nel/src/3d/driver/opengl/CMakeLists.txt index d68bef5f2..8fa99d488 100644 --- a/code/nel/src/3d/driver/opengl/CMakeLists.txt +++ b/code/nel/src/3d/driver/opengl/CMakeLists.txt @@ -74,7 +74,7 @@ IF(WITH_PCH) ENDIF(WITH_PCH) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC_DRIVERS) OR NOT WITH_STATIC_DRIVERS) - INSTALL(TARGETS ${NLDRV_OGL_LIB} LIBRARY DESTINATION ${NL_DRIVER_PREFIX} ARCHIVE DESTINATION lib RUNTIME DESTINATION bin COMPONENT drivers3d) + INSTALL(TARGETS ${NLDRV_OGL_LIB} LIBRARY DESTINATION ${NL_DRIVER_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} RUNTIME DESTINATION ${NL_DRIVER_PREFIX} COMPONENT drivers3d) IF(WITH_MAXPLUGIN) INSTALL(TARGETS ${NLDRV_OGL_LIB} RUNTIME DESTINATION maxplugin COMPONENT drivers3d) ENDIF(WITH_MAXPLUGIN) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl.cpp b/code/nel/src/3d/driver/opengl/driver_opengl.cpp index b4cff6121..c00c8aece 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl.cpp @@ -305,6 +305,8 @@ CDriverGL::CDriverGL() _NVTextureShaderEnabled = false; + _AnisotropicFilter = 0.f; + // Compute the Flag which say if one texture has been changed in CMaterial. _MaterialAllTextureTouchedFlag= 0; for(i=0; i < IDRV_MAT_MAXTEXTURES; i++) @@ -1337,11 +1339,7 @@ void CDriverGL::copyFrameBufferToTexture(ITexture *tex, { if(_Extensions.ARBTextureCubeMap) { -#ifdef USE_OPENGLES - glBindTexture(GL_TEXTURE_CUBE_MAP_OES, gltext->ID); -#else glBindTexture(GL_TEXTURE_CUBE_MAP_ARB, gltext->ID); -#endif glCopyTexSubImage2D(NLCubeFaceToGLCubeFace[cubeFace], level, offsetx, offsety, x, y, width, height); } } @@ -2626,11 +2624,10 @@ void CDriverGL::checkTextureOn() const GLboolean flagCM; GLboolean flagTR; glGetBooleanv(GL_TEXTURE_2D, &flag2D); + glGetBooleanv(GL_TEXTURE_CUBE_MAP_ARB, &flagCM); #ifdef USE_OPENGLES - glGetBooleanv(GL_TEXTURE_CUBE_MAP_OES, &flagCM); flagTR = true; // always true in OpenGL ES #else - glGetBooleanv(GL_TEXTURE_CUBE_MAP_ARB, &flagCM); glGetBooleanv(GL_TEXTURE_RECTANGLE_NV, &flagTR); #endif switch(dgs.getTextureMode()) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl.h b/code/nel/src/3d/driver/opengl/driver_opengl.h index 66e0b1325..bfe73492d 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl.h @@ -364,6 +364,7 @@ public: virtual bool uploadTextureCube (ITexture& tex, NLMISC::CRect& rect, uint8 nNumMipMap, uint8 nNumFace); virtual void forceDXTCCompression(bool dxtcComp); + virtual void setAnisotropicFilter(sint filter); virtual void forceTextureResize(uint divisor); @@ -955,6 +956,8 @@ private: bool _NVTextureShaderEnabled; // Which stages support EMBM bool _StageSupportEMBM[IDRV_MAT_MAXTEXTURES]; + // Anisotropic filtering value + float _AnisotropicFilter; // Prec settings for material. CDriverGLStates _DriverGLStates; diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp index 770e273dc..d38ff8f51 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp @@ -628,7 +628,7 @@ static bool setupARBTextureNonPowerOfTwo(const char *glext) { H_AUTO_OGL(setupARBTextureCompression); -#ifndef USE_OPENGL_ES +#ifndef USE_OPENGLES CHECK_EXT("GL_ARB_texture_non_power_of_two"); #endif @@ -805,20 +805,20 @@ static bool setupARBTextureCubeMap(const char *glext) #ifdef USE_OPENGLES CHECK_EXT("OES_texture_cube_map"); + + CHECK_ADDRESS(NEL_PFNGLTEXGENFOESPROC, glTexGenfOES); + CHECK_ADDRESS(NEL_PFNGLTEXGENFVOESPROC, glTexGenfvOES); + CHECK_ADDRESS(NEL_PFNGLTEXGENIOESPROC, glTexGeniOES); + CHECK_ADDRESS(NEL_PFNGLTEXGENIVOESPROC, glTexGenivOES); + CHECK_ADDRESS(NEL_PFNGLTEXGENXOESPROC, glTexGenxOES); + CHECK_ADDRESS(NEL_PFNGLTEXGENXVOESPROC, glTexGenxvOES); + CHECK_ADDRESS(NEL_PFNGLGETTEXGENFVOESPROC, glGetTexGenfvOES); + CHECK_ADDRESS(NEL_PFNGLGETTEXGENIVOESPROC, glGetTexGenivOES); + CHECK_ADDRESS(NEL_PFNGLGETTEXGENXVOESPROC, glGetTexGenxvOES); #else CHECK_EXT("GL_ARB_texture_cube_map"); #endif -// CHECK_ADDRESS(NEL_PFNGLTEXGENFOESPROC, glTexGenfOES); -// CHECK_ADDRESS(NEL_PFNGLTEXGENFVOESPROC, glTexGenfvOES); -// CHECK_ADDRESS(NEL_PFNGLTEXGENIOESPROC, glTexGeniOES); -// CHECK_ADDRESS(NEL_PFNGLTEXGENIVOESPROC, glTexGenivOES); -// CHECK_ADDRESS(NEL_PFNGLTEXGENXOESPROC, glTexGenxOES); -// CHECK_ADDRESS(NEL_PFNGLTEXGENXVOESPROC, glTexGenxvOES); -// CHECK_ADDRESS(NEL_PFNGLGETTEXGENFVOESPROC, glGetTexGenfvOES); -// CHECK_ADDRESS(NEL_PFNGLGETTEXGENIVOESPROC, glGetTexGenivOES); -// CHECK_ADDRESS(NEL_PFNGLGETTEXGENXVOESPROC, glGetTexGenxvOES); - return true; } @@ -1499,11 +1499,7 @@ void registerGlExtensions(CGlExtensions &ext) ext.ARBMultiTexture= setupARBMultiTexture(glext); if(ext.ARBMultiTexture) { -#ifdef USE_OPENGLES - glGetIntegerv(GL_MAX_TEXTURE_UNITS, &ntext); -#else glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &ntext); -#endif // We could have more than IDRV_MAT_MAXTEXTURES but the interface only // support IDRV_MAT_MAXTEXTURES texture stages so take min ext.NbTextureStages= (ntext<((GLint)IDRV_MAT_MAXTEXTURES)?ntext:IDRV_MAT_MAXTEXTURES); diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h index 5d58840c1..9d28a15ab 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h @@ -55,12 +55,12 @@ struct CGlExtensions bool NVTextureEnvCombine4; bool ARBTextureCubeMap; bool NVVertexProgram; - bool EXTVertexShader; + bool EXTVertexShader; bool NVTextureShader; - bool NVOcclusionQuery; + bool NVOcclusionQuery; bool NVTextureRectangle; - bool EXTTextureRectangle; - bool ARBTextureRectangle; + bool EXTTextureRectangle; + bool ARBTextureRectangle; bool FrameBufferObject; bool FrameBufferBlit; bool FrameBufferMultisample; @@ -89,10 +89,10 @@ struct CGlExtensions // ATI Extensions. bool ATIVertexArrayObject; - bool ATIMapObjectBuffer; + bool ATIMapObjectBuffer; bool ATITextureEnvCombine3; - bool ATIEnvMapBumpMap; - bool ATIFragmentShader; + bool ATIEnvMapBumpMap; + bool ATIFragmentShader; bool ATIXTextureEnvRoute; bool ATIVertexAttribArrayObject; // ARB Extensions @@ -157,7 +157,7 @@ public: NVTextureRectangle = false; EXTTextureRectangle = false; EXTTextureFilterAnisotropic = false; - EXTTextureFilterAnisotropicMaximum = 1.f; + EXTTextureFilterAnisotropicMaximum = 0.f; ARBTextureRectangle = false; ARBTextureNonPowerOfTwo = false; ARBMultisample = false; @@ -781,3 +781,4 @@ extern NEL_PFNGLSAMPLECOVERAGEARBPROC nglSampleCoverageARB; #endif // USE_OPENGLES #endif // NL_OPENGL_EXTENSION_H + diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h b/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h index d8862ff14..a9df7c4bc 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h @@ -63,6 +63,20 @@ typedef void (APIENTRY * NEL_PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pnam typedef void (APIENTRY * NEL_PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params); typedef void (APIENTRY * NEL_PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params); +#define GL_MULTISAMPLE_ARB GL_MULTISAMPLE +#define GL_TEXTURE_CUBE_MAP_ARB GL_TEXTURE_CUBE_MAP_OES +#define GL_NONE 0 +#define GL_MAX_TEXTURE_UNITS_ARB GL_MAX_TEXTURE_UNITS +#define GL_REFLECTION_MAP_ARB GL_REFLECTION_MAP_OES +#define GL_RGB_SCALE_EXT GL_RGB_SCALE +#define GL_REFLECTION_MAP_ARB GL_REFLECTION_MAP_OES +#define GL_PREVIOUS_EXT GL_PREVIOUS +#define GL_PRIMARY_COLOR_EXT GL_PRIMARY_COLOR +#define GL_CONSTANT_EXT GL_CONSTANT +#define GL_ADD_SIGNED_EXT GL_ADD_SIGNED +#define GL_INTERPOLATE_EXT GL_INTERPOLATE +#define GL_BUMP_ENVMAP_ATI GL_INTERPOLATE + #else // *************************************************************************** diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_inputs.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_inputs.cpp index 81fea5333..4064c8819 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_inputs.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_inputs.cpp @@ -17,7 +17,7 @@ #include "stdopengl.h" #include "driver_opengl.h" -#ifdef NL_OS_UNIX +#if defined(NL_OS_UNIX) && !defined(NL_OS_MAC) # include # ifdef HAVE_XRENDER # include @@ -25,7 +25,7 @@ # ifdef HAVE_XCURSOR # include # endif // HAVE_XCURSOR -#endif // NL_OS_UNIX +#endif // defined(NL_OS_UNIX) && !defined(NL_OS_MAC) #include "nel/misc/mouse_device.h" #include "nel/misc/di_event_emitter.h" diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_material.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_material.cpp index ff73eb480..6d9dbb247 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_material.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_material.cpp @@ -87,10 +87,9 @@ static inline void convTexAddr(ITexture *tex, CMaterial::TTexAddressingMode mode nlassert(mode < CMaterial::TexAddrCount); static const GLenum glTex2dAddrModesNV[] = { -#ifdef USE_OPENGLES - 0, GL_TEXTURE_2D -#else - GL_NONE, GL_TEXTURE_2D, GL_PASS_THROUGH_NV, GL_CULL_FRAGMENT_NV, + GL_NONE, GL_TEXTURE_2D, +#ifndef USE_OPENGLES + GL_PASS_THROUGH_NV, GL_CULL_FRAGMENT_NV, GL_OFFSET_TEXTURE_2D_NV, GL_OFFSET_TEXTURE_2D_SCALE_NV, GL_DEPENDENT_AR_TEXTURE_2D_NV, GL_DEPENDENT_GB_TEXTURE_2D_NV, GL_DOT_PRODUCT_NV, GL_DOT_PRODUCT_TEXTURE_2D_NV, GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV, @@ -101,10 +100,9 @@ static inline void convTexAddr(ITexture *tex, CMaterial::TTexAddressingMode mode static const GLenum glTexCubeAddrModesNV[] = { -#ifdef USE_OPENGLES - 0, GL_TEXTURE_CUBE_MAP_OES -#else - GL_NONE, GL_TEXTURE_CUBE_MAP_ARB, GL_PASS_THROUGH_NV, GL_CULL_FRAGMENT_NV, + GL_NONE, GL_TEXTURE_CUBE_MAP_ARB, +#ifndef USE_OPENGLES + GL_PASS_THROUGH_NV, GL_CULL_FRAGMENT_NV, GL_OFFSET_TEXTURE_2D_NV, GL_OFFSET_TEXTURE_2D_SCALE_NV, GL_DEPENDENT_AR_TEXTURE_2D_NV, GL_DEPENDENT_GB_TEXTURE_2D_NV, GL_DOT_PRODUCT_NV, GL_DOT_PRODUCT_TEXTURE_2D_NV, GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV, @@ -147,11 +145,7 @@ void CDriverGL::setTextureEnvFunction(uint stage, CMaterial& mat) { // Cubic or normal ? if (text->isTextureCube ()) -#ifdef USE_OPENGLES - _DriverGLStates.setTexGenMode (stage, GL_REFLECTION_MAP_OES); -#else _DriverGLStates.setTexGenMode (stage, GL_REFLECTION_MAP_ARB); -#endif else #ifdef USE_OPENGLES _DriverGLStates.setTexGenMode (stage, GL_TEXTURE_CUBE_MAP_OES); @@ -974,11 +968,7 @@ void CDriverGL::setupLightMapPass(uint pass) if (mat._LightMapsMulx2) { // Multiply x 2 -#ifdef USE_OPENGLES - glTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE, 2); -#else glTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_EXT, 2); -#endif } } } @@ -1087,11 +1077,7 @@ void CDriverGL::endLightMapMultiPass() for (uint32 i = 0; i < (_NLightMapPerPass+1); ++i) { _DriverGLStates.activeTextureARB(i); -#ifdef USE_OPENGLES - glTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE, 1); -#else glTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_EXT, 1); -#endif } } } @@ -1165,12 +1151,7 @@ void CDriverGL::setupSpecularBegin() // todo hulud remove // _DriverGLStates.setTextureMode(CDriverGLStates::TextureCubeMap); - -#ifdef USE_OPENGLES - _DriverGLStates.setTexGenMode (1, GL_REFLECTION_MAP_OES); -#else _DriverGLStates.setTexGenMode (1, GL_REFLECTION_MAP_ARB); -#endif // setup the good matrix for stage 1. glMatrixMode(GL_TEXTURE); diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_states.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_states.cpp index fa4e626a8..60a0609dc 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_states.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_states.cpp @@ -94,6 +94,7 @@ void CDriverGLStates::forceDefaults(uint nbStages) _CurLighting= false; _CurZWrite= true; _CurStencilTest=false; + _CurMultisample= false; // setup GLStates. glDisable(GL_FOG); @@ -102,6 +103,7 @@ void CDriverGLStates::forceDefaults(uint nbStages) glDisable(GL_ALPHA_TEST); glDisable(GL_LIGHTING); glDepthMask(GL_TRUE); + glDisable(GL_MULTISAMPLE_ARB); // Func. _CurBlendSrc= GL_SRC_ALPHA; @@ -163,11 +165,9 @@ void CDriverGLStates::forceDefaults(uint nbStages) if(_TextureCubeMapSupported) { -#ifdef USE_OPENGLES - glDisable(GL_TEXTURE_CUBE_MAP_OES); - glDisable(GL_TEXTURE_GEN_STR_OES); -#else glDisable(GL_TEXTURE_CUBE_MAP_ARB); +#ifdef USE_OPENGLES + glDisable(GL_TEXTURE_GEN_STR_OES); #endif } @@ -379,6 +379,26 @@ void CDriverGLStates::enableStencilTest(bool enable) } } +// *************************************************************************** +void CDriverGLStates::enableMultisample(bool enable) +{ + H_AUTO_OGL(CDriverGLStates_enableMultisample); + + // If different from current setup, update. +#ifndef NL3D_GLSTATE_DISABLE_CACHE + if( enable != _CurMultisample ) +#endif + { + // new state. + _CurMultisample= enable; + + // Setup GLState. + if(_CurMultisample) + glEnable(GL_MULTISAMPLE_ARB); + else + glDisable(GL_MULTISAMPLE_ARB); + } +} // *************************************************************************** void CDriverGLStates::blendFunc(GLenum src, GLenum dst) @@ -665,7 +685,7 @@ void CDriverGLStates::setTexGenMode (uint stage, GLint mode) else { #ifdef USE_OPENGLES -// nglTexGeniOES(GL_TEXTURE_GEN_STR_OES, GL_TEXTURE_GEN_MODE_OES, mode); + nglTexGeniOES(GL_TEXTURE_GEN_STR_OES, GL_TEXTURE_GEN_MODE_OES, mode); #else glTexGeni( GL_S, GL_TEXTURE_GEN_MODE, mode); glTexGeni( GL_T, GL_TEXTURE_GEN_MODE, mode); @@ -681,8 +701,8 @@ void CDriverGLStates::setTexGenMode (uint stage, GLint mode) #ifdef USE_OPENGLES // if(mode==GL_OBJECT_LINEAR || mode==GL_EYE_LINEAR) // { - nglTexGeniOES(GL_TEXTURE_GEN_STR_OES, GL_TEXTURE_GEN_MODE_OES, mode); - glEnable(GL_TEXTURE_GEN_STR_OES); +// nglTexGeniOES(GL_TEXTURE_GEN_STR_OES, GL_TEXTURE_GEN_MODE_OES, mode); +// glEnable(GL_TEXTURE_GEN_STR_OES); // } // else // { @@ -721,11 +741,7 @@ void CDriverGLStates::resetTextureMode() if (_TextureCubeMapSupported) { -#ifdef USE_OPENGLES - glDisable(GL_TEXTURE_CUBE_MAP_OES); -#else glDisable(GL_TEXTURE_CUBE_MAP_ARB); -#endif } #ifndef USE_OPENGLES @@ -768,11 +784,7 @@ void CDriverGLStates::setTextureMode(TTextureMode texMode) { if(_TextureCubeMapSupported) { -#ifdef USE_OPENGLES - glDisable(GL_TEXTURE_CUBE_MAP_OES); -#else glDisable(GL_TEXTURE_CUBE_MAP_ARB); -#endif } else { @@ -802,11 +814,7 @@ void CDriverGLStates::setTextureMode(TTextureMode texMode) { if(_TextureCubeMapSupported) { -#ifdef USE_OPENGLES - glEnable(GL_TEXTURE_CUBE_MAP_OES); -#else glEnable(GL_TEXTURE_CUBE_MAP_ARB); -#endif } else { @@ -851,11 +859,11 @@ void CDriverGLStates::forceActiveTextureARB(uint stage) _CurrentActiveTextureARB= stage; } - // *************************************************************************** void CDriverGLStates::enableVertexArray(bool enable) { - H_AUTO_OGL(CDriverGLStates_enableVertexArray) + H_AUTO_OGL(CDriverGLStates_enableVertexArray); + if(_VertexArrayEnabled != enable) { if(enable) @@ -1017,7 +1025,7 @@ void CDriverGLStates::enableVertexAttribArrayARB(uint glIndex,bool enable) // *************************************************************************** void CDriverGLStates::enableVertexAttribArrayForEXTVertexShader(uint glIndex, bool enable, uint *variants) { - H_AUTO_OGL(CDriverGLStates_enableVertexAttribArrayForEXTVertexShader) + H_AUTO_OGL(CDriverGLStates_enableVertexAttribArrayForEXTVertexShader); if(_VertexAttribArrayEnabled[glIndex] != enable) { diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_states.h b/code/nel/src/3d/driver/opengl/driver_opengl_states.h index fda404e03..be5c1918f 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_states.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_states.h @@ -44,6 +44,7 @@ namespace NLDRIVERGL { - GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R - GL_COLOR_MATERIAL - GL_FOG + - GL_MULTISAMPLE_ARB - glActiveTextureARB() - glClientActiveTextureARB() - glEnableClientState() glDisableClientState() with: @@ -99,6 +100,9 @@ public: /// enable/disable stencil test void enableStencilTest(bool enable); bool isStencilTestEnabled() const { return _CurStencilTest; } + /// enable/disable multisample + void enableMultisample(bool enable); + bool isMultisampleEnabled() const { return _CurMultisample; } // @} /// glBlendFunc. @@ -197,6 +201,7 @@ private: bool _CurLighting; bool _CurZWrite; bool _CurStencilTest; + bool _CurMultisample; GLenum _CurBlendSrc; GLenum _CurBlendDst; diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_texture.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_texture.cpp index f0aab8938..77954a8e3 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_texture.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_texture.cpp @@ -781,11 +781,7 @@ void CDriverGL::bindTextureWithMode(ITexture &tex) { _DriverGLStates.setTextureMode(CDriverGLStates::TextureCubeMap); // Bind this texture -#ifdef USE_OPENGLES - glBindTexture(GL_TEXTURE_CUBE_MAP_OES, gltext->ID); -#else glBindTexture(GL_TEXTURE_CUBE_MAP_ARB, gltext->ID); -#endif } } else @@ -820,19 +816,16 @@ void CDriverGL::setupTextureBasicParameters(ITexture &tex) { if (_Extensions.ARBTextureCubeMap) { -#ifdef USE_OPENGLES - glTexParameteri(GL_TEXTURE_CUBE_MAP_OES,GL_TEXTURE_WRAP_S, translateWrapToGl(ITexture::Clamp, _Extensions)); - glTexParameteri(GL_TEXTURE_CUBE_MAP_OES,GL_TEXTURE_WRAP_T, translateWrapToGl(ITexture::Clamp, _Extensions)); -// glTexParameteri(GL_TEXTURE_CUBE_MAP_OES,GL_TEXTURE_WRAP_R, translateWrapToGl(ITexture::Clamp, _Extensions)); - glTexParameteri(GL_TEXTURE_CUBE_MAP_OES,GL_TEXTURE_MAG_FILTER, translateMagFilterToGl(gltext)); - glTexParameteri(GL_TEXTURE_CUBE_MAP_OES,GL_TEXTURE_MIN_FILTER, translateMinFilterToGl(gltext)); -#else glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB,GL_TEXTURE_WRAP_S, translateWrapToGl(ITexture::Clamp, _Extensions)); glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB,GL_TEXTURE_WRAP_T, translateWrapToGl(ITexture::Clamp, _Extensions)); +#ifndef USE_OPENGLES glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB,GL_TEXTURE_WRAP_R, translateWrapToGl(ITexture::Clamp, _Extensions)); +#endif glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB,GL_TEXTURE_MAG_FILTER, translateMagFilterToGl(gltext)); glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB,GL_TEXTURE_MIN_FILTER, translateMinFilterToGl(gltext)); -#endif + + if (_AnisotropicFilter > 1.f && gltext->MinFilter > ITexture::NearestMipMapLinear) + glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB, GL_TEXTURE_MAX_ANISOTROPY_EXT, _AnisotropicFilter); } } else @@ -841,6 +834,9 @@ void CDriverGL::setupTextureBasicParameters(ITexture &tex) glTexParameteri(gltext->TextureMode,GL_TEXTURE_WRAP_T, translateWrapToGl(gltext->WrapT, _Extensions)); glTexParameteri(gltext->TextureMode,GL_TEXTURE_MAG_FILTER, translateMagFilterToGl(gltext)); glTexParameteri(gltext->TextureMode,GL_TEXTURE_MIN_FILTER, translateMinFilterToGl(gltext)); + + if (_AnisotropicFilter > 1.f && gltext->MinFilter > ITexture::NearestMipMapLinear) + glTexParameteri(gltext->TextureMode, GL_TEXTURE_MAX_ANISOTROPY_EXT, _AnisotropicFilter); } // tex.clearFilterOrWrapModeTouched(); @@ -1516,31 +1512,19 @@ bool CDriverGL::activateTexture(uint stage, ITexture *tex) _CurrentTextureInfoGL[stage]= gltext; // setup this texture -#ifdef USE_OPENGLES - glBindTexture(GL_TEXTURE_CUBE_MAP_OES, gltext->ID); -#else glBindTexture(GL_TEXTURE_CUBE_MAP_ARB, gltext->ID); -#endif // Change parameters of texture, if necessary. //============================================ if(gltext->MagFilter!= tex->getMagFilter()) { gltext->MagFilter= tex->getMagFilter(); -#ifdef USE_OPENGLES - glTexParameteri(GL_TEXTURE_CUBE_MAP_OES,GL_TEXTURE_MAG_FILTER, translateMagFilterToGl(gltext)); -#else glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB,GL_TEXTURE_MAG_FILTER, translateMagFilterToGl(gltext)); -#endif } if(gltext->MinFilter!= tex->getMinFilter()) { gltext->MinFilter= tex->getMinFilter(); -#ifdef USE_OPENGLES - glTexParameteri(GL_TEXTURE_CUBE_MAP_OES,GL_TEXTURE_MIN_FILTER, translateMinFilterToGl(gltext)); -#else glTexParameteri(GL_TEXTURE_CUBE_MAP_ARB,GL_TEXTURE_MIN_FILTER, translateMinFilterToGl(gltext)); -#endif } } } @@ -1617,34 +1601,16 @@ bool CDriverGL::activateTexture(uint stage, ITexture *tex) // This maps the CMaterial::TTexOperator -static const GLenum OperatorLUT[9]= { GL_REPLACE, GL_MODULATE, GL_ADD, -#ifdef USE_OPENGLES - GL_ADD_SIGNED, GL_INTERPOLATE, GL_INTERPOLATE, GL_INTERPOLATE, GL_INTERPOLATE, GL_INTERPOLATE -#else - GL_ADD_SIGNED_EXT, GL_INTERPOLATE_EXT, GL_INTERPOLATE_EXT, GL_INTERPOLATE_EXT, GL_INTERPOLATE_EXT, GL_BUMP_ENVMAP_ATI -#endif -}; +static const GLenum OperatorLUT[9]= { GL_REPLACE, GL_MODULATE, GL_ADD, GL_ADD_SIGNED_EXT, GL_INTERPOLATE_EXT, GL_INTERPOLATE_EXT, GL_INTERPOLATE_EXT, GL_INTERPOLATE_EXT, GL_BUMP_ENVMAP_ATI }; // This maps the CMaterial::TTexSource -static const GLenum SourceLUT[4]= { GL_TEXTURE, -#ifdef USE_OPENGLES - GL_PREVIOUS, GL_PRIMARY_COLOR, GL_CONSTANT -#else - GL_PREVIOUS_EXT, GL_PRIMARY_COLOR_EXT, GL_CONSTANT_EXT -#endif -}; +static const GLenum SourceLUT[4]= { GL_TEXTURE, GL_PREVIOUS_EXT, GL_PRIMARY_COLOR_EXT, GL_CONSTANT_EXT }; // This maps the CMaterial::TTexOperand static const GLenum OperandLUT[4]= { GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA }; // This maps the CMaterial::TTexOperator, used for openGL Arg2 setup. -static const GLenum InterpolateSrcLUT[8]= { GL_TEXTURE, GL_TEXTURE, GL_TEXTURE, GL_TEXTURE, GL_TEXTURE, -#ifdef USE_OPENGLES - GL_PREVIOUS, GL_PRIMARY_COLOR, GL_CONSTANT -#else - GL_PREVIOUS_EXT, GL_PRIMARY_COLOR_EXT, GL_CONSTANT_EXT -#endif -}; +static const GLenum InterpolateSrcLUT[8]= { GL_TEXTURE, GL_TEXTURE, GL_TEXTURE, GL_TEXTURE, GL_TEXTURE, GL_PREVIOUS_EXT, GL_PRIMARY_COLOR_EXT, GL_CONSTANT_EXT }; #ifndef USE_OPENGLES @@ -2224,6 +2190,25 @@ void CDriverGL::forceDXTCCompression(bool dxtcComp) _ForceDXTCCompression= dxtcComp; } +// *************************************************************************** +void CDriverGL::setAnisotropicFilter(sint filtering) +{ + H_AUTO_OGL(CDriverGL_setAnisotropicFiltering); + + if (!_Extensions.EXTTextureFilterAnisotropic) return; + + if (filtering < 0 || filtering > _Extensions.EXTTextureFilterAnisotropicMaximum) + { + // set maximum value for anisotropic filter + _AnisotropicFilter = _Extensions.EXTTextureFilterAnisotropicMaximum; + } + else + { + // set specified value for anisotropic filter + _AnisotropicFilter = filtering; + } +} + // *************************************************************************** void CDriverGL::forceTextureResize(uint divisor) { diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp index 06ebafab0..60109cfb6 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp @@ -1542,7 +1542,7 @@ void CVertexBufferHardARB::unlock() #ifdef NL_DEBUG _Unmapping = true; #endif - GLboolean unmapOk = false; + GLboolean unmapOk = GL_FALSE; #ifdef USE_OPENGLES if (_Driver->_Extensions.OESMapBuffer) @@ -1671,3 +1671,4 @@ void CVertexBufferHardARB::invalidate() #endif } // NL3D + diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp index ae47ac7ec..dc2a4243a 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp @@ -43,7 +43,8 @@ namespace NLDRIVERGL { // *************************************************************************** CVertexProgamDrvInfosGL::CVertexProgamDrvInfosGL (CDriverGL *drv, ItVtxPrgDrvInfoPtrList it) : IVertexProgramDrvInfos (drv, it) { - H_AUTO_OGL(CVertexProgamDrvInfosGL_CVertexProgamDrvInfosGL) + H_AUTO_OGL(CVertexProgamDrvInfosGL_CVertexProgamDrvInfosGL); + // Extension must exist nlassert (drv->_Extensions.NVVertexProgram || drv->_Extensions.EXTVertexShader @@ -87,7 +88,7 @@ bool CDriverGL::isVertexProgramEmulated () const // *************************************************************************** bool CDriverGL::activeNVVertexProgram (CVertexProgram *program) { - H_AUTO_OGL(CVertexProgamDrvInfosGL_activeNVVertexProgram) + H_AUTO_OGL(CVertexProgamDrvInfosGL_activeNVVertexProgram); #ifndef USE_OPENGLES // Setup or unsetup ? @@ -209,7 +210,8 @@ bool CDriverGL::activeNVVertexProgram (CVertexProgram *program) static inline GLenum convSwizzleToGLFormat(CVPSwizzle::EComp comp, bool negate) { - H_AUTO_OGL(convSwizzleToGLFormat) + H_AUTO_OGL(convSwizzleToGLFormat); + if (!negate) { switch(comp) @@ -1348,12 +1350,10 @@ static void ARBVertexProgramDumpInstr(const CVPInstruction &instr, std::string & } - - // *************************************************************************** bool CDriverGL::setupARBVertexProgram (const CVPParser::TProgram &inParsedProgram, GLuint id, bool &specularWritten) { - H_AUTO_OGL(CDriverGL_setupARBVertexProgram) + H_AUTO_OGL(CDriverGL_setupARBVertexProgram); #ifndef USE_OPENGLES // tmp @@ -1571,7 +1571,6 @@ bool CDriverGL::activeARBVertexProgram (CVertexProgram *program) #endif } - // *************************************************************************** bool CDriverGL::activeEXTVertexShader (CVertexProgram *program) { diff --git a/code/nel/src/3d/driver/opengl/nel-driverogl.pc b/code/nel/src/3d/driver/opengl/nel-driverogl.pc index 867ad515e..03a2b1294 100644 --- a/code/nel/src/3d/driver/opengl/nel-driverogl.pc +++ b/code/nel/src/3d/driver/opengl/nel-driverogl.pc @@ -6,7 +6,7 @@ includedir=${prefix}/include Name: nel-driverogl Version: 0.5.0 Description: NeL 0.5.0 -Reqiures: +Requires: Libs: -L${libdir} Libs.private: -ldl -lpthread -lxml2 -lGL -lXxf86vm -lXmu Cflags: -I${includedir} -DXF86VIDMODE diff --git a/code/nel/src/3d/driver/opengl/nel-driverogl.pc.in b/code/nel/src/3d/driver/opengl/nel-driverogl.pc.in index 282e580f1..6f43c5f14 100644 --- a/code/nel/src/3d/driver/opengl/nel-driverogl.pc.in +++ b/code/nel/src/3d/driver/opengl/nel-driverogl.pc.in @@ -6,7 +6,7 @@ includedir=@includedir@ Name: nel-driverogl Version: @VERSION@ Description: NeL @VERSION@ -Reqiures: +Requires: Libs: -L${libdir} Libs.private: @LIBS@ @OPENGL_LIBS@ @XF86VIDMODE_LIBS@ -lXmu Cflags: -I${includedir} @OPENGL_CFLAGS@ @XF86VIDMODE_CFLAGS@ diff --git a/code/nel/src/3d/driver/opengles/CMakeLists.txt b/code/nel/src/3d/driver/opengles/CMakeLists.txt index bd330c6ec..74f0ddff3 100644 --- a/code/nel/src/3d/driver/opengles/CMakeLists.txt +++ b/code/nel/src/3d/driver/opengles/CMakeLists.txt @@ -77,7 +77,7 @@ IF(WITH_PCH) ENDIF(WITH_PCH) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC_DRIVERS) OR NOT WITH_STATIC_DRIVERS) - INSTALL(TARGETS ${NLDRV_OGLES_LIB} LIBRARY DESTINATION ${NL_DRIVER_PREFIX} ARCHIVE DESTINATION lib RUNTIME DESTINATION bin COMPONENT drivers3d) + INSTALL(TARGETS ${NLDRV_OGLES_LIB} LIBRARY DESTINATION ${NL_DRIVER_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} RUNTIME DESTINATION ${NL_DRIVER_PREFIX} COMPONENT drivers3d) IF(WITH_MAXPLUGIN) INSTALL(TARGETS ${NLDRV_OGLES_LIB} RUNTIME DESTINATION maxplugin COMPONENT drivers3d) ENDIF(WITH_MAXPLUGIN) diff --git a/code/nel/src/3d/driver_user.cpp b/code/nel/src/3d/driver_user.cpp index df66f99d0..b45ebbd37 100644 --- a/code/nel/src/3d/driver_user.cpp +++ b/code/nel/src/3d/driver_user.cpp @@ -1469,12 +1469,21 @@ UDriver::TPolygonMode CDriverUser::getPolygonMode () return umode; } + void CDriverUser::forceDXTCCompression(bool dxtcComp) { NL3D_HAUTO_UI_DRIVER; _Driver->forceDXTCCompression(dxtcComp); } + +void CDriverUser::setAnisotropicFilter(sint filter) +{ + NL3D_HAUTO_UI_DRIVER; + + _Driver->setAnisotropicFilter(filter); +} + void CDriverUser::forceTextureResize(uint divisor) { NL3D_HAUTO_UI_DRIVER; diff --git a/code/nel/src/3d/nel-3d.pc b/code/nel/src/3d/nel-3d.pc index 638961276..9420c67bf 100644 --- a/code/nel/src/3d/nel-3d.pc +++ b/code/nel/src/3d/nel-3d.pc @@ -6,7 +6,7 @@ includedir=${prefix}/include Name: nel-3d Version: 0.5.0 Description: NeL 0.5.0 -Reqiures: +Requires: Libs: -L${libdir} Libs.private: -ldl -lpthread -lxml2 -lfreetype -lz -lc Cflags: -I${includedir} -I/usr/include/freetype2 diff --git a/code/nel/src/3d/nel-3d.pc.in b/code/nel/src/3d/nel-3d.pc.in index ade3e2d08..a3c06762a 100644 --- a/code/nel/src/3d/nel-3d.pc.in +++ b/code/nel/src/3d/nel-3d.pc.in @@ -6,7 +6,7 @@ includedir=@includedir@ Name: nel-3d Version: @NL_VERSION@ Description: NeL @NL_VERSION@ -Reqiures: +Requires: Libs: -L${libdir} Libs.private: @LIBS@ @FREETYPE_LIBS@ -lc Cflags: -I${includedir} @FREETYPE_CFLAGS@ diff --git a/code/nel/src/3d/tangent_space_build.cpp b/code/nel/src/3d/tangent_space_build.cpp index 17e106615..8a1b1100a 100644 --- a/code/nel/src/3d/tangent_space_build.cpp +++ b/code/nel/src/3d/tangent_space_build.cpp @@ -214,9 +214,9 @@ bool BuildTangentSpace(CMesh::CMeshBuild &outMeshBuild, const CMesh::CMeshBuild if (!canShare) continue; // Get indices of vertices of current tri - const uint indices[] = { f.Corner[0].Vertex, - f.Corner[1].Vertex, - f.Corner[2].Vertex }; + const uint indices[] = { (uint)f.Corner[0].Vertex, + (uint)f.Corner[1].Vertex, + (uint)f.Corner[2].Vertex }; NLMISC::CTriangle tri; // Build it BuildTriFromMB(outMeshBuild, indices, tri); diff --git a/code/nel/src/3d/zone_manager.cpp b/code/nel/src/3d/zone_manager.cpp index 6c0a727f2..efa36fa66 100644 --- a/code/nel/src/3d/zone_manager.cpp +++ b/code/nel/src/3d/zone_manager.cpp @@ -237,7 +237,7 @@ void CZoneLoadingTask::run(void) { // Lookup the zone string zonePathLookup = CPath::lookup (_ZoneName, false, false, true); - if (zonePathLookup == "") + if (zonePathLookup.empty()) zonePathLookup = _ZoneName; CZone *ZoneTmp = new CZone; diff --git a/code/nel/src/cegui/CMakeLists.txt b/code/nel/src/cegui/CMakeLists.txt index 48c06eb4b..b815eb139 100644 --- a/code/nel/src/cegui/CMakeLists.txt +++ b/code/nel/src/cegui/CMakeLists.txt @@ -12,5 +12,5 @@ NL_ADD_LIB_SUFFIX(nelceguirenderer) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DNEL_CEGUIRENDERER_EXPORTS) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) - INSTALL(TARGETS nelceguirenderer RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) + INSTALL(TARGETS nelceguirenderer RUNTIME DESTINATION ${NL_BIN_PREFIX} LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) diff --git a/code/nel/src/georges/CMakeLists.txt b/code/nel/src/georges/CMakeLists.txt index 640f33204..1d56a31bf 100644 --- a/code/nel/src/georges/CMakeLists.txt +++ b/code/nel/src/georges/CMakeLists.txt @@ -23,5 +23,5 @@ ENDIF(WITH_PCH) NL_GEN_PC(nel-georges.pc) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) - INSTALL(TARGETS nelgeorges LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) + INSTALL(TARGETS nelgeorges LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) diff --git a/code/nel/src/georges/nel-georges.pc.in b/code/nel/src/georges/nel-georges.pc.in index 4aa509aa0..5a8703714 100644 --- a/code/nel/src/georges/nel-georges.pc.in +++ b/code/nel/src/georges/nel-georges.pc.in @@ -6,7 +6,7 @@ includedir=@includedir@ Name: nel-georges Version: @NL_VERSION@ Description: NeL @NL_VERSION@ -Reqiures: +Requires: Libs: -L${libdir} Libs.private: @LIBS@ -lc Cflags: -I${includedir} diff --git a/code/nel/src/georges/type.cpp b/code/nel/src/georges/type.cpp index 344ba50f9..5b18c65c5 100644 --- a/code/nel/src/georges/type.cpp +++ b/code/nel/src/georges/type.cpp @@ -25,7 +25,6 @@ #include "nel/georges/form.h" #include "nel/georges/form_elm.h" #include "nel/georges/form_loader.h" - #include "nel/georges/type.h" using namespace NLMISC; diff --git a/code/nel/src/gui/ctrl_button.cpp b/code/nel/src/gui/ctrl_button.cpp index a3d1f85aa..9e5631580 100644 --- a/code/nel/src/gui/ctrl_button.cpp +++ b/code/nel/src/gui/ctrl_button.cpp @@ -399,7 +399,7 @@ namespace NLGUI { // CInterfaceManager *pIM = CInterfaceManager::getInstance(); // CViewRenderer &rVR = *CViewRenderer::getInstance(); - _TextureIdNormal.setTexture(name.c_str()); + _TextureIdNormal.setTexture(name.c_str (), 0, 0, -1, -1, false); } // ---------------------------------------------------------------------------- @@ -407,7 +407,7 @@ namespace NLGUI { // CInterfaceManager *pIM = CInterfaceManager::getInstance(); // CViewRenderer &rVR = *CViewRenderer::getInstance(); - _TextureIdPushed.setTexture(name.c_str()); + _TextureIdPushed.setTexture(name.c_str (), 0, 0, -1, -1, false); } // ---------------------------------------------------------------------------- @@ -415,7 +415,7 @@ namespace NLGUI { // CInterfaceManager *pIM = CInterfaceManager::getInstance(); // CViewRenderer &rVR = *CViewRenderer::getInstance(); - _TextureIdOver.setTexture(name.c_str()); + _TextureIdOver.setTexture(name.c_str (), 0, 0, -1, -1, false); } // ---------------------------------------------------------------------------- diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp index 78d0e86f8..dcfc1855a 100644 --- a/code/nel/src/gui/group_html.cpp +++ b/code/nel/src/gui/group_html.cpp @@ -1814,6 +1814,7 @@ namespace NLGUI _GroupHtmlByUID[_GroupHtmlUID]= this; // init + _TrustedDomain = false; _ParsingLua = false; _IgnoreText = false; _BrowseNextTime = false; @@ -3857,7 +3858,7 @@ namespace NLGUI else { /* Add our own request terminate handler. Nb: pass as param a UID, not the ptr */ - HTNet_addAfter(requestTerminater, NULL, (void*)_GroupHtmlUID, HT_ALL, HT_FILTER_LAST); + HTNet_addAfter(requestTerminater, NULL, (void*)(size_t)_GroupHtmlUID, HT_ALL, HT_FILTER_LAST); /* Set the timeout for long we are going to wait for a response */ HTHost_setEventTimeout(60000); @@ -4003,7 +4004,7 @@ namespace NLGUI else { /* Add our own request terminate handler. Nb: pass as param a UID, not the ptr */ - HTNet_addAfter(requestTerminater, NULL, (void*)_GroupHtmlUID, HT_ALL, HT_FILTER_LAST); + HTNet_addAfter(requestTerminater, NULL, (void*)(size_t)_GroupHtmlUID, HT_ALL, HT_FILTER_LAST); /* Start the first request */ diff --git a/code/nel/src/gui/group_menu.cpp b/code/nel/src/gui/group_menu.cpp index efb03a591..bc2899ea0 100644 --- a/code/nel/src/gui/group_menu.cpp +++ b/code/nel/src/gui/group_menu.cpp @@ -107,7 +107,7 @@ namespace NLGUI { OldShadowColor.A = OldColor.A = (uint8)a; OldShadowColorOver.A = OldColorOver.A = (uint8)a; - OldShadowColorGrayed.A = OldShadowColorGrayed.A = (uint8)a; + OldShadowColorGrayed.A = OldColorGrayed.A = (uint8)a; } // ------------------------------------------------------------------------------------------------ diff --git a/code/nel/src/gui/interface_expr.cpp b/code/nel/src/gui/interface_expr.cpp index 1feed6e26..2a8195869 100644 --- a/code/nel/src/gui/interface_expr.cpp +++ b/code/nel/src/gui/interface_expr.cpp @@ -79,11 +79,11 @@ namespace NLGUI { std::string tempStr; formatLuaCall(expr, tempStr); - if (!buildExprTree(tempStr.c_str(), node)) return false; + if (!buildExprTree(tempStr.c_str(), node)) return NULL; } else { - if (!buildExprTree(expr.c_str(), node)) return false; + if (!buildExprTree(expr.c_str(), node)) return NULL; } return node; diff --git a/code/nel/src/gui/libwww.cpp b/code/nel/src/gui/libwww.cpp index 347e0e119..a594b1b84 100644 --- a/code/nel/src/gui/libwww.cpp +++ b/code/nel/src/gui/libwww.cpp @@ -29,6 +29,10 @@ extern "C" #include "nel/gui/group_html.h" #include "nel/gui/libwww_nel_stream.h" +#ifdef HAVE_REVISION_H +#include "revision.h" +#endif + using namespace NLMISC; // The HText structure for libwww @@ -551,6 +555,34 @@ namespace NLGUI /* Initiate libwww */ +#if defined(HAVE_X86_64) +#define RYZOM_ARCH "x64" +#elif defined(HAVE_X86) +#define RYZOM_ARCH "x86" +#elif defined(HAVE_ARM) +#define RYZOM_ARCH "arm" +#else +#define RYZOM_ARCH "unknow" +#endif +#if defined(NL_OS_WINDOWS) +#define RYZOM_SYSTEM "windows" +#elif defined(NL_OS_MAC) +#define RYZOM_SYSTEM "mac" +#elif defined(NL_OS_UNIX) +#define RYZOM_SYSTEM "unix" +#else +#define RYZOM_SYSTEM "unkown" +#endif + +/* + char buffer[256]; +#ifdef REVISION + sprintf(buffer, "%s.%s-%s-%s", RYZOM_VERSION, REVISION, RYZOM_SYSTEM, RYZOM_ARCH); +#else + sprintf(buffer, "%s-%s-%s", RYZOM_VERSION, RYZOM_SYSTEM, RYZOM_ARCH); +#endif +*/ + HTLib_setAppName( CGroupHTML::options.appName.c_str() ); HTLib_setAppVersion( CGroupHTML::options.appVersion.c_str() ); diff --git a/code/nel/src/gui/lua_ihm.cpp b/code/nel/src/gui/lua_ihm.cpp index 5c3a8f5df..8fc50a4c5 100644 --- a/code/nel/src/gui/lua_ihm.cpp +++ b/code/nel/src/gui/lua_ihm.cpp @@ -1519,7 +1519,7 @@ namespace NLGUI p = s.splitTo('.', true); while (p.size() > 0) { - if (path == "") + if (path.empty() ) path = p; else path += "." + p; diff --git a/code/nel/src/gui/view_bitmap.cpp b/code/nel/src/gui/view_bitmap.cpp index 742150ead..1c68d7d69 100644 --- a/code/nel/src/gui/view_bitmap.cpp +++ b/code/nel/src/gui/view_bitmap.cpp @@ -450,8 +450,6 @@ namespace NLGUI // ---------------------------------------------------------------------------- void CViewBitmap::setTexture(const std::string & TxName) { - // CInterfaceManager *pIM = CInterfaceManager::getInstance(); - // CViewRenderer &rVR = *CViewRenderer::getInstance(); _TextureId.setTexture (TxName.c_str (), _TxtOffsetX, _TxtOffsetY, _TxtWidth, _TxtHeight, false); } diff --git a/code/nel/src/gui/view_renderer.cpp b/code/nel/src/gui/view_renderer.cpp index 87132d5fd..4f8f7d320 100644 --- a/code/nel/src/gui/view_renderer.cpp +++ b/code/nel/src/gui/view_renderer.cpp @@ -740,7 +740,7 @@ namespace NLGUI SGlobalTexture gt; // Load texture file string filename = CPath::lookup (textureFileName, false); - if (filename == "") + if (filename.empty() ) return false; CIFile ifTmp; @@ -759,7 +759,7 @@ namespace NLGUI // Load uv file CIFile iFile; filename = CPath::lookup (uvFileName, false); - if (filename == "") + if (filename.empty() ) return false; if (!iFile.open(filename)) return false; @@ -905,7 +905,7 @@ namespace NLGUI SGlobalTexture gtTmp; gtTmp.FromGlobaleTexture = false; string filename = CPath::lookup (sLwrGTName, false); - if (filename == "") return -1; + if (filename.empty() ) return -1; CIFile ifTmp; if (ifTmp.open(filename)) { diff --git a/code/nel/src/ligo/CMakeLists.txt b/code/nel/src/ligo/CMakeLists.txt index 41b0eaaa1..4c1bfbc30 100644 --- a/code/nel/src/ligo/CMakeLists.txt +++ b/code/nel/src/ligo/CMakeLists.txt @@ -21,5 +21,5 @@ ENDIF(WITH_PCH) NL_GEN_PC(nel-ligo.pc) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) - INSTALL(TARGETS nelligo LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) + INSTALL(TARGETS nelligo LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) diff --git a/code/nel/src/ligo/nel-ligo.pc.in b/code/nel/src/ligo/nel-ligo.pc.in index d4a535bac..dfe27ceac 100644 --- a/code/nel/src/ligo/nel-ligo.pc.in +++ b/code/nel/src/ligo/nel-ligo.pc.in @@ -6,7 +6,7 @@ includedir=@includedir@ Name: nel-ligo Version: @NL_VERSION@ Description: NeL @NL_VERSION@ -Reqiures: +Requires: Libs: -L${libdir} Libs.private: @LIBS@ -lc Cflags: -I${includedir} diff --git a/code/nel/src/logic/CMakeLists.txt b/code/nel/src/logic/CMakeLists.txt index 5ee2b682d..ea0ca605f 100644 --- a/code/nel/src/logic/CMakeLists.txt +++ b/code/nel/src/logic/CMakeLists.txt @@ -15,5 +15,5 @@ NL_ADD_LIB_SUFFIX(nellogic) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) - INSTALL(TARGETS nellogic LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) + INSTALL(TARGETS nellogic LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) diff --git a/code/nel/src/misc/CMakeLists.txt b/code/nel/src/misc/CMakeLists.txt index ff6057b6f..dc5b87e2c 100644 --- a/code/nel/src/misc/CMakeLists.txt +++ b/code/nel/src/misc/CMakeLists.txt @@ -55,5 +55,5 @@ ENDIF(WITH_PCH) NL_GEN_PC(nel-misc.pc) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) - INSTALL(TARGETS nelmisc LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) + INSTALL(TARGETS nelmisc LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) diff --git a/code/nel/src/misc/eval_num_expr.cpp b/code/nel/src/misc/eval_num_expr.cpp index cf543c260..de7f3b2bf 100644 --- a/code/nel/src/misc/eval_num_expr.cpp +++ b/code/nel/src/misc/eval_num_expr.cpp @@ -1309,7 +1309,7 @@ const int CEvalNumExpr::_OperatorPrecedence[]= 9, // LogicalAnd 10, // LogicalOr 11, // LogicalXor - 0xffffffff, // OperatorCount + -1, // OperatorCount 20, // NotOperator }; diff --git a/code/nel/src/misc/i18n.cpp b/code/nel/src/misc/i18n.cpp index 1094d75a7..090496e36 100644 --- a/code/nel/src/misc/i18n.cpp +++ b/code/nel/src/misc/i18n.cpp @@ -922,9 +922,9 @@ void CI18N::_readTextFile(const string &filename, void CI18N::readTextBuffer(uint8 *buffer, uint size, ucstring &result, bool forceUtf8) { - static uint8 utf16Header[] = {char(0xff), char(0xfe)}; - static uint8 utf16RevHeader[] = {char(0xfe), char(0xff)}; - static uint8 utf8Header[] = {char(0xef), char(0xbb), char(0xbf)}; + static uint8 utf16Header[] = { 0xffu, 0xfeu }; + static uint8 utf16RevHeader[] = { 0xfeu, 0xffu }; + static uint8 utf8Header[] = { 0xefu, 0xbbu, 0xbfu }; if (forceUtf8) { diff --git a/code/nel/src/misc/nel-misc.pc b/code/nel/src/misc/nel-misc.pc index db7c97b22..4d28291ed 100644 --- a/code/nel/src/misc/nel-misc.pc +++ b/code/nel/src/misc/nel-misc.pc @@ -6,7 +6,7 @@ includedir=${prefix}/include Name: nel-misc Version: 0.5.0 Description: NeL 0.5.0 -Reqiures: +Requires: Libs: -L${libdir} Libs.private: -ldl -lpthread -lxml2 -lc -lpthread -lrt -ldl Cflags: -I${includedir} -lc -lpthread -lrt -ldl diff --git a/code/nel/src/misc/nel-misc.pc.in b/code/nel/src/misc/nel-misc.pc.in index c4d447c42..abea860a1 100644 --- a/code/nel/src/misc/nel-misc.pc.in +++ b/code/nel/src/misc/nel-misc.pc.in @@ -6,7 +6,7 @@ includedir=@includedir@ Name: nel-misc Version: @NL_VERSION@ Description: NeL @NL_VERSION@ -Reqiures: +Requires: Libs: -L${libdir} Libs.private: @LIBS@ -lc -lpthread -lrt -ldl Cflags: -I${includedir} -lc -lpthread -lrt -ldl diff --git a/code/nel/src/misc/p_thread.cpp b/code/nel/src/misc/p_thread.cpp index 4c4fe1101..ab5530342 100644 --- a/code/nel/src/misc/p_thread.cpp +++ b/code/nel/src/misc/p_thread.cpp @@ -34,16 +34,16 @@ struct CPMainThread : public CPThread { CPMainThread() : CPThread(NULL, 0) { - if(pthread_key_create(&threadSpecificKey, NULL) != 0) + if(pthread_key_create(&threadSpecificKey, NULL) != 0) throw EThread("cannot create thread specific storage key."); if(pthread_setspecific(threadSpecificKey, this) != 0) throw EThread("cannot set main thread ptr in thread specific storage."); } - ~CPMainThread() + ~CPMainThread() { - if(pthread_key_delete(threadSpecificKey) != 0) + if(pthread_key_delete(threadSpecificKey) != 0) throw EThread("cannot delete thread specific storage key."); } }; @@ -139,7 +139,7 @@ void CPThread::start() /* setting the size of the stack also */ ret = pthread_attr_setstacksize(&tattr, _StackSize); } - + bool detach_old_thread = false; pthread_t old_thread_handle; if (_State != ThreadStateNone) @@ -221,6 +221,9 @@ void CPThread::wait () bool CPThread::setCPUMask(uint64 cpuMask) { #ifdef __USE_GNU + + nlwarning("This code does not work. May cause a segmentation fault..."); + sint res = pthread_setaffinity_np(_ThreadHandle, sizeof(uint64), (const cpu_set_t*)&cpuMask); if (res) @@ -228,9 +231,14 @@ bool CPThread::setCPUMask(uint64 cpuMask) nlwarning("pthread_setaffinity_np() returned %d", res); return false; } -#endif // __USE_GNU return true; + +#else // __USE_GNU + + return false; + +#endif // __USE_GNU } /* @@ -238,9 +246,12 @@ bool CPThread::setCPUMask(uint64 cpuMask) */ uint64 CPThread::getCPUMask() { - uint64 cpuMask = 1; - #ifdef __USE_GNU + + nlwarning("This code does not work. May cause a segmentation fault..."); + + uint64 cpuMask = 0; + sint res = pthread_getaffinity_np(_ThreadHandle, sizeof(uint64), (cpu_set_t*)&cpuMask); if (res) @@ -248,9 +259,14 @@ uint64 CPThread::getCPUMask() nlwarning("pthread_getaffinity_np() returned %d", res); return 0; } -#endif // __USE_GNU return cpuMask; + +#else // __USE_GNU + + return 0; + +#endif // __USE_GNU } void CPThread::setPriority(TThreadPriority priority) @@ -311,9 +327,9 @@ IProcess *IProcess::getCurrentProcess () */ uint64 CPProcess::getCPUMask() { - uint64 cpuMask = 1; - #ifdef __USE_GNU + + uint64 cpuMask = 0; sint res = sched_getaffinity(getpid(), sizeof(uint64), (cpu_set_t*)&cpuMask); if (res) @@ -321,15 +337,21 @@ uint64 CPProcess::getCPUMask() nlwarning("sched_getaffinity() returned %d, errno = %d: %s", res, errno, strerror(errno)); return 0; } -#endif // __USE_GNU return cpuMask; + +#else // __USE_GNU + + return 0; + +#endif // __USE_GNU } /// set the CPU mask bool CPProcess::setCPUMask(uint64 cpuMask) { #ifdef __USE_GNU + sint res = sched_setaffinity(getpid(), sizeof(uint64), (const cpu_set_t*)&cpuMask); if (res) @@ -337,9 +359,14 @@ bool CPProcess::setCPUMask(uint64 cpuMask) nlwarning("sched_setaffinity() returned %d, errno = %d: %s", res, errno, strerror(errno)); return false; } -#endif // __USE_GNU return true; + +#else // __USE_GNU + + return false; + +#endif // __USE_GNU } diff --git a/code/nel/src/misc/sheet_id.cpp b/code/nel/src/misc/sheet_id.cpp index 0ff90b1f8..9a9b8813f 100644 --- a/code/nel/src/misc/sheet_id.cpp +++ b/code/nel/src/misc/sheet_id.cpp @@ -157,7 +157,7 @@ bool CSheetId::buildSheetId(const std::string& sheetName) { _FileExtensions.push_back(sheetType); _DevSheetIdToName.push_back(std::vector()); - typeId = _FileExtensions.size() - 1; + typeId = (uint32)_FileExtensions.size() - 1; _DevTypeNameToId[sheetType] = typeId; std::string unknownNewType = std::string("unknown." + sheetType); _DevSheetIdToName[typeId].push_back(unknownNewType); diff --git a/code/nel/src/misc/time_nl.cpp b/code/nel/src/misc/time_nl.cpp index f018208f9..422ba192f 100644 --- a/code/nel/src/misc/time_nl.cpp +++ b/code/nel/src/misc/time_nl.cpp @@ -32,9 +32,268 @@ #include "nel/misc/time_nl.h" #include "nel/misc/sstring.h" +#include + namespace NLMISC { +namespace { +#ifdef NL_OS_WINDOWS +bool a_HaveQueryPerformance = false; +LARGE_INTEGER a_QueryPerformanceFrequency; +#endif +#ifdef NL_OS_UNIX +# if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) +# if defined(_POSIX_MONOTONIC_CLOCK) && (_POSIX_MONOTONIC_CLOCK >= 0) +# define NL_MONOTONIC_CLOCK +# endif +# endif +# ifdef NL_MONOTONIC_CLOCK +bool a_CheckedMonotonicClock = false; +bool a_HasMonotonicClock = false; +uint64 a_MonotonicClockFrequency = 0; +uint64 a_MonotonicClockResolutionNs = 0; +bool hasMonotonicClock() +{ + if (!a_CheckedMonotonicClock) + { + /* Initialize the local time engine. + * On Unix, this method will find out if the Monotonic Clock is supported + * (seems supported by kernel 2.6, not by kernel 2.4). See getLocalTime(). + */ + struct timespec tv; + if ((clock_gettime( CLOCK_MONOTONIC, &tv ) == 0) && + (clock_getres( CLOCK_MONOTONIC, &tv ) == 0)) + { +// nldebug( "Monotonic local time supported (resolution %.6f ms)", ((float)tv.tv_sec)*1000.0f + ((float)tv.tv_nsec)/1000000.0f ); + + if (tv.tv_sec > 0) + { + nlwarning("Monotonic clock not ok, resolution > 1s"); + a_HasMonotonicClock = false; + } + else + { + uint64 nsPerTick = tv.tv_nsec; + uint64 nsPerSec = 1000000000L; + uint64 tickPerSec = nsPerSec / nsPerTick; + a_MonotonicClockFrequency = tickPerSec; + a_MonotonicClockResolutionNs = nsPerTick; + a_HasMonotonicClock = true; + } + } + else + { + a_HasMonotonicClock = false; + } + a_CheckedMonotonicClock = true; + } + return a_HasMonotonicClock; +} +# endif +#endif +} + +void CTime::probeTimerInfo(CTime::CTimerInfo &result) +{ + breakable + { +#ifdef NL_OS_WINDOWS + LARGE_INTEGER winPerfFreq; + LARGE_INTEGER winPerfCount; + DWORD lowResTime; + if (!QueryPerformanceFrequency(&winPerfFreq)) + { + nldebug("Cannot query performance frequency"); + result.IsHighPrecisionAvailable = false; + } + else + { + result.HighPrecisionResolution = winPerfFreq.QuadPart; + } + if (winPerfFreq.QuadPart == 1000) + { + nldebug("Higher precision timer not available, OS defaulted to GetTickCount"); + result.IsHighPrecisionAvailable = false; + } + if (!QueryPerformanceCounter(&winPerfCount)) + { + nldebug("Cannot query performance counter"); + result.IsHighPrecisionAvailable = false; + result.HighPrecisionResolution = 1000; + } + a_HaveQueryPerformance = result.IsHighPrecisionAvailable; + a_QueryPerformanceFrequency.QuadPart = winPerfFreq.QuadPart; + if (!result.IsHighPrecisionAvailable) + { + lowResTime = timeGetTime(); + } +#else + + // Other platforms are awesome. Generic implementation for now. + TTime localTime = getLocalTime(); + result.IsHighPrecisionAvailable = true; + result.HighPrecisionResolution = 0; + +# ifdef NL_MONOTONIC_CLOCK + timespec monoClock; + if (hasMonotonicClock()) + { + clock_gettime(CLOCK_MONOTONIC, &monoClock); + result.HighPrecisionResolution = a_MonotonicClockFrequency; + } + else + { + nldebug("Monotonic clock not available"); + } +# endif + +#endif + + uint64 cpuMask = IProcess::getCurrentProcess()->getCPUMask(); +#ifdef NL_OS_WINDOWS + uint64 threadMask = IThread::getCurrentThread()->getCPUMask(); // broken on linux, don't expect it to work anywhere +#else + uint64 threadMask = cpuMask; +#endif + + uint identical = 0; // Identical stamps may indicate the os handling backwards glitches. + uint backwards = 0; // Happens when the timers are not always in sync and the implementation is faulty. + uint regular = 0; // How many times the number advanced normally. + uint skipping = 0; // Does not really mean anything necessarily. + uint frequencybug = 0; // Should never happen. + // uint badcore = 0; // Affinity does not work. + + // Cycle 32 times trough all cores, and verify if the timing remains consistent. + for (uint i = 32; i; --i) + { + uint64 currentBit = 1; + for (uint j = 64; j; --j) + { + if (cpuMask & currentBit) + { +#ifdef NL_OS_WINDOWS + if (!IThread::getCurrentThread()->setCPUMask(currentBit)) +#else + if (!IProcess::getCurrentProcess()->setCPUMask(currentBit)) +#endif + break; // Thread was set to last cpu. +#ifdef NL_OS_WINDOWS + // Make sure the thread is rescheduled. + SwitchToThread(); + Sleep(0); + // Verify the core + /* Can only verify on 2003, Vista and higher. + if (1 << GetCurrentProcessorNumber() != currentBit) + ++badcore; + */ + // Check if the timer is still sane. + if (result.IsHighPrecisionAvailable) + { + LARGE_INTEGER winPerfFreqN; + LARGE_INTEGER winPerfCountN; + QueryPerformanceFrequency(&winPerfFreqN); + if (winPerfFreqN.QuadPart != winPerfFreq.QuadPart) + ++frequencybug; + QueryPerformanceCounter(&winPerfCountN); + if (winPerfCountN.QuadPart == winPerfCount.QuadPart) + ++identical; + if (winPerfCountN.QuadPart < winPerfCount.QuadPart || winPerfCountN.QuadPart - winPerfCount.QuadPart < 0) + ++backwards; + if (winPerfCountN.QuadPart - winPerfCount.QuadPart > winPerfFreq.QuadPart / 20) // 50ms skipping check + ++skipping; + else if (winPerfCountN.QuadPart > winPerfCount.QuadPart) + ++regular; + winPerfCount.QuadPart = winPerfCountN.QuadPart; + } + else + { + DWORD lowResTimeN; + lowResTimeN = timeGetTime(); + if (lowResTimeN == lowResTime) + ++identical; + if (lowResTimeN < lowResTime || lowResTimeN - lowResTime < 0) + ++backwards; + if (lowResTimeN - lowResTime > 50) + ++skipping; + else if (lowResTimeN > lowResTime) + ++regular; + lowResTime = lowResTimeN; + } +#else +#ifdef NL_OS_UNIX + sched_yield(); +#else + nlSleep(0); +#endif +# ifdef NL_MONOTONIC_CLOCK + if (hasMonotonicClock()) + { + timespec monoClockN; + clock_gettime(CLOCK_MONOTONIC, &monoClockN); + if (monoClock.tv_sec == monoClockN.tv_sec && monoClock.tv_nsec == monoClockN.tv_nsec) + ++identical; + if (monoClockN.tv_sec < monoClock.tv_sec || (monoClock.tv_sec == monoClockN.tv_sec && monoClockN.tv_nsec < monoClock.tv_nsec)) + ++backwards; + if (monoClock.tv_sec == monoClockN.tv_sec && (monoClockN.tv_nsec - monoClock.tv_nsec > 50000000L)) + ++skipping; + else if ((monoClock.tv_sec == monoClockN.tv_sec && monoClock.tv_nsec < monoClockN.tv_nsec) || monoClock.tv_sec < monoClockN.tv_sec) + ++regular; + monoClock.tv_sec = monoClockN.tv_sec; + monoClock.tv_nsec = monoClockN.tv_nsec; + } + else +# endif + { + TTime localTimeN = getLocalTime(); + if (localTimeN == localTime) + ++identical; + if (localTimeN < localTime || localTimeN - localTime < 0) + ++backwards; + if (localTimeN - localTime > 50) + ++skipping; + else if (localTimeN > localTime) + ++regular; + localTime = localTimeN; + } +#endif + } + currentBit <<= 1; + } + } + +#ifdef NL_OS_WINDOWS + IThread::getCurrentThread()->setCPUMask(threadMask); +#else + IProcess::getCurrentProcess()->setCPUMask(threadMask); +#endif + + nldebug("Timer resolution: %i Hz", (int)(result.HighPrecisionResolution)); + nldebug("Time identical: %i, backwards: %i, regular: %i, skipping: %i, frequency bug: %i", identical, backwards, regular, skipping, frequencybug); + if (identical > regular) + nlwarning("The system timer is of relatively low resolution, you may experience issues"); + if (backwards > 0 || frequencybug > 0) + { + nlwarning("The current system timer is not reliable across multiple cpu cores"); + result.RequiresSingleCore = true; + } + else result.RequiresSingleCore = false; + + if (result.HighPrecisionResolution == 14318180) + { + nldebug("Detected known HPET era timer frequency"); + } + if (result.HighPrecisionResolution == 3579545) + { + nldebug("Detected known AHCI era timer frequency"); + } + if (result.HighPrecisionResolution == 1193182) + { + nldebug("Detected known i8253/i8254 era timer frequency"); + } + } +} + /* Return the number of second since midnight (00:00:00), January 1, 1970, * coordinated universal time, according to the system clock. * This values is the same on all computer if computers are synchronized (with NTP for example). @@ -97,54 +356,42 @@ TTime CTime::getLocalTime () //else //{ // This is not affected by system time changes. But it cycles every 49 days. - return timeGetTime(); + // return timeGetTime(); // Only this was left active before it was commented. //} + /* + * The above is no longer relevant. + */ + + if (a_HaveQueryPerformance) + { + // On a (fast) 15MHz timer this rolls over after 7000 days. + // If my calculations are right. + LARGE_INTEGER counter; + QueryPerformanceCounter(&counter); + counter.QuadPart *= (LONGLONG)1000L; + counter.QuadPart /= a_QueryPerformanceFrequency.QuadPart; + return counter.QuadPart; + } + else + { + // Use default reliable low resolution timer. + return timeGetTime(); + } + #elif defined (NL_OS_UNIX) - static bool initdone = false; - static bool isMonotonicClockSupported = false; - if ( ! initdone ) +#ifdef NL_MONOTONIC_CLOCK + + if (hasMonotonicClock()) { - -#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) -#if defined(_POSIX_MONOTONIC_CLOCK) && (_POSIX_MONOTONIC_CLOCK >= 0) - - /* Initialize the local time engine. - * On Unix, this method will find out if the Monotonic Clock is supported - * (seems supported by kernel 2.6, not by kernel 2.4). See getLocalTime(). - */ - struct timespec tv; - if ( (clock_gettime( CLOCK_MONOTONIC, &tv ) == 0) && - (clock_getres( CLOCK_MONOTONIC, &tv ) == 0) ) - { -// nldebug( "Monotonic local time supported (resolution %.6f ms)", ((float)tv.tv_sec)*1000.0f + ((float)tv.tv_nsec)/1000000.0f ); - isMonotonicClockSupported = true; - } - else - -#endif -#endif - { -// nlwarning( "Monotonic local time not supported, caution with time sync" ); - } - - initdone = true; - } - -#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) -#if defined(_POSIX_MONOTONIC_CLOCK) && (_POSIX_MONOTONIC_CLOCK >= 0) - - if ( isMonotonicClockSupported ) - { - struct timespec tv; + timespec tv; // This is not affected by system time changes. if ( clock_gettime( CLOCK_MONOTONIC, &tv ) != 0 ) nlerror ("Can't get clock time again"); return (TTime)tv.tv_sec * (TTime)1000 + (TTime)((tv.tv_nsec/*+500*/) / 1000000); } -#endif #endif // This is affected by system time changes. @@ -156,7 +403,6 @@ TTime CTime::getLocalTime () #endif } - /* Return the time in processor ticks. Use it for profile purpose. * If the performance time is not supported on this hardware, it returns 0. * \warning On a multiprocessor system, the value returned by each processor may @@ -183,7 +429,7 @@ TTicks CTime::getPerformanceTime () return (hi << 32) | (lo & 0xffffffff); #elif defined(HAVE_X86) and !defined(NL_OS_MAC) uint64 x; - // RDTSC - Read time-stamp counter into EDX:EAX. + // RDTSC - Read time-stamp counter into EDX:EAX. __asm__ volatile (".byte 0x0f, 0x31" : "=A" (x)); return x; #else // HAVE_X86 diff --git a/code/nel/src/net/CMakeLists.txt b/code/nel/src/net/CMakeLists.txt index f30232e8d..487516e74 100644 --- a/code/nel/src/net/CMakeLists.txt +++ b/code/nel/src/net/CMakeLists.txt @@ -26,5 +26,5 @@ ENDIF(WITH_PCH) NL_GEN_PC(nel-net.pc) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) - INSTALL(TARGETS nelnet LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) + INSTALL(TARGETS nelnet LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) diff --git a/code/nel/src/net/message_recorder.cpp b/code/nel/src/net/message_recorder.cpp index 4da49cb3e..ec52ad1da 100644 --- a/code/nel/src/net/message_recorder.cpp +++ b/code/nel/src/net/message_recorder.cpp @@ -80,7 +80,7 @@ CMessageRecorder::CMessageRecorder() : _RecordAll(true) */ CMessageRecorder::~CMessageRecorder() { - if ( _Filename != "" ) + if ( !_Filename.empty() ) { nldebug( "MR:%s: End of recording", _Filename.c_str() ); } diff --git a/code/nel/src/net/nel-net.pc.in b/code/nel/src/net/nel-net.pc.in index 0fb2a0462..cbbf7ab50 100644 --- a/code/nel/src/net/nel-net.pc.in +++ b/code/nel/src/net/nel-net.pc.in @@ -6,7 +6,7 @@ includedir=@includedir@ Name: nel-net Version: @NL_VERSION@ Description: NeL @NL_VERSION@ -Reqiures: +Requires: Libs: -L${libdir} Libs.private: @LIBS@ -lc -lpthread -lrt -ldl Cflags: -I${includedir} -lc -lpthread -lrt -ldl diff --git a/code/nel/src/net/varpath.cpp b/code/nel/src/net/varpath.cpp index 8bee387cd..729f52074 100644 --- a/code/nel/src/net/varpath.cpp +++ b/code/nel/src/net/varpath.cpp @@ -89,7 +89,7 @@ void CVarPath::decode () string val = getToken (); - if (val == "") + if (val.empty()) return; if (val == "[" ) @@ -105,7 +105,7 @@ void CVarPath::decode () osbnb++; // end of token - if (val == "") + if (val.empty()) { nlwarning ("VP: Bad VarPath '%s', suppose it s an empty varpath", RawVarPath.c_str()); Destination.clear (); @@ -143,7 +143,7 @@ void CVarPath::decode () Destination.push_back (make_pair(RawVarPath, string(""))); return; } - else if (val != "." && val != "" && val != "=") + else if (val != "." && !val.empty() && val != "=") { nlwarning ("VP: Malformated VarPath '%s' before position %d", RawVarPath.c_str (), TokenPos); return; diff --git a/code/nel/src/pacs/CMakeLists.txt b/code/nel/src/pacs/CMakeLists.txt index 492df88be..1fde3e6df 100644 --- a/code/nel/src/pacs/CMakeLists.txt +++ b/code/nel/src/pacs/CMakeLists.txt @@ -21,5 +21,5 @@ ENDIF(WITH_PCH) NL_GEN_PC(nel-pacs.pc) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) - INSTALL(TARGETS nelpacs LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) + INSTALL(TARGETS nelpacs LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) diff --git a/code/nel/src/pacs/build_indoor.cpp b/code/nel/src/pacs/build_indoor.cpp index 51dbdf4c0..b4bad19a6 100644 --- a/code/nel/src/pacs/build_indoor.cpp +++ b/code/nel/src/pacs/build_indoor.cpp @@ -15,11 +15,11 @@ // along with this program. If not, see . #include "stdpacs.h" -#include "build_indoor.h" +#include "nel/pacs/build_indoor.h" -#include "collision_mesh_build.h" -#include "local_retriever.h" -#include "exterior_mesh.h" +#include "nel/pacs/collision_mesh_build.h" +#include "nel/pacs/local_retriever.h" +#include "nel/pacs/exterior_mesh.h" using namespace std; using namespace NLMISC; diff --git a/code/nel/src/pacs/chain.cpp b/code/nel/src/pacs/chain.cpp index 1543d68ab..f908cc875 100644 --- a/code/nel/src/pacs/chain.cpp +++ b/code/nel/src/pacs/chain.cpp @@ -16,7 +16,7 @@ #include "stdpacs.h" -#include "chain.h" +#include "nel/pacs/chain.h" using namespace std; using namespace NLMISC; diff --git a/code/nel/src/pacs/chain_quad.cpp b/code/nel/src/pacs/chain_quad.cpp index 29468fa1f..321761953 100644 --- a/code/nel/src/pacs/chain_quad.cpp +++ b/code/nel/src/pacs/chain_quad.cpp @@ -16,7 +16,7 @@ #include "stdpacs.h" -#include "chain_quad.h" +#include "nel/pacs/chain_quad.h" using namespace std; using namespace NLMISC; diff --git a/code/nel/src/pacs/collision_callback.cpp b/code/nel/src/pacs/collision_callback.cpp index 2d5fc2485..016cda262 100644 --- a/code/nel/src/pacs/collision_callback.cpp +++ b/code/nel/src/pacs/collision_callback.cpp @@ -16,7 +16,7 @@ #include "stdpacs.h" -#include "collision_callback.h" +#include "nel/pacs/collision_callback.h" namespace NLPACS diff --git a/code/nel/src/pacs/collision_desc.cpp b/code/nel/src/pacs/collision_desc.cpp index e501dd716..c38049623 100644 --- a/code/nel/src/pacs/collision_desc.cpp +++ b/code/nel/src/pacs/collision_desc.cpp @@ -16,7 +16,7 @@ #include "stdpacs.h" -#include "collision_desc.h" +#include "nel/pacs/collision_desc.h" namespace NLPACS diff --git a/code/nel/src/pacs/collision_ot.cpp b/code/nel/src/pacs/collision_ot.cpp index 95f15359c..74f93f498 100644 --- a/code/nel/src/pacs/collision_ot.cpp +++ b/code/nel/src/pacs/collision_ot.cpp @@ -16,8 +16,8 @@ #include "stdpacs.h" -#include "collision_ot.h" -#include "move_primitive.h" +#include "nel/pacs/collision_ot.h" +#include "nel/pacs/move_primitive.h" namespace NLPACS diff --git a/code/nel/src/pacs/collision_surface_temp.cpp b/code/nel/src/pacs/collision_surface_temp.cpp index 92f869c2c..4033cc33f 100644 --- a/code/nel/src/pacs/collision_surface_temp.cpp +++ b/code/nel/src/pacs/collision_surface_temp.cpp @@ -16,7 +16,7 @@ #include "stdpacs.h" -#include "collision_surface_temp.h" +#include "nel/pacs/collision_surface_temp.h" namespace NLPACS diff --git a/code/nel/src/pacs/edge_collide.cpp b/code/nel/src/pacs/edge_collide.cpp index f785e97db..700935947 100644 --- a/code/nel/src/pacs/edge_collide.cpp +++ b/code/nel/src/pacs/edge_collide.cpp @@ -16,7 +16,7 @@ #include "stdpacs.h" -#include "edge_collide.h" +#include "nel/pacs/edge_collide.h" using namespace NLMISC; using namespace std; diff --git a/code/nel/src/pacs/edge_quad.cpp b/code/nel/src/pacs/edge_quad.cpp index 9bd60b54b..1515af075 100644 --- a/code/nel/src/pacs/edge_quad.cpp +++ b/code/nel/src/pacs/edge_quad.cpp @@ -16,8 +16,8 @@ #include "stdpacs.h" -#include "edge_quad.h" -#include "global_retriever.h" +#include "nel/pacs/edge_quad.h" +#include "nel/pacs/global_retriever.h" using namespace std; using namespace NLMISC; diff --git a/code/nel/src/pacs/exterior_mesh.cpp b/code/nel/src/pacs/exterior_mesh.cpp index a53873e77..d7c72c96f 100644 --- a/code/nel/src/pacs/exterior_mesh.cpp +++ b/code/nel/src/pacs/exterior_mesh.cpp @@ -16,9 +16,9 @@ #include "stdpacs.h" -#include "exterior_mesh.h" -#include "local_retriever.h" -#include "collision_desc.h" +#include "nel/pacs/exterior_mesh.h" +#include "nel/pacs/local_retriever.h" +#include "nel/pacs/collision_desc.h" using namespace std; diff --git a/code/nel/src/pacs/global_retriever.cpp b/code/nel/src/pacs/global_retriever.cpp index b21b199ec..115fac0e6 100644 --- a/code/nel/src/pacs/global_retriever.cpp +++ b/code/nel/src/pacs/global_retriever.cpp @@ -16,8 +16,8 @@ #include "stdpacs.h" -#include "global_retriever.h" -#include "retriever_bank.h" +#include "nel/pacs/global_retriever.h" +#include "nel/pacs/retriever_bank.h" #include "nel/misc/async_file_manager.h" #include "nel/misc/common.h" diff --git a/code/nel/src/pacs/local_retriever.cpp b/code/nel/src/pacs/local_retriever.cpp index af087219f..7158cee0a 100644 --- a/code/nel/src/pacs/local_retriever.cpp +++ b/code/nel/src/pacs/local_retriever.cpp @@ -18,9 +18,9 @@ #include "nel/misc/plane.h" -#include "local_retriever.h" -#include "collision_desc.h" -#include "retriever_instance.h" +#include "nel/pacs/local_retriever.h" +#include "nel/pacs/collision_desc.h" +#include "nel/pacs/retriever_instance.h" #include "nel/misc/hierarchical_timer.h" diff --git a/code/nel/src/pacs/move_cell.cpp b/code/nel/src/pacs/move_cell.cpp index 2dcb1d987..436808754 100644 --- a/code/nel/src/pacs/move_cell.cpp +++ b/code/nel/src/pacs/move_cell.cpp @@ -16,9 +16,9 @@ #include "stdpacs.h" -#include "move_cell.h" -#include "move_element.h" -#include "move_primitive.h" +#include "nel/pacs/move_cell.h" +#include "nel/pacs/move_element.h" +#include "nel/pacs/move_primitive.h" namespace NLPACS { diff --git a/code/nel/src/pacs/move_container.cpp b/code/nel/src/pacs/move_container.cpp index 6e456a9e1..93e05794a 100644 --- a/code/nel/src/pacs/move_container.cpp +++ b/code/nel/src/pacs/move_container.cpp @@ -16,9 +16,9 @@ #include "stdpacs.h" -#include "move_primitive.h" -#include "move_element.h" -#include "primitive_block.h" +#include "nel/pacs/move_primitive.h" +#include "nel/pacs/move_element.h" +#include "nel/pacs/primitive_block.h" #include "nel/misc/hierarchical_timer.h" diff --git a/code/nel/src/pacs/move_element.cpp b/code/nel/src/pacs/move_element.cpp index e21162ab8..b64285769 100644 --- a/code/nel/src/pacs/move_element.cpp +++ b/code/nel/src/pacs/move_element.cpp @@ -16,8 +16,8 @@ #include "stdpacs.h" -#include "move_element.h" -#include "move_element_inline.h" +#include "nel/pacs/move_element.h" +#include "nel/pacs/move_element_inline.h" // leave not static else this workaround don't work diff --git a/code/nel/src/pacs/move_primitive.cpp b/code/nel/src/pacs/move_primitive.cpp index 661ffa1a4..08da7ac38 100644 --- a/code/nel/src/pacs/move_primitive.cpp +++ b/code/nel/src/pacs/move_primitive.cpp @@ -16,9 +16,9 @@ #include "stdpacs.h" -#include "move_primitive.h" -#include "collision_desc.h" -#include "move_element.h" +#include "nel/pacs/move_primitive.h" +#include "nel/pacs/collision_desc.h" +#include "nel/pacs/move_element.h" #include "nel/misc/hierarchical_timer.h" using namespace NLMISC; diff --git a/code/nel/src/pacs/nel-pacs.pc.in b/code/nel/src/pacs/nel-pacs.pc.in index 133b51d53..e1729f105 100644 --- a/code/nel/src/pacs/nel-pacs.pc.in +++ b/code/nel/src/pacs/nel-pacs.pc.in @@ -6,7 +6,7 @@ includedir=@includedir@ Name: nel-pacs Version: @NL_VERSION@ Description: NeL @NL_VERSION@ -Reqiures: +Requires: Libs: -L${libdir} Libs.private: @LIBS@ -lc -lpthread -lrt -ldl Cflags: -I${includedir} -lc -lpthread -lrt -ldl diff --git a/code/nel/src/pacs/primitive_block_pacs.cpp b/code/nel/src/pacs/primitive_block_pacs.cpp index 8cbf47c39..0681d2eea 100644 --- a/code/nel/src/pacs/primitive_block_pacs.cpp +++ b/code/nel/src/pacs/primitive_block_pacs.cpp @@ -16,7 +16,7 @@ #include "stdpacs.h" #include "nel/misc/i_xml.h" -#include "primitive_block.h" +#include "nel/pacs/primitive_block.h" namespace NLPACS diff --git a/code/nel/src/pacs/primitive_world_image.cpp b/code/nel/src/pacs/primitive_world_image.cpp index 050b8dd9f..e8d0378e6 100644 --- a/code/nel/src/pacs/primitive_world_image.cpp +++ b/code/nel/src/pacs/primitive_world_image.cpp @@ -18,9 +18,9 @@ #include "nel/misc/hierarchical_timer.h" -#include "primitive_world_image.h" -#include "move_primitive.h" -#include "move_element.h" +#include "nel/pacs/primitive_world_image.h" +#include "nel/pacs/move_primitive.h" +#include "nel/pacs/move_element.h" using namespace NLMISC; diff --git a/code/nel/src/pacs/retrievable_surface.cpp b/code/nel/src/pacs/retrievable_surface.cpp index 65ce01e55..308034083 100644 --- a/code/nel/src/pacs/retrievable_surface.cpp +++ b/code/nel/src/pacs/retrievable_surface.cpp @@ -16,7 +16,7 @@ #include "stdpacs.h" -#include "retrievable_surface.h" +#include "nel/pacs/retrievable_surface.h" using namespace std; using namespace NLMISC; diff --git a/code/nel/src/pacs/retriever_bank.cpp b/code/nel/src/pacs/retriever_bank.cpp index ab98323ad..03691aca2 100644 --- a/code/nel/src/pacs/retriever_bank.cpp +++ b/code/nel/src/pacs/retriever_bank.cpp @@ -20,7 +20,7 @@ #include "nel/misc/path.h" #include "nel/misc/progress_callback.h" -#include "retriever_bank.h" +#include "nel/pacs/retriever_bank.h" using namespace std; using namespace NLMISC; diff --git a/code/nel/src/pacs/retriever_instance.cpp b/code/nel/src/pacs/retriever_instance.cpp index 04b902ef9..d5d96510c 100644 --- a/code/nel/src/pacs/retriever_instance.cpp +++ b/code/nel/src/pacs/retriever_instance.cpp @@ -16,8 +16,8 @@ #include "stdpacs.h" -#include "retriever_instance.h" -#include "global_retriever.h" +#include "nel/pacs/retriever_instance.h" +#include "nel/pacs/global_retriever.h" using namespace std; using namespace NLMISC; diff --git a/code/nel/src/pacs/surface_quad.cpp b/code/nel/src/pacs/surface_quad.cpp index a7d22e1c2..dade8462c 100644 --- a/code/nel/src/pacs/surface_quad.cpp +++ b/code/nel/src/pacs/surface_quad.cpp @@ -15,7 +15,7 @@ // along with this program. If not, see . #include "stdpacs.h" -#include "surface_quad.h" +#include "nel/pacs/surface_quad.h" #include "nel/misc/file.h" diff --git a/code/nel/src/pacs/vector_2s.cpp b/code/nel/src/pacs/vector_2s.cpp index f63ba0c72..57e635f5d 100644 --- a/code/nel/src/pacs/vector_2s.cpp +++ b/code/nel/src/pacs/vector_2s.cpp @@ -16,7 +16,7 @@ #include "stdpacs.h" -#include "vector_2s.h" +#include "nel/pacs/vector_2s.h" namespace NLPACS { diff --git a/code/nel/src/sound/CMakeLists.txt b/code/nel/src/sound/CMakeLists.txt index 1122551cc..2cf570f69 100644 --- a/code/nel/src/sound/CMakeLists.txt +++ b/code/nel/src/sound/CMakeLists.txt @@ -1,4 +1,3 @@ - FILE(GLOB SRC *.cpp *.h) FILE(GLOB HEADERS ../../include/nel/sound/*.h) @@ -114,7 +113,7 @@ ENDIF(WITH_PCH) NL_GEN_PC(nel-sound.pc) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) - INSTALL(TARGETS nelsound LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) + INSTALL(TARGETS nelsound LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) ADD_SUBDIRECTORY(driver) diff --git a/code/nel/src/sound/audio_mixer_user.cpp b/code/nel/src/sound/audio_mixer_user.cpp index da3c7d177..3a75433f4 100644 --- a/code/nel/src/sound/audio_mixer_user.cpp +++ b/code/nel/src/sound/audio_mixer_user.cpp @@ -35,7 +35,6 @@ #include "nel/sound/driver/buffer.h" #include "nel/sound/driver/effect.h" -#include "nel/sound/background_sound_manager.h" #include "nel/sound/background_sound_manager.h" #include "nel/sound/music_sound_manager.h" #include "nel/sound/background_source.h" diff --git a/code/nel/src/sound/background_source.cpp b/code/nel/src/sound/background_source.cpp index b6177999d..d8cb4a7a4 100644 --- a/code/nel/src/sound/background_source.cpp +++ b/code/nel/src/sound/background_source.cpp @@ -16,7 +16,6 @@ #include "stdsound.h" #include "nel/sound/background_sound_manager.h" - #include "nel/sound/background_source.h" using namespace std; diff --git a/code/nel/src/sound/driver/CMakeLists.txt b/code/nel/src/sound/driver/CMakeLists.txt index 68ad208bb..64e73cb1d 100644 --- a/code/nel/src/sound/driver/CMakeLists.txt +++ b/code/nel/src/sound/driver/CMakeLists.txt @@ -17,7 +17,7 @@ IF(WITH_PCH) ENDIF(WITH_PCH) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) - INSTALL(TARGETS nelsnd_lowlevel LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) + INSTALL(TARGETS nelsnd_lowlevel LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) IF(WITH_DRIVER_OPENAL) diff --git a/code/nel/src/sound/driver/dsound/CMakeLists.txt b/code/nel/src/sound/driver/dsound/CMakeLists.txt index 284b9eeae..74d431084 100644 --- a/code/nel/src/sound/driver/dsound/CMakeLists.txt +++ b/code/nel/src/sound/driver/dsound/CMakeLists.txt @@ -14,7 +14,7 @@ IF(WITH_PCH) ENDIF(WITH_PCH) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC_DRIVERS) OR NOT WITH_STATIC_DRIVERS) - INSTALL(TARGETS nel_drv_dsound_win RUNTIME DESTINATION bin LIBRARY DESTINATION ${NL_DRIVER_PREFIX} ARCHIVE DESTINATION lib COMPONENT driverssound) + INSTALL(TARGETS nel_drv_dsound_win RUNTIME DESTINATION ${NL_DRIVER_PREFIX} LIBRARY DESTINATION ${NL_DRIVER_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT driverssound) IF(WITH_MAXPLUGIN) INSTALL(TARGETS nel_drv_dsound_win RUNTIME DESTINATION maxplugin COMPONENT driverssound) ENDIF(WITH_MAXPLUGIN) diff --git a/code/nel/src/sound/driver/dsound/buffer_dsound.h b/code/nel/src/sound/driver/dsound/buffer_dsound.h index 0a1b100c5..fed09c413 100644 --- a/code/nel/src/sound/driver/dsound/buffer_dsound.h +++ b/code/nel/src/sound/driver/dsound/buffer_dsound.h @@ -17,7 +17,7 @@ #ifndef NL_BUFFER_DSOUND_H #define NL_BUFFER_DSOUND_H -#include +#include "nel/sound/driver/buffer.h" namespace NLSOUND { diff --git a/code/nel/src/sound/driver/dsound/listener_dsound.h b/code/nel/src/sound/driver/dsound/listener_dsound.h index 33e97a66b..fe8872cc2 100644 --- a/code/nel/src/sound/driver/dsound/listener_dsound.h +++ b/code/nel/src/sound/driver/dsound/listener_dsound.h @@ -17,7 +17,7 @@ #ifndef NL_LISTENER_DSOUND_H #define NL_LISTENER_DSOUND_H -#include +#include "nel/sound/driver/listener.h" namespace NLSOUND { diff --git a/code/nel/src/sound/driver/dsound/sound_driver_dsound.h b/code/nel/src/sound/driver/dsound/sound_driver_dsound.h index b094776f0..14872c1e1 100644 --- a/code/nel/src/sound/driver/dsound/sound_driver_dsound.h +++ b/code/nel/src/sound/driver/dsound/sound_driver_dsound.h @@ -17,7 +17,7 @@ #ifndef NL_SOUND_DRIVER_DSOUND_H #define NL_SOUND_DRIVER_DSOUND_H -#include +#include "nel/sound/driver/sound_driver.h" #include "source_dsound.h" #include "buffer_dsound.h" diff --git a/code/nel/src/sound/driver/dsound/source_dsound.cpp b/code/nel/src/sound/driver/dsound/source_dsound.cpp index 2ef01f8c4..c3bff3289 100644 --- a/code/nel/src/sound/driver/dsound/source_dsound.cpp +++ b/code/nel/src/sound/driver/dsound/source_dsound.cpp @@ -616,7 +616,6 @@ void CSourceDSound::fadeOut(const TLockedBufferInfo &lbi) ptr = lbi.Ptr2; count = lbi.Size2/2; - while (fade && count) { alpha = (fade<<16) / _XFadeSize; diff --git a/code/nel/src/sound/driver/dsound/source_dsound.h b/code/nel/src/sound/driver/dsound/source_dsound.h index 86130c800..81174c1a0 100644 --- a/code/nel/src/sound/driver/dsound/source_dsound.h +++ b/code/nel/src/sound/driver/dsound/source_dsound.h @@ -17,9 +17,9 @@ #ifndef NL_SOURCE_DSOUND_H #define NL_SOURCE_DSOUND_H -#include -#include -#include +#include "nel/sound/driver/source.h" +#include "nel/sound/driver/sound_driver.h" +#include "nel/sound/driver/buffer.h" namespace NLSOUND { diff --git a/code/nel/src/sound/driver/fmod/CMakeLists.txt b/code/nel/src/sound/driver/fmod/CMakeLists.txt index 982c24bca..d8ee31ba7 100644 --- a/code/nel/src/sound/driver/fmod/CMakeLists.txt +++ b/code/nel/src/sound/driver/fmod/CMakeLists.txt @@ -14,7 +14,7 @@ IF(WITH_PCH) ENDIF(WITH_PCH) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC_DRIVERS) OR NOT WITH_STATIC_DRIVERS) - INSTALL(TARGETS nel_drv_fmod_win RUNTIME DESTINATION bin LIBRARY DESTINATION ${NL_DRIVER_PREFIX} ARCHIVE DESTINATION lib COMPONENT driverssound) + INSTALL(TARGETS nel_drv_fmod_win RUNTIME DESTINATION ${NL_DRIVER_PREFIX} LIBRARY DESTINATION ${NL_DRIVER_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT driverssound) IF(WITH_MAXPLUGIN) INSTALL(TARGETS nel_drv_fmod_win RUNTIME DESTINATION maxplugin COMPONENT driverssound) ENDIF(WITH_MAXPLUGIN) diff --git a/code/nel/src/sound/driver/fmod/buffer_fmod.h b/code/nel/src/sound/driver/fmod/buffer_fmod.h index 1678fb426..64d8cf592 100644 --- a/code/nel/src/sound/driver/fmod/buffer_fmod.h +++ b/code/nel/src/sound/driver/fmod/buffer_fmod.h @@ -18,7 +18,7 @@ #define NL_BUFFER_FMOD_H -#include +#include "nel/sound/driver/buffer.h" namespace NLSOUND { diff --git a/code/nel/src/sound/driver/fmod/music_channel_fmod.h b/code/nel/src/sound/driver/fmod/music_channel_fmod.h index abaa9c510..28ffef6ce 100644 --- a/code/nel/src/sound/driver/fmod/music_channel_fmod.h +++ b/code/nel/src/sound/driver/fmod/music_channel_fmod.h @@ -17,7 +17,7 @@ #ifndef NL_MUSIC_CHANNEL_FMOD_H #define NL_MUSIC_CHANNEL_FMOD_H -#include +#include "nel/sound/driver/music_channel.h" struct FSOUND_STREAM; diff --git a/code/nel/src/sound/driver/fmod/sound_driver_fmod.h b/code/nel/src/sound/driver/fmod/sound_driver_fmod.h index bcf75ece6..8beabe562 100644 --- a/code/nel/src/sound/driver/fmod/sound_driver_fmod.h +++ b/code/nel/src/sound/driver/fmod/sound_driver_fmod.h @@ -17,7 +17,7 @@ #ifndef NL_SOUND_DRIVER_FMOD_H #define NL_SOUND_DRIVER_FMOD_H -#include +#include "nel/sound/driver/sound_driver.h" namespace NLSOUND { class IListener; diff --git a/code/nel/src/sound/driver/fmod/source_fmod.h b/code/nel/src/sound/driver/fmod/source_fmod.h index 34e3168d0..a8ef4fb57 100644 --- a/code/nel/src/sound/driver/fmod/source_fmod.h +++ b/code/nel/src/sound/driver/fmod/source_fmod.h @@ -17,9 +17,9 @@ #ifndef NL_SOURCE_FMOD_H #define NL_SOURCE_FMOD_H -#include -#include -#include +#include "nel/sound/driver/source.h" +#include "nel/sound/driver/sound_driver.h" +#include "nel/sound/driver/buffer.h" namespace NLSOUND { class CBufferFMod; diff --git a/code/nel/src/sound/driver/fmod/stdfmod.h b/code/nel/src/sound/driver/fmod/stdfmod.h index 9afe2bef1..afb1af3f1 100644 --- a/code/nel/src/sound/driver/fmod/stdfmod.h +++ b/code/nel/src/sound/driver/fmod/stdfmod.h @@ -24,22 +24,22 @@ #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "nel/misc/common.h" +#include "nel/misc/time_nl.h" +#include "nel/misc/singleton.h" +#include "nel/misc/fast_mem.h" +#include "nel/misc/debug.h" +#include "nel/misc/vector.h" +#include "nel/misc/path.h" +#include "nel/misc/file.h" +#include "nel/misc/matrix.h" +#include "nel/misc/big_file.h" +#include "nel/misc/hierarchical_timer.h" +#include "nel/misc/dynloadlib.h" -#include -#include -#include -#include +#include "nel/sound/driver/sound_driver.h" +#include "nel/sound/driver/buffer.h" +#include "nel/sound/driver/source.h" +#include "nel/sound/driver/listener.h" /* end of file */ diff --git a/code/nel/src/sound/driver/openal/CMakeLists.txt b/code/nel/src/sound/driver/openal/CMakeLists.txt index 5e3fcb90b..adf2b584f 100644 --- a/code/nel/src/sound/driver/openal/CMakeLists.txt +++ b/code/nel/src/sound/driver/openal/CMakeLists.txt @@ -45,7 +45,7 @@ IF(WITH_PCH) ENDIF(WITH_PCH) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC_DRIVERS) OR NOT WITH_STATIC_DRIVERS) - INSTALL(TARGETS ${NLDRV_AL_LIB} RUNTIME DESTINATION ${NL_DRIVER_PREFIX} LIBRARY DESTINATION ${NL_DRIVER_PREFIX} ARCHIVE DESTINATION lib COMPONENT driverssound) + INSTALL(TARGETS ${NLDRV_AL_LIB} RUNTIME DESTINATION ${NL_DRIVER_PREFIX} LIBRARY DESTINATION ${NL_DRIVER_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT driverssound) IF(WITH_MAXPLUGIN) INSTALL(TARGETS ${NLDRV_AL_LIB} RUNTIME DESTINATION maxplugin COMPONENT driverssound) ENDIF(WITH_MAXPLUGIN) diff --git a/code/nel/src/sound/driver/openal/buffer_al.cpp b/code/nel/src/sound/driver/openal/buffer_al.cpp index 7714abc67..63a0a19d9 100644 --- a/code/nel/src/sound/driver/openal/buffer_al.cpp +++ b/code/nel/src/sound/driver/openal/buffer_al.cpp @@ -117,7 +117,7 @@ bool CBufferAL::unlock(uint size) _DataPtr = NULL; _Capacity = 0; } - + // Error handling if (alGetError() == AL_NO_ERROR) _IsLoaded = true; @@ -159,7 +159,7 @@ bool CBufferAL::fill(const uint8 *src, uint size) // Fill buffer (OpenAL one) alBufferData(_BufferName, _SampleFormat, src, size, _Frequency); - + // Error handling if (alGetError() == AL_NO_ERROR) _IsLoaded = true; diff --git a/code/nel/src/sound/driver/openal/buffer_al.h b/code/nel/src/sound/driver/openal/buffer_al.h index 4564f5be3..b2abf2036 100644 --- a/code/nel/src/sound/driver/openal/buffer_al.h +++ b/code/nel/src/sound/driver/openal/buffer_al.h @@ -17,7 +17,7 @@ #ifndef NL_BUFFER_AL_H #define NL_BUFFER_AL_H -#include +#include "nel/sound/driver/buffer.h" namespace NLSOUND { diff --git a/code/nel/src/sound/driver/openal/sound_driver_al.cpp b/code/nel/src/sound/driver/openal/sound_driver_al.cpp index 65af8002c..40ea39d0b 100644 --- a/code/nel/src/sound/driver/openal/sound_driver_al.cpp +++ b/code/nel/src/sound/driver/openal/sound_driver_al.cpp @@ -246,7 +246,6 @@ static const ALchar *getDeviceInternal(const std::string &device) if (AlEnumerateAllExt) { const ALchar* deviceNames = alcGetString(NULL, ALC_ALL_DEVICES_SPECIFIER); - // const ALchar* defaultDevice = NULL; if(!strlen(deviceNames)) { nldebug("AL: No audio devices"); @@ -291,6 +290,7 @@ void CSoundDriverAL::initDevice(const std::string &device, ISoundDriver::TSoundO // OpenAL initialization const ALchar *dev = getDeviceInternal(device); + if (!dev) dev = alcGetString(NULL, ALC_DEFAULT_DEVICE_SPECIFIER); nldebug("AL: Opening device: '%s'", dev == NULL ? "NULL" : dev); _AlDevice = alcOpenDevice(dev); if (!_AlDevice) throw ESoundDriver("AL: Failed to open device"); diff --git a/code/nel/src/sound/driver/openal/sound_driver_al.h b/code/nel/src/sound/driver/openal/sound_driver_al.h index 49150f31e..a58d5418e 100644 --- a/code/nel/src/sound/driver/openal/sound_driver_al.h +++ b/code/nel/src/sound/driver/openal/sound_driver_al.h @@ -17,7 +17,7 @@ #ifndef NL_SOUND_DRIVER_AL_H #define NL_SOUND_DRIVER_AL_H -#include +#include "nel/sound/driver/sound_driver.h" namespace NLSOUND { class CBufferAL; @@ -126,7 +126,7 @@ public: virtual void startBench(); virtual void endBench(); - virtual void displayBench(NLMISC::CLog * /* log */); + virtual void displayBench(NLMISC::CLog *log); /// Change the rolloff factor and apply to all sources @@ -136,7 +136,7 @@ public: virtual void commit3DChanges(); /// Write information about the driver to the output stream. - virtual void writeProfile(std::string& /* out */); + virtual void writeProfile(std::string& out); /// Remove a buffer void removeBuffer(CBufferAL *buffer); diff --git a/code/nel/src/sound/driver/openal/source_al.cpp b/code/nel/src/sound/driver/openal/source_al.cpp index 4d5bcfa47..154bcebe1 100644 --- a/code/nel/src/sound/driver/openal/source_al.cpp +++ b/code/nel/src/sound/driver/openal/source_al.cpp @@ -375,7 +375,7 @@ bool CSourceAL::isPaused() const uint32 CSourceAL::getTime() { if (!_StartTime) return 0; - return (uint32)(CTime::getLocalTime() - _StartTime); + return (uint32)(CTime::getLocalTime() - _StartTime); } /// Set the position vector. diff --git a/code/nel/src/sound/driver/openal/source_al.h b/code/nel/src/sound/driver/openal/source_al.h index d3c08bf41..22cb3d67d 100644 --- a/code/nel/src/sound/driver/openal/source_al.h +++ b/code/nel/src/sound/driver/openal/source_al.h @@ -17,7 +17,7 @@ #ifndef NL_SOURCE_AL_H #define NL_SOURCE_AL_H -#include +#include "nel/sound/driver/source.h" namespace NLSOUND { class IBuffer; diff --git a/code/nel/src/sound/driver/xaudio2/CMakeLists.txt b/code/nel/src/sound/driver/xaudio2/CMakeLists.txt index c0d49bd5e..9113bd022 100644 --- a/code/nel/src/sound/driver/xaudio2/CMakeLists.txt +++ b/code/nel/src/sound/driver/xaudio2/CMakeLists.txt @@ -41,7 +41,7 @@ IF(WITH_PCH) ENDIF(WITH_PCH) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC_DRIVERS) OR NOT WITH_STATIC_DRIVERS) - INSTALL(TARGETS nel_drv_xaudio2_win RUNTIME DESTINATION bin LIBRARY DESTINATION ${NL_DRIVER_PREFIX} ARCHIVE DESTINATION lib COMPONENT driverssound) + INSTALL(TARGETS nel_drv_xaudio2_win RUNTIME DESTINATION ${NL_DRIVER_PREFIX} LIBRARY DESTINATION ${NL_DRIVER_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT driverssound) IF(WITH_MAXPLUGIN) INSTALL(TARGETS nel_drv_xaudio2_win RUNTIME DESTINATION maxplugin COMPONENT driverssound) ENDIF(WITH_MAXPLUGIN) diff --git a/code/nel/src/sound/driver/xaudio2/adpcm_xaudio2.h b/code/nel/src/sound/driver/xaudio2/adpcm_xaudio2.h index 19a1b0486..6655c57a8 100644 --- a/code/nel/src/sound/driver/xaudio2/adpcm_xaudio2.h +++ b/code/nel/src/sound/driver/xaudio2/adpcm_xaudio2.h @@ -17,7 +17,7 @@ #ifndef NLSOUND_ADPCM_XAUDIO2_H #define NLSOUND_ADPCM_XAUDIO2_H -#include +#include "nel/sound/driver/buffer.h" namespace NLSOUND { class CBufferXAudio2; diff --git a/code/nel/src/sound/driver/xaudio2/buffer_xaudio2.h b/code/nel/src/sound/driver/xaudio2/buffer_xaudio2.h index 54f802978..0094494ed 100644 --- a/code/nel/src/sound/driver/xaudio2/buffer_xaudio2.h +++ b/code/nel/src/sound/driver/xaudio2/buffer_xaudio2.h @@ -17,7 +17,7 @@ #ifndef NLSOUND_BUFFER_XAUDIO2_H #define NLSOUND_BUFFER_XAUDIO2_H -#include +#include "nel/sound/driver/buffer.h" namespace NLSOUND { class CSoundDriverXAudio2; diff --git a/code/nel/src/sound/driver/xaudio2/listener_xaudio2.h b/code/nel/src/sound/driver/xaudio2/listener_xaudio2.h index 146611de9..10a39ffe5 100644 --- a/code/nel/src/sound/driver/xaudio2/listener_xaudio2.h +++ b/code/nel/src/sound/driver/xaudio2/listener_xaudio2.h @@ -17,8 +17,8 @@ #ifndef NLSOUND_LISTENER_XAUDIO2_H #define NLSOUND_LISTENER_XAUDIO2_H -#include -#include +#include "nel/sound/driver/listener.h" +#include "nel/sound/driver/sound_driver.h" namespace NLSOUND { class CSoundDriverXAudio2; diff --git a/code/nel/src/sound/driver/xaudio2/source_xaudio2.h b/code/nel/src/sound/driver/xaudio2/source_xaudio2.h index f5050c12f..a2d542349 100644 --- a/code/nel/src/sound/driver/xaudio2/source_xaudio2.h +++ b/code/nel/src/sound/driver/xaudio2/source_xaudio2.h @@ -17,9 +17,9 @@ #ifndef NLSOUND_SOURCE_XAUDIO2_H #define NLSOUND_SOURCE_XAUDIO2_H -#include -#include -#include +#include "nel/sound/driver/source.h" +#include "nel/sound/driver/sound_driver.h" +#include "nel/sound/driver/buffer.h" namespace NLSOUND { class CSoundDriverXAudio2; diff --git a/code/nel/src/sound/nel-sound.pc.in b/code/nel/src/sound/nel-sound.pc.in index 9994e967e..44ff6e1f0 100644 --- a/code/nel/src/sound/nel-sound.pc.in +++ b/code/nel/src/sound/nel-sound.pc.in @@ -6,7 +6,7 @@ includedir=@includedir@ Name: nel-sound Version: @NL_VERSION@ Description: NeL @NL_VERSION@ -Reqiures: +Requires: Libs: -L${libdir} Libs.private: @LIBS@ -lc -lpthread -lrt -ldl Cflags: -I${includedir} -lc -lpthread -lrt -ldl diff --git a/code/nel/tools/3d/CMakeLists.txt b/code/nel/tools/3d/CMakeLists.txt index 2d8c4a03a..58360aec0 100644 --- a/code/nel/tools/3d/CMakeLists.txt +++ b/code/nel/tools/3d/CMakeLists.txt @@ -51,6 +51,7 @@ IF(WITH_QT) ENDIF(WITH_QT) IF(SQUISH_FOUND) + ADD_SUBDIRECTORY(s3tc_compressor_lib) ADD_SUBDIRECTORY(panoply_maker) ADD_SUBDIRECTORY(tga_2_dds) ADD_SUBDIRECTORY(hls_bank_maker) diff --git a/code/nel/tools/3d/anim_builder/CMakeLists.txt b/code/nel/tools/3d/anim_builder/CMakeLists.txt index fada1485f..61188b461 100644 --- a/code/nel/tools/3d/anim_builder/CMakeLists.txt +++ b/code/nel/tools/3d/anim_builder/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(anim_builder nelmisc nel3d) NL_DEFAULT_PROPS(anim_builder "NeL, Tools, 3D: anim_builder") NL_ADD_RUNTIME_FLAGS(anim_builder) -INSTALL(TARGETS anim_builder RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS anim_builder RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/animation_set_builder/CMakeLists.txt b/code/nel/tools/3d/animation_set_builder/CMakeLists.txt index 8ebf1fff7..da81b1de3 100644 --- a/code/nel/tools/3d/animation_set_builder/CMakeLists.txt +++ b/code/nel/tools/3d/animation_set_builder/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(animation_set_builder nel3d nelmisc) NL_DEFAULT_PROPS(animation_set_builder "NeL, Tools, 3D: anim_set_builder") NL_ADD_RUNTIME_FLAGS(animation_set_builder) -INSTALL(TARGETS animation_set_builder RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS animation_set_builder RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/build_clod_bank/CMakeLists.txt b/code/nel/tools/3d/build_clod_bank/CMakeLists.txt index 3b7704f24..2bd4846d7 100644 --- a/code/nel/tools/3d/build_clod_bank/CMakeLists.txt +++ b/code/nel/tools/3d/build_clod_bank/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(build_clod_bank nel3d nelmisc) NL_DEFAULT_PROPS(build_clod_bank "NeL, Tools, 3D: build_clod_bank") NL_ADD_RUNTIME_FLAGS(build_clod_bank) -INSTALL(TARGETS build_clod_bank RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS build_clod_bank RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/build_clodtex/CMakeLists.txt b/code/nel/tools/3d/build_clodtex/CMakeLists.txt index a6cefc40c..558962421 100644 --- a/code/nel/tools/3d/build_clodtex/CMakeLists.txt +++ b/code/nel/tools/3d/build_clodtex/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(build_clodtex nel3d nelmisc) NL_DEFAULT_PROPS(build_clodtex "NeL, Tools, 3D: build_clodtex") NL_ADD_RUNTIME_FLAGS(build_clodtex) -INSTALL(TARGETS build_clodtex RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS build_clodtex RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/build_coarse_mesh/CMakeLists.txt b/code/nel/tools/3d/build_coarse_mesh/CMakeLists.txt index 2247b01df..93eba1bfc 100644 --- a/code/nel/tools/3d/build_coarse_mesh/CMakeLists.txt +++ b/code/nel/tools/3d/build_coarse_mesh/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(build_coarse_mesh nel3d nelmisc) NL_DEFAULT_PROPS(build_coarse_mesh "NeL, Tools, 3D: build_coarse_mesh") NL_ADD_RUNTIME_FLAGS(build_coarse_mesh) -INSTALL(TARGETS build_coarse_mesh RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS build_coarse_mesh RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/build_far_bank/CMakeLists.txt b/code/nel/tools/3d/build_far_bank/CMakeLists.txt index adc3afb08..7a858d560 100644 --- a/code/nel/tools/3d/build_far_bank/CMakeLists.txt +++ b/code/nel/tools/3d/build_far_bank/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(build_far_bank nel3d nelmisc) NL_DEFAULT_PROPS(build_far_bank "NeL, Tools, 3D: build_far_bank") NL_ADD_RUNTIME_FLAGS(build_far_bank) -INSTALL(TARGETS build_far_bank RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS build_far_bank RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/build_interface/CMakeLists.txt b/code/nel/tools/3d/build_interface/CMakeLists.txt index ce3aae1f1..243bc326d 100644 --- a/code/nel/tools/3d/build_interface/CMakeLists.txt +++ b/code/nel/tools/3d/build_interface/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(build_interface nelmisc) NL_DEFAULT_PROPS(build_interface "NeL, Tools, 3D: build_interface") NL_ADD_RUNTIME_FLAGS(build_interface) -INSTALL(TARGETS build_interface RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS build_interface RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/build_shadow_skin/CMakeLists.txt b/code/nel/tools/3d/build_shadow_skin/CMakeLists.txt index 60cc83980..78bbd712d 100644 --- a/code/nel/tools/3d/build_shadow_skin/CMakeLists.txt +++ b/code/nel/tools/3d/build_shadow_skin/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(build_shadow_skin nelmisc nel3d) NL_DEFAULT_PROPS(build_shadow_skin "NeL, Tools, 3D: build_shadow_skin") NL_ADD_RUNTIME_FLAGS(build_shadow_skin) -INSTALL(TARGETS build_shadow_skin RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS build_shadow_skin RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/build_smallbank/CMakeLists.txt b/code/nel/tools/3d/build_smallbank/CMakeLists.txt index 7cfccdaf9..260f6b9aa 100644 --- a/code/nel/tools/3d/build_smallbank/CMakeLists.txt +++ b/code/nel/tools/3d/build_smallbank/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(build_smallbank nel3d nelmisc) NL_DEFAULT_PROPS(build_smallbank "NeL, Tools, 3D: build_smallbank") NL_ADD_RUNTIME_FLAGS(build_smallbank) -INSTALL(TARGETS build_smallbank RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS build_smallbank RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/cluster_viewer/CMakeLists.txt b/code/nel/tools/3d/cluster_viewer/CMakeLists.txt index 98d0c800e..a0db8cd68 100644 --- a/code/nel/tools/3d/cluster_viewer/CMakeLists.txt +++ b/code/nel/tools/3d/cluster_viewer/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(cluster_viewer nel3d nelmisc) NL_DEFAULT_PROPS(cluster_viewer "NeL, Tools, 3D: Cluster Viewer") NL_ADD_RUNTIME_FLAGS(cluster_viewer) -INSTALL(TARGETS cluster_viewer RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS cluster_viewer RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/file_info/CMakeLists.txt b/code/nel/tools/3d/file_info/CMakeLists.txt index ce935c4e4..43cb359fd 100644 --- a/code/nel/tools/3d/file_info/CMakeLists.txt +++ b/code/nel/tools/3d/file_info/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(file_info nel3d nelmisc) NL_DEFAULT_PROPS(file_info "NeL, Tools, 3D: file_info") NL_ADD_RUNTIME_FLAGS(file_info) -INSTALL(TARGETS file_info RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS file_info RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/get_neighbors/CMakeLists.txt b/code/nel/tools/3d/get_neighbors/CMakeLists.txt index 9ed4f6e2c..d8de69ff5 100644 --- a/code/nel/tools/3d/get_neighbors/CMakeLists.txt +++ b/code/nel/tools/3d/get_neighbors/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(get_neighbors nelmisc) NL_DEFAULT_PROPS(get_neighbors "NeL, Tools, 3D: get_neighbors") NL_ADD_RUNTIME_FLAGS(get_neighbors) -INSTALL(TARGETS get_neighbors RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS get_neighbors RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/hls_bank_maker/CMakeLists.txt b/code/nel/tools/3d/hls_bank_maker/CMakeLists.txt index 4b4717087..d2482c276 100644 --- a/code/nel/tools/3d/hls_bank_maker/CMakeLists.txt +++ b/code/nel/tools/3d/hls_bank_maker/CMakeLists.txt @@ -1,11 +1,9 @@ -FILE(GLOB SRC *.cpp *.h ../panoply_maker/hls_bank_texture_info.cpp ../panoply_maker/hls_bank_texture_info.h ../s3tc_compressor_lib/*.cpp ../s3tc_compressor_lib/*.h) +FILE(GLOB SRC *.cpp *.h ../panoply_maker/hls_bank_texture_info.cpp ../panoply_maker/hls_bank_texture_info.h) ADD_EXECUTABLE(hls_bank_maker ${SRC}) -INCLUDE_DIRECTORIES(${SQUISH_INCLUDE_DIR}) - -TARGET_LINK_LIBRARIES(hls_bank_maker ${SQUISH_LIBRARIES} nelmisc nel3d) +TARGET_LINK_LIBRARIES(hls_bank_maker s3tc_compressor nelmisc nel3d) NL_DEFAULT_PROPS(hls_bank_maker "NeL, Tools, 3D: hls_bank_maker") NL_ADD_RUNTIME_FLAGS(hls_bank_maker) -INSTALL(TARGETS hls_bank_maker RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS hls_bank_maker RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/ig_add/CMakeLists.txt b/code/nel/tools/3d/ig_add/CMakeLists.txt index 60f5305c0..2ae993d51 100644 --- a/code/nel/tools/3d/ig_add/CMakeLists.txt +++ b/code/nel/tools/3d/ig_add/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(ig_add nel3d nelmisc) NL_DEFAULT_PROPS(ig_add "NeL, Tools, 3D: ig_add") NL_ADD_RUNTIME_FLAGS(ig_add) -INSTALL(TARGETS ig_add RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS ig_add RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/ig_elevation/CMakeLists.txt b/code/nel/tools/3d/ig_elevation/CMakeLists.txt index e453ed1ce..eb59adf22 100644 --- a/code/nel/tools/3d/ig_elevation/CMakeLists.txt +++ b/code/nel/tools/3d/ig_elevation/CMakeLists.txt @@ -10,4 +10,4 @@ NL_ADD_RUNTIME_FLAGS(ig_elevation) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) -INSTALL(TARGETS ig_elevation RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS ig_elevation RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/ig_info/CMakeLists.txt b/code/nel/tools/3d/ig_info/CMakeLists.txt index bf39e3e16..59f32f9ca 100644 --- a/code/nel/tools/3d/ig_info/CMakeLists.txt +++ b/code/nel/tools/3d/ig_info/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(ig_info nel3d nelmisc) NL_DEFAULT_PROPS(ig_info "NeL, Tools, 3D: ig_info") NL_ADD_RUNTIME_FLAGS(ig_info) -INSTALL(TARGETS ig_info RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS ig_info RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/ig_lighter/CMakeLists.txt b/code/nel/tools/3d/ig_lighter/CMakeLists.txt index 6636329c3..54f703566 100644 --- a/code/nel/tools/3d/ig_lighter/CMakeLists.txt +++ b/code/nel/tools/3d/ig_lighter/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(ig_lighter nelmisc nel3d nelpacs) NL_DEFAULT_PROPS(ig_lighter "NeL, Tools, 3D: ig_lighter") NL_ADD_RUNTIME_FLAGS(ig_lighter) -INSTALL(TARGETS ig_lighter RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS ig_lighter RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/ig_lighter/ig_lighter.cpp b/code/nel/tools/3d/ig_lighter/ig_lighter.cpp index 3041d3b49..a243ad7bc 100644 --- a/code/nel/tools/3d/ig_lighter/ig_lighter.cpp +++ b/code/nel/tools/3d/ig_lighter/ig_lighter.cpp @@ -27,9 +27,9 @@ #include "nel/3d/shape.h" #include "nel/3d/transform_shape.h" #include "nel/3d/register_3d.h" -#include "../../../src/pacs/global_retriever.h" -#include "../../../src/pacs/local_retriever.h" -#include "../../../src/pacs/retriever_bank.h" +#include "nel/pacs/global_retriever.h" +#include "nel/pacs/local_retriever.h" +#include "nel/pacs/retriever_bank.h" #include "../ig_lighter_lib/ig_lighter_lib.h" diff --git a/code/nel/tools/3d/ig_lighter_lib/ig_lighter_lib.cpp b/code/nel/tools/3d/ig_lighter_lib/ig_lighter_lib.cpp index c933947ed..4365eab9b 100644 --- a/code/nel/tools/3d/ig_lighter_lib/ig_lighter_lib.cpp +++ b/code/nel/tools/3d/ig_lighter_lib/ig_lighter_lib.cpp @@ -16,8 +16,8 @@ #include "ig_lighter_lib.h" #include "nel/misc/path.h" -#include "nel/../../src/pacs/retriever_bank.h" -#include "nel/../../src/pacs/global_retriever.h" +#include "nel/pacs/retriever_bank.h" +#include "nel/pacs/global_retriever.h" #include "nel/3d/scene_group.h" diff --git a/code/nel/tools/3d/lightmap_optimizer/CMakeLists.txt b/code/nel/tools/3d/lightmap_optimizer/CMakeLists.txt index 0427ba6e4..36e5b2aa4 100644 --- a/code/nel/tools/3d/lightmap_optimizer/CMakeLists.txt +++ b/code/nel/tools/3d/lightmap_optimizer/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(lightmap_optimizer nel3d nelmisc) NL_DEFAULT_PROPS(lightmap_optimizer "NeL, Tools, 3D: lightmap_optimizer") NL_ADD_RUNTIME_FLAGS(lightmap_optimizer) -INSTALL(TARGETS lightmap_optimizer RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS lightmap_optimizer RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/ligo/plugin_max/CMakeLists.txt b/code/nel/tools/3d/ligo/plugin_max/CMakeLists.txt index af00c788a..ddf009188 100644 --- a/code/nel/tools/3d/ligo/plugin_max/CMakeLists.txt +++ b/code/nel/tools/3d/ligo/plugin_max/CMakeLists.txt @@ -22,7 +22,7 @@ NL_ADD_LIB_SUFFIX(ligoscape_utility) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) -INSTALL(TARGETS ligoscape_utility RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS ligoscape_utility RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) INSTALL(FILES ligoscript.txt DESTINATION maxplugin/docs) INSTALL(DIRECTORY scripts/ DESTINATION maxplugin/scripts/ diff --git a/code/nel/tools/3d/ligo/plugin_max/ligoscape_utility.def b/code/nel/tools/3d/ligo/plugin_max/ligoscape_utility.def index 18beb72e0..c3f1a6b7c 100644 --- a/code/nel/tools/3d/ligo/plugin_max/ligoscape_utility.def +++ b/code/nel/tools/3d/ligo/plugin_max/ligoscape_utility.def @@ -1,4 +1,4 @@ -LIBRARY nelligoscapeutility.dlx +;LIBRARY nelligoscapeutility.dlx EXPORTS LibDescription @1 LibNumberClasses @2 diff --git a/code/nel/tools/3d/ligo/plugin_max/script.cpp b/code/nel/tools/3d/ligo/plugin_max/script.cpp index 7763a0126..41740bcbe 100644 --- a/code/nel/tools/3d/ligo/plugin_max/script.cpp +++ b/code/nel/tools/3d/ligo/plugin_max/script.cpp @@ -18,6 +18,14 @@ #include +#ifdef _STLPORT_VERSION +namespace std +{ + float fabsf(float f); + double fabsl(double f); +} +#endif + // Various MAX and MXS includes #include #if MAX_VERSION_MAJOR >= 14 diff --git a/code/nel/tools/3d/object_viewer/CMakeLists.txt b/code/nel/tools/3d/object_viewer/CMakeLists.txt index e22e4dc51..f99f49c68 100644 --- a/code/nel/tools/3d/object_viewer/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer/CMakeLists.txt @@ -21,8 +21,8 @@ IF(WITH_PCH) ADD_NATIVE_PRECOMPILED_HEADER(object_viewer_dll ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.h ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.cpp) ENDIF(WITH_PCH) -INSTALL(TARGETS object_viewer_dll LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT tools3d) -INSTALL(FILES object_viewer.cfg DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS object_viewer_dll LIBRARY DESTINATION ${NL_LIB_PREFIX} RUNTIME DESTINATION ${NL_BIN_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT tools3d) +INSTALL(FILES object_viewer.cfg DESTINATION ${NL_ETC_PREFIX} COMPONENT tools3d) IF(WITH_MAXPLUGIN) INSTALL(TARGETS object_viewer_dll RUNTIME DESTINATION maxplugin COMPONENT tools3d) INSTALL(FILES object_viewer.cfg DESTINATION maxplugin COMPONENT tools3d) diff --git a/code/nel/tools/3d/object_viewer/edit_ps_sound.cpp b/code/nel/tools/3d/object_viewer/edit_ps_sound.cpp index afb53aa84..891818a43 100644 --- a/code/nel/tools/3d/object_viewer/edit_ps_sound.cpp +++ b/code/nel/tools/3d/object_viewer/edit_ps_sound.cpp @@ -159,7 +159,7 @@ END_MESSAGE_MAP() void CEditPSSound::OnBrowseSound() { // CPickSound::TNameVect names; - vector names; + vector names; NLSOUND::UAudioMixer *audioMixer = CSoundSystem::getAudioMixer(); @@ -172,7 +172,7 @@ void CEditPSSound::OnBrowseSound() if (ps.DoModal() == IDOK) { - m_SoundName = NLMISC::CStringMapper::unmap(ps.getName()).c_str(); + m_SoundName = ps.getName().toString().c_str(); _Sound->setSoundName(ps.getName()); updateModifiedFlag(); UpdateData(FALSE); @@ -184,7 +184,7 @@ BOOL CEditPSSound::OnInitDialog() CDialog::OnInitDialog(); nlassert(_Sound); - m_SoundName = NLMISC::CStringMapper::unmap(_Sound->getSoundName()).c_str(); + m_SoundName = _Sound->getSoundName().toString().c_str(); UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control @@ -195,7 +195,7 @@ void CEditPSSound::OnChangeSoundName() { nlassert(_Sound); UpdateData(); - _Sound->setSoundName( NLMISC::CStringMapper::map((LPCTSTR) m_SoundName) ); + _Sound->setSoundName(NLMISC::CSheetId((LPCTSTR)m_SoundName, "sound")); updateModifiedFlag(); } @@ -209,7 +209,7 @@ void CEditPSSound::OnSpawn() // play the currently selected sound void CEditPSSound::OnPlaySound() { - CSoundSystem::play(std::string((LPCTSTR) m_SoundName)); + CSoundSystem::play(std::string((LPCTSTR)m_SoundName)); } void CEditPSSound::OnMute() diff --git a/code/nel/tools/3d/object_viewer/object_viewer.cpp b/code/nel/tools/3d/object_viewer/object_viewer.cpp index 71aba41df..19490309b 100644 --- a/code/nel/tools/3d/object_viewer/object_viewer.cpp +++ b/code/nel/tools/3d/object_viewer/object_viewer.cpp @@ -54,7 +54,7 @@ #include "nel/3d/ps_util.h" -#include "nel/../../src/pacs/global_retriever.h" +#include "nel/pacs/global_retriever.h" diff --git a/code/nel/tools/3d/object_viewer/pick_sound.cpp b/code/nel/tools/3d/object_viewer/pick_sound.cpp index 0a6452861..280a65326 100644 --- a/code/nel/tools/3d/object_viewer/pick_sound.cpp +++ b/code/nel/tools/3d/object_viewer/pick_sound.cpp @@ -74,7 +74,7 @@ BOOL CPickSound::OnInitDialog() for (TNameVect::iterator it = _Names.begin(); it != _Names.end(); ++it) { - m_NameList.AddString(NLMISC::CStringMapper::unmap(*it).c_str()); + m_NameList.AddString((*it).toString().c_str()); } _Timer = SetTimer (1, 100, NULL); @@ -111,7 +111,7 @@ void CPickSound::OnSelchange() nlassert(m_NameList.GetTextLen(m_NameList.GetCurSel()) < 1024); m_NameList.GetText(m_NameList.GetCurSel(), str); - _CurrName = NLMISC::CStringMapper::map(str); + _CurrName = NLMISC::CSheetId(str, "sound"); } diff --git a/code/nel/tools/3d/object_viewer/pick_sound.h b/code/nel/tools/3d/object_viewer/pick_sound.h index cbcf74601..5331ab912 100644 --- a/code/nel/tools/3d/object_viewer/pick_sound.h +++ b/code/nel/tools/3d/object_viewer/pick_sound.h @@ -23,7 +23,7 @@ #endif // _MSC_VER > 1000 // pick_sound.h : header file // -#include "nel/misc/string_mapper.h" +#include "nel/misc/sheet_id.h" #include #include @@ -40,11 +40,11 @@ class CPickSound : public CDialog { // Construction public: - typedef std::vector TNameVect; + typedef std::vector TNameVect; CPickSound(const TNameVect &names, CWnd* pParent = NULL); // standard constructor - const NLMISC::TStringId &getName(void) const { return _CurrName; } + const NLMISC::CSheetId &getName(void) const { return _CurrName; } // Dialog Data //{{AFX_DATA(CPickSound) @@ -63,7 +63,7 @@ public: // Implementation protected: TNameVect _Names; - NLMISC::TStringId _CurrName; + NLMISC::CSheetId _CurrName; UINT_PTR _Timer; diff --git a/code/nel/tools/3d/object_viewer/sound_anim_dlg.cpp b/code/nel/tools/3d/object_viewer/sound_anim_dlg.cpp index add1d14c0..965ad3d90 100644 --- a/code/nel/tools/3d/object_viewer/sound_anim_dlg.cpp +++ b/code/nel/tools/3d/object_viewer/sound_anim_dlg.cpp @@ -126,18 +126,18 @@ void CSoundAnimDlg::updateSounds() { if (_SelectedMarker != 0) { - vector sounds; + vector sounds; _SelectedMarker->getSounds(sounds); CListBox* list = (CListBox*) GetDlgItem(IDC_SOUND_ANIM_LIST); list->ResetContent(); - vector::iterator iter; + vector::iterator iter; for (iter = sounds.begin(); iter != sounds.end(); iter++) { - list->AddString(CStringMapper::unmap(*iter).c_str()); + list->AddString((*iter).toString().c_str()); } list->UpdateData(); @@ -151,7 +151,7 @@ void CSoundAnimDlg::OnAddSound() if (_SelectedMarker != 0) { // CPickSound::TNameVect names; - vector names; + vector names; NLSOUND::UAudioMixer *audioMixer = CSoundSystem::getAudioMixer(); @@ -183,7 +183,7 @@ void CSoundAnimDlg::OnRemoveSound() if (list->GetText(list->GetCurSel(), s) != LB_ERR) { string name(s); - _SelectedMarker->removeSound(CStringMapper::map(name)); + _SelectedMarker->removeSound(NLMISC::CSheetId(name, "sound")); updateSounds(); } } diff --git a/code/nel/tools/3d/object_viewer/sound_system.cpp b/code/nel/tools/3d/object_viewer/sound_system.cpp index 187a7f5c2..69e10ea18 100644 --- a/code/nel/tools/3d/object_viewer/sound_system.cpp +++ b/code/nel/tools/3d/object_viewer/sound_system.cpp @@ -168,7 +168,7 @@ void CSoundSystem::play(const string &soundName) { if (_AudioMixer) { - NLSOUND::USource *src = _AudioMixer->createSource(CStringMapper::map(soundName), true); + NLSOUND::USource *src = _AudioMixer->createSource(NLMISC::CSheetId(soundName, "sound"), true); if (src) { src->setLooping(false); @@ -187,7 +187,7 @@ USource *CSoundSystem::create(const std::string &soundName) { if (_AudioMixer) { - NLSOUND::USource *src = _AudioMixer->createSource(CStringMapper::map(soundName), false); + NLSOUND::USource *src = _AudioMixer->createSource(NLMISC::CSheetId(soundName, "sound"), false); if (src) { src->setLooping(false); diff --git a/code/nel/tools/3d/object_viewer_exe/CMakeLists.txt b/code/nel/tools/3d/object_viewer_exe/CMakeLists.txt index 605030308..d6adb9694 100644 --- a/code/nel/tools/3d/object_viewer_exe/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_exe/CMakeLists.txt @@ -19,7 +19,7 @@ IF(WITH_PCH) ADD_NATIVE_PRECOMPILED_HEADER(object_viewer ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.h ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.cpp) ENDIF(WITH_PCH) -INSTALL(TARGETS object_viewer RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS object_viewer RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) IF(WITH_MAXPLUGIN) INSTALL(TARGETS object_viewer RUNTIME DESTINATION maxplugin COMPONENT tools3d) ENDIF(WITH_MAXPLUGIN) diff --git a/code/nel/tools/3d/object_viewer_qt/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/CMakeLists.txt index 9e54a1857..ff1128b9f 100644 --- a/code/nel/tools/3d/object_viewer_qt/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/CMakeLists.txt @@ -5,8 +5,26 @@ # #----------------------------------------------------------------------------- -# This tells the application(s) where to fidn the installed data. -ADD_DEFINITIONS(-DDATA_DIR="\\"${NL_SHARE_PREFIX}/object_viewer_qt/\\"") +# This tells the application(s) where to find the installed data. +IF(WIN32) + SET(OVQT_PLUGIN_SPECS_DIR "plugins") + SET(OVQT_PLUGIN_DIR "plugins") + SET(OVQT_DATA_DIR ".") +ELSEIF(APPLE) + # TODO: under Mac OS X, don't install but copy files in application package + SET(OVQT_PLUGIN_SPECS_DIR "plugins") + SET(OVQT_PLUGIN_DIR "plugins") + SET(OVQT_DATA_DIR ".") +ELSE(WIN32) + SET(OVQT_PLUGIN_SPECS_DIR ${NL_SHARE_PREFIX}/object_viewer_qt/plugins) + SET(OVQT_PLUGIN_DIR ${NL_LIB_PREFIX}/object_viewer_qt) + SET(OVQT_DATA_DIR ${NL_SHARE_PREFIX}/object_viewer_qt/data) + + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/ovqt_config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/ovqt_config.h) + INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) + + ADD_DEFINITIONS(-DHAVE_OVQT_CONFIG_H) +ENDIF(WIN32) IF(UNIX AND WITH_STATIC) MESSAGE(FATAL_ERROR "OVQT does not work with static NeL builds on Unix atm.") @@ -15,7 +33,7 @@ ENDIF() ADD_SUBDIRECTORY(src) INSTALL(DIRECTORY data/ - DESTINATION share/object_viewer_qt/data + DESTINATION ${OVQT_DATA_DIR} COMPONENT data PATTERN "CVS" EXCLUDE PATTERN ".svn" EXCLUDE diff --git a/code/nel/tools/3d/object_viewer_qt/ovqt_config.h.cmake b/code/nel/tools/3d/object_viewer_qt/ovqt_config.h.cmake new file mode 100644 index 000000000..5b3a49654 --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/ovqt_config.h.cmake @@ -0,0 +1,7 @@ +#ifndef OVQT_CONFIG_H +#define OVQT_CONFIG_H + +#define DATA_DIR "${NL_SHARE_ABSOLUTE_PREFIX}/object_viewer_qt" +#define PLUGINS_DIR "${NL_LIB_ABSOLUTE_PREFIX}/object_viewer_qt" + +#endif diff --git a/code/nel/tools/3d/object_viewer_qt/src/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/CMakeLists.txt index 7dc1445bb..d77b0e6a1 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/CMakeLists.txt @@ -21,12 +21,12 @@ SET(OBJECT_VIEWER_TS translations/object_viewer_qt_en.ts SET(QT_USE_QTGUI TRUE) SET(QT_USE_QTOPENGL TRUE) - -IF(WIN32) - SET(OBJECT_VIEWER_RC object_viewer_qt.rc) + +IF(WIN32) + SET(OBJECT_VIEWER_RC object_viewer_qt.rc) ENDIF(WIN32) -QT4_ADD_TRANSLATION(OBJECT_VIEWER_QM ${OBJECT_VIEWER_TS}) +QT4_ADD_TRANSLATION(OBJECT_VIEWER_QM ${OBJECT_VIEWER_TS}) QT4_ADD_RESOURCES( OBJECT_VIEWER_RC_SRCS ${OBJECT_VIEWER_RCS}) QT4_WRAP_CPP( OBJECT_VIEWER_MOC_SRCS ${OBJECT_VIEWER_HDR} ) @@ -50,4 +50,4 @@ NL_ADD_RUNTIME_FLAGS(object_viewer_qt) ADD_SUBDIRECTORY(plugins) -INSTALL(TARGETS object_viewer_qt RUNTIME DESTINATION bin COMPONENT runtime BUNDLE DESTINATION /Applications) +INSTALL(TARGETS object_viewer_qt RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT runtime BUNDLE DESTINATION /Applications) diff --git a/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_manager.cpp b/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_manager.cpp index 6c5b8a36c..9b9da508b 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_manager.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_manager.cpp @@ -54,7 +54,7 @@ void PluginManager::addObject(QObject *obj) nlwarning("trying to add duplicate object"); return; } - nlinfo(QString("addObject: " + obj->objectName()).toStdString().c_str()); + nlinfo("addObject: %s", obj->objectName().toUtf8().constData()); m_allObjects.append(obj); @@ -71,10 +71,10 @@ void PluginManager::removeObject(QObject *obj) if (!m_allObjects.contains(obj)) { - nlinfo(QString("object not in list: " + obj->objectName()).toStdString().c_str()); + nlinfo("object not in list: %s", obj->objectName().toUtf8().constData()); return; } - nlinfo(QString("removeObject: " + obj->objectName()).toStdString().c_str()); + nlinfo("removeObject: %s", obj->objectName().toUtf8().constData()); Q_EMIT aboutToRemoveObject(obj); QWriteLocker lock(&m_lock); diff --git a/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.cpp b/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.cpp index 30e35f8c1..89f8046bb 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.cpp @@ -31,6 +31,14 @@ #include #include +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef HAVE_OVQT_CONFIG_H +#include "ovqt_config.h" +#endif + namespace ExtensionSystem { const char *const PLUGIN_SPEC_NAME = "name"; @@ -71,6 +79,7 @@ PluginSpec::PluginSpec() # error "Unknown compilation mode, can't build suffix" # endif #elif defined (NL_OS_UNIX) + m_prefix = "lib"; m_suffix = ".so"; #else # error "You must define the lib suffix for your platform" @@ -139,12 +148,47 @@ QList PluginSpec::dependencySpecs() const bool PluginSpec::setFileName(const QString &fileName) { - m_fileName = fileName + m_suffix; + m_fileName = m_prefix + fileName + m_suffix; m_filePath = m_location + "/" + m_fileName; - nlinfo(m_filePath.toStdString().c_str()); - QFile file(m_filePath); - if (!file.exists()) + QFile file; + file.setFileName(m_filePath); + + bool exists = file.exists(); + +#ifdef NL_OS_UNIX + +#ifdef PLUGINS_DIR + if (!exists) + { + // if plugin can't be found in the same directory as spec file, + // looks for it in PLUGINS_DIR + m_filePath = QString("%1/%2").arg(PLUGINS_DIR).arg(m_fileName); + + file.setFileName(m_filePath); + + exists = file.exists(); + } +#endif + +#ifdef NL_LIB_PREFIX + if (!exists) + { + // if plugin can't be found in the same directory as spec file or PLUGINS_DIR, + // looks for it in NL_LIB_PREFIX + m_filePath = QString("%1/%2").arg(NL_LIB_PREFIX).arg(m_fileName); + + file.setFileName(m_filePath); + + exists = file.exists(); + } +#endif + +#endif + + nlinfo(m_filePath.toUtf8().constData()); + + if (!exists) return reportError(QCoreApplication::translate("PluginSpec", "File does not exist: %1").arg(file.fileName())); if (!file.open(QIODevice::ReadOnly)) return reportError(QCoreApplication::translate("PluginSpec", "Could not open file for read: %1").arg(file.fileName())); @@ -390,4 +434,4 @@ bool PluginSpec::reportError(const QString &err) return false; } -} // namespace ExtensionSystem \ No newline at end of file +} // namespace ExtensionSystem diff --git a/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.h b/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.h index c28980d69..0ce74d004 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.h +++ b/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.h @@ -84,6 +84,7 @@ private: QString m_description; QString m_nameSpecFile; + QString m_prefix; QString m_suffix; int m_state; bool m_enabled, m_enabledStartup; diff --git a/code/nel/tools/3d/object_viewer_qt/src/main.cpp b/code/nel/tools/3d/object_viewer_qt/src/main.cpp index 7e9e05a77..d7569bda8 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/main.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/main.cpp @@ -41,6 +41,10 @@ #include #include +#ifdef HAVE_OVQT_CONFIG_H +#include "ovqt_config.h" +#endif + static const char *appNameC = "ObjectViewerQt"; // nel_qt log file name @@ -145,16 +149,16 @@ sint main(int argc, char **argv) #if defined(NL_OS_MAC) QDir::setCurrent(qApp->applicationDirPath() + QString("/../Resources")); - NLMISC::CLibrary::addLibPath((qApp->applicationDirPath() + QString("/../PlugIns/nel")).toStdString()); + NLMISC::CLibrary::addLibPath((qApp->applicationDirPath() + QString("/../PlugIns/nel")).toUtf8().constData()); #endif ExtensionSystem::PluginManager pluginManager; pluginManager.setSettings(settings); QStringList pluginPaths; -#if !defined(NL_OS_MAC) - pluginPaths << settings->value("PluginPath", "./plugins").toString(); -#else +#if defined(NL_OS_MAC) pluginPaths << settings->value("PluginPath", qApp->applicationDirPath() + QString("/../PlugIns/ovqt")).toString(); +#else + pluginPaths << settings->value("PluginPath", QString("%1/plugins").arg(DATA_DIR)).toString(); #endif pluginManager.setPluginPaths(pluginPaths); @@ -198,4 +202,4 @@ sint main(int argc, char **argv) int result = app.exec(); return result; -} \ No newline at end of file +} diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/CMakeLists.txt index 08adfb89c..2991da073 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/CMakeLists.txt @@ -44,4 +44,6 @@ NL_ADD_LIB_SUFFIX(ovqt_plugin_bnp_manager) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DQT_PLUGIN -DQT_SHARED ${QT_DEFINITIONS}) -INSTALL(TARGETS ovqt_plugin_bnp_manager LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT tools3d) +INSTALL(TARGETS ovqt_plugin_bnp_manager LIBRARY DESTINATION ${OVQT_PLUGIN_DIR} RUNTIME DESTINATION ${NL_BIN_PREFIX} ARCHIVE DESTINATION ${OVQT_PLUGIN_DIR} COMPONENT tools3d) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ovqt_plugin_bnp_manager.xml DESTINATION ${OVQT_PLUGIN_SPECS_DIR} COMPONENT tools3d) + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/bnp_filelist_dialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/bnp_filelist_dialog.cpp index 42106e864..ebeb07bd8 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/bnp_filelist_dialog.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/bnp_filelist_dialog.cpp @@ -79,7 +79,7 @@ bool BnpFileListDialog::loadTable(const QString filePath) int row = 0; // read the header from the bnp file - if (!myBNPFileHandle.readHeader( filePath.toStdString()) ) + if (!myBNPFileHandle.readHeader( filePath.toUtf8().constData()) ) { return false; } @@ -125,7 +125,7 @@ void BnpFileListDialog::getSelections(TSelectionList& SelectionList) { QVariant data = model->data(index); QString filename = data.toString(); - SelectionList.push_back( filename.toStdString() ); + SelectionList.push_back( filename.toUtf8().constData() ); } } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/bnp_manager_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/bnp_manager_window.cpp index edeb30bc4..04b4fd628 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/bnp_manager_window.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/bnp_manager/bnp_manager_window.cpp @@ -94,7 +94,7 @@ void BNPManagerWindow::createDialogs() { // create dialog to list the contents of the specified // bnp data file directory - m_BnpDirTreeDialog = new CBnpDirTreeDialog(tr(m_DataPath.toStdString().c_str()),this); + m_BnpDirTreeDialog = new CBnpDirTreeDialog(tr(m_DataPath.toUtf8().constData()),this); addDockWidget(Qt::LeftDockWidgetArea, m_BnpDirTreeDialog); m_BnpDirTreeDialog->setVisible(true); restoreDockWidget(m_BnpDirTreeDialog); @@ -187,7 +187,7 @@ void BNPManagerWindow::newFile() m_openedBNPFile = filePath; m_BnpFileListDialog->setWindowTitle (filePath); - myBNPFileHandle.createFile ( filePath.toStdString() ); + myBNPFileHandle.createFile ( filePath.toUtf8().constData() ); } // *************************************************************************** @@ -196,7 +196,7 @@ void BNPManagerWindow::open() QString fileName; // file dialog to select with file should be opened fileName = QFileDialog::getOpenFileName(this, - tr("Open BNP file"), tr(m_DataPath.toStdString().c_str()), tr("BNP Files (*.bnp)")); + tr("Open BNP file"), tr(m_DataPath.toUtf8().constData()), tr("BNP Files (*.bnp)")); // Check if filename is empty if (fileName.isNull()) @@ -234,7 +234,7 @@ void BNPManagerWindow::addFiles() QStringList::iterator it_list = FileList.begin(); while (it_list != FileList.end() ) { - string fileName = CFile::getFilename (it_list->toStdString() ); + string fileName = CFile::getFilename (it_list->toUtf8().constData() ); if ( std::find(currentFiles.begin(), currentFiles.end(), fileName ) != currentFiles.end() ) { // Ask the user if he wants to override the existing file @@ -246,7 +246,7 @@ void BNPManagerWindow::addFiles() } else { - addFiles.push_back( it_list->toStdString() ); + addFiles.push_back( it_list->toUtf8().constData() ); // log it nlinfo("Add file %s", fileName.c_str() ); } @@ -277,7 +277,7 @@ void BNPManagerWindow::addFiles( QStringList FileList ) QStringList::iterator it_list = FileList.begin(); while (it_list != FileList.end() ) { - string fileName = CFile::getFilename (it_list->toStdString() ); + string fileName = CFile::getFilename (it_list->toUtf8().constData() ); if ( std::find(currentFiles.begin(), currentFiles.end(), fileName ) != currentFiles.end() ) { // Ask the user if he wants to override the existing file @@ -289,7 +289,7 @@ void BNPManagerWindow::addFiles( QStringList FileList ) } else { - addFiles.push_back( it_list->toStdString() ); + addFiles.push_back( it_list->toUtf8().constData() ); // log it nlinfo("Add file %s", fileName.c_str() ); } @@ -346,7 +346,7 @@ void BNPManagerWindow::unpackFiles() } QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"), - tr(m_DataPath.toStdString().c_str()), + tr(m_DataPath.toUtf8().constData()), QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); @@ -354,7 +354,7 @@ void BNPManagerWindow::unpackFiles() if ( dir.isEmpty() ) return; - if (myBNPFileHandle.unpack(dir.toStdString(),selectedrows)) + if (myBNPFileHandle.unpack(dir.toUtf8().constData(),selectedrows)) { QMessageBox::information(this, tr("BNP Manager"), tr("All files has been exported successfully."), @@ -426,7 +426,7 @@ void BNPManagerWindow::dropEvent(QDropEvent *event) filePath = it->toLocalFile(); if ( filePath.endsWith(".bnp") ) { - nlwarning("Could not add a bnp file!", filePath.toStdString().c_str() ); + nlwarning("Could not add bnp file %s!", filePath.toUtf8().constData() ); } else { diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/CMakeLists.txt index 77f3562e6..17172c488 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/CMakeLists.txt @@ -55,4 +55,19 @@ NL_ADD_LIB_SUFFIX(ovqt_plugin_core) ADD_DEFINITIONS(-DCORE_LIBRARY ${LIBXML2_DEFINITIONS} -DQT_PLUGIN -DQT_SHARED ${QT_DEFINITIONS}) -INSTALL(TARGETS ovqt_plugin_core LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT tools3d) +IF(WIN32) + IF(WITH_INSTALL_LIBRARIES) + INSTALL(TARGETS ovqt_plugin_core LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} RUNTIME DESTINATION ${OVQT_PLUGIN_DIR} COMPONENT tools3d) + ELSE(WITH_INSTALL_LIBRARIES) + INSTALL(TARGETS ovqt_plugin_core LIBRARY DESTINATION ${NL_LIB_PREFIX} RUNTIME DESTINATION ${OVQT_PLUGIN_DIR} COMPONENT tools3d) + ENDIF(WITH_INSTALL_LIBRARIES) +ELSE(WIN32) + IF(WITH_INSTALL_LIBRARIES) + INSTALL(TARGETS ovqt_plugin_core LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) + ELSE(WITH_INSTALL_LIBRARIES) + INSTALL(TARGETS ovqt_plugin_core LIBRARY DESTINATION ${NL_LIB_PREFIX} RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) + ENDIF(WITH_INSTALL_LIBRARIES) +ENDIF(WIN32) + +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ovqt_plugin_core.xml DESTINATION ${OVQT_PLUGIN_SPECS_DIR} COMPONENT tools3d) + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/context_manager.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/context_manager.cpp index d82cdb63b..d1aa6cb14 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/context_manager.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/context_manager.cpp @@ -78,16 +78,16 @@ Core::IContext *ContextManager::context(const QString &id) const return 0; } -void ContextManager::registerUndoStack(QUndoStack *stack) -{ - nlassert(stack); - d->m_mainWindow->undoGroup()->addStack(stack); -} - +void ContextManager::registerUndoStack(QUndoStack *stack) +{ + nlassert(stack); + d->m_mainWindow->undoGroup()->addStack(stack); +} + void ContextManager::unregisterUndoStack(QUndoStack *stack) { - nlassert(stack); - d->m_mainWindow->undoGroup()->removeStack(stack); + nlassert(stack); + d->m_mainWindow->undoGroup()->removeStack(stack); } void ContextManager::activateContext(const QString &id) @@ -160,7 +160,7 @@ int ContextManager::indexOf(const QString &id) const if (d->m_contexts.at(i)->id() == id) return i; } - nlwarning(QString("Warning, no such context: %1").arg(id).toStdString().c_str()); + nlwarning(QString("Warning, no such context: %1").arg(id).toUtf8().constData()); return -1; } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/general_settings_page.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/general_settings_page.cpp index 9031fcb9f..bfbb06d66 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/general_settings_page.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/general_settings_page.cpp @@ -31,6 +31,10 @@ #include #include +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + namespace Core { @@ -83,15 +87,22 @@ void GeneralSettingsPage::applyGeneralSettings() QApplication::setPalette(m_originalPalette); settings->endGroup(); + QString levelDesignPrefix; +#if defined(_DEBUG) && defined(NL_OS_WINDOWS) + levelDesignPrefix = "l:"; +#else + levelDesignPrefix = QString("%1/data_leveldesign").arg(RYZOM_SHARE_PREFIX); +#endif + // Add primitives path and ligo config file to CPath settings->beginGroup(Core::Constants::DATA_PATH_SECTION); - QString primitivePath = settings->value(Core::Constants::PRIMITIVES_PATH, "l:/primitives").toString(); - QString ligoConfigFile = settings->value(Core::Constants::LIGOCONFIG_FILE, "l:/leveldesign/world_editor_files/world_editor_classes.xml").toString(); - QString leveldesignPath = settings->value(Core::Constants::LEVELDESIGN_PATH, "l:/leveldesign").toString(); - NLMISC::CPath::addSearchPath(primitivePath.toStdString(), true, false); + QString primitivePath = settings->value(Core::Constants::PRIMITIVES_PATH, QString("%1/primitives").arg(levelDesignPrefix)).toString(); + QString ligoConfigFile = settings->value(Core::Constants::LIGOCONFIG_FILE, QString("%1/leveldesign/world_editor_files/world_editor_classes.xml").arg(levelDesignPrefix)).toString(); + QString leveldesignPath = settings->value(Core::Constants::LEVELDESIGN_PATH, QString("%1/leveldesign").arg(levelDesignPrefix)).toString(); + NLMISC::CPath::addSearchPath(primitivePath.toUtf8().constData(), true, false); NLMISC::CPath::display(); - NLMISC::CPath::addSearchFile(ligoConfigFile.toStdString()); - NLMISC::CPath::addSearchPath(leveldesignPath.toStdString(), true, false); + NLMISC::CPath::addSearchFile(ligoConfigFile.toUtf8().constData()); + NLMISC::CPath::addSearchPath(leveldesignPath.toUtf8().constData(), true, false); settings->endGroup(); } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/menu_manager.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/menu_manager.cpp index 68a8e3080..3e6272f0a 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/menu_manager.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/menu_manager.cpp @@ -62,7 +62,7 @@ QMenu *MenuManager::menu(const QString &id) const { QMenu *result = 0; if (!d->m_menuMap.contains(id)) - nlwarning("QMenu %s not found", id.toStdString().c_str()); + nlwarning("QMenu %s not found", id.toUtf8().constData()); else result = d->m_menuMap.value(id); return result; @@ -72,7 +72,7 @@ QAction *MenuManager::action(const QString &id) const { QAction *result = 0; if (!d->m_actionMap.contains(id)) - nlwarning("QAction %s not found", id.toStdString().c_str()); + nlwarning("QAction %s not found", id.toUtf8().constData()); else result = d->m_actionMap.value(id); return result; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.cpp index 1a2ac3eef..e76d6c796 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.cpp @@ -116,11 +116,11 @@ void SearchPathsSettingsPage::applySearchPaths() settings->endGroup(); for (int i = 1; i < remapExt.size(); i += 2) - NLMISC::CPath::remapExtension(remapExt.at(i - 1).toStdString(), remapExt.at(i).toStdString(), true); + NLMISC::CPath::remapExtension(remapExt.at(i - 1).toUtf8().constData(), remapExt.at(i).toUtf8().constData(), true); Q_FOREACH(QString path, paths) { - NLMISC::CPath::addSearchPath(path.toStdString(), m_recurse, false); + NLMISC::CPath::addSearchPath(path.toUtf8().constData(), m_recurse, false); } } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/CMakeLists.txt index 790af3ef6..f7bb49daf 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/CMakeLists.txt @@ -40,4 +40,6 @@ NL_ADD_LIB_SUFFIX(ovqt_plugin_disp_sheet_id) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DQT_PLUGIN -DQT_SHARED ${QT_DEFINITIONS}) -INSTALL(TARGETS ovqt_plugin_disp_sheet_id LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT tools3d) \ No newline at end of file +INSTALL(TARGETS ovqt_plugin_disp_sheet_id LIBRARY DESTINATION ${OVQT_PLUGIN_DIR} RUNTIME DESTINATION ${NL_BIN_PREFIX} ARCHIVE DESTINATION ${OVQT_PLUGIN_DIR} COMPONENT tools3d) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ovqt_plugin_disp_sheet_id.xml DESTINATION ${OVQT_PLUGIN_SPECS_DIR} COMPONENT tools3d) + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/CMakeLists.txt index f34309a74..4b24a0363 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/CMakeLists.txt @@ -38,4 +38,6 @@ NL_ADD_LIB_SUFFIX(ovqt_plugin_example) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DQT_PLUGIN -DQT_SHARED ${QT_DEFINITIONS}) -INSTALL(TARGETS ovqt_plugin_example LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT tools3d) +INSTALL(TARGETS ovqt_plugin_example LIBRARY DESTINATION ${OVQT_PLUGIN_DIR} RUNTIME DESTINATION ${NL_BIN_PREFIX} ARCHIVE DESTINATION ${OVQT_PLUGIN_DIR} COMPONENT tools3d) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ovqt_plugin_example.xml DESTINATION ${OVQT_PLUGIN_SPECS_DIR} COMPONENT tools3d) + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/qnel_widget.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/qnel_widget.cpp index 4872923db..d512521f7 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/qnel_widget.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/qnel_widget.cpp @@ -60,7 +60,7 @@ QNLWidget::~QNLWidget() void QNLWidget::init() { // create the driver - m_driver = NL3D::UDriver::createDriver(NULL, false, NULL); + m_driver = NL3D::UDriver::createDriver(0, false); nlassert(m_driver); // initialize the nel 3d viewport diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/CMakeLists.txt index 3661decef..514657535 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/CMakeLists.txt @@ -44,4 +44,6 @@ NL_ADD_LIB_SUFFIX(ovqt_plugin_georges_editor) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DQT_PLUGIN -DQT_SHARED ${QT_DEFINITIONS}) -INSTALL(TARGETS ovqt_plugin_georges_editor LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT tools3d) +INSTALL(TARGETS ovqt_plugin_georges_editor LIBRARY DESTINATION ${OVQT_PLUGIN_DIR} RUNTIME DESTINATION ${NL_BIN_PREFIX} ARCHIVE DESTINATION ${OVQT_PLUGIN_DIR} COMPONENT tools3d) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ovqt_plugin_georges_editor.xml DESTINATION ${OVQT_PLUGIN_SPECS_DIR} COMPONENT tools3d) + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/formdelegate.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/formdelegate.cpp index 7f21fa072..7cbfe9616 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/formdelegate.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/formdelegate.cpp @@ -95,7 +95,7 @@ namespace GeorgesQt //QString min = QString(type->getMin().c_str()); //QString max = QString(type->getMax().c_str()); //QString inc = QString(type->getIncrement().c_str()); - //nldebug(QString("min %1 max %2 inc %3").arg(min).arg(max).arg(inc).toStdString().c_str()); + //nldebug(QString("min %1 max %2 inc %3").arg(min).arg(max).arg(inc).toUtf8().constData()); // TODO: use saved min/max values editor->setMinimum(-99999); @@ -110,7 +110,7 @@ namespace GeorgesQt //QString min = QString(type->getMin().c_str()); //QString max = QString(type->getMax().c_str()); //QString inc = QString(type->getIncrement().c_str()); - //nldebug(QString("min %1 max %2 inc %3").arg(min).arg(max).arg(inc).toStdString().c_str()); + //nldebug(QString("min %1 max %2 inc %3").arg(min).arg(max).arg(inc).toUtf8().constData()); // TODO: use saved min/max values editor->setMinimum(-99999); @@ -201,7 +201,7 @@ namespace GeorgesQt else { nldebug(QString("setModelData from %1 to %2") - .arg(oldValue).arg(value).toStdString().c_str()); + .arg(oldValue).arg(value).toUtf8().constData()); model->setData(index, value, Qt::EditRole); } } @@ -222,7 +222,7 @@ namespace GeorgesQt else { nldebug(QString("setModelData from %1 to %2") - .arg(oldValue).arg(value).toStdString().c_str()); + .arg(oldValue).arg(value).toUtf8().constData()); model->setData(index, value, Qt::EditRole); } break; @@ -239,7 +239,7 @@ namespace GeorgesQt else { nldebug(QString("setModelData from %1 to %2") - .arg(oldValue).arg(value).toStdString().c_str()); + .arg(oldValue).arg(value).toUtf8().constData()); model->setData(index, value, Qt::EditRole); } break; @@ -260,7 +260,7 @@ namespace GeorgesQt else { nldebug(QString("setModelData from %1 to %2") - .arg(oldValue).arg(value).toStdString().c_str()); + .arg(oldValue).arg(value).toUtf8().constData()); model->setData(index, value, Qt::EditRole); } break; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/formitem.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/formitem.cpp index e6e526631..950825e71 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/formitem.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/formitem.cpp @@ -118,10 +118,10 @@ namespace GeorgesQt { if (elmt->isAtom()) { - ((NLGEORGES::CFormElmAtom*)elmt)->setValue(value.toString().toStdString().c_str()); + ((NLGEORGES::CFormElmAtom*)elmt)->setValue(value.toString().toUtf8().constData()); nldebug(QString("array element string %1 %2") .arg(itemData[0].toString()).arg(value.toString()) - .toStdString().c_str()); + .toUtf8().constData()); } } } @@ -129,18 +129,18 @@ namespace GeorgesQt else { if(parentItem->formElm->setValueByName( - value.toString().toStdString().c_str(), - itemData[0].toString().toStdString().c_str())) + value.toString().toUtf8().constData(), + itemData[0].toString().toUtf8().constData())) { nldebug(QString("string %1 %2") .arg(itemData[0].toString()).arg(value.toString()) - .toStdString().c_str()); + .toUtf8().constData()); } else { nldebug(QString("FAILED string %1 %2") .arg(itemData[0].toString()).arg(value.toString()) - .toStdString().c_str()); + .toUtf8().constData()); } } break; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_form.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_form.cpp index a36f411e0..5a3f5a625 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_form.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_form.cpp @@ -253,7 +253,7 @@ namespace GeorgesQt } else { - nlwarning("Failed to load form: %s", info.fileName().toStdString().c_str()); + nlwarning("Failed to load form: %s", info.fileName().toUtf8().constData()); m_dockedWidgets.last()->close(); } } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_treeview_dialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_treeview_dialog.cpp index 3bdc680ff..2fe19ad02 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_treeview_dialog.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_treeview_dialog.cpp @@ -117,30 +117,30 @@ namespace GeorgesQt NLGEORGES::CForm* CGeorgesTreeViewDialog::getFormByName(const QString formName) { - if(NLMISC::CPath::exists(formName.toStdString())) + if(NLMISC::CPath::exists(formName.toUtf8().constData())) { - //NLGEORGES::CForm *form = dynamic_cast(m_georges->loadForm(formName.toStdString())); - return (NLGEORGES::CForm *)m_georges->loadForm(formName.toStdString()); + //NLGEORGES::CForm *form = dynamic_cast(m_georges->loadForm(formName.toUtf8())); + return (NLGEORGES::CForm *)m_georges->loadForm(formName.toUtf8().constData()); } //else //{ // CForm *form = 0; // // Load the DFN - // std::string extStr = NLMISC::CFile::getExtension( formName.toStdString() ); + // std::string extStr = NLMISC::CFile::getExtension( formName.toUtf8() ); // QString dfnName = QString("%1.dfn").arg(extStr.c_str()); // UFormDfn *formdfn; - // if (NLMISC::CPath::exists(dfnName.toStdString())) + // if (NLMISC::CPath::exists(dfnName.toUtf8())) // { - // formdfn = _georges->loadFormDfn (dfnName.toStdString()); + // formdfn = _georges->loadFormDfn (dfnName.toUtf8()); // if (!formdfn) // { - // nlwarning("Failed to load dfn: %s", dfnName.toStdString().c_str()); + // nlwarning("Failed to load dfn: %s", dfnName.toUtf8()); // return 0; // } // } // else // { - // nlwarning("Cannot find dfn: %s", dfnName.toStdString().c_str()); + // nlwarning("Cannot find dfn: %s", dfnName.toUtf8()); // return 0; // } @@ -156,20 +156,20 @@ namespace GeorgesQt // } // return form; //} - nlinfo("File '%s' does not exist!", formName.toStdString().c_str()); + nlinfo("File '%s' does not exist!", formName.toUtf8().constData()); return 0; } NLGEORGES::CForm* CGeorgesTreeViewDialog::getFormByDfnName(const QString dfnName) { - if(NLMISC::CPath::exists(dfnName.toStdString())) + if(NLMISC::CPath::exists(dfnName.toUtf8().constData())) { // Create a new form object. NLGEORGES::CForm *form = new NLGEORGES::CForm(); m_form = form; // Retrieve a copy of the root definition. - NLGEORGES::CFormDfn *formDfn = dynamic_cast(m_georges->loadFormDfn(dfnName.toStdString())); + NLGEORGES::CFormDfn *formDfn = dynamic_cast(m_georges->loadFormDfn(dfnName.toUtf8().constData())); // Next we'll use the root node to build a new form. NLGEORGES::CFormElmStruct *fes = dynamic_cast(getRootNode(0)); @@ -184,7 +184,7 @@ namespace GeorgesQt return form; } - nlinfo("File '%s' does not exist!", dfnName.toStdString().c_str()); + nlinfo("File '%s' does not exist!", dfnName.toUtf8().constData()); return NULL; } @@ -250,7 +250,7 @@ namespace GeorgesQt nlinfo("typ's %d",deps["typ"].count()); nlinfo("dfn's %d",deps["dfn"].count()); - //nlwarning(strList.join(";").toStdString().c_str()); + //nlwarning(strList.join(";").toUtf8()); if (root) { loadedForm = m_form->getFilename().c_str(); @@ -277,7 +277,7 @@ namespace GeorgesQt void CGeorgesTreeViewDialog::addParentForm(QString parentFormNm) { // Try to load the form - NLGEORGES::UForm *uParentForm = m_georges->loadForm(parentFormNm.toStdString()); + NLGEORGES::UForm *uParentForm = m_georges->loadForm(parentFormNm.toUtf8().constData()); NLGEORGES::CForm *parentForm = dynamic_cast(uParentForm); NLGEORGES::CForm *mainForm = static_cast(m_form); @@ -292,11 +292,11 @@ namespace GeorgesQt if (parentForm->Elements.FormDfn == mainForm->Elements.FormDfn) { // This is the parent form selector - if(!mainForm->insertParent(mainForm->getParentCount(),parentFormNm.toStdString().c_str(), parentForm)) - nlwarning("Failed to add parent form: %s", parentFormNm.toStdString().c_str()); + if(!mainForm->insertParent(mainForm->getParentCount(),parentFormNm.toUtf8(), parentForm)) + nlwarning("Failed to add parent form: %s", parentFormNm.toUtf8().constData()); else { - nlinfo("Successfullyadded parent form: %s", parentFormNm.toStdString().c_str()); + nlinfo("Successfullyadded parent form: %s", parentFormNm.toUtf8().constData()); model->addParentForm(parentFormNm); } } @@ -318,7 +318,7 @@ namespace GeorgesQt { NLMISC::COFile file; - std::string s = NLMISC::CPath::lookup(loadedForm.toStdString(), false); + std::string s = NLMISC::CPath::lookup(loadedForm.toUtf8().constData(), false); if(file.open (s)) { try @@ -406,7 +406,7 @@ namespace GeorgesQt if (item->parent() && item->parent()->data(0) == "parents") { - Q_EMIT changeFile(CPath::lookup(item->data(0).toString().toStdString(),false).c_str()); + Q_EMIT changeFile(CPath::lookup(item->data(0).toString().toUtf8().constData(),false).c_str()); } //// col containing additional stuff like icons @@ -416,7 +416,7 @@ namespace GeorgesQt // CFormItem *item = m->getItem(in2); // QString value = item->data(1).toString(); - // QString path = CPath::lookup(value.toStdString(),false).c_str(); + // QString path = CPath::lookup(value.toUtf8(),false).c_str(); // if(value.contains(".tga") || value.contains(".png")) // { @@ -444,7 +444,7 @@ namespace GeorgesQt // { // Modules::objViewInt()->resetScene(); // //Modules::config().configRemapExtensions(); - // Modules::objViewInt()->loadMesh(path.toStdString(),""); + // Modules::objViewInt()->loadMesh(path.toUtf8(),""); // } // return; // } @@ -551,7 +551,7 @@ namespace GeorgesQt file = file.remove(0,file.indexOf(".")+1); QString filePattern = "Parent Sheets (*."+file+")"; - nlinfo("parent defn name '%s'", file.toStdString().c_str()); + nlinfo("parent defn name '%s'", file.toUtf8().constData()); QStringList fileNames = QFileDialog::getOpenFileNames(this, tr("Select parent sheets..."), m_lastSheetDir, filePattern); if(!fileNames.isEmpty()) { @@ -561,7 +561,7 @@ namespace GeorgesQt QFileInfo pathInfo( fileToParent ); QString tmpFileName( pathInfo.fileName() ); - nlinfo("requesting to add parent form '%s'", tmpFileName.toStdString().c_str()); + nlinfo("requesting to add parent form '%s'", tmpFileName.toUtf8().constData()); // Call to add the form and load it into the Georges form. addParentForm(tmpFileName); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georgesform_model.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georgesform_model.cpp index 9e3f97c48..83548c7d3 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georgesform_model.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georgesform_model.cpp @@ -140,13 +140,13 @@ namespace GeorgesQt CFormItem *item = getItem(in); QString value = item->data(1).toString(); - //QString path = NLMISC::CPath::lookup(value.toStdString(),false).c_str(); + //QString path = NLMISC::CPath::lookup(value.toUtf8().constData(),false).c_str(); /*if (value.contains(".shape")) { if (Modules::objViewInt()) { - QIcon *icon = Modules::objViewInt()->saveOneImage(value.toStdString()); + QIcon *icon = Modules::objViewInt()->saveOneImage(value.toUtf8().constData()); if (icon) { if(icon->isNull()) @@ -162,7 +162,7 @@ namespace GeorgesQt }*/ if(value.contains(".tga") || value.contains(".png")) { - QString path = NLMISC::CPath::lookup(value.toStdString(),false).c_str(); + QString path = NLMISC::CPath::lookup(value.toUtf8().constData(),false).c_str(); if(path.isEmpty()) { path = ":/images/pqrticles.png"; @@ -185,7 +185,7 @@ namespace GeorgesQt { if (Modules::objViewInt()) { - QIcon *icon = Modules::objViewInt()->saveOneImage(value.toStdString()); + QIcon *icon = Modules::objViewInt()->saveOneImage(value.toUtf8().constData()); if (icon) { if(icon->isNull()) @@ -201,7 +201,7 @@ namespace GeorgesQt }*/ if(value.contains(".tga") || value.contains(".png")) { - QString path = NLMISC::CPath::lookup(value.toStdString(),false).c_str(); + QString path = NLMISC::CPath::lookup(value.toUtf8().constData(),false).c_str(); if(path.isEmpty()) { path = ":/images/pqrticles.png"; @@ -428,13 +428,13 @@ namespace GeorgesQt switch (type->getType()) { case UType::UnsignedInt: - value = QString("%1").arg(QString("%1").arg(value.c_str()).toDouble()).toStdString(); + value = QString("%1").arg(QString("%1").arg(value.c_str()).toDouble()).toUtf8(); elmtType.append("_uint");break; case UType::SignedInt: - value = QString("%1").arg(QString("%1").arg(value.c_str()).toDouble()).toStdString(); + value = QString("%1").arg(QString("%1").arg(value.c_str()).toDouble()).toUtf8(); elmtType.append("_sint");break; case UType::Double: - value = QString("%1").arg(QString("%1").arg(value.c_str()).toDouble(),0,'f',1).toStdString(); + value = QString("%1").arg(QString("%1").arg(value.c_str()).toDouble(),0,'f',1).toUtf8(); elmtType.append("_double");break; case UType::String: elmtType.append("_string");break; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/landscape_editor/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/landscape_editor/CMakeLists.txt index c7450586e..dc7a8a541 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/landscape_editor/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/landscape_editor/CMakeLists.txt @@ -45,4 +45,6 @@ NL_ADD_LIB_SUFFIX(ovqt_plugin_landscape_editor) ADD_DEFINITIONS(-DLANDSCAPE_EDITOR_LIBRARY ${LIBXML2_DEFINITIONS} -DQT_PLUGIN -DQT_SHARED ${QT_DEFINITIONS}) -INSTALL(TARGETS ovqt_plugin_landscape_editor LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT tools3d) +INSTALL(TARGETS ovqt_plugin_landscape_editor LIBRARY DESTINATION ${OVQT_PLUGIN_DIR} RUNTIME DESTINATION ${NL_BIN_PREFIX} ARCHIVE DESTINATION ${OVQT_PLUGIN_DIR} COMPONENT tools3d) +#INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ovqt_plugin_landscape_editor.xml DESTINATION ${OVQT_PLUGIN_SPECS_DIR} COMPONENT tools3d) + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/log/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/log/CMakeLists.txt index 31569ae6b..1e0511a1c 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/log/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/log/CMakeLists.txt @@ -36,4 +36,6 @@ NL_ADD_LIB_SUFFIX(ovqt_plugin_log) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DQT_PLUGIN -DQT_SHARED ${QT_DEFINITIONS}) -INSTALL(TARGETS ovqt_plugin_log LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT tools3d) +INSTALL(TARGETS ovqt_plugin_log LIBRARY DESTINATION ${OVQT_PLUGIN_DIR} RUNTIME DESTINATION ${NL_BIN_PREFIX} ARCHIVE DESTINATION ${OVQT_PLUGIN_DIR} COMPONENT tools3d) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ovqt_plugin_log.xml DESTINATION ${OVQT_PLUGIN_SPECS_DIR} COMPONENT tools3d) + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/CMakeLists.txt index ac262ad56..03f1a6a2f 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/CMakeLists.txt @@ -46,4 +46,6 @@ NL_ADD_LIB_SUFFIX(ovqt_plugin_mission_compiler) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DQT_PLUGIN -DQT_SHARED ${QT_DEFINITIONS}) -INSTALL(TARGETS ovqt_plugin_mission_compiler LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT tools3d) +INSTALL(TARGETS ovqt_plugin_mission_compiler LIBRARY DESTINATION ${OVQT_PLUGIN_DIR} RUNTIME DESTINATION ${NL_BIN_PREFIX} ARCHIVE DESTINATION ${OVQT_PLUGIN_DIR} COMPONENT tools3d) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ovqt_plugin_mission_compiler.xml DESTINATION ${OVQT_PLUGIN_SPECS_DIR} COMPONENT tools3d) + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_main_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_main_window.cpp index 9a3f4fe61..e01f5f617 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_main_window.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_main_window.cpp @@ -239,11 +239,11 @@ void MissionCompilerMainWindow::compileMission(bool publish) try { CMissionCompiler mc; - mc.compileMissions(primDoc.RootNode, filename.toStdString()); + mc.compileMissions(primDoc.RootNode, filename.toUtf8().constData()); m_compileLog.append("Found "+QString::number(mc.getMissionsCount())+" valid missions\n"); updateCompileLog(); - mc.installCompiledMission(m_ligoConfig, filename.toStdString()); + mc.installCompiledMission(m_ligoConfig, filename.toUtf8().constData()); nbMission += mc.getMissionsCount(); // publish files to selected servers @@ -296,7 +296,7 @@ void MissionCompilerMainWindow::compileMission(bool publish) { m_compileLog.append(" "+QString(NLMISC::CFile::getFilename(mc.getFileToPublish(j)).c_str())+"\n"); } - mc.publishFiles(primPath.toStdString(), textPath.toStdString(), localPath.toStdString()); + mc.publishFiles(primPath.toUtf8().constData(), textPath.toUtf8().constData(), localPath.toUtf8().constData()); } column++; @@ -381,7 +381,7 @@ bool MissionCompilerMainWindow::parsePrimForMissions(NLLIGO::IPrimitive const *p { std::string value; // if the node is a mission parse it - if (prim->getPropertyByName("class",value) && !NLMISC::stricmp(value.c_str(),"mission") ) + if (prim->getPropertyByName("class",value) && !NLMISC::nlstricmp(value.c_str(),"mission") ) { std::string name; prim->getPropertyByName("name",name); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/CMakeLists.txt index 7f084fbb1..b5af7f1e9 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/CMakeLists.txt @@ -1,166 +1,168 @@ -INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} - ${LIBXML2_INCLUDE_DIR} - ${QT_INCLUDES}) - -FILE(GLOB SRC *.cpp *.h) - -SET(OVQT_EXT_SYS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin_manager.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin_spec.h) - -SET(OBJECT_VIEWER_PLUGIN_HDR object_viewer_plugin.h - main_window.h - graphics_viewport.h - animation_dialog.h - animation_set_dialog.h - setup_fog_dialog.h - slot_manager_dialog.h - particle_control_dialog.h - particle_workspace_dialog.h - particle_tree_model.h - particle_system_page.h - particle_workspace_page.h - edit_range_widget.h - emitter_page.h - attrib_widget.h - located_bindable_page.h - located_page.h - particle_force_page.h - particle_light_page.h - particle_zone_page.h - particle_sound_page.h - basic_edit_widget.h - direction_widget.h - color_edit_widget.h - particle_property_dialog.h - ps_mover_page.h - value_blender_dialog.h - value_gradient_dialog.h - value_from_emitter_dialog.h - curve_dialog.h - bin_op_dialog.h - hoverpoints.h - mesh_widget.h - morph_mesh_dialog.h - constraint_mesh_widget.h - tail_particle_widget.h - auto_lod_dialog.h - particle_texture_widget.h - particle_texture_anim_widget.h - multi_tex_dialog.h - spinner_dialog.h - follow_path_dialog.h - water_pool_dialog.h - skeleton_scale_dialog.h - skeleton_tree_model.h - particle_link_skeleton_dialog.h - vegetable_dialog.h - global_wind_dialog.h - day_night_dialog.h - sun_color_dialog.h - vegetable_noise_value_widget.h - vegetable_density_page.h - vegetable_landscape_page.h - vegetable_scale_page.h - vegetable_appearance_page.h - vegetable_rotate_page.h - tune_mrm_dialog.h - tune_timer_dialog.h - camera_control.h - graphics_settings_page.h - sound_settings_page.h - vegetable_settings_page.h - scheme_bank_dialog.h) - -SET(OBJECT_VIEWER_PLUGIN_UIS animation_form.ui - animation_set_form.ui - setup_fog_form.ui - slot_form.ui - particle_control_form.ui - particle_workspace_form.ui - edit_range_float_form.ui - edit_range_uint_form.ui - particle_system_form.ui - workspace_form.ui - attrib_form.ui - emitter_form.ui - located_bindable_form.ui - located_form.ui - particle_force_form.ui - particle_light_form.ui - particle_zone_form.ui - particle_sound_form.ui - basic_edit_form.ui - direction_form.ui - color_edit_form.ui - ps_mover_form.ui - curve_form.ui - mesh_form.ui - morph_mesh_form.ui - constraint_mesh_form.ui - tail_form.ui - auto_lod_form.ui - particle_texture_form.ui - particle_texture_anim_form.ui - multi_tex_form.ui - skeleton_scale_form.ui - particle_link_skeleton_form.ui - water_pool_form.ui - vegetable_dialog_form.ui - vegetable_noise_value_form.ui - global_wind_form.ui - sun_color_form.ui - day_night_form.ui - vegetable_density_form.ui - vegetable_apperance_form.ui - vegetable_landscape_form.ui - vegetable_rotate_form.ui - vegetable_scale_form.ui - tune_mrm_form.ui - tune_timer_form.ui - graphics_settings_page.ui - sound_settings_page.ui - vegetable_settings_page.ui - scheme_bank_form.ui - value_gradient_form.ui) - -SET(OBJECT_VIEWER_PLUGIN_RCS object_viewer.qrc) - -SET(QT_USE_QTGUI TRUE) -SET(QT_USE_QTOPENGL TRUE) - -QT4_ADD_RESOURCES(OBJECT_VIEWER_PLUGIN_RC_SRCS ${OBJECT_VIEWER_PLUGIN_RCS}) -QT4_WRAP_CPP(OBJECT_VIEWER_PLUGIN_MOC_SRC ${OBJECT_VIEWER_PLUGIN_HDR}) -QT4_WRAP_UI(OBJECT_VIEWER_PLUGIN_UI_HDRS ${OBJECT_VIEWER_PLUGIN_UIS}) - -SOURCE_GROUP(QtResources FILES ${OBJECT_VIEWER_PLUGIN_UIS}) -SOURCE_GROUP(QtGeneratedUiHdr FILES ${OBJECT_VIEWER_PLUGIN_UI_HDRS}) -SOURCE_GROUP(QtGeneratedMocSrc FILES ${OBJECT_VIEWER_PLUGIN_MOC_SRC}) -SOURCE_GROUP("Object Viewer Plugin" FILES ${SRC}) -SOURCE_GROUP("OVQT Extension System" FILES ${OVQT_EXT_SYS_SRC}) - -ADD_LIBRARY(ovqt_plugin_object_viewer MODULE ${SRC} ${OBJECT_VIEWER_PLUGIN_MOC_SRC} ${OVQT_EXT_SYS_SRC} ${OBJECT_VIEWER_PLUGIN_UI_HDRS} ${OBJECT_VIEWER_PLUGIN_RC_SRCS}) - -TARGET_LINK_LIBRARIES(ovqt_plugin_object_viewer - ovqt_plugin_core - nelmisc - nel3d - nelsound - nelligo - nelgeorges - ${QT_LIBRARIES} - ${QT_QTOPENGL_LIBRARY}) - -NL_DEFAULT_PROPS(ovqt_plugin_object_viewer "NeL, Tools, 3D: Object Viewer Qt Plugin: Object Viewer") - +INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} + ${LIBXML2_INCLUDE_DIR} + ${QT_INCLUDES}) + +FILE(GLOB SRC *.cpp *.h) + +SET(OVQT_EXT_SYS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin.h + ${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin_manager.h + ${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin_spec.h) + +SET(OBJECT_VIEWER_PLUGIN_HDR object_viewer_plugin.h + main_window.h + graphics_viewport.h + animation_dialog.h + animation_set_dialog.h + setup_fog_dialog.h + slot_manager_dialog.h + particle_control_dialog.h + particle_workspace_dialog.h + particle_tree_model.h + particle_system_page.h + particle_workspace_page.h + edit_range_widget.h + emitter_page.h + attrib_widget.h + located_bindable_page.h + located_page.h + particle_force_page.h + particle_light_page.h + particle_zone_page.h + particle_sound_page.h + basic_edit_widget.h + direction_widget.h + color_edit_widget.h + particle_property_dialog.h + ps_mover_page.h + value_blender_dialog.h + value_gradient_dialog.h + value_from_emitter_dialog.h + curve_dialog.h + bin_op_dialog.h + hoverpoints.h + mesh_widget.h + morph_mesh_dialog.h + constraint_mesh_widget.h + tail_particle_widget.h + auto_lod_dialog.h + particle_texture_widget.h + particle_texture_anim_widget.h + multi_tex_dialog.h + spinner_dialog.h + follow_path_dialog.h + water_pool_dialog.h + skeleton_scale_dialog.h + skeleton_tree_model.h + particle_link_skeleton_dialog.h + vegetable_dialog.h + global_wind_dialog.h + day_night_dialog.h + sun_color_dialog.h + vegetable_noise_value_widget.h + vegetable_density_page.h + vegetable_landscape_page.h + vegetable_scale_page.h + vegetable_appearance_page.h + vegetable_rotate_page.h + tune_mrm_dialog.h + tune_timer_dialog.h + camera_control.h + graphics_settings_page.h + sound_settings_page.h + vegetable_settings_page.h + scheme_bank_dialog.h) + +SET(OBJECT_VIEWER_PLUGIN_UIS animation_form.ui + animation_set_form.ui + setup_fog_form.ui + slot_form.ui + particle_control_form.ui + particle_workspace_form.ui + edit_range_float_form.ui + edit_range_uint_form.ui + particle_system_form.ui + workspace_form.ui + attrib_form.ui + emitter_form.ui + located_bindable_form.ui + located_form.ui + particle_force_form.ui + particle_light_form.ui + particle_zone_form.ui + particle_sound_form.ui + basic_edit_form.ui + direction_form.ui + color_edit_form.ui + ps_mover_form.ui + curve_form.ui + mesh_form.ui + morph_mesh_form.ui + constraint_mesh_form.ui + tail_form.ui + auto_lod_form.ui + particle_texture_form.ui + particle_texture_anim_form.ui + multi_tex_form.ui + skeleton_scale_form.ui + particle_link_skeleton_form.ui + water_pool_form.ui + vegetable_dialog_form.ui + vegetable_noise_value_form.ui + global_wind_form.ui + sun_color_form.ui + day_night_form.ui + vegetable_density_form.ui + vegetable_apperance_form.ui + vegetable_landscape_form.ui + vegetable_rotate_form.ui + vegetable_scale_form.ui + tune_mrm_form.ui + tune_timer_form.ui + graphics_settings_page.ui + sound_settings_page.ui + vegetable_settings_page.ui + scheme_bank_form.ui + value_gradient_form.ui) + +SET(OBJECT_VIEWER_PLUGIN_RCS object_viewer.qrc) + +SET(QT_USE_QTGUI TRUE) +SET(QT_USE_QTOPENGL TRUE) + +QT4_ADD_RESOURCES(OBJECT_VIEWER_PLUGIN_RC_SRCS ${OBJECT_VIEWER_PLUGIN_RCS}) +QT4_WRAP_CPP(OBJECT_VIEWER_PLUGIN_MOC_SRC ${OBJECT_VIEWER_PLUGIN_HDR}) +QT4_WRAP_UI(OBJECT_VIEWER_PLUGIN_UI_HDRS ${OBJECT_VIEWER_PLUGIN_UIS}) + +SOURCE_GROUP(QtResources FILES ${OBJECT_VIEWER_PLUGIN_UIS}) +SOURCE_GROUP(QtGeneratedUiHdr FILES ${OBJECT_VIEWER_PLUGIN_UI_HDRS}) +SOURCE_GROUP(QtGeneratedMocSrc FILES ${OBJECT_VIEWER_PLUGIN_MOC_SRC}) +SOURCE_GROUP("Object Viewer Plugin" FILES ${SRC}) +SOURCE_GROUP("OVQT Extension System" FILES ${OVQT_EXT_SYS_SRC}) + +ADD_LIBRARY(ovqt_plugin_object_viewer MODULE ${SRC} ${OBJECT_VIEWER_PLUGIN_MOC_SRC} ${OVQT_EXT_SYS_SRC} ${OBJECT_VIEWER_PLUGIN_UI_HDRS} ${OBJECT_VIEWER_PLUGIN_RC_SRCS}) + +TARGET_LINK_LIBRARIES(ovqt_plugin_object_viewer + ovqt_plugin_core + nelmisc + nel3d + nelsound + nelligo + nelgeorges + ${QT_LIBRARIES} + ${QT_QTOPENGL_LIBRARY}) + +NL_DEFAULT_PROPS(ovqt_plugin_object_viewer "NeL, Tools, 3D: Object Viewer Qt Plugin: Object Viewer") + IF(WITH_PCH) ADD_NATIVE_PRECOMPILED_HEADER(ovqt_plugin_object_viewer ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.h ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.cpp) -ENDIF(WITH_PCH) - -NL_ADD_RUNTIME_FLAGS(ovqt_plugin_object_viewer) -NL_ADD_LIB_SUFFIX(ovqt_plugin_object_viewer) - -ADD_DEFINITIONS(-DQT_NO_KEYWORDS ${LIBXML2_DEFINITIONS} -DQT_PLUGIN -DQT_SHARED ${QT_DEFINITIONS}) - -INSTALL(TARGETS ovqt_plugin_object_viewer LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT tools3d) +ENDIF(WITH_PCH) + +NL_ADD_RUNTIME_FLAGS(ovqt_plugin_object_viewer) +NL_ADD_LIB_SUFFIX(ovqt_plugin_object_viewer) + +ADD_DEFINITIONS(-DQT_NO_KEYWORDS ${LIBXML2_DEFINITIONS} -DQT_PLUGIN -DQT_SHARED ${QT_DEFINITIONS}) + +INSTALL(TARGETS ovqt_plugin_object_viewer LIBRARY DESTINATION ${OVQT_PLUGIN_DIR} RUNTIME DESTINATION ${NL_BIN_PREFIX} ARCHIVE DESTINATION ${OVQT_PLUGIN_DIR} COMPONENT tools3d) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ovqt_plugin_object_viewer.xml DESTINATION ${OVQT_PLUGIN_SPECS_DIR} COMPONENT tools3d) + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/animation_dialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/animation_dialog.cpp index 0ff05e5dd..01f4c434b 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/animation_dialog.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/animation_dialog.cpp @@ -90,7 +90,7 @@ void CAnimationDialog::setCurrentShape(const QString &name) { if (name.isEmpty()) return; - CEntity &entity = Modules::objView().getEntity(name.toStdString()); + CEntity &entity = Modules::objView().getEntity(name.toUtf8().constData()); _ui.inPlaceCheckBox->setChecked(entity.getInPlace()); _ui.incPosCheckBox->setChecked(entity.getIncPos()); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/animation_set_dialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/animation_set_dialog.cpp index fa779d63a..f73aa4055 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/animation_set_dialog.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/animation_set_dialog.cpp @@ -57,7 +57,7 @@ void CAnimationSetDialog::setCurrentShape(const QString &name) if (name.isEmpty()) return; - Modules::objView().setCurrentObject(name.toStdString()); + Modules::objView().setCurrentObject(name.toUtf8().constData()); updateListAnim(); @@ -161,7 +161,7 @@ void CAnimationSetDialog::loadAnim() QStringList::Iterator it = list.begin(); while(it != list.end()) { - std::string animName = it->toStdString(); + std::string animName = it->toUtf8(); entity.loadAnimation(animName); ++it; } @@ -187,7 +187,7 @@ void CAnimationSetDialog::loadSwt() QStringList::Iterator it = list.begin(); while(it != list.end()) { - std::string swtName = it->toStdString(); + std::string swtName = it->toUtf8(); entity.loadSWT(swtName); ++it; } @@ -212,7 +212,7 @@ void CAnimationSetDialog::addAnim() Q_FOREACH(QTreeWidgetItem *item, list) { - std::string animName = item->text(0).toStdString(); + std::string animName = item->text(0).toUtf8(); entity.addAnimToPlayList(animName); ui.animPlaylistWidget->addItem(item->text(0)); } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.cpp index a65f510c4..2d45f0fb3 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.cpp @@ -449,9 +449,9 @@ bool CMainWindow::loadFile(const QString &fileName, const QString &skelName) QFileInfo fileInfo(fileName); bool loaded; if (fileInfo.suffix() == "ig") - loaded = Modules::objView().loadInstanceGroup(fileName.toStdString()); + loaded = Modules::objView().loadInstanceGroup(fileName.toUtf8().constData()); else - loaded = Modules::objView().loadMesh(fileName.toStdString(), skelName.toStdString()); + loaded = Modules::objView().loadMesh(fileName.toUtf8().constData(), skelName.toUtf8().constData()); if (!loaded) { diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/mesh_widget.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/mesh_widget.cpp index debb0f157..e92ca7e20 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/mesh_widget.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/mesh_widget.cpp @@ -86,10 +86,10 @@ void CMeshWidget::browseShape() setCursor(Qt::WaitCursor); if (!fileName.isEmpty()) { - NLMISC::CPath::addSearchPath(NLMISC::CFile::getPath(fileName.toStdString())); + NLMISC::CPath::addSearchPath(NLMISC::CFile::getPath(fileName.toUtf8().constData())); try { - std::string shapeName = NLMISC::CFile::getFilename(fileName.toStdString()); + std::string shapeName = NLMISC::CFile::getFilename(fileName.toUtf8().constData()); _ShapeParticle->setShape(shapeName); _ui.meshLineEdit->setText(shapeName.c_str()); touchPSState(); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/morph_mesh_dialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/morph_mesh_dialog.cpp index de88d14c8..b6b1ec14c 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/morph_mesh_dialog.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/morph_mesh_dialog.cpp @@ -110,7 +110,7 @@ void CMorphMeshDialog::add() shapeNames.resize(_CM->getNumShapes() + 1); _CM->getShapesNames(&shapeNames[0]); uint index = (uint)shapeNames.size() - 1; - shapeNames[index] = fileName.toStdString(); + shapeNames[index] = fileName.toUtf8(); _CM->setShapes(&shapeNames[0], (uint)shapeNames.size()); std::vector numVerts; _CM->getShapeNumVerts(numVerts); @@ -152,7 +152,7 @@ void CMorphMeshDialog::insert() std::vector shapeNames; shapeNames.resize(_CM->getNumShapes()); _CM->getShapesNames(&shapeNames[0]); - shapeNames.insert(shapeNames.begin() + row, fileName.toStdString()); + shapeNames.insert(shapeNames.begin() + row, fileName.toUtf8().constData()); _CM->setShapes(&shapeNames[0], (uint)shapeNames.size()); touchPSState(); updateMeshList(); @@ -172,7 +172,7 @@ void CMorphMeshDialog::change() if (!fileName.isEmpty()) { sint row = _ui.listWidget->currentRow(); - _CM->setShape(row, fileName.toStdString()); + _CM->setShape(row, fileName.toUtf8().constData()); updateMeshList(); touchPSState(); } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer.cpp index 4b0509018..a07623cde 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer.cpp @@ -468,7 +468,7 @@ void CObjectViewer::loadConfig() #endif _CameraFocal = settings->value("CameraFocal", 75).toInt(); - _FontName = settings->value(Constants::FONT, "andbasr.ttf").toString().toStdString(); + _FontName = settings->value(Constants::FONT, "andbasr.ttf").toString().toUtf8(); _BloomEffect = settings->value(Constants::ENABLE_BLOOM, false).toBool(); _BloomDensity = settings->value(Constants::BLOOM_DENSITY, 0).toInt(); _BloomSquare = settings->value(Constants::ENABLE_SQUARE_BLOOM, false).toBool(); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_force_page.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_force_page.cpp index e7e19abc9..2f9135e3d 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_force_page.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_force_page.cpp @@ -185,11 +185,11 @@ void CForcePage::setDir(const NLMISC::CVector &value) void CForcePage::setGlobalName(const QString &globalName) { nlassert(_LBTarget); - dynamic_cast(_LBTarget)->enableGlobalVectorValue(globalName.toStdString()); + dynamic_cast(_LBTarget)->enableGlobalVectorValue(globalName.toUtf8().constData()); if (!globalName.isEmpty()) { // take a non NULL value for the direction - NL3D::CParticleSystem::setGlobalVectorValue(globalName.toStdString(), NLMISC::CVector::I); + NL3D::CParticleSystem::setGlobalVectorValue(globalName.toUtf8().constData(), NLMISC::CVector::I); } updateModifiedFlag(); } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_sound_page.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_sound_page.cpp index ce7034e56..ee9e77466 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_sound_page.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_sound_page.cpp @@ -122,7 +122,7 @@ void CSoundPage::browse() void CSoundPage::play() { - Modules::sound().play(_ui.soundNameLineEdit->text().toStdString()); + Modules::sound().play(_ui.soundNameLineEdit->text().toUtf8().constData()); } void CSoundPage::setSpawn(bool state) @@ -162,7 +162,7 @@ void CSoundPage::setKeepPitch(bool state) void CSoundPage::setSoundName(const QString &text) { - _Sound->setSoundName(NLMISC::CSheetId(text.toStdString())); + _Sound->setSoundName(NLMISC::CSheetId(text.toUtf8().constData())); } void CSoundPage::setEmissionPercent(float value) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_system_page.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_system_page.cpp index 072297437..7cdf0895b 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_system_page.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_system_page.cpp @@ -50,7 +50,7 @@ static void chooseGlobalUserParam(uint userParam, NL3D::CParticleSystem *ps, QWi QString(ps->getGlobalValueName(userParam).c_str()), &ok); if (ok) - ps->bindGlobalValueToUserParam(text.toStdString(), userParam); + ps->bindGlobalValueToUserParam(text.toUtf8().constData(), userParam); } CParticleSystemPage::CParticleSystemPage(QWidget *parent) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_texture_widget.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_texture_widget.cpp index f09e752da..82e171f19 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_texture_widget.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_texture_widget.cpp @@ -76,10 +76,10 @@ void CParticleTextureWidget::chooseTexture() if (!fileName.isEmpty()) { // Add search path for the texture - NLMISC::CPath::addSearchPath(NLMISC::CFile::getPath(fileName.toStdString())); + NLMISC::CPath::addSearchPath(NLMISC::CFile::getPath(fileName.toUtf8().constData())); try { - texName = NLMISC::CFile::getFilename(fileName.toStdString()); + texName = NLMISC::CFile::getFilename(fileName.toUtf8().constData()); NL3D::CTextureFile *tf = new NL3D::CTextureFile(texName); _Wrapper->setAndUpdateModifiedFlag(tf); _Texture = tf; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_tree_model.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_tree_model.cpp index 2daebd6e4..fc284f865 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_tree_model.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_tree_model.cpp @@ -319,7 +319,7 @@ bool CParticleTreeModel::setData(const QModelIndex &index, const QVariant &value QList listData; listData << value; item->replace(listData); - std::string name = value.toString().toStdString(); + std::string name = value.toString().toUtf8(); if (item->itemType() == ItemType::Located) item->getLoc()->setName(name); else diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_workspace_dialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_workspace_dialog.cpp index 74182120c..c006e7066 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_workspace_dialog.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_workspace_dialog.cpp @@ -348,7 +348,7 @@ void CParticleWorkspaceDialog::saveAsPS() tr("ps files (*.ps)")); // after check if (!fileName.isEmpty()) - node->savePSAs(fileName.toStdString()); + node->savePSAs(fileName.toUtf8().constData()); } } @@ -546,7 +546,7 @@ void CParticleWorkspaceDialog::bindNewLocatedBindable(int id) std::string name = toCreate->getName(); if (_PSElementIdentifiers.count(name)) { - name += (QString("%1").arg(++_PSElementIdentifiers[name])).toStdString(); + name += NLMISC::toString("%u", ++_PSElementIdentifiers[name]); toCreate->setName(name); } else @@ -771,7 +771,7 @@ NL3D::CPSLocated *CParticleWorkspaceDialog::createLocated(NL3D::CParticleSystem // build new name std::string name; if (_PSElementIdentifiers.count(std::string("located"))) - name = (QString("located %1").arg(++_PSElementIdentifiers[std::string("located")])).toStdString(); + name = (QString("located %1").arg(++_PSElementIdentifiers[std::string("located")])).toUtf8(); else { diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_workspace_page.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_workspace_page.cpp index 3f2dd1657..62ffb6d3b 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_workspace_page.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_workspace_page.cpp @@ -63,7 +63,7 @@ void CWorkspacePage::newWP() tr("pws files (*.pws)")); if (!fileName.isEmpty()) { - Modules::psEdit().createNewWorkspace(fileName.toStdString()); + Modules::psEdit().createNewWorkspace(fileName.toUtf8().constData()); _treeModel->setupModelFromWorkSpace(); _ui.saveToolButton->setEnabled(true); _ui.saveAsToolButton->setEnabled(true); @@ -83,7 +83,7 @@ void CWorkspacePage::loadWP() setCursor(Qt::WaitCursor); if (!fileName.isEmpty()) { - Modules::psEdit().loadWorkspace(fileName.toStdString()); + Modules::psEdit().loadWorkspace(fileName.toUtf8().constData()); _treeModel->setupModelFromWorkSpace(); _ui.unloadToolButton->setEnabled(true); _ui.saveToolButton->setEnabled(true); @@ -109,7 +109,7 @@ void CWorkspacePage::saveAsWP() tr("pws files (*.pws)")); if (!fileName.isEmpty()) { - Modules::psEdit().getParticleWorkspace()->setFileName(fileName.toStdString()); + Modules::psEdit().getParticleWorkspace()->setFileName(fileName.toUtf8().constData()); Modules::psEdit().saveWorkspaceStructure(); Modules::psEdit().saveWorkspaceContent(); _treeModel->setupModelFromWorkSpace(); @@ -125,7 +125,7 @@ void CWorkspacePage::insertPS() if (!fileName.isEmpty()) { // TODO: create method particle editor insertNewPS and multiple add - CWorkspaceNode *node = Modules::psEdit().getParticleWorkspace()->addNode(NLMISC::CFile::getFilename(fileName.toStdString())); + CWorkspaceNode *node = Modules::psEdit().getParticleWorkspace()->addNode(NLMISC::CFile::getFilename(fileName.toUtf8().constData())); if (node != 0) { try @@ -158,14 +158,14 @@ void CWorkspacePage::createPS() { // TODO: create method particle editor createNewPS - if (Modules::psEdit().getParticleWorkspace()->containsFile(NLMISC::CFile::getFilename(fileName.toStdString()))) + if (Modules::psEdit().getParticleWorkspace()->containsFile(NLMISC::CFile::getFilename(fileName.toUtf8().constData()))) { QMessageBox::critical(this, tr("NeL particle system editor"), tr("Failed to create new particle system"), QMessageBox::Ok); return; } - CWorkspaceNode *node = Modules::psEdit().getParticleWorkspace()->addNode(NLMISC::CFile::getFilename(fileName.toStdString())); + CWorkspaceNode *node = Modules::psEdit().getParticleWorkspace()->addNode(NLMISC::CFile::getFilename(fileName.toUtf8().constData())); // should always succeed because we tested if file already exists nlassert(node); node->createEmptyPS(); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/scheme_bank_dialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/scheme_bank_dialog.cpp index bca0f4879..af8a4829f 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/scheme_bank_dialog.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/scheme_bank_dialog.cpp @@ -61,7 +61,7 @@ void CSchemeBankDialog::createScheme() if (ok && !text.isEmpty()) { NL3D::CPSAttribMakerBase *attribMakerBase = _attribWidget->getCurrentSchemePtr()->clone(); - Modules::psEdit().getSchemeManager()->insertScheme(text.toStdString(), attribMakerBase); + Modules::psEdit().getSchemeManager()->insertScheme(text.toUtf8().constData(), attribMakerBase); CSchemeItem *item = new CSchemeItem(text, _ui.listWidget); item->setUserData(attribMakerBase); @@ -108,7 +108,7 @@ void CSchemeBankDialog::saveBank() try { NLMISC::COFile iF; - iF.open(fileName.toStdString()); + iF.open(fileName.toUtf8().constData()); NLQT::CSchemeManager *schemeManager = Modules::psEdit().getSchemeManager(); iF.serial(*schemeManager); } @@ -132,7 +132,7 @@ void CSchemeBankDialog::loadBank() try { NLMISC::CIFile iF; - iF.open(fileName.toStdString()); + iF.open(fileName.toUtf8().constData()); iF.serial(sm); Modules::psEdit().getSchemeManager()->swap(sm); } @@ -152,7 +152,7 @@ void CSchemeBankDialog::changeNameScheme(QListWidgetItem *item) NL3D::CPSAttribMakerBase *attrib = schemeItem->getUserData(); nlassert(attrib); - Modules::psEdit().getSchemeManager()->rename(attrib, item->text().toStdString()); + Modules::psEdit().getSchemeManager()->rename(attrib, item->text().toUtf8().constData()); } void CSchemeBankDialog::enableButtons() diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/skeleton_scale_dialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/skeleton_scale_dialog.cpp index a4221279e..2d1d92dd1 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/skeleton_scale_dialog.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/skeleton_scale_dialog.cpp @@ -93,8 +93,8 @@ void CSkeletonScaleDialog::setCurrentShape(const QString &name) if (name.isEmpty()) return; - _Skeleton = Modules::objView().getEntity(name.toStdString()).getSkeleton(); - _SkeletonFileName = Modules::objView().getEntity(name.toStdString()).getFileNameSkeleton(); + _Skeleton = Modules::objView().getEntity(name.toUtf8().constData()).getSkeleton(); + _SkeletonFileName = Modules::objView().getEntity(name.toUtf8().constData()).getFileNameSkeleton(); // Setup Bone mirror _Bones.clear(); @@ -290,7 +290,7 @@ void CSkeletonScaleDialog::clickSaveAsSkel() { NLMISC::COFile f; - if( f.open(fileName.toStdString()) ) + if( f.open(fileName.toUtf8().constData()) ) { if(saveCurrentInStream(f)) { @@ -300,7 +300,7 @@ void CSkeletonScaleDialog::clickSaveAsSkel() } // bkup the valid fileName (new file edited) - _SkeletonFileName = fileName.toStdString(); + _SkeletonFileName = fileName.toUtf8(); } else { @@ -324,7 +324,7 @@ void CSkeletonScaleDialog::clickLoadScale() if (!fileName.isEmpty()) { NLMISC::CIFile f; - if( f.open(fileName.toStdString()) ) + if( f.open(fileName.toUtf8().constData()) ) loadSkelScaleFromStream(f); else QMessageBox::critical(this, tr("Skeleton scale editor"), tr("Failed to open file for read!"), QMessageBox::Ok); @@ -345,7 +345,7 @@ void CSkeletonScaleDialog::clickSaveScale() if (!fileName.isEmpty()) { NLMISC::COFile f; - if( f.open(fileName.toStdString()) ) + if( f.open(fileName.toUtf8().constData()) ) saveSkelScaleInStream(f); else QMessageBox::critical(this, tr("Skeleton scale editor"), tr("Failed to open file for write!"), QMessageBox::Ok); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/slot_manager_dialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/slot_manager_dialog.cpp index d5fc6f42b..e9c23779a 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/slot_manager_dialog.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/slot_manager_dialog.cpp @@ -111,8 +111,8 @@ void CSlotGroupBox::updateUi() void CSlotGroupBox::saveSlotInfo() { CSlotInfo slotInfo; - slotInfo.Animation = _animName.toStdString(); - slotInfo.Skeleton = _skelName.toStdString(); + slotInfo.Animation = _animName.toUtf8(); + slotInfo.Skeleton = _skelName.toUtf8(); slotInfo.EndBlend = _ui.endBlendSpinBox->value(); slotInfo.EndTime = float(_ui.endFrameSpinBox->value()) / Modules::mainWin().getFrameRate(); slotInfo.Offset = float(_ui.offsetSpinBox->value()) / Modules::mainWin().getFrameRate(); @@ -182,7 +182,7 @@ void CSlotGroupBox::selectAnim() _animName = item; QString title = tr("Slot %1 : ").arg(_numSlot) + _animName + " : " + _skelName; this->setTitle(title); - _ui.endFrameSpinBox->setValue(int(entity.getAnimLength(_animName.toStdString()) * Modules::mainWin().getFrameRate())); + _ui.endFrameSpinBox->setValue(int(entity.getAnimLength(_animName.toUtf8().constData()) * Modules::mainWin().getFrameRate())); saveSlotInfo(); } } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_system.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_system.cpp index 5ca313b0f..361b0100c 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_system.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_system.cpp @@ -86,12 +86,12 @@ void CSoundSystem::init() QSettings *settings = Core::ICore::instance()->settings(); settings->beginGroup(Constants::OBJECT_VIEWER_SECTION); - _PackedSheetPath = settings->value(Constants::SOUND_PACKED_SHEET_PATH, "").toString().toStdString(); - _SamplePath = settings->value(Constants::SOUND_SAMPLE_PATH, "").toString().toStdString(); + _PackedSheetPath = settings->value(Constants::SOUND_PACKED_SHEET_PATH, "").toString().toUtf8(); + _SamplePath = settings->value(Constants::SOUND_SAMPLE_PATH, "").toString().toUtf8(); _AudioMixer->setSamplePath(_SamplePath); _AudioMixer->setPackedSheetOption(_PackedSheetPath, true); std::vector devices; - _AudioMixer->initDriver(settings->value(Constants::SOUND_DRIVER, "Auto").toString().toStdString()); + _AudioMixer->initDriver(settings->value(Constants::SOUND_DRIVER, "Auto").toString().toUtf8().constData()); _AudioMixer->getDevices(devices); NLSOUND::UAudioMixer::CInitInfo audioInfo; audioInfo.AutoLoadSample = settings->value(Constants::SOUND_AUTO_LOAD_SAMPLE, true).toBool(); @@ -101,7 +101,7 @@ void CSoundSystem::init() audioInfo.ForceSoftware = settings->value(Constants::SOUND_FORCE_SOFTWARE, false).toBool(); audioInfo.MaxTrack = settings->value(Constants::SOUND_MAX_TRACK, 48).toInt(); audioInfo.UseADPCM = settings->value(Constants::SOUND_USE_ADCPM, false).toBool(); - _AudioMixer->initDevice(settings->value(Constants::SOUND_DEVICE, "").toString().toStdString(), audioInfo, NULL); + _AudioMixer->initDevice(settings->value(Constants::SOUND_DEVICE, "").toString().toUtf8().constData(), audioInfo, NULL); _AudioMixer->setLowWaterMark(1); settings->endGroup(); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_density_page.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_density_page.cpp index 04d42828f..ba70b4c9f 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_density_page.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_density_page.cpp @@ -145,13 +145,13 @@ void CVegetableDensityPage::browseShapeVeget() if (!fileName.isEmpty()) { // Add search path for the .veget - NLMISC::CPath::addSearchPath (NLMISC::CFile::getPath(fileName.toStdString())); + NLMISC::CPath::addSearchPath (NLMISC::CFile::getPath(fileName.toUtf8().constData())); try { // update shapeName and view - _Vegetable->ShapeName = NLMISC::CFile::getFilename(fileName.toStdString()); - _ui.meshLineEdit->setText(QString(NLMISC::CFile::getFilename(fileName.toStdString()).c_str())); + _Vegetable->ShapeName = NLMISC::CFile::getFilename(fileName.toUtf8().constData()); + _ui.meshLineEdit->setText(QString::fromUtf8(_Vegetable->ShapeName.c_str())); // update the name in the list-box Q_EMIT vegetNameChanged(); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_dialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_dialog.cpp index ed7271e66..2fc621411 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_dialog.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_dialog.cpp @@ -68,7 +68,7 @@ void CVegetableDialog::loadVegetset() { NL3D::CTileVegetableDesc vegetSet; // if succes to load the vegetSet - if(Modules::veget().loadVegetableSet(vegetSet, fileName.toStdString())) + if(Modules::veget().loadVegetableSet(vegetSet, fileName.toUtf8().constData())) { // Delete all vegetables. Modules::veget().clearVegetables(); @@ -94,7 +94,7 @@ void CVegetableDialog::appendVegetset() { NL3D::CTileVegetableDesc vegetSet; // if succes to load the vegetSet - if(Modules::veget().loadVegetableSet(vegetSet, fileName.toStdString())) + if(Modules::veget().loadVegetableSet(vegetSet, fileName.toUtf8().constData())) { // Do not Delete any vegetables. // build them from list. @@ -124,7 +124,7 @@ void CVegetableDialog::saveVegetset() { NLMISC::COFile f; - if( f.open(fileName.toStdString()) ) + if( f.open(fileName.toUtf8().constData()) ) { try { @@ -226,7 +226,7 @@ void CVegetableDialog::loadVegetdesc() { NLMISC::CIFile f; - if( f.open(fileName.toStdString()) ) + if( f.open(fileName.toUtf8().constData()) ) { NL3D::CVegetable veget; try @@ -272,7 +272,7 @@ void CVegetableDialog::saveVegetdesc() { NLMISC::COFile f; - if( f.open(fileName.toStdString()) ) + if( f.open(fileName.toUtf8().constData()) ) { try { diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_editor.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_editor.cpp index b6a3b89dc..cdd311302 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_editor.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/vegetable_editor.cpp @@ -596,15 +596,15 @@ void CVegetableEditor::loadLandscapeSetup() QSettings *settings = Core::ICore::instance()->settings(); settings->beginGroup(Constants::OBJECT_VIEWER_SECTION); - _VegetableLandscapeTileBank = settings->value(Constants::VEGET_TILE_BANK, "").toString().toStdString(); - _VegetableLandscapeTileFarBank = settings->value(Constants::VEGET_TILE_FAR_BANK, "").toString().toStdString(); - _CoarseMeshTexture = settings->value(Constants::COARSE_MESH_TEXTURE, "").toString().toStdString(); - _VegetableTexture = settings->value(Constants::VEGET_TEXTURE, "").toString().toStdString(); + _VegetableLandscapeTileBank = settings->value(Constants::VEGET_TILE_BANK, "").toString().toUtf8(); + _VegetableLandscapeTileFarBank = settings->value(Constants::VEGET_TILE_FAR_BANK, "").toString().toUtf8(); + _CoarseMeshTexture = settings->value(Constants::COARSE_MESH_TEXTURE, "").toString().toUtf8(); + _VegetableTexture = settings->value(Constants::VEGET_TEXTURE, "").toString().toUtf8(); QStringList list = settings->value(Constants::VEGET_LANDSCAPE_ZONES).toStringList(); _VegetableLandscapeZoneNames.clear(); for (int i = 0; i < list.size(); ++i) - _VegetableLandscapeZoneNames.push_back(list[i].toStdString()); + _VegetableLandscapeZoneNames.push_back(list[i].toUtf8().constData()); settings->endGroup(); } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/CMakeLists.txt index 2d4ddaa9d..52965a3d4 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/CMakeLists.txt @@ -29,4 +29,6 @@ NL_ADD_LIB_SUFFIX(ovqt_plugin_sheet_builder) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DQT_PLUGIN -DQT_SHARED ${QT_DEFINITIONS}) -INSTALL(TARGETS ovqt_plugin_sheet_builder LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT tools3d) +INSTALL(TARGETS ovqt_plugin_sheet_builder LIBRARY DESTINATION ${OVQT_PLUGIN_DIR} RUNTIME DESTINATION ${NL_BIN_PREFIX} ARCHIVE DESTINATION ${OVQT_PLUGIN_DIR} COMPONENT tools3d) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ovqt_plugin_sheet_builder.xml DESTINATION ${OVQT_PLUGIN_SPECS_DIR} COMPONENT tools3d) + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderdialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderdialog.cpp index 69e5da30e..c999daa17 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderdialog.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilderdialog.cpp @@ -119,7 +119,7 @@ void SheetBuilderDialog::buildSheet() bool clean = chckClean->isChecked(); - string outputFileName(outputFile.toStdString()); + string outputFileName(outputFile.toUtf8()); if (outputFileName.empty()) { @@ -129,11 +129,11 @@ void SheetBuilderDialog::buildSheet() list inputDirs; Q_FOREACH (QString str, paths) - inputDirs.push_back(str.toStdString()); + inputDirs.push_back(str.toUtf8().constData()); Q_FOREACH (QString str, extensions) { - ExtensionsAllowed.insert(str.toStdString()); + ExtensionsAllowed.insert(str.toUtf8().constData()); } // get the current associations (read the sheet_id and fill the working structures) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/CMakeLists.txt index 505340487..a7de55dfb 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/CMakeLists.txt @@ -48,4 +48,6 @@ NL_ADD_LIB_SUFFIX(ovqt_plugin_translation_manager) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DQT_PLUGIN -DQT_SHARED ${QT_DEFINITIONS}) -INSTALL(TARGETS ovqt_plugin_translation_manager LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT tools3d) +INSTALL(TARGETS ovqt_plugin_translation_manager LIBRARY DESTINATION ${OVQT_PLUGIN_DIR} RUNTIME DESTINATION ${NL_BIN_PREFIX} ARCHIVE DESTINATION ${OVQT_PLUGIN_DIR} COMPONENT tools3d) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ovqt_plugin_translation_manager.xml DESTINATION ${OVQT_PLUGIN_SPECS_DIR} COMPONENT tools3d) + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/editor_phrase.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/editor_phrase.cpp index 805e2361d..01ec90fe1 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/editor_phrase.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/editor_phrase.cpp @@ -40,7 +40,7 @@ namespace TranslationManager void CEditorPhrase::open(QString filename) { std::vector phrases; - if(readPhraseFile(filename.toStdString(), phrases, false)) + if(readPhraseFile(filename.toUtf8().constData(), phrases, false)) { text_edit = new CTextEdit(this); text_edit->setUndoStack(current_stack); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/editor_worksheet.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/editor_worksheet.cpp index f9b216da6..9df0655ac 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/editor_worksheet.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/editor_worksheet.cpp @@ -37,7 +37,7 @@ namespace TranslationManager void CEditorWorksheet::open(QString filename) { STRING_MANAGER::TWorksheet wk_file; - if(loadExcelSheet(filename.toStdString(), wk_file, true) == true) + if(loadExcelSheet(filename.toUtf8().constData(), wk_file, true) == true) { bool hasHashValue = false; table_editor = new QTableWidget(); @@ -149,7 +149,7 @@ void CEditorWorksheet::save() void CEditorWorksheet::saveAs(QString filename) { STRING_MANAGER::TWorksheet new_file, wk_file; - loadExcelSheet(current_file.toStdString(), wk_file, true); + loadExcelSheet(current_file.toUtf8().constData(), wk_file, true); // set columns new_file.resize(new_file.size() + 1); for(unsigned int i = 0; i < wk_file.ColCount; i++) @@ -185,7 +185,7 @@ void CEditorWorksheet::saveAs(QString filename) makeHashCode(wk_file, true); } ucstring s = prepareExcelSheet(new_file); - NLMISC::CI18N::writeTextFile(filename.toStdString(), s, false); + NLMISC::CI18N::writeTextFile(filename.toUtf8().constData(), s, false); current_file = filename; setCurrentFile(filename); } @@ -299,29 +299,29 @@ void CEditorWorksheet::extractWords(QString filename, QString columnId, IWordLis // **** Load the excel sheet // load STRING_MANAGER::TWorksheet workSheet; - if(!loadExcelSheet(filename.toStdString(), workSheet, true)) + if(!loadExcelSheet(filename.toUtf8().constData(), workSheet, true)) { - nlwarning("Error reading '%s'. Aborted", filename.toStdString().c_str()); + nlwarning("Error reading '%s'. Aborted", filename.toUtf8().constData()); return; } // get the key column index uint keyColIndex = 0; - if(!workSheet.findCol(columnId.toStdString(), keyColIndex)) + if(!workSheet.findCol(ucstring(columnId.toUtf8().constData()), keyColIndex)) { - nlwarning("Error: Don't find the column '%s'. '%s' Aborted", columnId.toStdString().c_str(), filename.toStdString().c_str()); + nlwarning("Error: Don't find the column '%s'. '%s' Aborted", columnId.toUtf8().constData(), filename.toUtf8().constData()); return; } // get the name column index uint nameColIndex; if(!workSheet.findCol(ucstring("name"), nameColIndex)) { - nlwarning("Error: Don't find the column 'name'. '%s' Aborted", filename.toStdString().c_str()); + nlwarning("Error: Don't find the column 'name'. '%s' Aborted", filename.toUtf8().constData()); return; } // **** List all words with the builder given std::vector allWords; - if(!wordListBuilder.buildWordList(allWords, filename.toStdString())) + if(!wordListBuilder.buildWordList(allWords, filename.toUtf8().constData())) { return; } @@ -380,7 +380,7 @@ bool CEditorWorksheet::compareWorksheetFile(QString filename) { STRING_MANAGER::TWorksheet wk_file; int colIndex = 0; - if(loadExcelSheet(filename.toStdString(), wk_file, true) == true) + if(loadExcelSheet(filename.toUtf8().constData(), wk_file, true) == true) { if(wk_file.getData(0, 0) == ucstring("*HASH_VALUE")) { @@ -392,11 +392,12 @@ bool CEditorWorksheet::compareWorksheetFile(QString filename) } for(int i = 0; i < table_editor->columnCount(); i++) { - QString item = table_editor->horizontalHeaderItem(i)->text(); + ucstring item; + item.fromUtf8(table_editor->horizontalHeaderItem(i)->text().toUtf8().constData()); ucstring itemC = wk_file.getData(0, i+ colIndex); - if(item.toStdString() != itemC.toString()) + if(item != itemC) { - nlwarning(item.toStdString().c_str()); + nlwarning(item.toString().c_str()); nlwarning(itemC.toString().c_str()); return false; } @@ -412,7 +413,7 @@ bool CEditorWorksheet::compareWorksheetFile(QString filename) void CEditorWorksheet::mergeWorksheetFile(QString filename) { STRING_MANAGER::TWorksheet wk_file; - if(loadExcelSheet(filename.toStdString(), wk_file, true) == true) + if(loadExcelSheet(filename.toUtf8().constData(), wk_file, true) == true) { bool hasHashValue = false; int colIndex = 0; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/translation_manager_main_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/translation_manager_main_window.cpp index 306c30ea9..6da8bba7b 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/translation_manager_main_window.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/translation_manager/translation_manager_main_window.cpp @@ -300,8 +300,8 @@ void CMainWindow::initializeSettings(bool georges = false) { if(georges == true && initialize_settings["georges"] == false) { - NLMISC::CPath::addSearchPath(level_design_path.toStdString() + "/DFN", true, false); - NLMISC::CPath::addSearchPath(level_design_path.toStdString() + "/Game_elem/Creature", true, false); + NLMISC::CPath::addSearchPath(std::string(level_design_path.toUtf8().constData()) + "/DFN", true, false); + NLMISC::CPath::addSearchPath(std::string(level_design_path.toUtf8().constData()) + "/Game_elem/Creature", true, false); initialize_settings["georges"] = true; } @@ -357,34 +357,34 @@ void CMainWindow::extractWords(QString typeq) { column_name = "item ID"; builderS.SheetExt = "sitem"; - builderS.SheetPath = level_design_path.append("/game_element/sitem").toStdString(); + builderS.SheetPath = level_design_path.append("/game_element/sitem").toUtf8(); isSheet = true; } else if(typeq.toAscii() == Constants::WK_CREATURE) { column_name = "creature ID"; builderS.SheetExt = "creature"; - builderS.SheetPath = level_design_path.append("/Game_elem/Creature/fauna").toStdString(); + builderS.SheetPath = level_design_path.append("/Game_elem/Creature/fauna").toUtf8(); isSheet = true; } else if(typeq.toAscii() == Constants::WK_SBRICK) { column_name = "sbrick ID"; builderS.SheetExt = "sbrick"; - builderS.SheetPath = level_design_path.append("/game_element/sbrick").toStdString(); + builderS.SheetPath = level_design_path.append("/game_element/sbrick").toUtf8(); isSheet = true; } else if(typeq.toAscii() == Constants::WK_SPHRASE) { column_name = "sphrase ID"; builderS.SheetExt = "sphrase"; - builderS.SheetPath = level_design_path.append("/game_element/sphrase").toStdString(); + builderS.SheetPath = level_design_path.append("/game_element/sphrase").toUtf8(); isSheet = true; } else if(typeq.toAscii() == Constants::WK_PLACE) { column_name = "placeId"; - builderP.PrimPath = primitives_path.toStdString(); + builderP.PrimPath = primitives_path.toUtf8(); builderP.PrimFilter.push_back("region_*.primitive"); builderP.PrimFilter.push_back("indoors_*.primitive"); isSheet = false; @@ -428,7 +428,7 @@ void CMainWindow::extractBotNames() QApplication::setOverrideCursor(Qt::WaitCursor); initializeSettings(true); - editor_window->extractBotNames(convertQStringList(filters), level_design_path.toStdString(), ligoConfig); + editor_window->extractBotNames(convertQStringList(filters), level_design_path.toUtf8().constData(), ligoConfig); QApplication::restoreOverrideCursor(); } } @@ -627,7 +627,7 @@ std::list CMainWindow::convertQStringList(QStringList listq) Q_FOREACH(QString text, listq) { - stdlist.push_back(text.toStdString()); + stdlist.push_back(text.toUtf8().constData()); } return stdlist; } @@ -635,7 +635,7 @@ std::list CMainWindow::convertQStringList(QStringList listq) bool CMainWindow::isWorksheetEditor(QString filename) { STRING_MANAGER::TWorksheet wk_file; - if(loadExcelSheet(filename.toStdString(), wk_file, true) == true) + if(loadExcelSheet(filename.toUtf8().constData(), wk_file, true) == true) { if(wk_file.ColCount > 1) return true; @@ -646,7 +646,7 @@ bool CMainWindow::isWorksheetEditor(QString filename) bool CMainWindow::isPhraseEditor(QString filename) { vector phrases; - return readPhraseFile(filename.toStdString(), phrases, false); + return readPhraseFile(filename.toUtf8().constData(), phrases, false); } } /* namespace TranslationManager */ diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/CMakeLists.txt index 2ddbe868e..e9023c4b9 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/CMakeLists.txt @@ -42,4 +42,6 @@ NL_ADD_LIB_SUFFIX(ovqt_plugin_zone_painter) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DQT_PLUGIN -DQT_SHARED ${QT_DEFINITIONS}) -INSTALL(TARGETS ovqt_plugin_zone_painter LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT tools3d) +INSTALL(TARGETS ovqt_plugin_zone_painter LIBRARY DESTINATION ${OVQT_PLUGIN_DIR} RUNTIME DESTINATION ${NL_BIN_PREFIX} ARCHIVE DESTINATION ${OVQT_PLUGIN_DIR} COMPONENT tools3d) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ovqt_plugin_zone_painter.xml DESTINATION ${OVQT_PLUGIN_SPECS_DIR} COMPONENT tools3d) + diff --git a/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_fr.ts b/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_fr.ts index d980a0914..f5c0c68af 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_fr.ts +++ b/code/nel/tools/3d/object_viewer_qt/src/translations/object_viewer_qt_fr.ts @@ -6,17 +6,17 @@ Failed to load Core plugin: %1 - + Impossible de charger le plugin principal: %1 Object Viewer Qt - Plugin loader messages - + Object Viewer Qt - Messages du chargeur de plugins Could not find ovqt_plugin_core in %1 - + Impossible de trouver ovqt_plugin_core dans %1 @@ -24,42 +24,42 @@ Animation control - + Contrôle de l'animation Loop - + En boucle In place - + En place Increment pos - + Incrémenter la position Use the PlayList - + Utiliser la liste de lecture Use the Mixer - + Utilisateur le Mélangeur Play/Pause - + Lecture/Pause Stop - + Stop @@ -67,57 +67,57 @@ Animation set manager - + Gestionnaire d'ensemble d'animations Edited object: - + Objet en cours d'édition : Animations: - + Animations : Add anim - + Ajouter animation Skeleton weight template: - + Modèle de poids de squelette : Add swt - + Ajouter swt Animations playlist: - + Liste de lecture d'animations : Unload all anim and swt files - + Décharger toutes les animations et les fichiers swt Add anim in PlayList - + Ajouter une animation dans la liste de lecture Delete anim from PlayList - + Supprimer une animation de la liste de lecture Set duration of time in Animation control - + Définir la durée dans le contrôle de l'animation @@ -130,7 +130,7 @@ Constant - + Constante @@ -160,12 +160,12 @@ Date - + Date Position - + Position @@ -175,12 +175,12 @@ Speed - + Vitesse Random - + Aléatoire @@ -2593,7 +2593,7 @@ Power: - + Puissance : @@ -2603,17 +2603,17 @@ Frequency - + Fréquence Ambient color - + Couleur ambiante Diffuse color - + Couleur diffuse @@ -3119,67 +3119,67 @@ Reason: %3 OpenGL - + OpenGL Direct3D - + Direct3D Qt Style - + Style Qt Style - + Style Use style's standard palette - + Utiliser la palette standard du style Font - + Police ... - + ... Graphics settings - + Options graphiques Driver - + Pilote Bloom effect - + Bloom Bloom density - + Densité du bloom Square bloom - + Bloom carré Enable bloom effect - + Activer le bloom @@ -3188,17 +3188,17 @@ Reason: %3 Open NeL anim file - + Ouvrir une animation NeL NeL anim files (*.anim);; - + Animations NeL (*.anim);; NeL Skeleton Weight Template files (*.swt);; - + NeL Skeleton Weight Template (*.swt);; @@ -3336,7 +3336,7 @@ Reason: %3 Set user param - + Définir un paramètre utilisateur @@ -3344,7 +3344,7 @@ Reason: %3 Bin operator - + Opérateur binaire @@ -3556,7 +3556,7 @@ Reason: %3 Num samples: - + Nombre d'échantillons : @@ -3801,17 +3801,17 @@ Reason: %3 Num particles: - + Nombre de particules : Num wanted faces: - + Nombre de faces souhaitées : System time: - + Temps système : @@ -3819,7 +3819,7 @@ Reason: %3 Are you sure? - + Etes-vous sûr ? @@ -4077,7 +4077,7 @@ Reason: %3 Skeleton scale editor - + Editeur de l'échelle du squelette @@ -4121,12 +4121,12 @@ Reason: %3 Failed to save file! - + Impossible d'enregistrer le fichier ! Failed to load file! - + Impossible de charger le fichier ! @@ -4142,7 +4142,7 @@ Reason: %3 empty - + vide diff --git a/code/nel/tools/3d/object_viewer_widget/CMakeLists.txt b/code/nel/tools/3d/object_viewer_widget/CMakeLists.txt index 4967e8206..20e5b69e8 100644 --- a/code/nel/tools/3d/object_viewer_widget/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_widget/CMakeLists.txt @@ -6,7 +6,7 @@ #----------------------------------------------------------------------------- # This tells the application(s) where to find the installed data. -#ADD_DEFINITIONS(-DDATA_DIR="\\"${NL_SHARE_PREFIX}/georges_editor_qt/\\"") +#ADD_DEFINITIONS(-DDATA_DIR="\\"${NL_SHARE_ABSOLUTE_PREFIX}/georges_editor_qt/\\"") ADD_SUBDIRECTORY(src) diff --git a/code/nel/tools/3d/object_viewer_widget/src/CMakeLists.txt b/code/nel/tools/3d/object_viewer_widget/src/CMakeLists.txt index 160aca337..0943f61fa 100644 --- a/code/nel/tools/3d/object_viewer_widget/src/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_widget/src/CMakeLists.txt @@ -39,4 +39,4 @@ IF(WITH_PCH) ADD_NATIVE_PRECOMPILED_HEADER(object_viewer_widget_qt ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.h ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.cpp) ENDIF(WITH_PCH) -#INSTALL(TARGETS object_viewer_widget_qt RUNTIME DESTINATION bin COMPONENT runtime BUNDLE DESTINATION /Applications) +#INSTALL(TARGETS object_viewer_widget_qt RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT runtime BUNDLE DESTINATION /Applications) diff --git a/code/nel/tools/3d/panoply_maker/CMakeLists.txt b/code/nel/tools/3d/panoply_maker/CMakeLists.txt index 4a39ab154..8fd25fef6 100644 --- a/code/nel/tools/3d/panoply_maker/CMakeLists.txt +++ b/code/nel/tools/3d/panoply_maker/CMakeLists.txt @@ -1,11 +1,9 @@ -FILE(GLOB SRC *.cpp *.h ../s3tc_compressor_lib/*.h ../s3tc_compressor_lib/*.cpp) +FILE(GLOB SRC *.cpp *.h) ADD_EXECUTABLE(panoply_maker ${SRC}) -INCLUDE_DIRECTORIES(${SQUISH_INCLUDE_DIR}) - -TARGET_LINK_LIBRARIES(panoply_maker ${SQUISH_LIBRARIES} nelmisc nel3d) +TARGET_LINK_LIBRARIES(panoply_maker s3tc_compressor nelmisc nel3d) NL_DEFAULT_PROPS(panoply_maker "NeL, Tools, 3D: panoply_maker") NL_ADD_RUNTIME_FLAGS(panoply_maker) -INSTALL(TARGETS panoply_maker RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS panoply_maker RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/plugin_max/nel_3dsmax_shared/CMakeLists.txt b/code/nel/tools/3d/plugin_max/nel_3dsmax_shared/CMakeLists.txt index 7233f2f76..3a596badc 100644 --- a/code/nel/tools/3d/plugin_max/nel_3dsmax_shared/CMakeLists.txt +++ b/code/nel/tools/3d/plugin_max/nel_3dsmax_shared/CMakeLists.txt @@ -22,4 +22,4 @@ IF(WITH_PCH) ADD_NATIVE_PRECOMPILED_HEADER(nel_3dsmax_shared ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.h ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.cpp) ENDIF(WITH_PCH) -INSTALL(TARGETS nel_3dsmax_shared RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS nel_3dsmax_shared RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) diff --git a/code/nel/tools/3d/plugin_max/nel_export/CMakeLists.txt b/code/nel/tools/3d/plugin_max/nel_export/CMakeLists.txt index 32bac9067..93ae28370 100644 --- a/code/nel/tools/3d/plugin_max/nel_export/CMakeLists.txt +++ b/code/nel/tools/3d/plugin_max/nel_export/CMakeLists.txt @@ -31,4 +31,4 @@ IF(WITH_PCH) ADD_NATIVE_PRECOMPILED_HEADER(nel_export ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.h ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.cpp) ENDIF(WITH_PCH) -INSTALL(TARGETS nel_export RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS nel_export RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) diff --git a/code/nel/tools/3d/plugin_max/nel_export/nel_export_collision.cpp b/code/nel/tools/3d/plugin_max/nel_export/nel_export_collision.cpp index 4aea7d654..8ff853031 100644 --- a/code/nel/tools/3d/plugin_max/nel_export/nel_export_collision.cpp +++ b/code/nel/tools/3d/plugin_max/nel_export/nel_export_collision.cpp @@ -19,8 +19,8 @@ #include "nel/misc/file.h" #include "nel/misc/o_xml.h" -#include "nel/../../src/pacs/collision_mesh_build.h" -#include "nel/../../src/pacs/primitive_block.h" +#include "nel/pacs/collision_mesh_build.h" +#include "nel/pacs/primitive_block.h" #include "../nel_mesh_lib/export_nel.h" #include "../nel_mesh_lib/export_appdata.h" diff --git a/code/nel/tools/3d/plugin_max/nel_export/nel_export_view.cpp b/code/nel/tools/3d/plugin_max/nel_export/nel_export_view.cpp index ae0b15263..81efc7d4c 100644 --- a/code/nel/tools/3d/plugin_max/nel_export/nel_export_view.cpp +++ b/code/nel/tools/3d/plugin_max/nel_export/nel_export_view.cpp @@ -25,8 +25,8 @@ #include "nel/3d/water_pool_manager.h" #include "nel/3d/instance_lighter.h" -#include "nel/../../src/pacs/retriever_bank.h" -#include "nel/../../src/pacs/global_retriever.h" +#include "nel/pacs/retriever_bank.h" +#include "nel/pacs/global_retriever.h" #include "../../object_viewer/object_viewer_interface.h" diff --git a/code/nel/tools/3d/plugin_max/nel_export/std_afx.h b/code/nel/tools/3d/plugin_max/nel_export/std_afx.h index c9ce76d89..9b4b18357 100644 --- a/code/nel/tools/3d/plugin_max/nel_export/std_afx.h +++ b/code/nel/tools/3d/plugin_max/nel_export/std_afx.h @@ -14,6 +14,19 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . +#ifndef STDAFX_H +#define STDAFX_H + +#include + +#ifdef _STLPORT_VERSION +namespace std +{ + float fabsf(float f); + double fabsl(double f); +} +#endif + #include #include #include @@ -36,7 +49,7 @@ # include # include # include -# include +# include #else # include # include @@ -58,3 +71,5 @@ #endif #include "nel/misc/bsphere.h" + +#endif diff --git a/code/nel/tools/3d/plugin_max/nel_mesh_lib/CMakeLists.txt b/code/nel/tools/3d/plugin_max/nel_mesh_lib/CMakeLists.txt index 555edd263..a6161338d 100644 --- a/code/nel/tools/3d/plugin_max/nel_mesh_lib/CMakeLists.txt +++ b/code/nel/tools/3d/plugin_max/nel_mesh_lib/CMakeLists.txt @@ -12,4 +12,4 @@ IF(WITH_PCH) ADD_NATIVE_PRECOMPILED_HEADER(nel_mesh_lib ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.h ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.cpp) ENDIF(WITH_PCH) -INSTALL(TARGETS nel_mesh_lib RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS nel_mesh_lib RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) diff --git a/code/nel/tools/3d/plugin_max/nel_mesh_lib/StdAfx.h b/code/nel/tools/3d/plugin_max/nel_mesh_lib/StdAfx.h index dfbd11915..cb2cec48f 100644 --- a/code/nel/tools/3d/plugin_max/nel_mesh_lib/StdAfx.h +++ b/code/nel/tools/3d/plugin_max/nel_mesh_lib/StdAfx.h @@ -49,6 +49,7 @@ #include #include +#include #include "../nel_patch_lib/rpo.h" #include "nel/misc/time_nl.h" diff --git a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_collision.cpp b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_collision.cpp index 16c3ae727..ecc9e8127 100644 --- a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_collision.cpp +++ b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_collision.cpp @@ -14,9 +14,6 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -#include -#include - #include "stdafx.h" #include "export_nel.h" #include "export_appdata.h" @@ -25,11 +22,11 @@ #include "../nel_export/nel_export.h" #include "../nel_export/nel_export_scene.h" -#include "nel/../../src/pacs/collision_mesh_build.h" -#include "nel/../../src/pacs/retriever_bank.h" -#include "nel/../../src/pacs/global_retriever.h" -#include "nel/../../src/pacs/build_indoor.h" -#include "nel/../../src/pacs/primitive_block.h" +#include "nel/pacs/collision_mesh_build.h" +#include "nel/pacs/retriever_bank.h" +#include "nel/pacs/global_retriever.h" +#include "nel/pacs/build_indoor.h" +#include "nel/pacs/primitive_block.h" #include "nel/3d/quad_grid.h" diff --git a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_misc.cpp b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_misc.cpp index 8dbaeb56b..44f51fc75 100644 --- a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_misc.cpp +++ b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_misc.cpp @@ -27,6 +27,14 @@ using namespace NLMISC; using namespace NL3D; +#ifdef _STLPORT_VERSION +namespace std +{ + float fabsf(float f) { return ::fabsf(f); } + double fabsl(double f) { return ::fabsl(f); } +} +#endif + // *************************************************************************** // -------------------------------------------------- diff --git a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_nel.h b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_nel.h index d9383fea2..11e762099 100644 --- a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_nel.h +++ b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_nel.h @@ -27,7 +27,7 @@ #include "nel/3d/bone.h" #include "nel/3d/animation_time.h" #include "nel/3d/animation_time.h" -#include "nel/../../src/pacs/collision_mesh_build.h" +#include "nel/pacs/collision_mesh_build.h" #define UVGEN_MISSING (-1) #define UVGEN_REFLEXION (-2) diff --git a/code/nel/tools/3d/plugin_max/nel_patch_converter/CMakeLists.txt b/code/nel/tools/3d/plugin_max/nel_patch_converter/CMakeLists.txt index d414375ba..c173232b3 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_converter/CMakeLists.txt +++ b/code/nel/tools/3d/plugin_max/nel_patch_converter/CMakeLists.txt @@ -18,4 +18,4 @@ NL_DEFAULT_PROPS(nel_patch_converter "MAX Plugin: NeL Patch Converter") NL_ADD_RUNTIME_FLAGS(nel_patch_converter) NL_ADD_LIB_SUFFIX(nel_patch_converter) -INSTALL(TARGETS nel_patch_converter RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS nel_patch_converter RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) diff --git a/code/nel/tools/3d/plugin_max/nel_patch_converter/nel_patch_converter.def b/code/nel/tools/3d/plugin_max/nel_patch_converter/nel_patch_converter.def index a6cecd424..c3a249d4a 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_converter/nel_patch_converter.def +++ b/code/nel/tools/3d/plugin_max/nel_patch_converter/nel_patch_converter.def @@ -1,4 +1,4 @@ -LIBRARY nelconvertpatch.dlm +;LIBRARY nelconvertpatch.dlm EXPORTS LibDescription @1 LibNumberClasses @2 diff --git a/code/nel/tools/3d/plugin_max/nel_patch_converter/script.cpp b/code/nel/tools/3d/plugin_max/nel_patch_converter/script.cpp index 6ee1c43f1..c2e80e06b 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_converter/script.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_converter/script.cpp @@ -19,7 +19,19 @@ #pragma conform(forScope, push) #pragma conform(forScope, off) +#ifndef _CRT_SECURE_NO_DEPRECATE #define _CRT_SECURE_NO_DEPRECATE +#endif + +#include + +#ifdef _STLPORT_VERSION +namespace std +{ + float fabsf(float f); + double fabsl(double f); +} +#endif #include diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit/CMakeLists.txt b/code/nel/tools/3d/plugin_max/nel_patch_edit/CMakeLists.txt index ff2c11245..82cc06611 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit/CMakeLists.txt +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit/CMakeLists.txt @@ -22,4 +22,4 @@ IF(WITH_PCH) ADD_NATIVE_PRECOMPILED_HEADER(nel_patch_edit ${CMAKE_CURRENT_SOURCE_DIR}/stdafx.h ${CMAKE_CURRENT_SOURCE_DIR}/stdafx.cpp) ENDIF(WITH_PCH) -INSTALL(TARGETS nel_patch_edit RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS nel_patch_edit RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit/nel_patch_edit.def b/code/nel/tools/3d/plugin_max/nel_patch_edit/nel_patch_edit.def index 607869257..c01fdf4e9 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit/nel_patch_edit.def +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit/nel_patch_edit.def @@ -1,4 +1,4 @@ -LIBRARY neleditpatch +;LIBRARY neleditpatch EXPORTS LibDescription @1 LibNumberClasses @2 diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit/np.cpp b/code/nel/tools/3d/plugin_max/nel_patch_edit/np.cpp index 0c4d5c935..7b1c9c644 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit/np.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit/np.cpp @@ -96,12 +96,12 @@ //#define VMAP_DEBUG 1 // Forward references -BOOL CALLBACK PatchSelectDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchOpsDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchObjSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchTileDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchEdgeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchSelectDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchOpsDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchObjSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchTileDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchEdgeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); void ResetVert (PatchMesh *patch); diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/CMakeLists.txt b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/CMakeLists.txt index c63db300f..08b8f49ab 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/CMakeLists.txt +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/CMakeLists.txt @@ -18,4 +18,4 @@ NL_DEFAULT_PROPS(nel_patch_edit_adv "MAX Plugin: NeL Patch Edit (Adv)") NL_ADD_RUNTIME_FLAGS(nel_patch_edit_adv) NL_ADD_LIB_SUFFIX(nel_patch_edit_adv) -INSTALL(TARGETS nel_patch_edit_adv RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS nel_patch_edit_adv RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP.cpp b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP.cpp index 0c4d5c935..7b1c9c644 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP.cpp @@ -96,12 +96,12 @@ //#define VMAP_DEBUG 1 // Forward references -BOOL CALLBACK PatchSelectDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchOpsDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchObjSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchTileDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchEdgeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchSelectDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchOpsDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchObjSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchTileDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchEdgeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); void ResetVert (PatchMesh *patch); diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EPM_Selection.cpp b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EPM_Selection.cpp index e465e1345..3814a2df9 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EPM_Selection.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EPM_Selection.cpp @@ -9,9 +9,9 @@ #define PROMPT_TIME 2000 -BOOL CALLBACK PatchSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchTileDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchEdgeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchTileDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchEdgeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); extern void ChangePatchType(PatchMesh *patch, int index, int type); extern BOOL filterVerts; // ------------------------------------------------------------------------------------------------------------------------------------------------------ diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EPM_Surface.cpp b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EPM_Surface.cpp index 2c475b0c7..4f72420b1 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EPM_Surface.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EPM_Surface.cpp @@ -15,7 +15,7 @@ extern int sbmParams[4]; extern DWORD sbsParams[3]; // ------------------------------------------------------------------------------------------------------------------------------------------------------ -BOOL CALLBACK SelectByMatDlgProc( +INT_PTR CALLBACK SelectByMatDlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { static int *param; @@ -84,7 +84,7 @@ void SetSmoothButtonState(HWND hWnd, DWORD bits, DWORD invalid, DWORD unused = 0 // ------------------------------------------------------------------------------------------------------------------------------------------------------ -BOOL CALLBACK SelectBySmoothDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) +INT_PTR CALLBACK SelectBySmoothDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { static DWORD *param; switch (msg) @@ -137,9 +137,9 @@ BOOL CALLBACK SelectBySmoothDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM l // ------------------------------------------------------------------------------------------------------------------------------------------------------ -BOOL CALLBACK PatchTileDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +INT_PTR CALLBACK PatchTileDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { - EditPatchMod *ep =(EditPatchMod *)GetWindowLong(hDlg, GWL_USERDATA); + EditPatchMod *ep =(EditPatchMod *)GetWindowLongPtr(hDlg, GWLP_USERDATA); if (!ep && message != WM_INITDIALOG) return FALSE; @@ -150,7 +150,7 @@ BOOL CALLBACK PatchTileDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP ep =(EditPatchMod *)lParam; ep->hTilePanel = hDlg; - SetWindowLong(hDlg, GWL_USERDATA, (LONG)ep); + SetWindowLongPtr(hDlg, GWLP_USERDATA, (LONG_PTR)ep); ep->tileNum = SetupIntSpinner(hDlg, IDC_TILE_MAT_SPIN, IDC_TILE_MAT, 0, 65535, 0); ep->tileRot = SetupIntSpinner(hDlg, IDC_TILE_ROT_SPIN, IDC_TILE_ROT, 0, 3, 0); ep->SetTileDlgEnables(); @@ -249,9 +249,9 @@ BOOL CALLBACK PatchTileDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP // ------------------------------------------------------------------------------------------------------------------------------------------------------ -BOOL CALLBACK PatchEdgeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +INT_PTR CALLBACK PatchEdgeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { - EditPatchMod *ep =(EditPatchMod *)GetWindowLong(hDlg, GWL_USERDATA); + EditPatchMod *ep =(EditPatchMod *)GetWindowLongPtr(hDlg, GWLP_USERDATA); if (!ep && message != WM_INITDIALOG) return FALSE; @@ -262,7 +262,7 @@ BOOL CALLBACK PatchEdgeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP ep =(EditPatchMod *)lParam; ep->hEdgePanel = hDlg; - SetWindowLong(hDlg, GWL_USERDATA, (LONG)ep); + SetWindowLongPtr(hDlg, GWLP_USERDATA, (LONG_PTR)ep); ep->SetEdgeDlgEnables(); return TRUE; } @@ -324,9 +324,9 @@ BOOL CALLBACK PatchEdgeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP // ------------------------------------------------------------------------------------------------------------------------------------------------------ -BOOL CALLBACK PatchSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +INT_PTR CALLBACK PatchSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { - EditPatchMod *ep =(EditPatchMod *)GetWindowLong(hDlg, GWL_USERDATA); + EditPatchMod *ep =(EditPatchMod *)GetWindowLongPtr(hDlg, GWLP_USERDATA); if (!ep && message != WM_INITDIALOG) return FALSE; @@ -339,7 +339,7 @@ BOOL CALLBACK PatchSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP for (int i = IDC_SMOOTH_GRP1; i < IDC_SMOOTH_GRP1 + 32; i++) SendMessage(GetDlgItem(hDlg, i), CC_COMMAND, CC_CMD_SET_TYPE, CBT_CHECK); - SetWindowLong(hDlg, GWL_USERDATA, (LONG)ep); + SetWindowLongPtr(hDlg, GWLP_USERDATA, (LONG_PTR)ep); ep->matSpin = SetupIntSpinner(hDlg, IDC_MAT_IDSPIN, IDC_MAT_ID, 1, MAX_MATID, 0); ep->tessUSpin = SetupIntSpinner(hDlg, IDC_TESS_U_SPIN, IDC_TESS_U2, 1, 4, RPO_DEFAULT_TESSEL); ep->tessVSpin = SetupIntSpinner(hDlg, IDC_TESS_V_SPIN, IDC_TESS_V2, 1, 4, RPO_DEFAULT_TESSEL); diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EPM_Tess.cpp b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EPM_Tess.cpp index 3da46fee5..5a1a54cb4 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EPM_Tess.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EPM_Tess.cpp @@ -10,7 +10,7 @@ #define PROMPT_TIME 2000 extern AdvParams sParams; -BOOL CALLBACK AdvParametersDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK AdvParametersDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); // ------------------------------------------------------------------------------------------------------------------------------------------------------ @@ -210,9 +210,9 @@ void EditPatchMod::SetTessUI(HWND hDlg, TessApprox *tess) // ------------------------------------------------------------------------------------------------------------------------------------------------------ -BOOL CALLBACK PatchObjSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +INT_PTR CALLBACK PatchObjSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { - EditPatchMod *ep =(EditPatchMod *)GetWindowLong(hDlg, GWL_USERDATA); + EditPatchMod *ep =(EditPatchMod *)GetWindowLongPtr(hDlg, GWLP_USERDATA); if (!ep && message != WM_INITDIALOG) return FALSE; @@ -223,7 +223,7 @@ BOOL CALLBACK PatchObjSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM ep =(EditPatchMod *)lParam; ep->hSurfPanel = hDlg; - SetWindowLong(hDlg, GWL_USERDATA, (LONG)ep); + SetWindowLongPtr(hDlg, GWLP_USERDATA, (LONG_PTR)ep); if (!ep->settingViewportTess && ep->settingDisp && ep->GetProdTess().type == TESS_SET) ep->settingDisp = FALSE; TessApprox t; @@ -599,7 +599,7 @@ static ISpinnerControl* psMaxTrisSpin = NULL; // this max matches the MI max. #define MAX_SUBDIV 7 static BOOL initing = FALSE; // this is a hack but CenterWindow causes bad commands -BOOL CALLBACK +INT_PTR CALLBACK AdvParametersDialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EditPatchMod.cpp b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EditPatchMod.cpp index 343699663..55825158b 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EditPatchMod.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_EditPatchMod.cpp @@ -264,7 +264,7 @@ void EditPatchMod::NewSetByOperator(TSTR &newName, Tab < int> &sets, int op) // Named selection set copy/paste methods follow... -static BOOL CALLBACK PickSetNameDlgProc( +static INT_PTR CALLBACK PickSetNameDlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { static TSTR *name; @@ -328,7 +328,7 @@ BOOL EditPatchMod::GetUniqueSetName(TSTR &name) -static BOOL CALLBACK PickSetDlgProc( +static INT_PTR CALLBACK PickSetDlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_Main.cpp b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_Main.cpp index 32c0eb120..a6592893b 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_Main.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_Main.cpp @@ -9,12 +9,12 @@ #define PROMPT_TIME 2000 -BOOL CALLBACK PatchSelectDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchOpsDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchObjSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchTileDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); -BOOL CALLBACK PatchEdgeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchSelectDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchOpsDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchObjSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchSurfDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchTileDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK PatchEdgeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); extern void CancelEditPatchModes(IObjParam *ip); diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_Rollup.cpp b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_Rollup.cpp index e550f1774..22b06376b 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_Rollup.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_Rollup.cpp @@ -33,10 +33,10 @@ extern void CancelEditPatchModes(IObjParam *ip); extern void LoadImages(); -BOOL CALLBACK PatchSelectDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +INT_PTR CALLBACK PatchSelectDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { static char string[64]; - EditPatchMod *ep =(EditPatchMod *)GetWindowLong(hDlg, GWL_USERDATA); + EditPatchMod *ep =(EditPatchMod *)GetWindowLongPtr(hDlg, GWLP_USERDATA); ICustToolbar *iToolbar; if (!ep && message != WM_INITDIALOG) return FALSE; @@ -104,7 +104,7 @@ BOOL CALLBACK PatchSelectDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM ep =(EditPatchMod *)lParam; ep->hSelectPanel = hDlg; - SetWindowLong(hDlg, GWL_USERDATA, (LONG)ep); + SetWindowLongPtr(hDlg, GWLP_USERDATA, (LONG_PTR)ep); // Set up the editing level selector LoadImages(); iToolbar = GetICustToolbar(GetDlgItem(hDlg, IDC_SELTYPE)); @@ -349,9 +349,9 @@ void EditPatchMod::SetOpsDlgEnables() // ------------------------------------------------------------------------------------------------------------------------------------------------------ -BOOL CALLBACK PatchOpsDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +INT_PTR CALLBACK PatchOpsDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { - EditPatchMod *ep =(EditPatchMod *)GetWindowLong(hDlg, GWL_USERDATA); + EditPatchMod *ep =(EditPatchMod *)GetWindowLongPtr(hDlg, GWLP_USERDATA); if (!ep && message != WM_INITDIALOG) return FALSE; @@ -367,7 +367,7 @@ BOOL CALLBACK PatchOpsDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lPa ep->hOpsPanel = hDlg; for (int i = IDC_SMOOTH_GRP1; i < IDC_SMOOTH_GRP1 + 32; i++) SendMessage(GetDlgItem(hDlg, i), CC_COMMAND, CC_CMD_SET_TYPE, CBT_CHECK); - SetWindowLong(hDlg, GWL_USERDATA, (LONG)ep); + SetWindowLongPtr(hDlg, GWLP_USERDATA, (LONG_PTR)ep); ICustButton *but = GetICustButton(GetDlgItem(hDlg, IDC_ATTACH)); but->SetHighlightColor(GREEN_WASH); but->SetType(CBT_CHECK); diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_editpops.cpp b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_editpops.cpp index 65344b052..abbd4e34d 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_editpops.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_editpops.cpp @@ -50,7 +50,7 @@ EPTempData::EPTempData(EditPatchMod *m,EditPatchData *pd) mod = m; } -void EPTempData::Invalidate(DWORD part,BOOL patchValid) +void EPTempData::Invalidate(PartID part,BOOL patchValid) { if ( !patchValid ) { diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_mods.cpp b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_mods.cpp index 3723a8a75..4020110e3 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_mods.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/NP_mods.cpp @@ -225,11 +225,11 @@ __declspec( dllexport ) ULONG CanAutoDefer() BOOL CALLBACK DefaultSOTProc( HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam) { - IObjParam *ip = (IObjParam*)GetWindowLong(hWnd,GWL_USERDATA); + IObjParam *ip = (IObjParam*)GetWindowLongPtr(hWnd,GWLP_USERDATA); switch (msg) { case WM_INITDIALOG: - SetWindowLong(hWnd,GWL_USERDATA,lParam); + SetWindowLongPtr(hWnd,GWLP_USERDATA,lParam); break; case WM_LBUTTONDOWN: diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/mods.def b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/mods.def index f3b941802..d3759424e 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/mods.def +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/mods.def @@ -1,4 +1,4 @@ -LIBRARY neleditpatchadv +;LIBRARY neleditpatchadv EXPORTS LibDescription @1 LibNumberClasses @2 diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/stdafx.h b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/stdafx.h index 14e542a3f..9045b4b53 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/stdafx.h +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit_adv/stdafx.h @@ -1,4 +1,6 @@ #pragma warning (disable : 4786) + +#include #include #include #include diff --git a/code/nel/tools/3d/plugin_max/nel_patch_lib/CMakeLists.txt b/code/nel/tools/3d/plugin_max/nel_patch_lib/CMakeLists.txt index faaac3f5d..63f0a5bcc 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_lib/CMakeLists.txt +++ b/code/nel/tools/3d/plugin_max/nel_patch_lib/CMakeLists.txt @@ -8,4 +8,4 @@ NL_DEFAULT_PROPS(nel_patch_lib "MAX Plugin: NeL Patch Library") NL_ADD_RUNTIME_FLAGS(nel_patch_lib) NL_ADD_LIB_SUFFIX(nel_patch_lib) -INSTALL(TARGETS nel_patch_lib RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS nel_patch_lib RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) diff --git a/code/nel/tools/3d/plugin_max/nel_patch_lib/stdafx.h b/code/nel/tools/3d/plugin_max/nel_patch_lib/stdafx.h index 85d489147..db03395e8 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_lib/stdafx.h +++ b/code/nel/tools/3d/plugin_max/nel_patch_lib/stdafx.h @@ -17,7 +17,9 @@ #pragma conform(forScope, push) #pragma conform(forScope, off) +#ifndef _CRT_SECURE_NO_DEPRECATE #define _CRT_SECURE_NO_DEPRECATE +#endif #pragma warning (disable : 4786) #include diff --git a/code/nel/tools/3d/plugin_max/nel_patch_paint/CMakeLists.txt b/code/nel/tools/3d/plugin_max/nel_patch_paint/CMakeLists.txt index 54f2c1724..628cb3120 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_paint/CMakeLists.txt +++ b/code/nel/tools/3d/plugin_max/nel_patch_paint/CMakeLists.txt @@ -24,5 +24,5 @@ NL_ADD_LIB_SUFFIX(nel_patch_paint) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) -INSTALL(TARGETS nel_patch_paint RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS nel_patch_paint RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) INSTALL(FILES keys.cfg DESTINATION maxplugin/plugins ) \ No newline at end of file diff --git a/code/nel/tools/3d/plugin_max/nel_patch_paint/nel_patch_paint.def b/code/nel/tools/3d/plugin_max/nel_patch_paint/nel_patch_paint.def index 59c2e5d46..ddb039e28 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_paint/nel_patch_paint.def +++ b/code/nel/tools/3d/plugin_max/nel_patch_paint/nel_patch_paint.def @@ -1,4 +1,4 @@ -LIBRARY nelpaintpatch.dlm +;LIBRARY nelpaintpatch.dlm EXPORTS LibDescription @1 LibNumberClasses @2 diff --git a/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/CMakeLists.txt b/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/CMakeLists.txt index 2f910ac9a..9c4f6deb2 100644 --- a/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/CMakeLists.txt +++ b/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/CMakeLists.txt @@ -19,4 +19,4 @@ NL_DEFAULT_PROPS(nel_vertex_tree_paint "MAX Plugin: NeL Vertex Tree Painter") NL_ADD_RUNTIME_FLAGS(nel_vertex_tree_paint) NL_ADD_LIB_SUFFIX(nel_vertex_tree_paint) -INSTALL(TARGETS nel_vertex_tree_paint RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS nel_vertex_tree_paint RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) diff --git a/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/vertex_tree_paint.def b/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/vertex_tree_paint.def index 1c3524d1c..dcd6d1e33 100644 --- a/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/vertex_tree_paint.def +++ b/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/vertex_tree_paint.def @@ -1,4 +1,4 @@ -LIBRARY nel_vertex_tree_paint +;LIBRARY nel_vertex_tree_paint EXPORTS LibDescription @1 LibNumberClasses @2 diff --git a/code/nel/tools/3d/plugin_max/tile_utility/CMakeLists.txt b/code/nel/tools/3d/plugin_max/tile_utility/CMakeLists.txt index 772efe8b9..7f0122cda 100644 --- a/code/nel/tools/3d/plugin_max/tile_utility/CMakeLists.txt +++ b/code/nel/tools/3d/plugin_max/tile_utility/CMakeLists.txt @@ -18,4 +18,4 @@ NL_DEFAULT_PROPS(tile_utility "MAX Plugin: Tile Utility") NL_ADD_RUNTIME_FLAGS(tile_utility) NL_ADD_LIB_SUFFIX(tile_utility) -INSTALL(TARGETS tile_utility RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS tile_utility RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries) diff --git a/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.def b/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.def index 6a8b07e45..8fe710a8f 100644 --- a/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.def +++ b/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.def @@ -1,4 +1,4 @@ -LIBRARY neltileutility.dlu +;LIBRARY neltileutility.dlu EXPORTS LibDescription @1 LibNumberClasses @2 diff --git a/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.h b/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.h index ade41e486..5d5e4e298 100644 --- a/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.h +++ b/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.h @@ -20,7 +20,9 @@ #pragma conform(forScope, push) #pragma conform(forScope, off) +#ifndef _CRT_SECURE_NO_DEPRECATE #define _CRT_SECURE_NO_DEPRECATE +#endif #include #include diff --git a/code/nel/tools/3d/s3tc_compressor_lib/CMakeLists.txt b/code/nel/tools/3d/s3tc_compressor_lib/CMakeLists.txt new file mode 100644 index 000000000..4062f6905 --- /dev/null +++ b/code/nel/tools/3d/s3tc_compressor_lib/CMakeLists.txt @@ -0,0 +1,16 @@ +FILE(GLOB SRC *.cpp) +FILE(GLOB HEADER *.h) + +INCLUDE_DIRECTORIES(${SQUISH_INCLUDE_DIR}) + +NL_TARGET_LIB(s3tc_compressor ${SRC} ${HEADER}) + +TARGET_LINK_LIBRARIES(s3tc_compressor ${SQUISH_LIBRARIES} nelmisc nel3d) +NL_DEFAULT_PROPS(s3tc_compressor "NeL, Tools, 3D: S3TC Compressor Library") +NL_ADD_RUNTIME_FLAGS(s3tc_compressor) + +ADD_DEFINITIONS(${SQUISH_DEFINITIONS}) + +IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) + INSTALL(TARGETS s3tc_compressor LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT tools3d) +ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) diff --git a/code/nel/tools/3d/s3tc_compressor_lib/s3tc_compressor.cpp b/code/nel/tools/3d/s3tc_compressor_lib/s3tc_compressor.cpp index f714dcd6d..6423f77f2 100644 --- a/code/nel/tools/3d/s3tc_compressor_lib/s3tc_compressor.cpp +++ b/code/nel/tools/3d/s3tc_compressor_lib/s3tc_compressor.cpp @@ -60,8 +60,12 @@ static void compressMipMap(uint8 *pixSrc, sint width, sint height, vector +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +using namespace NLMISC; +using namespace NL3D; +using namespace std; + +struct CVertex +{ + CVector vertex; + CVector normal; + CUV uv; +}; + +bool operator == (const CVertex &v1, const CVertex &v2) +{ + return (v1.vertex == v2.vertex) && (v1.normal == v2.normal) && (v1.uv == v2.uv); +} + +bool operator < (const CVertex &v1, const CVertex &v2) +{ + return (v1.vertex < v2.vertex); +} + +const CIndexBuffer *getRdrPassPrimitiveBlock(const CMeshMRMGeom *mesh, uint lodId, uint renderPass) +{ + return &(mesh->getRdrPassPrimitiveBlock(lodId, renderPass)); +} + +// *************************************************************************** + +const CIndexBuffer *getRdrPassPrimitiveBlock(const CMeshMRMSkinnedGeom *mesh, uint lodId, uint renderPass) +{ + static CIndexBuffer block; + mesh->getRdrPassPrimitiveBlock(lodId, renderPass, block); + return █ +} + +// *************************************************************************** + +bool ProcessMeshMRMSkinned(const std::string &filename, IShape *shapeMesh); +bool ProcessMeshMRM(const std::string &filename, IShape *shapeMesh); +bool ProcessMesh(const std::string &filename, IShape *shapeMesh); + +int main(int argc, char* argv[]) +{ + if (argc < 2) + { + cout << "Syntax : shape2obj " << endl; + + return 1; + } + + if (!NLMISC::INelContext::isContextInitialised()) new NLMISC::CApplicationContext(); + + registerSerial3d(); + CScene::registerBasics(); + + IShape *shapeMesh = NULL; + + CIFile ifile; + + // Sream a shape + CShapeStream streamShape; + + string filename = argv[1]; + + if (!ifile.open(filename)) return 1; + + try + { + // Stream it + streamShape.serial(ifile); + + // Add the shape + shapeMesh = streamShape.getShapePointer(); + } + catch (Exception& e) + { + cout << "Error : " << e.what() << endl; + + return 1; + } + + if (ProcessMeshMRMSkinned(filename, shapeMesh)) return 0; + if (ProcessMeshMRM(filename, shapeMesh)) return 0; + if (ProcessMesh(filename, shapeMesh)) return 0; + + return 0; +} + +bool ProcessMeshMRMSkinned(const std::string &filename, IShape *shapeMesh) +{ + CMeshMRMSkinned *mesh = dynamic_cast(shapeMesh); + + if (!mesh) return false; + + COFile ofile; + + CMeshMRMSkinnedGeom* meshIn = (CMeshMRMSkinnedGeom*)&mesh->getMeshGeom(); + + std::vector skinWeights; + meshIn->getSkinWeights(skinWeights); + CVertexBuffer vertexBuffer; + meshIn->getVertexBuffer(vertexBuffer); + + CVertexBufferRead vba; + vertexBuffer.lock (vba); + uint i, j; + + // **** Select the Lod. + uint numLods= meshIn->getNbLod(); + + // get the max tris displayed + float numMeshFacesMin= (float)meshIn->getLevelDetail().MinFaceUsed; + float numMeshFacesMax= (float)meshIn->getLevelDetail().MaxFaceUsed; + // find the lod + sint lodId = numLods-1; + + // **** First, for the best lod indicate what vertex is used or not. Also index geomorphs to know what real vertex is used + vector vertexUsed; + // -1 means "not used" + vertexUsed.resize(skinWeights.size(), -1); + // Parse all triangles. + for(i=0;igetNbRdrPass(lodId); ++i) + { + const CIndexBuffer *pb = getRdrPassPrimitiveBlock(meshIn, lodId, i); + CIndexBufferRead iba; + pb->lock (iba); + if (iba.getFormat() == CIndexBuffer::Indices32) + { + const uint32 *triPtr= (const uint32 *) iba.getPtr(); + for(j=0;jgetNumIndexes(); ++j) + { + uint idx= *triPtr; + // Flag the vertex with its own index => used. + vertexUsed[idx]= idx; + triPtr++; + } + } + else + { + const uint16 *triPtr= (const uint16 *) iba.getPtr(); + for(j=0;jgetNumIndexes(); ++j) + { + uint idx= *triPtr; + // Flag the vertex with its own index => used. + vertexUsed[idx]= idx; + triPtr++; + } + } + } + // Special for Geomorphs: must take The End target vertex. + const std::vector &geomorphs= meshIn->getGeomorphs(lodId); + for(i=0;i shadowVertices; + vector vertexToVSkin; + vertexToVSkin.resize(vertexUsed.size()); + shadowVertices.reserve(vertexUsed.size()); + // use a map to remove duplicates (because of UV/normal discontinuities before!!) + map shadowVertexMap; + uint numMerged= 0; + // Skip Geomorphs. + for(i=geomorphs.size();imaxW) + { + matId= sw.MatrixId[j]; + maxW= sw.Weights[j]; + } + } +// shadowVert.MatrixId= matId; +*/ + // If dont find the shadowVertex in the map. + map::iterator it= shadowVertexMap.find(shadowVert); + if(it==shadowVertexMap.end()) + { + // Append + uint index= shadowVertices.size(); + vertexToVSkin[i]= index; + shadowVertices.push_back(shadowVert); + shadowVertexMap.insert(make_pair(shadowVert, index)); + } + else + { + // Ok, map. + vertexToVSkin[i]= it->second; + numMerged++; + } + + } + } + + ofstream ofs(string(filename + ".obj").c_str()); + + for(size_t y = 0; y < shadowVertices.size(); ++y) + { + CVector v = shadowVertices[y].vertex; + CVector vn = shadowVertices[y].normal; + CUV vt = shadowVertices[y].uv; + + ofs << "v " << v.x << " " << v.y << " " << v.z << endl; + ofs << "vn " << vn.x << " " << vn.y << " " << vn.z << endl; + ofs << "vt " << vt.U << " " << vt.V << endl; + } + + // **** Get All Faces + // Final List Of Triangles that match the bone. + vector shadowTriangles; + shadowTriangles.reserve(1000); + // Parse all input tri of the mesh. + for(i=0; igetNbRdrPass(lodId); ++i) + { + ofs << "g pass" << i << endl; + + const CIndexBuffer *pb = getRdrPassPrimitiveBlock(meshIn, lodId, i); + CIndexBufferRead iba; + pb->lock (iba); + if (iba.getFormat() == CIndexBuffer::Indices32) + { + const uint32 *triPtr= (const uint32 *) iba.getPtr(); + + for(j=0; jgetNumIndexes(); ++j) + { + uint idx= *triPtr; + // Get the real Vertex (ie not the geomporhed one). + idx= vertexUsed[idx]; + // Get the ShadowVertex associated + idx= vertexToVSkin[idx]; + + shadowTriangles.push_back(idx); + triPtr++; + } + } + else + { + const uint16 *triPtr= (const uint16 *) iba.getPtr(); + for(j=0; jgetNumIndexes(); ++j) + { + uint idx= *triPtr; + // Get the real Vertex (ie not the geomporhed one). + idx= vertexUsed[idx]; + // Get the ShadowVertex associated + idx= vertexToVSkin[idx]; + + shadowTriangles.push_back(idx); + triPtr++; + } + } + + for(size_t pass = 0; pass(shapeMesh); + + if (!mesh) return false; + + COFile ofile; + + CMeshMRMGeom* meshIn = (CMeshMRMGeom*)&mesh->getMeshGeom(); + + std::vector skinWeights = meshIn->getSkinWeights(); + CVertexBuffer vertexBuffer = meshIn->getVertexBuffer(); + + CVertexBufferRead vba; + vertexBuffer.lock (vba); + uint i, j; + + // **** Select the Lod. + uint numLods= meshIn->getNbLod(); + + // get the max tris displayed + float numMeshFacesMin= (float)meshIn->getLevelDetail().MinFaceUsed; + float numMeshFacesMax= (float)meshIn->getLevelDetail().MaxFaceUsed; + // find the lod + sint lodId = numLods-1; + + // **** First, for the best lod indicate what vertex is used or not. Also index geomorphs to know what real vertex is used + vector vertexUsed; + // -1 means "not used" + vertexUsed.resize(skinWeights.size(), -1); + // Parse all triangles. + for(i=0;igetNbRdrPass(lodId); ++i) + { + const CIndexBuffer *pb = getRdrPassPrimitiveBlock(meshIn, lodId, i); + CIndexBufferRead iba; + pb->lock (iba); + if (iba.getFormat() == CIndexBuffer::Indices32) + { + const uint32 *triPtr= (const uint32 *) iba.getPtr(); + for(j=0;jgetNumIndexes(); ++j) + { + uint idx= *triPtr; + // Flag the vertex with its own index => used. + vertexUsed[idx]= idx; + triPtr++; + } + } + else + { + const uint16 *triPtr= (const uint16 *) iba.getPtr(); + for(j=0;jgetNumIndexes(); ++j) + { + uint idx= *triPtr; + // Flag the vertex with its own index => used. + vertexUsed[idx]= idx; + triPtr++; + } + } + } + // Special for Geomorphs: must take The End target vertex. + const std::vector &geomorphs= meshIn->getGeomorphs(lodId); + for(i=0;i shadowVertices; + vector vertexToVSkin; + vertexToVSkin.resize(vertexUsed.size()); + shadowVertices.reserve(vertexUsed.size()); + // use a map to remove duplicates (because of UV/normal discontinuities before!!) + map shadowVertexMap; + uint numMerged= 0; + // Skip Geomorphs. + for(i=geomorphs.size();imaxW) + { + matId= sw.MatrixId[j]; + maxW= sw.Weights[j]; + } + } +// shadowVert.MatrixId= matId; +*/ + // If dont find the shadowVertex in the map. + map::iterator it= shadowVertexMap.find(shadowVert); + if(it==shadowVertexMap.end()) + { + // Append + uint index= shadowVertices.size(); + vertexToVSkin[i]= index; + shadowVertices.push_back(shadowVert); + shadowVertexMap.insert(make_pair(shadowVert, index)); + } + else + { + // Ok, map. + vertexToVSkin[i]= it->second; + numMerged++; + } + + } + } + + ofstream ofs(string(filename + ".obj").c_str()); + + for(size_t y = 0; y < shadowVertices.size(); ++y) + { + CVector v = shadowVertices[y].vertex; + CVector vn = shadowVertices[y].normal; + CUV vt = shadowVertices[y].uv; + + ofs << "v " << v.x << " " << v.y << " " << v.z << endl; + ofs << "vn " << vn.x << " " << vn.y << " " << vn.z << endl; + ofs << "vt " << vt.U << " " << vt.V << endl; + } + + // **** Get All Faces + // Final List Of Triangles that match the bone. + vector shadowTriangles; + shadowTriangles.reserve(1000); + // Parse all input tri of the mesh. + for(i=0; igetNbRdrPass(lodId); ++i) + { + ofs << "g pass" << i << endl; + + const CIndexBuffer *pb = getRdrPassPrimitiveBlock(meshIn, lodId, i); + CIndexBufferRead iba; + pb->lock (iba); + if (iba.getFormat() == CIndexBuffer::Indices32) + { + const uint32 *triPtr= (const uint32 *) iba.getPtr(); + + for(j=0; jgetNumIndexes(); ++j) + { + uint idx= *triPtr; + // Get the real Vertex (ie not the geomporhed one). + idx= vertexUsed[idx]; + // Get the ShadowVertex associated + idx= vertexToVSkin[idx]; + + shadowTriangles.push_back(idx); + triPtr++; + } + } + else + { + const uint16 *triPtr= (const uint16 *) iba.getPtr(); + for(j=0; jgetNumIndexes(); ++j) + { + uint idx= *triPtr; + // Get the real Vertex (ie not the geomporhed one). + idx= vertexUsed[idx]; + // Get the ShadowVertex associated + idx= vertexToVSkin[idx]; + + shadowTriangles.push_back(idx); + triPtr++; + } + } + + for(size_t pass = 0; pass(shapeMesh); + + if (!mesh) return false; + + COFile ofile; + + CMeshGeom* meshIn = (CMeshGeom*)&mesh->getMeshGeom(); + + CVertexBuffer vertexBuffer = meshIn->getVertexBuffer(); + +// CVertexBufferRead vba; +// vertexBuffer.lock (vba); + + uint i = vertexBuffer.getNumVertices(); + + std::vector vertices; + meshIn->retrieveVertices(vertices); + + std::vector indices; + meshIn->retrieveTriangles(indices); + + + // **** For all vertices used (not geomorphs), compute vertex Skins. + vector shadowVertices; + vector vertexToVSkin; + vertexToVSkin.resize(indices.size()); + shadowVertices.reserve(indices.size()); + // use a map to remove duplicates (because of UV/normal discontinuities before!!) + map shadowVertexMap; + uint numMerged= 0; + // Skip Geomorphs. + for(i=0;imaxW) + { + matId= sw.MatrixId[j]; + maxW= sw.Weights[j]; + } + } + + // If dont find the shadowVertex in the map. + map::iterator it= shadowVertexMap.find(shadowVert); + if(it==shadowVertexMap.end()) + { + // Append + uint index= shadowVertices.size(); + vertexToVSkin[i]= index; + shadowVertices.push_back(shadowVert); + shadowVertexMap.insert(make_pair(shadowVert, index)); + } + else + { + // Ok, map. + vertexToVSkin[i]= it->second; + numMerged++; + } + } + + ofstream ofs(string(filename + ".obj").c_str()); + + for(size_t y = 0; y < shadowVertices.size(); ++y) + { + CVector v = shadowVertices[y].vertex; + CVector vn = shadowVertices[y].normal; + CUV vt = shadowVertices[y].uv; + + ofs << "v " << v.x << " " << v.y << " " << v.z << endl; + ofs << "vn " << vn.x << " " << vn.y << " " << vn.z << endl; + ofs << "vt " << vt.U << " " << vt.V << endl; + } + + // **** Get All Faces + // Final List Of Triangles that match the bone. + vector shadowTriangles; + shadowTriangles.reserve(1000); + // Parse all input tri of the mesh. + for(i=0; igetNbRdrPass(lodId); ++i) + { + ofs << "g pass" << i << endl; + + const CIndexBuffer *pb = getRdrPassPrimitiveBlock(meshIn, lodId, i); + CIndexBufferRead iba; + pb->lock (iba); + if (iba.getFormat() == CIndexBuffer::Indices32) + { + const uint32 *triPtr= (const uint32 *) iba.getPtr(); + + for(j=0; jgetNumIndexes(); ++j) + { + uint idx= *triPtr; + // Get the real Vertex (ie not the geomporhed one). + idx= vertexUsed[idx]; + // Get the ShadowVertex associated + idx= vertexToVSkin[idx]; + + shadowTriangles.push_back(idx); + triPtr++; + } + } + else + { + const uint16 *triPtr= (const uint16 *) iba.getPtr(); + for(j=0; jgetNumIndexes(); ++j) + { + uint idx= *triPtr; + // Get the real Vertex (ie not the geomporhed one). + idx= vertexUsed[idx]; + // Get the ShadowVertex associated + idx= vertexToVSkin[idx]; + + shadowTriangles.push_back(idx); + triPtr++; + } + } + + for(size_t pass = 0; passclearTile128 (index, bitmap, tileBankBrowser); } @@ -622,6 +630,8 @@ void TileList::clearTile256 (int index, CTile::TBitmap bitmap) case CTile::alpha: nlassert(0); break; + default: + break; } tileBankBrowser.getTileSet (_tileSet)->clearTile256 (index, bitmap, tileBankBrowser); } @@ -642,6 +652,8 @@ void TileList::clearTransition (int index, CTile::TBitmap bitmap) theListTransition[index].alphaLoaded=0; theListTransition[index].alphaBits.resize(0); break; + default: + break; } tileBankBrowser.getTileSet (_tileSet)->clearTransition ((CTileSet::TTransition)index, bitmap, tileBankBrowser); } @@ -660,6 +672,8 @@ void TileList::clearDisplacement (int index, CTile::TBitmap bitmap) case CTile::alpha: nlassert(0); break; + default: + break; } tileBankBrowser.getTileSet (_tileSet)->clearDisplacement ((CTileSet::TDisplacement)index, tileBankBrowser); @@ -717,7 +731,8 @@ void TileList::Reload(int first, int last, TileType n) //recharge en memoire une theList[n][i].Load (index, NULL); break; } - + default: + break; } } } diff --git a/code/nel/tools/3d/tile_edit_qt/pic/PIC_System.c b/code/nel/tools/3d/tile_edit_qt/pic/PIC_System.c index 4e97fed78..498e5d302 100644 --- a/code/nel/tools/3d/tile_edit_qt/pic/PIC_System.c +++ b/code/nel/tools/3d/tile_edit_qt/pic/PIC_System.c @@ -8,8 +8,8 @@ #define PIC_ERRSIZE 256 -static unsigned long PIC_Sys_MEM_Allocated; -static unsigned long PIC_Sys_MEM_NbAllocs; +static size_t PIC_Sys_MEM_Allocated; +static size_t PIC_Sys_MEM_NbAllocs; #if defined(__APPLE__) #define _msize malloc_size @@ -31,7 +31,7 @@ void *Pic_malloc(unsigned long size) return(mem); } /* ----- */ -void *Pic_calloc(unsigned long count, unsigned long size) +void *Pic_calloc(size_t count, size_t size) { void *mem; mem=calloc(count,size); @@ -45,24 +45,24 @@ void *Pic_calloc(unsigned long count, unsigned long size) /* ----- */ void Pic_free(void *memblock) { - unsigned long size; + size_t size; size=_msize(memblock); PIC_Sys_MEM_Allocated-=size; PIC_Sys_MEM_NbAllocs--; free(memblock); } /* ----- */ -unsigned long Pic__msize(void *memblock) +size_t Pic__msize(void *memblock) { return(_msize(memblock)); } /* ----- */ -unsigned long PIC_GetMemNbAllocs(void) +size_t PIC_GetMemNbAllocs(void) { return(PIC_Sys_MEM_NbAllocs); } /* ----- */ -unsigned long PIC_GetMemAllocated(void) +size_t PIC_GetMemAllocated(void) { return(PIC_Sys_MEM_Allocated); } @@ -74,7 +74,7 @@ static unsigned char PIC_ErrorString[PIC_ERRSIZE]; static unsigned char PIC_Sys_FnctActive=0; static void (*PIC_Sys_Fnct)(void); -void Pic_SetError(unsigned char *msg, ...) +void Pic_SetError(const char *msg, ...) { unsigned char curerr[PIC_ERRSIZE],olderr[PIC_ERRSIZE]; va_list args; diff --git a/code/nel/tools/3d/tile_edit_qt/pic/Pic_BMP.c b/code/nel/tools/3d/tile_edit_qt/pic/Pic_BMP.c index 332ee1b0d..1119766da 100644 --- a/code/nel/tools/3d/tile_edit_qt/pic/Pic_BMP.c +++ b/code/nel/tools/3d/tile_edit_qt/pic/Pic_BMP.c @@ -31,7 +31,7 @@ typedef struct BMP_HEADER /* ---------------------------------------------------------------------------------------------------------------------------------- */ -unsigned long Pic_BMP_Write( unsigned char *FileName, +unsigned long Pic_BMP_Write( const char *FileName, unsigned char *pPal,unsigned char *pDatas, unsigned long w, unsigned long h, unsigned long d) @@ -117,7 +117,7 @@ unsigned long Pic_BMP_Write( unsigned char *FileName, /* ---------------------------------------------------------------------------------------------------------------------------------- */ -unsigned long Pic_BMP_Read( unsigned char *FileName, +unsigned long Pic_BMP_Read( const char *FileName, unsigned char **ppPal, unsigned char **ppDatas, unsigned long *pWidth, unsigned long *pHeight, unsigned long *pDepth) diff --git a/code/nel/tools/3d/tile_edit_qt/pic/Pic_JPG.c b/code/nel/tools/3d/tile_edit_qt/pic/Pic_JPG.c index f13f93b13..dc22afadf 100644 --- a/code/nel/tools/3d/tile_edit_qt/pic/Pic_JPG.c +++ b/code/nel/tools/3d/tile_edit_qt/pic/Pic_JPG.c @@ -31,7 +31,7 @@ void my_error_exit(j_common_ptr cinfo) /* ---------------------------------------------------------------------------------------------------------------------------------- */ -unsigned long Pic_JPG_Read(unsigned char *FileName, unsigned char **ppPal, unsigned char **ppDatas, unsigned long *w, unsigned long *h) +unsigned long Pic_JPG_Read(const char *FileName, unsigned char **ppPal, unsigned char **ppDatas, unsigned long *w, unsigned long *h) { struct jpeg_decompress_struct cinfo; struct my_error_mgr jerr; @@ -114,7 +114,7 @@ unsigned long Pic_JPG_Read(unsigned char *FileName, unsigned char **ppPal, unsig /* ---------------------------------------------------------------------------------------------------------------------------------- */ -unsigned long Pic_JPG_Write(unsigned char *FileName, unsigned long Qual, unsigned char *pDatas, unsigned long w, unsigned long h) +unsigned long Pic_JPG_Write(const char *FileName, unsigned long Qual, unsigned char *pDatas, unsigned long w, unsigned long h) { struct jpeg_compress_struct cinfo; struct my_error_mgr jerr; diff --git a/code/nel/tools/3d/tile_edit_qt/pic/Pic_Manage.c b/code/nel/tools/3d/tile_edit_qt/pic/Pic_Manage.c index 6efaf0f03..ccc8cdc12 100644 --- a/code/nel/tools/3d/tile_edit_qt/pic/Pic_Manage.c +++ b/code/nel/tools/3d/tile_edit_qt/pic/Pic_Manage.c @@ -504,7 +504,7 @@ static char* ConvPic(PIC_PICTURE *pic, unsigned long type, char* pErr) /* ---------------------------------------- */ -unsigned long PIC_Save(unsigned long id, char* FileName, unsigned long type, unsigned long qual) +unsigned long PIC_Save(unsigned long id, const char* FileName, unsigned long type, unsigned long qual) { PIC_PICTURE *pic; unsigned char err; diff --git a/code/nel/tools/3d/tile_edit_qt/pic/Pic_TGA.c b/code/nel/tools/3d/tile_edit_qt/pic/Pic_TGA.c index 5f598d4eb..4c458dc83 100644 --- a/code/nel/tools/3d/tile_edit_qt/pic/Pic_TGA.c +++ b/code/nel/tools/3d/tile_edit_qt/pic/Pic_TGA.c @@ -27,7 +27,7 @@ typedef struct TGA_HEADER /* ---------------------------------------------------------------------------------------------------------------------------------- */ -unsigned long Pic_TGA_Read( unsigned char *FileName, +unsigned long Pic_TGA_Read( const char *FileName, unsigned char **ppPal, unsigned char **ppDatas, unsigned long *pWidth, unsigned long *pHeight, unsigned long *pDepth) @@ -140,7 +140,7 @@ unsigned long Pic_TGA_Read( unsigned char *FileName, /* ---------------------------------------------------------------------------------------------------------------------------------- */ -unsigned long Pic_TGA_Write( unsigned char *FileName, +unsigned long Pic_TGA_Write( const char *FileName, unsigned char *pPal,unsigned char *pDatas, unsigned long w, unsigned long h, unsigned long d) { diff --git a/code/nel/tools/3d/tile_edit_qt/pic/pic.h b/code/nel/tools/3d/tile_edit_qt/pic/pic.h index 761073552..cec5a0ff0 100644 --- a/code/nel/tools/3d/tile_edit_qt/pic/pic.h +++ b/code/nel/tools/3d/tile_edit_qt/pic/pic.h @@ -22,7 +22,7 @@ extern unsigned long PIC_Load(char* FileName, unsigned char Quantize); extern unsigned long PIC_Create(unsigned char* pPal, unsigned char* pDatas, unsigned long w, unsigned long h, unsigned long d); -extern unsigned long PIC_Save(unsigned long id, char* FileName, unsigned long type, unsigned long qual); +extern unsigned long PIC_Save(unsigned long id, const char* FileName, unsigned long type, unsigned long qual); extern unsigned long PIC_GetInfos( unsigned long id, unsigned char* *ppPal, unsigned char* *ppDatas, diff --git a/code/nel/tools/3d/tile_edit_qt/pic/pic_private.h b/code/nel/tools/3d/tile_edit_qt/pic/pic_private.h index 2ecd984b7..96b7a0e94 100644 --- a/code/nel/tools/3d/tile_edit_qt/pic/pic_private.h +++ b/code/nel/tools/3d/tile_edit_qt/pic/pic_private.h @@ -1,71 +1,71 @@ -#ifndef _PIC_PRIVATE_H_ -#define _PIC_PRIVATE_H_ -#ifdef __cplusplus -extern "C" { -#endif - -/* ---------------------------------------------------------------------------------------------------------------------------------- */ - -typedef struct PIC_PICTURE -{ - unsigned long ID; - unsigned long Width; - unsigned long Height; - unsigned long Depth; - unsigned char *pDatas; - unsigned char *pPal; - struct PIC_PICTURE *Next; -} PIC_PICTURE; - -/* ---------------------------------------------------------------------------------------------------------------------------------- */ - - -/* - * JPG - */ - - -extern unsigned long Pic_JPG_Read( unsigned char *FileName, - unsigned char **ppPal, unsigned char **ppDatas, - unsigned long *w, unsigned long *h); - -extern unsigned long Pic_JPG_Write( unsigned char *FileName, - unsigned long Qual, - unsigned char *pDatas, - unsigned long w, unsigned long h); -/* - * TGA - */ -extern unsigned long Pic_TGA_Read( unsigned char *FileName, - unsigned char **ppPal, unsigned char **ppDatas, - unsigned long *pWidth, unsigned long *pHeight, - unsigned long *pDepth); -extern unsigned long Pic_TGA_Write( unsigned char *FileName, - unsigned char *pPal,unsigned char *pDatas, - unsigned long w, unsigned long h, unsigned long d); -/* - * BMP - */ -extern unsigned long Pic_BMP_Read( unsigned char *FileName, - unsigned char **ppPal, unsigned char **ppDatas, - unsigned long *pWidth, unsigned long *pHeight, - unsigned long *pDepth); - -extern unsigned long Pic_BMP_Write( unsigned char *FileName, - unsigned char *pPal,unsigned char *pDatas, - unsigned long w, unsigned long h, unsigned long d); -/* - * System - */ -extern void* Pic_malloc(unsigned long size); -extern void* Pic_calloc(unsigned long count, unsigned long size); -extern void Pic_free(void *memblock); -extern unsigned long Pic__msize(void *memblock); -extern void Pic_SetError(unsigned char *msg, ...); - -/* ---------------------------------------------------------------------------------------------------------------------------------- */ - -#ifdef __cplusplus -} -#endif +#ifndef _PIC_PRIVATE_H_ +#define _PIC_PRIVATE_H_ +#ifdef __cplusplus +extern "C" { +#endif + +/* ---------------------------------------------------------------------------------------------------------------------------------- */ + +typedef struct PIC_PICTURE +{ + unsigned long ID; + unsigned long Width; + unsigned long Height; + unsigned long Depth; + unsigned char *pDatas; + unsigned char *pPal; + struct PIC_PICTURE *Next; +} PIC_PICTURE; + +/* ---------------------------------------------------------------------------------------------------------------------------------- */ + + +/* + * JPG + */ + + +extern unsigned long Pic_JPG_Read( const char *FileName, + unsigned char **ppPal, unsigned char **ppDatas, + unsigned long *w, unsigned long *h); + +extern unsigned long Pic_JPG_Write( const char *FileName, + unsigned long Qual, + unsigned char *pDatas, + unsigned long w, unsigned long h); +/* + * TGA + */ +extern unsigned long Pic_TGA_Read( const char *FileName, + unsigned char **ppPal, unsigned char **ppDatas, + unsigned long *pWidth, unsigned long *pHeight, + unsigned long *pDepth); +extern unsigned long Pic_TGA_Write( const char *FileName, + unsigned char *pPal,unsigned char *pDatas, + unsigned long w, unsigned long h, unsigned long d); +/* + * BMP + */ +extern unsigned long Pic_BMP_Read( const char *FileName, + unsigned char **ppPal, unsigned char **ppDatas, + unsigned long *pWidth, unsigned long *pHeight, + unsigned long *pDepth); + +extern unsigned long Pic_BMP_Write( const char *FileName, + unsigned char *pPal,unsigned char *pDatas, + unsigned long w, unsigned long h, unsigned long d); +/* + * System + */ +extern void* Pic_malloc(size_t size); +extern void* Pic_calloc(size_t count, size_t size); +extern void Pic_free(void *memblock); +extern size_t Pic__msize(void *memblock); +extern void Pic_SetError(const char *msg, ...); + +/* ---------------------------------------------------------------------------------------------------------------------------------- */ + +#ifdef __cplusplus +} +#endif #endif diff --git a/code/nel/tools/3d/tile_edit_qt/tile_browser_dlg.cpp b/code/nel/tools/3d/tile_edit_qt/tile_browser_dlg.cpp index 8c9dc7598..037ac65e8 100644 --- a/code/nel/tools/3d/tile_edit_qt/tile_browser_dlg.cpp +++ b/code/nel/tools/3d/tile_edit_qt/tile_browser_dlg.cpp @@ -235,7 +235,7 @@ void CTile_browser_dlg::on_actionAddTile_triggered(bool checked) { tileId = browserModel.addTile128 (); fileName = QDir::toNativeSeparators(fileNames.at(i)); - if ( ! browserModel.setTile128 ( tileId, fileName.toStdString(), (CTile::TBitmap) tileTextureButtonGroup->checkedId()) ) + if ( ! browserModel.setTile128 ( tileId, fileName.toUtf8().constData(), (CTile::TBitmap) tileTextureButtonGroup->checkedId()) ) { browserModel.removeTile128 (tileId); break; @@ -247,7 +247,7 @@ void CTile_browser_dlg::on_actionAddTile_triggered(bool checked) { tileId = browserModel.addTile256 (); fileName = QDir::toNativeSeparators(fileNames.at(i)); - if ( ! browserModel.setTile256 ( tileId, fileName.toStdString(), (CTile::TBitmap) tileTextureButtonGroup->checkedId()) ) + if ( ! browserModel.setTile256 ( tileId, fileName.toUtf8().constData(), (CTile::TBitmap) tileTextureButtonGroup->checkedId()) ) { browserModel.removeTile256 (tileId); break; @@ -307,7 +307,7 @@ void CTile_browser_dlg::on_actionReplaceImage_triggered(bool checked) { int tileId = (ui.tileBrowserListView->selectionModel()->selectedRows().at(i).data(Qt::UserRole + 1)).toInt(); - if ( ! browserModel.setTile128 ( tileId, fileName.toStdString(), (CTile::TBitmap) tileTextureButtonGroup->checkedId()) ) + if ( ! browserModel.setTile128 ( tileId, fileName.toUtf8().constData(), (CTile::TBitmap) tileTextureButtonGroup->checkedId()) ) break; } break; @@ -315,7 +315,7 @@ void CTile_browser_dlg::on_actionReplaceImage_triggered(bool checked) for (int i=0; iselectionModel()->selectedRows().count(); i++) { int tileId = (ui.tileBrowserListView->selectionModel()->selectedRows().at(i).data(Qt::UserRole + 1)).toInt(); - if ( ! browserModel.setTile256 (tileId, fileName.toStdString(), (CTile::TBitmap) tileTextureButtonGroup->checkedId()) ) + if ( ! browserModel.setTile256 (tileId, fileName.toUtf8().constData(), (CTile::TBitmap) tileTextureButtonGroup->checkedId()) ) break; } break; @@ -325,7 +325,7 @@ void CTile_browser_dlg::on_actionReplaceImage_triggered(bool checked) int tileId = (ui.tileBrowserListView->selectionModel()->selectedRows().at(i).data(Qt::UserRole + 1)).toInt(); if ( tileTextureButtonGroup->checkedId() != Alpha ) { - if ( ! browserModel.setTileTransition (tileId, fileName.toStdString(), (CTile::TBitmap) tileTextureButtonGroup->checkedId()) ) + if ( ! browserModel.setTileTransition (tileId, fileName.toUtf8().constData(), (CTile::TBitmap) tileTextureButtonGroup->checkedId()) ) break; } else @@ -334,7 +334,7 @@ void CTile_browser_dlg::on_actionReplaceImage_triggered(bool checked) int rot = CTile_rotation_dlg::getRotation(this, &rotationOk); if (rotationOk) { - if ( ! browserModel.setTileTransitionAlpha (tileId, fileName.toStdString(), rot) ) + if ( ! browserModel.setTileTransitionAlpha (tileId, fileName.toUtf8().constData(), rot) ) break; } } @@ -344,7 +344,7 @@ void CTile_browser_dlg::on_actionReplaceImage_triggered(bool checked) for (int i=0; iselectionModel()->selectedRows().count(); i++) { int tileId = (ui.tileBrowserListView->selectionModel()->selectedRows().at(i).data(Qt::UserRole + 1)).toInt(); - if ( ! browserModel.setDisplacement (tileId, fileName.toStdString(), (CTile::TBitmap) tileTextureButtonGroup->checkedId()) ) + if ( ! browserModel.setDisplacement (tileId, fileName.toUtf8().constData(), (CTile::TBitmap) tileTextureButtonGroup->checkedId()) ) break; } break; @@ -444,13 +444,13 @@ void CTile_browser_dlg::on_batchLoadPushButton_clicked() QString batchNumber = transitionNumber.rightJustified(2, '0'); QString nextBaseName = baseName + batchNumber; QString nextFileName = QDir::toNativeSeparators(fi.absolutePath()) + QDir::separator() + nextBaseName + QString(".") + fi.suffix(); - FILE *pFile=fopen (nextFileName.toStdString().c_str(), "rb"); + FILE *pFile=fopen (nextFileName.toUtf8().constData(), "rb"); // Close the file and add the tile if opened if (pFile) { fclose (pFile); - ok=browserModel.setTileTransitionAlpha (i, nextFileName.toStdString().c_str(), (4-rot)%4); + ok=browserModel.setTileTransitionAlpha (i, nextFileName.toUtf8().constData(), (4-rot)%4); // End break; @@ -545,7 +545,7 @@ void CTile_browser_dlg::on_exportBorderPushButton_clicked() try { COFile file; - if (file.open (fileName.toStdString().c_str())) + if (file.open (fileName.toUtf8().constData())) { // Export bitmap.writeTGA (file, 32); @@ -594,7 +594,7 @@ void CTile_browser_dlg::on_importBorderPushButton_clicked() try { CIFile file; - if (file.open (fileName.toStdString().c_str())) + if (file.open (fileName.toUtf8().constData())) { // Export bitmap.load (file); diff --git a/code/nel/tools/3d/tile_edit_qt/tile_edit_dlg.cpp b/code/nel/tools/3d/tile_edit_qt/tile_edit_dlg.cpp index 1fdcb1aea..45c5b389c 100644 --- a/code/nel/tools/3d/tile_edit_qt/tile_edit_dlg.cpp +++ b/code/nel/tools/3d/tile_edit_qt/tile_edit_dlg.cpp @@ -103,7 +103,7 @@ void CTile_edit_dlg::on_addLandPushButton_clicked() } else { - tileBank.addLand( text.toStdString() ); + tileBank.addLand( text.toUtf8().constData() ); ui.landListWidget->addItem(text); ui.landListWidget->setCurrentRow(ui.landListWidget->count() - 1); @@ -138,7 +138,7 @@ void CTile_edit_dlg::on_editLandPushButton_clicked() for (int i=0; iaddTileSet( rString.toStdString().c_str() ); + tileBank.getLand(nindex)->addTileSet( rString.toUtf8().constData() ); } } } @@ -176,7 +176,7 @@ void CTile_edit_dlg::on_addTileSetPushButton_clicked() } else { - tileBank.addTileSet( text.toStdString() ); + tileBank.addTileSet( text.toUtf8().constData() ); ui.tileSetListWidget->addItem(text); ui.tileSetListWidget->setCurrentRow(ui.tileSetListWidget->count() - 1); @@ -239,7 +239,7 @@ void CTile_edit_dlg::on_chooseVegetPushButton_clicked() if (!fileName.isEmpty()) { QFileInfo fi(fileName); - tileBank.getTileSet (nindex)->setTileVegetableDescFileName (fi.fileName().toStdString()); + tileBank.getTileSet (nindex)->setTileVegetableDescFileName (fi.fileName().toUtf8().constData()); ui.chooseVegetPushButton->setText(fi.fileName()); } } @@ -347,7 +347,7 @@ void CTile_edit_dlg::on_loadPushButton_clicked() if (!fileName.isEmpty()) { CIFile stream; - if ( stream.open( fileName.toStdString().c_str() ) ) + if ( stream.open( fileName.toUtf8().constData() ) ) { ui.landListWidget->clear(); ui.tileSetListWidget->clear(); @@ -383,7 +383,7 @@ void CTile_edit_dlg::on_loadPushButton_clicked() void CTile_edit_dlg::on_savePushButton_clicked() { - string fullPath = this->mainFile.absoluteFilePath().toStdString(); + string fullPath = this->mainFile.absoluteFilePath().toUtf8(); if ( !fullPath.empty() ) { COFile stream; @@ -411,7 +411,7 @@ void CTile_edit_dlg::on_saveAsPushButton_clicked() ui.savePushButton->setEnabled(true); - string fullPath = this->mainFile.absoluteFilePath().toStdString(); + string fullPath = this->mainFile.absoluteFilePath().toUtf8(); if ( !fullPath.empty() ) { COFile stream; @@ -445,7 +445,7 @@ void CTile_edit_dlg::on_exportPushButton_clicked() copy.cleanUnusedData (); QFileInfo fileInfo(fileName); - string fullPath = fileInfo.absoluteFilePath().toStdString(); + string fullPath = fileInfo.absoluteFilePath().toUtf8(); if ( !fullPath.empty() ) { COFile stream; @@ -524,7 +524,7 @@ void CTile_edit_dlg::on_absolutePathPushButton_clicked() if (bitmapPath!="") { // Check the path - if ( CheckPath( bitmapPath, path.toStdString().c_str() ) == false ) + if ( CheckPath( bitmapPath, path.toUtf8() ) == false ) { // Bad path goodPath=false; @@ -552,7 +552,7 @@ void CTile_edit_dlg::on_absolutePathPushButton_clicked() if (strcmp (bitmapPath, "")!=0) { // Check the path - if (CheckPath( bitmapPath, path.toStdString().c_str() )==false) + if (CheckPath( bitmapPath, path.toUtf8() )==false) { // Bad path goodPath=false; @@ -593,7 +593,7 @@ void CTile_edit_dlg::on_absolutePathPushButton_clicked() if (bitmapPath!="") { // Remove the absolute path - bool res=RemovePath (bitmapPath, path.toStdString().c_str()); + bool res=RemovePath (bitmapPath, path.toUtf8()); nlassert (res); // Set the bitmap @@ -613,7 +613,7 @@ void CTile_edit_dlg::on_absolutePathPushButton_clicked() if (bitmapPath!="") { // Remove the absolute path - bool res=RemovePath (bitmapPath, path.toStdString().c_str()); + bool res=RemovePath (bitmapPath, path.toUtf8()); nlassert (res); // Set the bitmap @@ -633,7 +633,7 @@ void CTile_edit_dlg::on_absolutePathPushButton_clicked() if (goodPath) { // Change the abs path of the bank - tileBank.setAbsPath (path.toStdString()); + tileBank.setAbsPath (path.toUtf8().constData()); // Change the bouton text ui.absolutePathPushButton->setText(path); diff --git a/code/nel/tools/3d/zone_check_bind/CMakeLists.txt b/code/nel/tools/3d/zone_check_bind/CMakeLists.txt index b0b059341..212f7e18b 100644 --- a/code/nel/tools/3d/zone_check_bind/CMakeLists.txt +++ b/code/nel/tools/3d/zone_check_bind/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(zone_check_bind nel3d nelmisc) NL_DEFAULT_PROPS(zone_check_bind "NeL, Tools, 3D: zone_check_bind") NL_ADD_RUNTIME_FLAGS(zone_check_bind) -INSTALL(TARGETS zone_check_bind RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS zone_check_bind RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/zone_dependencies/CMakeLists.txt b/code/nel/tools/3d/zone_dependencies/CMakeLists.txt index f841a30c0..9efb49f0e 100644 --- a/code/nel/tools/3d/zone_dependencies/CMakeLists.txt +++ b/code/nel/tools/3d/zone_dependencies/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(zone_dependencies nel3d nelgeorges nelmisc) NL_DEFAULT_PROPS(zone_dependencies "NeL, Tools, 3D: zone_dependencies") NL_ADD_RUNTIME_FLAGS(zone_dependencies) -INSTALL(TARGETS zone_dependencies RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS zone_dependencies RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/zone_dump/CMakeLists.txt b/code/nel/tools/3d/zone_dump/CMakeLists.txt index e9f162fb3..8bc10b811 100644 --- a/code/nel/tools/3d/zone_dump/CMakeLists.txt +++ b/code/nel/tools/3d/zone_dump/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(zone_dump nel3d nelmisc) NL_DEFAULT_PROPS(zone_dump "NeL, Tools, 3D: zone_dump") NL_ADD_RUNTIME_FLAGS(zone_dump) -INSTALL(TARGETS zone_dump RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS zone_dump RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/zone_ig_lighter/CMakeLists.txt b/code/nel/tools/3d/zone_ig_lighter/CMakeLists.txt index 096469b5e..30f84cea8 100644 --- a/code/nel/tools/3d/zone_ig_lighter/CMakeLists.txt +++ b/code/nel/tools/3d/zone_ig_lighter/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(zone_ig_lighter nelmisc nel3d) NL_DEFAULT_PROPS(zone_ig_lighter "NeL, Tools, 3D: zone_ig_lighter") NL_ADD_RUNTIME_FLAGS(zone_ig_lighter) -INSTALL(TARGETS zone_ig_lighter RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS zone_ig_lighter RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/zone_lighter/CMakeLists.txt b/code/nel/tools/3d/zone_lighter/CMakeLists.txt index 816b8a841..e0c15f9e8 100644 --- a/code/nel/tools/3d/zone_lighter/CMakeLists.txt +++ b/code/nel/tools/3d/zone_lighter/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(zone_lighter nel3d nelgeorges nelmisc) NL_DEFAULT_PROPS(zone_lighter "NeL, Tools, 3D: zone_lighter") NL_ADD_RUNTIME_FLAGS(zone_lighter) -INSTALL(TARGETS zone_lighter RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS zone_lighter RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/zone_welder/CMakeLists.txt b/code/nel/tools/3d/zone_welder/CMakeLists.txt index 2e8acb118..396d22f58 100644 --- a/code/nel/tools/3d/zone_welder/CMakeLists.txt +++ b/code/nel/tools/3d/zone_welder/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(zone_welder nel3d nelmisc) NL_DEFAULT_PROPS(zone_welder "NeL, Tools, 3D: zone_welder") NL_ADD_RUNTIME_FLAGS(zone_welder) -INSTALL(TARGETS zone_welder RUNTIME DESTINATION bin COMPONENT tools3d) +INSTALL(TARGETS zone_welder RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) diff --git a/code/nel/tools/3d/zviewer/CMakeLists.txt b/code/nel/tools/3d/zviewer/CMakeLists.txt index 04d72ff27..a7a5150b7 100644 --- a/code/nel/tools/3d/zviewer/CMakeLists.txt +++ b/code/nel/tools/3d/zviewer/CMakeLists.txt @@ -12,6 +12,6 @@ TARGET_LINK_LIBRARIES(zviewer nelmisc nel3d) NL_DEFAULT_PROPS(zviewer "NeL, Tools, 3D: Zone Viewer") NL_ADD_RUNTIME_FLAGS(zviewer) -INSTALL(TARGETS zviewer RUNTIME DESTINATION bin COMPONENT tools3d) -INSTALL(FILES zviewer.cfg DESTINATION etc/nel COMPONENT tools3d) -INSTALL(FILES readme.txt DESTINATION share/nel/zviewer COMPONENT tools3d) +INSTALL(TARGETS zviewer RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d) +INSTALL(FILES zviewer.cfg DESTINATION ${NL_ETC_PREFIX} COMPONENT tools3d) +INSTALL(FILES readme.txt DESTINATION ${NL_SHARE_PREFIX}/zviewer COMPONENT tools3d) diff --git a/code/nel/tools/georges/georges2csv/CMakeLists.txt b/code/nel/tools/georges/georges2csv/CMakeLists.txt index e64d85772..b52de14ea 100644 --- a/code/nel/tools/georges/georges2csv/CMakeLists.txt +++ b/code/nel/tools/georges/georges2csv/CMakeLists.txt @@ -10,4 +10,4 @@ NL_ADD_RUNTIME_FLAGS(georges2csv) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) -INSTALL(TARGETS georges2csv RUNTIME DESTINATION bin COMPONENT toolsgeorges) +INSTALL(TARGETS georges2csv RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsgeorges) diff --git a/code/nel/tools/logic/logic_editor_dll/CMakeLists.txt b/code/nel/tools/logic/logic_editor_dll/CMakeLists.txt index c2e0661d1..e538799a0 100644 --- a/code/nel/tools/logic/logic_editor_dll/CMakeLists.txt +++ b/code/nel/tools/logic/logic_editor_dll/CMakeLists.txt @@ -15,4 +15,4 @@ IF(WITH_PCH) ADD_NATIVE_PRECOMPILED_HEADER(logic_editor_dll ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.h ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.cpp) ENDIF(WITH_PCH) -INSTALL(TARGETS logic_editor_dll LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT toolsmisc) +INSTALL(TARGETS logic_editor_dll LIBRARY DESTINATION ${NL_LIB_PREFIX} RUNTIME DESTINATION ${NL_BIN_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/logic/logic_editor_exe/CMakeLists.txt b/code/nel/tools/logic/logic_editor_exe/CMakeLists.txt index 764a0901e..7a210a71a 100644 --- a/code/nel/tools/logic/logic_editor_exe/CMakeLists.txt +++ b/code/nel/tools/logic/logic_editor_exe/CMakeLists.txt @@ -10,4 +10,4 @@ IF(WITH_PCH) ADD_NATIVE_PRECOMPILED_HEADER(logic_editor ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.h ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.cpp) ENDIF(WITH_PCH) -INSTALL(TARGETS logic_editor RUNTIME DESTINATION bin COMPONENT toolsmisc) +INSTALL(TARGETS logic_editor RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/memory/memlog/CMakeLists.txt b/code/nel/tools/memory/memlog/CMakeLists.txt index 9b471519b..f479a1579 100644 --- a/code/nel/tools/memory/memlog/CMakeLists.txt +++ b/code/nel/tools/memory/memlog/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(memlog nelmisc) NL_DEFAULT_PROPS(memlog "NeL, Tools, Memory: memlog") NL_ADD_RUNTIME_FLAGS(memlog) -INSTALL(TARGETS memlog RUNTIME DESTINATION bin COMPONENT toolsmisc) +INSTALL(TARGETS memlog RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/CMakeLists.txt b/code/nel/tools/misc/CMakeLists.txt index fcb259a64..5386cbbc6 100644 --- a/code/nel/tools/misc/CMakeLists.txt +++ b/code/nel/tools/misc/CMakeLists.txt @@ -18,3 +18,5 @@ IF(WIN32) ADD_SUBDIRECTORY(words_dic) ENDIF(MFC_FOUND) ENDIF(WIN32) + +ADD_SUBDIRECTORY(probe_timers) diff --git a/code/nel/tools/misc/bnp_make/CMakeLists.txt b/code/nel/tools/misc/bnp_make/CMakeLists.txt index d0e4c4aa0..d27252fb6 100644 --- a/code/nel/tools/misc/bnp_make/CMakeLists.txt +++ b/code/nel/tools/misc/bnp_make/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(bnp_make nelmisc) NL_DEFAULT_PROPS(bnp_make "NeL, Tools, Misc: bnp_make") NL_ADD_RUNTIME_FLAGS(bnp_make) -INSTALL(TARGETS bnp_make RUNTIME DESTINATION bin COMPONENT toolsmisc) +INSTALL(TARGETS bnp_make RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/branch_patcher/CMakeLists.txt b/code/nel/tools/misc/branch_patcher/CMakeLists.txt index 13cd96605..010e7defd 100644 --- a/code/nel/tools/misc/branch_patcher/CMakeLists.txt +++ b/code/nel/tools/misc/branch_patcher/CMakeLists.txt @@ -8,4 +8,4 @@ NL_ADD_RUNTIME_FLAGS(branch_patcher) ADD_DEFINITIONS(${MFC_DEFINITIONS}) -INSTALL(TARGETS branch_patcher RUNTIME DESTINATION bin COMPONENT toolsmisc) +INSTALL(TARGETS branch_patcher RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/data_mirror/CMakeLists.txt b/code/nel/tools/misc/data_mirror/CMakeLists.txt index 3b87782b5..9727576ba 100644 --- a/code/nel/tools/misc/data_mirror/CMakeLists.txt +++ b/code/nel/tools/misc/data_mirror/CMakeLists.txt @@ -8,4 +8,4 @@ NL_ADD_RUNTIME_FLAGS(data_mirror) ADD_DEFINITIONS(${MFC_DEFINITIONS}) -INSTALL(TARGETS data_mirror RUNTIME DESTINATION bin COMPONENT toolsmisc) +INSTALL(TARGETS data_mirror RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/data_mirror/StdAfx.h b/code/nel/tools/misc/data_mirror/StdAfx.h index a065be4ed..90fe14511 100644 --- a/code/nel/tools/misc/data_mirror/StdAfx.h +++ b/code/nel/tools/misc/data_mirror/StdAfx.h @@ -10,6 +10,9 @@ #pragma once #endif // _MSC_VER > 1000 +#include "nel/misc/types_nl.h" +#include "nel/misc/file.h" + #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #include // MFC core and standard components diff --git a/code/nel/tools/misc/disp_sheet_id/CMakeLists.txt b/code/nel/tools/misc/disp_sheet_id/CMakeLists.txt index 13b8cb09a..0ab03d736 100644 --- a/code/nel/tools/misc/disp_sheet_id/CMakeLists.txt +++ b/code/nel/tools/misc/disp_sheet_id/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(disp_sheet_id nelmisc) NL_DEFAULT_PROPS(disp_sheet_id "NeL, Tools, Misc: disp_sheet_id") NL_ADD_RUNTIME_FLAGS(disp_sheet_id) -INSTALL(TARGETS disp_sheet_id RUNTIME DESTINATION bin COMPONENT toolsmisc) +INSTALL(TARGETS disp_sheet_id RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/exec_timeout/CMakeLists.txt b/code/nel/tools/misc/exec_timeout/CMakeLists.txt index daadd75d5..18654e169 100644 --- a/code/nel/tools/misc/exec_timeout/CMakeLists.txt +++ b/code/nel/tools/misc/exec_timeout/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(exec_timeout nelmisc) NL_DEFAULT_PROPS(exec_timeout "NeL, Tools, Misc: exec_timeout") NL_ADD_RUNTIME_FLAGS(exec_timeout) -INSTALL(TARGETS exec_timeout RUNTIME DESTINATION bin COMPONENT toolsmisc) +INSTALL(TARGETS exec_timeout RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/extract_filename/CMakeLists.txt b/code/nel/tools/misc/extract_filename/CMakeLists.txt index c46e9f1fc..7f20cc6d6 100644 --- a/code/nel/tools/misc/extract_filename/CMakeLists.txt +++ b/code/nel/tools/misc/extract_filename/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(extract_filename nelmisc) NL_DEFAULT_PROPS(extract_filename "NeL, Tools, Misc: extract_filename") NL_ADD_RUNTIME_FLAGS(extract_filename) -INSTALL(TARGETS extract_filename RUNTIME DESTINATION bin COMPONENT toolsmisc) +INSTALL(TARGETS extract_filename RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/lock/CMakeLists.txt b/code/nel/tools/misc/lock/CMakeLists.txt index 23771299a..52afeee24 100644 --- a/code/nel/tools/misc/lock/CMakeLists.txt +++ b/code/nel/tools/misc/lock/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(lock nelmisc) NL_DEFAULT_PROPS(lock "NeL, Tools, Misc: lock") NL_ADD_RUNTIME_FLAGS(lock) -INSTALL(TARGETS lock RUNTIME DESTINATION bin COMPONENT toolsmisc) +INSTALL(TARGETS lock RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/log_analyser/CMakeLists.txt b/code/nel/tools/misc/log_analyser/CMakeLists.txt index fbc124b91..e852de2bc 100644 --- a/code/nel/tools/misc/log_analyser/CMakeLists.txt +++ b/code/nel/tools/misc/log_analyser/CMakeLists.txt @@ -8,4 +8,4 @@ NL_ADD_RUNTIME_FLAGS(log_analyser) ADD_DEFINITIONS(${MFC_DEFINITIONS}) -INSTALL(TARGETS log_analyser RUNTIME DESTINATION bin COMPONENT toolsmisc) +INSTALL(TARGETS log_analyser RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/log_analyser_plug_ins/extract_warnings/CMakeLists.txt b/code/nel/tools/misc/log_analyser_plug_ins/extract_warnings/CMakeLists.txt index 5524f1012..9fc570623 100644 --- a/code/nel/tools/misc/log_analyser_plug_ins/extract_warnings/CMakeLists.txt +++ b/code/nel/tools/misc/log_analyser_plug_ins/extract_warnings/CMakeLists.txt @@ -8,4 +8,4 @@ NL_ADD_RUNTIME_FLAGS(extract_warnings) NL_ADD_LIB_SUFFIX(extract_warnings) -INSTALL(TARGETS extract_warnings RUNTIME DESTINATION bin LIBRARY DESTINATION lib/log_analyser COMPONENT toolsmisc) +INSTALL(TARGETS extract_warnings RUNTIME DESTINATION ${NL_BIN_PREFIX} LIBRARY DESTINATION lib/log_analyser COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/make_sheet_id/CMakeLists.txt b/code/nel/tools/misc/make_sheet_id/CMakeLists.txt index 2b5da139e..553f7fddb 100644 --- a/code/nel/tools/misc/make_sheet_id/CMakeLists.txt +++ b/code/nel/tools/misc/make_sheet_id/CMakeLists.txt @@ -8,5 +8,5 @@ TARGET_LINK_LIBRARIES(make_sheet_id nelmisc) NL_DEFAULT_PROPS(make_sheet_id "NeL, Tools, Misc: make_sheet_id") NL_ADD_RUNTIME_FLAGS(make_sheet_id) -INSTALL(TARGETS make_sheet_id RUNTIME DESTINATION bin COMPONENT toolsmisc) -INSTALL(FILES make_sheet_id.cfg DESTINATION etc/nel COMPONENT toolsmisc) +INSTALL(TARGETS make_sheet_id RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) +INSTALL(FILES make_sheet_id.cfg DESTINATION ${NL_ETC_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/message_box/CMakeLists.txt b/code/nel/tools/misc/message_box/CMakeLists.txt index 8aec80959..764071d9d 100644 --- a/code/nel/tools/misc/message_box/CMakeLists.txt +++ b/code/nel/tools/misc/message_box/CMakeLists.txt @@ -6,4 +6,4 @@ ADD_EXECUTABLE(message_box WIN32 ${SRC}) NL_DEFAULT_PROPS(message_box "NeL, Tools, Misc: message_box") NL_ADD_RUNTIME_FLAGS(message_box) -INSTALL(TARGETS message_box RUNTIME DESTINATION bin COMPONENT toolsmisc) +INSTALL(TARGETS message_box RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/message_box_qt/CMakeLists.txt b/code/nel/tools/misc/message_box_qt/CMakeLists.txt index f71143341..408bf867e 100644 --- a/code/nel/tools/misc/message_box_qt/CMakeLists.txt +++ b/code/nel/tools/misc/message_box_qt/CMakeLists.txt @@ -14,5 +14,5 @@ NL_ADD_RUNTIME_FLAGS(message_box_qt) ADD_DEFINITIONS(${QT_DEFINITIONS}) -INSTALL(TARGETS message_box_qt RUNTIME DESTINATION bin COMPONENT toolsmisc) +INSTALL(TARGETS message_box_qt RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/multi_cd_setup_fix/CMakeLists.txt b/code/nel/tools/misc/multi_cd_setup_fix/CMakeLists.txt index 550547cce..3a5f7da4e 100644 --- a/code/nel/tools/misc/multi_cd_setup_fix/CMakeLists.txt +++ b/code/nel/tools/misc/multi_cd_setup_fix/CMakeLists.txt @@ -6,4 +6,4 @@ ADD_EXECUTABLE(multi_cd_setup_fix WIN32 ${SRC} multi_cd_setup_fix.rc) NL_DEFAULT_PROPS(multi_cd_setup_fix "NeL, Tools, Misc: multi_cd_setup_fix") NL_ADD_RUNTIME_FLAGS(multi_cd_setup_fix) -INSTALL(TARGETS multi_cd_setup_fix RUNTIME DESTINATION bin COMPONENT toolsmisc) +INSTALL(TARGETS multi_cd_setup_fix RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/probe_timers/CMakeLists.txt b/code/nel/tools/misc/probe_timers/CMakeLists.txt new file mode 100644 index 000000000..cb17490df --- /dev/null +++ b/code/nel/tools/misc/probe_timers/CMakeLists.txt @@ -0,0 +1,9 @@ +FILE(GLOB SRC *.cpp) + +ADD_EXECUTABLE(nl_probe_timers ${SRC}) + +TARGET_LINK_LIBRARIES(nl_probe_timers nelmisc) +NL_DEFAULT_PROPS(nl_probe_timers "NeL, Tools, Misc: Probe Timers") +NL_ADD_RUNTIME_FLAGS(nl_probe_timers) + +INSTALL(TARGETS nl_probe_timers RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/probe_timers/main.cpp b/code/nel/tools/misc/probe_timers/main.cpp new file mode 100644 index 000000000..de4c1f785 --- /dev/null +++ b/code/nel/tools/misc/probe_timers/main.cpp @@ -0,0 +1,38 @@ +// NeL - MMORPG Framework +// Copyright (C) 2012 by authors +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +#include +#include +#include + +#include "nel/misc/types_nl.h" +#include "nel/misc/time_nl.h" + +using namespace NLMISC; + +int main (int argc, char **argv) +{ + for (uint i = 0; i < 8; ++i) + { + CTime::CTimerInfo timerInfo; + CTime::probeTimerInfo(timerInfo); + } + + printf ("\nPress to exit\n"); + getchar (); + + return EXIT_SUCCESS; +} diff --git a/code/nel/tools/misc/words_dic/CMakeLists.txt b/code/nel/tools/misc/words_dic/CMakeLists.txt index 1769422e5..c3f3975f2 100644 --- a/code/nel/tools/misc/words_dic/CMakeLists.txt +++ b/code/nel/tools/misc/words_dic/CMakeLists.txt @@ -12,4 +12,4 @@ IF(WITH_PCH) ADD_NATIVE_PRECOMPILED_HEADER(words_dic ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.h ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.cpp) ENDIF(WITH_PCH) -INSTALL(TARGETS words_dic RUNTIME DESTINATION bin COMPONENT toolsmisc) +INSTALL(TARGETS words_dic RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/words_dic_qt/CMakeLists.txt b/code/nel/tools/misc/words_dic_qt/CMakeLists.txt index dcfb2a9f6..2f755dfc1 100644 --- a/code/nel/tools/misc/words_dic_qt/CMakeLists.txt +++ b/code/nel/tools/misc/words_dic_qt/CMakeLists.txt @@ -27,6 +27,6 @@ NL_ADD_RUNTIME_FLAGS(words_dic_qt) ADD_DEFINITIONS(${QT_DEFINITIONS}) -INSTALL(TARGETS words_dic_qt RUNTIME DESTINATION bin COMPONENT toolsmisc) -INSTALL(FILES words_dic.cfg DESTINATION etc/nel COMPONENT toolsmisc) +INSTALL(TARGETS words_dic_qt RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) +INSTALL(FILES words_dic.cfg DESTINATION ${NL_ETC_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/misc/words_dic_qt/words_dicDlg.cpp b/code/nel/tools/misc/words_dic_qt/words_dicDlg.cpp index acbebd611..683755ae6 100644 --- a/code/nel/tools/misc/words_dic_qt/words_dicDlg.cpp +++ b/code/nel/tools/misc/words_dic_qt/words_dicDlg.cpp @@ -151,7 +151,7 @@ void CWords_dicDlg::on_findButton_clicked() { QString inputStr = ui.lookUpEdit->text(); bool showAll = ui.showAllCheckBox->isChecked(); - lookUp( inputStr.toStdString(), showAll ); + lookUp( inputStr.toUtf8().constData(), showAll ); } void CWords_dicDlg::on_lookUpEdit_textChanged() @@ -191,7 +191,7 @@ void CWords_dicDlg::on_fileListButton_clicked() void CWords_dicDlg::on_resultsListWidget_itemSelectionChanged() { QListWidgetItem *i = ui.resultsListWidget->currentItem(); - copyIntoClipboard( i->text().toStdString() ); + copyIntoClipboard( i->text().toUtf8().constData() ); } diff --git a/code/nel/tools/misc/xml_packer/CMakeLists.txt b/code/nel/tools/misc/xml_packer/CMakeLists.txt index 70d5a3270..c9dcd4c6b 100644 --- a/code/nel/tools/misc/xml_packer/CMakeLists.txt +++ b/code/nel/tools/misc/xml_packer/CMakeLists.txt @@ -6,4 +6,4 @@ TARGET_LINK_LIBRARIES(xml_packer nelmisc) NL_DEFAULT_PROPS(xml_packer "NeL, Tools, Misc: xml_packer") NL_ADD_RUNTIME_FLAGS(xml_packer) -INSTALL(TARGETS xml_packer RUNTIME DESTINATION bin COMPONENT toolsmisc) +INSTALL(TARGETS xml_packer RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolsmisc) diff --git a/code/nel/tools/nel_unit_test/CMakeLists.txt b/code/nel/tools/nel_unit_test/CMakeLists.txt index 5b2f2d0d4..8c53ff1c6 100644 --- a/code/nel/tools/nel_unit_test/CMakeLists.txt +++ b/code/nel/tools/nel_unit_test/CMakeLists.txt @@ -10,4 +10,4 @@ NL_ADD_RUNTIME_FLAGS(nel_unit_test) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DNEL_UNIT_BASE="${PROJECT_SOURCE_DIR}/tools/nel_unit_test/") -INSTALL(TARGETS nel_unit_test RUNTIME DESTINATION bin) +INSTALL(TARGETS nel_unit_test RUNTIME DESTINATION ${NL_BIN_PREFIX}) diff --git a/code/nel/tools/pacs/build_ig_boxes/CMakeLists.txt b/code/nel/tools/pacs/build_ig_boxes/CMakeLists.txt index 6700863af..fb2feedbe 100644 --- a/code/nel/tools/pacs/build_ig_boxes/CMakeLists.txt +++ b/code/nel/tools/pacs/build_ig_boxes/CMakeLists.txt @@ -8,5 +8,5 @@ TARGET_LINK_LIBRARIES(build_ig_boxes nelmisc nelpacs nel3d) NL_DEFAULT_PROPS(build_ig_boxes "NeL, Tools, PACS: build_ig_boxes") NL_ADD_RUNTIME_FLAGS(build_ig_boxes) -INSTALL(TARGETS build_ig_boxes RUNTIME DESTINATION bin COMPONENT toolspacs) -INSTALL(FILES build_ig_boxes.cfg DESTINATION etc/nel COMPONENT toolspacs) +INSTALL(TARGETS build_ig_boxes RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolspacs) +INSTALL(FILES build_ig_boxes.cfg DESTINATION ${NL_ETC_PREFIX} COMPONENT toolspacs) diff --git a/code/nel/tools/pacs/build_indoor_rbank/CMakeLists.txt b/code/nel/tools/pacs/build_indoor_rbank/CMakeLists.txt index ff23551c0..85f1984bf 100644 --- a/code/nel/tools/pacs/build_indoor_rbank/CMakeLists.txt +++ b/code/nel/tools/pacs/build_indoor_rbank/CMakeLists.txt @@ -8,5 +8,5 @@ TARGET_LINK_LIBRARIES(build_indoor_rbank nelmisc nelpacs) NL_DEFAULT_PROPS(build_indoor_rbank "NeL, Tools, PACS: build_indoor_rbank") NL_ADD_RUNTIME_FLAGS(build_indoor_rbank) -INSTALL(TARGETS build_indoor_rbank RUNTIME DESTINATION bin COMPONENT toolspacs) -INSTALL(FILES build_indoor_rbank.cfg DESTINATION etc/nel COMPONENT toolspacs) +INSTALL(TARGETS build_indoor_rbank RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolspacs) +INSTALL(FILES build_indoor_rbank.cfg DESTINATION ${NL_ETC_PREFIX} COMPONENT toolspacs) diff --git a/code/nel/tools/pacs/build_indoor_rbank/build_surfaces.cpp b/code/nel/tools/pacs/build_indoor_rbank/build_surfaces.cpp index f6bb4681d..f553eaf47 100644 --- a/code/nel/tools/pacs/build_indoor_rbank/build_surfaces.cpp +++ b/code/nel/tools/pacs/build_indoor_rbank/build_surfaces.cpp @@ -17,11 +17,11 @@ #include #include -#include "nel/../../src/pacs/collision_mesh_build.h" -#include "nel/../../src/pacs/local_retriever.h" -#include "nel/../../src/pacs/exterior_mesh.h" -#include "nel/../../src/pacs/surface_quad.h" -#include "nel/../../src/pacs/chain.h" +#include "nel/pacs/collision_mesh_build.h" +#include "nel/pacs/local_retriever.h" +#include "nel/pacs/exterior_mesh.h" +#include "nel/pacs/surface_quad.h" +#include "nel/pacs/chain.h" #include "build_surfaces.h" diff --git a/code/nel/tools/pacs/build_indoor_rbank/build_surfaces.h b/code/nel/tools/pacs/build_indoor_rbank/build_surfaces.h index a3e86dd09..fdfbb2c21 100644 --- a/code/nel/tools/pacs/build_indoor_rbank/build_surfaces.h +++ b/code/nel/tools/pacs/build_indoor_rbank/build_surfaces.h @@ -23,7 +23,7 @@ #include "nel/misc/vector.h" #include "nel/misc/file.h" -#include "nel/../../src/pacs/collision_mesh_build.h" +#include "nel/pacs/collision_mesh_build.h" // External class declaration namespace NLPACS diff --git a/code/nel/tools/pacs/build_indoor_rbank/main.cpp b/code/nel/tools/pacs/build_indoor_rbank/main.cpp index a749572f7..2e797d61d 100644 --- a/code/nel/tools/pacs/build_indoor_rbank/main.cpp +++ b/code/nel/tools/pacs/build_indoor_rbank/main.cpp @@ -23,11 +23,11 @@ #include "nel/misc/time_nl.h" #include "nel/misc/file.h" -#include "nel/../../src/pacs/collision_mesh_build.h" -#include "nel/../../src/pacs/local_retriever.h" -#include "nel/../../src/pacs/retriever_instance.h" -#include "nel/../../src/pacs/global_retriever.h" -#include "nel/../../src/pacs/retriever_bank.h" +#include "nel/pacs/collision_mesh_build.h" +#include "nel/pacs/local_retriever.h" +#include "nel/pacs/retriever_instance.h" +#include "nel/pacs/global_retriever.h" +#include "nel/pacs/retriever_bank.h" #include "nel/pacs/u_global_position.h" diff --git a/code/nel/tools/pacs/build_indoor_rbank/mouline.cpp b/code/nel/tools/pacs/build_indoor_rbank/mouline.cpp index 8322daa33..57592a431 100644 --- a/code/nel/tools/pacs/build_indoor_rbank/mouline.cpp +++ b/code/nel/tools/pacs/build_indoor_rbank/mouline.cpp @@ -17,9 +17,9 @@ #include #include -#include "nel/../../src/pacs/collision_mesh_build.h" -#include "nel/../../src/pacs/local_retriever.h" -#include "nel/../../src/pacs/exterior_mesh.h" +#include "nel/pacs/collision_mesh_build.h" +#include "nel/pacs/local_retriever.h" +#include "nel/pacs/exterior_mesh.h" #include "mouline.h" #include "build_surfaces.h" diff --git a/code/nel/tools/pacs/build_rbank/CMakeLists.txt b/code/nel/tools/pacs/build_rbank/CMakeLists.txt index f16cfb407..b35cb808c 100644 --- a/code/nel/tools/pacs/build_rbank/CMakeLists.txt +++ b/code/nel/tools/pacs/build_rbank/CMakeLists.txt @@ -12,5 +12,5 @@ NL_ADD_RUNTIME_FLAGS(build_rbank) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) -INSTALL(TARGETS build_rbank RUNTIME DESTINATION bin COMPONENT toolspacs) -INSTALL(FILES build_rbank.cfg DESTINATION etc/nel COMPONENT toolspacs) +INSTALL(TARGETS build_rbank RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolspacs) +INSTALL(FILES build_rbank.cfg DESTINATION ${NL_ETC_PREFIX} COMPONENT toolspacs) diff --git a/code/nel/tools/pacs/build_rbank/build_rbank.cpp b/code/nel/tools/pacs/build_rbank/build_rbank.cpp index 7003e93d6..2285873c0 100644 --- a/code/nel/tools/pacs/build_rbank/build_rbank.cpp +++ b/code/nel/tools/pacs/build_rbank/build_rbank.cpp @@ -35,13 +35,13 @@ #include "surface_splitter.h" -#include "nel/../../src/pacs/global_retriever.h" -#include "nel/../../src/pacs/retriever_bank.h" -#include "nel/../../src/pacs/surface_quad.h" -#include "nel/../../src/pacs/local_retriever.h" -#include "nel/../../src/pacs/retriever_instance.h" -#include "nel/../../src/pacs/chain.h" -#include "nel/../../src/pacs/collision_mesh_build.h" +#include "nel/pacs/global_retriever.h" +#include "nel/pacs/retriever_bank.h" +#include "nel/pacs/surface_quad.h" +#include "nel/pacs/local_retriever.h" +#include "nel/pacs/retriever_instance.h" +#include "nel/pacs/chain.h" +#include "nel/pacs/collision_mesh_build.h" #include #include diff --git a/code/nel/tools/pacs/build_rbank/build_surf.cpp b/code/nel/tools/pacs/build_rbank/build_surf.cpp index 7500d1083..9546e19f1 100644 --- a/code/nel/tools/pacs/build_rbank/build_surf.cpp +++ b/code/nel/tools/pacs/build_rbank/build_surf.cpp @@ -31,7 +31,7 @@ #include "nel/3d/mesh.h" #include "nel/3d/quad_grid.h" -#include "nel/../../src/pacs/vector_2s.h" +#include "nel/pacs/vector_2s.h" #include "build_surf.h" diff --git a/code/nel/tools/pacs/build_rbank/build_surf.h b/code/nel/tools/pacs/build_rbank/build_surf.h index 2e0588546..ad0342b1e 100644 --- a/code/nel/tools/pacs/build_rbank/build_surf.h +++ b/code/nel/tools/pacs/build_rbank/build_surf.h @@ -35,8 +35,8 @@ #include "nel/misc/geom_ext.h" #include "nel/misc/polygon.h" -#include "nel/../../src/pacs/surface_quad.h" -#include "nel/../../src/pacs/retrievable_surface.h" +#include "nel/pacs/surface_quad.h" +#include "nel/pacs/retrievable_surface.h" #include "prim_checker.h" diff --git a/code/nel/tools/pacs/build_rbank/main.cpp b/code/nel/tools/pacs/build_rbank/main.cpp index ef805e8e0..8421ed807 100644 --- a/code/nel/tools/pacs/build_rbank/main.cpp +++ b/code/nel/tools/pacs/build_rbank/main.cpp @@ -29,11 +29,11 @@ #include "build_rbank.h" #include "prim_checker.h" -#include "nel/../../src/pacs/global_retriever.h" -#include "nel/../../src/pacs/retriever_bank.h" -#include "nel/../../src/pacs/surface_quad.h" -#include "nel/../../src/pacs/local_retriever.h" -#include "nel/../../src/pacs/retriever_instance.h" +#include "nel/pacs/global_retriever.h" +#include "nel/pacs/retriever_bank.h" +#include "nel/pacs/surface_quad.h" +#include "nel/pacs/local_retriever.h" +#include "nel/pacs/retriever_instance.h" #include #include diff --git a/code/nel/tools/pacs/build_rbank/surface_splitter.h b/code/nel/tools/pacs/build_rbank/surface_splitter.h index 0aea88968..3cf035e9d 100644 --- a/code/nel/tools/pacs/build_rbank/surface_splitter.h +++ b/code/nel/tools/pacs/build_rbank/surface_splitter.h @@ -19,8 +19,8 @@ #include "nel/misc/types_nl.h" -#include "../../../src/pacs/local_retriever.h" -#include "../../../src/pacs/quad_grid.h" +#include "nel/pacs/local_retriever.h" +#include "nel/pacs/quad_grid.h" #include diff --git a/code/nel/tools/sound/build_samplebank/CMakeLists.txt b/code/nel/tools/sound/build_samplebank/CMakeLists.txt index e53b54e11..ab427373c 100644 --- a/code/nel/tools/sound/build_samplebank/CMakeLists.txt +++ b/code/nel/tools/sound/build_samplebank/CMakeLists.txt @@ -10,4 +10,4 @@ TARGET_LINK_LIBRARIES(build_samplebank nelmisc nelsound) NL_DEFAULT_PROPS(build_samplebank "NeL, Tools, Sound: build_samplebank") NL_ADD_RUNTIME_FLAGS(build_samplebank) -INSTALL(TARGETS build_samplebank RUNTIME DESTINATION bin COMPONENT toolssound) +INSTALL(TARGETS build_samplebank RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolssound) diff --git a/code/nel/tools/sound/build_sound/CMakeLists.txt b/code/nel/tools/sound/build_sound/CMakeLists.txt index 5549e4284..7813e4e8f 100644 --- a/code/nel/tools/sound/build_sound/CMakeLists.txt +++ b/code/nel/tools/sound/build_sound/CMakeLists.txt @@ -10,4 +10,4 @@ TARGET_LINK_LIBRARIES(build_sound nelmisc nelsound) NL_DEFAULT_PROPS(build_sound "NeL, Tools, Sound: build_sound") NL_ADD_RUNTIME_FLAGS(build_sound) -INSTALL(TARGETS build_sound RUNTIME DESTINATION bin COMPONENT toolssound) +INSTALL(TARGETS build_sound RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolssound) diff --git a/code/nel/tools/sound/build_soundbank/CMakeLists.txt b/code/nel/tools/sound/build_soundbank/CMakeLists.txt index 27148ed26..4431a47b8 100644 --- a/code/nel/tools/sound/build_soundbank/CMakeLists.txt +++ b/code/nel/tools/sound/build_soundbank/CMakeLists.txt @@ -10,4 +10,4 @@ TARGET_LINK_LIBRARIES(build_soundbank nelmisc nelsound) NL_DEFAULT_PROPS(build_soundbank "NeL, Tools, Sound: build_soundbank") NL_ADD_RUNTIME_FLAGS(build_soundbank) -INSTALL(TARGETS build_soundbank RUNTIME DESTINATION bin COMPONENT toolssound) +INSTALL(TARGETS build_soundbank RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT toolssound) diff --git a/code/nel/tools/sound/source_sounds_builder/SoundPage.cpp b/code/nel/tools/sound/source_sounds_builder/SoundPage.cpp index 2664bc033..0ad410098 100644 --- a/code/nel/tools/sound/source_sounds_builder/SoundPage.cpp +++ b/code/nel/tools/sound/source_sounds_builder/SoundPage.cpp @@ -413,7 +413,7 @@ void CSoundPage::apply() nlassert( _Tree ); - if ( m_Filename != "" ) + if ( !m_Filename.empty() ) { CString s = ((CSource_sounds_builderDlg*)GetOwner())->SoundName( _HItem ) + " (" + m_Filename + ")"; _Tree->SetItemText( _HItem, s ); diff --git a/code/nel/tools/sound/source_sounds_builder/source_sounds_builderDlg.cpp b/code/nel/tools/sound/source_sounds_builder/source_sounds_builderDlg.cpp index e5643fba4..2ba1b70a5 100644 --- a/code/nel/tools/sound/source_sounds_builder/source_sounds_builderDlg.cpp +++ b/code/nel/tools/sound/source_sounds_builder/source_sounds_builderDlg.cpp @@ -364,7 +364,7 @@ CString CSource_sounds_builderDlg::SoundName( HTREEITEM hitem ) { CString s = m_Tree.GetItemText( hitem ); sint last; - if ( s != "" ) + if ( !s.empty() ) { if ( s[s.GetLength()-1] == '*' ) { @@ -425,13 +425,13 @@ void CSource_sounds_builderDlg::OnSave() } nameset.insert( (*ips)->getName() ); } - if ( duplicates != "" ) + if ( !duplicates.empty() ) { CString s; s.Format( "Warning: the following names are duplicates. The first occurence of each one was not written in the output file. Correct the names and save again:\n\n%s", duplicates.c_str() ); AfxMessageBox( s, MB_ICONWARNING ); } - if ( blanksounds != "" ) + if ( !blanksounds.empty() ) { CString s; s.Format( "Warning: the following sounds have no wave file specified:\n\n%s", blanksounds.c_str() ); @@ -569,7 +569,7 @@ void CSource_sounds_builderDlg::OnImport() if ( hitem == NULL ) { string sname = string(name); - if ( sname != "" ) // prevent from taking blank names + if ( !sname.empty() ) // prevent from taking blank names { AddSound( sname.c_str() ); } diff --git a/code/nelns/admin_executor_service/CMakeLists.txt b/code/nelns/admin_executor_service/CMakeLists.txt index 25749af66..620c1a78a 100644 --- a/code/nelns/admin_executor_service/CMakeLists.txt +++ b/code/nelns/admin_executor_service/CMakeLists.txt @@ -14,4 +14,4 @@ NL_ADD_RUNTIME_FLAGS(admin_executor_service) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) INSTALL(TARGETS admin_executor_service RUNTIME DESTINATION sbin COMPONENT aes) -INSTALL(FILES admin_executor_service.cfg common.cfg DESTINATION etc/nel/nelns COMPONENT aes) +INSTALL(FILES admin_executor_service.cfg common.cfg DESTINATION ${NL_ETC_PREFIX}/nelns COMPONENT aes) diff --git a/code/nelns/admin_service/CMakeLists.txt b/code/nelns/admin_service/CMakeLists.txt index 88d5aaeb9..a7eee50a1 100644 --- a/code/nelns/admin_service/CMakeLists.txt +++ b/code/nelns/admin_service/CMakeLists.txt @@ -17,4 +17,4 @@ NL_ADD_RUNTIME_FLAGS(admin_service) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) INSTALL(TARGETS admin_service RUNTIME DESTINATION sbin COMPONENT as) -INSTALL(FILES admin_service.cfg common.cfg DESTINATION etc/nel/nelns COMPONENT as) +INSTALL(FILES admin_service.cfg common.cfg DESTINATION ${NL_ETC_PREFIX}/nelns COMPONENT as) diff --git a/code/nelns/admin_service/admin_service.cpp b/code/nelns/admin_service/admin_service.cpp index 8f437adbb..6d75b6aac 100644 --- a/code/nelns/admin_service/admin_service.cpp +++ b/code/nelns/admin_service/admin_service.cpp @@ -31,9 +31,12 @@ #include #include -#if defined (NL_OS_WINDOWS) -#include +#ifdef NL_OS_WINDOWS +#include +#include +typedef unsigned long ulong; #endif + #include #include diff --git a/code/nelns/login_service/CMakeLists.txt b/code/nelns/login_service/CMakeLists.txt index 5ae88df7c..1ee7260fe 100644 --- a/code/nelns/login_service/CMakeLists.txt +++ b/code/nelns/login_service/CMakeLists.txt @@ -17,4 +17,4 @@ NL_ADD_RUNTIME_FLAGS(login_service) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) INSTALL(TARGETS login_service RUNTIME DESTINATION sbin COMPONENT ls) -INSTALL(FILES login_service.cfg common.cfg DESTINATION etc/nel/nelns COMPONENT ls) +INSTALL(FILES login_service.cfg common.cfg DESTINATION ${NL_ETC_PREFIX}/nelns COMPONENT ls) diff --git a/code/nelns/login_service/connection_client.cpp b/code/nelns/login_service/connection_client.cpp index 74269550b..37976cb24 100644 --- a/code/nelns/login_service/connection_client.cpp +++ b/code/nelns/login_service/connection_client.cpp @@ -152,7 +152,7 @@ retry: CLoginCookie c; c.set((uint32)(uintptr_t)from, rand(), uid); - reason = sqlQuery("update user set state='Authorized', Cookie='"+c.setToString()+"' where UId="+uid); + reason = sqlQuery("update user set state='Authorized', Cookie='"+c.setToString()+"' where UId=" + NLMISC::toString(uid)); if(!reason.empty()) break; reason = sqlQuery("select * from shard where Online>0 and ClientApplication='"+application+"'", nbrow, row, result); diff --git a/code/nelns/login_service/login_service.h b/code/nelns/login_service/login_service.h index d8f43219e..7c8c5a427 100644 --- a/code/nelns/login_service/login_service.h +++ b/code/nelns/login_service/login_service.h @@ -20,7 +20,9 @@ // we have to include windows.h because mysql.h uses it but not include it #ifdef NL_OS_WINDOWS # define NOMINMAX +# include # include +typedef unsigned long ulong; #endif #include diff --git a/code/nelns/login_service/mysql_helper.h b/code/nelns/login_service/mysql_helper.h index ab57b8ffa..fee1d1bf6 100644 --- a/code/nelns/login_service/mysql_helper.h +++ b/code/nelns/login_service/mysql_helper.h @@ -25,7 +25,9 @@ // we have to include windows.h because mysql.h uses it but not include it #ifdef NL_OS_WINDOWS # define NOMINMAX +# include # include +typedef unsigned long ulong; #endif #include diff --git a/code/nelns/login_system/nel_launcher_qt/CMakeLists.txt b/code/nelns/login_system/nel_launcher_qt/CMakeLists.txt index 3bd503eef..7e128f1b7 100644 --- a/code/nelns/login_system/nel_launcher_qt/CMakeLists.txt +++ b/code/nelns/login_system/nel_launcher_qt/CMakeLists.txt @@ -37,5 +37,5 @@ INSTALL(TARGETS nel_launcher_qt RUNTIME DESTINATION bin COMPONENT launcher) IF(WIN32) INSTALL(FILES nel_launcher.cfg DESTINATION bin COMPONENT launcher) ELSE(WIN32) - INSTALL(FILES nel_launcher.cfg DESTINATION etc/nel/nelns COMPONENT launcher) + INSTALL(FILES nel_launcher.cfg DESTINATION ${NL_ETC_PREFIX}/nelns COMPONENT launcher) ENDIF(WIN32) diff --git a/code/nelns/login_system/nel_launcher_qt/nel_launcher_dlg.cpp b/code/nelns/login_system/nel_launcher_qt/nel_launcher_dlg.cpp index 28e8114c9..0e9efc2e7 100644 --- a/code/nelns/login_system/nel_launcher_qt/nel_launcher_dlg.cpp +++ b/code/nelns/login_system/nel_launcher_qt/nel_launcher_dlg.cpp @@ -72,8 +72,8 @@ void CNelLauncherDlg::clickedSignUp() void CNelLauncherDlg::clickedLogin() { - std::string username = leUsername->text().toStdString(); - std::string password = lePassword->text().toStdString(); + std::string username = leUsername->text().toUtf8(); + std::string password = lePassword->text().toUtf8(); nlinfo("received login attempt for %s with %s", username.c_str(), password.c_str()); diff --git a/code/nelns/login_system/nel_launcher_windows_ext2/CMakeLists.txt b/code/nelns/login_system/nel_launcher_windows_ext2/CMakeLists.txt index 79093faef..f139252b8 100644 --- a/code/nelns/login_system/nel_launcher_windows_ext2/CMakeLists.txt +++ b/code/nelns/login_system/nel_launcher_windows_ext2/CMakeLists.txt @@ -20,4 +20,4 @@ IF(WITH_PCH) ENDIF(WITH_PCH) INSTALL(TARGETS nel_launcher_ext2 RUNTIME DESTINATION bin COMPONENT launcher) -INSTALL(FILES nel_launcher.cfg DESTINATION etc/nel COMPONENT launcher) +INSTALL(FILES nel_launcher.cfg DESTINATION ${NL_ETC_PREFIX} COMPONENT launcher) diff --git a/code/nelns/naming_service/CMakeLists.txt b/code/nelns/naming_service/CMakeLists.txt index 4073d1193..9616ca957 100644 --- a/code/nelns/naming_service/CMakeLists.txt +++ b/code/nelns/naming_service/CMakeLists.txt @@ -15,4 +15,4 @@ NL_ADD_RUNTIME_FLAGS(naming_service) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) INSTALL(TARGETS naming_service RUNTIME DESTINATION sbin COMPONENT ns) -INSTALL(FILES naming_service.cfg common.cfg DESTINATION etc/nel/nelns COMPONENT ns) +INSTALL(FILES naming_service.cfg common.cfg DESTINATION ${NL_ETC_PREFIX}/nelns COMPONENT ns) diff --git a/code/nelns/welcome_service/CMakeLists.txt b/code/nelns/welcome_service/CMakeLists.txt index e25c08a0c..c6819d97d 100644 --- a/code/nelns/welcome_service/CMakeLists.txt +++ b/code/nelns/welcome_service/CMakeLists.txt @@ -15,4 +15,4 @@ NL_ADD_RUNTIME_FLAGS(welcome_service) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) INSTALL(TARGETS welcome_service RUNTIME DESTINATION sbin COMPONENT ws) -INSTALL(FILES welcome_service.cfg common.cfg DESTINATION etc/nel/nelns COMPONENT ws) +INSTALL(FILES welcome_service.cfg common.cfg DESTINATION ${NL_ETC_PREFIX}/nelns COMPONENT ws) diff --git a/code/ryzom/client/client_default.cfg b/code/ryzom/client/client_default.cfg index 311b7cddd..f95a5c2b6 100644 --- a/code/ryzom/client/client_default.cfg +++ b/code/ryzom/client/client_default.cfg @@ -476,7 +476,7 @@ XMLR2EDInterfaceFiles = { "r2ed.xml", "r2_triggers.xml", - "r2_logic_entities.xml", + "r2_logic_entities.xml", "r2ed_acts.xml", "r2ed_scenario.xml", "r2ed_connect.xml" @@ -560,11 +560,11 @@ HelpPages = "de=http://forums.ryzom.com/forum/showthread.php?t=29131" }; -WebIgMainDomain = "atys.ryzom.com"; +WebIgMainDomain = "app.ryzom.com"; WebIgTrustedDomains = { - "atys.ryzom.com" + "api.ryzom.com", "app.ryzom.com" }; -PatchletUrl = "http://atys.ryzom.com/start/app_patchlet.php?patch=preload"; +PatchletUrl = "http://app.ryzom.com/app_patchlet/index.php?patch=preload"; SelectedSlot = 0; diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/actions.xml b/code/ryzom/client/data/gamedev/interfaces_v3/actions.xml index 4596702eb..3486e0298 100644 --- a/code/ryzom/client/data/gamedev/interfaces_v3/actions.xml +++ b/code/ryzom/client/data/gamedev/interfaces_v3/actions.xml @@ -39,7 +39,8 @@ - + + diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/commands.xml b/code/ryzom/client/data/gamedev/interfaces_v3/commands.xml index 821225a03..6fdb5d32a 100644 --- a/code/ryzom/client/data/gamedev/interfaces_v3/commands.xml +++ b/code/ryzom/client/data/gamedev/interfaces_v3/commands.xml @@ -63,6 +63,9 @@ + + + @@ -88,6 +91,11 @@ + + + + + diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/config.xml b/code/ryzom/client/data/gamedev/interfaces_v3/config.xml index c2fa6a71f..630ecd4c6 100644 --- a/code/ryzom/client/data/gamedev/interfaces_v3/config.xml +++ b/code/ryzom/client/data/gamedev/interfaces_v3/config.xml @@ -318,6 +318,12 @@ + + @@ -3389,6 +3395,10 @@ This MUST follow the Enum MISSION_DESC::TIconId + + diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/game_config.xml b/code/ryzom/client/data/gamedev/interfaces_v3/game_config.xml index 560d471ff..0a5c3c085 100644 --- a/code/ryzom/client/data/gamedev/interfaces_v3/game_config.xml +++ b/code/ryzom/client/data/gamedev/interfaces_v3/game_config.xml @@ -18,7 +18,7 @@ color="255 255 255 255" fontsize="14" shadow="true" - case_mode="%case_first_string_letter_up" /> + case_mode="%case_normal" />