mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-09 16:59:02 +00:00
Merge branch 'ryzomcore' into feature/merge_ryzomcore170417
Conflicts: .gitignore README.md code/CMakeLists.txt code/CMakeModules/ConfigureChecks.cmake code/CMakeModules/Find3dsMaxSDK.cmake code/CMakeModules/FindCustomMFC.cmake code/CMakeModules/FindMSVC.cmake code/CMakeModules/FindMercurial.cmake code/CMakeModules/FindWindowsSDK.cmake code/CMakeModules/PCHSupport.cmake code/CMakeModules/nel.cmake code/nel/CMakeLists.txt code/nel/include/nel/3d/animatable.h code/nel/include/nel/3d/animated_lightmap.h code/nel/include/nel/3d/animation_set_user.h code/nel/include/nel/3d/async_file_manager_3d.h code/nel/include/nel/3d/async_texture_manager.h code/nel/include/nel/3d/camera_col.h code/nel/include/nel/3d/cloud_scape_user.h code/nel/include/nel/3d/cluster.h code/nel/include/nel/3d/coarse_mesh_manager.h code/nel/include/nel/3d/fasthls_modifier.h code/nel/include/nel/3d/gpu_program_params.h code/nel/include/nel/3d/ig_surface_light_build.h code/nel/include/nel/3d/landscape.h code/nel/include/nel/3d/material.h code/nel/include/nel/3d/matrix_3x4.h code/nel/include/nel/3d/meshvp_wind_tree.h code/nel/include/nel/3d/particle_system.h code/nel/include/nel/3d/particle_system_manager.h code/nel/include/nel/3d/particle_system_process.h code/nel/include/nel/3d/portal.h code/nel/include/nel/3d/ps_attrib_maker_bin_op_inline.h code/nel/include/nel/3d/ps_attrib_maker_helper.h code/nel/include/nel/3d/ps_attrib_maker_template.h code/nel/include/nel/3d/ps_emitter.h code/nel/include/nel/3d/ps_located.h code/nel/include/nel/3d/ps_mesh.h code/nel/include/nel/3d/ps_zone.h code/nel/include/nel/3d/quad_grid.h code/nel/include/nel/3d/ray_mesh.h code/nel/include/nel/3d/render_trav.h code/nel/include/nel/3d/seg_remanence_shape.h code/nel/include/nel/3d/shadow_map.h code/nel/include/nel/3d/shadow_map_manager.h code/nel/include/nel/3d/shadow_skin.h code/nel/include/nel/3d/stereo_hmd.h code/nel/include/nel/3d/target_anim_ctrl.h code/nel/include/nel/3d/texture_emboss.h code/nel/include/nel/3d/tile_bank.h code/nel/include/nel/3d/u_transform.h code/nel/include/nel/3d/vegetable_light_ex.h code/nel/include/nel/3d/vertex_buffer_heap.h code/nel/include/nel/3d/water_env_map.h code/nel/include/nel/3d/water_height_map.h code/nel/include/nel/georges/form.h code/nel/include/nel/georges/form_dfn.h code/nel/include/nel/georges/form_elm.h code/nel/include/nel/georges/form_loader.h code/nel/include/nel/georges/header.h code/nel/include/nel/georges/load_form.h code/nel/include/nel/georges/type.h code/nel/include/nel/georges/u_form_elm.h code/nel/include/nel/georges/u_form_loader.h code/nel/include/nel/gui/group_html.h code/nel/include/nel/gui/group_menu.h code/nel/include/nel/gui/group_paragraph.h code/nel/include/nel/gui/group_table.h code/nel/include/nel/gui/interface_parser.h code/nel/include/nel/gui/interface_property.h code/nel/include/nel/gui/lua_helper.h code/nel/include/nel/gui/view_link.h code/nel/include/nel/gui/view_pointer_base.h code/nel/include/nel/gui/widget_manager.h code/nel/include/nel/ligo/ligo_config.h code/nel/include/nel/ligo/primitive.h code/nel/include/nel/misc/app_context.h code/nel/include/nel/misc/big_file.h code/nel/include/nel/misc/bitmap.h code/nel/include/nel/misc/block_memory.h code/nel/include/nel/misc/cdb_leaf.h code/nel/include/nel/misc/co_task.h code/nel/include/nel/misc/common.h code/nel/include/nel/misc/contiguous_block_allocator.h code/nel/include/nel/misc/debug.h code/nel/include/nel/misc/fixed_size_allocator.h code/nel/include/nel/misc/heap_memory.h code/nel/include/nel/misc/i_xml.h code/nel/include/nel/misc/mouse_smoother.h code/nel/include/nel/misc/o_xml.h code/nel/include/nel/misc/object_arena_allocator.h code/nel/include/nel/misc/path.h code/nel/include/nel/misc/pool_memory.h code/nel/include/nel/misc/resource_ptr.h code/nel/include/nel/misc/resource_ptr_inline.h code/nel/include/nel/misc/sha1.h code/nel/include/nel/misc/smart_ptr.h code/nel/include/nel/misc/smart_ptr_inline.h code/nel/include/nel/misc/stream.h code/nel/include/nel/misc/string_common.h code/nel/include/nel/misc/timeout_assertion_thread.h code/nel/include/nel/misc/types_nl.h code/nel/include/nel/misc/win_tray.h code/nel/include/nel/net/buf_client.h code/nel/include/nel/net/buf_server.h code/nel/include/nel/net/buf_sock.h code/nel/include/nel/net/message_recorder.h code/nel/include/nel/net/module_gateway.h code/nel/include/nel/net/pacs_client.h code/nel/include/nel/net/service.h code/nel/include/nel/net/sock.h code/nel/include/nel/net/unitime.h code/nel/include/nel/pacs/move_container.h code/nel/src/3d/anim_ctrl.cpp code/nel/src/3d/anim_detail_trav.cpp code/nel/src/3d/animatable.cpp code/nel/src/3d/animated_lightmap.cpp code/nel/src/3d/animated_material.cpp code/nel/src/3d/animated_morph.cpp code/nel/src/3d/animated_value.cpp code/nel/src/3d/animation.cpp code/nel/src/3d/animation_optimizer.cpp code/nel/src/3d/animation_playlist.cpp code/nel/src/3d/animation_set.cpp code/nel/src/3d/animation_set_user.cpp code/nel/src/3d/animation_time.cpp code/nel/src/3d/async_file_manager_3d.cpp code/nel/src/3d/async_texture_block.cpp code/nel/src/3d/async_texture_manager.cpp code/nel/src/3d/bezier_patch.cpp code/nel/src/3d/bloom_effect.cpp code/nel/src/3d/bone.cpp code/nel/src/3d/camera.cpp code/nel/src/3d/camera_col.cpp code/nel/src/3d/channel_mixer.cpp code/nel/src/3d/clip_trav.cpp code/nel/src/3d/cloud.cpp code/nel/src/3d/cloud_scape.cpp code/nel/src/3d/cloud_scape_user.cpp code/nel/src/3d/cluster.cpp code/nel/src/3d/coarse_mesh_build.cpp code/nel/src/3d/coarse_mesh_manager.cpp code/nel/src/3d/computed_string.cpp code/nel/src/3d/cube_grid.cpp code/nel/src/3d/cube_map_builder.cpp code/nel/src/3d/debug_vb.cpp code/nel/src/3d/deform_2d.cpp code/nel/src/3d/driver.cpp code/nel/src/3d/driver/direct3d/driver_direct3d.cpp code/nel/src/3d/driver/direct3d/driver_direct3d_material.cpp code/nel/src/3d/driver/direct3d/driver_direct3d_shader.cpp code/nel/src/3d/driver/direct3d/driver_direct3d_texture.cpp code/nel/src/3d/driver/direct3d/driver_direct3d_vertex_program.cpp code/nel/src/3d/driver/direct3d/stddirect3d.h code/nel/src/3d/driver/opengl/driver_opengl.cpp code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp code/nel/src/3d/driver/opengl/driver_opengl_inputs.cpp code/nel/src/3d/driver/opengl/driver_opengl_light.cpp code/nel/src/3d/driver/opengl/driver_opengl_material.cpp code/nel/src/3d/driver/opengl/driver_opengl_matrix.cpp code/nel/src/3d/driver/opengl/driver_opengl_pixel_program.cpp code/nel/src/3d/driver/opengl/driver_opengl_states.cpp code/nel/src/3d/driver/opengl/driver_opengl_texture.cpp code/nel/src/3d/driver/opengl/driver_opengl_uniform.cpp code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.h code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp code/nel/src/3d/driver/opengl/driver_opengl_window.cpp code/nel/src/3d/driver/opengl/resources.rc code/nel/src/3d/driver/opengl/stdopengl.h code/nel/src/3d/driver/opengl/unix_event_emitter.cpp code/nel/src/3d/driver_user.cpp code/nel/src/3d/driver_user2.cpp code/nel/src/3d/dru.cpp code/nel/src/3d/event_mouse_listener.cpp code/nel/src/3d/fast_ptr_list.cpp code/nel/src/3d/fasthls_modifier.cpp code/nel/src/3d/flare_model.cpp code/nel/src/3d/flare_shape.cpp code/nel/src/3d/font_generator.cpp code/nel/src/3d/font_manager.cpp code/nel/src/3d/frustum.cpp code/nel/src/3d/fxaa.cpp code/nel/src/3d/geometry_program.cpp code/nel/src/3d/gpu_program_params.cpp code/nel/src/3d/heat_haze.cpp code/nel/src/3d/height_map.cpp code/nel/src/3d/hls_color_texture.cpp code/nel/src/3d/hls_texture_bank.cpp code/nel/src/3d/hls_texture_manager.cpp code/nel/src/3d/hrc_trav.cpp code/nel/src/3d/ig_surface_light.cpp code/nel/src/3d/ig_surface_light_build.cpp code/nel/src/3d/index_buffer.cpp code/nel/src/3d/init_3d.cpp code/nel/src/3d/instance_group_user.cpp code/nel/src/3d/instance_lighter.cpp code/nel/src/3d/key.cpp code/nel/src/3d/landscape.cpp code/nel/src/3d/landscape_collision_grid.cpp code/nel/src/3d/landscape_def.cpp code/nel/src/3d/landscape_face_vector_manager.cpp code/nel/src/3d/landscape_model.cpp code/nel/src/3d/landscape_profile.cpp code/nel/src/3d/landscape_user.cpp code/nel/src/3d/landscape_vegetable_block.cpp code/nel/src/3d/landscapeig_manager.cpp code/nel/src/3d/landscapevb_allocator.cpp code/nel/src/3d/landscapevb_info.cpp code/nel/src/3d/light.cpp code/nel/src/3d/light_contribution.cpp code/nel/src/3d/light_influence_interpolator.cpp code/nel/src/3d/light_trav.cpp code/nel/src/3d/light_user.cpp code/nel/src/3d/lighting_manager.cpp code/nel/src/3d/load_balancing_trav.cpp code/nel/src/3d/lod_character_builder.cpp code/nel/src/3d/lod_character_instance.cpp code/nel/src/3d/lod_character_manager.cpp code/nel/src/3d/lod_character_shape.cpp code/nel/src/3d/lod_character_shape_bank.cpp code/nel/src/3d/lod_character_texture.cpp code/nel/src/3d/logic_info.cpp code/nel/src/3d/material.cpp code/nel/src/3d/matrix_3x4.cpp code/nel/src/3d/mesh.cpp code/nel/src/3d/mesh_base.cpp code/nel/src/3d/mesh_base_instance.cpp code/nel/src/3d/mesh_blender.cpp code/nel/src/3d/mesh_block_manager.cpp code/nel/src/3d/mesh_geom.cpp code/nel/src/3d/mesh_instance.cpp code/nel/src/3d/mesh_morpher.cpp code/nel/src/3d/mesh_mrm.cpp code/nel/src/3d/mesh_mrm_instance.cpp code/nel/src/3d/mesh_mrm_skin_template.cpp code/nel/src/3d/mesh_mrm_skinned.cpp code/nel/src/3d/mesh_mrm_skinned_instance.cpp code/nel/src/3d/mesh_mrm_skinned_template.cpp code/nel/src/3d/mesh_multi_lod.cpp code/nel/src/3d/mesh_multi_lod_instance.cpp code/nel/src/3d/mesh_vertex_program.cpp code/nel/src/3d/meshvp_per_pixel_light.cpp code/nel/src/3d/meshvp_wind_tree.cpp code/nel/src/3d/mini_col.cpp code/nel/src/3d/motion_blur.cpp code/nel/src/3d/mrm_builder.cpp code/nel/src/3d/mrm_internal.cpp code/nel/src/3d/mrm_level_detail.cpp code/nel/src/3d/mrm_mesh.cpp code/nel/src/3d/mrm_parameters.cpp code/nel/src/3d/nelu.cpp code/nel/src/3d/noise_3d.cpp code/nel/src/3d/packed_world.cpp code/nel/src/3d/packed_zone.cpp code/nel/src/3d/particle_system.cpp code/nel/src/3d/particle_system_manager.cpp code/nel/src/3d/particle_system_model.cpp code/nel/src/3d/particle_system_process.cpp code/nel/src/3d/particle_system_shape.cpp code/nel/src/3d/particle_system_sound_user.cpp code/nel/src/3d/patch.cpp code/nel/src/3d/patch_lightmap.cpp code/nel/src/3d/patch_noise.cpp code/nel/src/3d/patch_rdr_pass.cpp code/nel/src/3d/patch_render.cpp code/nel/src/3d/patch_vegetable.cpp code/nel/src/3d/patchdlm_context.cpp code/nel/src/3d/patchuv_locator.cpp code/nel/src/3d/pixel_program.cpp code/nel/src/3d/play_list_manager.cpp code/nel/src/3d/play_list_manager_user.cpp code/nel/src/3d/play_list_user.cpp code/nel/src/3d/point_light.cpp code/nel/src/3d/point_light_model.cpp code/nel/src/3d/point_light_named.cpp code/nel/src/3d/point_light_named_array.cpp code/nel/src/3d/portal.cpp code/nel/src/3d/primitive_profile.cpp code/nel/src/3d/program.cpp code/nel/src/3d/ps_allocator.cpp code/nel/src/3d/ps_attrib_maker_bin_op.cpp code/nel/src/3d/ps_attrib_maker_helper.cpp code/nel/src/3d/ps_attrib_maker_template.cpp code/nel/src/3d/ps_color.cpp code/nel/src/3d/ps_dot.cpp code/nel/src/3d/ps_emitter.cpp code/nel/src/3d/ps_face.cpp code/nel/src/3d/ps_face_look_at.cpp code/nel/src/3d/ps_fan_light.cpp code/nel/src/3d/ps_float.cpp code/nel/src/3d/ps_force.cpp code/nel/src/3d/ps_int.cpp code/nel/src/3d/ps_light.cpp code/nel/src/3d/ps_located.cpp code/nel/src/3d/ps_mesh.cpp code/nel/src/3d/ps_particle.cpp code/nel/src/3d/ps_particle2.cpp code/nel/src/3d/ps_particle_basic.cpp code/nel/src/3d/ps_plane_basis_maker.cpp code/nel/src/3d/ps_quad.cpp code/nel/src/3d/ps_register_attribs.cpp code/nel/src/3d/ps_register_emitters.cpp code/nel/src/3d/ps_register_forces.cpp code/nel/src/3d/ps_register_particles.cpp code/nel/src/3d/ps_register_zones.cpp code/nel/src/3d/ps_ribbon.cpp code/nel/src/3d/ps_ribbon_base.cpp code/nel/src/3d/ps_ribbon_look_at.cpp code/nel/src/3d/ps_shockwave.cpp code/nel/src/3d/ps_sound.cpp code/nel/src/3d/ps_tail_dot.cpp code/nel/src/3d/ps_util.cpp code/nel/src/3d/ps_zone.cpp code/nel/src/3d/ptr_set.cpp code/nel/src/3d/quad_effect.cpp code/nel/src/3d/quad_grid.cpp code/nel/src/3d/quad_grid_clip_cluster.cpp code/nel/src/3d/quad_grid_clip_manager.cpp code/nel/src/3d/radix_sort.cpp code/nel/src/3d/raw_skin.cpp code/nel/src/3d/raw_skinned.cpp code/nel/src/3d/ray_mesh.cpp code/nel/src/3d/register_3d.cpp code/nel/src/3d/render_target_manager.cpp code/nel/src/3d/render_trav.cpp code/nel/src/3d/root_model.cpp code/nel/src/3d/scene.cpp code/nel/src/3d/scene_group.cpp code/nel/src/3d/scene_user.cpp code/nel/src/3d/scissor.cpp code/nel/src/3d/seg_remanence.cpp code/nel/src/3d/seg_remanence_shape.cpp code/nel/src/3d/shadow_map.cpp code/nel/src/3d/shadow_map_manager.cpp code/nel/src/3d/shadow_poly_receiver.cpp code/nel/src/3d/shadow_skin.cpp code/nel/src/3d/shape.cpp code/nel/src/3d/shape_bank.cpp code/nel/src/3d/shape_bank_user.cpp code/nel/src/3d/shape_info.cpp code/nel/src/3d/shifted_triangle_cache.cpp code/nel/src/3d/skeleton_model.cpp code/nel/src/3d/skeleton_shape.cpp code/nel/src/3d/skeleton_spawn_script.cpp code/nel/src/3d/skeleton_weight.cpp code/nel/src/3d/static_quad_grid.cpp code/nel/src/3d/std3d.h code/nel/src/3d/stereo_debugger.cpp code/nel/src/3d/stereo_display.cpp code/nel/src/3d/stereo_hmd.cpp code/nel/src/3d/stereo_libvr.cpp code/nel/src/3d/stereo_ovr.cpp code/nel/src/3d/stereo_ovr_04.cpp code/nel/src/3d/stereo_ovr_fp.cpp code/nel/src/3d/stripifier.cpp code/nel/src/3d/surface_light_grid.cpp code/nel/src/3d/tangent_space_build.cpp code/nel/src/3d/target_anim_ctrl.cpp code/nel/src/3d/tess_block.cpp code/nel/src/3d/tess_face_priority_list.cpp code/nel/src/3d/tess_list.cpp code/nel/src/3d/tessellation.cpp code/nel/src/3d/text_context.cpp code/nel/src/3d/text_context_user.cpp code/nel/src/3d/texture.cpp code/nel/src/3d/texture_blank.cpp code/nel/src/3d/texture_blend.cpp code/nel/src/3d/texture_bloom.cpp code/nel/src/3d/texture_bump.cpp code/nel/src/3d/texture_cube.cpp code/nel/src/3d/texture_dlm.cpp code/nel/src/3d/texture_emboss.cpp code/nel/src/3d/texture_far.cpp code/nel/src/3d/texture_file.cpp code/nel/src/3d/texture_font.cpp code/nel/src/3d/texture_grouped.cpp code/nel/src/3d/texture_mem.cpp code/nel/src/3d/texture_multi_file.cpp code/nel/src/3d/texture_near.cpp code/nel/src/3d/texture_user.cpp code/nel/src/3d/tile_bank.cpp code/nel/src/3d/tile_color.cpp code/nel/src/3d/tile_element.cpp code/nel/src/3d/tile_far_bank.cpp code/nel/src/3d/tile_light_influence.cpp code/nel/src/3d/tile_lumel.cpp code/nel/src/3d/tile_noise_map.cpp code/nel/src/3d/tile_vegetable_desc.cpp code/nel/src/3d/track.cpp code/nel/src/3d/track_keyframer.cpp code/nel/src/3d/track_sampled_common.cpp code/nel/src/3d/track_sampled_quat.cpp code/nel/src/3d/track_sampled_quat_small_header.cpp code/nel/src/3d/track_sampled_vector.cpp code/nel/src/3d/transform.cpp code/nel/src/3d/transform_shape.cpp code/nel/src/3d/transformable.cpp code/nel/src/3d/trav_scene.cpp code/nel/src/3d/u_bone.cpp code/nel/src/3d/u_camera.cpp code/nel/src/3d/u_instance.cpp code/nel/src/3d/u_instance_material.cpp code/nel/src/3d/u_material.cpp code/nel/src/3d/u_particle_system_instance.cpp code/nel/src/3d/u_point_light.cpp code/nel/src/3d/u_shape.cpp code/nel/src/3d/u_skeleton.cpp code/nel/src/3d/u_transform.cpp code/nel/src/3d/u_transformable.cpp code/nel/src/3d/u_visual_collision_mesh.cpp code/nel/src/3d/u_water.cpp code/nel/src/3d/vegetable.cpp code/nel/src/3d/vegetable_blend_layer_model.cpp code/nel/src/3d/vegetable_clip_block.cpp code/nel/src/3d/vegetable_def.cpp code/nel/src/3d/vegetable_instance_group.cpp code/nel/src/3d/vegetable_light_ex.cpp code/nel/src/3d/vegetable_manager.cpp code/nel/src/3d/vegetable_quadrant.cpp code/nel/src/3d/vegetable_shape.cpp code/nel/src/3d/vegetable_sort_block.cpp code/nel/src/3d/vegetable_uv8.cpp code/nel/src/3d/vegetablevb_allocator.cpp code/nel/src/3d/vertex_buffer.cpp code/nel/src/3d/vertex_buffer_heap.cpp code/nel/src/3d/vertex_program.cpp code/nel/src/3d/vertex_program_parse.cpp code/nel/src/3d/vertex_stream_manager.cpp code/nel/src/3d/viewport.cpp code/nel/src/3d/visual_collision_entity.cpp code/nel/src/3d/visual_collision_entity_user.cpp code/nel/src/3d/visual_collision_manager.cpp code/nel/src/3d/visual_collision_manager_user.cpp code/nel/src/3d/visual_collision_mesh.cpp code/nel/src/3d/water_env_map.cpp code/nel/src/3d/water_env_map_user.cpp code/nel/src/3d/water_height_map.cpp code/nel/src/3d/water_model.cpp code/nel/src/3d/water_pool_manager.cpp code/nel/src/3d/water_shape.cpp code/nel/src/3d/zone.cpp code/nel/src/3d/zone_corner_smoother.cpp code/nel/src/3d/zone_lighter.cpp code/nel/src/3d/zone_manager.cpp code/nel/src/3d/zone_search.cpp code/nel/src/3d/zone_smoother.cpp code/nel/src/3d/zone_symmetrisation.cpp code/nel/src/3d/zone_tgt_smoother.cpp code/nel/src/georges/form.cpp code/nel/src/georges/form_dfn.cpp code/nel/src/georges/form_elm.cpp code/nel/src/georges/form_loader.cpp code/nel/src/georges/header.cpp code/nel/src/georges/load_form.cpp code/nel/src/georges/type.cpp code/nel/src/gui/action_handler.cpp code/nel/src/gui/ctrl_base.cpp code/nel/src/gui/ctrl_base_button.cpp code/nel/src/gui/ctrl_button.cpp code/nel/src/gui/ctrl_col_pick.cpp code/nel/src/gui/ctrl_draggable.cpp code/nel/src/gui/ctrl_polygon.cpp code/nel/src/gui/ctrl_quad.cpp code/nel/src/gui/ctrl_scroll.cpp code/nel/src/gui/ctrl_scroll_base.cpp code/nel/src/gui/ctrl_sheet_selection.cpp code/nel/src/gui/ctrl_text_button.cpp code/nel/src/gui/ctrl_tooltip.cpp code/nel/src/gui/db_manager.cpp code/nel/src/gui/dbgroup_combo_box.cpp code/nel/src/gui/dbgroup_select_number.cpp code/nel/src/gui/dbview_bar.cpp code/nel/src/gui/dbview_bar3.cpp code/nel/src/gui/dbview_digit.cpp code/nel/src/gui/dbview_number.cpp code/nel/src/gui/dbview_quantity.cpp code/nel/src/gui/event_descriptor.cpp code/nel/src/gui/event_listener.cpp code/nel/src/gui/group_container.cpp code/nel/src/gui/group_container_base.cpp code/nel/src/gui/group_editbox.cpp code/nel/src/gui/group_editbox_base.cpp code/nel/src/gui/group_editbox_decor.cpp code/nel/src/gui/group_frame.cpp code/nel/src/gui/group_header.cpp code/nel/src/gui/group_html.cpp code/nel/src/gui/group_html_parser.cpp code/nel/src/gui/group_list.cpp code/nel/src/gui/group_menu.cpp code/nel/src/gui/group_modal.cpp code/nel/src/gui/group_paragraph.cpp code/nel/src/gui/group_scrolltext.cpp code/nel/src/gui/group_submenu_base.cpp code/nel/src/gui/group_tab.cpp code/nel/src/gui/group_table.cpp code/nel/src/gui/group_tree.cpp code/nel/src/gui/group_wheel.cpp code/nel/src/gui/input_handler.cpp code/nel/src/gui/interface_anim.cpp code/nel/src/gui/interface_element.cpp code/nel/src/gui/interface_expr.cpp code/nel/src/gui/interface_expr_node.cpp code/nel/src/gui/interface_expr_user_fct.cpp code/nel/src/gui/interface_factory.cpp code/nel/src/gui/interface_group.cpp code/nel/src/gui/interface_link.cpp code/nel/src/gui/interface_options.cpp code/nel/src/gui/interface_parser.cpp code/nel/src/gui/interface_property.cpp code/nel/src/gui/libwww.cpp code/nel/src/gui/libwww_types.cpp code/nel/src/gui/link_hack.cpp code/nel/src/gui/lua_helper.cpp code/nel/src/gui/lua_ihm.cpp code/nel/src/gui/lua_manager.cpp code/nel/src/gui/lua_object.cpp code/nel/src/gui/parser.cpp code/nel/src/gui/proc.cpp code/nel/src/gui/reflect.cpp code/nel/src/gui/reflect_register.cpp code/nel/src/gui/root_group.cpp code/nel/src/gui/stdpch.h code/nel/src/gui/string_case.cpp code/nel/src/gui/url_parser.cpp code/nel/src/gui/view_base.cpp code/nel/src/gui/view_bitmap.cpp code/nel/src/gui/view_bitmap_combo.cpp code/nel/src/gui/view_link.cpp code/nel/src/gui/view_pointer.cpp code/nel/src/gui/view_pointer_base.cpp code/nel/src/gui/view_polygon.cpp code/nel/src/gui/view_quad.cpp code/nel/src/gui/view_renderer.cpp code/nel/src/gui/view_text.cpp code/nel/src/gui/view_text_formated.cpp code/nel/src/gui/view_text_id.cpp code/nel/src/gui/view_text_id_formated.cpp code/nel/src/gui/widget_manager.cpp code/nel/src/ligo/ligo_config.cpp code/nel/src/ligo/ligo_error.cpp code/nel/src/ligo/ligo_error.h code/nel/src/ligo/ligo_material.cpp code/nel/src/ligo/ligo_material.h code/nel/src/ligo/primitive.cpp code/nel/src/ligo/primitive_class.cpp code/nel/src/ligo/stdligo.h code/nel/src/ligo/transition.cpp code/nel/src/ligo/transition.h code/nel/src/ligo/zone_bank.cpp code/nel/src/ligo/zone_edge.cpp code/nel/src/ligo/zone_edge.h code/nel/src/ligo/zone_template.cpp code/nel/src/ligo/zone_template.h code/nel/src/logic/logic_condition.cpp code/nel/src/logic/stdlogic.h code/nel/src/misc/CMakeLists.txt code/nel/src/misc/app_context.cpp code/nel/src/misc/big_file.cpp code/nel/src/misc/bitmap.cpp code/nel/src/misc/bitmap_gif.cpp code/nel/src/misc/bitmap_png.cpp code/nel/src/misc/cdb.cpp code/nel/src/misc/cdb_bank_handler.cpp code/nel/src/misc/cdb_branch.cpp code/nel/src/misc/cdb_branch_observing_handler.cpp code/nel/src/misc/cdb_check_sum.cpp code/nel/src/misc/cdb_leaf.cpp code/nel/src/misc/cdb_manager.cpp code/nel/src/misc/check_fpu.cpp code/nel/src/misc/co_task.cpp code/nel/src/misc/command.cpp code/nel/src/misc/common.cpp code/nel/src/misc/config_file/cf_gramatical.cpp code/nel/src/misc/config_file/cf_lexical.cpp code/nel/src/misc/contiguous_block_allocator.cpp code/nel/src/misc/debug.cpp code/nel/src/misc/displayer.cpp code/nel/src/misc/dynloadlib.cpp code/nel/src/misc/eid_translator.cpp code/nel/src/misc/eval_num_expr.cpp code/nel/src/misc/event_emitter.cpp code/nel/src/misc/file.cpp code/nel/src/misc/fixed_size_allocator.cpp code/nel/src/misc/geom_ext.cpp code/nel/src/misc/heap_memory.cpp code/nel/src/misc/hierarchical_timer.cpp code/nel/src/misc/i_xml.cpp code/nel/src/misc/inter_window_msg_queue.cpp code/nel/src/misc/log.cpp code/nel/src/misc/mem_displayer.cpp code/nel/src/misc/o_xml.cpp code/nel/src/misc/object_arena_allocator.cpp code/nel/src/misc/object_vector.cpp code/nel/src/misc/p_thread.cpp code/nel/src/misc/path.cpp code/nel/src/misc/polygon.cpp code/nel/src/misc/quad.cpp code/nel/src/misc/rgba.cpp code/nel/src/misc/smart_ptr.cpp code/nel/src/misc/stdmisc.h code/nel/src/misc/stl_block_allocator.cpp code/nel/src/misc/stl_block_list.cpp code/nel/src/misc/stop_watch.cpp code/nel/src/misc/string_common.cpp code/nel/src/misc/string_id_array.cpp code/nel/src/misc/string_mapper.cpp code/nel/src/misc/system_info.cpp code/nel/src/misc/task_manager.cpp code/nel/src/misc/uv.cpp code/nel/src/misc/value_smoother.cpp code/nel/src/misc/vector_2d.cpp code/nel/src/misc/vector_h.cpp code/nel/src/misc/win_displayer.cpp code/nel/src/misc/win_tray.cpp code/nel/src/misc/words_dictionary.cpp code/nel/src/misc/xml_auto_ptr.cpp code/nel/src/net/admin.cpp code/nel/src/net/buf_sock.cpp code/nel/src/net/email.cpp code/nel/src/net/login_client.cpp code/nel/src/net/login_server.cpp code/nel/src/net/message_recorder.cpp code/nel/src/net/module.cpp code/nel/src/net/module_common.cpp code/nel/src/net/module_gateway.cpp code/nel/src/net/module_gateway_transport.cpp code/nel/src/net/module_local_gateway.cpp code/nel/src/net/module_manager.cpp code/nel/src/net/naming_client.cpp code/nel/src/net/service.cpp code/nel/src/net/sock.cpp code/nel/src/net/udp_sim_sock.cpp code/nel/src/net/unified_network.cpp code/nel/src/net/varpath.cpp code/nel/src/pacs/build_indoor.cpp code/nel/src/pacs/edge_quad.cpp code/nel/src/pacs/global_retriever.cpp code/nel/src/pacs/move_container.cpp code/nel/src/pacs/move_primitive.cpp code/nel/src/pacs/primitive_block_pacs.cpp code/nel/src/pacs/primitive_world_image.cpp code/nel/src/pipeline/database_config.cpp code/nel/src/pipeline/project_config.cpp code/nel/src/sound/audio_mixer_user.cpp code/nel/src/sound/context_sound.cpp code/nel/src/sound/driver/dsound/sound_driver_dsound.cpp code/nel/src/sound/driver/openal/stdopenal.h code/nel/src/sound/driver/sound_driver.cpp code/nel/src/sound/driver/xaudio2/stdxaudio2.h code/nel/src/sound/group_controller.cpp code/nel/src/sound/sample_bank_manager.cpp code/nel/src/sound/sound.cpp code/nel/src/sound/sound_bank.cpp code/nel/tools/3d/CMakeLists.txt code/nel/tools/3d/build_far_bank/build_far_bank.cpp code/nel/tools/3d/cluster_viewer/view_cs.cpp code/nel/tools/3d/ig_lighter/ig_lighter.cpp code/nel/tools/3d/lightmap_optimizer/main.cpp code/nel/tools/3d/ligo/plugin_max/CMakeLists.txt code/nel/tools/3d/ligo/plugin_max/ligoscript.txt code/nel/tools/3d/ligo/plugin_max/max_to_ligo.cpp code/nel/tools/3d/ligo/plugin_max/max_to_ligo.h code/nel/tools/3d/ligo/plugin_max/script.cpp code/nel/tools/3d/object_viewer/about_dialog.cpp code/nel/tools/3d/object_viewer/animation_dlg.cpp code/nel/tools/3d/object_viewer/animation_dlg.h code/nel/tools/3d/object_viewer/animation_set_dlg.cpp code/nel/tools/3d/object_viewer/attrib_dlg.cpp code/nel/tools/3d/object_viewer/bin_op_dlg.h code/nel/tools/3d/object_viewer/bound_checker.h code/nel/tools/3d/object_viewer/choose_name.cpp code/nel/tools/3d/object_viewer/choose_name.h code/nel/tools/3d/object_viewer/choose_pool_id.cpp code/nel/tools/3d/object_viewer/create_file_dlg.cpp code/nel/tools/3d/object_viewer/direction_attr.cpp code/nel/tools/3d/object_viewer/dup_ps.cpp code/nel/tools/3d/object_viewer/edit_ex.cpp code/nel/tools/3d/object_viewer/edit_ex.h code/nel/tools/3d/object_viewer/edit_morph_mesh_dlg.cpp code/nel/tools/3d/object_viewer/edit_ps_sound.cpp code/nel/tools/3d/object_viewer/editable_range.cpp code/nel/tools/3d/object_viewer/editable_range.h code/nel/tools/3d/object_viewer/emitter_dlg.cpp code/nel/tools/3d/object_viewer/global_wind_dlg.cpp code/nel/tools/3d/object_viewer/lb_extern_id_dlg.cpp code/nel/tools/3d/object_viewer/located_bindable_dialog.cpp code/nel/tools/3d/object_viewer/located_properties.cpp code/nel/tools/3d/object_viewer/located_target_dlg.cpp code/nel/tools/3d/object_viewer/main_frame.cpp code/nel/tools/3d/object_viewer/mesh_dlg.cpp code/nel/tools/3d/object_viewer/multi_tex_dlg.cpp code/nel/tools/3d/object_viewer/object_viewer.cpp code/nel/tools/3d/object_viewer/object_viewer.h code/nel/tools/3d/object_viewer/object_viewer_interface.h code/nel/tools/3d/object_viewer/particle_dlg.cpp code/nel/tools/3d/object_viewer/particle_system_edit.cpp code/nel/tools/3d/object_viewer/particle_tree_ctrl.cpp code/nel/tools/3d/object_viewer/particle_tree_ctrl.h code/nel/tools/3d/object_viewer/particle_workspace.cpp code/nel/tools/3d/object_viewer/pick_sound.cpp code/nel/tools/3d/object_viewer/precomputed_rotations_dlg.cpp code/nel/tools/3d/object_viewer/ps_mover_dlg.cpp code/nel/tools/3d/object_viewer/range_selector.cpp code/nel/tools/3d/object_viewer/scheme_bank_dlg.cpp code/nel/tools/3d/object_viewer/select_string.cpp code/nel/tools/3d/object_viewer/select_string.h code/nel/tools/3d/object_viewer/skeleton_scale_dlg.cpp code/nel/tools/3d/object_viewer/slot_dlg.cpp code/nel/tools/3d/object_viewer/snapshot_tool_dlg.cpp code/nel/tools/3d/object_viewer/snapshot_tool_dlg.h code/nel/tools/3d/object_viewer/sound_anim_dlg.cpp code/nel/tools/3d/object_viewer/sound_anim_view.cpp code/nel/tools/3d/object_viewer/sound_system.cpp code/nel/tools/3d/object_viewer/start_stop_particle_system.cpp code/nel/tools/3d/object_viewer/texture_anim_dlg.cpp code/nel/tools/3d/object_viewer/texture_chooser.cpp code/nel/tools/3d/object_viewer/value_gradient_dlg.cpp code/nel/tools/3d/object_viewer/vegetable_copy_dlg.cpp code/nel/tools/3d/object_viewer/vegetable_density_page.cpp code/nel/tools/3d/object_viewer/vegetable_dlg.cpp code/nel/tools/3d/object_viewer/vegetable_dlg.h code/nel/tools/3d/object_viewer/vegetable_edit_tools.cpp code/nel/tools/3d/object_viewer/vegetable_list_box.cpp code/nel/tools/3d/object_viewer/vegetable_list_color.cpp code/nel/tools/3d/object_viewer/vegetable_noise_value_dlg.cpp code/nel/tools/3d/object_viewer/vegetable_select_dlg.cpp code/nel/tools/3d/object_viewer/vegetable_wind_dlg.cpp code/nel/tools/3d/object_viewer/water_pool_editor.cpp code/nel/tools/3d/object_viewer_exe/object_viewer_exe.cpp code/nel/tools/3d/object_viewer_widget/src/object_viewer_widget.cpp code/nel/tools/3d/plugin_max/nel_3dsmax_shared/CMakeLists.txt code/nel/tools/3d/plugin_max/nel_export/CMakeLists.txt code/nel/tools/3d/plugin_max/nel_export/nel_export.cpp code/nel/tools/3d/plugin_max/nel_export/nel_export.h code/nel/tools/3d/plugin_max/nel_export/nel_export_collision.cpp code/nel/tools/3d/plugin_max/nel_export/nel_export_export.cpp code/nel/tools/3d/plugin_max/nel_export/nel_export_filetools.cpp code/nel/tools/3d/plugin_max/nel_export/nel_export_node_properties.cpp code/nel/tools/3d/plugin_max/nel_export/nel_export_scene.cpp code/nel/tools/3d/plugin_max/nel_export/nel_export_script.cpp code/nel/tools/3d/plugin_max/nel_export/nel_export_swt.cpp code/nel/tools/3d/plugin_max/nel_export/nel_export_view.cpp code/nel/tools/3d/plugin_max/nel_export/nel_export_zone.cpp code/nel/tools/3d/plugin_max/nel_export/progress.cpp code/nel/tools/3d/plugin_max/nel_export/std_afx.h code/nel/tools/3d/plugin_max/nel_mesh_lib/CMakeLists.txt code/nel/tools/3d/plugin_max/nel_mesh_lib/calc_lm.cpp code/nel/tools/3d/plugin_max/nel_mesh_lib/calc_lm_rt.cpp code/nel/tools/3d/plugin_max/nel_mesh_lib/export_anim.cpp code/nel/tools/3d/plugin_max/nel_mesh_lib/export_collision.cpp code/nel/tools/3d/plugin_max/nel_mesh_lib/export_material.cpp code/nel/tools/3d/plugin_max/nel_mesh_lib/export_mesh.cpp code/nel/tools/3d/plugin_max/nel_mesh_lib/export_mesh_interface.cpp code/nel/tools/3d/plugin_max/nel_mesh_lib/export_misc.cpp code/nel/tools/3d/plugin_max/nel_mesh_lib/export_nel.h code/nel/tools/3d/plugin_max/nel_mesh_lib/export_particle_system.cpp code/nel/tools/3d/plugin_max/nel_mesh_lib/export_radial_normal.cpp code/nel/tools/3d/plugin_max/nel_mesh_lib/export_remanence.cpp code/nel/tools/3d/plugin_max/nel_mesh_lib/export_scene.cpp code/nel/tools/3d/plugin_max/nel_mesh_lib/export_script.cpp code/nel/tools/3d/plugin_max/nel_mesh_lib/export_skinning.cpp code/nel/tools/3d/plugin_max/nel_patch_converter/CMakeLists.txt code/nel/tools/3d/plugin_max/nel_patch_converter/PO2RPO.h code/nel/tools/3d/plugin_max/nel_patch_converter/nel_patch_converter.cpp code/nel/tools/3d/plugin_max/nel_patch_converter/rykolscript.txt code/nel/tools/3d/plugin_max/nel_patch_converter/script.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/CMakeLists.txt code/nel/tools/3d/plugin_max/nel_patch_edit/editpat.h code/nel/tools/3d/plugin_max/nel_patch_edit/np.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_edit_patch_mod.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_epm_add_patches.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_epm_attach.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_epm_bevel.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_epm_del.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_epm_detach.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_epm_extrude.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_epm_material.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_epm_remember.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_epm_selection.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_epm_subdivide.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_epm_tess.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_gui_bind.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_main.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_mods.cpp code/nel/tools/3d/plugin_max/nel_patch_edit/np_rollup.cpp code/nel/tools/3d/plugin_max/nel_patch_lib/CMakeLists.txt code/nel/tools/3d/plugin_max/nel_patch_lib/nel_patch_mesh.cpp code/nel/tools/3d/plugin_max/nel_patch_lib/nel_patch_mesh.h code/nel/tools/3d/plugin_max/nel_patch_lib/rpo.cpp code/nel/tools/3d/plugin_max/nel_patch_lib/rpo.h code/nel/tools/3d/plugin_max/nel_patch_lib/rpo2nel.cpp code/nel/tools/3d/plugin_max/nel_patch_paint/CMakeLists.txt code/nel/tools/3d/plugin_max/nel_patch_paint/DllEntry.cpp code/nel/tools/3d/plugin_max/nel_patch_paint/nel_patch_paint.h code/nel/tools/3d/plugin_max/nel_patch_paint/paint.cpp code/nel/tools/3d/plugin_max/nel_patch_paint/paint_main.cpp code/nel/tools/3d/plugin_max/nel_patch_paint/paint_ui.cpp code/nel/tools/3d/plugin_max/nel_patch_paint/paint_vcolor.cpp code/nel/tools/3d/plugin_max/nel_patch_paint/paint_vcolor.h code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/CMakeLists.txt code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/Paint.cpp code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/vertex_tree_paint.cpp code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/vertex_tree_paint.h code/nel/tools/3d/plugin_max/scripts/nel_assets_png_batched.ms code/nel/tools/3d/plugin_max/scripts/nel_assets_ps_batched.ms code/nel/tools/3d/plugin_max/scripts/nel_assets_resave.ms code/nel/tools/3d/plugin_max/scripts/nel_assets_resave_hard.ms code/nel/tools/3d/plugin_max/scripts/nel_batched_mergesave.ms code/nel/tools/3d/plugin_max/tile_utility/CMakeLists.txt code/nel/tools/3d/plugin_max/tile_utility/rgbadd.cpp code/nel/tools/3d/plugin_max/tile_utility/tile_utility.cpp code/nel/tools/3d/shape2obj/main.cpp code/nel/tools/3d/shapes_exporter/main.cpp code/nel/tools/3d/tga_2_dds/tga2dds.cpp code/nel/tools/3d/tile_edit/Browse.cpp code/nel/tools/3d/tile_edit/Browse.h code/nel/tools/3d/tile_edit/SelectionTerritoire.cpp code/nel/tools/3d/tile_edit/View.cpp code/nel/tools/3d/tile_edit/choose_veget_set.cpp code/nel/tools/3d/tile_edit_qt/browser_model.cpp code/nel/tools/3d/tile_edit_qt/tile_browser_dlg.cpp code/nel/tools/3d/tile_edit_qt/tile_edit_dlg.cpp code/nel/tools/3d/zone_check_bind/zone_check_bind.cpp code/nel/tools/3d/zone_dependencies/zone_dependencies.cpp code/nel/tools/3d/zone_lighter/zone_lighter.cpp code/nel/tools/3d/zviewer/zviewer.cpp code/nel/tools/build_gamedata/generators/max_exporter_scripts/shape.ms code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/export_footer.ms code/nel/tools/build_gamedata/processes/anim/maxscript/anim_export.ms code/nel/tools/build_gamedata/processes/clodbank/maxscript/clod_export.ms code/nel/tools/build_gamedata/processes/ig/maxscript/ig_export.ms code/nel/tools/build_gamedata/processes/pacs_prim/maxscript/pacs_prim_export.ms code/nel/tools/build_gamedata/processes/rbank/maxscript/cmb_export.ms code/nel/tools/build_gamedata/processes/shape/maxscript/shape_export.ms code/nel/tools/build_gamedata/processes/veget/maxscript/veget_export.ms code/nel/tools/georges/georges2csv/georges2csv.cpp code/nel/tools/logic/logic_editor_dll/Condition.cpp code/nel/tools/logic/logic_editor_dll/ConditionPage.cpp code/nel/tools/logic/logic_editor_dll/ConditionsView.cpp code/nel/tools/logic/logic_editor_dll/Counter.cpp code/nel/tools/logic/logic_editor_dll/CounterPage.cpp code/nel/tools/logic/logic_editor_dll/EditorFormView.cpp code/nel/tools/logic/logic_editor_dll/MainFrm.cpp code/nel/tools/logic/logic_editor_dll/MainFrm.h code/nel/tools/logic/logic_editor_dll/State.cpp code/nel/tools/logic/logic_editor_dll/StatePage.cpp code/nel/tools/logic/logic_editor_dll/StatesView.cpp code/nel/tools/logic/logic_editor_dll/VariablePage.cpp code/nel/tools/logic/logic_editor_dll/logic_editor.cpp code/nel/tools/logic/logic_editor_dll/logic_editor.h code/nel/tools/logic/logic_editor_dll/logic_editorDoc.cpp code/nel/tools/logic/logic_editor_dll/logic_editorDoc.h code/nel/tools/logic/logic_editor_dll/logic_editor_interface.h code/nel/tools/misc/bnp_make/main.cpp code/nel/tools/misc/branch_patcher/branch_patcherDlg.cpp code/nel/tools/misc/crash_report/crash_report_widget.ui code/nel/tools/misc/data_mirror/data_mirror.cpp code/nel/tools/misc/data_mirror/data_mirrorDlg.cpp code/nel/tools/misc/log_analyser/FilterDialog.cpp code/nel/tools/misc/log_analyser/PlugInSelector.cpp code/nel/tools/misc/log_analyser/StdAfx.h code/nel/tools/misc/log_analyser/ViewDialog.cpp code/nel/tools/misc/log_analyser/log_analyserDlg.cpp code/nel/tools/misc/make_sheet_id/make_sheet_id.cpp code/nel/tools/misc/words_dic/words_dicDlg.cpp code/nel/tools/nel_unit_test/nel_unit_test.cpp code/nel/tools/nel_unit_test/ut_ligo.h code/nel/tools/nel_unit_test/ut_misc.h code/nel/tools/nel_unit_test/ut_net.h code/nel/tools/pacs/build_rbank/build_surf.cpp code/ryzom/client/CMakeLists.txt code/ryzom/client/client_default.cfg code/ryzom/client/data/gamedev/fd.cmd code/ryzom/client/data/gamedev/fd2.cmd code/ryzom/client/data/gamedev/fd3.cmd code/ryzom/client/data/gamedev/interfaces_v3/actions.xml code/ryzom/client/data/gamedev/interfaces_v3/bg_downloader.xml code/ryzom/client/data/gamedev/interfaces_v3/bot_chat_v4.xml code/ryzom/client/data/gamedev/interfaces_v3/commands.xml code/ryzom/client/data/gamedev/interfaces_v3/config.xml code/ryzom/client/data/gamedev/interfaces_v3/game_config.xml code/ryzom/client/data/gamedev/interfaces_v3/guild.xml code/ryzom/client/data/gamedev/interfaces_v3/help.xml code/ryzom/client/data/gamedev/interfaces_v3/hierarchy.xml code/ryzom/client/data/gamedev/interfaces_v3/info_player.lua code/ryzom/client/data/gamedev/interfaces_v3/info_player.xml code/ryzom/client/data/gamedev/interfaces_v3/interaction.lua code/ryzom/client/data/gamedev/interfaces_v3/interaction.xml code/ryzom/client/data/gamedev/interfaces_v3/login_config.xml code/ryzom/client/data/gamedev/interfaces_v3/login_main.xml code/ryzom/client/data/gamedev/interfaces_v3/login_widgets.xml code/ryzom/client/data/gamedev/interfaces_v3/macros.xml code/ryzom/client/data/gamedev/interfaces_v3/map.xml code/ryzom/client/data/gamedev/interfaces_v3/out_v2_appear.lua code/ryzom/client/data/gamedev/interfaces_v3/out_v2_appear.xml code/ryzom/client/data/gamedev/interfaces_v3/out_v2_config.xml code/ryzom/client/data/gamedev/interfaces_v3/out_v2_hierarchy.xml code/ryzom/client/data/gamedev/interfaces_v3/out_v2_select.xml code/ryzom/client/data/gamedev/interfaces_v3/outgame_career.xml code/ryzom/client/data/gamedev/interfaces_v3/outgame_config.xml code/ryzom/client/data/gamedev/interfaces_v3/outgame_summary.xml code/ryzom/client/data/gamedev/interfaces_v3/phrase.xml code/ryzom/client/data/gamedev/interfaces_v3/player.lua code/ryzom/client/data/gamedev/interfaces_v3/player.xml code/ryzom/client/data/gamedev/interfaces_v3/player_trade.xml code/ryzom/client/data/gamedev/interfaces_v3/reset.xml code/ryzom/client/data/gamedev/interfaces_v3/webig_widgets.xml code/ryzom/client/data/gamedev/interfaces_v3/widgets.xml code/ryzom/client/data/gamedev/pa.cmd code/ryzom/client/data/gamedev/steed.cmd code/ryzom/client/data/gamedev/team.cmd code/ryzom/client/data/gamedev/texture_extra.txt code/ryzom/client/macosx/upgd_nl.sh code/ryzom/client/src/CMakeLists.txt code/ryzom/client/src/actions.cpp code/ryzom/client/src/bg_downloader_access.cpp code/ryzom/client/src/browse_faq.cpp code/ryzom/client/src/bug_report/bug_reportDlg.cpp code/ryzom/client/src/character_cl.cpp code/ryzom/client/src/character_cl.h code/ryzom/client/src/client.cpp code/ryzom/client/src/client.rc code/ryzom/client/src/client_cfg.cpp code/ryzom/client/src/client_cfg.h code/ryzom/client/src/client_chat_manager.cpp code/ryzom/client/src/client_sheets/animation_set_list_sheet.cpp code/ryzom/client/src/client_sheets/animation_set_list_sheet.h code/ryzom/client/src/client_sheets/item_fx_sheet.cpp code/ryzom/client/src/client_sheets/item_sheet.cpp code/ryzom/client/src/client_sheets/mission_sheet.cpp code/ryzom/client/src/client_sheets/outpost_building_sheet.cpp code/ryzom/client/src/client_sheets/pact_sheet.cpp code/ryzom/client/src/client_sheets/pact_sheet.h code/ryzom/client/src/client_sheets/race_stats_sheet.cpp code/ryzom/client/src/client_sheets/sky_object_sheet.cpp code/ryzom/client/src/client_sheets/unblock_titles_sheet.cpp code/ryzom/client/src/commands.cpp code/ryzom/client/src/connection.cpp code/ryzom/client/src/contextual_cursor.cpp code/ryzom/client/src/continent_manager.cpp code/ryzom/client/src/continent_manager_build.h code/ryzom/client/src/cursor_functions.cpp code/ryzom/client/src/decal.cpp code/ryzom/client/src/door_manager.cpp code/ryzom/client/src/entities.cpp code/ryzom/client/src/entities.h code/ryzom/client/src/entity_cl.cpp code/ryzom/client/src/entity_cl.h code/ryzom/client/src/events_listener.cpp code/ryzom/client/src/far_tp.cpp code/ryzom/client/src/forage_source_cl.cpp code/ryzom/client/src/fx_cl.cpp code/ryzom/client/src/ground_fx_manager.cpp code/ryzom/client/src/init.cpp code/ryzom/client/src/init_main_loop.cpp code/ryzom/client/src/input.cpp code/ryzom/client/src/interface_v3/action_handler_debug.cpp code/ryzom/client/src/interface_v3/action_handler_game.cpp code/ryzom/client/src/interface_v3/action_handler_help.cpp code/ryzom/client/src/interface_v3/action_handler_item.cpp code/ryzom/client/src/interface_v3/action_handler_misc.cpp code/ryzom/client/src/interface_v3/action_handler_phrase.cpp code/ryzom/client/src/interface_v3/bar_manager.cpp code/ryzom/client/src/interface_v3/bar_manager.h code/ryzom/client/src/interface_v3/character_3d.cpp code/ryzom/client/src/interface_v3/chat_displayer.h code/ryzom/client/src/interface_v3/chat_text_manager.cpp code/ryzom/client/src/interface_v3/chat_text_manager.h code/ryzom/client/src/interface_v3/chat_window.cpp code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp code/ryzom/client/src/interface_v3/dbctrl_sheet.h code/ryzom/client/src/interface_v3/group_html_cs.cpp code/ryzom/client/src/interface_v3/group_html_webig.cpp code/ryzom/client/src/interface_v3/group_in_scene_bubble.cpp code/ryzom/client/src/interface_v3/group_in_scene_user_info.cpp code/ryzom/client/src/interface_v3/group_in_scene_user_info.h code/ryzom/client/src/interface_v3/group_map.cpp code/ryzom/client/src/interface_v3/guild_manager.cpp code/ryzom/client/src/interface_v3/input_handler_manager.h code/ryzom/client/src/interface_v3/interface_3d_scene.cpp code/ryzom/client/src/interface_v3/interface_ddx.cpp code/ryzom/client/src/interface_v3/interface_expr_user_fct_game.cpp code/ryzom/client/src/interface_v3/interface_manager.cpp code/ryzom/client/src/interface_v3/interface_observer.h code/ryzom/client/src/interface_v3/item_consumable_effect.cpp code/ryzom/client/src/interface_v3/item_special_effect.cpp code/ryzom/client/src/interface_v3/lua_ihm_ryzom.cpp code/ryzom/client/src/interface_v3/lua_ihm_ryzom.h code/ryzom/client/src/interface_v3/macrocmd_key.cpp code/ryzom/client/src/interface_v3/macrocmd_manager.cpp code/ryzom/client/src/interface_v3/music_player.cpp code/ryzom/client/src/interface_v3/people_interraction.cpp code/ryzom/client/src/interface_v3/people_list.cpp code/ryzom/client/src/interface_v3/sbrick_manager.cpp code/ryzom/client/src/interface_v3/sbrick_manager.h code/ryzom/client/src/interface_v3/sphrase_manager.cpp code/ryzom/client/src/interface_v3/sphrase_manager.h code/ryzom/client/src/interface_v3/view_radar.cpp code/ryzom/client/src/login.cpp code/ryzom/client/src/login_patch.cpp code/ryzom/client/src/login_patch.h code/ryzom/client/src/login_progress_post_thread.cpp code/ryzom/client/src/login_xdelta.cpp code/ryzom/client/src/main_loop.cpp code/ryzom/client/src/micro_life_manager.cpp code/ryzom/client/src/misc.cpp code/ryzom/client/src/misc.h code/ryzom/client/src/net_manager.cpp code/ryzom/client/src/network_connection.cpp code/ryzom/client/src/network_connection.h code/ryzom/client/src/npc_icon.cpp code/ryzom/client/src/pacs_client.cpp code/ryzom/client/src/permanent_ban.cpp code/ryzom/client/src/player_cl.cpp code/ryzom/client/src/player_r2_cl.cpp code/ryzom/client/src/r2/auto_group.cpp code/ryzom/client/src/r2/dmc/action_historic.cpp code/ryzom/client/src/r2/dmc/client_edition_module.cpp code/ryzom/client/src/r2/dmc/client_edition_module.h code/ryzom/client/src/r2/dmc/dmc.cpp code/ryzom/client/src/r2/dmc/property_accessor.cpp code/ryzom/client/src/r2/editor.cpp code/ryzom/client/src/r2/editor.h code/ryzom/client/src/r2/instance_map_deco.cpp code/ryzom/client/src/r2/tool.cpp code/ryzom/client/src/r2/tool.h code/ryzom/client/src/r2/tool_choose_pos.cpp code/ryzom/client/src/r2/tool_create_entity.cpp code/ryzom/client/src/r2/tool_pick.cpp code/ryzom/client/src/r2/tool_select_move.cpp code/ryzom/client/src/release.cpp code/ryzom/client/src/rosace.cpp code/ryzom/client/src/ryzom.ico code/ryzom/client/src/session_browser.cpp code/ryzom/client/src/seven_zip/7zArcIn.cpp code/ryzom/client/src/seven_zip/7zMain.cpp code/ryzom/client/src/seven_zip/7zVersion.h code/ryzom/client/src/seven_zip/Aes.cpp code/ryzom/client/src/seven_zip/CpuArch.h code/ryzom/client/src/seven_zip/Lzma86Dec.cpp code/ryzom/client/src/seven_zip/Lzma86Enc.cpp code/ryzom/client/src/seven_zip/LzmaDec.cpp code/ryzom/client/src/seven_zip/LzmaEnc.cpp code/ryzom/client/src/seven_zip/Ppmd7.cpp code/ryzom/client/src/seven_zip/seven_zip.cpp code/ryzom/client/src/sheet_manager.cpp code/ryzom/client/src/sky.cpp code/ryzom/client/src/steam_client.cpp code/ryzom/client/src/string_manager_client.cpp code/ryzom/client/src/user_agent.cpp code/ryzom/client/src/user_entity.cpp code/ryzom/client/unix/CMakeLists.txt code/ryzom/client/unix/upgd_nl.sh code/ryzom/common/CMakeLists.txt code/ryzom/common/data_common/database.xml code/ryzom/common/data_common/landscape_col_prim_pacs_list.txt code/ryzom/common/data_common/msg.xml code/ryzom/common/data_common/r2/IslandScreenshots.cfg code/ryzom/common/data_common/r2/r2_islands.xml code/ryzom/common/data_common/r2/r2_ui_property_sheet.lua code/ryzom/common/data_common/visual_slot.tab code/ryzom/common/data_leveldesign/leveldesign/world_editor_files/world_editor_classes.xml code/ryzom/common/src/game_share/ai_wrapper.h code/ryzom/common/src/game_share/bg_downloader_msg.cpp code/ryzom/common/src/game_share/bg_downloader_msg.h code/ryzom/common/src/game_share/brick_families.cpp code/ryzom/common/src/game_share/brick_families.h code/ryzom/common/src/game_share/brick_flags.cpp code/ryzom/common/src/game_share/brick_flags.h code/ryzom/common/src/game_share/characteristics.cpp code/ryzom/common/src/game_share/characteristics.h code/ryzom/common/src/game_share/cst_loader.cpp code/ryzom/common/src/game_share/dms.cpp code/ryzom/common/src/game_share/effect_families.cpp code/ryzom/common/src/game_share/effect_families.h code/ryzom/common/src/game_share/inventories.h code/ryzom/common/src/game_share/item_infos.cpp code/ryzom/common/src/game_share/item_infos.h code/ryzom/common/src/game_share/light_cycle.cpp code/ryzom/common/src/game_share/login_registry.cpp code/ryzom/common/src/game_share/login_registry.h code/ryzom/common/src/game_share/magic_fx.cpp code/ryzom/common/src/game_share/magic_fx.h code/ryzom/common/src/game_share/mainland_summary.h code/ryzom/common/src/game_share/mirror_prop_value.h code/ryzom/common/src/game_share/mirrored_data_set.cpp code/ryzom/common/src/game_share/mode_and_behaviour.cpp code/ryzom/common/src/game_share/mode_and_behaviour.h code/ryzom/common/src/game_share/msg_ais_egs_gen.cpp code/ryzom/common/src/game_share/msg_client_server.h code/ryzom/common/src/game_share/object.cpp code/ryzom/common/src/game_share/persistent_data.h code/ryzom/common/src/game_share/persistent_data_inline.h code/ryzom/common/src/game_share/persistent_data_template.h code/ryzom/common/src/game_share/persistent_data_tree.cpp code/ryzom/common/src/game_share/power_types.cpp code/ryzom/common/src/game_share/power_types.h code/ryzom/common/src/game_share/ring_access.cpp code/ryzom/common/src/game_share/ring_session_manager_itf.h code/ryzom/common/src/game_share/ryzom_mirror_properties.cpp code/ryzom/common/src/game_share/ryzom_mirror_properties.h code/ryzom/common/src/game_share/ryzom_version.h code/ryzom/common/src/game_share/scenario.cpp code/ryzom/common/src/game_share/scenario_entry_points.cpp code/ryzom/common/src/game_share/scores.cpp code/ryzom/common/src/game_share/scores.h code/ryzom/common/src/game_share/season_file_ext.cpp code/ryzom/common/src/game_share/seeds.cpp code/ryzom/common/src/game_share/server_animation_module.cpp code/ryzom/common/src/game_share/server_edition_module.cpp code/ryzom/common/src/game_share/server_edition_module.h code/ryzom/common/src/game_share/simlag.cpp code/ryzom/common/src/game_share/string_mgr_module.cpp code/ryzom/common/src/game_share/time_weather_season/static_light_cycle.cpp code/ryzom/common/src/game_share/time_weather_season/time_and_season.cpp code/ryzom/common/src/game_share/time_weather_season/time_and_season.h code/ryzom/common/src/game_share/user_connection_mgr.cpp code/ryzom/common/src/game_share/utils.h code/ryzom/server/data_shard/egs/client_commands_privileges.txt code/ryzom/server/entities_game_service.cfg code/ryzom/server/entities_game_service_default.cfg code/ryzom/server/input_output_service.cfg code/ryzom/server/input_output_service_default.cfg code/ryzom/server/logger_service.cfg code/ryzom/server/session_browser_server.cfg code/ryzom/server/shard_unifier_service.cfg code/ryzom/server/src/admin_modules/admin_modules_itf.h code/ryzom/server/src/ags_test/command_event_manager.cpp code/ryzom/server/src/ags_test/move_grid.h code/ryzom/server/src/ai_service/ai.cpp code/ryzom/server/src/ai_service/ai.h code/ryzom/server/src/ai_service/ai_bot.cpp code/ryzom/server/src/ai_service/ai_bot.h code/ryzom/server/src/ai_service/ai_bot_fauna.cpp code/ryzom/server/src/ai_service/ai_bot_npc.cpp code/ryzom/server/src/ai_service/ai_bot_npc.h code/ryzom/server/src/ai_service/ai_entity_physical.h code/ryzom/server/src/ai_service/ai_entity_physical_inline.h code/ryzom/server/src/ai_service/ai_generic_fight.cpp code/ryzom/server/src/ai_service/ai_generic_fight_helpers.cpp code/ryzom/server/src/ai_service/ai_grp_fauna.cpp code/ryzom/server/src/ai_service/ai_grp_npc.cpp code/ryzom/server/src/ai_service/ai_grp_npc.h code/ryzom/server/src/ai_service/ai_mgr_fauna.cpp code/ryzom/server/src/ai_service/ai_place.cpp code/ryzom/server/src/ai_service/ai_player.cpp code/ryzom/server/src/ai_service/ai_profile_npc.cpp code/ryzom/server/src/ai_service/ai_script_comp.cpp code/ryzom/server/src/ai_service/commands.cpp code/ryzom/server/src/ai_service/continent.cpp code/ryzom/server/src/ai_service/family_profile_tribe.cpp code/ryzom/server/src/ai_service/generic_logic_action.cpp code/ryzom/server/src/ai_service/messages.cpp code/ryzom/server/src/ai_service/mirrors.cpp code/ryzom/server/src/ai_service/nf_grp.cpp code/ryzom/server/src/ai_service/nf_grp_npc.cpp code/ryzom/server/src/ai_service/script_compiler.cpp code/ryzom/server/src/ai_service/script_compiler_native_func.cpp code/ryzom/server/src/ai_service/sheets.cpp code/ryzom/server/src/ai_share/16x16_layer.h code/ryzom/server/src/ai_share/ai_event_report.cpp code/ryzom/server/src/ai_share/ai_event_report.h code/ryzom/server/src/ai_share/ai_types.h code/ryzom/server/src/ai_share/ai_wrapper_server.cpp code/ryzom/server/src/ai_share/world_map.cpp code/ryzom/server/src/ai_share/world_map.h code/ryzom/server/src/entities_game_service/admin.cpp code/ryzom/server/src/entities_game_service/building_manager/building_physical.cpp code/ryzom/server/src/entities_game_service/cdb_group.h code/ryzom/server/src/entities_game_service/common_shard_callbacks.cpp code/ryzom/server/src/entities_game_service/creature_manager/creature.cpp code/ryzom/server/src/entities_game_service/creature_manager/creature_manager.cpp code/ryzom/server/src/entities_game_service/creature_manager/creature_manager.h code/ryzom/server/src/entities_game_service/database_plr.cpp code/ryzom/server/src/entities_game_service/database_plr.h code/ryzom/server/src/entities_game_service/deposit.cpp code/ryzom/server/src/entities_game_service/egs_mirror.cpp code/ryzom/server/src/entities_game_service/egs_sheets/egs_static_ai_action.cpp code/ryzom/server/src/entities_game_service/egs_sheets/egs_static_ai_action.h code/ryzom/server/src/entities_game_service/egs_sheets/egs_static_brick.cpp code/ryzom/server/src/entities_game_service/egs_sheets/egs_static_brick.cpp.h code/ryzom/server/src/entities_game_service/egs_sheets/egs_static_brick.h code/ryzom/server/src/entities_game_service/egs_sheets/egs_static_game_item.cpp code/ryzom/server/src/entities_game_service/egs_sheets/egs_static_game_item.h code/ryzom/server/src/entities_game_service/egs_sheets/egs_static_game_sheet.cpp code/ryzom/server/src/entities_game_service/egs_sheets/egs_static_game_sheet.h code/ryzom/server/src/entities_game_service/egs_sheets/egs_static_harvestable.cpp code/ryzom/server/src/entities_game_service/egs_sheets/egs_static_outpost.cpp code/ryzom/server/src/entities_game_service/egs_sheets/egs_static_rolemaster_phrase.cpp code/ryzom/server/src/entities_game_service/egs_variables.cpp code/ryzom/server/src/entities_game_service/egs_variables.h code/ryzom/server/src/entities_game_service/entities_game_service.cpp code/ryzom/server/src/entities_game_service/entity_manager/entity_base.cpp code/ryzom/server/src/entities_game_service/entity_manager/entity_base.h code/ryzom/server/src/entities_game_service/entity_manager/entity_callbacks.cpp code/ryzom/server/src/entities_game_service/entity_manager/entity_manager.cpp code/ryzom/server/src/entities_game_service/forage_progress.cpp code/ryzom/server/src/entities_game_service/forage_progress.h code/ryzom/server/src/entities_game_service/game_item_manager/game_item.cpp code/ryzom/server/src/entities_game_service/game_item_manager/game_item.h code/ryzom/server/src/entities_game_service/harvest_source.cpp code/ryzom/server/src/entities_game_service/harvest_source.h code/ryzom/server/src/entities_game_service/mission_manager/mission_item.cpp code/ryzom/server/src/entities_game_service/mission_manager/mission_log.h code/ryzom/server/src/entities_game_service/mission_manager/missions_commands.cpp code/ryzom/server/src/entities_game_service/outpost_manager/outpost.h code/ryzom/server/src/entities_game_service/outpost_manager/outpost_building.cpp code/ryzom/server/src/entities_game_service/phrase_manager/area_effect.h code/ryzom/server/src/entities_game_service/phrase_manager/aura_regen_effect.cpp code/ryzom/server/src/entities_game_service/phrase_manager/aura_regen_effect.h code/ryzom/server/src/entities_game_service/phrase_manager/bleed_effect.cpp code/ryzom/server/src/entities_game_service/phrase_manager/bleed_effect.h code/ryzom/server/src/entities_game_service/phrase_manager/combat_action_bleed.h code/ryzom/server/src/entities_game_service/phrase_manager/combat_action_special_damage.cpp code/ryzom/server/src/entities_game_service/phrase_manager/combat_bleed_effect.cpp code/ryzom/server/src/entities_game_service/phrase_manager/combat_bleed_effect.h code/ryzom/server/src/entities_game_service/phrase_manager/combat_phrase.cpp code/ryzom/server/src/entities_game_service/phrase_manager/combat_phrase.h code/ryzom/server/src/entities_game_service/phrase_manager/damage_aura_effect.cpp code/ryzom/server/src/entities_game_service/phrase_manager/damage_aura_effect.h code/ryzom/server/src/entities_game_service/phrase_manager/faber_action.cpp code/ryzom/server/src/entities_game_service/phrase_manager/faber_phrase.cpp code/ryzom/server/src/entities_game_service/phrase_manager/faber_phrase.h code/ryzom/server/src/entities_game_service/phrase_manager/fg_extraction_phrase.cpp code/ryzom/server/src/entities_game_service/phrase_manager/fg_prospection_phrase.cpp code/ryzom/server/src/entities_game_service/phrase_manager/forage_phrase.cpp code/ryzom/server/src/entities_game_service/phrase_manager/forage_phrase.h code/ryzom/server/src/entities_game_service/phrase_manager/harvest_phrase.cpp code/ryzom/server/src/entities_game_service/phrase_manager/harvest_phrase.h code/ryzom/server/src/entities_game_service/phrase_manager/magic_action_affect_stat.cpp code/ryzom/server/src/entities_game_service/phrase_manager/magic_action_ai_hot.cpp code/ryzom/server/src/entities_game_service/phrase_manager/magic_action_attack.cpp code/ryzom/server/src/entities_game_service/phrase_manager/magic_action_attack.h code/ryzom/server/src/entities_game_service/phrase_manager/magic_action_debuff.cpp code/ryzom/server/src/entities_game_service/phrase_manager/magic_action_dot.cpp code/ryzom/server/src/entities_game_service/phrase_manager/magic_action_heal.cpp code/ryzom/server/src/entities_game_service/phrase_manager/magic_action_hot.cpp code/ryzom/server/src/entities_game_service/phrase_manager/magic_action_negative_effect.cpp code/ryzom/server/src/entities_game_service/phrase_manager/magic_phrase.cpp code/ryzom/server/src/entities_game_service/phrase_manager/magic_phrase.h code/ryzom/server/src/entities_game_service/phrase_manager/nolink_dot_effect.cpp code/ryzom/server/src/entities_game_service/phrase_manager/nolink_hot_effect.cpp code/ryzom/server/src/entities_game_service/phrase_manager/phrase_utilities_functions.cpp code/ryzom/server/src/entities_game_service/phrase_manager/phrase_utilities_functions.h code/ryzom/server/src/entities_game_service/phrase_manager/s_link_effect_dot.cpp code/ryzom/server/src/entities_game_service/phrase_manager/s_link_effect_dot.h code/ryzom/server/src/entities_game_service/phrase_manager/s_link_effect_hot.cpp code/ryzom/server/src/entities_game_service/phrase_manager/s_link_effect_hot.h code/ryzom/server/src/entities_game_service/phrase_manager/special_power_balance.cpp code/ryzom/server/src/entities_game_service/phrase_manager/special_power_balance.h code/ryzom/server/src/entities_game_service/phrase_manager/special_power_basic_aura.cpp code/ryzom/server/src/entities_game_service/phrase_manager/special_power_dot.cpp code/ryzom/server/src/entities_game_service/phrase_manager/special_power_enchant_weapon.cpp code/ryzom/server/src/entities_game_service/phrase_manager/special_power_heal.cpp code/ryzom/server/src/entities_game_service/phrase_manager/special_power_heal.h code/ryzom/server/src/entities_game_service/phrase_manager/special_power_phrase.cpp code/ryzom/server/src/entities_game_service/phrase_manager/toxic_cloud.cpp code/ryzom/server/src/entities_game_service/player_manager/admin_properties.cpp code/ryzom/server/src/entities_game_service/player_manager/character.cpp code/ryzom/server/src/entities_game_service/player_manager/character.h code/ryzom/server/src/entities_game_service/player_manager/character_inventory_manipulation.cpp code/ryzom/server/src/entities_game_service/player_manager/character_tick_update_timer_event.h code/ryzom/server/src/entities_game_service/player_manager/character_version_adapter.cpp code/ryzom/server/src/entities_game_service/player_manager/persistent_player_data.cpp code/ryzom/server/src/entities_game_service/player_manager/player_manager.cpp code/ryzom/server/src/entities_game_service/progression/progression_common.h code/ryzom/server/src/entities_game_service/progression/progression_pve.cpp code/ryzom/server/src/entities_game_service/progression/progression_pve.h code/ryzom/server/src/entities_game_service/progression/progression_pvp.cpp code/ryzom/server/src/entities_game_service/progression/progression_pvp.h code/ryzom/server/src/entities_game_service/pvp_manager/pvp_base.h code/ryzom/server/src/entities_game_service/pvp_manager/pvp_faction_reward_manager/pvp_faction_reward_manager.cpp code/ryzom/server/src/entities_game_service/pvp_manager/pvp_faction_reward_manager/totem_base.cpp code/ryzom/server/src/entities_game_service/pvp_manager/pvp_faction_reward_manager/totem_base.h code/ryzom/server/src/entities_game_service/pvp_manager/pvp_faction_reward_manager/totem_effect.cpp code/ryzom/server/src/entities_game_service/pvp_manager/pvp_manager.cpp code/ryzom/server/src/entities_game_service/pvp_manager/pvp_manager_2.cpp code/ryzom/server/src/entities_game_service/team_manager/team.cpp code/ryzom/server/src/entity_view_service/move_grid.h code/ryzom/server/src/frontend_service/distance_prioritizer.cpp code/ryzom/server/src/frontend_service/vision_provider.cpp code/ryzom/server/src/general_utilities_service/stat_character.cpp code/ryzom/server/src/general_utilities_service/stat_character.h code/ryzom/server/src/general_utilities_service/stat_user_char_info_extractors.cpp code/ryzom/server/src/gpm_service/cell.h code/ryzom/server/src/gpm_service/move_grid.h code/ryzom/server/src/gpm_service/world_entity.cpp code/ryzom/server/src/gpm_service/world_entity.h code/ryzom/server/src/input_output_service/chat_manager.cpp code/ryzom/server/src/input_output_service/string_manager_parser.cpp code/ryzom/server/src/logger_service/log_query.cpp code/ryzom/server/src/logger_service/log_query.h code/ryzom/server/src/mail_forum_service/hof_generator.cpp code/ryzom/server/src/monitor_service/client.cpp code/ryzom/server/src/monitor_service/client.h code/ryzom/server/src/monitor_service/mirrors.cpp code/ryzom/server/src/monitor_service/mirrors.h code/ryzom/server/src/pd_lib/pd_messages.h code/ryzom/server/src/pd_support_service/stat_character.cpp code/ryzom/server/src/pd_support_service/stat_character.h code/ryzom/server/src/pd_support_service/stat_user_char_info_extractors.cpp code/ryzom/server/src/persistant_data_service/pds_database.cpp code/ryzom/server/src/persistant_data_service/pds_database.h code/ryzom/server/src/persistant_data_service/pds_table.h code/ryzom/server/src/persistant_data_service/pds_table_inline.h code/ryzom/server/src/sabrina/combat_phrase.cpp code/ryzom/server/src/sabrina/combat_phrase.h code/ryzom/server/src/sabrina/faber_phrase.cpp code/ryzom/server/src/sabrina/faber_phrase.h code/ryzom/server/src/sabrina/harvest_phrase.cpp code/ryzom/server/src/sabrina/harvest_phrase.h code/ryzom/server/src/sabrina/magic_action_affect_stat.cpp code/ryzom/server/src/sabrina/magic_action_attack.cpp code/ryzom/server/src/sabrina/magic_action_debuff.cpp code/ryzom/server/src/sabrina/magic_action_dot.cpp code/ryzom/server/src/sabrina/magic_action_heal.cpp code/ryzom/server/src/sabrina/magic_action_hot.cpp code/ryzom/server/src/sabrina/magic_action_negative_effect.cpp code/ryzom/server/src/sabrina/magic_phrase.cpp code/ryzom/server/src/sabrina/magic_phrase.h code/ryzom/server/src/sabrina/phrase_utilities_functions.cpp code/ryzom/server/src/sabrina/phrase_utilities_functions.h code/ryzom/server/src/sabrina/s_link_effect_dot.cpp code/ryzom/server/src/sabrina/s_link_effect_dot.h code/ryzom/server/src/sabrina/s_link_effect_hot.cpp code/ryzom/server/src/sabrina/s_link_effect_hot.h code/ryzom/server/src/sabrina/sabrina_actor.h code/ryzom/server/src/sabrina/sabrina_actor_creature.cpp code/ryzom/server/src/sabrina/sabrina_actor_player.cpp code/ryzom/server/src/sabrina/sabrina_enum.h code/ryzom/server/src/server_share/continent_container.cpp code/ryzom/server/src/server_share/login_service_itf.h code/ryzom/server/src/server_share/mail_forum_itf.h code/ryzom/server/src/server_share/msg_ai_service.cpp code/ryzom/server/src/server_share/msg_ai_service.h code/ryzom/server/src/server_share/mysql_wrapper.cpp code/ryzom/server/src/server_share/mysql_wrapper.h code/ryzom/server/src/server_share/testing_tool_structures.h code/ryzom/server/src/session_browser_server/session_browser_server.cpp code/ryzom/server/src/shard_unifier_service/character_sync.cpp code/ryzom/server/src/shard_unifier_service/database_mapping.cpp code/ryzom/server/src/shard_unifier_service/login_service.cpp code/ryzom/server/src/shard_unifier_service/mail_forum_notfier_fwd.cpp code/ryzom/server/src/shard_unifier_service/name_manager.cpp code/ryzom/server/src/shard_unifier_service/ring_session_manager.cpp code/ryzom/server/src/simulation_service/simulated_dmc.cpp code/ryzom/server/src/simulation_service/simulated_ring_session_manager.cpp code/ryzom/server/src/testing_tool_service/testing_tool_service.cpp code/ryzom/server/src/testing_tool_service/testing_tool_service.h code/ryzom/tools/client/client_config_qt/CMakeLists.txt code/ryzom/tools/client/client_config_qt/src/client_config_dialog.cpp code/ryzom/tools/client/client_patcher/CMakeLists.txt code/ryzom/tools/client/ryzom_installer/res/ryzom_installer.ini code/ryzom/tools/client/ryzom_installer/src/configfile.cpp code/ryzom/tools/client/ryzom_installer/src/configfile.h code/ryzom/tools/client/ryzom_installer/src/downloader.cpp code/ryzom/tools/client/ryzom_installer/src/filesextractor.cpp code/ryzom/tools/client/ryzom_installer/src/installdialog.cpp code/ryzom/tools/client/ryzom_installer/src/main.cpp code/ryzom/tools/client/ryzom_installer/src/migratedialog.cpp code/ryzom/tools/client/ryzom_installer/src/operationdialog.cpp code/ryzom/tools/client/ryzom_installer/src/operationdialog.h code/ryzom/tools/client/ryzom_installer/src/profilesdialog.cpp code/ryzom/tools/client/ryzom_installer/src/utils.cpp code/ryzom/tools/client/ryzom_installer/src/utils.h code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_de.ts code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_es.ts code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_fr.ts code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_ru.ts code/ryzom/tools/leveldesign/alias_synchronizer/alias_synchronizer.cpp code/ryzom/tools/leveldesign/csv_transform/csv_transform.cpp code/ryzom/tools/leveldesign/export/export.cpp code/ryzom/tools/leveldesign/georges_dll/action.cpp code/ryzom/tools/leveldesign/georges_dll/action.h code/ryzom/tools/leveldesign/georges_dll/base_dialog.cpp code/ryzom/tools/leveldesign/georges_dll/base_dialog.h code/ryzom/tools/leveldesign/georges_dll/color_wnd.cpp code/ryzom/tools/leveldesign/georges_dll/dfn_dialog.cpp code/ryzom/tools/leveldesign/georges_dll/edit_list_ctrl.cpp code/ryzom/tools/leveldesign/georges_dll/edit_list_ctrl.h code/ryzom/tools/leveldesign/georges_dll/file_browser_dialog.cpp code/ryzom/tools/leveldesign/georges_dll/file_tree_view.cpp code/ryzom/tools/leveldesign/georges_dll/form_dialog.cpp code/ryzom/tools/leveldesign/georges_dll/georges_edit.cpp code/ryzom/tools/leveldesign/georges_dll/georges_edit.h code/ryzom/tools/leveldesign/georges_dll/georges_edit_doc.cpp code/ryzom/tools/leveldesign/georges_dll/georges_edit_view.cpp code/ryzom/tools/leveldesign/georges_dll/georges_implementation.cpp code/ryzom/tools/leveldesign/georges_dll/icon_wnd.cpp code/ryzom/tools/leveldesign/georges_dll/imagelist_ex.cpp code/ryzom/tools/leveldesign/georges_dll/left_view.cpp code/ryzom/tools/leveldesign/georges_dll/memory_combo_box.cpp code/ryzom/tools/leveldesign/georges_dll/memory_combo_box.h code/ryzom/tools/leveldesign/georges_dll/plugin_interface.h code/ryzom/tools/leveldesign/georges_dll/stdafx.h code/ryzom/tools/leveldesign/georges_dll/type_dialog.cpp code/ryzom/tools/leveldesign/georges_plugin_sound/PageSimple.cpp code/ryzom/tools/leveldesign/georges_plugin_sound/georges_plugin_sound.cpp code/ryzom/tools/leveldesign/georges_plugin_sound/sound_plugin.cpp code/ryzom/tools/leveldesign/mission_compiler_fe/mission_compiler_fe.cpp code/ryzom/tools/leveldesign/mission_compiler_fe/mission_compiler_feDlg.cpp code/ryzom/tools/leveldesign/mission_compiler_lib/main.cpp code/ryzom/tools/leveldesign/mission_compiler_lib/mission_compiler.cpp code/ryzom/tools/leveldesign/mission_compiler_lib/mission_compiler.h code/ryzom/tools/leveldesign/mission_compiler_lib/step_content.cpp code/ryzom/tools/leveldesign/mission_compiler_lib/steps.cpp code/ryzom/tools/leveldesign/mp_generator/main.cpp code/ryzom/tools/leveldesign/named_items_2_csv/named_items_2_csv.cpp code/ryzom/tools/leveldesign/prim_export/main.cpp code/ryzom/tools/leveldesign/variable_parser/lua_helper.h code/ryzom/tools/leveldesign/world_editor/land_export_lib/export.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/action.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/action.h code/ryzom/tools/leveldesign/world_editor/world_editor/builder_zone.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/builder_zone.h code/ryzom/tools/leveldesign/world_editor/world_editor/builder_zone_region.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/dialog_properties.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/display.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/editor_primitive.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/editor_primitive.h code/ryzom/tools/leveldesign/world_editor/world_editor/export_dlg.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/external_editor.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/file_dialog_ex.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/find_primitive_dlg.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/generate_dlg.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/imagelist_ex.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/main_frm.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/main_frm.h code/ryzom/tools/leveldesign/world_editor/world_editor/my_list_box.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/name_dlg.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/pacs.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/plugin_interface.h code/ryzom/tools/leveldesign/world_editor/world_editor/primitive_configuration_dlg.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/project_settings.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/resource.h code/ryzom/tools/leveldesign/world_editor/world_editor/tools_logic.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/tools_logic.h code/ryzom/tools/leveldesign/world_editor/world_editor/tools_zone.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/type_manager_dlg.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/type_sel_dlg.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor.h code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor_doc.cpp code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor_doc.h code/ryzom/tools/leveldesign/world_editor/world_editor_fauna_graph_plugin/plugin.cpp code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/graph_plugin.cpp code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/world_editor_graph_plugin_dlg.cpp code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/DialogFlags.cpp code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/entity_display_info.h code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/memory_combo_box.cpp code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/memory_combo_box.h code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/plugin.cpp code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/plugin.h code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/DialogFlags.cpp code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.cpp code/ryzom/tools/pd_parser/parser.cpp code/ryzom/tools/pd_parser/templatizer.cpp code/ryzom/tools/scripts/linux/utilities code/ryzom/tools/sheets_packer/sheets_packer.cfg code/ryzom/tools/stats_scan/character_scan_job.cpp code/ryzom/tools/translation/translated/bodypart_words_de.txt code/ryzom/tools/translation/translated/bodypart_words_en.txt code/ryzom/tools/translation/translated/bodypart_words_es.txt code/ryzom/tools/translation/translated/bodypart_words_fr.txt code/ryzom/tools/translation/translated/bodypart_words_ru.txt code/ryzom/tools/translation/translated/bodypart_words_wk.txt code/ryzom/tools/translation/translated/career_words_de.txt code/ryzom/tools/translation/translated/career_words_en.txt code/ryzom/tools/translation/translated/career_words_es.txt code/ryzom/tools/translation/translated/career_words_fr.txt code/ryzom/tools/translation/translated/career_words_ru.txt code/ryzom/tools/translation/translated/career_words_wk.txt code/ryzom/tools/translation/translated/characteristic_words_de.txt code/ryzom/tools/translation/translated/characteristic_words_en.txt code/ryzom/tools/translation/translated/characteristic_words_es.txt code/ryzom/tools/translation/translated/characteristic_words_fr.txt code/ryzom/tools/translation/translated/characteristic_words_ru.txt code/ryzom/tools/translation/translated/characteristic_words_wk.txt code/ryzom/tools/translation/translated/classificationtype_words_de.txt code/ryzom/tools/translation/translated/classificationtype_words_en.txt code/ryzom/tools/translation/translated/classificationtype_words_es.txt code/ryzom/tools/translation/translated/classificationtype_words_fr.txt code/ryzom/tools/translation/translated/classificationtype_words_ru.txt code/ryzom/tools/translation/translated/classificationtype_words_wk.txt code/ryzom/tools/translation/translated/creature_words_de.txt code/ryzom/tools/translation/translated/creature_words_en.txt code/ryzom/tools/translation/translated/creature_words_es.txt code/ryzom/tools/translation/translated/creature_words_fr.txt code/ryzom/tools/translation/translated/creature_words_ru.txt code/ryzom/tools/translation/translated/creature_words_wk.txt code/ryzom/tools/translation/translated/damagetype_words_de.txt code/ryzom/tools/translation/translated/damagetype_words_en.txt code/ryzom/tools/translation/translated/damagetype_words_es.txt code/ryzom/tools/translation/translated/damagetype_words_fr.txt code/ryzom/tools/translation/translated/damagetype_words_ru.txt code/ryzom/tools/translation/translated/damagetype_words_wk.txt code/ryzom/tools/translation/translated/de.uxt code/ryzom/tools/translation/translated/ecosystem_words_de.txt code/ryzom/tools/translation/translated/ecosystem_words_en.txt code/ryzom/tools/translation/translated/ecosystem_words_es.txt code/ryzom/tools/translation/translated/ecosystem_words_fr.txt code/ryzom/tools/translation/translated/ecosystem_words_ru.txt code/ryzom/tools/translation/translated/ecosystem_words_wk.txt code/ryzom/tools/translation/translated/en.uxt code/ryzom/tools/translation/translated/es.uxt code/ryzom/tools/translation/translated/faction_words_de.txt code/ryzom/tools/translation/translated/faction_words_en.txt code/ryzom/tools/translation/translated/faction_words_es.txt code/ryzom/tools/translation/translated/faction_words_fr.txt code/ryzom/tools/translation/translated/faction_words_ru.txt code/ryzom/tools/translation/translated/faction_words_wk.txt code/ryzom/tools/translation/translated/fr.uxt code/ryzom/tools/translation/translated/item_words_de.txt code/ryzom/tools/translation/translated/item_words_en.txt code/ryzom/tools/translation/translated/item_words_es.txt code/ryzom/tools/translation/translated/item_words_fr.txt code/ryzom/tools/translation/translated/item_words_ru.txt code/ryzom/tools/translation/translated/item_words_wk.txt code/ryzom/tools/translation/translated/job_words_de.txt code/ryzom/tools/translation/translated/job_words_en.txt code/ryzom/tools/translation/translated/job_words_es.txt code/ryzom/tools/translation/translated/job_words_fr.txt code/ryzom/tools/translation/translated/job_words_ru.txt code/ryzom/tools/translation/translated/job_words_wk.txt code/ryzom/tools/translation/translated/outpost_words_de.txt code/ryzom/tools/translation/translated/outpost_words_en.txt code/ryzom/tools/translation/translated/outpost_words_es.txt code/ryzom/tools/translation/translated/outpost_words_fr.txt code/ryzom/tools/translation/translated/outpost_words_ru.txt code/ryzom/tools/translation/translated/outpost_words_wk.txt code/ryzom/tools/translation/translated/place_words_de.txt code/ryzom/tools/translation/translated/place_words_en.txt code/ryzom/tools/translation/translated/place_words_es.txt code/ryzom/tools/translation/translated/place_words_fr.txt code/ryzom/tools/translation/translated/place_words_ru.txt code/ryzom/tools/translation/translated/place_words_wk.txt code/ryzom/tools/translation/translated/powertype_words_de.txt code/ryzom/tools/translation/translated/powertype_words_en.txt code/ryzom/tools/translation/translated/powertype_words_es.txt code/ryzom/tools/translation/translated/powertype_words_fr.txt code/ryzom/tools/translation/translated/powertype_words_ru.txt code/ryzom/tools/translation/translated/powertype_words_wk.txt code/ryzom/tools/translation/translated/race_words_de.txt code/ryzom/tools/translation/translated/race_words_en.txt code/ryzom/tools/translation/translated/race_words_es.txt code/ryzom/tools/translation/translated/race_words_fr.txt code/ryzom/tools/translation/translated/race_words_ru.txt code/ryzom/tools/translation/translated/race_words_wk.txt code/ryzom/tools/translation/translated/sbrick_words_de.txt code/ryzom/tools/translation/translated/sbrick_words_en.txt code/ryzom/tools/translation/translated/sbrick_words_es.txt code/ryzom/tools/translation/translated/sbrick_words_fr.txt code/ryzom/tools/translation/translated/sbrick_words_ru.txt code/ryzom/tools/translation/translated/sbrick_words_wk.txt code/ryzom/tools/translation/translated/score_words_de.txt code/ryzom/tools/translation/translated/score_words_en.txt code/ryzom/tools/translation/translated/score_words_es.txt code/ryzom/tools/translation/translated/score_words_fr.txt code/ryzom/tools/translation/translated/score_words_ru.txt code/ryzom/tools/translation/translated/score_words_wk.txt code/ryzom/tools/translation/translated/skill_words_de.txt code/ryzom/tools/translation/translated/skill_words_en.txt code/ryzom/tools/translation/translated/skill_words_es.txt code/ryzom/tools/translation/translated/skill_words_fr.txt code/ryzom/tools/translation/translated/skill_words_ru.txt code/ryzom/tools/translation/translated/skill_words_wk.txt code/ryzom/tools/translation/translated/sphrase_words_de.txt code/ryzom/tools/translation/translated/sphrase_words_en.txt code/ryzom/tools/translation/translated/sphrase_words_es.txt code/ryzom/tools/translation/translated/sphrase_words_fr.txt code/ryzom/tools/translation/translated/sphrase_words_ru.txt code/ryzom/tools/translation/translated/sphrase_words_wk.txt code/ryzom/tools/translation/translated/title_words_de.txt code/ryzom/tools/translation/translated/title_words_en.txt code/ryzom/tools/translation/translated/title_words_es.txt code/ryzom/tools/translation/translated/title_words_fr.txt code/ryzom/tools/translation/translated/title_words_ru.txt code/ryzom/tools/translation/translated/title_words_wk.txt code/ryzom/tools/translation/translated/wk.uxt code/ryzom/tools/translation/work/wk.uxt code/ryzom/tools/translation_tools/main.cpp code/studio/src/plugins/mission_compiler/mission_compiler_main_window.cpp code/studio/src/plugins/object_viewer/particle_system/dup_ps.cpp code/studio/src/plugins/object_viewer/particle_system/particle_editor.cpp code/studio/src/plugins/object_viewer/particle_system/particle_node.cpp code/studio/src/plugins/object_viewer/particle_system/particle_workspace_dialog.h code/web/docs/admin/shard_restart/Hd36.xml code/web/docs/ams/doxygen/Doxyfile code/web/docs/ams/doxygen/img/db.png code/web/docs/ams/doxygen/img/info.jpg code/web/docs/ams/doxygen/img/info.psd code/web/docs/ams/doxygen/info.php code/web/docs/ams/doxygen/logo.png code/web/private_php/ams/autoload/.plugincache.php.swp code/web/private_php/ams/autoload/assigned.php code/web/private_php/ams/autoload/dblayer.php code/web/private_php/ams/autoload/forwarded.php code/web/private_php/ams/autoload/gui_elements.php code/web/private_php/ams/autoload/helpers.php code/web/private_php/ams/autoload/in_support_group.php code/web/private_php/ams/autoload/mail_handler.php code/web/private_php/ams/autoload/mycrypt.php code/web/private_php/ams/autoload/pagination.php code/web/private_php/ams/autoload/plugincache.php code/web/private_php/ams/autoload/querycache.php code/web/private_php/ams/autoload/rest_api.php code/web/private_php/ams/autoload/support_group.php code/web/private_php/ams/autoload/sync.php code/web/private_php/ams/autoload/ticket.php code/web/private_php/ams/autoload/ticket_category.php code/web/private_php/ams/autoload/ticket_content.php code/web/private_php/ams/autoload/ticket_info.php code/web/private_php/ams/autoload/ticket_log.php code/web/private_php/ams/autoload/ticket_queue.php code/web/private_php/ams/autoload/ticket_queue_handler.php code/web/private_php/ams/autoload/ticket_reply.php code/web/private_php/ams/autoload/ticket_user.php code/web/private_php/ams/autoload/users.php code/web/private_php/ams/configs/ams_lib.conf code/web/private_php/ams/configs/ingame_layout.ini code/web/private_php/ams/img/info/client.png code/web/private_php/ams/img/info/connect.png code/web/private_php/ams/img/info/cpuid.png code/web/private_php/ams/img/info/ht.png code/web/private_php/ams/img/info/local.png code/web/private_php/ams/img/info/mask.png code/web/private_php/ams/img/info/memory.png code/web/private_php/ams/img/info/nel.png code/web/private_php/ams/img/info/os.png code/web/private_php/ams/img/info/patch.png code/web/private_php/ams/img/info/position.png code/web/private_php/ams/img/info/processor.png code/web/private_php/ams/img/info/server.png code/web/private_php/ams/img/info/shard.png code/web/private_php/ams/img/info/user.png code/web/private_php/ams/img/info/view.png code/web/private_php/ams/ingame_templates/createticket.tpl code/web/private_php/ams/ingame_templates/dashboard.tpl code/web/private_php/ams/ingame_templates/index.tpl code/web/private_php/ams/ingame_templates/layout.tpl code/web/private_php/ams/ingame_templates/layout_admin.tpl code/web/private_php/ams/ingame_templates/layout_mod.tpl code/web/private_php/ams/ingame_templates/layout_user.tpl code/web/private_php/ams/ingame_templates/login.tpl code/web/private_php/ams/ingame_templates/register.tpl code/web/private_php/ams/ingame_templates/settings.tpl code/web/private_php/ams/ingame_templates/sgroup_list.tpl code/web/private_php/ams/ingame_templates/show_queue.tpl code/web/private_php/ams/ingame_templates/show_reply.tpl code/web/private_php/ams/ingame_templates/show_sgroup.tpl code/web/private_php/ams/ingame_templates/show_ticket.tpl code/web/private_php/ams/ingame_templates/show_ticket_info.tpl code/web/private_php/ams/ingame_templates/show_ticket_log.tpl code/web/private_php/ams/ingame_templates/show_user.tpl code/web/private_php/ams/ingame_templates/userlist.tpl code/web/private_php/ams/libinclude.php code/web/private_php/ams/mail/placeholder code/web/private_php/ams/plugins/API_key_management/.info code/web/private_php/ams/plugins/API_key_management/API_key_management.php code/web/private_php/ams/plugins/API_key_management/generate_key.php code/web/private_php/ams/plugins/API_key_management/templates/gen_key.tpl code/web/private_php/ams/plugins/API_key_management/templates/index.tpl code/web/private_php/ams/plugins/Achievements/.info code/web/private_php/ams/plugins/Achievements/Achievements.php code/web/private_php/ams/plugins/Achievements/templates/index.tpl code/web/private_php/ams/plugins/Domain_Management/.info code/web/private_php/ams/plugins/Domain_Management/Domain_Management.php code/web/private_php/ams/plugins/Domain_Management/templates/index.tpl code/web/private_php/ams/plugins/cacheresource.apc.php code/web/private_php/ams/plugins/cacheresource.memcache.php code/web/private_php/ams/plugins/cacheresource.mysql.php code/web/private_php/ams/plugins/doxygen_plugin_management.php code/web/private_php/ams/plugins/resource.extendsall.php code/web/private_php/ams/plugins/resource.mysql.php code/web/private_php/ams/plugins/resource.mysqls.php code/web/private_php/ams/smarty/README code/web/private_php/ams/smarty/SMARTY_2_BC_NOTES.txt code/web/private_php/ams/smarty/SMARTY_3.0_BC_NOTES.txt code/web/private_php/ams/smarty/SMARTY_3.1_NOTES.txt code/web/private_php/ams/smarty/change_log.txt code/web/private_php/ams/smarty/libs/Smarty.class.php code/web/private_php/ams/smarty/libs/SmartyBC.class.php code/web/private_php/ams/smarty/libs/debug.tpl code/web/private_php/ams/smarty/libs/plugins/block.textformat.php code/web/private_php/ams/smarty/libs/plugins/function.counter.php code/web/private_php/ams/smarty/libs/plugins/function.cycle.php code/web/private_php/ams/smarty/libs/plugins/function.fetch.php code/web/private_php/ams/smarty/libs/plugins/function.html_checkboxes.php code/web/private_php/ams/smarty/libs/plugins/function.html_image.php code/web/private_php/ams/smarty/libs/plugins/function.html_options.php code/web/private_php/ams/smarty/libs/plugins/function.html_radios.php code/web/private_php/ams/smarty/libs/plugins/function.html_select_date.php code/web/private_php/ams/smarty/libs/plugins/function.html_select_time.php code/web/private_php/ams/smarty/libs/plugins/function.html_table.php code/web/private_php/ams/smarty/libs/plugins/function.mailto.php code/web/private_php/ams/smarty/libs/plugins/function.math.php code/web/private_php/ams/smarty/libs/plugins/modifier.capitalize.php code/web/private_php/ams/smarty/libs/plugins/modifier.date_format.php code/web/private_php/ams/smarty/libs/plugins/modifier.debug_print_var.php code/web/private_php/ams/smarty/libs/plugins/modifier.escape.php code/web/private_php/ams/smarty/libs/plugins/modifier.regex_replace.php code/web/private_php/ams/smarty/libs/plugins/modifier.replace.php code/web/private_php/ams/smarty/libs/plugins/modifier.spacify.php code/web/private_php/ams/smarty/libs/plugins/modifier.truncate.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.cat.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.count_characters.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.count_paragraphs.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.count_sentences.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.count_words.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.default.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.escape.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.from_charset.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.indent.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.lower.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.noprint.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.string_format.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.strip.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.strip_tags.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.to_charset.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.unescape.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.upper.php code/web/private_php/ams/smarty/libs/plugins/modifiercompiler.wordwrap.php code/web/private_php/ams/smarty/libs/plugins/outputfilter.trimwhitespace.php code/web/private_php/ams/smarty/libs/plugins/shared.escape_special_chars.php code/web/private_php/ams/smarty/libs/plugins/shared.literal_compiler_param.php code/web/private_php/ams/smarty/libs/plugins/shared.make_timestamp.php code/web/private_php/ams/smarty/libs/plugins/shared.mb_str_replace.php code/web/private_php/ams/smarty/libs/plugins/shared.mb_unicode.php code/web/private_php/ams/smarty/libs/plugins/shared.mb_wordwrap.php code/web/private_php/ams/smarty/libs/plugins/variablefilter.htmlspecialchars.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_cacheresource.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_cacheresource_custom.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_config_source.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_cacheresource_file.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_append.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_assign.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_block.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_break.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_call.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_capture.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_config_load.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_continue.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_debug.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_eval.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_extends.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_for.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_foreach.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_function.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_if.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_include.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_include_php.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_insert.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_ldelim.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_nocache.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_rdelim.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_section.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_setfilter.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compile_while.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_compilebase.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_config.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_config_file_compiler.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_configfilelexer.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_configfileparser.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_data.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_debug.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_filter_handler.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_function_call_handler.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_get_include_path.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_nocache_insert.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_parsetree.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_resource_eval.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_resource_extends.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_resource_file.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_resource_php.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_resource_registered.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_resource_stream.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_resource_string.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_template.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_templatebase.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_templatelexer.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_templateparser.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_utility.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_internal_write_file.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_resource.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_resource_custom.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_resource_recompiled.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_resource_uncompiled.php code/web/private_php/ams/smarty/libs/sysplugins/smarty_security.php code/web/private_php/ams/tmp/placeholder code/web/private_php/ams/translations/en.ini code/web/private_php/ams/translations/fr.ini code/web/private_php/setup/config/config.php code/web/private_php/setup/config/config_user.php code/web/private_php/setup/sql/nel_00001.sql code/web/private_php/setup/sql/nel_00002.sql code/web/private_php/setup/sql/nel_00003.sql code/web/private_php/setup/sql/nel_00004.sql code/web/private_php/setup/sql/nel_ams_00001.sql code/web/private_php/setup/sql/nel_ams_00002.sql code/web/private_php/setup/sql/nel_ams_lib_00001.sql code/web/private_php/setup/sql/nel_ams_lib_00002.sql code/web/private_php/setup/sql/nel_ams_lib_00003.sql code/web/private_php/setup/sql/nel_ams_lib_00004.sql code/web/private_php/setup/sql/nel_ams_lib_00005.sql code/web/private_php/setup/sql/nel_ams_lib_00006.sql code/web/private_php/setup/sql/nel_ams_lib_00007.sql code/web/private_php/setup/sql/nel_tool_00001.sql code/web/private_php/setup/sql/nel_tool_00002.sql code/web/private_php/setup/sql/ring_domain_00001.sql code/web/private_php/setup/sql/webig_00001.sql code/web/public_php/admin/common.php code/web/public_php/admin/config.php code/web/public_php/admin/crons/cron_harddisk.php code/web/public_php/admin/crons/index.html code/web/public_php/admin/functions_auth.php code/web/public_php/admin/functions_mysql.php code/web/public_php/admin/functions_mysqli.php code/web/public_php/admin/functions_tool_main.php code/web/public_php/admin/graphs_output/placeholder code/web/public_php/admin/index.php code/web/public_php/admin/jpgraph/jpgraph_gantt.php code/web/public_php/admin/jpgraph/jpgraph_pie.php code/web/public_php/admin/nel/nel_message.php code/web/public_php/admin/scripts/index.html code/web/public_php/admin/smarty/Config_File.class.php code/web/public_php/admin/smarty/Smarty.class.php code/web/public_php/admin/smarty/Smarty_Compiler.class.php code/web/public_php/admin/smarty/debug.tpl code/web/public_php/admin/smarty/internals/core.create_dir_structure.php code/web/public_php/admin/smarty/internals/core.display_debug_console.php code/web/public_php/admin/smarty/internals/core.is_secure.php code/web/public_php/admin/smarty/internals/core.is_trusted.php code/web/public_php/admin/smarty/internals/core.process_cached_inserts.php code/web/public_php/admin/smarty/internals/core.process_compiled_include.php code/web/public_php/admin/smarty/internals/core.read_cache_file.php code/web/public_php/admin/smarty/internals/core.rmdir.php code/web/public_php/admin/smarty/internals/core.write_cache_file.php code/web/public_php/admin/smarty/internals/core.write_compiled_include.php code/web/public_php/admin/smarty/internals/core.write_file.php code/web/public_php/admin/smarty/plugins/block.textformat.php code/web/public_php/admin/smarty/plugins/compiler.assign.php code/web/public_php/admin/smarty/plugins/function.assign_debug_info.php code/web/public_php/admin/smarty/plugins/function.config_load.php code/web/public_php/admin/smarty/plugins/function.counter.php code/web/public_php/admin/smarty/plugins/function.cycle.php code/web/public_php/admin/smarty/plugins/function.eval.php code/web/public_php/admin/smarty/plugins/function.fetch.php code/web/public_php/admin/smarty/plugins/function.html_image.php code/web/public_php/admin/smarty/plugins/function.html_options.php code/web/public_php/admin/smarty/plugins/function.html_radios.php code/web/public_php/admin/smarty/plugins/function.html_select_date.php code/web/public_php/admin/smarty/plugins/function.html_select_time.php code/web/public_php/admin/smarty/plugins/function.html_table.php code/web/public_php/admin/smarty/plugins/function.mailto.php code/web/public_php/admin/smarty/plugins/function.math.php code/web/public_php/admin/smarty/plugins/function.popup.php code/web/public_php/admin/smarty/plugins/function.popup_init.php code/web/public_php/admin/smarty/plugins/modifier.capitalize.php code/web/public_php/admin/smarty/plugins/modifier.count_characters.php code/web/public_php/admin/smarty/plugins/modifier.count_paragraphs.php code/web/public_php/admin/smarty/plugins/modifier.count_sentences.php code/web/public_php/admin/smarty/plugins/modifier.count_words.php code/web/public_php/admin/smarty/plugins/modifier.date_format.php code/web/public_php/admin/smarty/plugins/modifier.debug_print_var.php code/web/public_php/admin/smarty/plugins/modifier.default.php code/web/public_php/admin/smarty/plugins/modifier.escape.php code/web/public_php/admin/smarty/plugins/modifier.indent.php code/web/public_php/admin/smarty/plugins/modifier.lower.php code/web/public_php/admin/smarty/plugins/modifier.regex_replace.php code/web/public_php/admin/smarty/plugins/modifier.replace.php code/web/public_php/admin/smarty/plugins/modifier.spacify.php code/web/public_php/admin/smarty/plugins/modifier.string_format.php code/web/public_php/admin/smarty/plugins/modifier.strip_tags.php code/web/public_php/admin/smarty/plugins/modifier.truncate.php code/web/public_php/admin/smarty/plugins/modifier.upper.php code/web/public_php/admin/smarty/plugins/modifier.wordwrap.php code/web/public_php/admin/smarty/plugins/outputfilter.trimwhitespace.php code/web/public_php/admin/smarty/plugins/shared.escape_special_chars.php code/web/public_php/admin/smarty/plugins/shared.make_timestamp.php code/web/public_php/admin/templates/default/index.tpl code/web/public_php/admin/templates/default/index_login.tpl code/web/public_php/admin/templates/default/tool_actions.tpl code/web/public_php/admin/templates/default/tool_administration_applications.tpl code/web/public_php/admin/templates/default/tool_administration_domains.tpl code/web/public_php/admin/templates/default/tool_administration_groups.tpl code/web/public_php/admin/templates/default/tool_administration_logs.tpl code/web/public_php/admin/templates/default/tool_administration_restarts.tpl code/web/public_php/admin/templates/default/tool_administration_shards.tpl code/web/public_php/admin/templates/default/tool_administration_users.tpl code/web/public_php/admin/templates/default/tool_graphs.tpl code/web/public_php/admin/templates/default/tool_graphs_ccu.tpl code/web/public_php/admin/templates/default/tool_graphs_hires.tpl code/web/public_php/admin/templates/default/tool_graphs_tech.tpl code/web/public_php/admin/templates/default/tool_notes.tpl code/web/public_php/admin/templates/default_c/placeholder code/web/public_php/admin/tool_administration.php code/web/public_php/admin/tool_graphs.php code/web/public_php/admin/tool_guild_locator.php code/web/public_php/admin/tool_player_locator.php code/web/public_php/admin/tool_preferences.php code/web/public_php/ams/autoload/webusers.php code/web/public_php/ams/cache/placeholder code/web/public_php/ams/configs/ams_lib.conf code/web/public_php/ams/cron/mail_cron.php code/web/public_php/ams/cron/sync_cron.php code/web/public_php/ams/css/animate.min.css code/web/public_php/ams/css/bootstrap-cerulean.css code/web/public_php/ams/css/bootstrap-cerulean.min.css code/web/public_php/ams/css/bootstrap-classic.css code/web/public_php/ams/css/bootstrap-classic.min.css code/web/public_php/ams/css/bootstrap-cyborg.css code/web/public_php/ams/css/bootstrap-cyborg.min.css code/web/public_php/ams/css/bootstrap-darkly.min.css code/web/public_php/ams/css/bootstrap-journal.css code/web/public_php/ams/css/bootstrap-lumen.min.css code/web/public_php/ams/css/bootstrap-redy.css code/web/public_php/ams/css/bootstrap-responsive.css code/web/public_php/ams/css/bootstrap-responsive.min.css code/web/public_php/ams/css/bootstrap-simplex.css code/web/public_php/ams/css/bootstrap-simplex.min.css code/web/public_php/ams/css/bootstrap-slate.css code/web/public_php/ams/css/bootstrap-slate.min.css code/web/public_php/ams/css/bootstrap-spacelab.css code/web/public_php/ams/css/bootstrap-spacelab.min.css code/web/public_php/ams/css/bootstrap-united.css code/web/public_php/ams/css/bootstrap-united.min.css code/web/public_php/ams/css/charisma-app.css code/web/public_php/ams/css/chosen.css code/web/public_php/ams/css/colorbox.css code/web/public_php/ams/css/custom.css code/web/public_php/ams/css/elfinder.min.css code/web/public_php/ams/css/elfinder.theme.css code/web/public_php/ams/css/fullcalendar.css code/web/public_php/ams/css/fullcalendar.print.css code/web/public_php/ams/css/jquery-ui-1.8.21.custom.css code/web/public_php/ams/css/jquery.cleditor.css code/web/public_php/ams/css/jquery.iphone.toggle.css code/web/public_php/ams/css/jquery.noty.css code/web/public_php/ams/css/noty_theme_default.css code/web/public_php/ams/css/opa-icons.css code/web/public_php/ams/css/uniform.default.css code/web/public_php/ams/css/uploadify.css code/web/public_php/ams/doc/assets/images/html_structure.png code/web/public_php/ams/doc/assets/images/image_1.png code/web/public_php/ams/doc/css/documenter_style.css code/web/public_php/ams/doc/css/img/info.png code/web/public_php/ams/doc/css/img/pre_bg.png code/web/public_php/ams/doc/css/img/warning.png code/web/public_php/ams/doc/favicon.ico code/web/public_php/ams/doc/index.html code/web/public_php/ams/doc/js/jquery.1.6.4.js code/web/public_php/ams/doc/js/jquery.easing.js code/web/public_php/ams/doc/js/jquery.scrollTo-1.4.2-min.js code/web/public_php/ams/doc/js/script.js code/web/public_php/ams/files/.htaccess code/web/public_php/ams/files/index.html code/web/public_php/ams/fonts/glyphicons-halflings-regular.eot code/web/public_php/ams/fonts/glyphicons-halflings-regular.svg code/web/public_php/ams/fonts/glyphicons-halflings-regular.ttf code/web/public_php/ams/fonts/glyphicons-halflings-regular.woff code/web/public_php/ams/func/activate_plugin.php code/web/public_php/ams/func/add_sgroup.php code/web/public_php/ams/func/add_user.php code/web/public_php/ams/func/add_user_to_sgroup.php code/web/public_php/ams/func/change_info.php code/web/public_php/ams/func/change_mail.php code/web/public_php/ams/func/change_password.php code/web/public_php/ams/func/change_receivemail.php code/web/public_php/ams/func/create_ticket.php code/web/public_php/ams/func/deactivate_plugin.php code/web/public_php/ams/func/delete_plugin.php code/web/public_php/ams/func/forgot_password.php code/web/public_php/ams/func/install_plugin.php code/web/public_php/ams/func/login.php code/web/public_php/ams/func/modify_email_of_sgroup.php code/web/public_php/ams/func/reply_on_ticket.php code/web/public_php/ams/func/reset_password.php code/web/public_php/ams/func/update_plugin.php code/web/public_php/ams/func/upload.php code/web/public_php/ams/func/userRegistration.php code/web/public_php/ams/img/ajax-loaders/ajax-loader-1.gif code/web/public_php/ams/img/ajax-loaders/ajax-loader-2.gif code/web/public_php/ams/img/ajax-loaders/ajax-loader-3.gif code/web/public_php/ams/img/ajax-loaders/ajax-loader-4.gif code/web/public_php/ams/img/ajax-loaders/ajax-loader-5.gif code/web/public_php/ams/img/ajax-loaders/ajax-loader-6.gif code/web/public_php/ams/img/ajax-loaders/ajax-loader-7.gif code/web/public_php/ams/img/ajax-loaders/ajax-loader-8.gif code/web/public_php/ams/img/arrows-active.png code/web/public_php/ams/img/arrows-normal.png code/web/public_php/ams/img/bg-input-focus.png code/web/public_php/ams/img/bg-input.png code/web/public_php/ams/img/border.png code/web/public_php/ams/img/buttons.gif code/web/public_php/ams/img/cancel-off.png code/web/public_php/ams/img/cancel-on.png code/web/public_php/ams/img/chosen-sprite.png code/web/public_php/ams/img/controls.png code/web/public_php/ams/img/crop.gif code/web/public_php/ams/img/dialogs.png code/web/public_php/ams/img/en.png code/web/public_php/ams/img/error_bg.png code/web/public_php/ams/img/favicon.ico code/web/public_php/ams/img/fr.png code/web/public_php/ams/img/glyphicons-halflings-white.png code/web/public_php/ams/img/glyphicons-halflings.png code/web/public_php/ams/img/icons-big.png code/web/public_php/ams/img/icons-small.png code/web/public_php/ams/img/info/client.png code/web/public_php/ams/img/info/connect.png code/web/public_php/ams/img/info/cpuid.png code/web/public_php/ams/img/info/ht.png code/web/public_php/ams/img/info/local.png code/web/public_php/ams/img/info/mask.png code/web/public_php/ams/img/info/memory.png code/web/public_php/ams/img/info/nel.png code/web/public_php/ams/img/info/os.png code/web/public_php/ams/img/info/patch.png code/web/public_php/ams/img/info/position.png code/web/public_php/ams/img/info/processor.png code/web/public_php/ams/img/info/server.png code/web/public_php/ams/img/info/shard.png code/web/public_php/ams/img/info/user.png code/web/public_php/ams/img/info/view.png code/web/public_php/ams/img/iphone-style-checkboxes/off.png code/web/public_php/ams/img/iphone-style-checkboxes/on.png code/web/public_php/ams/img/iphone-style-checkboxes/slider.png code/web/public_php/ams/img/iphone-style-checkboxes/slider_center.png code/web/public_php/ams/img/iphone-style-checkboxes/slider_left.png code/web/public_php/ams/img/iphone-style-checkboxes/slider_right.png code/web/public_php/ams/img/loading.gif code/web/public_php/ams/img/loading_background.png code/web/public_php/ams/img/logo.png code/web/public_php/ams/img/logo20.png code/web/public_php/ams/img/mainlogo.png code/web/public_php/ams/img/opa-icons-black16.png code/web/public_php/ams/img/opa-icons-black32.png code/web/public_php/ams/img/opa-icons-blue16.png code/web/public_php/ams/img/opa-icons-blue32.png code/web/public_php/ams/img/opa-icons-color16.png code/web/public_php/ams/img/opa-icons-color32.png code/web/public_php/ams/img/opa-icons-darkgray16.png code/web/public_php/ams/img/opa-icons-darkgray32.png code/web/public_php/ams/img/opa-icons-gray16.png code/web/public_php/ams/img/opa-icons-gray32.png code/web/public_php/ams/img/opa-icons-green16.png code/web/public_php/ams/img/opa-icons-green32.png code/web/public_php/ams/img/opa-icons-orange16.png code/web/public_php/ams/img/opa-icons-orange32.png code/web/public_php/ams/img/opa-icons-red16.png code/web/public_php/ams/img/opa-icons-red32.png code/web/public_php/ams/img/opa-icons-white16.png code/web/public_php/ams/img/opa-icons-white32.png code/web/public_php/ams/img/progress.gif code/web/public_php/ams/img/qrcode.png code/web/public_php/ams/img/qrcode136.png code/web/public_php/ams/img/quicklook-bg.png code/web/public_php/ams/img/quicklook-icons.png code/web/public_php/ams/img/resize.png code/web/public_php/ams/img/ryzomcore.png code/web/public_php/ams/img/ryzomcore_166_62.png code/web/public_php/ams/img/ryzomlogo.psd code/web/public_php/ams/img/ryzomtop.png code/web/public_php/ams/img/spinner-mini.gif code/web/public_php/ams/img/sprite.png code/web/public_php/ams/img/star-half.png code/web/public_php/ams/img/star-off.png code/web/public_php/ams/img/star-on.png code/web/public_php/ams/img/thumb.png code/web/public_php/ams/img/toolbar.gif code/web/public_php/ams/img/toolbar.png code/web/public_php/ams/img/ui-bg_flat_0_aaaaaa_40x100.png code/web/public_php/ams/img/ui-bg_flat_75_ffffff_40x100.png code/web/public_php/ams/img/ui-bg_glass_55_fbf9ee_1x400.png code/web/public_php/ams/img/ui-bg_glass_65_ffffff_1x400.png code/web/public_php/ams/img/ui-bg_glass_75_dadada_1x400.png code/web/public_php/ams/img/ui-bg_glass_75_e6e6e6_1x400.png code/web/public_php/ams/img/ui-bg_glass_95_fef1ec_1x400.png code/web/public_php/ams/img/ui-bg_highlight-soft_75_cccccc_1x100.png code/web/public_php/ams/img/ui-icons_222222_256x240.png code/web/public_php/ams/img/ui-icons_2e83ff_256x240.png code/web/public_php/ams/img/ui-icons_454545_256x240.png code/web/public_php/ams/img/ui-icons_888888_256x240.png code/web/public_php/ams/img/ui-icons_cd0a0a_256x240.png code/web/public_php/ams/img/uploadify-cancel.png code/web/public_php/ams/inc/change_permission.php code/web/public_php/ams/inc/createticket.php code/web/public_php/ams/inc/dashboard.php code/web/public_php/ams/inc/error.php code/web/public_php/ams/inc/forgot_password.php code/web/public_php/ams/inc/login.php code/web/public_php/ams/inc/logout.php code/web/public_php/ams/inc/plugins.php code/web/public_php/ams/inc/plugins_update.php code/web/public_php/ams/inc/register.php code/web/public_php/ams/inc/reset_password.php code/web/public_php/ams/inc/settings.php code/web/public_php/ams/inc/sgroup_list.php code/web/public_php/ams/inc/show_queue.php code/web/public_php/ams/inc/show_reply.php code/web/public_php/ams/inc/show_sgroup.php code/web/public_php/ams/inc/show_ticket.php code/web/public_php/ams/inc/show_ticket_info.php code/web/public_php/ams/inc/show_ticket_log.php code/web/public_php/ams/inc/show_user.php code/web/public_php/ams/inc/syncing.php code/web/public_php/ams/inc/userlist.php code/web/public_php/ams/index.php code/web/public_php/ams/js/bootstrap-alert.js code/web/public_php/ams/js/bootstrap-button.js code/web/public_php/ams/js/bootstrap-carousel.js code/web/public_php/ams/js/bootstrap-collapse.js code/web/public_php/ams/js/bootstrap-dropdown.js code/web/public_php/ams/js/bootstrap-modal.js code/web/public_php/ams/js/bootstrap-popover.js code/web/public_php/ams/js/bootstrap-scrollspy.js code/web/public_php/ams/js/bootstrap-tab.js code/web/public_php/ams/js/bootstrap-toggle.js code/web/public_php/ams/js/bootstrap-tooltip.js code/web/public_php/ams/js/bootstrap-tour.js code/web/public_php/ams/js/bootstrap-transition.js code/web/public_php/ams/js/bootstrap-typeahead.js code/web/public_php/ams/js/charisma.js code/web/public_php/ams/js/custom.js code/web/public_php/ams/js/excanvas.js code/web/public_php/ams/js/fullcalendar.min.js code/web/public_php/ams/js/help.js code/web/public_php/ams/js/init-chart.js code/web/public_php/ams/js/jquery-1.7.2.min.js code/web/public_php/ams/js/jquery-ui-1.8.21.custom.min.js code/web/public_php/ams/js/jquery.autogrow-textarea.js code/web/public_php/ams/js/jquery.chosen.min.js code/web/public_php/ams/js/jquery.cleditor.min.js code/web/public_php/ams/js/jquery.colorbox.min.js code/web/public_php/ams/js/jquery.cookie.js code/web/public_php/ams/js/jquery.dataTables.min.js code/web/public_php/ams/js/jquery.elfinder.min.js code/web/public_php/ams/js/jquery.flot.min.js code/web/public_php/ams/js/jquery.flot.pie.min.js code/web/public_php/ams/js/jquery.flot.resize.min.js code/web/public_php/ams/js/jquery.flot.stack.js code/web/public_php/ams/js/jquery.history.js code/web/public_php/ams/js/jquery.iphone.toggle.js code/web/public_php/ams/js/jquery.js code/web/public_php/ams/js/jquery.min.js code/web/public_php/ams/js/jquery.noty.js code/web/public_php/ams/js/jquery.raty.min.js code/web/public_php/ams/js/jquery.uniform.min.js code/web/public_php/ams/js/jquery.uploadify-3.1.js code/web/public_php/ams/js/jquery.uploadify-3.1.min.js code/web/public_php/ams/js/masonry.pkgd.min.js code/web/public_php/ams/misc/check-exists.php code/web/public_php/ams/misc/elfinder-connector/MySQLStorage.sql code/web/public_php/ams/misc/elfinder-connector/connector.php code/web/public_php/ams/misc/elfinder-connector/elFinder.class.php code/web/public_php/ams/misc/elfinder-connector/elFinderConnector.class.php code/web/public_php/ams/misc/elfinder-connector/elFinderVolumeDriver.class.php code/web/public_php/ams/misc/elfinder-connector/elFinderVolumeLocalFileSystem.class.php code/web/public_php/ams/misc/elfinder-connector/elFinderVolumeMySQL.class.php code/web/public_php/ams/misc/elfinder-connector/mime.types code/web/public_php/ams/misc/uploadify.php code/web/public_php/ams/misc/uploadify.swf code/web/public_php/ams/sql/DBScheme.png code/web/public_php/ams/sql/db.sql code/web/public_php/ams/sql/importusers.php code/web/public_php/ams/sql/ticketsql.sql code/web/public_php/ams/sql/ticketsystemmodel.mwb code/web/public_php/ams/templates/README.md code/web/public_php/ams/templates/createticket.tpl code/web/public_php/ams/templates/dashboard.tpl code/web/public_php/ams/templates/error.tpl code/web/public_php/ams/templates/forgot_password.tpl code/web/public_php/ams/templates/homebackup.tpl code/web/public_php/ams/templates/install.tpl code/web/public_php/ams/templates/install_plugin.tpl code/web/public_php/ams/templates/layout.tpl code/web/public_php/ams/templates/layout_admin.tpl code/web/public_php/ams/templates/layout_mod.tpl code/web/public_php/ams/templates/layout_plugin.tpl code/web/public_php/ams/templates/layout_user.tpl code/web/public_php/ams/templates/license.txt code/web/public_php/ams/templates/login.tpl code/web/public_php/ams/templates/logout.tpl code/web/public_php/ams/templates/plugins.tpl code/web/public_php/ams/templates/plugins_update.tpl code/web/public_php/ams/templates/register.tpl code/web/public_php/ams/templates/register_feedback.tpl code/web/public_php/ams/templates/reset_password.tpl code/web/public_php/ams/templates/reset_success.tpl code/web/public_php/ams/templates/settings.tpl code/web/public_php/ams/templates/sgroup_list.tpl code/web/public_php/ams/templates/show_queue.tpl code/web/public_php/ams/templates/show_reply.tpl code/web/public_php/ams/templates/show_sgroup.tpl code/web/public_php/ams/templates/show_ticket.tpl code/web/public_php/ams/templates/show_ticket_info.tpl code/web/public_php/ams/templates/show_ticket_log.tpl code/web/public_php/ams/templates/show_user.tpl code/web/public_php/ams/templates/syncing.tpl code/web/public_php/ams/templates/userlist.tpl code/web/public_php/ams/templates_c/placeholder code/web/public_php/api/client/auth.php code/web/public_php/api/client/config.php.default code/web/public_php/api/client/time.php code/web/public_php/api/client/user.php code/web/public_php/api/client/utils.php code/web/public_php/api/common/actionPage.php code/web/public_php/api/common/auth.php code/web/public_php/api/common/bbCode.php code/web/public_php/api/common/config.php.default code/web/public_php/api/common/db_defs.php code/web/public_php/api/common/db_lib.php code/web/public_php/api/common/dfm.php code/web/public_php/api/common/logger.php code/web/public_php/api/common/render.php code/web/public_php/api/common/ryform.php code/web/public_php/api/common/ryformBases.php code/web/public_php/api/common/time.php code/web/public_php/api/common/user.php code/web/public_php/api/common/utils.php code/web/public_php/api/common/xml_utils.php code/web/public_php/api/data/css/ryzom_iphone.css code/web/public_php/api/data/css/ryzom_ui.css code/web/public_php/api/data/css/skin_b.gif code/web/public_php/api/data/css/skin_bl.gif code/web/public_php/api/data/css/skin_blank.png code/web/public_php/api/data/css/skin_blank_inner.png code/web/public_php/api/data/css/skin_br.gif code/web/public_php/api/data/css/skin_header_l.gif code/web/public_php/api/data/css/skin_header_m.gif code/web/public_php/api/data/css/skin_header_r.gif code/web/public_php/api/data/css/skin_l.gif code/web/public_php/api/data/css/skin_r.gif code/web/public_php/api/data/css/skin_t.gif code/web/public_php/api/data/css/skin_tl.gif code/web/public_php/api/data/css/skin_tr.gif code/web/public_php/api/data/icons/add_app.png code/web/public_php/api/data/icons/edit.png code/web/public_php/api/data/icons/edit_16.png code/web/public_php/api/data/icons/no_action.png code/web/public_php/api/data/icons/spe_com.png code/web/public_php/api/data/img/backgrounds/parchemin.png code/web/public_php/api/data/img/bg.jpg code/web/public_php/api/data/img/bordure.png code/web/public_php/api/data/img/lang/de.png code/web/public_php/api/data/img/lang/en.png code/web/public_php/api/data/img/lang/es.png code/web/public_php/api/data/img/lang/fr.png code/web/public_php/api/data/img/lang/ru.png code/web/public_php/api/data/img/logo.gif code/web/public_php/api/data/js/combobox.js code/web/public_php/api/data/js/jquery-1.7.1.js code/web/public_php/api/data/js/tab.js code/web/public_php/api/data/ryzom/guild_png/.htaccess code/web/public_php/api/data/ryzom/guild_png/guild_back_b_00_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_00_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_01_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_01_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_02_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_02_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_03_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_03_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_04_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_04_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_05_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_05_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_06_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_06_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_07_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_07_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_08_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_08_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_09_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_09_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_10_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_10_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_11_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_11_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_12_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_12_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_13_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_13_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_14_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_b_14_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_00_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_00_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_01_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_01_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_02_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_02_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_03_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_03_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_04_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_04_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_05_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_05_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_06_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_06_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_07_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_07_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_08_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_08_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_09_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_09_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_10_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_10_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_11_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_11_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_12_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_12_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_13_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_13_2.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_14_1.png code/web/public_php/api/data/ryzom/guild_png/guild_back_s_14_2.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_00.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_01.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_02.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_03.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_04.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_05.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_06.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_07.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_08.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_09.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_10.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_11.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_12.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_13.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_14.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_15.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_16.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_17.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_18.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_19.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_20.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_21.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_22.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_23.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_24.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_25.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_26.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_27.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_28.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_29.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_30.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_31.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_32.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_33.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_34.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_35.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_36.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_37.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_38.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_39.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_40.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_41.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_42.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_b_43.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_00.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_01.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_02.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_03.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_04.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_05.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_06.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_07.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_08.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_09.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_10.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_11.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_12.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_13.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_14.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_15.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_16.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_17.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_18.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_19.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_20.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_21.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_22.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_23.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_24.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_25.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_26.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_27.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_28.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_29.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_30.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_31.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_32.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_33.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_34.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_35.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_36.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_37.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_38.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_39.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_40.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_41.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_42.png code/web/public_php/api/data/ryzom/guild_png/guild_symbol_s_43.png code/web/public_php/api/data/ryzom/interface/1h_over.png code/web/public_php/api/data/ryzom/interface/2h_over.png code/web/public_php/api/data/ryzom/interface/am_logo.png code/web/public_php/api/data/ryzom/interface/ar_armpad.png code/web/public_php/api/data/ryzom/interface/ar_armpad_mask.png code/web/public_php/api/data/ryzom/interface/ar_botte.png code/web/public_php/api/data/ryzom/interface/ar_botte_mask.png code/web/public_php/api/data/ryzom/interface/ar_gilet.png code/web/public_php/api/data/ryzom/interface/ar_gilet_mask.png code/web/public_php/api/data/ryzom/interface/ar_hand.png code/web/public_php/api/data/ryzom/interface/ar_hand_mask.png code/web/public_php/api/data/ryzom/interface/ar_helmet.png code/web/public_php/api/data/ryzom/interface/ar_helmet_mask.png code/web/public_php/api/data/ryzom/interface/ar_pantabotte.png code/web/public_php/api/data/ryzom/interface/ar_pantabotte_mask.png code/web/public_php/api/data/ryzom/interface/asc_exit.png code/web/public_php/api/data/ryzom/interface/asc_rolemastercraft.png code/web/public_php/api/data/ryzom/interface/asc_rolemasterfight.png code/web/public_php/api/data/ryzom/interface/asc_rolemasterharvest.png code/web/public_php/api/data/ryzom/interface/asc_rolemastermagic.png code/web/public_php/api/data/ryzom/interface/asc_unknown.png code/web/public_php/api/data/ryzom/interface/bg_downloader.png code/web/public_php/api/data/ryzom/interface/bg_empty.png code/web/public_php/api/data/ryzom/interface/bk_aura.png code/web/public_php/api/data/ryzom/interface/bk_conso.png code/web/public_php/api/data/ryzom/interface/bk_consommable.png code/web/public_php/api/data/ryzom/interface/bk_fyros.png code/web/public_php/api/data/ryzom/interface/bk_fyros_brick.png code/web/public_php/api/data/ryzom/interface/bk_generic.png code/web/public_php/api/data/ryzom/interface/bk_generic_brick.png code/web/public_php/api/data/ryzom/interface/bk_goo.png code/web/public_php/api/data/ryzom/interface/bk_guild.png code/web/public_php/api/data/ryzom/interface/bk_horde.png code/web/public_php/api/data/ryzom/interface/bk_kami.png code/web/public_php/api/data/ryzom/interface/bk_karavan.png code/web/public_php/api/data/ryzom/interface/bk_magie_noire_brick.png code/web/public_php/api/data/ryzom/interface/bk_matis.png code/web/public_php/api/data/ryzom/interface/bk_matis_brick.png code/web/public_php/api/data/ryzom/interface/bk_mission.png code/web/public_php/api/data/ryzom/interface/bk_mission2.png code/web/public_php/api/data/ryzom/interface/bk_outpost.png code/web/public_php/api/data/ryzom/interface/bk_outpost_brick.png code/web/public_php/api/data/ryzom/interface/bk_power.png code/web/public_php/api/data/ryzom/interface/bk_primes.png code/web/public_php/api/data/ryzom/interface/bk_service.png code/web/public_php/api/data/ryzom/interface/bk_training.png code/web/public_php/api/data/ryzom/interface/bk_tryker.png code/web/public_php/api/data/ryzom/interface/bk_tryker_brick.png code/web/public_php/api/data/ryzom/interface/bk_zorai.png code/web/public_php/api/data/ryzom/interface/bk_zorai_brick.png code/web/public_php/api/data/ryzom/interface/brick_default.png code/web/public_php/api/data/ryzom/interface/building_state_24x24.png code/web/public_php/api/data/ryzom/interface/cb_main_nue.png code/web/public_php/api/data/ryzom/interface/ch_back.png code/web/public_php/api/data/ryzom/interface/charge.png code/web/public_php/api/data/ryzom/interface/clef.png code/web/public_php/api/data/ryzom/interface/conso_branche.png code/web/public_php/api/data/ryzom/interface/conso_branche_mask.png code/web/public_php/api/data/ryzom/interface/conso_fleur.png code/web/public_php/api/data/ryzom/interface/conso_fleur_mask.png code/web/public_php/api/data/ryzom/interface/conso_grappe.png code/web/public_php/api/data/ryzom/interface/conso_grappe_mask.png code/web/public_php/api/data/ryzom/interface/conso_nectar.png code/web/public_php/api/data/ryzom/interface/conso_nectar_mask.png code/web/public_php/api/data/ryzom/interface/construction.png code/web/public_php/api/data/ryzom/interface/cp_back.png code/web/public_php/api/data/ryzom/interface/cp_over_break.png code/web/public_php/api/data/ryzom/interface/cp_over_less.png code/web/public_php/api/data/ryzom/interface/cp_over_more.png code/web/public_php/api/data/ryzom/interface/cp_over_opening.png code/web/public_php/api/data/ryzom/interface/cp_over_opening_2.png code/web/public_php/api/data/ryzom/interface/cristal_ammo.png code/web/public_php/api/data/ryzom/interface/cristal_generic.png code/web/public_php/api/data/ryzom/interface/cristal_spell.png code/web/public_php/api/data/ryzom/interface/ef_back.png code/web/public_php/api/data/ryzom/interface/ef_over_break.png code/web/public_php/api/data/ryzom/interface/ef_over_less.png code/web/public_php/api/data/ryzom/interface/ef_over_more.png code/web/public_php/api/data/ryzom/interface/fo_back.png code/web/public_php/api/data/ryzom/interface/fo_over.png code/web/public_php/api/data/ryzom/interface/fp_ammo.png code/web/public_php/api/data/ryzom/interface/fp_armor.png code/web/public_php/api/data/ryzom/interface/fp_building.png code/web/public_php/api/data/ryzom/interface/fp_jewel.png code/web/public_php/api/data/ryzom/interface/fp_melee.png code/web/public_php/api/data/ryzom/interface/fp_over.png code/web/public_php/api/data/ryzom/interface/fp_range.png code/web/public_php/api/data/ryzom/interface/fp_shield.png code/web/public_php/api/data/ryzom/interface/fp_tools.png code/web/public_php/api/data/ryzom/interface/ge_mission_outpost_townhall.png code/web/public_php/api/data/ryzom/interface/ico_absorb_damage.png code/web/public_php/api/data/ryzom/interface/ico_accurate.png code/web/public_php/api/data/ryzom/interface/ico_acid.png code/web/public_php/api/data/ryzom/interface/ico_aim.png code/web/public_php/api/data/ryzom/interface/ico_aim_bird_wings.png code/web/public_php/api/data/ryzom/interface/ico_aim_flying_kitin_abdomen.png code/web/public_php/api/data/ryzom/interface/ico_aim_homin_arms.png code/web/public_php/api/data/ryzom/interface/ico_aim_homin_chest.png code/web/public_php/api/data/ryzom/interface/ico_aim_homin_feet.png code/web/public_php/api/data/ryzom/interface/ico_aim_homin_feint.png code/web/public_php/api/data/ryzom/interface/ico_aim_homin_hands.png code/web/public_php/api/data/ryzom/interface/ico_aim_homin_head.png code/web/public_php/api/data/ryzom/interface/ico_aim_homin_legs.png code/web/public_php/api/data/ryzom/interface/ico_aim_kitin_head.png code/web/public_php/api/data/ryzom/interface/ico_amande.png code/web/public_php/api/data/ryzom/interface/ico_ammo_bullet.png code/web/public_php/api/data/ryzom/interface/ico_ammo_jacket.png code/web/public_php/api/data/ryzom/interface/ico_angle.png code/web/public_php/api/data/ryzom/interface/ico_anti_magic_shield.png code/web/public_php/api/data/ryzom/interface/ico_armor.png code/web/public_php/api/data/ryzom/interface/ico_armor_clip.png code/web/public_php/api/data/ryzom/interface/ico_armor_heavy.png code/web/public_php/api/data/ryzom/interface/ico_armor_kitin.png code/web/public_php/api/data/ryzom/interface/ico_armor_light.png code/web/public_php/api/data/ryzom/interface/ico_armor_medium.png code/web/public_php/api/data/ryzom/interface/ico_armor_penalty.png code/web/public_php/api/data/ryzom/interface/ico_armor_shell.png code/web/public_php/api/data/ryzom/interface/ico_atys.png code/web/public_php/api/data/ryzom/interface/ico_atysian.png code/web/public_php/api/data/ryzom/interface/ico_balance_hp.png code/web/public_php/api/data/ryzom/interface/ico_barrel.png code/web/public_php/api/data/ryzom/interface/ico_bash.png code/web/public_php/api/data/ryzom/interface/ico_berserk.png code/web/public_php/api/data/ryzom/interface/ico_blade.png code/web/public_php/api/data/ryzom/interface/ico_bleeding.png code/web/public_php/api/data/ryzom/interface/ico_blind.png code/web/public_php/api/data/ryzom/interface/ico_blunt.png code/web/public_php/api/data/ryzom/interface/ico_bomb.png code/web/public_php/api/data/ryzom/interface/ico_cataliseur_xp.png code/web/public_php/api/data/ryzom/interface/ico_celestial.png code/web/public_php/api/data/ryzom/interface/ico_circular_attack.png code/web/public_php/api/data/ryzom/interface/ico_clothes.png code/web/public_php/api/data/ryzom/interface/ico_cold.png code/web/public_php/api/data/ryzom/interface/ico_concentration.png code/web/public_php/api/data/ryzom/interface/ico_consommable_over.png code/web/public_php/api/data/ryzom/interface/ico_constitution.png code/web/public_php/api/data/ryzom/interface/ico_counterweight.png code/web/public_php/api/data/ryzom/interface/ico_craft_buff.png code/web/public_php/api/data/ryzom/interface/ico_create_sapload.png code/web/public_php/api/data/ryzom/interface/ico_curse.png code/web/public_php/api/data/ryzom/interface/ico_debuff.png code/web/public_php/api/data/ryzom/interface/ico_debuff_resist.png code/web/public_php/api/data/ryzom/interface/ico_debuff_skill.png code/web/public_php/api/data/ryzom/interface/ico_desert.png code/web/public_php/api/data/ryzom/interface/ico_dexterity.png code/web/public_php/api/data/ryzom/interface/ico_disarm.png code/web/public_php/api/data/ryzom/interface/ico_dodge.png code/web/public_php/api/data/ryzom/interface/ico_dot.png code/web/public_php/api/data/ryzom/interface/ico_durability.png code/web/public_php/api/data/ryzom/interface/ico_electric.png code/web/public_php/api/data/ryzom/interface/ico_explosif.png code/web/public_php/api/data/ryzom/interface/ico_extracting.png code/web/public_php/api/data/ryzom/interface/ico_fear.png code/web/public_php/api/data/ryzom/interface/ico_feint.png code/web/public_php/api/data/ryzom/interface/ico_fire.png code/web/public_php/api/data/ryzom/interface/ico_firing_pin.png code/web/public_php/api/data/ryzom/interface/ico_fleur_carac_1.png code/web/public_php/api/data/ryzom/interface/ico_fleur_carac_1_mask.png code/web/public_php/api/data/ryzom/interface/ico_fleur_carac_2.png code/web/public_php/api/data/ryzom/interface/ico_fleur_carac_2_mask.png code/web/public_php/api/data/ryzom/interface/ico_fleur_carac_3.png code/web/public_php/api/data/ryzom/interface/ico_fleur_carac_3_mask.png code/web/public_php/api/data/ryzom/interface/ico_focus.png code/web/public_php/api/data/ryzom/interface/ico_forage_buff.png code/web/public_php/api/data/ryzom/interface/ico_forbid_item.png code/web/public_php/api/data/ryzom/interface/ico_forest.png code/web/public_php/api/data/ryzom/interface/ico_foreuse.png code/web/public_php/api/data/ryzom/interface/ico_gardening.png code/web/public_php/api/data/ryzom/interface/ico_gentle.png code/web/public_php/api/data/ryzom/interface/ico_goo.png code/web/public_php/api/data/ryzom/interface/ico_gripp.png code/web/public_php/api/data/ryzom/interface/ico_haircolor.png code/web/public_php/api/data/ryzom/interface/ico_haircut.png code/web/public_php/api/data/ryzom/interface/ico_hammer.png code/web/public_php/api/data/ryzom/interface/ico_harmful.png code/web/public_php/api/data/ryzom/interface/ico_hatred.png code/web/public_php/api/data/ryzom/interface/ico_heal.png code/web/public_php/api/data/ryzom/interface/ico_hit_rate.png code/web/public_php/api/data/ryzom/interface/ico_incapacity.png code/web/public_php/api/data/ryzom/interface/ico_intelligence.png code/web/public_php/api/data/ryzom/interface/ico_interrupt.png code/web/public_php/api/data/ryzom/interface/ico_invulnerability.png code/web/public_php/api/data/ryzom/interface/ico_jewel_stone.png code/web/public_php/api/data/ryzom/interface/ico_jewel_stone_support.png code/web/public_php/api/data/ryzom/interface/ico_jungle.png code/web/public_php/api/data/ryzom/interface/ico_lacustre.png code/web/public_php/api/data/ryzom/interface/ico_landmark_bonus.png code/web/public_php/api/data/ryzom/interface/ico_level.png code/web/public_php/api/data/ryzom/interface/ico_lining.png code/web/public_php/api/data/ryzom/interface/ico_location.png code/web/public_php/api/data/ryzom/interface/ico_madness.png code/web/public_php/api/data/ryzom/interface/ico_magic.png code/web/public_php/api/data/ryzom/interface/ico_magic_action_buff.png code/web/public_php/api/data/ryzom/interface/ico_magic_focus.png code/web/public_php/api/data/ryzom/interface/ico_magic_target_buff.png code/web/public_php/api/data/ryzom/interface/ico_melee_action_buff.png code/web/public_php/api/data/ryzom/interface/ico_melee_target_buff.png code/web/public_php/api/data/ryzom/interface/ico_mental.png code/web/public_php/api/data/ryzom/interface/ico_metabolism.png code/web/public_php/api/data/ryzom/interface/ico_mezz.png code/web/public_php/api/data/ryzom/interface/ico_misfortune.png code/web/public_php/api/data/ryzom/interface/ico_mission_art_fyros.png code/web/public_php/api/data/ryzom/interface/ico_mission_art_matis.png code/web/public_php/api/data/ryzom/interface/ico_mission_art_tryker.png code/web/public_php/api/data/ryzom/interface/ico_mission_art_zorai.png code/web/public_php/api/data/ryzom/interface/ico_mission_barrel.png code/web/public_php/api/data/ryzom/interface/ico_mission_bottle.png code/web/public_php/api/data/ryzom/interface/ico_mission_casket.png code/web/public_php/api/data/ryzom/interface/ico_mission_medicine.png code/web/public_php/api/data/ryzom/interface/ico_mission_message.png code/web/public_php/api/data/ryzom/interface/ico_mission_package.png code/web/public_php/api/data/ryzom/interface/ico_mission_pot.png code/web/public_php/api/data/ryzom/interface/ico_mission_purse.png code/web/public_php/api/data/ryzom/interface/ico_move.png code/web/public_php/api/data/ryzom/interface/ico_multi_fight.png code/web/public_php/api/data/ryzom/interface/ico_multiple_spots.png code/web/public_php/api/data/ryzom/interface/ico_noix.png code/web/public_php/api/data/ryzom/interface/ico_opening_hit.png code/web/public_php/api/data/ryzom/interface/ico_over_autumn.png code/web/public_php/api/data/ryzom/interface/ico_over_degenerated.png code/web/public_php/api/data/ryzom/interface/ico_over_fauna.png code/web/public_php/api/data/ryzom/interface/ico_over_flora.png code/web/public_php/api/data/ryzom/interface/ico_over_hit_arms.png code/web/public_php/api/data/ryzom/interface/ico_over_hit_chest.png code/web/public_php/api/data/ryzom/interface/ico_over_hit_feet.png code/web/public_php/api/data/ryzom/interface/ico_over_hit_feet_hands.png code/web/public_php/api/data/ryzom/interface/ico_over_hit_feet_head.png code/web/public_php/api/data/ryzom/interface/ico_over_hit_feet_x2.png code/web/public_php/api/data/ryzom/interface/ico_over_hit_feint_x3.png code/web/public_php/api/data/ryzom/interface/ico_over_hit_hands.png code/web/public_php/api/data/ryzom/interface/ico_over_hit_hands_chest.png code/web/public_php/api/data/ryzom/interface/ico_over_hit_hands_head.png code/web/public_php/api/data/ryzom/interface/ico_over_hit_head.png code/web/public_php/api/data/ryzom/interface/ico_over_hit_head_x3.png code/web/public_php/api/data/ryzom/interface/ico_over_hit_legs.png code/web/public_php/api/data/ryzom/interface/ico_over_homin.png code/web/public_php/api/data/ryzom/interface/ico_over_kitin.png code/web/public_php/api/data/ryzom/interface/ico_over_magic.png code/web/public_php/api/data/ryzom/interface/ico_over_melee.png code/web/public_php/api/data/ryzom/interface/ico_over_racial.png code/web/public_php/api/data/ryzom/interface/ico_over_range.png code/web/public_php/api/data/ryzom/interface/ico_over_special.png code/web/public_php/api/data/ryzom/interface/ico_over_spring.png code/web/public_php/api/data/ryzom/interface/ico_over_summer.png code/web/public_php/api/data/ryzom/interface/ico_over_winter.png code/web/public_php/api/data/ryzom/interface/ico_parry.png code/web/public_php/api/data/ryzom/interface/ico_piercing.png code/web/public_php/api/data/ryzom/interface/ico_pointe.png code/web/public_php/api/data/ryzom/interface/ico_poison.png code/web/public_php/api/data/ryzom/interface/ico_power.png code/web/public_php/api/data/ryzom/interface/ico_preservation.png code/web/public_php/api/data/ryzom/interface/ico_primal.png code/web/public_php/api/data/ryzom/interface/ico_prime_roots.png code/web/public_php/api/data/ryzom/interface/ico_private.png code/web/public_php/api/data/ryzom/interface/ico_prospecting.png code/web/public_php/api/data/ryzom/interface/ico_quality.png code/web/public_php/api/data/ryzom/interface/ico_racine.png code/web/public_php/api/data/ryzom/interface/ico_range.png code/web/public_php/api/data/ryzom/interface/ico_range_action_buff.png code/web/public_php/api/data/ryzom/interface/ico_range_target_buff.png code/web/public_php/api/data/ryzom/interface/ico_ricochet.png code/web/public_php/api/data/ryzom/interface/ico_root.png code/web/public_php/api/data/ryzom/interface/ico_rot.png code/web/public_php/api/data/ryzom/interface/ico_safe.png code/web/public_php/api/data/ryzom/interface/ico_sap.png code/web/public_php/api/data/ryzom/interface/ico_self_damage.png code/web/public_php/api/data/ryzom/interface/ico_shaft.png code/web/public_php/api/data/ryzom/interface/ico_shield_buff.png code/web/public_php/api/data/ryzom/interface/ico_shield_up.png code/web/public_php/api/data/ryzom/interface/ico_shielding.png code/web/public_php/api/data/ryzom/interface/ico_shockwave.png code/web/public_php/api/data/ryzom/interface/ico_sickness.png code/web/public_php/api/data/ryzom/interface/ico_slashing.png code/web/public_php/api/data/ryzom/interface/ico_slow.png code/web/public_php/api/data/ryzom/interface/ico_soft_spot.png code/web/public_php/api/data/ryzom/interface/ico_source_knowledge.png code/web/public_php/api/data/ryzom/interface/ico_source_time.png code/web/public_php/api/data/ryzom/interface/ico_speed.png code/web/public_php/api/data/ryzom/interface/ico_speeding_up.png code/web/public_php/api/data/ryzom/interface/ico_spell_break.png code/web/public_php/api/data/ryzom/interface/ico_spores.png code/web/public_php/api/data/ryzom/interface/ico_spray.png code/web/public_php/api/data/ryzom/interface/ico_spying.png code/web/public_php/api/data/ryzom/interface/ico_stamina.png code/web/public_php/api/data/ryzom/interface/ico_strength.png code/web/public_php/api/data/ryzom/interface/ico_stuffing.png code/web/public_php/api/data/ryzom/interface/ico_stunn.png code/web/public_php/api/data/ryzom/interface/ico_task_craft.png code/web/public_php/api/data/ryzom/interface/ico_task_done.png code/web/public_php/api/data/ryzom/interface/ico_task_failed.png code/web/public_php/api/data/ryzom/interface/ico_task_fight.png code/web/public_php/api/data/ryzom/interface/ico_task_forage.png code/web/public_php/api/data/ryzom/interface/ico_task_generic.png code/web/public_php/api/data/ryzom/interface/ico_task_generic_quart.png code/web/public_php/api/data/ryzom/interface/ico_task_guild.png code/web/public_php/api/data/ryzom/interface/ico_task_rite.png code/web/public_php/api/data/ryzom/interface/ico_task_travel.png code/web/public_php/api/data/ryzom/interface/ico_tatoo.png code/web/public_php/api/data/ryzom/interface/ico_taunt.png code/web/public_php/api/data/ryzom/interface/ico_time.png code/web/public_php/api/data/ryzom/interface/ico_time_bonus.png code/web/public_php/api/data/ryzom/interface/ico_tourbe.png code/web/public_php/api/data/ryzom/interface/ico_trigger.png code/web/public_php/api/data/ryzom/interface/ico_umbrella.png code/web/public_php/api/data/ryzom/interface/ico_use_enchantement.png code/web/public_php/api/data/ryzom/interface/ico_vampire.png code/web/public_php/api/data/ryzom/interface/ico_visibility.png code/web/public_php/api/data/ryzom/interface/ico_war_cry.png code/web/public_php/api/data/ryzom/interface/ico_weight.png code/web/public_php/api/data/ryzom/interface/ico_wellbalanced.png code/web/public_php/api/data/ryzom/interface/ico_will.png code/web/public_php/api/data/ryzom/interface/ico_windding.png code/web/public_php/api/data/ryzom/interface/ico_wisdom.png code/web/public_php/api/data/ryzom/interface/improved_tool.png code/web/public_php/api/data/ryzom/interface/item_default.png code/web/public_php/api/data/ryzom/interface/item_plan_over.png code/web/public_php/api/data/ryzom/interface/lucky_flower.png code/web/public_php/api/data/ryzom/interface/mail.png code/web/public_php/api/data/ryzom/interface/mektoub_pack.png code/web/public_php/api/data/ryzom/interface/mektoub_steed.png code/web/public_php/api/data/ryzom/interface/mf_back.png code/web/public_php/api/data/ryzom/interface/mf_over.png code/web/public_php/api/data/ryzom/interface/mg_glove.png code/web/public_php/api/data/ryzom/interface/mission_icon_0.png code/web/public_php/api/data/ryzom/interface/mission_icon_1.png code/web/public_php/api/data/ryzom/interface/mission_icon_2.png code/web/public_php/api/data/ryzom/interface/mission_icon_3.png code/web/public_php/api/data/ryzom/interface/mp3.png code/web/public_php/api/data/ryzom/interface/mp_amber.png code/web/public_php/api/data/ryzom/interface/mp_back_curative.png code/web/public_php/api/data/ryzom/interface/mp_back_offensive.png code/web/public_php/api/data/ryzom/interface/mp_back_selfonly.png code/web/public_php/api/data/ryzom/interface/mp_bark.png code/web/public_php/api/data/ryzom/interface/mp_batiment_brique.png code/web/public_php/api/data/ryzom/interface/mp_batiment_colonne.png code/web/public_php/api/data/ryzom/interface/mp_batiment_colonne_justice.png code/web/public_php/api/data/ryzom/interface/mp_batiment_comble.png code/web/public_php/api/data/ryzom/interface/mp_batiment_noyau_maduk.png code/web/public_php/api/data/ryzom/interface/mp_batiment_ornement.png code/web/public_php/api/data/ryzom/interface/mp_batiment_revetement.png code/web/public_php/api/data/ryzom/interface/mp_batiment_socle.png code/web/public_php/api/data/ryzom/interface/mp_batiment_statue.png code/web/public_php/api/data/ryzom/interface/mp_beak.png code/web/public_php/api/data/ryzom/interface/mp_blood.png code/web/public_php/api/data/ryzom/interface/mp_bone.png code/web/public_php/api/data/ryzom/interface/mp_bud.png code/web/public_php/api/data/ryzom/interface/mp_buterfly_blue.png code/web/public_php/api/data/ryzom/interface/mp_buterfly_cocoon.png code/web/public_php/api/data/ryzom/interface/mp_cereal.png code/web/public_php/api/data/ryzom/interface/mp_claw.png code/web/public_php/api/data/ryzom/interface/mp_dandelion.png code/web/public_php/api/data/ryzom/interface/mp_dry code/web/public_php/api/data/ryzom/interface/mp_dry wood.png code/web/public_php/api/data/ryzom/interface/mp_dry.png code/web/public_php/api/data/ryzom/interface/mp_dry_wood.png code/web/public_php/api/data/ryzom/interface/mp_dust.png code/web/public_php/api/data/ryzom/interface/mp_egg.png code/web/public_php/api/data/ryzom/interface/mp_eyes.png code/web/public_php/api/data/ryzom/interface/mp_fang.png code/web/public_php/api/data/ryzom/interface/mp_fiber.png code/web/public_php/api/data/ryzom/interface/mp_filament.png code/web/public_php/api/data/ryzom/interface/mp_firefly_abdomen.png code/web/public_php/api/data/ryzom/interface/mp_fish_scale.png code/web/public_php/api/data/ryzom/interface/mp_flowers.png code/web/public_php/api/data/ryzom/interface/mp_fresh_loose_soil.png code/web/public_php/api/data/ryzom/interface/mp_fruit.png code/web/public_php/api/data/ryzom/interface/mp_generic.png code/web/public_php/api/data/ryzom/interface/mp_generic_colorize.png code/web/public_php/api/data/ryzom/interface/mp_gomme.png code/web/public_php/api/data/ryzom/interface/mp_goo_residue.png code/web/public_php/api/data/ryzom/interface/mp_hairs.png code/web/public_php/api/data/ryzom/interface/mp_hoof.png code/web/public_php/api/data/ryzom/interface/mp_horn.png code/web/public_php/api/data/ryzom/interface/mp_horney.png code/web/public_php/api/data/ryzom/interface/mp_insect_fossil.png code/web/public_php/api/data/ryzom/interface/mp_kitin_flesh.png code/web/public_php/api/data/ryzom/interface/mp_kitin_secretion.png code/web/public_php/api/data/ryzom/interface/mp_kitinshell.png code/web/public_php/api/data/ryzom/interface/mp_larva.png code/web/public_php/api/data/ryzom/interface/mp_leaf.png code/web/public_php/api/data/ryzom/interface/mp_leather.png code/web/public_php/api/data/ryzom/interface/mp_liane.png code/web/public_php/api/data/ryzom/interface/mp_lichen.png code/web/public_php/api/data/ryzom/interface/mp_ligament.png code/web/public_php/api/data/ryzom/interface/mp_mandible.png code/web/public_php/api/data/ryzom/interface/mp_meat.png code/web/public_php/api/data/ryzom/interface/mp_moss.png code/web/public_php/api/data/ryzom/interface/mp_mushroom.png code/web/public_php/api/data/ryzom/interface/mp_nail.png code/web/public_php/api/data/ryzom/interface/mp_oil.png code/web/public_php/api/data/ryzom/interface/mp_over_link.png code/web/public_php/api/data/ryzom/interface/mp_parasite.png code/web/public_php/api/data/ryzom/interface/mp_pearl.png code/web/public_php/api/data/ryzom/interface/mp_pelvis.png code/web/public_php/api/data/ryzom/interface/mp_pigment.png code/web/public_php/api/data/ryzom/interface/mp_pistil.png code/web/public_php/api/data/ryzom/interface/mp_plant_fossil.png code/web/public_php/api/data/ryzom/interface/mp_pollen.png code/web/public_php/api/data/ryzom/interface/mp_resin.png code/web/public_php/api/data/ryzom/interface/mp_ronce.png code/web/public_php/api/data/ryzom/interface/mp_rostrum.png code/web/public_php/api/data/ryzom/interface/mp_sap.png code/web/public_php/api/data/ryzom/interface/mp_sawdust.png code/web/public_php/api/data/ryzom/interface/mp_seed.png code/web/public_php/api/data/ryzom/interface/mp_shell.png code/web/public_php/api/data/ryzom/interface/mp_silk_worm.png code/web/public_php/api/data/ryzom/interface/mp_skin.png code/web/public_php/api/data/ryzom/interface/mp_skull.png code/web/public_php/api/data/ryzom/interface/mp_spiders_web.png code/web/public_php/api/data/ryzom/interface/mp_spine.png code/web/public_php/api/data/ryzom/interface/mp_stem.png code/web/public_php/api/data/ryzom/interface/mp_sting.png code/web/public_php/api/data/ryzom/interface/mp_straw.png code/web/public_php/api/data/ryzom/interface/mp_suc.png code/web/public_php/api/data/ryzom/interface/mp_tail.png code/web/public_php/api/data/ryzom/interface/mp_tooth.png code/web/public_php/api/data/ryzom/interface/mp_trunk.png code/web/public_php/api/data/ryzom/interface/mp_whiskers.png code/web/public_php/api/data/ryzom/interface/mp_wing.png code/web/public_php/api/data/ryzom/interface/mp_wood.png code/web/public_php/api/data/ryzom/interface/mp_wood_node.png code/web/public_php/api/data/ryzom/interface/mw_2h_axe.png code/web/public_php/api/data/ryzom/interface/mw_2h_lance.png code/web/public_php/api/data/ryzom/interface/mw_2h_mace.png code/web/public_php/api/data/ryzom/interface/mw_2h_sword.png code/web/public_php/api/data/ryzom/interface/mw_axe.png code/web/public_php/api/data/ryzom/interface/mw_dagger.png code/web/public_php/api/data/ryzom/interface/mw_lance.png code/web/public_php/api/data/ryzom/interface/mw_mace.png code/web/public_php/api/data/ryzom/interface/mw_staff.png code/web/public_php/api/data/ryzom/interface/mw_sword.png code/web/public_php/api/data/ryzom/interface/no_action.png code/web/public_php/api/data/ryzom/interface/num_slash.png code/web/public_php/api/data/ryzom/interface/op_back.png code/web/public_php/api/data/ryzom/interface/op_over_break.png code/web/public_php/api/data/ryzom/interface/op_over_less.png code/web/public_php/api/data/ryzom/interface/op_over_more.png code/web/public_php/api/data/ryzom/interface/pa_anklet.png code/web/public_php/api/data/ryzom/interface/pa_back.png code/web/public_php/api/data/ryzom/interface/pa_bracelet.png code/web/public_php/api/data/ryzom/interface/pa_diadem.png code/web/public_php/api/data/ryzom/interface/pa_earring.png code/web/public_php/api/data/ryzom/interface/pa_over_break.png code/web/public_php/api/data/ryzom/interface/pa_over_less.png code/web/public_php/api/data/ryzom/interface/pa_over_more.png code/web/public_php/api/data/ryzom/interface/pa_pendant.png code/web/public_php/api/data/ryzom/interface/pa_ring.png code/web/public_php/api/data/ryzom/interface/profile.png code/web/public_php/api/data/ryzom/interface/protect_amber.png code/web/public_php/api/data/ryzom/interface/pvp_ally_0.png code/web/public_php/api/data/ryzom/interface/pvp_ally_1.png code/web/public_php/api/data/ryzom/interface/pvp_ally_2.png code/web/public_php/api/data/ryzom/interface/pvp_ally_3.png code/web/public_php/api/data/ryzom/interface/pvp_ally_4.png code/web/public_php/api/data/ryzom/interface/pvp_ally_6.png code/web/public_php/api/data/ryzom/interface/pvp_ally_primas.png code/web/public_php/api/data/ryzom/interface/pvp_ally_ranger.png code/web/public_php/api/data/ryzom/interface/pvp_aura.png code/web/public_php/api/data/ryzom/interface/pvp_aura_mask.png code/web/public_php/api/data/ryzom/interface/pvp_boost.png code/web/public_php/api/data/ryzom/interface/pvp_boost_mask.png code/web/public_php/api/data/ryzom/interface/pvp_enemy_0.png code/web/public_php/api/data/ryzom/interface/pvp_enemy_1.png code/web/public_php/api/data/ryzom/interface/pvp_enemy_2.png code/web/public_php/api/data/ryzom/interface/pvp_enemy_3.png code/web/public_php/api/data/ryzom/interface/pvp_enemy_4.png code/web/public_php/api/data/ryzom/interface/pvp_enemy_6.png code/web/public_php/api/data/ryzom/interface/pvp_enemy_marauder.png code/web/public_php/api/data/ryzom/interface/pvp_enemy_trytonist.png code/web/public_php/api/data/ryzom/interface/pw_4.png code/web/public_php/api/data/ryzom/interface/pw_5.png code/web/public_php/api/data/ryzom/interface/pw_6.png code/web/public_php/api/data/ryzom/interface/pw_7.png code/web/public_php/api/data/ryzom/interface/pw_heavy.png code/web/public_php/api/data/ryzom/interface/pw_light.png code/web/public_php/api/data/ryzom/interface/pw_medium.png code/web/public_php/api/data/ryzom/interface/quest_coeur.png code/web/public_php/api/data/ryzom/interface/quest_foie.png code/web/public_php/api/data/ryzom/interface/quest_jeton.png code/web/public_php/api/data/ryzom/interface/quest_langue.png code/web/public_php/api/data/ryzom/interface/quest_louche.png code/web/public_php/api/data/ryzom/interface/quest_oreille.png code/web/public_php/api/data/ryzom/interface/quest_patte.png code/web/public_php/api/data/ryzom/interface/quest_poils.png code/web/public_php/api/data/ryzom/interface/quest_queue.png code/web/public_php/api/data/ryzom/interface/quest_ticket.png code/web/public_php/api/data/ryzom/interface/r2_live.png code/web/public_php/api/data/ryzom/interface/r2_live_over.png code/web/public_php/api/data/ryzom/interface/r2_live_pushed.png code/web/public_php/api/data/ryzom/interface/r2_palette_entities.png code/web/public_php/api/data/ryzom/interface/requirement.png code/web/public_php/api/data/ryzom/interface/rm_f.png code/web/public_php/api/data/ryzom/interface/rm_f_upgrade.png code/web/public_php/api/data/ryzom/interface/rm_h.png code/web/public_php/api/data/ryzom/interface/rm_h_upgrade.png code/web/public_php/api/data/ryzom/interface/rm_m.png code/web/public_php/api/data/ryzom/interface/rm_m_upgrade.png code/web/public_php/api/data/ryzom/interface/rm_r.png code/web/public_php/api/data/ryzom/interface/rm_r_upgrade.png code/web/public_php/api/data/ryzom/interface/rpjob_200.png code/web/public_php/api/data/ryzom/interface/rpjob_201.png code/web/public_php/api/data/ryzom/interface/rpjob_202.png code/web/public_php/api/data/ryzom/interface/rpjob_203.png code/web/public_php/api/data/ryzom/interface/rpjob_204.png code/web/public_php/api/data/ryzom/interface/rpjob_205.png code/web/public_php/api/data/ryzom/interface/rpjob_206.png code/web/public_php/api/data/ryzom/interface/rpjob_207.png code/web/public_php/api/data/ryzom/interface/rpjob_advanced.png code/web/public_php/api/data/ryzom/interface/rpjob_elementary.png code/web/public_php/api/data/ryzom/interface/rpjob_roleplay.png code/web/public_php/api/data/ryzom/interface/rpjob_task.png code/web/public_php/api/data/ryzom/interface/rpjob_task_certificats.png code/web/public_php/api/data/ryzom/interface/rpjob_task_convert.png code/web/public_php/api/data/ryzom/interface/rpjob_task_elementary.png code/web/public_php/api/data/ryzom/interface/rpjob_task_generic.png code/web/public_php/api/data/ryzom/interface/rpjob_task_upgrade.png code/web/public_php/api/data/ryzom/interface/rpjobitem_200_a.png code/web/public_php/api/data/ryzom/interface/rpjobitem_200_b.png code/web/public_php/api/data/ryzom/interface/rpjobitem_200_c.png code/web/public_php/api/data/ryzom/interface/rpjobitem_201_a.png code/web/public_php/api/data/ryzom/interface/rpjobitem_201_b.png code/web/public_php/api/data/ryzom/interface/rpjobitem_201_c.png code/web/public_php/api/data/ryzom/interface/rpjobitem_202_a.png code/web/public_php/api/data/ryzom/interface/rpjobitem_202_b.png code/web/public_php/api/data/ryzom/interface/rpjobitem_202_c.png code/web/public_php/api/data/ryzom/interface/rpjobitem_203_a.png code/web/public_php/api/data/ryzom/interface/rpjobitem_203_b.png code/web/public_php/api/data/ryzom/interface/rpjobitem_203_c.png code/web/public_php/api/data/ryzom/interface/rpjobitem_204_a.png code/web/public_php/api/data/ryzom/interface/rpjobitem_204_b.png code/web/public_php/api/data/ryzom/interface/rpjobitem_204_c.png code/web/public_php/api/data/ryzom/interface/rpjobitem_205_a.png code/web/public_php/api/data/ryzom/interface/rpjobitem_205_b.png code/web/public_php/api/data/ryzom/interface/rpjobitem_205_c.png code/web/public_php/api/data/ryzom/interface/rpjobitem_206_a.png code/web/public_php/api/data/ryzom/interface/rpjobitem_206_b.png code/web/public_php/api/data/ryzom/interface/rpjobitem_206_c.png code/web/public_php/api/data/ryzom/interface/rpjobitem_207_a.png code/web/public_php/api/data/ryzom/interface/rpjobitem_207_b.png code/web/public_php/api/data/ryzom/interface/rpjobitem_207_c.png code/web/public_php/api/data/ryzom/interface/rpjobitem_certifications.png code/web/public_php/api/data/ryzom/interface/rw_autolaunch.png code/web/public_php/api/data/ryzom/interface/rw_bowgun.png code/web/public_php/api/data/ryzom/interface/rw_grenade.png code/web/public_php/api/data/ryzom/interface/rw_harpoongun.png code/web/public_php/api/data/ryzom/interface/rw_launcher.png code/web/public_php/api/data/ryzom/interface/rw_pistol.png code/web/public_php/api/data/ryzom/interface/rw_pistolarc.png code/web/public_php/api/data/ryzom/interface/rw_rifle.png code/web/public_php/api/data/ryzom/interface/sapload.png code/web/public_php/api/data/ryzom/interface/sh_buckler.png code/web/public_php/api/data/ryzom/interface/sh_large_shield.png code/web/public_php/api/data/ryzom/interface/small_task_craft.png code/web/public_php/api/data/ryzom/interface/small_task_done.png code/web/public_php/api/data/ryzom/interface/small_task_failed.png code/web/public_php/api/data/ryzom/interface/small_task_fight.png code/web/public_php/api/data/ryzom/interface/small_task_forage.png code/web/public_php/api/data/ryzom/interface/small_task_generic.png code/web/public_php/api/data/ryzom/interface/small_task_guild.png code/web/public_php/api/data/ryzom/interface/small_task_rite.png code/web/public_php/api/data/ryzom/interface/small_task_travel.png code/web/public_php/api/data/ryzom/interface/spe_beast.png code/web/public_php/api/data/ryzom/interface/spe_com.png code/web/public_php/api/data/ryzom/interface/spe_inventory.png code/web/public_php/api/data/ryzom/interface/spe_labs.png code/web/public_php/api/data/ryzom/interface/spe_memory.png code/web/public_php/api/data/ryzom/interface/spe_options.png code/web/public_php/api/data/ryzom/interface/spe_status.png code/web/public_php/api/data/ryzom/interface/stimulating_water.png code/web/public_php/api/data/ryzom/interface/tb_action_attack.png code/web/public_php/api/data/ryzom/interface/tb_action_config.png code/web/public_php/api/data/ryzom/interface/tb_action_disband.png code/web/public_php/api/data/ryzom/interface/tb_action_disengage.png code/web/public_php/api/data/ryzom/interface/tb_action_extract.png code/web/public_php/api/data/ryzom/interface/tb_action_invite.png code/web/public_php/api/data/ryzom/interface/tb_action_kick.png code/web/public_php/api/data/ryzom/interface/tb_action_move.png code/web/public_php/api/data/ryzom/interface/tb_action_run.png code/web/public_php/api/data/ryzom/interface/tb_action_sit.png code/web/public_php/api/data/ryzom/interface/tb_action_stand.png code/web/public_php/api/data/ryzom/interface/tb_action_stop.png code/web/public_php/api/data/ryzom/interface/tb_action_talk.png code/web/public_php/api/data/ryzom/interface/tb_action_walk.png code/web/public_php/api/data/ryzom/interface/tb_animals.png code/web/public_php/api/data/ryzom/interface/tb_config.png code/web/public_php/api/data/ryzom/interface/tb_connection.png code/web/public_php/api/data/ryzom/interface/tb_contacts.png code/web/public_php/api/data/ryzom/interface/tb_desk_1.png code/web/public_php/api/data/ryzom/interface/tb_desk_2.png code/web/public_php/api/data/ryzom/interface/tb_desk_3.png code/web/public_php/api/data/ryzom/interface/tb_desk_4.png code/web/public_php/api/data/ryzom/interface/tb_faction.png code/web/public_php/api/data/ryzom/interface/tb_forum.png code/web/public_php/api/data/ryzom/interface/tb_guild.png code/web/public_php/api/data/ryzom/interface/tb_help2.png code/web/public_php/api/data/ryzom/interface/tb_keys.png code/web/public_php/api/data/ryzom/interface/tb_macros.png code/web/public_php/api/data/ryzom/interface/tb_mail.png code/web/public_php/api/data/ryzom/interface/tb_mode.png code/web/public_php/api/data/ryzom/interface/tb_mode_dodge.png code/web/public_php/api/data/ryzom/interface/tb_mode_parry.png code/web/public_php/api/data/ryzom/interface/tb_over.png code/web/public_php/api/data/ryzom/interface/tb_support.png code/web/public_php/api/data/ryzom/interface/tb_team.png code/web/public_php/api/data/ryzom/interface/tb_windows.png code/web/public_php/api/data/ryzom/interface/tetekitin.png code/web/public_php/api/data/ryzom/interface/to_ammo.png code/web/public_php/api/data/ryzom/interface/to_armor.png code/web/public_php/api/data/ryzom/interface/to_cooking_pot.png code/web/public_php/api/data/ryzom/interface/to_fishing_rod.png code/web/public_php/api/data/ryzom/interface/to_forage.png code/web/public_php/api/data/ryzom/interface/to_hammer.png code/web/public_php/api/data/ryzom/interface/to_jewelry_hammer.png code/web/public_php/api/data/ryzom/interface/to_jewels.png code/web/public_php/api/data/ryzom/interface/to_leathercutter.png code/web/public_php/api/data/ryzom/interface/to_melee.png code/web/public_php/api/data/ryzom/interface/to_needle.png code/web/public_php/api/data/ryzom/interface/to_pestle.png code/web/public_php/api/data/ryzom/interface/to_range.png code/web/public_php/api/data/ryzom/interface/to_searake.png code/web/public_php/api/data/ryzom/interface/to_spade.png code/web/public_php/api/data/ryzom/interface/to_stick.png code/web/public_php/api/data/ryzom/interface/to_tunneling_knife.png code/web/public_php/api/data/ryzom/interface/to_whip.png code/web/public_php/api/data/ryzom/interface/to_wrench.png code/web/public_php/api/data/ryzom/interface/tp_caravane.png code/web/public_php/api/data/ryzom/interface/tp_kami.png code/web/public_php/api/data/ryzom/interface/us_back_0.png code/web/public_php/api/data/ryzom/interface/us_back_1.png code/web/public_php/api/data/ryzom/interface/us_back_2.png code/web/public_php/api/data/ryzom/interface/us_back_3.png code/web/public_php/api/data/ryzom/interface/us_back_4.png code/web/public_php/api/data/ryzom/interface/us_back_5.png code/web/public_php/api/data/ryzom/interface/us_back_6.png code/web/public_php/api/data/ryzom/interface/us_back_7.png code/web/public_php/api/data/ryzom/interface/us_back_8.png code/web/public_php/api/data/ryzom/interface/us_back_9.png code/web/public_php/api/data/ryzom/interface/us_ico_0.png code/web/public_php/api/data/ryzom/interface/us_ico_1.png code/web/public_php/api/data/ryzom/interface/us_ico_2.png code/web/public_php/api/data/ryzom/interface/us_ico_3.png code/web/public_php/api/data/ryzom/interface/us_ico_4.png code/web/public_php/api/data/ryzom/interface/us_ico_5.png code/web/public_php/api/data/ryzom/interface/us_ico_6.png code/web/public_php/api/data/ryzom/interface/us_ico_7.png code/web/public_php/api/data/ryzom/interface/us_ico_8.png code/web/public_php/api/data/ryzom/interface/us_ico_9.png code/web/public_php/api/data/ryzom/interface/us_over_0.png code/web/public_php/api/data/ryzom/interface/us_over_1.png code/web/public_php/api/data/ryzom/interface/us_over_2.png code/web/public_php/api/data/ryzom/interface/us_over_3.png code/web/public_php/api/data/ryzom/interface/us_over_4.png code/web/public_php/api/data/ryzom/interface/w_am_logo.png code/web/public_php/api/data/ryzom/interface/w_leader.png code/web/public_php/api/data/ryzom/interface/w_major.png code/web/public_php/api/data/ryzom/interface/w_pa_anklet.png code/web/public_php/api/data/ryzom/interface/w_pa_bracelet.png code/web/public_php/api/data/ryzom/interface/w_pa_diadem.png code/web/public_php/api/data/ryzom/interface/w_pa_earring.png code/web/public_php/api/data/ryzom/interface/w_pa_pendant.png code/web/public_php/api/data/ryzom/interface/w_pa_ring.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_id0.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_id1.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_id2.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_id3.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_id4.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_id5.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_id6.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_id7.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_id8.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_id9.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_shift_id0.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_shift_id1.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_shift_id2.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_shift_id3.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_shift_id4.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_shift_id5.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_shift_id6.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_shift_id7.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_shift_id8.png code/web/public_php/api/data/ryzom/interface/w_slot_shortcut_shift_id9.png code/web/public_php/api/data/ryzom/interface/xp_cat_green.png code/web/public_php/api/data/ryzom/items_db.php code/web/public_php/api/data/ryzom/ryShapesPs.php code/web/public_php/api/data/ryzom/sbrick_db.php code/web/public_php/api/index.php code/web/public_php/api/player_auth.php code/web/public_php/api/ryzom_api.php code/web/public_php/api/server/auth.php code/web/public_php/api/server/config.php.default code/web/public_php/api/server/guilds.php code/web/public_php/api/server/hmagic.php code/web/public_php/api/server/item_icon.php code/web/public_php/api/server/scripts/achievement_script/AchWebParser.php code/web/public_php/api/server/scripts/achievement_script/_test/char_346.xml code/web/public_php/api/server/scripts/achievement_script/_test/diff_class.php code/web/public_php/api/server/scripts/achievement_script/_test/diff_test.php code/web/public_php/api/server/scripts/achievement_script/_test/old_char_346.xml code/web/public_php/api/server/scripts/achievement_script/class/Atom_class.php code/web/public_php/api/server/scripts/achievement_script/class/Callback_class.php code/web/public_php/api/server/scripts/achievement_script/class/DataDispatcher_class.php code/web/public_php/api/server/scripts/achievement_script/class/DataSourceHandler_class.php code/web/public_php/api/server/scripts/achievement_script/class/Entity_abstract.php code/web/public_php/api/server/scripts/achievement_script/class/Logfile_class.php code/web/public_php/api/server/scripts/achievement_script/class/SourceDriver_abstract.php code/web/public_php/api/server/scripts/achievement_script/class/Stats_class.php code/web/public_php/api/server/scripts/achievement_script/class/ValueCache_class.php code/web/public_php/api/server/scripts/achievement_script/class/XMLfile_class.php code/web/public_php/api/server/scripts/achievement_script/class/XMLgenerator_class.php code/web/public_php/api/server/scripts/achievement_script/class/XMLnode_class.php code/web/public_php/api/server/scripts/achievement_script/class/mySQL_class.php code/web/public_php/api/server/scripts/achievement_script/conf.php code/web/public_php/api/server/scripts/achievement_script/include/functions_inc.php code/web/public_php/api/server/scripts/achievement_script/launch_parse_new_xml.sh code/web/public_php/api/server/scripts/achievement_script/log/_logDefaultDir_ code/web/public_php/api/server/scripts/achievement_script/log/xml_tmp/_xml_tmp_dir code/web/public_php/api/server/scripts/achievement_script/parse_new_xml.sh code/web/public_php/api/server/scripts/achievement_script/script/_scriptDir code/web/public_php/api/server/scripts/achievement_script/script/item_grade_script.php code/web/public_php/api/server/scripts/achievement_script/script/places/continents.php code/web/public_php/api/server/scripts/achievement_script/script/places/global.php code/web/public_php/api/server/scripts/achievement_script/script/statsdb.php code/web/public_php/api/server/scripts/achievement_script/source/BillingSummary/BillingSummary_class.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/PDRtoXMLdriver_class.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/DeathPenalty_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/FactionPoints_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/Fame_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/FriendOf_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/Friend_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/Friendlist_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/Gear_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/Item_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/LastLogStats_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/MissionList_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/Mission_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/PermanentMod_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/Pet_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/PhysCharacs_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/PhysScores_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/Position_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/RespawnPoints_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/SkillList_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/SkillPoints_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/Skill_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/SpentSkillPoints_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/TPlist_entity.php code/web/public_php/api/server/scripts/achievement_script/source/PDRtoXMLdriver/entity/Title_entity.php code/web/public_php/api/server/scripts/achievement_script/xmldef/debug.php code/web/public_php/api/server/scripts/achievement_script/xmldef/faction.php code/web/public_php/api/server/scripts/achievement_script/xmldef/fame.php code/web/public_php/api/server/scripts/achievement_script/xmldef/inventory.php code/web/public_php/api/server/scripts/achievement_script/xmldef/knowledge.php code/web/public_php/api/server/scripts/achievement_script/xmldef/logs.php code/web/public_php/api/server/scripts/achievement_script/xmldef/missions.php code/web/public_php/api/server/scripts/achievement_script/xmldef/public.php code/web/public_php/api/server/scripts/achievement_script/xmldef/shop.php code/web/public_php/api/server/scripts/achievement_script/xmldef/skills.php code/web/public_php/api/server/scripts/achievement_script/xmldef/social.php code/web/public_php/api/server/scripts/achievement_script/xmldef/stats.php code/web/public_php/api/server/scripts/create_guilds_xml.php code/web/public_php/api/server/scripts/generate_guild_icon.sh code/web/public_php/api/server/scripts/get_guilds_xml.sh code/web/public_php/api/server/time.php code/web/public_php/api/server/user.php code/web/public_php/api/server/utils.php code/web/public_php/api/time.php code/web/public_php/app/app_achievements/_API/ach_progress.php code/web/public_php/app/app_achievements/_API/ach_struct.php code/web/public_php/app/app_achievements/_API/class/mySQL_class.php code/web/public_php/app/app_achievements/_API/conf.php code/web/public_php/app/app_achievements/_doc/Class_scheme.dia code/web/public_php/app/app_achievements/_doc/Class_scheme.png code/web/public_php/app/app_achievements/_doc/ER & Class Schema.pdf code/web/public_php/app/app_achievements/_doc/ER_scheme.dia code/web/public_php/app/app_achievements/_doc/ER_scheme.png code/web/public_php/app/app_achievements/_doc/Ryzom Player Achievements.pdf code/web/public_php/app/app_achievements/_doc/devshot_001.jpg code/web/public_php/app/app_achievements/_doc/devshot_002.jpg code/web/public_php/app/app_achievements/_doc/devshot_003.jpg code/web/public_php/app/app_achievements/_doc/devshot_004.jpg code/web/public_php/app/app_achievements/_doc/structure_app_achievements.sql code/web/public_php/app/app_achievements/class/AVLTree_class.php code/web/public_php/app/app_achievements/class/AchAchievement_class.php code/web/public_php/app/app_achievements/class/AchCategory_class.php code/web/public_php/app/app_achievements/class/AchList_abstract.php code/web/public_php/app/app_achievements/class/AchMenuNode_class.php code/web/public_php/app/app_achievements/class/AchMenu_class.php code/web/public_php/app/app_achievements/class/AchObjective_class.php code/web/public_php/app/app_achievements/class/AchSummary_class.php code/web/public_php/app/app_achievements/class/AchTask_class.php code/web/public_php/app/app_achievements/class/DLL_class.php code/web/public_php/app/app_achievements/class/InDev_trait.php code/web/public_php/app/app_achievements/class/NodeIterator_class.php code/web/public_php/app/app_achievements/class/Node_abstract.php code/web/public_php/app/app_achievements/class/Parentum_abstract.php code/web/public_php/app/app_achievements/class/RyzomUser_class.php code/web/public_php/app/app_achievements/class/Tieable_inter.php code/web/public_php/app/app_achievements/conf.php code/web/public_php/app/app_achievements/favicon.ico code/web/public_php/app/app_achievements/favicon.png code/web/public_php/app/app_achievements/fb/base_facebook.php code/web/public_php/app/app_achievements/fb/facebook.php code/web/public_php/app/app_achievements/fb/fb_ca_chain_bundle.crt code/web/public_php/app/app_achievements/include/ach_render_common.php code/web/public_php/app/app_achievements/include/ach_render_ig.php code/web/public_php/app/app_achievements/include/ach_render_web.php code/web/public_php/app/app_achievements/index.php code/web/public_php/app/app_achievements/lang.php code/web/public_php/app/app_achievements/pic/ach_news.png code/web/public_php/app/app_achievements/pic/bar_done_b.png code/web/public_php/app/app_achievements/pic/bar_done_bg.png code/web/public_php/app/app_achievements/pic/bar_done_bl.png code/web/public_php/app/app_achievements/pic/bar_done_br.png code/web/public_php/app/app_achievements/pic/bar_done_l.png code/web/public_php/app/app_achievements/pic/bar_done_r.png code/web/public_php/app/app_achievements/pic/bar_done_u.png code/web/public_php/app/app_achievements/pic/bar_done_ul.png code/web/public_php/app/app_achievements/pic/bar_done_ur.png code/web/public_php/app/app_achievements/pic/bar_pending_b.png code/web/public_php/app/app_achievements/pic/bar_pending_bl.png code/web/public_php/app/app_achievements/pic/bar_pending_br.png code/web/public_php/app/app_achievements/pic/bar_pending_l.png code/web/public_php/app/app_achievements/pic/bar_pending_r.png code/web/public_php/app/app_achievements/pic/bar_pending_u.png code/web/public_php/app/app_achievements/pic/bar_pending_ul.png code/web/public_php/app/app_achievements/pic/bar_pending_ur.png code/web/public_php/app/app_achievements/pic/check.png code/web/public_php/app/app_achievements/pic/f-connect.png code/web/public_php/app/app_achievements/pic/facebook-logo.png code/web/public_php/app/app_achievements/pic/icon/grey/small/test.png code/web/public_php/app/app_achievements/pic/icon/grey/test.png code/web/public_php/app/app_achievements/pic/icon/small/test.png code/web/public_php/app/app_achievements/pic/icon/test.png code/web/public_php/app/app_achievements/pic/menu/ig_summary.png code/web/public_php/app/app_achievements/pic/menu/ig_test.png code/web/public_php/app/app_achievements/pic/menu/summary.png code/web/public_php/app/app_achievements/pic/menu/test.png code/web/public_php/app/app_achievements/pic/menu_space.png code/web/public_php/app/app_achievements/pic/pending.png code/web/public_php/app/app_achievements/pic/star_done.png code/web/public_php/app/app_achievements/pic/yubo_done.png code/web/public_php/app/app_achievements/pic/yubo_done_small.png code/web/public_php/app/app_achievements/pic/yubo_pending.png code/web/public_php/app/app_achievements_admin/_doc/ADM_scheme.dia code/web/public_php/app/app_achievements_admin/_doc/ADM_scheme.png code/web/public_php/app/app_achievements_admin/class/ADM_inter.php code/web/public_php/app/app_achievements_admin/class/AdmAchievement_class.php code/web/public_php/app/app_achievements_admin/class/AdmAtom_class.php code/web/public_php/app/app_achievements_admin/class/AdmCategory_class.php code/web/public_php/app/app_achievements_admin/class/AdmDispatcher_trait.php code/web/public_php/app/app_achievements_admin/class/AdmMenuNode_class.php code/web/public_php/app/app_achievements_admin/class/AdmMenu_class.php code/web/public_php/app/app_achievements_admin/class/AdmObjective_class.php code/web/public_php/app/app_achievements_admin/class/AdmTask_class.php code/web/public_php/app/app_achievements_admin/class/CSRAchievement_class.php code/web/public_php/app/app_achievements_admin/class/CSRAtom_class.php code/web/public_php/app/app_achievements_admin/class/CSRCategory_class.php code/web/public_php/app/app_achievements_admin/class/CSRDispatcher_trait.php code/web/public_php/app/app_achievements_admin/class/CSRObjective_class.php code/web/public_php/app/app_achievements_admin/class/CSRTask_class.php code/web/public_php/app/app_achievements_admin/class/CSR_inter.php code/web/public_php/app/app_achievements_admin/class/RyzomAdmin_class.php code/web/public_php/app/app_achievements_admin/class/mySQL_class.php code/web/public_php/app/app_achievements_admin/conf.php code/web/public_php/app/app_achievements_admin/favicon.png code/web/public_php/app/app_achievements_admin/include/adm_render_ach.php code/web/public_php/app/app_achievements_admin/include/adm_render_atom.php code/web/public_php/app/app_achievements_admin/include/adm_render_csr.php code/web/public_php/app/app_achievements_admin/include/adm_render_lang.php code/web/public_php/app/app_achievements_admin/include/adm_render_menu.php code/web/public_php/app/app_achievements_admin/include/adm_render_stats.php code/web/public_php/app/app_achievements_admin/index.php code/web/public_php/app/app_achievements_admin/lang.php code/web/public_php/app/app_achievements_admin/pic/b_drop.png code/web/public_php/app/app_achievements_admin/pic/b_insrow.png code/web/public_php/app/app_achievements_admin/pic/b_tblops.png code/web/public_php/app/app_achievements_admin/pic/green.gif code/web/public_php/app/app_achievements_admin/pic/icon_edit.gif code/web/public_php/app/app_achievements_admin/pic/red.gif code/web/public_php/app/app_test/create.sql code/web/public_php/app/app_test/favicon.png code/web/public_php/app/app_test/index.php code/web/public_php/app/app_test/lang.php code/web/public_php/app/config.php.default code/web/public_php/app/index.php code/web/public_php/app/lang.php code/web/public_php/crash_report/config.inc.php code/web/public_php/crash_report/log.inc.php code/web/public_php/crash_report/submit.php code/web/public_php/index.php code/web/public_php/login/client_install.php code/web/public_php/login/config.php code/web/public_php/login/login_translations.php code/web/public_php/login/logs/placeholder code/web/public_php/login/r2_login.php code/web/public_php/ring/edit_session.php code/web/public_php/ring/invite_pioneer.php code/web/public_php/ring/join_shard.php code/web/public_php/ring/session_tools.php code/web/public_php/setup/auth.php code/web/public_php/setup/css/bootstrap-theme.css code/web/public_php/setup/css/bootstrap-theme.css.map code/web/public_php/setup/css/bootstrap-theme.min.css code/web/public_php/setup/css/bootstrap.css code/web/public_php/setup/css/bootstrap.css.map code/web/public_php/setup/css/bootstrap.min.css code/web/public_php/setup/database.php code/web/public_php/setup/fonts/glyphicons-halflings-regular.eot code/web/public_php/setup/fonts/glyphicons-halflings-regular.svg code/web/public_php/setup/fonts/glyphicons-halflings-regular.ttf code/web/public_php/setup/fonts/glyphicons-halflings-regular.woff code/web/public_php/setup/footer.php code/web/public_php/setup/header.php code/web/public_php/setup/img/agplv3-88x31.png code/web/public_php/setup/index.php code/web/public_php/setup/install.php code/web/public_php/setup/js/bootstrap.js code/web/public_php/setup/js/bootstrap.min.js code/web/public_php/setup/template.htm code/web/public_php/setup/upgrade.php code/web/public_php/setup/version.php code/web/public_php/tools/domain_info.php code/web/public_php/tools/nel_message.php code/web/public_php/tools/validate_cookie.php code/web/public_php/webtt/.gitignore code/web/public_php/webtt/.htaccess code/web/public_php/webtt/CakePHP_README code/web/public_php/webtt/app/.htaccess code/web/public_php/webtt/app/config/acl.ini.php code/web/public_php/webtt/app/config/bootstrap.php code/web/public_php/webtt/app/config/core.php code/web/public_php/webtt/app/config/database.php code/web/public_php/webtt/app/config/database.php.default code/web/public_php/webtt/app/config/routes.php code/web/public_php/webtt/app/config/schema/db_acl.php code/web/public_php/webtt/app/config/schema/i18n.php code/web/public_php/webtt/app/config/schema/sessions.php code/web/public_php/webtt/app/controllers/app_controller.php code/web/public_php/webtt/app/controllers/comments_controller.php code/web/public_php/webtt/app/controllers/components/empty code/web/public_php/webtt/app/controllers/components/path_resolver.php code/web/public_php/webtt/app/controllers/file_identifiers_controller.php code/web/public_php/webtt/app/controllers/identifier_columns_controller.php code/web/public_php/webtt/app/controllers/identifiers_controller.php code/web/public_php/webtt/app/controllers/imported_translation_files_controller.php code/web/public_php/webtt/app/controllers/languages_controller.php code/web/public_php/webtt/app/controllers/pages_controller.php code/web/public_php/webtt/app/controllers/raw_files_controller.php code/web/public_php/webtt/app/controllers/translation_files_controller.php code/web/public_php/webtt/app/controllers/translations_controller.php code/web/public_php/webtt/app/controllers/users_controller.php code/web/public_php/webtt/app/controllers/votes_controller.php code/web/public_php/webtt/app/index.php code/web/public_php/webtt/app/libs/empty code/web/public_php/webtt/app/locale/eng/LC_MESSAGES/empty code/web/public_php/webtt/app/models/app_model.php code/web/public_php/webtt/app/models/behaviors/empty code/web/public_php/webtt/app/models/behaviors/null.php code/web/public_php/webtt/app/models/comment.php code/web/public_php/webtt/app/models/datasources/empty code/web/public_php/webtt/app/models/datasources/raw_files_source.php code/web/public_php/webtt/app/models/file_identifier.php code/web/public_php/webtt/app/models/identifier.php code/web/public_php/webtt/app/models/identifier_column.php code/web/public_php/webtt/app/models/imported_translation_file.php code/web/public_php/webtt/app/models/language.php code/web/public_php/webtt/app/models/raw_file.php code/web/public_php/webtt/app/models/translation.php code/web/public_php/webtt/app/models/translation_file.php code/web/public_php/webtt/app/models/user.php code/web/public_php/webtt/app/models/vote.php code/web/public_php/webtt/app/plugins/empty code/web/public_php/webtt/app/tests/cases/behaviors/empty code/web/public_php/webtt/app/tests/cases/components/empty code/web/public_php/webtt/app/tests/cases/controllers/empty code/web/public_php/webtt/app/tests/cases/helpers/empty code/web/public_php/webtt/app/tests/cases/models/empty code/web/public_php/webtt/app/tests/fixtures/empty code/web/public_php/webtt/app/tests/groups/empty code/web/public_php/webtt/app/tmp/cache/models/empty code/web/public_php/webtt/app/tmp/cache/persistent/empty code/web/public_php/webtt/app/tmp/cache/views/empty code/web/public_php/webtt/app/tmp/logs/empty code/web/public_php/webtt/app/tmp/sessions/empty code/web/public_php/webtt/app/tmp/tests/empty code/web/public_php/webtt/app/vendors/PhraseParser.php code/web/public_php/webtt/app/vendors/SheetParser.php code/web/public_php/webtt/app/vendors/StringParser.php code/web/public_php/webtt/app/vendors/shells/tasks/empty code/web/public_php/webtt/app/vendors/shells/templates/960grid/views/form.ctp code/web/public_php/webtt/app/vendors/shells/templates/960grid/views/home.ctp code/web/public_php/webtt/app/vendors/shells/templates/960grid/views/index.ctp code/web/public_php/webtt/app/vendors/shells/templates/960grid/views/view.ctp code/web/public_php/webtt/app/vendors/shells/templates/empty code/web/public_php/webtt/app/vendors/shells/templates/webtt/views/form.ctp code/web/public_php/webtt/app/vendors/shells/templates/webtt/views/home.ctp code/web/public_php/webtt/app/vendors/shells/templates/webtt/views/index.ctp code/web/public_php/webtt/app/vendors/shells/templates/webtt/views/view.ctp code/web/public_php/webtt/app/views/comments/add.ctp code/web/public_php/webtt/app/views/comments/admin_add.ctp code/web/public_php/webtt/app/views/comments/admin_edit.ctp code/web/public_php/webtt/app/views/comments/admin_index.ctp code/web/public_php/webtt/app/views/comments/admin_view.ctp code/web/public_php/webtt/app/views/comments/edit.ctp code/web/public_php/webtt/app/views/comments/index.ctp code/web/public_php/webtt/app/views/comments/view.ctp code/web/public_php/webtt/app/views/elements/email/html/empty code/web/public_php/webtt/app/views/elements/email/html/registration.ctp code/web/public_php/webtt/app/views/elements/email/text/empty code/web/public_php/webtt/app/views/elements/email/text/registration.ctp code/web/public_php/webtt/app/views/elements/empty code/web/public_php/webtt/app/views/elements/neighbours.ctp code/web/public_php/webtt/app/views/errors/empty code/web/public_php/webtt/app/views/file_identifiers/add.ctp code/web/public_php/webtt/app/views/file_identifiers/admin_add.ctp code/web/public_php/webtt/app/views/file_identifiers/admin_edit.ctp code/web/public_php/webtt/app/views/file_identifiers/admin_index.ctp code/web/public_php/webtt/app/views/file_identifiers/admin_view.ctp code/web/public_php/webtt/app/views/file_identifiers/edit.ctp code/web/public_php/webtt/app/views/file_identifiers/index.ctp code/web/public_php/webtt/app/views/file_identifiers/view.ctp code/web/public_php/webtt/app/views/helpers/empty code/web/public_php/webtt/app/views/identifier_columns/admin_index.ctp code/web/public_php/webtt/app/views/identifier_columns/admin_view.ctp code/web/public_php/webtt/app/views/identifier_columns/index.ctp code/web/public_php/webtt/app/views/identifier_columns/view.ctp code/web/public_php/webtt/app/views/identifiers/add.ctp code/web/public_php/webtt/app/views/identifiers/admin_add.ctp code/web/public_php/webtt/app/views/identifiers/admin_edit.ctp code/web/public_php/webtt/app/views/identifiers/admin_index.ctp code/web/public_php/webtt/app/views/identifiers/admin_view.ctp code/web/public_php/webtt/app/views/identifiers/edit.ctp code/web/public_php/webtt/app/views/identifiers/index.ctp code/web/public_php/webtt/app/views/identifiers/view.ctp code/web/public_php/webtt/app/views/imported_translation_files/admin_add.ctp code/web/public_php/webtt/app/views/imported_translation_files/admin_edit.ctp code/web/public_php/webtt/app/views/imported_translation_files/admin_index.ctp code/web/public_php/webtt/app/views/imported_translation_files/admin_view.ctp code/web/public_php/webtt/app/views/imported_translation_files/index.ctp code/web/public_php/webtt/app/views/imported_translation_files/view.ctp code/web/public_php/webtt/app/views/languages/add.ctp code/web/public_php/webtt/app/views/languages/admin_add.ctp code/web/public_php/webtt/app/views/languages/admin_edit.ctp code/web/public_php/webtt/app/views/languages/admin_index.ctp code/web/public_php/webtt/app/views/languages/admin_view.ctp code/web/public_php/webtt/app/views/languages/edit.ctp code/web/public_php/webtt/app/views/languages/index.ctp code/web/public_php/webtt/app/views/languages/view.ctp code/web/public_php/webtt/app/views/layouts/admin.ctp code/web/public_php/webtt/app/views/layouts/default.ctp code/web/public_php/webtt/app/views/layouts/default_debug.ctp code/web/public_php/webtt/app/views/layouts/email/html/default.ctp code/web/public_php/webtt/app/views/layouts/email/text/default.ctp code/web/public_php/webtt/app/views/layouts/js/empty code/web/public_php/webtt/app/views/layouts/new.ctp code/web/public_php/webtt/app/views/layouts/rss/empty code/web/public_php/webtt/app/views/layouts/xml/empty code/web/public_php/webtt/app/views/pages/admin/home.ctp code/web/public_php/webtt/app/views/pages/home.ctp code/web/public_php/webtt/app/views/raw_files/admin_index.ctp code/web/public_php/webtt/app/views/raw_files/admin_view.ctp code/web/public_php/webtt/app/views/raw_files/index.ctp code/web/public_php/webtt/app/views/raw_files/listdir.ctp code/web/public_php/webtt/app/views/raw_files/view.ctp code/web/public_php/webtt/app/views/scaffolds/edit.ctp code/web/public_php/webtt/app/views/scaffolds/empty code/web/public_php/webtt/app/views/scaffolds/index.ctp code/web/public_php/webtt/app/views/scaffolds/view.ctp code/web/public_php/webtt/app/views/translation_files/admin_index.ctp code/web/public_php/webtt/app/views/translation_files/admin_view.ctp code/web/public_php/webtt/app/views/translation_files/index.ctp code/web/public_php/webtt/app/views/translation_files/view.ctp code/web/public_php/webtt/app/views/translations/add.ctp code/web/public_php/webtt/app/views/translations/admin_add.ctp code/web/public_php/webtt/app/views/translations/admin_edit.ctp code/web/public_php/webtt/app/views/translations/admin_index.ctp code/web/public_php/webtt/app/views/translations/admin_view.ctp code/web/public_php/webtt/app/views/translations/edit.ctp code/web/public_php/webtt/app/views/translations/index.ctp code/web/public_php/webtt/app/views/translations/view.ctp code/web/public_php/webtt/app/views/users/admin_add.ctp code/web/public_php/webtt/app/views/users/admin_edit.ctp code/web/public_php/webtt/app/views/users/admin_index.ctp code/web/public_php/webtt/app/views/users/admin_view.ctp code/web/public_php/webtt/app/views/users/index.ctp code/web/public_php/webtt/app/views/users/login.ctp code/web/public_php/webtt/app/views/users/register.ctp code/web/public_php/webtt/app/views/users/view.ctp code/web/public_php/webtt/app/views/votes/add.ctp code/web/public_php/webtt/app/views/votes/admin_add.ctp code/web/public_php/webtt/app/views/votes/admin_edit.ctp code/web/public_php/webtt/app/views/votes/admin_index.ctp code/web/public_php/webtt/app/views/votes/admin_view.ctp code/web/public_php/webtt/app/views/votes/edit.ctp code/web/public_php/webtt/app/views/votes/index.ctp code/web/public_php/webtt/app/views/votes/view.ctp code/web/public_php/webtt/app/webroot/.htaccess code/web/public_php/webtt/app/webroot/css.php code/web/public_php/webtt/app/webroot/css/960.css code/web/public_php/webtt/app/webroot/css/cake.generic.css code/web/public_php/webtt/app/webroot/css/grid.css code/web/public_php/webtt/app/webroot/css/ie.css code/web/public_php/webtt/app/webroot/css/ie6.css code/web/public_php/webtt/app/webroot/css/labelWidth.css code/web/public_php/webtt/app/webroot/css/layout.css code/web/public_php/webtt/app/webroot/css/nav.css code/web/public_php/webtt/app/webroot/css/reset.css code/web/public_php/webtt/app/webroot/css/text.css code/web/public_php/webtt/app/webroot/favicon.ico code/web/public_php/webtt/app/webroot/files/empty code/web/public_php/webtt/app/webroot/img/cake.icon.png code/web/public_php/webtt/app/webroot/img/cake.power.gif code/web/public_php/webtt/app/webroot/img/switch_minus.gif code/web/public_php/webtt/app/webroot/img/switch_plus.gif code/web/public_php/webtt/app/webroot/index.php code/web/public_php/webtt/app/webroot/js/empty code/web/public_php/webtt/app/webroot/js/jquery-1.3.2.min.js code/web/public_php/webtt/app/webroot/js/jquery-fluid16.js code/web/public_php/webtt/app/webroot/js/jquery-ui.js code/web/public_php/webtt/app/webroot/test.php code/web/public_php/webtt/app/webroot/testfiles/raw_testfile.csv code/web/public_php/webtt/app/webroot/testfiles/testdir/ugatestindir.csv code/web/public_php/webtt/app/webroot/testfiles/ugabla.csv code/web/public_php/webtt/cake/LICENSE.txt code/web/public_php/webtt/cake/VERSION.txt code/web/public_php/webtt/cake/basics.php code/web/public_php/webtt/cake/bootstrap.php code/web/public_php/webtt/cake/config/config.php code/web/public_php/webtt/cake/config/paths.php code/web/public_php/webtt/cake/config/unicode/casefolding/0080_00ff.php code/web/public_php/webtt/cake/config/unicode/casefolding/0100_017f.php code/web/public_php/webtt/cake/config/unicode/casefolding/0180_024F.php code/web/public_php/webtt/cake/config/unicode/casefolding/0250_02af.php code/web/public_php/webtt/cake/config/unicode/casefolding/0370_03ff.php code/web/public_php/webtt/cake/config/unicode/casefolding/0400_04ff.php code/web/public_php/webtt/cake/config/unicode/casefolding/0500_052f.php code/web/public_php/webtt/cake/config/unicode/casefolding/0530_058f.php code/web/public_php/webtt/cake/config/unicode/casefolding/1e00_1eff.php code/web/public_php/webtt/cake/config/unicode/casefolding/1f00_1fff.php code/web/public_php/webtt/cake/config/unicode/casefolding/2100_214f.php code/web/public_php/webtt/cake/config/unicode/casefolding/2150_218f.php code/web/public_php/webtt/cake/config/unicode/casefolding/2460_24ff.php code/web/public_php/webtt/cake/config/unicode/casefolding/2c00_2c5f.php code/web/public_php/webtt/cake/config/unicode/casefolding/2c60_2c7f.php code/web/public_php/webtt/cake/config/unicode/casefolding/2c80_2cff.php code/web/public_php/webtt/cake/config/unicode/casefolding/ff00_ffef.php code/web/public_php/webtt/cake/console/cake code/web/public_php/webtt/cake/console/cake.bat code/web/public_php/webtt/cake/console/cake.php code/web/public_php/webtt/cake/console/error.php code/web/public_php/webtt/cake/console/libs/acl.php code/web/public_php/webtt/cake/console/libs/api.php code/web/public_php/webtt/cake/console/libs/bake.php code/web/public_php/webtt/cake/console/libs/console.php code/web/public_php/webtt/cake/console/libs/i18n.php code/web/public_php/webtt/cake/console/libs/schema.php code/web/public_php/webtt/cake/console/libs/shell.php code/web/public_php/webtt/cake/console/libs/tasks/bake.php code/web/public_php/webtt/cake/console/libs/tasks/controller.php code/web/public_php/webtt/cake/console/libs/tasks/db_config.php code/web/public_php/webtt/cake/console/libs/tasks/extract.php code/web/public_php/webtt/cake/console/libs/tasks/fixture.php code/web/public_php/webtt/cake/console/libs/tasks/model.php code/web/public_php/webtt/cake/console/libs/tasks/plugin.php code/web/public_php/webtt/cake/console/libs/tasks/project.php code/web/public_php/webtt/cake/console/libs/tasks/template.php code/web/public_php/webtt/cake/console/libs/tasks/test.php code/web/public_php/webtt/cake/console/libs/tasks/view.php code/web/public_php/webtt/cake/console/libs/testsuite.php code/web/public_php/webtt/cake/console/templates/default/actions/controller_actions.ctp code/web/public_php/webtt/cake/console/templates/default/classes/controller.ctp code/web/public_php/webtt/cake/console/templates/default/classes/fixture.ctp code/web/public_php/webtt/cake/console/templates/default/classes/model.ctp code/web/public_php/webtt/cake/console/templates/default/classes/test.ctp code/web/public_php/webtt/cake/console/templates/default/views/form.ctp code/web/public_php/webtt/cake/console/templates/default/views/home.ctp code/web/public_php/webtt/cake/console/templates/default/views/index.ctp code/web/public_php/webtt/cake/console/templates/default/views/view.ctp code/web/public_php/webtt/cake/console/templates/skel/.htaccess code/web/public_php/webtt/cake/console/templates/skel/app_controller.php code/web/public_php/webtt/cake/console/templates/skel/app_helper.php code/web/public_php/webtt/cake/console/templates/skel/app_model.php code/web/public_php/webtt/cake/console/templates/skel/config/acl.ini.php code/web/public_php/webtt/cake/console/templates/skel/config/bootstrap.php code/web/public_php/webtt/cake/console/templates/skel/config/core.php code/web/public_php/webtt/cake/console/templates/skel/config/database.php.default code/web/public_php/webtt/cake/console/templates/skel/config/routes.php code/web/public_php/webtt/cake/console/templates/skel/config/schema/db_acl.php code/web/public_php/webtt/cake/console/templates/skel/config/schema/db_acl.sql code/web/public_php/webtt/cake/console/templates/skel/config/schema/i18n.php code/web/public_php/webtt/cake/console/templates/skel/config/schema/i18n.sql code/web/public_php/webtt/cake/console/templates/skel/config/schema/sessions.php code/web/public_php/webtt/cake/console/templates/skel/config/schema/sessions.sql code/web/public_php/webtt/cake/console/templates/skel/controllers/components/empty code/web/public_php/webtt/cake/console/templates/skel/controllers/pages_controller.php code/web/public_php/webtt/cake/console/templates/skel/index.php code/web/public_php/webtt/cake/console/templates/skel/libs/empty code/web/public_php/webtt/cake/console/templates/skel/locale/eng/LC_MESSAGES/empty code/web/public_php/webtt/cake/console/templates/skel/models/behaviors/empty code/web/public_php/webtt/cake/console/templates/skel/models/datasources/empty code/web/public_php/webtt/cake/console/templates/skel/plugins/empty code/web/public_php/webtt/cake/console/templates/skel/tests/cases/behaviors/empty code/web/public_php/webtt/cake/console/templates/skel/tests/cases/components/empty code/web/public_php/webtt/cake/console/templates/skel/tests/cases/controllers/empty code/web/public_php/webtt/cake/console/templates/skel/tests/cases/datasources/empty code/web/public_php/webtt/cake/console/templates/skel/tests/cases/helpers/empty code/web/public_php/webtt/cake/console/templates/skel/tests/cases/models/empty code/web/public_php/webtt/cake/console/templates/skel/tests/cases/shells/empty code/web/public_php/webtt/cake/console/templates/skel/tests/fixtures/empty code/web/public_php/webtt/cake/console/templates/skel/tests/groups/empty code/web/public_php/webtt/cake/console/templates/skel/tmp/cache/models/empty code/web/public_php/webtt/cake/console/templates/skel/tmp/cache/persistent/empty code/web/public_php/webtt/cake/console/templates/skel/tmp/cache/views/empty code/web/public_php/webtt/cake/console/templates/skel/tmp/logs/empty code/web/public_php/webtt/cake/console/templates/skel/tmp/sessions/empty code/web/public_php/webtt/cake/console/templates/skel/tmp/tests/empty code/web/public_php/webtt/cake/console/templates/skel/vendors/shells/tasks/empty code/web/public_php/webtt/cake/console/templates/skel/views/elements/email/html/default.ctp code/web/public_php/webtt/cake/console/templates/skel/views/elements/email/text/default.ctp code/web/public_php/webtt/cake/console/templates/skel/views/elements/empty code/web/public_php/webtt/cake/console/templates/skel/views/errors/empty code/web/public_php/webtt/cake/console/templates/skel/views/helpers/empty code/web/public_php/webtt/cake/console/templates/skel/views/layouts/ajax.ctp code/web/public_php/webtt/cake/console/templates/skel/views/layouts/default.ctp code/web/public_php/webtt/cake/console/templates/skel/views/layouts/email/html/default.ctp code/web/public_php/webtt/cake/console/templates/skel/views/layouts/email/text/default.ctp code/web/public_php/webtt/cake/console/templates/skel/views/layouts/flash.ctp code/web/public_php/webtt/cake/console/templates/skel/views/layouts/js/default.ctp code/web/public_php/webtt/cake/console/templates/skel/views/layouts/rss/default.ctp code/web/public_php/webtt/cake/console/templates/skel/views/layouts/xml/default.ctp code/web/public_php/webtt/cake/console/templates/skel/views/pages/empty code/web/public_php/webtt/cake/console/templates/skel/views/scaffolds/empty code/web/public_php/webtt/cake/console/templates/skel/webroot/.htaccess code/web/public_php/webtt/cake/console/templates/skel/webroot/css.php code/web/public_php/webtt/cake/console/templates/skel/webroot/css/cake.generic.css code/web/public_php/webtt/cake/console/templates/skel/webroot/favicon.ico code/web/public_php/webtt/cake/console/templates/skel/webroot/img/cake.icon.png code/web/public_php/webtt/cake/console/templates/skel/webroot/img/cake.power.gif code/web/public_php/webtt/cake/console/templates/skel/webroot/index.php code/web/public_php/webtt/cake/console/templates/skel/webroot/js/empty code/web/public_php/webtt/cake/console/templates/skel/webroot/test.php code/web/public_php/webtt/cake/dispatcher.php code/web/public_php/webtt/cake/libs/cache.php code/web/public_php/webtt/cake/libs/cache/apc.php code/web/public_php/webtt/cake/libs/cache/file.php code/web/public_php/webtt/cake/libs/cache/memcache.php code/web/public_php/webtt/cake/libs/cache/xcache.php code/web/public_php/webtt/cake/libs/cake_log.php code/web/public_php/webtt/cake/libs/cake_session.php code/web/public_php/webtt/cake/libs/cake_socket.php code/web/public_php/webtt/cake/libs/class_registry.php code/web/public_php/webtt/cake/libs/configure.php code/web/public_php/webtt/cake/libs/controller/app_controller.php code/web/public_php/webtt/cake/libs/controller/component.php code/web/public_php/webtt/cake/libs/controller/components/acl.php code/web/public_php/webtt/cake/libs/controller/components/auth.php code/web/public_php/webtt/cake/libs/controller/components/cookie.php code/web/public_php/webtt/cake/libs/controller/components/email.php code/web/public_php/webtt/cake/libs/controller/components/request_handler.php code/web/public_php/webtt/cake/libs/controller/components/security.php code/web/public_php/webtt/cake/libs/controller/components/session.php code/web/public_php/webtt/cake/libs/controller/controller.php code/web/public_php/webtt/cake/libs/controller/pages_controller.php code/web/public_php/webtt/cake/libs/controller/scaffold.php code/web/public_php/webtt/cake/libs/debugger.php code/web/public_php/webtt/cake/libs/error.php code/web/public_php/webtt/cake/libs/file.php code/web/public_php/webtt/cake/libs/folder.php code/web/public_php/webtt/cake/libs/http_socket.php code/web/public_php/webtt/cake/libs/i18n.php code/web/public_php/webtt/cake/libs/inflector.php code/web/public_php/webtt/cake/libs/l10n.php code/web/public_php/webtt/cake/libs/log/file_log.php code/web/public_php/webtt/cake/libs/magic_db.php code/web/public_php/webtt/cake/libs/model/app_model.php code/web/public_php/webtt/cake/libs/model/behaviors/acl.php code/web/public_php/webtt/cake/libs/model/behaviors/containable.php code/web/public_php/webtt/cake/libs/model/behaviors/translate.php code/web/public_php/webtt/cake/libs/model/behaviors/tree.php code/web/public_php/webtt/cake/libs/model/cake_schema.php code/web/public_php/webtt/cake/libs/model/connection_manager.php code/web/public_php/webtt/cake/libs/model/datasources/datasource.php code/web/public_php/webtt/cake/libs/model/datasources/dbo/dbo_mssql.php code/web/public_php/webtt/cake/libs/model/datasources/dbo/dbo_mysql.php code/web/public_php/webtt/cake/libs/model/datasources/dbo/dbo_mysqli.php code/web/public_php/webtt/cake/libs/model/datasources/dbo/dbo_oracle.php code/web/public_php/webtt/cake/libs/model/datasources/dbo/dbo_postgres.php code/web/public_php/webtt/cake/libs/model/datasources/dbo/dbo_sqlite.php code/web/public_php/webtt/cake/libs/model/datasources/dbo_source.php code/web/public_php/webtt/cake/libs/model/db_acl.php code/web/public_php/webtt/cake/libs/model/model.php code/web/public_php/webtt/cake/libs/model/model_behavior.php code/web/public_php/webtt/cake/libs/multibyte.php code/web/public_php/webtt/cake/libs/object.php code/web/public_php/webtt/cake/libs/overloadable.php code/web/public_php/webtt/cake/libs/overloadable_php4.php code/web/public_php/webtt/cake/libs/overloadable_php5.php code/web/public_php/webtt/cake/libs/router.php code/web/public_php/webtt/cake/libs/sanitize.php code/web/public_php/webtt/cake/libs/security.php code/web/public_php/webtt/cake/libs/set.php code/web/public_php/webtt/cake/libs/string.php code/web/public_php/webtt/cake/libs/validation.php code/web/public_php/webtt/cake/libs/view/elements/email/html/default.ctp code/web/public_php/webtt/cake/libs/view/elements/email/text/default.ctp code/web/public_php/webtt/cake/libs/view/elements/sql_dump.ctp code/web/public_php/webtt/cake/libs/view/errors/error404.ctp code/web/public_php/webtt/cake/libs/view/errors/error500.ctp code/web/public_php/webtt/cake/libs/view/errors/missing_action.ctp code/web/public_php/webtt/cake/libs/view/errors/missing_behavior_class.ctp code/web/public_php/webtt/cake/libs/view/errors/missing_behavior_file.ctp code/web/public_php/webtt/cake/libs/view/errors/missing_component_class.ctp code/web/public_php/webtt/cake/libs/view/errors/missing_component_file.ctp code/web/public_php/webtt/cake/libs/view/errors/missing_connection.ctp code/web/public_php/webtt/cake/libs/view/errors/missing_controller.ctp code/web/public_php/webtt/cake/libs/view/errors/missing_helper_class.ctp code/web/public_php/webtt/cake/libs/view/errors/missing_helper_file.ctp code/web/public_php/webtt/cake/libs/view/errors/missing_layout.ctp code/web/public_php/webtt/cake/libs/view/errors/missing_model.ctp code/web/public_php/webtt/cake/libs/view/errors/missing_scaffolddb.ctp code/web/public_php/webtt/cake/libs/view/errors/missing_table.ctp code/web/public_php/webtt/cake/libs/view/errors/missing_view.ctp code/web/public_php/webtt/cake/libs/view/errors/private_action.ctp code/web/public_php/webtt/cake/libs/view/errors/scaffold_error.ctp code/web/public_php/webtt/cake/libs/view/helper.php code/web/public_php/webtt/cake/libs/view/helpers/ajax.php code/web/public_php/webtt/cake/libs/view/helpers/app_helper.php code/web/public_php/webtt/cake/libs/view/helpers/cache.php code/web/public_php/webtt/cake/libs/view/helpers/form.php code/web/public_php/webtt/cake/libs/view/helpers/html.php code/web/public_php/webtt/cake/libs/view/helpers/javascript.php code/web/public_php/webtt/cake/libs/view/helpers/jquery_engine.php code/web/public_php/webtt/cake/libs/view/helpers/js.php code/web/public_php/webtt/cake/libs/view/helpers/mootools_engine.php code/web/public_php/webtt/cake/libs/view/helpers/number.php code/web/public_php/webtt/cake/libs/view/helpers/paginator.php code/web/public_php/webtt/cake/libs/view/helpers/prototype_engine.php code/web/public_php/webtt/cake/libs/view/helpers/rss.php code/web/public_php/webtt/cake/libs/view/helpers/session.php code/web/public_php/webtt/cake/libs/view/helpers/text.php code/web/public_php/webtt/cake/libs/view/helpers/time.php code/web/public_php/webtt/cake/libs/view/helpers/xml.php code/web/public_php/webtt/cake/libs/view/layouts/ajax.ctp code/web/public_php/webtt/cake/libs/view/layouts/default.ctp code/web/public_php/webtt/cake/libs/view/layouts/email/html/default.ctp code/web/public_php/webtt/cake/libs/view/layouts/email/text/default.ctp code/web/public_php/webtt/cake/libs/view/layouts/flash.ctp code/web/public_php/webtt/cake/libs/view/layouts/js/default.ctp code/web/public_php/webtt/cake/libs/view/layouts/rss/default.ctp code/web/public_php/webtt/cake/libs/view/layouts/xml/default.ctp code/web/public_php/webtt/cake/libs/view/media.php code/web/public_php/webtt/cake/libs/view/pages/home.ctp code/web/public_php/webtt/cake/libs/view/scaffolds/edit.ctp code/web/public_php/webtt/cake/libs/view/scaffolds/index.ctp code/web/public_php/webtt/cake/libs/view/scaffolds/view.ctp code/web/public_php/webtt/cake/libs/view/theme.php code/web/public_php/webtt/cake/libs/view/view.php code/web/public_php/webtt/cake/libs/xml.php code/web/public_php/webtt/cake/tests/cases/basics.test.php code/web/public_php/webtt/cake/tests/cases/console/cake.test.php code/web/public_php/webtt/cake/tests/cases/console/libs/acl.test.php code/web/public_php/webtt/cake/tests/cases/console/libs/api.test.php code/web/public_php/webtt/cake/tests/cases/console/libs/bake.test.php code/web/public_php/webtt/cake/tests/cases/console/libs/schema.test.php code/web/public_php/webtt/cake/tests/cases/console/libs/shell.test.php code/web/public_php/webtt/cake/tests/cases/console/libs/tasks/controller.test.php code/web/public_php/webtt/cake/tests/cases/console/libs/tasks/db_config.test.php code/web/public_php/webtt/cake/tests/cases/console/libs/tasks/extract.test.php code/web/public_php/webtt/cake/tests/cases/console/libs/tasks/fixture.test.php code/web/public_php/webtt/cake/tests/cases/console/libs/tasks/model.test.php code/web/public_php/webtt/cake/tests/cases/console/libs/tasks/plugin.test.php code/web/public_php/webtt/cake/tests/cases/console/libs/tasks/project.test.php code/web/public_php/webtt/cake/tests/cases/console/libs/tasks/template.test.php code/web/public_php/webtt/cake/tests/cases/console/libs/tasks/test.test.php code/web/public_php/webtt/cake/tests/cases/console/libs/tasks/view.test.php code/web/public_php/webtt/cake/tests/cases/dispatcher.test.php code/web/public_php/webtt/cake/tests/cases/libs/cache.test.php code/web/public_php/webtt/cake/tests/cases/libs/cache/apc.test.php code/web/public_php/webtt/cake/tests/cases/libs/cache/file.test.php code/web/public_php/webtt/cake/tests/cases/libs/cache/memcache.test.php code/web/public_php/webtt/cake/tests/cases/libs/cache/xcache.test.php code/web/public_php/webtt/cake/tests/cases/libs/cake_log.test.php code/web/public_php/webtt/cake/tests/cases/libs/cake_session.test.php code/web/public_php/webtt/cake/tests/cases/libs/cake_socket.test.php code/web/public_php/webtt/cake/tests/cases/libs/cake_test_case.test.php code/web/public_php/webtt/cake/tests/cases/libs/cake_test_fixture.test.php code/web/public_php/webtt/cake/tests/cases/libs/class_registry.test.php code/web/public_php/webtt/cake/tests/cases/libs/code_coverage_manager.test.php code/web/public_php/webtt/cake/tests/cases/libs/configure.test.php code/web/public_php/webtt/cake/tests/cases/libs/controller/component.test.php code/web/public_php/webtt/cake/tests/cases/libs/controller/components/acl.test.php code/web/public_php/webtt/cake/tests/cases/libs/controller/components/auth.test.php code/web/public_php/webtt/cake/tests/cases/libs/controller/components/cookie.test.php code/web/public_php/webtt/cake/tests/cases/libs/controller/components/email.test.php code/web/public_php/webtt/cake/tests/cases/libs/controller/components/request_handler.test.php code/web/public_php/webtt/cake/tests/cases/libs/controller/components/security.test.php code/web/public_php/webtt/cake/tests/cases/libs/controller/components/session.test.php code/web/public_php/webtt/cake/tests/cases/libs/controller/controller.test.php code/web/public_php/webtt/cake/tests/cases/libs/controller/controller_merge_vars.test.php code/web/public_php/webtt/cake/tests/cases/libs/controller/pages_controller.test.php code/web/public_php/webtt/cake/tests/cases/libs/controller/scaffold.test.php code/web/public_php/webtt/cake/tests/cases/libs/debugger.test.php code/web/public_php/webtt/cake/tests/cases/libs/error.test.php code/web/public_php/webtt/cake/tests/cases/libs/file.test.php code/web/public_php/webtt/cake/tests/cases/libs/folder.test.php code/web/public_php/webtt/cake/tests/cases/libs/http_socket.test.php code/web/public_php/webtt/cake/tests/cases/libs/i18n.test.php code/web/public_php/webtt/cake/tests/cases/libs/inflector.test.php code/web/public_php/webtt/cake/tests/cases/libs/l10n.test.php code/web/public_php/webtt/cake/tests/cases/libs/log/file_log.test.php code/web/public_php/webtt/cake/tests/cases/libs/magic_db.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/behaviors/acl.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/behaviors/containable.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/behaviors/translate.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/behaviors/tree.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/cake_schema.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/connection_manager.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/datasources/dbo/dbo_mssql.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/datasources/dbo/dbo_mysql.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/datasources/dbo/dbo_mysqli.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/datasources/dbo/dbo_oracle.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/datasources/dbo/dbo_sqlite.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/datasources/dbo_source.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/db_acl.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/model.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/model_behavior.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/model_delete.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/model_integration.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/model_read.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/model_validation.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/model_write.test.php code/web/public_php/webtt/cake/tests/cases/libs/model/models.php code/web/public_php/webtt/cake/tests/cases/libs/multibyte.test.php code/web/public_php/webtt/cake/tests/cases/libs/object.test.php code/web/public_php/webtt/cake/tests/cases/libs/overloadable.test.php code/web/public_php/webtt/cake/tests/cases/libs/router.test.php code/web/public_php/webtt/cake/tests/cases/libs/sanitize.test.php code/web/public_php/webtt/cake/tests/cases/libs/security.test.php code/web/public_php/webtt/cake/tests/cases/libs/set.test.php code/web/public_php/webtt/cake/tests/cases/libs/string.test.php code/web/public_php/webtt/cake/tests/cases/libs/test_manager.test.php code/web/public_php/webtt/cake/tests/cases/libs/validation.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helper.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/ajax.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/cache.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/form.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/html.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/javascript.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/jquery_engine.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/js.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/mootools_engine.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/number.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/paginator.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/prototype_engine.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/rss.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/session.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/text.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/time.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/helpers/xml.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/media.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/theme.test.php code/web/public_php/webtt/cake/tests/cases/libs/view/view.test.php code/web/public_php/webtt/cake/tests/cases/libs/xml.test.php code/web/public_php/webtt/cake/tests/fixtures/account_fixture.php code/web/public_php/webtt/cake/tests/fixtures/aco_action_fixture.php code/web/public_php/webtt/cake/tests/fixtures/aco_fixture.php code/web/public_php/webtt/cake/tests/fixtures/aco_two_fixture.php code/web/public_php/webtt/cake/tests/fixtures/ad_fixture.php code/web/public_php/webtt/cake/tests/fixtures/advertisement_fixture.php code/web/public_php/webtt/cake/tests/fixtures/after_tree_fixture.php code/web/public_php/webtt/cake/tests/fixtures/another_article_fixture.php code/web/public_php/webtt/cake/tests/fixtures/apple_fixture.php code/web/public_php/webtt/cake/tests/fixtures/aro_fixture.php code/web/public_php/webtt/cake/tests/fixtures/aro_two_fixture.php code/web/public_php/webtt/cake/tests/fixtures/aros_aco_fixture.php code/web/public_php/webtt/cake/tests/fixtures/aros_aco_two_fixture.php code/web/public_php/webtt/cake/tests/fixtures/article_featured_fixture.php code/web/public_php/webtt/cake/tests/fixtures/article_featureds_tags_fixture.php code/web/public_php/webtt/cake/tests/fixtures/article_fixture.php code/web/public_php/webtt/cake/tests/fixtures/articles_tag_fixture.php code/web/public_php/webtt/cake/tests/fixtures/attachment_fixture.php code/web/public_php/webtt/cake/tests/fixtures/auth_user_custom_field_fixture.php code/web/public_php/webtt/cake/tests/fixtures/auth_user_fixture.php code/web/public_php/webtt/cake/tests/fixtures/author_fixture.php code/web/public_php/webtt/cake/tests/fixtures/basket_fixture.php code/web/public_php/webtt/cake/tests/fixtures/bid_fixture.php code/web/public_php/webtt/cake/tests/fixtures/binary_test_fixture.php code/web/public_php/webtt/cake/tests/fixtures/book_fixture.php code/web/public_php/webtt/cake/tests/fixtures/cache_test_model_fixture.php code/web/public_php/webtt/cake/tests/fixtures/callback_fixture.php code/web/public_php/webtt/cake/tests/fixtures/campaign_fixture.php code/web/public_php/webtt/cake/tests/fixtures/category_fixture.php code/web/public_php/webtt/cake/tests/fixtures/category_thread_fixture.php code/web/public_php/webtt/cake/tests/fixtures/cd_fixture.php code/web/public_php/webtt/cake/tests/fixtures/comment_fixture.php code/web/public_php/webtt/cake/tests/fixtures/content_account_fixture.php code/web/public_php/webtt/cake/tests/fixtures/content_fixture.php code/web/public_php/webtt/cake/tests/fixtures/counter_cache_post_fixture.php code/web/public_php/webtt/cake/tests/fixtures/counter_cache_post_nonstandard_primary_key_fixture.php code/web/public_php/webtt/cake/tests/fixtures/counter_cache_user_fixture.php code/web/public_php/webtt/cake/tests/fixtures/counter_cache_user_nonstandard_primary_key_fixture.php code/web/public_php/webtt/cake/tests/fixtures/data_test_fixture.php code/web/public_php/webtt/cake/tests/fixtures/datatype_fixture.php code/web/public_php/webtt/cake/tests/fixtures/dependency_fixture.php code/web/public_php/webtt/cake/tests/fixtures/device_fixture.php code/web/public_php/webtt/cake/tests/fixtures/device_type_category_fixture.php code/web/public_php/webtt/cake/tests/fixtures/device_type_fixture.php code/web/public_php/webtt/cake/tests/fixtures/document_directory_fixture.php code/web/public_php/webtt/cake/tests/fixtures/document_fixture.php code/web/public_php/webtt/cake/tests/fixtures/exterior_type_category_fixture.php code/web/public_php/webtt/cake/tests/fixtures/feature_set_fixture.php code/web/public_php/webtt/cake/tests/fixtures/featured_fixture.php code/web/public_php/webtt/cake/tests/fixtures/film_file_fixture.php code/web/public_php/webtt/cake/tests/fixtures/flag_tree_fixture.php code/web/public_php/webtt/cake/tests/fixtures/fruit_fixture.php code/web/public_php/webtt/cake/tests/fixtures/fruits_uuid_tag_fixture.php code/web/public_php/webtt/cake/tests/fixtures/group_update_all_fixture.php code/web/public_php/webtt/cake/tests/fixtures/home_fixture.php code/web/public_php/webtt/cake/tests/fixtures/image_fixture.php code/web/public_php/webtt/cake/tests/fixtures/item_fixture.php code/web/public_php/webtt/cake/tests/fixtures/items_portfolio_fixture.php code/web/public_php/webtt/cake/tests/fixtures/join_a_b_fixture.php code/web/public_php/webtt/cake/tests/fixtures/join_a_c_fixture.php code/web/public_php/webtt/cake/tests/fixtures/join_a_fixture.php code/web/public_php/webtt/cake/tests/fixtures/join_b_fixture.php code/web/public_php/webtt/cake/tests/fixtures/join_c_fixture.php code/web/public_php/webtt/cake/tests/fixtures/join_thing_fixture.php code/web/public_php/webtt/cake/tests/fixtures/message_fixture.php code/web/public_php/webtt/cake/tests/fixtures/my_categories_my_products_fixture.php code/web/public_php/webtt/cake/tests/fixtures/my_categories_my_users_fixture.php code/web/public_php/webtt/cake/tests/fixtures/my_category_fixture.php code/web/public_php/webtt/cake/tests/fixtures/my_product_fixture.php code/web/public_php/webtt/cake/tests/fixtures/my_user_fixture.php code/web/public_php/webtt/cake/tests/fixtures/node_fixture.php code/web/public_php/webtt/cake/tests/fixtures/number_tree_fixture.php code/web/public_php/webtt/cake/tests/fixtures/number_tree_two_fixture.php code/web/public_php/webtt/cake/tests/fixtures/numeric_article_fixture.php code/web/public_php/webtt/cake/tests/fixtures/overall_favorite_fixture.php code/web/public_php/webtt/cake/tests/fixtures/person_fixture.php code/web/public_php/webtt/cake/tests/fixtures/portfolio_fixture.php code/web/public_php/webtt/cake/tests/fixtures/post_fixture.php code/web/public_php/webtt/cake/tests/fixtures/posts_tag_fixture.php code/web/public_php/webtt/cake/tests/fixtures/primary_model_fixture.php code/web/public_php/webtt/cake/tests/fixtures/product_fixture.php code/web/public_php/webtt/cake/tests/fixtures/product_update_all_fixture.php code/web/public_php/webtt/cake/tests/fixtures/project_fixture.php code/web/public_php/webtt/cake/tests/fixtures/sample_fixture.php code/web/public_php/webtt/cake/tests/fixtures/secondary_model_fixture.php code/web/public_php/webtt/cake/tests/fixtures/session_fixture.php code/web/public_php/webtt/cake/tests/fixtures/something_else_fixture.php code/web/public_php/webtt/cake/tests/fixtures/something_fixture.php code/web/public_php/webtt/cake/tests/fixtures/stories_tag_fixture.php code/web/public_php/webtt/cake/tests/fixtures/story_fixture.php code/web/public_php/webtt/cake/tests/fixtures/syfile_fixture.php code/web/public_php/webtt/cake/tests/fixtures/tag_fixture.php code/web/public_php/webtt/cake/tests/fixtures/test_plugin_article_fixture.php code/web/public_php/webtt/cake/tests/fixtures/test_plugin_comment_fixture.php code/web/public_php/webtt/cake/tests/fixtures/the_paper_monkies_fixture.php code/web/public_php/webtt/cake/tests/fixtures/thread_fixture.php code/web/public_php/webtt/cake/tests/fixtures/translate_article_fixture.php code/web/public_php/webtt/cake/tests/fixtures/translate_fixture.php code/web/public_php/webtt/cake/tests/fixtures/translate_table_fixture.php code/web/public_php/webtt/cake/tests/fixtures/translate_with_prefix_fixture.php code/web/public_php/webtt/cake/tests/fixtures/translated_article_fixture.php code/web/public_php/webtt/cake/tests/fixtures/translated_item_fixture.php code/web/public_php/webtt/cake/tests/fixtures/unconventional_tree_fixture.php code/web/public_php/webtt/cake/tests/fixtures/underscore_field_fixture.php code/web/public_php/webtt/cake/tests/fixtures/user_fixture.php code/web/public_php/webtt/cake/tests/fixtures/uuid_fixture.php code/web/public_php/webtt/cake/tests/fixtures/uuid_tag_fixture.php code/web/public_php/webtt/cake/tests/fixtures/uuid_tree_fixture.php code/web/public_php/webtt/cake/tests/fixtures/uuiditem_fixture.php code/web/public_php/webtt/cake/tests/fixtures/uuiditems_uuidportfolio_fixture.php code/web/public_php/webtt/cake/tests/fixtures/uuiditems_uuidportfolio_numericid_fixture.php code/web/public_php/webtt/cake/tests/fixtures/uuidportfolio_fixture.php code/web/public_php/webtt/cake/tests/groups/acl.group.php code/web/public_php/webtt/cake/tests/groups/bake.group.php code/web/public_php/webtt/cake/tests/groups/behaviors.group.php code/web/public_php/webtt/cake/tests/groups/cache.group.php code/web/public_php/webtt/cake/tests/groups/components.group.php code/web/public_php/webtt/cake/tests/groups/configure.group.php code/web/public_php/webtt/cake/tests/groups/console.group.php code/web/public_php/webtt/cake/tests/groups/controller.group.php code/web/public_php/webtt/cake/tests/groups/database.group.php code/web/public_php/webtt/cake/tests/groups/helpers.group.php code/web/public_php/webtt/cake/tests/groups/i18n.group.php code/web/public_php/webtt/cake/tests/groups/javascript.group.php code/web/public_php/webtt/cake/tests/groups/lib.group.php code/web/public_php/webtt/cake/tests/groups/model.group.php code/web/public_php/webtt/cake/tests/groups/no_cross_contamination.group.php code/web/public_php/webtt/cake/tests/groups/routing_system.group.php code/web/public_php/webtt/cake/tests/groups/socket.group.php code/web/public_php/webtt/cake/tests/groups/test_suite.group.php code/web/public_php/webtt/cake/tests/groups/view.group.php code/web/public_php/webtt/cake/tests/groups/xml.group.php code/web/public_php/webtt/cake/tests/lib/cake_test_case.php code/web/public_php/webtt/cake/tests/lib/cake_test_fixture.php code/web/public_php/webtt/cake/tests/lib/cake_test_model.php code/web/public_php/webtt/cake/tests/lib/cake_test_suite_dispatcher.php code/web/public_php/webtt/cake/tests/lib/cake_web_test_case.php code/web/public_php/webtt/cake/tests/lib/code_coverage_manager.php code/web/public_php/webtt/cake/tests/lib/reporter/cake_base_reporter.php code/web/public_php/webtt/cake/tests/lib/reporter/cake_cli_reporter.php code/web/public_php/webtt/cake/tests/lib/reporter/cake_html_reporter.php code/web/public_php/webtt/cake/tests/lib/reporter/cake_text_reporter.php code/web/public_php/webtt/cake/tests/lib/templates/footer.php code/web/public_php/webtt/cake/tests/lib/templates/header.php code/web/public_php/webtt/cake/tests/lib/templates/menu.php code/web/public_php/webtt/cake/tests/lib/templates/simpletest.php code/web/public_php/webtt/cake/tests/lib/templates/xdebug.php code/web/public_php/webtt/cake/tests/lib/test_manager.php code/web/public_php/webtt/cake/tests/test_app/config/acl.ini.php code/web/public_php/webtt/cake/tests/test_app/controllers/components/empty code/web/public_php/webtt/cake/tests/test_app/controllers/tests_apps_controller.php code/web/public_php/webtt/cake/tests/test_app/controllers/tests_apps_posts_controller.php code/web/public_php/webtt/cake/tests/test_app/libs/cache/test_app_cache.php code/web/public_php/webtt/cake/tests/test_app/libs/library.php code/web/public_php/webtt/cake/tests/test_app/libs/log/test_app_log.php code/web/public_php/webtt/cake/tests/test_app/locale/cache_test_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/cache_test_po/LC_MESSAGES/dom1.po code/web/public_php/webtt/cake/tests/test_app/locale/cache_test_po/LC_MESSAGES/dom2.po code/web/public_php/webtt/cake/tests/test_app/locale/ja_jp/LC_TIME code/web/public_php/webtt/cake/tests/test_app/locale/po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/po/LC_MONETARY/default.po code/web/public_php/webtt/cake/tests/test_app/locale/po/LC_TIME code/web/public_php/webtt/cake/tests/test_app/locale/rule_0_mo/LC_MESSAGES/core.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_0_mo/LC_MESSAGES/default.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_0_po/LC_MESSAGES/core.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_0_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_10_mo/LC_MESSAGES/core.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_10_mo/LC_MESSAGES/default.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_10_po/LC_MESSAGES/core.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_10_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_11_mo/LC_MESSAGES/core.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_11_mo/LC_MESSAGES/default.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_11_po/LC_MESSAGES/core.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_11_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_12_mo/LC_MESSAGES/core.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_12_mo/LC_MESSAGES/default.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_12_po/LC_MESSAGES/core.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_12_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_13_mo/LC_MESSAGES/core.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_13_mo/LC_MESSAGES/default.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_13_po/LC_MESSAGES/core.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_13_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_14_mo/LC_MESSAGES/core.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_14_mo/LC_MESSAGES/default.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_14_po/LC_MESSAGES/core.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_14_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_1_mo/LC_MESSAGES/core.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_1_mo/LC_MESSAGES/default.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_1_po/LC_MESSAGES/core.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_1_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_2_mo/LC_MESSAGES/core.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_2_mo/LC_MESSAGES/default.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_2_po/LC_MESSAGES/core.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_2_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_3_mo/LC_MESSAGES/core.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_3_mo/LC_MESSAGES/default.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_3_po/LC_MESSAGES/core.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_3_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_4_mo/LC_MESSAGES/core.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_4_mo/LC_MESSAGES/default.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_4_po/LC_MESSAGES/core.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_4_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_5_mo/LC_MESSAGES/core.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_5_mo/LC_MESSAGES/default.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_5_po/LC_MESSAGES/core.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_5_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_6_mo/LC_MESSAGES/core.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_6_mo/LC_MESSAGES/default.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_6_po/LC_MESSAGES/core.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_6_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_7_mo/LC_MESSAGES/core.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_7_mo/LC_MESSAGES/default.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_7_po/LC_MESSAGES/core.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_7_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_8_mo/LC_MESSAGES/core.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_8_mo/LC_MESSAGES/default.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_8_po/LC_MESSAGES/core.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_8_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_9_mo/LC_MESSAGES/core.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_9_mo/LC_MESSAGES/default.mo code/web/public_php/webtt/cake/tests/test_app/locale/rule_9_po/LC_MESSAGES/core.po code/web/public_php/webtt/cake/tests/test_app/locale/rule_9_po/LC_MESSAGES/default.po code/web/public_php/webtt/cake/tests/test_app/locale/time_test/LC_TIME code/web/public_php/webtt/cake/tests/test_app/models/behaviors/empty code/web/public_php/webtt/cake/tests/test_app/models/behaviors/persister_one_behavior.php code/web/public_php/webtt/cake/tests/test_app/models/behaviors/persister_two_behavior.php code/web/public_php/webtt/cake/tests/test_app/models/comment.php code/web/public_php/webtt/cake/tests/test_app/models/datasources/test2_other_source.php code/web/public_php/webtt/cake/tests/test_app/models/datasources/test2_source.php code/web/public_php/webtt/cake/tests/test_app/models/persister_one.php code/web/public_php/webtt/cake/tests/test_app/models/persister_two.php code/web/public_php/webtt/cake/tests/test_app/models/post.php code/web/public_php/webtt/cake/tests/test_app/plugins/plugin_js/webroot/js/one/plugin_one.js code/web/public_php/webtt/cake/tests/test_app/plugins/plugin_js/webroot/js/plugin_js.js code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/config/load.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/config/more.load.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/config/schema/schema.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/controllers/components/other_component.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/controllers/components/plugins_component.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_component.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/controllers/components/test_plugin_other_component.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/controllers/test_plugin_controller.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/controllers/tests_controller.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/libs/cache/test_plugin_cache.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/libs/log/test_plugin_log.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/libs/test_plugin_library.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/locale/po/LC_MESSAGES/test_plugin.po code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/locale/po/LC_MONETARY/test_plugin.po code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/models/behaviors/test_plugin_persister_one.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/models/behaviors/test_plugin_persister_two.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/models/datasources/dbo/dbo_dummy.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/models/datasources/test_other_source.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/models/datasources/test_source.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/models/test_plugin_auth_user.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/models/test_plugin_authors.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/models/test_plugin_comment.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/models/test_plugin_post.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/test_plugin_app_controller.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/test_plugin_app_model.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/vendors/sample/sample_plugin.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/vendors/shells/example.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/vendors/shells/tasks/empty code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/vendors/shells/templates/empty code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/vendors/welcome.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/views/elements/plugin_element.ctp code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/views/elements/test_plugin_element.ctp code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/views/helpers/other_helper.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/views/helpers/plugged_helper.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/views/helpers/test_plugin_app.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/views/layouts/default.ctp code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/views/tests/index.ctp code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/views/tests/scaffold.edit.ctp code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/webroot/css/test_plugin_asset.css code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/webroot/css/theme_one.htc code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/webroot/css/unknown.extension code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/webroot/flash/plugin_test.swf code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/webroot/img/cake.icon.gif code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/webroot/js/test_plugin/test.js code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/webroot/pdfs/plugin_test.pdf code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin/webroot/root.js code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/example.php code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/tasks/empty code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/templates/empty code/web/public_php/webtt/cake/tests/test_app/plugins/test_plugin_two/vendors/shells/welcome.php code/web/public_php/webtt/cake/tests/test_app/tmp/dir_map code/web/public_php/webtt/cake/tests/test_app/vendors/Test/MyTest.php code/web/public_php/webtt/cake/tests/test_app/vendors/Test/hello.php code/web/public_php/webtt/cake/tests/test_app/vendors/css/test_asset.css code/web/public_php/webtt/cake/tests/test_app/vendors/img/test.jpg code/web/public_php/webtt/cake/tests/test_app/vendors/sample/configure_test_vendor_sample.php code/web/public_php/webtt/cake/tests/test_app/vendors/shells/sample.php code/web/public_php/webtt/cake/tests/test_app/vendors/shells/tasks/empty code/web/public_php/webtt/cake/tests/test_app/vendors/somename/some.name.php code/web/public_php/webtt/cake/tests/test_app/vendors/welcome.php code/web/public_php/webtt/cake/tests/test_app/views/elements/email/html/custom.ctp code/web/public_php/webtt/cake/tests/test_app/views/elements/email/html/default.ctp code/web/public_php/webtt/cake/tests/test_app/views/elements/email/html/nested_element.ctp code/web/public_php/webtt/cake/tests/test_app/views/elements/email/text/custom.ctp code/web/public_php/webtt/cake/tests/test_app/views/elements/email/text/default.ctp code/web/public_php/webtt/cake/tests/test_app/views/elements/email/text/wide.ctp code/web/public_php/webtt/cake/tests/test_app/views/elements/empty code/web/public_php/webtt/cake/tests/test_app/views/elements/html_call.ctp code/web/public_php/webtt/cake/tests/test_app/views/elements/nocache/contains_nocache.ctp code/web/public_php/webtt/cake/tests/test_app/views/elements/nocache/plain.ctp code/web/public_php/webtt/cake/tests/test_app/views/elements/nocache/sub1.ctp code/web/public_php/webtt/cake/tests/test_app/views/elements/nocache/sub2.ctp code/web/public_php/webtt/cake/tests/test_app/views/elements/session_helper.ctp code/web/public_php/webtt/cake/tests/test_app/views/elements/test_element.ctp code/web/public_php/webtt/cake/tests/test_app/views/elements/type_check.ctp code/web/public_php/webtt/cake/tests/test_app/views/errors/empty code/web/public_php/webtt/cake/tests/test_app/views/helpers/banana.php code/web/public_php/webtt/cake/tests/test_app/views/helpers/empty code/web/public_php/webtt/cake/tests/test_app/views/layouts/ajax.ctp code/web/public_php/webtt/cake/tests/test_app/views/layouts/ajax2.ctp code/web/public_php/webtt/cake/tests/test_app/views/layouts/cache_empty_sections.ctp code/web/public_php/webtt/cake/tests/test_app/views/layouts/cache_layout.ctp code/web/public_php/webtt/cake/tests/test_app/views/layouts/default.ctp code/web/public_php/webtt/cake/tests/test_app/views/layouts/email/html/default.ctp code/web/public_php/webtt/cake/tests/test_app/views/layouts/email/html/thin.ctp code/web/public_php/webtt/cake/tests/test_app/views/layouts/email/text/default.ctp code/web/public_php/webtt/cake/tests/test_app/views/layouts/flash.ctp code/web/public_php/webtt/cake/tests/test_app/views/layouts/js/default.ctp code/web/public_php/webtt/cake/tests/test_app/views/layouts/multi_cache.ctp code/web/public_php/webtt/cake/tests/test_app/views/layouts/rss/default.ctp code/web/public_php/webtt/cake/tests/test_app/views/layouts/xml/default.ctp code/web/public_php/webtt/cake/tests/test_app/views/pages/empty code/web/public_php/webtt/cake/tests/test_app/views/pages/extract.ctp code/web/public_php/webtt/cake/tests/test_app/views/pages/home.ctp code/web/public_php/webtt/cake/tests/test_app/views/posts/cache_empty_sections.ctp code/web/public_php/webtt/cake/tests/test_app/views/posts/cache_form.ctp code/web/public_php/webtt/cake/tests/test_app/views/posts/helper_overwrite.ctp code/web/public_php/webtt/cake/tests/test_app/views/posts/index.ctp code/web/public_php/webtt/cake/tests/test_app/views/posts/multiple_nocache.ctp code/web/public_php/webtt/cake/tests/test_app/views/posts/nocache_multiple_element.ctp code/web/public_php/webtt/cake/tests/test_app/views/posts/scaffold.edit.ctp code/web/public_php/webtt/cake/tests/test_app/views/posts/sequencial_nocache.ctp code/web/public_php/webtt/cake/tests/test_app/views/posts/test_nocache_tags.ctp code/web/public_php/webtt/cake/tests/test_app/views/scaffolds/empty code/web/public_php/webtt/cake/tests/test_app/views/tests_apps/index.ctp code/web/public_php/webtt/cake/tests/test_app/views/themed/test_theme/elements/test_element.ctp code/web/public_php/webtt/cake/tests/test_app/views/themed/test_theme/layouts/default.ctp code/web/public_php/webtt/cake/tests/test_app/views/themed/test_theme/plugins/test_plugin/layouts/plugin_default.ctp code/web/public_php/webtt/cake/tests/test_app/views/themed/test_theme/plugins/test_plugin/tests/index.ctp code/web/public_php/webtt/cake/tests/test_app/views/themed/test_theme/posts/index.ctp code/web/public_php/webtt/cake/tests/test_app/views/themed/test_theme/posts/scaffold.index.ctp code/web/public_php/webtt/cake/tests/test_app/views/themed/test_theme/webroot/css/test_asset.css code/web/public_php/webtt/cake/tests/test_app/views/themed/test_theme/webroot/css/theme_webroot.css code/web/public_php/webtt/cake/tests/test_app/views/themed/test_theme/webroot/flash/theme_test.swf code/web/public_php/webtt/cake/tests/test_app/views/themed/test_theme/webroot/img/cake.power.gif code/web/public_php/webtt/cake/tests/test_app/views/themed/test_theme/webroot/img/test.jpg code/web/public_php/webtt/cake/tests/test_app/views/themed/test_theme/webroot/js/one/theme_one.js code/web/public_php/webtt/cake/tests/test_app/views/themed/test_theme/webroot/js/theme.js code/web/public_php/webtt/cake/tests/test_app/views/themed/test_theme/webroot/pdfs/theme_test.pdf code/web/public_php/webtt/cake/tests/test_app/webroot/theme/test_theme/css/theme_webroot.css code/web/public_php/webtt/cake/tests/test_app/webroot/theme/test_theme/css/webroot_test.css code/web/public_php/webtt/cake/tests/test_app/webroot/theme/test_theme/img/cake.power.gif code/web/public_php/webtt/cake/tests/test_app/webroot/theme/test_theme/img/test.jpg code/web/public_php/webtt/docs/INSTALL code/web/public_php/webtt/docs/db/CakePHP_Associations code/web/public_php/webtt/docs/db/erd.png code/web/public_php/webtt/docs/db/webtt2.db code/web/public_php/webtt/index.php code/web/public_php/webtt/plugins/debug_kit/.gitignore code/web/public_php/webtt/plugins/debug_kit/README.mdown code/web/public_php/webtt/plugins/debug_kit/build.py code/web/public_php/webtt/plugins/debug_kit/controllers/components/toolbar.php code/web/public_php/webtt/plugins/debug_kit/controllers/toolbar_access_controller.php code/web/public_php/webtt/plugins/debug_kit/debug_kit_app_controller.php code/web/public_php/webtt/plugins/debug_kit/debug_kit_app_model.php code/web/public_php/webtt/plugins/debug_kit/locale/debug_kit.pot code/web/public_php/webtt/plugins/debug_kit/locale/eng/LC_MESSAGES/debug_kit.po code/web/public_php/webtt/plugins/debug_kit/locale/spa/LC_MESSAGES/debug_kit.po code/web/public_php/webtt/plugins/debug_kit/models/behaviors/timed.php code/web/public_php/webtt/plugins/debug_kit/models/toolbar_access.php code/web/public_php/webtt/plugins/debug_kit/tests/cases/behaviors/timed.test.php code/web/public_php/webtt/plugins/debug_kit/tests/cases/controllers/components/toolbar.test.php code/web/public_php/webtt/plugins/debug_kit/tests/cases/models/toolbar_access.test.php code/web/public_php/webtt/plugins/debug_kit/tests/cases/test_objects.php code/web/public_php/webtt/plugins/debug_kit/tests/cases/vendors/debug_kit_debugger.test.php code/web/public_php/webtt/plugins/debug_kit/tests/cases/vendors/fire_cake.test.php code/web/public_php/webtt/plugins/debug_kit/tests/cases/views/debug.test.php code/web/public_php/webtt/plugins/debug_kit/tests/cases/views/helpers/fire_php_toolbar.test.php code/web/public_php/webtt/plugins/debug_kit/tests/cases/views/helpers/html_toolbar.test.php code/web/public_php/webtt/plugins/debug_kit/tests/cases/views/helpers/toolbar.test.php code/web/public_php/webtt/plugins/debug_kit/tests/groups/view_group.group.php code/web/public_php/webtt/plugins/debug_kit/tests/test_app/controllers/debug_kit_test_controller.php code/web/public_php/webtt/plugins/debug_kit/tests/test_app/vendors/test_panel.php code/web/public_php/webtt/plugins/debug_kit/tests/test_app/views/debug_kit_test/request_action_render.ctp code/web/public_php/webtt/plugins/debug_kit/vendors/debug_kit_debugger.php code/web/public_php/webtt/plugins/debug_kit/vendors/fire_cake.php code/web/public_php/webtt/plugins/debug_kit/vendors/shells/benchmark.php code/web/public_php/webtt/plugins/debug_kit/vendors/shells/whitespace.php code/web/public_php/webtt/plugins/debug_kit/views/debug.php code/web/public_php/webtt/plugins/debug_kit/views/elements/debug_toolbar.ctp code/web/public_php/webtt/plugins/debug_kit/views/elements/history_panel.ctp code/web/public_php/webtt/plugins/debug_kit/views/elements/log_panel.ctp code/web/public_php/webtt/plugins/debug_kit/views/elements/request_panel.ctp code/web/public_php/webtt/plugins/debug_kit/views/elements/session_panel.ctp code/web/public_php/webtt/plugins/debug_kit/views/elements/sql_log_panel.ctp code/web/public_php/webtt/plugins/debug_kit/views/elements/timer_panel.ctp code/web/public_php/webtt/plugins/debug_kit/views/elements/variables_panel.ctp code/web/public_php/webtt/plugins/debug_kit/views/helpers/fire_php_toolbar.php code/web/public_php/webtt/plugins/debug_kit/views/helpers/html_toolbar.php code/web/public_php/webtt/plugins/debug_kit/views/helpers/simple_graph.php code/web/public_php/webtt/plugins/debug_kit/views/helpers/toolbar.php code/web/public_php/webtt/plugins/debug_kit/views/toolbar_access/history_state.ctp code/web/public_php/webtt/plugins/debug_kit/views/toolbar_access/sql_explain.ctp code/web/public_php/webtt/plugins/debug_kit/webroot/css/debug_toolbar.css code/web/public_php/webtt/plugins/debug_kit/webroot/img/cake.icon.png code/web/public_php/webtt/plugins/debug_kit/webroot/js/js_debug_toolbar.js code/web/public_php/webtt/plugins/empty code/web/public_php/webtt/vendors/shells/tasks/empty code/web/public_php/webtt/vendors/shells/templates/empty code/web/public_php/webtt/vendors/simpletest/HELP_MY_TESTS_DONT_WORK_ANYMORE code/web/public_php/webtt/vendors/simpletest/LICENSE code/web/public_php/webtt/vendors/simpletest/README code/web/public_php/webtt/vendors/simpletest/VERSION code/web/public_php/webtt/vendors/simpletest/authentication.php code/web/public_php/webtt/vendors/simpletest/autorun.php code/web/public_php/webtt/vendors/simpletest/browser.php code/web/public_php/webtt/vendors/simpletest/collector.php code/web/public_php/webtt/vendors/simpletest/compatibility.php code/web/public_php/webtt/vendors/simpletest/cookies.php code/web/public_php/webtt/vendors/simpletest/default_reporter.php code/web/public_php/webtt/vendors/simpletest/detached.php code/web/public_php/webtt/vendors/simpletest/docs/en/authentication_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/en/browser_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/en/docs.css code/web/public_php/webtt/vendors/simpletest/docs/en/expectation_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/en/form_testing_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/en/group_test_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/en/index.html code/web/public_php/webtt/vendors/simpletest/docs/en/mock_objects_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/en/overview.html code/web/public_php/webtt/vendors/simpletest/docs/en/partial_mocks_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/en/reporter_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/en/unit_test_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/en/web_tester_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/fr/authentication_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/fr/browser_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/fr/docs.css code/web/public_php/webtt/vendors/simpletest/docs/fr/expectation_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/fr/form_testing_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/fr/group_test_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/fr/index.html code/web/public_php/webtt/vendors/simpletest/docs/fr/mock_objects_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/fr/overview.html code/web/public_php/webtt/vendors/simpletest/docs/fr/partial_mocks_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/fr/reporter_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/fr/unit_test_documentation.html code/web/public_php/webtt/vendors/simpletest/docs/fr/web_tester_documentation.html code/web/public_php/webtt/vendors/simpletest/dumper.php code/web/public_php/webtt/vendors/simpletest/eclipse.php code/web/public_php/webtt/vendors/simpletest/encoding.php code/web/public_php/webtt/vendors/simpletest/errors.php code/web/public_php/webtt/vendors/simpletest/exceptions.php code/web/public_php/webtt/vendors/simpletest/expectation.php code/web/public_php/webtt/vendors/simpletest/extensions/pear_test_case.php code/web/public_php/webtt/vendors/simpletest/extensions/testdox.php code/web/public_php/webtt/vendors/simpletest/extensions/testdox/test.php code/web/public_php/webtt/vendors/simpletest/form.php code/web/public_php/webtt/vendors/simpletest/frames.php code/web/public_php/webtt/vendors/simpletest/http.php code/web/public_php/webtt/vendors/simpletest/invoker.php code/web/public_php/webtt/vendors/simpletest/mock_objects.php code/web/public_php/webtt/vendors/simpletest/page.php code/web/public_php/webtt/vendors/simpletest/php_parser.php code/web/public_php/webtt/vendors/simpletest/reflection_php4.php code/web/public_php/webtt/vendors/simpletest/reflection_php5.php code/web/public_php/webtt/vendors/simpletest/remote.php code/web/public_php/webtt/vendors/simpletest/reporter.php code/web/public_php/webtt/vendors/simpletest/scorer.php code/web/public_php/webtt/vendors/simpletest/selector.php code/web/public_php/webtt/vendors/simpletest/shell_tester.php code/web/public_php/webtt/vendors/simpletest/simpletest.php code/web/public_php/webtt/vendors/simpletest/socket.php code/web/public_php/webtt/vendors/simpletest/tag.php code/web/public_php/webtt/vendors/simpletest/test_case.php code/web/public_php/webtt/vendors/simpletest/tidy_parser.php code/web/public_php/webtt/vendors/simpletest/unit_tester.php code/web/public_php/webtt/vendors/simpletest/url.php code/web/public_php/webtt/vendors/simpletest/user_agent.php code/web/public_php/webtt/vendors/simpletest/web_tester.php code/web/public_php/webtt/vendors/simpletest/xml.php
This commit is contained in:
commit
71d62b544b
2537 changed files with 209172 additions and 170043 deletions
8
.gitignore
vendored
8
.gitignore
vendored
|
@ -162,13 +162,6 @@ build/*
|
||||||
install/*
|
install/*
|
||||||
build_vc*
|
build_vc*
|
||||||
code/nel/tools/build_gamedata/configuration/buildsite.py
|
code/nel/tools/build_gamedata/configuration/buildsite.py
|
||||||
code/build_mac
|
|
||||||
code/build_linux32
|
|
||||||
code/build_linux64
|
|
||||||
code/build_windows32
|
|
||||||
code/build_windows64
|
|
||||||
code/build_server
|
|
||||||
code/build_nel_tools
|
|
||||||
|
|
||||||
# Linux nel compile
|
# Linux nel compile
|
||||||
code/nel/build/nel-config
|
code/nel/build/nel-config
|
||||||
|
@ -245,7 +238,6 @@ code/ryzom/tools/server/ryzom_ams/old
|
||||||
|
|
||||||
#tools and external dir's
|
#tools and external dir's
|
||||||
external
|
external
|
||||||
external_vc14
|
|
||||||
external_stlport
|
external_stlport
|
||||||
nel_tools*
|
nel_tools*
|
||||||
ryzom_tools*
|
ryzom_tools*
|
||||||
|
|
28
.hgeol
Normal file
28
.hgeol
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
[patterns]
|
||||||
|
**.h = native
|
||||||
|
**.cpp = native
|
||||||
|
|
||||||
|
**/database.xml = BIN
|
||||||
|
**/msg.xml = BIN
|
||||||
|
|
||||||
|
**.txt = native
|
||||||
|
**.xml = native
|
||||||
|
|
||||||
|
**.layout = native
|
||||||
|
**.looknfeel = native
|
||||||
|
**.imageset = native
|
||||||
|
**.font = native
|
||||||
|
**.scheme = native
|
||||||
|
|
||||||
|
**.tpl = native
|
||||||
|
|
||||||
|
**.xsd = native
|
||||||
|
**.dox = native
|
||||||
|
|
||||||
|
**.py = native
|
||||||
|
**.lua = native
|
||||||
|
|
||||||
|
**.pkg = native
|
||||||
|
|
||||||
|
[repository]
|
||||||
|
native = LF
|
265
.hgignore
Normal file
265
.hgignore
Normal file
|
@ -0,0 +1,265 @@
|
||||||
|
syntax: glob
|
||||||
|
|
||||||
|
# Various build directories
|
||||||
|
bin
|
||||||
|
obj
|
||||||
|
Debug
|
||||||
|
Release
|
||||||
|
ReleaseDebug
|
||||||
|
DebugFast
|
||||||
|
ReleaseDebugStatic
|
||||||
|
DebugFastStatic
|
||||||
|
|
||||||
|
# Test and application directories
|
||||||
|
screenshots
|
||||||
|
release
|
||||||
|
test
|
||||||
|
Temp
|
||||||
|
|
||||||
|
# NeL cache
|
||||||
|
*.packed_sheets
|
||||||
|
|
||||||
|
# Ryzom save
|
||||||
|
save_shard
|
||||||
|
last_loaded_char.bin
|
||||||
|
*.binprim
|
||||||
|
*.string_cache
|
||||||
|
graphs_output
|
||||||
|
default_c
|
||||||
|
|
||||||
|
# Windows compile
|
||||||
|
*.exe
|
||||||
|
*.dll
|
||||||
|
*.lib
|
||||||
|
*.obj
|
||||||
|
|
||||||
|
# Linux compile
|
||||||
|
*.a
|
||||||
|
*.la
|
||||||
|
*.lo
|
||||||
|
*.Po
|
||||||
|
*.Plo
|
||||||
|
*.o
|
||||||
|
*.so
|
||||||
|
*.so.*
|
||||||
|
*_debug
|
||||||
|
*.pc
|
||||||
|
*.gch
|
||||||
|
|
||||||
|
# Mac OS X compile
|
||||||
|
*.dylib
|
||||||
|
|
||||||
|
# Log dump files
|
||||||
|
report_refused
|
||||||
|
report_failed
|
||||||
|
exception_catched
|
||||||
|
*.stat
|
||||||
|
*.log
|
||||||
|
log.txt
|
||||||
|
|
||||||
|
# Max plugin extensions
|
||||||
|
*.dlx
|
||||||
|
*.dlm
|
||||||
|
*.dlu
|
||||||
|
|
||||||
|
# makeall build
|
||||||
|
.mode_static
|
||||||
|
|
||||||
|
# cmake build files & directories
|
||||||
|
CMakeFiles
|
||||||
|
CMakeCache.txt
|
||||||
|
cmake_install.cmake
|
||||||
|
CTestTestfile.cmake
|
||||||
|
CPackConfig.cmake
|
||||||
|
CPackSourceConfig.cmake
|
||||||
|
.libs
|
||||||
|
|
||||||
|
# Linux garbage
|
||||||
|
Makefile*
|
||||||
|
aclocal.m4
|
||||||
|
config.guess
|
||||||
|
config.sub
|
||||||
|
configure
|
||||||
|
depcomp
|
||||||
|
config.h.in
|
||||||
|
nelconfig.h.in
|
||||||
|
install-sh
|
||||||
|
ltmain.sh
|
||||||
|
missing
|
||||||
|
ylwrap
|
||||||
|
*.mk
|
||||||
|
|
||||||
|
# Visual Studio garbage
|
||||||
|
*.opensdf
|
||||||
|
UpgradeLog*.XML
|
||||||
|
_UpgradeReport_Files
|
||||||
|
BuildLog.htm
|
||||||
|
mt.dep
|
||||||
|
ipch
|
||||||
|
*.suo
|
||||||
|
*.ncb
|
||||||
|
*.user
|
||||||
|
*.ilk
|
||||||
|
*.pdb
|
||||||
|
*.aps
|
||||||
|
*.exp
|
||||||
|
*.idb
|
||||||
|
*.sdf
|
||||||
|
|
||||||
|
# Mac OS X garbage
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
# Ryzom server garbage
|
||||||
|
aes_alias_name.cfg
|
||||||
|
aes_nagios_report.txt
|
||||||
|
aes_state.txt
|
||||||
|
*.launch_ctrl
|
||||||
|
*.state
|
||||||
|
*.start_count
|
||||||
|
|
||||||
|
# Vim and kwrite cache
|
||||||
|
*~
|
||||||
|
|
||||||
|
# Kdevelop4 garbage
|
||||||
|
*.kdev4
|
||||||
|
.kdev4
|
||||||
|
|
||||||
|
# intellij project folder
|
||||||
|
.idea/
|
||||||
|
|
||||||
|
# Python cache
|
||||||
|
*.pyd
|
||||||
|
*.pyc
|
||||||
|
|
||||||
|
# Qt compiler
|
||||||
|
moc_*.cpp
|
||||||
|
*.moc
|
||||||
|
|
||||||
|
# Misc garbage
|
||||||
|
*.rej
|
||||||
|
*.orig
|
||||||
|
*.cachefile
|
||||||
|
*.cache
|
||||||
|
*.patch
|
||||||
|
*.7z
|
||||||
|
3rdParty
|
||||||
|
.svn
|
||||||
|
thumbs.db
|
||||||
|
Thumbs.db
|
||||||
|
*.tpl.php
|
||||||
|
.SyncID
|
||||||
|
.SyncIgnore
|
||||||
|
.SyncArchive
|
||||||
|
|
||||||
|
# build
|
||||||
|
code/nel/build/*
|
||||||
|
code/nelns/build/*
|
||||||
|
code/snowballs/build/*
|
||||||
|
code/ryzom/build/*
|
||||||
|
code/build/*
|
||||||
|
code/build-2010/*
|
||||||
|
build/*
|
||||||
|
install/*
|
||||||
|
build_vc*
|
||||||
|
code/nel/tools/build_gamedata/configuration/buildsite.py
|
||||||
|
|
||||||
|
# Linux nel compile
|
||||||
|
code/nel/build/nel-config
|
||||||
|
code/nel/config.status
|
||||||
|
code/nel/include/nelconfig.h
|
||||||
|
code/nel/include/stamp-h1
|
||||||
|
code/nel/libtool
|
||||||
|
code/nel/nel-config
|
||||||
|
code/nel/samples/3d/cluster_viewer/cluster_viewer
|
||||||
|
code/nel/samples/3d/font/font
|
||||||
|
code/nel/samples/georges/georges
|
||||||
|
code/nel/samples/misc/command/command
|
||||||
|
code/nel/samples/misc/configfile/configfile
|
||||||
|
code/nel/samples/misc/debug/debug
|
||||||
|
code/nel/samples/misc/i18n/i18n
|
||||||
|
code/nel/samples/misc/log/log
|
||||||
|
code/nel/samples/misc/strings/strings
|
||||||
|
code/nel/samples/net/chat/chatclient
|
||||||
|
code/nel/samples/net/chat/chatserver
|
||||||
|
code/nel/samples/net/login_system/nls_frontend_service
|
||||||
|
code/nel/samples/net/login_system/nls_login_client
|
||||||
|
code/nel/samples/net/udp/udp_bench_client
|
||||||
|
code/nel/samples/net/udp/udp_bench_service
|
||||||
|
code/nel/samples/pacs/pacs_sample
|
||||||
|
code/nel/tools/3d/build_coarse_mesh/build_coarse_mesh
|
||||||
|
code/nel/tools/3d/build_far_bank/build_far_bank
|
||||||
|
code/nel/tools/3d/build_smallbank/build_smallbank
|
||||||
|
code/nel/tools/3d/ig_lighter/ig_lighter
|
||||||
|
code/nel/tools/3d/zone_dependencies/zone_dependencies
|
||||||
|
code/nel/tools/3d/zone_ig_lighter/zone_ig_lighter
|
||||||
|
code/nel/tools/3d/zone_lighter/zone_lighter
|
||||||
|
code/nel/tools/3d/zone_welder/zone_welder
|
||||||
|
code/nel/tools/misc/bnp_make/bnp_make
|
||||||
|
code/nel/tools/misc/disp_sheet_id/disp_sheet_id
|
||||||
|
code/nel/tools/misc/make_sheet_id/make_sheet_id
|
||||||
|
code/nel/tools/misc/xml_packer/xml_packer
|
||||||
|
code/nel/tools/pacs/build_ig_boxes/build_ig_boxes
|
||||||
|
code/nel/tools/pacs/build_indoor_rbank/build_indoor_rbank
|
||||||
|
code/nel/tools/pacs/build_rbank/build_rbank
|
||||||
|
code/ryzom/common/data_leveldesign/leveldesign/game_element/xp_table/skills.skill_tree
|
||||||
|
code/ryzom/common/data_leveldesign/leveldesign/game_element/xp_table/xptable.xp_table
|
||||||
|
code/ryzom/tools/server/sql/ryzom_admin_default_data.sql
|
||||||
|
|
||||||
|
|
||||||
|
# Linux server compile
|
||||||
|
code/ryzom/server/src/entities_game_service/entities_game_service
|
||||||
|
code/ryzom/server/src/frontend_service/frontend_service
|
||||||
|
code/ryzom/server/src/gpm_service/gpm_service
|
||||||
|
code/ryzom/server/src/input_output_service/input_output_service
|
||||||
|
code/ryzom/server/src/mirror_service/mirror_service
|
||||||
|
code/ryzom/server/src/ryzom_admin_service/ryzom_admin_service
|
||||||
|
code/ryzom/server/src/ryzom_naming_service/ryzom_naming_service
|
||||||
|
code/ryzom/server/src/ryzom_welcome_service/ryzom_welcome_service
|
||||||
|
code/ryzom/server/src/tick_service/tick_service
|
||||||
|
# WebTT temp dir
|
||||||
|
code/ryzom/tools/server/www/webtt/app/tmp
|
||||||
|
|
||||||
|
# AMS ignore
|
||||||
|
code/web/public_php/ams/is_installed
|
||||||
|
code/web/docs/ams/html
|
||||||
|
code/web/public_php/ams/templates_c
|
||||||
|
code/ryzom/tools/server/ryzom_ams/drupal
|
||||||
|
code/ryzom/tools/server/ryzom_ams/drupal_module/ryzommanage/ams_lib/autoload
|
||||||
|
code/ryzom/tools/server/ryzom_ams/drupal_module/ryzommanage/ams_lib/configs
|
||||||
|
code/ryzom/tools/server/ryzom_ams/drupal_module/ryzommanage/ams_lib/cron
|
||||||
|
code/ryzom/tools/server/ryzom_ams/drupal_module/ryzommanage/ams_lib/img
|
||||||
|
code/ryzom/tools/server/ryzom_ams/drupal_module/ryzommanage/ams_lib/plugins
|
||||||
|
code/ryzom/tools/server/ryzom_ams/drupal_module/ryzommanage/ams_lib/smarty
|
||||||
|
code/ryzom/tools/server/ryzom_ams/drupal_module/ryzommanage/ams_lib/translations
|
||||||
|
code/ryzom/tools/server/ryzom_ams/drupal_module/ryzommanage/ams_lib/libinclude.php
|
||||||
|
code/ryzom/tools/server/ryzom_ams/old
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#tools and external dir's
|
||||||
|
external
|
||||||
|
external_stlport
|
||||||
|
nel_tools*
|
||||||
|
ryzom_tools*
|
||||||
|
|
||||||
|
#Dumps
|
||||||
|
*.dmp
|
||||||
|
|
||||||
|
code/nel/tools/build_gamedata/processes/ai_wmap/ai_build_wmap.cfg
|
||||||
|
code/nel/tools/build_gamedata/processes/sheets/sheets_packer.cfg
|
||||||
|
code/nel/tools/build_gamedata/processes/rbank/build_rbank.cfg
|
||||||
|
code/nel/tools/build_gamedata/processes/zone/debug_zone_dependencies.cfg
|
||||||
|
code/web/public_php/config.php
|
||||||
|
code/web/public_php/is_installed
|
||||||
|
code/web/public_php/ams/files
|
||||||
|
code/web/public_php/db_version_lib
|
||||||
|
code/web/public_php/db_version_shard
|
||||||
|
code/web/public_php/db_version_tool
|
||||||
|
code/web/public_php/db_version_web
|
||||||
|
code/web/public_php/role_service
|
||||||
|
code/web/public_php/role_support
|
||||||
|
code/web/public_php/role_domain
|
||||||
|
code/web/public_php/db_version_ring
|
||||||
|
code/web/public_php/config_user.php
|
||||||
|
code/nel/tools/build_gamedata/processes/pz/build_world_packed_col.cfg
|
||||||
|
code/nel/tools/build_gamedata/processes/cartographer/island_screenshots.cfg
|
48
.travis.yml
Normal file
48
.travis.yml
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
sudo: false
|
||||||
|
language: cpp
|
||||||
|
|
||||||
|
compiler:
|
||||||
|
- gcc
|
||||||
|
|
||||||
|
os:
|
||||||
|
- linux
|
||||||
|
matrix:
|
||||||
|
fast_finish: true
|
||||||
|
env:
|
||||||
|
- CMAKE_CONFIGURE_OPTIONS="-DWITH_NEL_TESTS=OFF -DWITH_LUA51=ON"
|
||||||
|
- CMAKE_CONFIGURE_OPTIONS="-DCPPTEST_LIBRARY_DEBUG:STRING=/usr/lib/libcpptest.so"
|
||||||
|
CMAKE_BUILD_OPTIONS="--target nel_unit_test -- -j 2"
|
||||||
|
RUN="build/bin/nel_unit_test"
|
||||||
|
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- liblua5.1-dev
|
||||||
|
- libluabind-dev
|
||||||
|
- libcpptest-dev
|
||||||
|
- libogg-dev
|
||||||
|
- libvorbis-dev
|
||||||
|
- libopenal-dev
|
||||||
|
- libgif-dev
|
||||||
|
- libfreetype6-dev
|
||||||
|
- libxml2-dev
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- mkdir build
|
||||||
|
- cmake --version
|
||||||
|
- cmake -Hcode -Bbuild $CMAKE_CONFIGURE_OPTIONS
|
||||||
|
- cat build/CMakeCache.txt
|
||||||
|
|
||||||
|
script:
|
||||||
|
- cmake --build build $CMAKE_BUILD_OPTIONS
|
||||||
|
- $RUN
|
||||||
|
|
||||||
|
notifications:
|
||||||
|
irc:
|
||||||
|
channels:
|
||||||
|
- $NOTIFICATION_IRC_CHANNEL
|
||||||
|
template:
|
||||||
|
- "%{repository}#%{build_number} (%{branch} - %{commit} : %{author}): %{message}"
|
||||||
|
- "Description : %{commit_message}"
|
||||||
|
- "Change view : %{compare_url}"
|
||||||
|
- "Build details : %{build_url}"
|
18
README.md
18
README.md
|
@ -1,9 +1,9 @@
|
||||||
# Ryzom Core [![Build Status](https://travis-ci.org/ryzom/ryzomcore.svg)](https://travis-ci.org/ryzom/ryzomcore)
|
# Ryzom Core [![Build Status](https://travis-ci.org/ryzom/ryzomcore.svg)](https://travis-ci.org/ryzom/ryzomcore)
|
||||||
|
|
||||||
Ryzom Core is the open-source project related to Ryzom Game. Written in C++, Ryzom Core contains the whole code (client, server, tools) used to make the commercial MMORPG Ryzom. Ryzom Core is a toolkit for the development of massively multiplayer online universes. It provides the base technologies and a set of development methodologies for the development of both client and server code.
|
Ryzom Core is the open-source project related to Ryzom Game. Written in C++, Ryzom Core contains the whole code (client, server, tools) used to make the commercial MMORPG Ryzom. Ryzom Core is a toolkit for the development of massively multiplayer online universes. It provides the base technologies and a set of development methodologies for the development of both client and server code.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Ryzom Core is open source and released under the terms of the GNU Affero General Public License 3.0 (GNU/AGPLv3) for the source code and the Creative Commons Attributions-ShareAlike 3.0 (CC-BY-SA) for the art assets. Which means you can create your own game using Ryzom Core, for more information on doing so check out Creating Your Own Game Using Ryzom Core.
|
Ryzom Core is open source and released under the terms of the GNU Affero General Public License 3.0 (GNU/AGPLv3) for the source code and the Creative Commons Attributions-ShareAlike 3.0 (CC-BY-SA) for the art assets. Which means you can create your own game using Ryzom Core, for more information on doing so check out Creating Your Own Game Using Ryzom Core.
|
||||||
|
|
||||||
Modification par la Team Khaganat
|
Modification par la Team Khaganat
|
||||||
|
|
|
@ -63,10 +63,9 @@ SET(NL_VERSION_PATCH 0)
|
||||||
SET(YEAR "2004-${CURRENT_YEAR}")
|
SET(YEAR "2004-${CURRENT_YEAR}")
|
||||||
SET(AUTHOR "Winch Gate and The Ryzom Core Community")
|
SET(AUTHOR "Winch Gate and The Ryzom Core Community")
|
||||||
|
|
||||||
SET(RYZOM_VERSION_MAJOR 2)
|
SET(RYZOM_VERSION_MAJOR 3)
|
||||||
SET(RYZOM_VERSION_MINOR 9)
|
SET(RYZOM_VERSION_MINOR 1)
|
||||||
SET(RYZOM_VERSION_PATCH 0)
|
SET(RYZOM_VERSION_PATCH 0)
|
||||||
SET(REVISION 0)
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Redirect output files
|
# Redirect output files
|
||||||
|
|
|
@ -1,82 +1,101 @@
|
||||||
# - Find DirectInput
|
# - Find DirectInput
|
||||||
# Find the DirectSound includes and libraries
|
# Find the DirectSound includes and libraries
|
||||||
#
|
#
|
||||||
# MAXSDK_DIR - 3DSMAX SDK root directory
|
# MAXSDK_DIR - 3DSMAX SDK root directory
|
||||||
# MAXSDK_INCLUDE_DIR - where to find baseinterface.h
|
# MAXSDK_INCLUDE_DIR - where to find baseinterface.h
|
||||||
# MAXSDK_LIBRARIES - List of libraries when using 3DSMAX.
|
# MAXSDK_LIBRARIES - List of libraries when using 3DSMAX.
|
||||||
# MAXSDK_FOUND - True if MAX SDK found.
|
# MAXSDK_FOUND - True if MAX SDK found.
|
||||||
|
|
||||||
if(MAXSDK_INCLUDE_DIR)
|
if(MAXSDK_INCLUDE_DIR)
|
||||||
# Already in cache, be silent
|
# Already in cache, be silent
|
||||||
SET(MAXSDK_FIND_QUIETLY TRUE)
|
SET(MAXSDK_FIND_QUIETLY TRUE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
FIND_PATH(MAXSDK_DIR
|
FIND_PATH(MAXSDK_DIR
|
||||||
"include/maxversion.h"
|
"include/maxversion.h"
|
||||||
HINTS
|
HINTS
|
||||||
"$ENV{MAXSDK_DIR}"
|
"$ENV{MAXSDK_DIR}"
|
||||||
PATHS
|
PATHS
|
||||||
"$ENV{ADSK_3DSMAX_SDK_2012}/maxsdk"
|
"$ENV{ADSK_3DSMAX_SDK_2012}/maxsdk"
|
||||||
"$ENV{3DSMAX_2011_SDK_PATH}/maxsdk"
|
"$ENV{3DSMAX_2011_SDK_PATH}/maxsdk"
|
||||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2010 SDK/maxsdk"
|
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2017 SDK/maxsdk"
|
||||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2009 SDK/maxsdk"
|
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2010 SDK/maxsdk"
|
||||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2008 SDK/maxsdk"
|
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2009 SDK/maxsdk"
|
||||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 9 SDK/maxsdk"
|
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2008 SDK/maxsdk"
|
||||||
)
|
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 9 SDK/maxsdk"
|
||||||
|
)
|
||||||
FIND_PATH(MAXSDK_INCLUDE_DIR
|
|
||||||
max.h
|
FIND_PATH(MAXSDK_INCLUDE_DIR
|
||||||
HINTS
|
max.h
|
||||||
${MAXSDK_DIR}/include
|
HINTS
|
||||||
)
|
${MAXSDK_DIR}/include
|
||||||
|
)
|
||||||
FIND_PATH(MAXSDK_CS_INCLUDE_DIR bipexp.h
|
|
||||||
HINTS
|
FIND_PATH(MAXSDK_CS_INCLUDE_DIR bipexp.h
|
||||||
${MAXSDK_DIR}/include/CS
|
HINTS
|
||||||
)
|
${MAXSDK_DIR}/include/CS
|
||||||
|
)
|
||||||
IF(TARGET_X64)
|
|
||||||
SET(MAXSDK_LIBRARY_DIRS ${MAXSDK_DIR}/x64/lib)
|
IF(TARGET_X64)
|
||||||
ELSE()
|
SET(MAXSDK_LIBRARY_DIRS ${MAXSDK_DIR}/x64/lib ${MAXSDK_DIR}/lib/x64/Release)
|
||||||
SET(MAXSDK_LIBRARY_DIRS ${MAXSDK_DIR}/lib)
|
ELSE()
|
||||||
ENDIF()
|
SET(MAXSDK_LIBRARY_DIRS ${MAXSDK_DIR}/lib)
|
||||||
|
ENDIF()
|
||||||
MACRO(FIND_3DS_LIBRARY MYLIBRARY MYLIBRARYNAME)
|
|
||||||
FIND_LIBRARY(${MYLIBRARY}
|
MACRO(FIND_3DS_LIBRARY MYLIBRARY MYLIBRARYNAME)
|
||||||
NAMES ${MYLIBRARYNAME}
|
FIND_LIBRARY(${MYLIBRARY}
|
||||||
HINTS
|
NAMES ${MYLIBRARYNAME}
|
||||||
${MAXSDK_LIBRARY_DIRS}
|
HINTS
|
||||||
)
|
${MAXSDK_LIBRARY_DIRS}
|
||||||
ENDMACRO()
|
)
|
||||||
|
ENDMACRO()
|
||||||
FIND_3DS_LIBRARY(MAXSDK_CORE_LIBRARY core)
|
|
||||||
FIND_3DS_LIBRARY(MAXSDK_GEOM_LIBRARY geom)
|
FIND_3DS_LIBRARY(MAXSDK_CORE_LIBRARY core)
|
||||||
FIND_3DS_LIBRARY(MAXSDK_GFX_LIBRARY gfx)
|
FIND_3DS_LIBRARY(MAXSDK_GEOM_LIBRARY geom)
|
||||||
FIND_3DS_LIBRARY(MAXSDK_MESH_LIBRARY mesh)
|
FIND_3DS_LIBRARY(MAXSDK_GFX_LIBRARY gfx)
|
||||||
FIND_3DS_LIBRARY(MAXSDK_MAXUTIL_LIBRARY maxutil)
|
FIND_3DS_LIBRARY(MAXSDK_MESH_LIBRARY mesh)
|
||||||
FIND_3DS_LIBRARY(MAXSDK_MAXSCRIPT_LIBRARY maxscrpt)
|
FIND_3DS_LIBRARY(MAXSDK_MAXUTIL_LIBRARY maxutil)
|
||||||
FIND_3DS_LIBRARY(MAXSDK_PARAMBLK2_LIBRARY paramblk2)
|
FIND_3DS_LIBRARY(MAXSDK_MAXSCRIPT_LIBRARY maxscrpt)
|
||||||
FIND_3DS_LIBRARY(MAXSDK_BMM_LIBRARY bmm)
|
FIND_3DS_LIBRARY(MAXSDK_PARAMBLK2_LIBRARY paramblk2)
|
||||||
|
FIND_3DS_LIBRARY(MAXSDK_BMM_LIBRARY bmm)
|
||||||
# Handle the QUIETLY and REQUIRED arguments and set MAXSDK_FOUND to TRUE if
|
|
||||||
# all listed variables are TRUE.
|
# Handle the QUIETLY and REQUIRED arguments and set MAXSDK_FOUND to TRUE if
|
||||||
include(FindPackageHandleStandardArgs)
|
# all listed variables are TRUE.
|
||||||
find_package_handle_standard_args(MAXSDK DEFAULT_MSG
|
include(FindPackageHandleStandardArgs)
|
||||||
MAXSDK_INCLUDE_DIR MAXSDK_CORE_LIBRARY)
|
find_package_handle_standard_args(MAXSDK DEFAULT_MSG
|
||||||
|
MAXSDK_INCLUDE_DIR MAXSDK_CORE_LIBRARY)
|
||||||
if(MAXSDK_FOUND)
|
|
||||||
SET(MAXSDK_LIBRARIES
|
if(MAXSDK_FOUND)
|
||||||
${MAXSDK_CORE_LIBRARY}
|
SET(MAXSDK_LIBRARIES
|
||||||
${MAXSDK_GEOM_LIBRARY}
|
${MAXSDK_CORE_LIBRARY}
|
||||||
${MAXSDK_GFX_LIBRARY}
|
${MAXSDK_GEOM_LIBRARY}
|
||||||
${MAXSDK_MESH_LIBRARY}
|
${MAXSDK_GFX_LIBRARY}
|
||||||
${MAXSDK_MAXUTIL_LIBRARY}
|
${MAXSDK_MESH_LIBRARY}
|
||||||
${MAXSDK_MAXSCRIPT_LIBRARY}
|
${MAXSDK_MAXUTIL_LIBRARY}
|
||||||
${MAXSDK_PARAMBLK2_LIBRARY}
|
${MAXSDK_MAXSCRIPT_LIBRARY}
|
||||||
${MAXSDK_BMM_LIBRARY} )
|
${MAXSDK_PARAMBLK2_LIBRARY}
|
||||||
|
${MAXSDK_BMM_LIBRARY})
|
||||||
ELSE()
|
|
||||||
set(MAXSDK_LIBRARIES)
|
# parse maxversion.h to determine SDK version
|
||||||
ENDIF()
|
IF(EXISTS "${MAXSDK_DIR}/include/maxversion.h")
|
||||||
|
FILE(STRINGS "${MAXSDK_DIR}/include/maxversion.h" LINES REGEX "#define MAX_PRODUCT_YEAR_NUMBER ([0-9]+)")
|
||||||
mark_as_advanced(MAXSDK_INCLUDE_DIR MAXSDK_LIBRARY)
|
|
||||||
|
STRING(REGEX REPLACE ".+MAX_PRODUCT_YEAR_NUMBER ([0-9]+)" "\\1" MAXSDK_VERSION "${LINES}")
|
||||||
|
UNSET(LINES)
|
||||||
|
ELSE()
|
||||||
|
SET(MAXSDK_VERSION "Unknown")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
MESSAGE(STATUS "Found 3dsmax version ${MAXSDK_VERSION} in ${MAXSDK_DIR}")
|
||||||
|
|
||||||
|
# 3ds Max 2013 and later are always Unicode
|
||||||
|
IF(MAXSDK_VERSION VERSION_GREATER 2012)
|
||||||
|
SET(MAXSDK_DEFINITIONS -DUNICODE -D_UNICODE)
|
||||||
|
ELSE()
|
||||||
|
SET(MAXSDK_DEFINITIONS)
|
||||||
|
ENDIF()
|
||||||
|
ELSE()
|
||||||
|
set(MAXSDK_LIBRARIES)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
mark_as_advanced(MAXSDK_INCLUDE_DIR MAXSDK_LIBRARY)
|
||||||
|
|
|
@ -41,7 +41,7 @@ IF(MFC_FOUND)
|
||||||
LINK_DIRECTORIES(${MFC_LIBRARY_DIR})
|
LINK_DIRECTORIES(${MFC_LIBRARY_DIR})
|
||||||
|
|
||||||
# Set definitions for using MFC in DLL
|
# Set definitions for using MFC in DLL
|
||||||
SET(MFC_DEFINITIONS -D_AFXDLL)
|
SET(MFC_DEFINITIONS -D_AFXDLL -DUNICODE -D_UNICODE)
|
||||||
|
|
||||||
# Set CMake flag to use MFC DLL
|
# Set CMake flag to use MFC DLL
|
||||||
SET(CMAKE_MFC_FLAG 2)
|
SET(CMAKE_MFC_FLAG 2)
|
||||||
|
|
54
code/CMakeModules/FindCustomMFC.cmake.BACKUP.4342.cmake
Normal file
54
code/CMakeModules/FindCustomMFC.cmake.BACKUP.4342.cmake
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
# - Locate MFC libraries
|
||||||
|
# This module defines
|
||||||
|
# MFC_FOUND, if false, do not try to link to MFC
|
||||||
|
# MFC_LIBRARY_DIR, where to find libraries
|
||||||
|
# MFC_INCLUDE_DIR, where to find headers
|
||||||
|
|
||||||
|
IF(CustomMFC_FIND_REQUIRED)
|
||||||
|
SET(MFC_FIND_REQUIRED TRUE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF(NOT MFC_DIR)
|
||||||
|
# If MFC have been found, remember their directory
|
||||||
|
IF(VC_DIR)
|
||||||
|
SET(MFC_STANDARD_DIR "${VC_DIR}/atlmfc")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
FIND_PATH(MFC_DIR
|
||||||
|
include/afxwin.h
|
||||||
|
HINTS
|
||||||
|
${MFC_STANDARD_DIR}
|
||||||
|
)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# Display an error message if MFC are not found, MFC_FOUND is updated
|
||||||
|
# User will be able to update MFC_DIR to the correct directory
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(MFC DEFAULT_MSG MFC_DIR)
|
||||||
|
|
||||||
|
IF(MFC_FOUND)
|
||||||
|
SET(MFC_INCLUDE_DIR "${MFC_DIR}/include")
|
||||||
|
INCLUDE_DIRECTORIES(${MFC_INCLUDE_DIR})
|
||||||
|
|
||||||
|
# Using 32 or 64 bits libraries
|
||||||
|
IF(TARGET_X64)
|
||||||
|
SET(MFC_LIBRARY_DIR "${MFC_DIR}/lib/amd64")
|
||||||
|
ELSE()
|
||||||
|
SET(MFC_LIBRARY_DIR "${MFC_DIR}/lib")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# Add MFC libraries directory to default library path
|
||||||
|
LINK_DIRECTORIES(${MFC_LIBRARY_DIR})
|
||||||
|
|
||||||
|
# Set definitions for using MFC in DLL
|
||||||
|
<<<<<<< HEAD
|
||||||
|
SET(MFC_DEFINITIONS -D_AFXDLL)
|
||||||
|
=======
|
||||||
|
SET(MFC_DEFINITIONS -D_AFXDLL -DUNICODE -D_UNICODE)
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
# Set CMake flag to use MFC DLL
|
||||||
|
SET(CMAKE_MFC_FLAG 2)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# TODO: create a macro which set MFC_DEFINITIONS, MFC_LIBRARY_DIR and MFC_INCLUDE_DIR for a project
|
0
code/CMakeModules/FindCustomMFC.cmake.BASE.4342.cmake
Normal file
0
code/CMakeModules/FindCustomMFC.cmake.BASE.4342.cmake
Normal file
50
code/CMakeModules/FindCustomMFC.cmake.LOCAL.4342.cmake
Normal file
50
code/CMakeModules/FindCustomMFC.cmake.LOCAL.4342.cmake
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
# - Locate MFC libraries
|
||||||
|
# This module defines
|
||||||
|
# MFC_FOUND, if false, do not try to link to MFC
|
||||||
|
# MFC_LIBRARY_DIR, where to find libraries
|
||||||
|
# MFC_INCLUDE_DIR, where to find headers
|
||||||
|
|
||||||
|
IF(CustomMFC_FIND_REQUIRED)
|
||||||
|
SET(MFC_FIND_REQUIRED TRUE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF(NOT MFC_DIR)
|
||||||
|
# If MFC have been found, remember their directory
|
||||||
|
IF(VC_DIR)
|
||||||
|
SET(MFC_STANDARD_DIR "${VC_DIR}/atlmfc")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
FIND_PATH(MFC_DIR
|
||||||
|
include/afxwin.h
|
||||||
|
HINTS
|
||||||
|
${MFC_STANDARD_DIR}
|
||||||
|
)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# Display an error message if MFC are not found, MFC_FOUND is updated
|
||||||
|
# User will be able to update MFC_DIR to the correct directory
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(MFC DEFAULT_MSG MFC_DIR)
|
||||||
|
|
||||||
|
IF(MFC_FOUND)
|
||||||
|
SET(MFC_INCLUDE_DIR "${MFC_DIR}/include")
|
||||||
|
INCLUDE_DIRECTORIES(${MFC_INCLUDE_DIR})
|
||||||
|
|
||||||
|
# Using 32 or 64 bits libraries
|
||||||
|
IF(TARGET_X64)
|
||||||
|
SET(MFC_LIBRARY_DIR "${MFC_DIR}/lib/amd64")
|
||||||
|
ELSE()
|
||||||
|
SET(MFC_LIBRARY_DIR "${MFC_DIR}/lib")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# Add MFC libraries directory to default library path
|
||||||
|
LINK_DIRECTORIES(${MFC_LIBRARY_DIR})
|
||||||
|
|
||||||
|
# Set definitions for using MFC in DLL
|
||||||
|
SET(MFC_DEFINITIONS -D_AFXDLL)
|
||||||
|
|
||||||
|
# Set CMake flag to use MFC DLL
|
||||||
|
SET(CMAKE_MFC_FLAG 2)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# TODO: create a macro which set MFC_DEFINITIONS, MFC_LIBRARY_DIR and MFC_INCLUDE_DIR for a project
|
50
code/CMakeModules/FindCustomMFC.cmake.REMOTE.4342.cmake
Normal file
50
code/CMakeModules/FindCustomMFC.cmake.REMOTE.4342.cmake
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
# - Locate MFC libraries
|
||||||
|
# This module defines
|
||||||
|
# MFC_FOUND, if false, do not try to link to MFC
|
||||||
|
# MFC_LIBRARY_DIR, where to find libraries
|
||||||
|
# MFC_INCLUDE_DIR, where to find headers
|
||||||
|
|
||||||
|
IF(CustomMFC_FIND_REQUIRED)
|
||||||
|
SET(MFC_FIND_REQUIRED TRUE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF(NOT MFC_DIR)
|
||||||
|
# If MFC have been found, remember their directory
|
||||||
|
IF(VC_DIR)
|
||||||
|
SET(MFC_STANDARD_DIR "${VC_DIR}/atlmfc")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
FIND_PATH(MFC_DIR
|
||||||
|
include/afxwin.h
|
||||||
|
HINTS
|
||||||
|
${MFC_STANDARD_DIR}
|
||||||
|
)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# Display an error message if MFC are not found, MFC_FOUND is updated
|
||||||
|
# User will be able to update MFC_DIR to the correct directory
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(MFC DEFAULT_MSG MFC_DIR)
|
||||||
|
|
||||||
|
IF(MFC_FOUND)
|
||||||
|
SET(MFC_INCLUDE_DIR "${MFC_DIR}/include")
|
||||||
|
INCLUDE_DIRECTORIES(${MFC_INCLUDE_DIR})
|
||||||
|
|
||||||
|
# Using 32 or 64 bits libraries
|
||||||
|
IF(TARGET_X64)
|
||||||
|
SET(MFC_LIBRARY_DIR "${MFC_DIR}/lib/amd64")
|
||||||
|
ELSE()
|
||||||
|
SET(MFC_LIBRARY_DIR "${MFC_DIR}/lib")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# Add MFC libraries directory to default library path
|
||||||
|
LINK_DIRECTORIES(${MFC_LIBRARY_DIR})
|
||||||
|
|
||||||
|
# Set definitions for using MFC in DLL
|
||||||
|
SET(MFC_DEFINITIONS -D_AFXDLL -DUNICODE -D_UNICODE)
|
||||||
|
|
||||||
|
# Set CMake flag to use MFC DLL
|
||||||
|
SET(CMAKE_MFC_FLAG 2)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# TODO: create a macro which set MFC_DEFINITIONS, MFC_LIBRARY_DIR and MFC_INCLUDE_DIR for a project
|
|
@ -55,7 +55,15 @@ MACRO(DETECT_EXPRESS_VERSION _VERSION)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDMACRO()
|
ENDMACRO()
|
||||||
|
|
||||||
IF(MSVC12)
|
IF(MSVC14)
|
||||||
|
DETECT_VC_VERSION("14.0")
|
||||||
|
SET(MSVC_TOOLSET "140")
|
||||||
|
|
||||||
|
IF(NOT MSVC14_REDIST_DIR)
|
||||||
|
# If you have VC++ 2015 Express, put x64/Microsoft.VC140.CRT/*.dll in ${EXTERNAL_PATH}/redist
|
||||||
|
SET(MSVC14_REDIST_DIR "${EXTERNAL_PATH}/redist")
|
||||||
|
ENDIF()
|
||||||
|
ELSEIF(MSVC12)
|
||||||
DETECT_VC_VERSION("12.0")
|
DETECT_VC_VERSION("12.0")
|
||||||
SET(MSVC_TOOLSET "120")
|
SET(MSVC_TOOLSET "120")
|
||||||
|
|
||||||
|
@ -98,7 +106,7 @@ IF(NOT VC_DIR)
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(_COMPILER ${CMAKE_C_COMPILER})
|
SET(_COMPILER ${CMAKE_C_COMPILER})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
STRING(REGEX REPLACE "/bin/.+" "" VC_DIR ${_COMPILER})
|
STRING(REGEX REPLACE "/(bin|BIN|Bin)/.+" "" VC_DIR ${_COMPILER})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
SET(VC_INCLUDE_DIR "${VC_DIR}/include")
|
SET(VC_INCLUDE_DIR "${VC_DIR}/include")
|
||||||
|
|
|
@ -60,12 +60,12 @@ IF(Mercurial_HG_EXECUTABLE)
|
||||||
EXECUTE_PROCESS(COMMAND ${Mercurial_HG_EXECUTABLE} --version
|
EXECUTE_PROCESS(COMMAND ${Mercurial_HG_EXECUTABLE} --version
|
||||||
OUTPUT_VARIABLE Mercurial_VERSION_HG
|
OUTPUT_VARIABLE Mercurial_VERSION_HG
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|
||||||
STRING(REGEX REPLACE ".*version ([\\.0-9]+).*"
|
STRING(REGEX REPLACE ".*version ([\\.0-9]+).*"
|
||||||
"\\1" Mercurial_VERSION_HG "${Mercurial_VERSION_HG}")
|
"\\1" Mercurial_VERSION_HG "${Mercurial_VERSION_HG}")
|
||||||
|
|
||||||
MACRO(Mercurial_WC_INFO dir prefix)
|
MACRO(Mercurial_WC_INFO dir prefix)
|
||||||
EXECUTE_PROCESS(COMMAND ${Mercurial_HG_EXECUTABLE} tip --template "{rev};{node};{tags};{author}"
|
EXECUTE_PROCESS(COMMAND ${Mercurial_HG_EXECUTABLE} log -r . --template "{rev};{node};{tags};{author}"
|
||||||
WORKING_DIRECTORY ${dir}
|
WORKING_DIRECTORY ${dir}
|
||||||
OUTPUT_VARIABLE ${prefix}_WC_INFO
|
OUTPUT_VARIABLE ${prefix}_WC_INFO
|
||||||
ERROR_VARIABLE Mercurial_hg_info_error
|
ERROR_VARIABLE Mercurial_hg_info_error
|
||||||
|
@ -73,7 +73,7 @@ IF(Mercurial_HG_EXECUTABLE)
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|
||||||
IF(NOT ${Mercurial_hg_info_result} EQUAL 0)
|
IF(NOT ${Mercurial_hg_info_result} EQUAL 0)
|
||||||
MESSAGE(SEND_ERROR "Command \"${Mercurial_HG_EXECUTABLE} tip\" failed with output:\n${Mercurial_hg_info_error}")
|
MESSAGE(SEND_ERROR "Command \"${Mercurial_HG_EXECUTABLE} log\" failed with output:\n${Mercurial_hg_info_error}")
|
||||||
ELSE()
|
ELSE()
|
||||||
LIST(LENGTH ${prefix}_WC_INFO _COUNT)
|
LIST(LENGTH ${prefix}_WC_INFO _COUNT)
|
||||||
IF(_COUNT EQUAL 4)
|
IF(_COUNT EQUAL 4)
|
||||||
|
|
|
@ -255,8 +255,19 @@ MACRO(USE_CURRENT_WINSDK)
|
||||||
SET(WINSDK_VERSION "6.0A")
|
SET(WINSDK_VERSION "6.0A")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ELSEIF(MSVC80)
|
ELSEIF(MSVC80)
|
||||||
IF(NOT MSVC_EXPRESS)
|
SET(WINSDK_MSVC80_COMPATIBLES "7.1" "7.1A" "7.0" "7.0A" "6.1" "6.0" "6.0A" "5.2A")
|
||||||
# TODO: fix this version
|
|
||||||
|
# look for each Windows SDK supported by VC++ 2005 (7.1 is the latest)
|
||||||
|
FOREACH(_VERSION ${WINSDK_DETECTED_VERSIONS})
|
||||||
|
# look if this version of Windows SDK is installed
|
||||||
|
LIST(FIND WINSDK_MSVC80_COMPATIBLES ${_VERSION} _FOUND)
|
||||||
|
IF(NOT _FOUND EQUAL -1)
|
||||||
|
SET(WINSDK_VERSION "${_VERSION}")
|
||||||
|
BREAK()
|
||||||
|
ENDIF()
|
||||||
|
ENDFOREACH()
|
||||||
|
|
||||||
|
IF(NOT MSVC_EXPRESS AND NOT WINSDK_VERSION)
|
||||||
SET(WINSDK_VERSION "5.2A")
|
SET(WINSDK_VERSION "5.2A")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ELSE()
|
ELSE()
|
||||||
|
@ -441,8 +452,8 @@ IF(WINSDK_INCLUDE_DIR)
|
||||||
|
|
||||||
SET(CMAKE_LIBRARY_PATH ${WINSDK_LIBRARY_DIR} ${CMAKE_LIBRARY_PATH})
|
SET(CMAKE_LIBRARY_PATH ${WINSDK_LIBRARY_DIR} ${CMAKE_LIBRARY_PATH})
|
||||||
|
|
||||||
# Fix for using Windows SDK 7.1 with Visual C++ 2012
|
# Fix for using Windows SDK 7.1 with Visual C++ 2012, 2013 and 2015
|
||||||
IF(WINSDK_VERSION STREQUAL "7.1" AND MSVC11)
|
IF(WINSDK_VERSION STREQUAL "7.1" AND (MSVC11 OR MSVC12 OR MSVC14))
|
||||||
ADD_DEFINITIONS(-D_USING_V110_SDK71_)
|
ADD_DEFINITIONS(-D_USING_V110_SDK71_)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ELSE()
|
ELSE()
|
||||||
|
|
|
@ -27,6 +27,16 @@ ELSE()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
MACRO(APPEND_DEFINITION _NAME _VAL)
|
||||||
|
IF(CMAKE_VERSION VERSION_LESS "2.8.12")
|
||||||
|
# don't support logical expressions, append definition
|
||||||
|
LIST(APPEND ${_NAME} "-D${_VAL}")
|
||||||
|
ELSE()
|
||||||
|
# support logical expressions, use them
|
||||||
|
LIST(APPEND ${_NAME} "$<$<BOOL:${_VAL}>:-D$<JOIN:${_VAL},-D>>")
|
||||||
|
ENDIF()
|
||||||
|
ENDMACRO()
|
||||||
|
|
||||||
# Set PCH_FLAGS for common flags, PCH_ARCH_XXX_FLAGS for specific archs flags and PCH_ARCHS for archs
|
# Set PCH_FLAGS for common flags, PCH_ARCH_XXX_FLAGS for specific archs flags and PCH_ARCHS for archs
|
||||||
MACRO(PCH_SET_COMPILE_FLAGS _target)
|
MACRO(PCH_SET_COMPILE_FLAGS _target)
|
||||||
SET(PCH_FLAGS)
|
SET(PCH_FLAGS)
|
||||||
|
@ -77,28 +87,28 @@ MACRO(PCH_SET_COMPILE_FLAGS _target)
|
||||||
GET_DIRECTORY_PROPERTY(DEFINITIONS COMPILE_DEFINITIONS)
|
GET_DIRECTORY_PROPERTY(DEFINITIONS COMPILE_DEFINITIONS)
|
||||||
IF(DEFINITIONS)
|
IF(DEFINITIONS)
|
||||||
FOREACH(item ${DEFINITIONS})
|
FOREACH(item ${DEFINITIONS})
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS "$<$<BOOL:${item}>:-D$<JOIN:${item},-D>>")
|
APPEND_DEFINITION(GLOBAL_DEFINITIONS ${item})
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
GET_DIRECTORY_PROPERTY(DEFINITIONS COMPILE_DEFINITIONS_${_UPPER_BUILD})
|
GET_DIRECTORY_PROPERTY(DEFINITIONS COMPILE_DEFINITIONS_${_UPPER_BUILD})
|
||||||
IF(DEFINITIONS)
|
IF(DEFINITIONS)
|
||||||
FOREACH(item ${DEFINITIONS})
|
FOREACH(item ${DEFINITIONS})
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS "$<$<BOOL:${item}>:-D$<JOIN:${item},-D>>")
|
APPEND_DEFINITION(GLOBAL_DEFINITIONS ${item})
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
GET_DIRECTORY_PROPERTY(DEFINITIONS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS)
|
GET_DIRECTORY_PROPERTY(DEFINITIONS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS)
|
||||||
IF(DEFINITIONS)
|
IF(DEFINITIONS)
|
||||||
FOREACH(item ${DEFINITIONS})
|
FOREACH(item ${DEFINITIONS})
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS "$<$<BOOL:${item}>:-D$<JOIN:${item},-D>>")
|
APPEND_DEFINITION(GLOBAL_DEFINITIONS ${item})
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
GET_DIRECTORY_PROPERTY(DEFINITIONS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS_${_UPPER_BUILD})
|
GET_DIRECTORY_PROPERTY(DEFINITIONS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS_${_UPPER_BUILD})
|
||||||
IF(DEFINITIONS)
|
IF(DEFINITIONS)
|
||||||
FOREACH(item ${DEFINITIONS})
|
FOREACH(item ${DEFINITIONS})
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS "$<$<BOOL:${item}>:-D$<JOIN:${item},-D>>")
|
APPEND_DEFINITION(GLOBAL_DEFINITIONS ${item})
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
@ -122,14 +132,14 @@ MACRO(PCH_SET_COMPILE_FLAGS _target)
|
||||||
GET_TARGET_PROPERTY(DEFINITIONS ${_target} COMPILE_DEFINITIONS)
|
GET_TARGET_PROPERTY(DEFINITIONS ${_target} COMPILE_DEFINITIONS)
|
||||||
IF(DEFINITIONS)
|
IF(DEFINITIONS)
|
||||||
FOREACH(item ${DEFINITIONS})
|
FOREACH(item ${DEFINITIONS})
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS "$<$<BOOL:${item}>:-D$<JOIN:${item},-D>>")
|
APPEND_DEFINITION(GLOBAL_DEFINITIONS ${item})
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
GET_TARGET_PROPERTY(DEFINITIONS ${_target} COMPILE_DEFINITIONS_${_UPPER_BUILD})
|
GET_TARGET_PROPERTY(DEFINITIONS ${_target} COMPILE_DEFINITIONS_${_UPPER_BUILD})
|
||||||
IF(DEFINITIONS)
|
IF(DEFINITIONS)
|
||||||
FOREACH(item ${DEFINITIONS})
|
FOREACH(item ${DEFINITIONS})
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS "$<$<BOOL:${item}>:-D$<JOIN:${item},-D>>")
|
APPEND_DEFINITION(GLOBAL_DEFINITIONS ${item})
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
@ -151,7 +161,7 @@ MACRO(PCH_SET_COMPILE_FLAGS _target)
|
||||||
|
|
||||||
IF(_DEFINITIONS)
|
IF(_DEFINITIONS)
|
||||||
FOREACH(item ${_DEFINITIONS})
|
FOREACH(item ${_DEFINITIONS})
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS "$<$<BOOL:${item}>:-D$<JOIN:${item},-D>>")
|
APPEND_DEFINITION(GLOBAL_DEFINITIONS ${item})
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -176,10 +186,23 @@ MACRO(PCH_SET_COMPILE_FLAGS _target)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(CMAKE_VERSION VERSION_LESS "3.3.0")
|
IF(CMAKE_VERSION VERSION_LESS "3.3.0")
|
||||||
GET_DIRECTORY_PROPERTY(_directory_flags DEFINITIONS)
|
GET_DIRECTORY_PROPERTY(_DIRECTORY_FLAGS DEFINITIONS)
|
||||||
GET_DIRECTORY_PROPERTY(_directory_definitions DIRECTORY ${CMAKE_SOURCE_DIR} DEFINITIONS)
|
|
||||||
LIST(APPEND _FLAGS ${_directory_flags})
|
IF(_DIRECTORY_FLAGS)
|
||||||
LIST(APPEND _FLAGS ${_directory_definitions})
|
SEPARATE_ARGUMENTS(_DIRECTORY_FLAGS)
|
||||||
|
FOREACH(item ${_DIRECTORY_FLAGS})
|
||||||
|
LIST(APPEND _FLAGS "${item}")
|
||||||
|
ENDFOREACH()
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
GET_DIRECTORY_PROPERTY(_DIRECTORY_DEFINITIONS DIRECTORY ${CMAKE_SOURCE_DIR} DEFINITIONS)
|
||||||
|
|
||||||
|
IF(_DIRECTORY_DEFINITIONS)
|
||||||
|
SEPARATE_ARGUMENTS(_DIRECTORY_DEFINITIONS)
|
||||||
|
FOREACH(item ${_DIRECTORY_DEFINITIONS})
|
||||||
|
LIST(APPEND _FLAGS "${item}")
|
||||||
|
ENDFOREACH()
|
||||||
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
# Format definitions
|
# Format definitions
|
||||||
|
@ -282,8 +305,9 @@ MACRO(PCH_SET_COMPILE_COMMAND _inputcpp _compile_FLAGS)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
GET_PDB_FILENAME(PDB_FILE ${_PCH_current_target})
|
GET_PDB_FILENAME(_PDB_FILE ${_PCH_current_target})
|
||||||
SET(PCH_COMMAND ${CMAKE_CXX_COMPILER} ${pchsupport_compiler_cxx_arg1} ${_compile_FLAGS} /Yc /Fp"${PCH_OUTPUT}" ${_inputcpp} /Fd"${PDB_FILE}" /c /Fo"${PCH_OUTPUT}.obj")
|
SET(PCH_COMMAND ${CMAKE_CXX_COMPILER} ${pchsupport_compiler_cxx_arg1} ${_compile_FLAGS} /Yc /Fp"${PCH_OUTPUT}" ${_inputcpp} /Fd"${_PDB_FILE}" /c /Fo"${PCH_OUTPUT}.obj")
|
||||||
|
|
||||||
# Ninja PCH Support
|
# Ninja PCH Support
|
||||||
# http://public.kitware.com/pipermail/cmake-developers/2012-March/003653.html
|
# http://public.kitware.com/pipermail/cmake-developers/2012-March/003653.html
|
||||||
SET_SOURCE_FILES_PROPERTIES(${_inputcpp} PROPERTIES OBJECT_OUTPUTS "${PCH_OUTPUT}.obj")
|
SET_SOURCE_FILES_PROPERTIES(${_inputcpp} PROPERTIES OBJECT_OUTPUTS "${PCH_OUTPUT}.obj")
|
||||||
|
|
|
@ -367,7 +367,11 @@ ENDMACRO(NL_SETUP_SNOWBALLS_DEFAULT_OPTIONS)
|
||||||
MACRO(ADD_PLATFORM_FLAGS _FLAGS)
|
MACRO(ADD_PLATFORM_FLAGS _FLAGS)
|
||||||
SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} ${_FLAGS}")
|
SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} ${_FLAGS}")
|
||||||
SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} ${_FLAGS}")
|
SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} ${_FLAGS}")
|
||||||
ENDMACRO(ADD_PLATFORM_FLAGS)
|
ENDMACRO()
|
||||||
|
|
||||||
|
MACRO(ADD_PLATFORM_LINKFLAGS _FLAGS)
|
||||||
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${_FLAGS}")
|
||||||
|
ENDMACRO()
|
||||||
|
|
||||||
MACRO(NL_SETUP_BUILD)
|
MACRO(NL_SETUP_BUILD)
|
||||||
|
|
||||||
|
@ -390,9 +394,13 @@ MACRO(NL_SETUP_BUILD)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
SET(HOST_CPU ${CMAKE_HOST_SYSTEM_PROCESSOR})
|
IF(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||||
|
SET(HOST_CPU ${CMAKE_CXX_LIBRARY_ARCHITECTURE})
|
||||||
|
ELSE()
|
||||||
|
SET(HOST_CPU ${CMAKE_HOST_SYSTEM_PROCESSOR})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(HOST_CPU MATCHES "(amd|AMD)64")
|
IF(HOST_CPU MATCHES "(amd|AMD|x86_)64")
|
||||||
SET(HOST_CPU "x86_64")
|
SET(HOST_CPU "x86_64")
|
||||||
ELSEIF(HOST_CPU MATCHES "i.86")
|
ELSEIF(HOST_CPU MATCHES "i.86")
|
||||||
SET(HOST_CPU "x86")
|
SET(HOST_CPU "x86")
|
||||||
|
@ -402,10 +410,10 @@ MACRO(NL_SETUP_BUILD)
|
||||||
|
|
||||||
# If not specified, use the same CPU as host
|
# If not specified, use the same CPU as host
|
||||||
IF(NOT TARGET_CPU)
|
IF(NOT TARGET_CPU)
|
||||||
SET(TARGET_CPU ${CMAKE_SYSTEM_PROCESSOR})
|
SET(TARGET_CPU ${HOST_CPU})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_CPU MATCHES "(amd|AMD)64")
|
IF(TARGET_CPU MATCHES "(amd|AMD|x86_)64")
|
||||||
SET(TARGET_CPU "x86_64")
|
SET(TARGET_CPU "x86_64")
|
||||||
ELSEIF(TARGET_CPU MATCHES "i.86")
|
ELSEIF(TARGET_CPU MATCHES "i.86")
|
||||||
SET(TARGET_CPU "x86")
|
SET(TARGET_CPU "x86")
|
||||||
|
@ -413,7 +421,7 @@ MACRO(NL_SETUP_BUILD)
|
||||||
|
|
||||||
IF(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
|
IF(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
|
||||||
SET(CLANG ON)
|
SET(CLANG ON)
|
||||||
MESSAGE(STATUS "Using Clang compiler")
|
MESSAGE(STATUS "Using Clang ${CMAKE_CXX_COMPILER_VERSION} compiler")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(CMAKE_GENERATOR MATCHES "Xcode")
|
IF(CMAKE_GENERATOR MATCHES "Xcode")
|
||||||
|
@ -426,6 +434,11 @@ MACRO(NL_SETUP_BUILD)
|
||||||
MESSAGE(STATUS "Generating NMake project")
|
MESSAGE(STATUS "Generating NMake project")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
IF(CMAKE_GENERATOR MATCHES "Ninja")
|
||||||
|
SET(NINJA ON)
|
||||||
|
MESSAGE(STATUS "Generating Ninja project")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
# If target and host CPU are the same
|
# If target and host CPU are the same
|
||||||
IF("${HOST_CPU}" STREQUAL "${TARGET_CPU}" AND NOT CMAKE_CROSSCOMPILING)
|
IF("${HOST_CPU}" STREQUAL "${TARGET_CPU}" AND NOT CMAKE_CROSSCOMPILING)
|
||||||
# x86-compatible CPU
|
# x86-compatible CPU
|
||||||
|
@ -474,6 +487,9 @@ MACRO(NL_SETUP_BUILD)
|
||||||
SET(TARGET_X86 1)
|
SET(TARGET_X86 1)
|
||||||
ELSEIF(TARGET_CPU STREQUAL "x86")
|
ELSEIF(TARGET_CPU STREQUAL "x86")
|
||||||
SET(TARGET_X86 1)
|
SET(TARGET_X86 1)
|
||||||
|
ELSEIF(TARGET_CPU STREQUAL "arm64")
|
||||||
|
SET(TARGET_ARM 1)
|
||||||
|
SET(TARGET_ARM64 1)
|
||||||
ELSEIF(TARGET_CPU STREQUAL "armv7s")
|
ELSEIF(TARGET_CPU STREQUAL "armv7s")
|
||||||
SET(TARGET_ARM 1)
|
SET(TARGET_ARM 1)
|
||||||
SET(TARGET_ARMV7S 1)
|
SET(TARGET_ARMV7S 1)
|
||||||
|
@ -493,6 +509,10 @@ MACRO(NL_SETUP_BUILD)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARM)
|
IF(TARGET_ARM)
|
||||||
|
IF(TARGET_ARM64)
|
||||||
|
ADD_PLATFORM_FLAGS("-DHAVE_ARM64")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARMV7S)
|
IF(TARGET_ARMV7S)
|
||||||
ADD_PLATFORM_FLAGS("-DHAVE_ARMV7S")
|
ADD_PLATFORM_FLAGS("-DHAVE_ARMV7S")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -541,10 +561,6 @@ MACRO(NL_SETUP_BUILD)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
IF(MSVC_VERSION EQUAL "1700" AND NOT MSVC11)
|
|
||||||
SET(MSVC11 ON)
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
# Ignore default include paths
|
# Ignore default include paths
|
||||||
ADD_PLATFORM_FLAGS("/X")
|
ADD_PLATFORM_FLAGS("/X")
|
||||||
|
|
||||||
|
@ -555,31 +571,31 @@ MACRO(NL_SETUP_BUILD)
|
||||||
# without inlining it's unusable, use custom optimizations again
|
# without inlining it's unusable, use custom optimizations again
|
||||||
SET(DEBUG_CFLAGS "/Od /Ob1 /GF- ${DEBUG_CFLAGS}")
|
SET(DEBUG_CFLAGS "/Od /Ob1 /GF- ${DEBUG_CFLAGS}")
|
||||||
ELSEIF(MSVC12)
|
ELSEIF(MSVC12)
|
||||||
ADD_PLATFORM_FLAGS("/Gy- /MP /Zm1000")
|
ADD_PLATFORM_FLAGS("/Gy-")
|
||||||
# /Ox is working with VC++ 2013, but custom optimizations don't exist
|
# /Ox is working with VC++ 2013, but custom optimizations don't exist
|
||||||
SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}")
|
SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}")
|
||||||
# without inlining it's unusable, use custom optimizations again
|
# without inlining it's unusable, use custom optimizations again
|
||||||
SET(DEBUG_CFLAGS "/Od /Ob1 /GF- ${DEBUG_CFLAGS}")
|
SET(DEBUG_CFLAGS "/Od /Ob1 /GF- ${DEBUG_CFLAGS}")
|
||||||
ELSEIF(MSVC11)
|
ELSEIF(MSVC11)
|
||||||
ADD_PLATFORM_FLAGS("/Gy- /MP /Zm1000")
|
ADD_PLATFORM_FLAGS("/Gy-")
|
||||||
# /Ox is working with VC++ 2012, but custom optimizations don't exist
|
# /Ox is working with VC++ 2012, but custom optimizations don't exist
|
||||||
SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}")
|
SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}")
|
||||||
# without inlining it's unusable, use custom optimizations again
|
# without inlining it's unusable, use custom optimizations again
|
||||||
SET(DEBUG_CFLAGS "/Od /Ob1 /GF- ${DEBUG_CFLAGS}")
|
SET(DEBUG_CFLAGS "/Od /Ob1 /GF- ${DEBUG_CFLAGS}")
|
||||||
ELSEIF(MSVC10)
|
ELSEIF(MSVC10)
|
||||||
ADD_PLATFORM_FLAGS("/Gy- /MP /Zm1000")
|
ADD_PLATFORM_FLAGS("/Gy-")
|
||||||
# /Ox is working with VC++ 2010, but custom optimizations don't exist
|
# /Ox is working with VC++ 2010, but custom optimizations don't exist
|
||||||
SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}")
|
SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}")
|
||||||
# without inlining it's unusable, use custom optimizations again
|
# without inlining it's unusable, use custom optimizations again
|
||||||
SET(DEBUG_CFLAGS "/Od /Ob1 /GF- ${DEBUG_CFLAGS}")
|
SET(DEBUG_CFLAGS "/Od /Ob1 /GF- ${DEBUG_CFLAGS}")
|
||||||
ELSEIF(MSVC90)
|
ELSEIF(MSVC90)
|
||||||
ADD_PLATFORM_FLAGS("/Gy- /MP /Zm1000")
|
ADD_PLATFORM_FLAGS("/Gy-")
|
||||||
# don't use a /O[012x] flag if you want custom optimizations
|
# don't use a /O[012x] flag if you want custom optimizations
|
||||||
SET(RELEASE_CFLAGS "/Ob2 /Oi /Ot /Oy /GT /GF /GS- ${RELEASE_CFLAGS}")
|
SET(RELEASE_CFLAGS "/Ob2 /Oi /Ot /Oy /GT /GF /GS- ${RELEASE_CFLAGS}")
|
||||||
# without inlining it's unusable, use custom optimizations again
|
# without inlining it's unusable, use custom optimizations again
|
||||||
SET(DEBUG_CFLAGS "/Ob1 /GF- ${DEBUG_CFLAGS}")
|
SET(DEBUG_CFLAGS "/Ob1 /GF- ${DEBUG_CFLAGS}")
|
||||||
ELSEIF(MSVC80)
|
ELSEIF(MSVC80)
|
||||||
ADD_PLATFORM_FLAGS("/Gy- /Wp64 /Zm1000")
|
ADD_PLATFORM_FLAGS("/Gy- /Wp64")
|
||||||
# don't use a /O[012x] flag if you want custom optimizations
|
# don't use a /O[012x] flag if you want custom optimizations
|
||||||
SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}")
|
SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}")
|
||||||
# without inlining it's unusable, use custom optimizations again
|
# without inlining it's unusable, use custom optimizations again
|
||||||
|
@ -588,16 +604,19 @@ MACRO(NL_SETUP_BUILD)
|
||||||
MESSAGE(FATAL_ERROR "Can't determine compiler version ${MSVC_VERSION}")
|
MESSAGE(FATAL_ERROR "Can't determine compiler version ${MSVC_VERSION}")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
ADD_PLATFORM_FLAGS("/D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_WARNINGS /DWIN32 /D_WINDOWS /wd4250")
|
ADD_PLATFORM_FLAGS("/D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_WARNINGS /D_SCL_SECURE_NO_WARNINGS /D_WIN32 /DWIN32 /D_WINDOWS /wd4250")
|
||||||
|
|
||||||
|
# huge PCH
|
||||||
|
ADD_PLATFORM_FLAGS("/Zm1000")
|
||||||
|
|
||||||
IF(TARGET_X64)
|
IF(TARGET_X64)
|
||||||
# Fix a bug with Intellisense
|
# Fix a bug with Intellisense
|
||||||
ADD_PLATFORM_FLAGS("/D_WIN64")
|
ADD_PLATFORM_FLAGS("/D_WIN64")
|
||||||
# Fix a compilation error for some big C++ files
|
# Fix a compilation error for some big C++ files
|
||||||
SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} /bigobj")
|
ADD_PLATFORM_FLAGS("/bigobj")
|
||||||
ELSE()
|
ELSE()
|
||||||
# Allows 32 bits applications to use 3 GB of RAM
|
# Allows 32 bits applications to use 3 GB of RAM
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /LARGEADDRESSAWARE")
|
ADD_PLATFORM_LINKFLAGS("/LARGEADDRESSAWARE")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
# Exceptions are only set for C++
|
# Exceptions are only set for C++
|
||||||
|
@ -780,7 +799,7 @@ MACRO(NL_SETUP_BUILD)
|
||||||
|
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SYSROOT}")
|
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SYSROOT}")
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-miphoneos-version-min=${IOS_VERSION}")
|
ADD_PLATFORM_FLAGS("${XARCH}-miphoneos-version-min=${IOS_VERSION}")
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${XARCH}-Wl,-iphoneos_version_min,${IOS_VERSION}")
|
ADD_PLATFORM_LINKFLAGS("${XARCH}-Wl,-iphoneos_version_min,${IOS_VERSION}")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARMV7)
|
IF(TARGET_ARMV7)
|
||||||
|
@ -790,7 +809,7 @@ MACRO(NL_SETUP_BUILD)
|
||||||
|
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SYSROOT}")
|
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SYSROOT}")
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-miphoneos-version-min=${IOS_VERSION}")
|
ADD_PLATFORM_FLAGS("${XARCH}-miphoneos-version-min=${IOS_VERSION}")
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${XARCH}-Wl,-iphoneos_version_min,${IOS_VERSION}")
|
ADD_PLATFORM_LINKFLAGS("${XARCH}-Wl,-iphoneos_version_min,${IOS_VERSION}")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARMV6)
|
IF(TARGET_ARMV6)
|
||||||
|
@ -800,7 +819,7 @@ MACRO(NL_SETUP_BUILD)
|
||||||
|
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SYSROOT}")
|
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SYSROOT}")
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-miphoneos-version-min=${IOS_VERSION}")
|
ADD_PLATFORM_FLAGS("${XARCH}-miphoneos-version-min=${IOS_VERSION}")
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${XARCH}-Wl,-iphoneos_version_min,${IOS_VERSION}")
|
ADD_PLATFORM_LINKFLAGS("${XARCH}-Wl,-iphoneos_version_min,${IOS_VERSION}")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
@ -812,20 +831,27 @@ MACRO(NL_SETUP_BUILD)
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SIMULATOR_SYSROOT}")
|
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SIMULATOR_SYSROOT}")
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-mios-simulator-version-min=${IOS_VERSION}")
|
ADD_PLATFORM_FLAGS("${XARCH}-mios-simulator-version-min=${IOS_VERSION}")
|
||||||
IF(CMAKE_OSX_DEPLOYMENT_TARGET)
|
IF(CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${XARCH}-Wl,-macosx_version_min,${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
ADD_PLATFORM_LINKFLAGS("${XARCH}-Wl,-macosx_version_min,${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ELSE()
|
ELSE()
|
||||||
# Always force -mmacosx-version-min to override environement variable
|
# Always force -mmacosx-version-min to override environement variable
|
||||||
IF(CMAKE_OSX_DEPLOYMENT_TARGET)
|
IF(CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-macosx_version_min,${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
IF(CMAKE_OSX_DEPLOYMENT_TARGET VERSION_LESS "10.7")
|
||||||
|
MESSAGE(FATAL_ERROR "Minimum target for OS X is 10.7 but you're using ${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||||
|
ENDIF()
|
||||||
|
ADD_PLATFORM_LINKFLAGS("-Wl,-macosx_version_min,${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-headerpad_max_install_names")
|
# use libc++ under OX X to be able to use new C++ features (and else it'll use GCC 4.2.1 STL)
|
||||||
|
# minimum target is now OS X 10.7
|
||||||
|
SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} -stdlib=libc++")
|
||||||
|
|
||||||
|
ADD_PLATFORM_LINKFLAGS("-Wl,-headerpad_max_install_names")
|
||||||
|
|
||||||
IF(HAVE_FLAG_SEARCH_PATHS_FIRST)
|
IF(HAVE_FLAG_SEARCH_PATHS_FIRST)
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-search_paths_first")
|
ADD_PLATFORM_LINKFLAGS("-Wl,-search_paths_first")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ELSE()
|
ELSE()
|
||||||
|
@ -838,7 +864,13 @@ MACRO(NL_SETUP_BUILD)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
ADD_PLATFORM_FLAGS("-D_REENTRANT -fno-strict-aliasing")
|
# use c++0x standard to use std::unique_ptr and std::shared_ptr
|
||||||
|
SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} -std=c++0x")
|
||||||
|
|
||||||
|
ADD_PLATFORM_FLAGS("-D_REENTRANT")
|
||||||
|
|
||||||
|
# hardening
|
||||||
|
ADD_PLATFORM_FLAGS("-D_FORTIFY_SOURCE=2")
|
||||||
|
|
||||||
IF(NOT WITH_LOW_MEMORY)
|
IF(NOT WITH_LOW_MEMORY)
|
||||||
ADD_PLATFORM_FLAGS("-pipe")
|
ADD_PLATFORM_FLAGS("-pipe")
|
||||||
|
@ -849,7 +881,19 @@ MACRO(NL_SETUP_BUILD)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_WARNINGS)
|
IF(WITH_WARNINGS)
|
||||||
ADD_PLATFORM_FLAGS("-Wall -W -Wpointer-arith -Wsign-compare -Wno-deprecated-declarations -Wno-multichar -Wno-unused")
|
ADD_PLATFORM_FLAGS("-Wall")
|
||||||
|
ELSE()
|
||||||
|
# Check wrong formats in printf-like functions
|
||||||
|
ADD_PLATFORM_FLAGS("-Wformat -Werror=format-security")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# never display these warnings because they are minor
|
||||||
|
ADD_PLATFORM_FLAGS("-Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-value")
|
||||||
|
|
||||||
|
IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "6.0.0")
|
||||||
|
ADD_PLATFORM_FLAGS("-Wno-unused-local-typedefs")
|
||||||
|
ELSEIF(CLANG)
|
||||||
|
ADD_PLATFORM_FLAGS("-Wno-unused-private-field -Wno-unused-local-typedef")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(ANDROID)
|
IF(ANDROID)
|
||||||
|
@ -859,37 +903,33 @@ MACRO(NL_SETUP_BUILD)
|
||||||
ADD_PLATFORM_FLAGS("-Wa,--noexecstack")
|
ADD_PLATFORM_FLAGS("-Wa,--noexecstack")
|
||||||
|
|
||||||
IF(TARGET_ARM)
|
IF(TARGET_ARM)
|
||||||
ADD_PLATFORM_FLAGS("-fpic -fstack-protector")
|
ADD_PLATFORM_FLAGS("-fpic")
|
||||||
ADD_PLATFORM_FLAGS("-D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__")
|
ADD_PLATFORM_FLAGS("-D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__")
|
||||||
|
|
||||||
IF(TARGET_ARMV7)
|
IF(TARGET_ARMV7)
|
||||||
ADD_PLATFORM_FLAGS("-march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16")
|
ADD_PLATFORM_FLAGS("-march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16")
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -march=armv7-a -Wl,--fix-cortex-a8")
|
ADD_PLATFORM_LINKFLAGS("-march=armv7-a -Wl,--fix-cortex-a8")
|
||||||
ELSEIF(TARGET_ARMV5)
|
ELSEIF(TARGET_ARMV5)
|
||||||
ADD_PLATFORM_FLAGS("-march=armv5te -mtune=xscale -msoft-float")
|
ADD_PLATFORM_FLAGS("-march=armv5te -mtune=xscale -msoft-float")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
SET(TARGET_THUMB ON)
|
SET(TARGET_THUMB ON)
|
||||||
IF(TARGET_THUMB)
|
IF(TARGET_THUMB)
|
||||||
ADD_PLATFORM_FLAGS("-mthumb -fno-strict-aliasing -finline-limit=64")
|
ADD_PLATFORM_FLAGS("-mthumb -finline-limit=64")
|
||||||
SET(DEBUG_CFLAGS "${DEBUG_CFLAGS} -marm")
|
SET(DEBUG_CFLAGS "${DEBUG_CFLAGS} -marm")
|
||||||
ELSE()
|
ELSE()
|
||||||
ADD_PLATFORM_FLAGS("-funswitch-loops -finline-limit=300")
|
ADD_PLATFORM_FLAGS("-funswitch-loops -finline-limit=300")
|
||||||
SET(DEBUG_CFLAGS "${DEBUG_CFLAGS} -fno-strict-aliasing")
|
|
||||||
SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} -fstrict-aliasing")
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ELSEIF(TARGET_X86)
|
ELSEIF(TARGET_X86)
|
||||||
# Optimizations for Intel Atom
|
# Optimizations for Intel Atom
|
||||||
ADD_PLATFORM_FLAGS("-march=i686 -mtune=atom -mstackrealign -msse3 -mfpmath=sse -m32 -flto -ffast-math -funroll-loops")
|
ADD_PLATFORM_FLAGS("-march=i686 -mtune=atom -mstackrealign -msse3 -mfpmath=sse -m32 -flto -ffast-math -funroll-loops")
|
||||||
ADD_PLATFORM_FLAGS("-fstack-protector -funswitch-loops -finline-limit=300")
|
ADD_PLATFORM_FLAGS("-funswitch-loops -finline-limit=300")
|
||||||
SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} -fstrict-aliasing")
|
|
||||||
SET(DEBUG_CFLAGS "${DEBUG_CFLAGS} -fno-strict-aliasing")
|
|
||||||
ELSEIF(TARGET_MIPS)
|
ELSEIF(TARGET_MIPS)
|
||||||
ADD_PLATFORM_FLAGS("-fpic -finline-functions -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers -fno-strict-aliasing")
|
ADD_PLATFORM_FLAGS("-fpic -finline-functions -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers")
|
||||||
SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} -funswitch-loops -finline-limit=300")
|
SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} -funswitch-loops -finline-limit=300")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now")
|
ADD_PLATFORM_LINKFLAGS("-Wl,-z,noexecstack")
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -L${PLATFORM_ROOT}/usr/lib")
|
ADD_PLATFORM_LINKFLAGS("-L${PLATFORM_ROOT}/usr/lib")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(APPLE)
|
IF(APPLE)
|
||||||
|
@ -897,14 +937,30 @@ MACRO(NL_SETUP_BUILD)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
# Fix "relocation R_X86_64_32 against.." error on x64 platforms
|
# Fix "relocation R_X86_64_32 against.." error on x64 platforms
|
||||||
IF(TARGET_X64 AND WITH_STATIC AND NOT WITH_STATIC_DRIVERS AND NOT MINGW)
|
IF(NOT MINGW)
|
||||||
ADD_PLATFORM_FLAGS("-fPIC")
|
ADD_PLATFORM_FLAGS("-fPIC")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} -ftemplate-depth-48")
|
SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} -ftemplate-depth-48")
|
||||||
|
|
||||||
|
# hardening
|
||||||
|
ADD_PLATFORM_FLAGS("-fstack-protector --param=ssp-buffer-size=4")
|
||||||
|
|
||||||
|
# If -fstack-protector or -fstack-protector-all enabled, enable too new warnings and fix possible link problems
|
||||||
|
IF(WITH_WARNINGS)
|
||||||
|
ADD_PLATFORM_FLAGS("-Wstack-protector")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# Fix undefined reference to `__stack_chk_fail' error
|
||||||
|
ADD_PLATFORM_LINKFLAGS("-lc")
|
||||||
|
|
||||||
IF(NOT APPLE)
|
IF(NOT APPLE)
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,--no-undefined -Wl,--as-needed")
|
ADD_PLATFORM_LINKFLAGS("-Wl,--no-undefined -Wl,--as-needed")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF(NOT APPLE)
|
||||||
|
# hardening
|
||||||
|
ADD_PLATFORM_LINKFLAGS("-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_SYMBOLS)
|
IF(WITH_SYMBOLS)
|
||||||
|
@ -920,7 +976,7 @@ MACRO(NL_SETUP_BUILD)
|
||||||
SET(NL_DEBUG_CFLAGS "-g -DNL_DEBUG -D_DEBUG ${NL_DEBUG_CFLAGS}")
|
SET(NL_DEBUG_CFLAGS "-g -DNL_DEBUG -D_DEBUG ${NL_DEBUG_CFLAGS}")
|
||||||
SET(NL_RELEASE_CFLAGS "-DNL_RELEASE -DNDEBUG -O3 ${NL_RELEASE_CFLAGS}")
|
SET(NL_RELEASE_CFLAGS "-DNL_RELEASE -DNDEBUG -O3 ${NL_RELEASE_CFLAGS}")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDMACRO(NL_SETUP_BUILD)
|
ENDMACRO()
|
||||||
|
|
||||||
MACRO(NL_SETUP_BUILD_FLAGS)
|
MACRO(NL_SETUP_BUILD_FLAGS)
|
||||||
SET(CMAKE_C_FLAGS ${PLATFORM_CFLAGS} CACHE STRING "" FORCE)
|
SET(CMAKE_C_FLAGS ${PLATFORM_CFLAGS} CACHE STRING "" FORCE)
|
||||||
|
|
1347
code/CMakeModules/nel.cmake.BACKUP.4553.cmake
Normal file
1347
code/CMakeModules/nel.cmake.BACKUP.4553.cmake
Normal file
File diff suppressed because it is too large
Load diff
0
code/CMakeModules/nel.cmake.BASE.4553.cmake
Normal file
0
code/CMakeModules/nel.cmake.BASE.4553.cmake
Normal file
1146
code/CMakeModules/nel.cmake.LOCAL.4553.cmake
Normal file
1146
code/CMakeModules/nel.cmake.LOCAL.4553.cmake
Normal file
File diff suppressed because it is too large
Load diff
1202
code/CMakeModules/nel.cmake.REMOTE.4553.cmake
Normal file
1202
code/CMakeModules/nel.cmake.REMOTE.4553.cmake
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,3 @@
|
||||||
PROJECT(NeL CXX C)
|
|
||||||
|
|
||||||
IF(WITH_STATIC_DRIVERS)
|
IF(WITH_STATIC_DRIVERS)
|
||||||
ADD_DEFINITIONS(-DNL_STATIC)
|
ADD_DEFINITIONS(-DNL_STATIC)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -17,7 +15,6 @@ IF(WITH_3D)
|
||||||
IF(WITH_NEL_CEGUI)
|
IF(WITH_NEL_CEGUI)
|
||||||
FIND_PACKAGE(CEGUI)
|
FIND_PACKAGE(CEGUI)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_SOUND)
|
IF(WITH_SOUND)
|
||||||
|
|
|
@ -19,6 +19,8 @@
|
||||||
|
|
||||||
#include "nel/misc/types_nl.h"
|
#include "nel/misc/types_nl.h"
|
||||||
#include "nel/misc/bit_set.h"
|
#include "nel/misc/bit_set.h"
|
||||||
|
#include "nel/misc/smart_ptr.h"
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
|
@ -21,13 +21,17 @@
|
||||||
#include "nel/misc/types_nl.h"
|
#include "nel/misc/types_nl.h"
|
||||||
#include "nel/misc/smart_ptr.h"
|
#include "nel/misc/smart_ptr.h"
|
||||||
#include "nel/3d/animatable.h"
|
#include "nel/3d/animatable.h"
|
||||||
|
|
||||||
#include "nel/3d/track.h"
|
#include "nel/3d/track.h"
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
|
|
||||||
namespace NL3D
|
namespace NL3D
|
||||||
{
|
{
|
||||||
|
|
||||||
|
class CScene;
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
/**
|
/**
|
||||||
* An animated lightmap
|
* An animated lightmap
|
||||||
|
|
|
@ -93,7 +93,7 @@ public:
|
||||||
uint addAnimation (const char* fileName, const char* animName, bool displayMissingFileWarning = true)
|
uint addAnimation (const char* fileName, const char* animName, bool displayMissingFileWarning = true)
|
||||||
{
|
{
|
||||||
// Allocate an animation
|
// Allocate an animation
|
||||||
std::auto_ptr<CAnimation> anim (new CAnimation);
|
CUniquePtr<CAnimation> anim (new CAnimation);
|
||||||
|
|
||||||
// Read it
|
// Read it
|
||||||
NLMISC::CIFile file;
|
NLMISC::CIFile file;
|
||||||
|
@ -130,7 +130,7 @@ public:
|
||||||
virtual uint addSkeletonWeight (const char* fileName, const char* skelName)
|
virtual uint addSkeletonWeight (const char* fileName, const char* skelName)
|
||||||
{
|
{
|
||||||
// Allocate an animation
|
// Allocate an animation
|
||||||
std::auto_ptr<CSkeletonWeight> skeletonWeight (new CSkeletonWeight);
|
CUniquePtr<CSkeletonWeight> skeletonWeight (new CSkeletonWeight);
|
||||||
|
|
||||||
// Read it
|
// Read it
|
||||||
NLMISC::CIFile file;
|
NLMISC::CIFile file;
|
||||||
|
|
|
@ -88,7 +88,7 @@ private:
|
||||||
public:
|
public:
|
||||||
std::string MeshName;
|
std::string MeshName;
|
||||||
public:
|
public:
|
||||||
CMeshLoad (const std::string &meshName, IShape **ppShp, IDriver *pDriver, const CVector &position, uint selectedTexture);
|
CMeshLoad (const std::string &meshName, IShape **ppShp, IDriver *pDriver, const NLMISC::CVector &position, uint selectedTexture);
|
||||||
void run (void);
|
void run (void);
|
||||||
void getName (std::string &result) const;
|
void getName (std::string &result) const;
|
||||||
};
|
};
|
||||||
|
@ -122,7 +122,7 @@ private:
|
||||||
CTextureFile *TextureFile;
|
CTextureFile *TextureFile;
|
||||||
bool *Signal;
|
bool *Signal;
|
||||||
public:
|
public:
|
||||||
CTextureLoad(CTextureFile *textureFile, bool *psgn, const CVector &position)
|
CTextureLoad(CTextureFile *textureFile, bool *psgn, const NLMISC::CVector &position)
|
||||||
: TextureFile(textureFile), Signal(psgn)
|
: TextureFile(textureFile), Signal(psgn)
|
||||||
{
|
{
|
||||||
Position = position;
|
Position = position;
|
||||||
|
|
|
@ -152,7 +152,7 @@ private:
|
||||||
struct CTextureLodToSort
|
struct CTextureLodToSort
|
||||||
{
|
{
|
||||||
CTextureLod *Lod;
|
CTextureLod *Lod;
|
||||||
CVector Position;
|
NLMISC::CVector Position;
|
||||||
bool operator<(const CTextureLodToSort &other) const
|
bool operator<(const CTextureLodToSort &other) const
|
||||||
{
|
{
|
||||||
return Lod->Weight<other.Lod->Weight;
|
return Lod->Weight<other.Lod->Weight;
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
#include "nel/misc/types_nl.h"
|
#include "nel/misc/types_nl.h"
|
||||||
#include "nel/misc/vector.h"
|
#include "nel/misc/vector.h"
|
||||||
#include "nel/misc/plane.h"
|
#include "nel/misc/plane.h"
|
||||||
|
#include "nel/misc/aabbox.h"
|
||||||
|
|
||||||
|
|
||||||
namespace NL3D {
|
namespace NL3D {
|
||||||
|
@ -39,16 +40,16 @@ public:
|
||||||
|
|
||||||
/** build the camera collision as a cone or a cylinder
|
/** build the camera collision as a cone or a cylinder
|
||||||
*/
|
*/
|
||||||
void build(const CVector &start, const CVector &end, float radius, bool cone);
|
void build(const NLMISC::CVector &start, const NLMISC::CVector &end, float radius, bool cone);
|
||||||
|
|
||||||
/** build the camera collision as a simple ray
|
/** build the camera collision as a simple ray
|
||||||
*/
|
*/
|
||||||
void buildRay(const CVector &start, const CVector &end);
|
void buildRay(const NLMISC::CVector &start, const NLMISC::CVector &end);
|
||||||
|
|
||||||
/** compute the intersection of the Camera Volume against the triangle, and minimize
|
/** compute the intersection of the Camera Volume against the triangle, and minimize
|
||||||
* minDist (actual square of distance) with min sqr distance of the poly.
|
* minDist (actual square of distance) with min sqr distance of the poly.
|
||||||
*/
|
*/
|
||||||
void minimizeDistanceAgainstTri(const CVector &p0, const CVector &p1, const CVector &p2, float &sqrMinDist);
|
void minimizeDistanceAgainstTri(const NLMISC::CVector &p0, const NLMISC::CVector &p1, const NLMISC::CVector &p2, float &sqrMinDist);
|
||||||
|
|
||||||
/** Compute into this the camera collision 'other' mul by 'matrix'
|
/** Compute into this the camera collision 'other' mul by 'matrix'
|
||||||
* NB: for cone Radius, suppose uniform scale, else will have strange result (a uniform scale is deduced)
|
* NB: for cone Radius, suppose uniform scale, else will have strange result (a uniform scale is deduced)
|
||||||
|
@ -69,9 +70,9 @@ private:
|
||||||
enum {MaxNPlanes=6};
|
enum {MaxNPlanes=6};
|
||||||
|
|
||||||
// The start of the camera raycast
|
// The start of the camera raycast
|
||||||
CVector _Start;
|
NLMISC::CVector _Start;
|
||||||
// The end of the camera raycast
|
// The end of the camera raycast
|
||||||
CVector _End;
|
NLMISC::CVector _End;
|
||||||
// The radius (at end only if cone)
|
// The radius (at end only if cone)
|
||||||
float _Radius;
|
float _Radius;
|
||||||
// cone or cylinder?
|
// cone or cylinder?
|
||||||
|
@ -83,8 +84,8 @@ private:
|
||||||
NLMISC::CAABBox _BBox;
|
NLMISC::CAABBox _BBox;
|
||||||
|
|
||||||
// Temp Data for minimizeDistanceAgainstTri
|
// Temp Data for minimizeDistanceAgainstTri
|
||||||
CVector _ArrayIn[3+MaxNPlanes];
|
NLMISC::CVector _ArrayIn[3+MaxNPlanes];
|
||||||
CVector _ArrayOut[3+MaxNPlanes];
|
NLMISC::CVector _ArrayOut[3+MaxNPlanes];
|
||||||
|
|
||||||
// The pyramid representing the camera collision volume. Nb: local to start for precision problems
|
// The pyramid representing the camera collision volume. Nb: local to start for precision problems
|
||||||
NLMISC::CPlane _Pyramid[MaxNPlanes];
|
NLMISC::CPlane _Pyramid[MaxNPlanes];
|
||||||
|
@ -97,10 +98,10 @@ private:
|
||||||
float _MaxRadiusProj;
|
float _MaxRadiusProj;
|
||||||
float _OODeltaRadiusProj;
|
float _OODeltaRadiusProj;
|
||||||
float _RayLen;
|
float _RayLen;
|
||||||
CVector _RayNorm;
|
NLMISC::CVector _RayNorm;
|
||||||
|
|
||||||
// simpler method for simple ray
|
// simpler method for simple ray
|
||||||
void intersectRay(const CVector &p0, const CVector &p1, const CVector &p2, float &sqrMinDist);
|
void intersectRay(const NLMISC::CVector &p0, const NLMISC::CVector &p1, const NLMISC::CVector &p2, float &sqrMinDist);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,7 @@ namespace NL3D
|
||||||
class UDriver;
|
class UDriver;
|
||||||
class UCamera;
|
class UCamera;
|
||||||
class CCloudScape;
|
class CCloudScape;
|
||||||
|
class CScene;
|
||||||
|
|
||||||
/// implementation of UWaterInstance methods
|
/// implementation of UWaterInstance methods
|
||||||
class CCloudScapeUser : public UCloudScape
|
class CCloudScapeUser : public UCloudScape
|
||||||
|
|
|
@ -120,7 +120,7 @@ public:
|
||||||
|
|
||||||
void setWorldMatrix (const NLMISC::CMatrix &WM);
|
void setWorldMatrix (const NLMISC::CMatrix &WM);
|
||||||
|
|
||||||
bool isRoot() { return _LocalVolume.size() == 0; }
|
bool isRoot() { return _LocalVolume.empty(); }
|
||||||
|
|
||||||
//\name Sound related.
|
//\name Sound related.
|
||||||
//@{
|
//@{
|
||||||
|
|
|
@ -84,7 +84,7 @@ public:
|
||||||
void setTextureFile (const char* file);
|
void setTextureFile (const char* file);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a coarse mesh in the manager. If an error occured, it returns CantAddCoarseMesh.
|
* Add a coarse mesh in the manager. If an error occurred, it returns CantAddCoarseMesh.
|
||||||
* \param vBuffer the VertexBuffer pre-transformed / Colored. Size MUST be numVertices*NL3D_COARSEMESH_VERTEX_FORMAT_MGR
|
* \param vBuffer the VertexBuffer pre-transformed / Colored. Size MUST be numVertices*NL3D_COARSEMESH_VERTEX_FORMAT_MGR
|
||||||
* \param indexBuffer containing triangles that will be inserted.
|
* \param indexBuffer containing triangles that will be inserted.
|
||||||
* \return false if the mesh can't be added to this pass BECAUSE OF TOO MANY VERTICES or TOO MANY PRIMITIVES reason
|
* \return false if the mesh can't be added to this pass BECAUSE OF TOO MANY VERTICES or TOO MANY PRIMITIVES reason
|
||||||
|
|
|
@ -48,7 +48,7 @@ public:
|
||||||
static void releaseInstance();
|
static void releaseInstance();
|
||||||
|
|
||||||
/// convert a HLS (0..255) to a RGBA.
|
/// convert a HLS (0..255) to a RGBA.
|
||||||
CRGBA convert(uint H, uint L, uint S);
|
NLMISC::CRGBA convert(uint H, uint L, uint S);
|
||||||
|
|
||||||
/// convert a RGBA bitmap into another RGBA, with HLS decal (0..255, -255..+255, -255..+255).
|
/// convert a RGBA bitmap into another RGBA, with HLS decal (0..255, -255..+255, -255..+255).
|
||||||
void convertRGBABitmap(NLMISC::CBitmap &dst, const NLMISC::CBitmap &src, uint8 dh, sint dl, sint ds);
|
void convertRGBABitmap(NLMISC::CBitmap &dst, const NLMISC::CBitmap &src, uint8 dh, sint dl, sint ds);
|
||||||
|
@ -75,7 +75,7 @@ private:
|
||||||
uint8 H,L,S,A;
|
uint8 H,L,S,A;
|
||||||
};
|
};
|
||||||
|
|
||||||
CRGBA _HueTable[HueTableSize];
|
NLMISC::CRGBA _HueTable[HueTableSize];
|
||||||
CHLSA _Color16ToHLS[65536];
|
CHLSA _Color16ToHLS[65536];
|
||||||
|
|
||||||
/// Constructor
|
/// Constructor
|
||||||
|
|
|
@ -27,7 +27,8 @@
|
||||||
|
|
||||||
#ifndef NL3D_GPU_PROGRAM_PARAMS_H
|
#ifndef NL3D_GPU_PROGRAM_PARAMS_H
|
||||||
#define NL3D_GPU_PROGRAM_PARAMS_H
|
#define NL3D_GPU_PROGRAM_PARAMS_H
|
||||||
#include <nel/misc/types_nl.h>
|
|
||||||
|
#include "nel/misc/types_nl.h"
|
||||||
|
|
||||||
// STL includes
|
// STL includes
|
||||||
#include <map>
|
#include <map>
|
||||||
|
@ -167,7 +168,7 @@ private:
|
||||||
std::map<std::string, size_t> m_MapName; // map from name to offset
|
std::map<std::string, size_t> m_MapName; // map from name to offset
|
||||||
size_t m_First;
|
size_t m_First;
|
||||||
size_t m_Last;
|
size_t m_Last;
|
||||||
static const size_t s_End = -1;
|
static const size_t s_End;
|
||||||
|
|
||||||
}; /* class CGPUProgramParams */
|
}; /* class CGPUProgramParams */
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
namespace NL3D
|
namespace NL3D
|
||||||
{
|
{
|
||||||
|
|
||||||
|
class CInstanceGroup;
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
/**
|
/**
|
||||||
|
@ -106,14 +107,14 @@ public:
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/// Debug: build a colored Grid mesh of SunContribution.
|
/// Debug: build a colored Grid mesh of SunContribution.
|
||||||
void buildSunDebugMesh(CMesh::CMeshBuild &meshBuild, CMeshBase::CMeshBaseBuild &meshBaseBuild, const CVector &deltaPos=CVector::Null);
|
void buildSunDebugMesh(CMesh::CMeshBuild &meshBuild, CMeshBase::CMeshBaseBuild &meshBaseBuild, const NLMISC::CVector &deltaPos= NLMISC::CVector::Null);
|
||||||
|
|
||||||
/// Debug: build a colored Grid mesh of PointLight. R= pointLight1 id. G= PointLight2 id. B= The multiplier used to show Ids.
|
/// Debug: build a colored Grid mesh of PointLight. R= pointLight1 id. G= PointLight2 id. B= The multiplier used to show Ids.
|
||||||
void buildPLDebugMesh(CMesh::CMeshBuild &meshBuild, CMeshBase::CMeshBaseBuild &meshBaseBuild, const CVector &deltaPos, const CInstanceGroup &igOut);
|
void buildPLDebugMesh(CMesh::CMeshBuild &meshBuild, CMeshBase::CMeshBaseBuild &meshBaseBuild, const NLMISC::CVector &deltaPos, const CInstanceGroup &igOut);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void addDebugMeshFaces(CMesh::CMeshBuild &meshBuild, CSurface &surface, uint vId0,
|
void addDebugMeshFaces(CMesh::CMeshBuild &meshBuild, CSurface &surface, uint vId0,
|
||||||
const std::vector<CRGBA> &colors);
|
const std::vector<NLMISC::CRGBA> &colors);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -716,7 +716,7 @@ private:
|
||||||
bool _RefineMode;
|
bool _RefineMode;
|
||||||
float _FarTransition;
|
float _FarTransition;
|
||||||
uint _TileMaxSubdivision;
|
uint _TileMaxSubdivision;
|
||||||
// For VertexProgram. true if change has occured in threshold since the last render().
|
// For VertexProgram. true if change has occurred in threshold since the last render().
|
||||||
float _VPThresholdChange;
|
float _VPThresholdChange;
|
||||||
|
|
||||||
/// \name VertexBuffer mgt.
|
/// \name VertexBuffer mgt.
|
||||||
|
|
|
@ -692,7 +692,7 @@ private:
|
||||||
{
|
{
|
||||||
NLMISC::CMatrix TexMat[IDRV_MAT_MAXTEXTURES];
|
NLMISC::CMatrix TexMat[IDRV_MAT_MAXTEXTURES];
|
||||||
};
|
};
|
||||||
std::auto_ptr<CUserTexMat> _TexUserMat; // user texture matrix
|
CUniquePtr<CUserTexMat> _TexUserMat; // user texture matrix
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Private. For Driver only.
|
// Private. For Driver only.
|
||||||
|
|
|
@ -47,7 +47,7 @@ public:
|
||||||
float a31, a32, a33, a34;
|
float a31, a32, a33, a34;
|
||||||
|
|
||||||
// Copy from a matrix.
|
// Copy from a matrix.
|
||||||
void set(const CMatrix &mat)
|
void set(const NLMISC::CMatrix &mat)
|
||||||
{
|
{
|
||||||
const float *m =mat.get();
|
const float *m =mat.get();
|
||||||
a11= m[0]; a12= m[4]; a13= m[8] ; a14= m[12];
|
a11= m[0]; a12= m[4]; a13= m[8] ; a14= m[12];
|
||||||
|
@ -57,14 +57,14 @@ public:
|
||||||
|
|
||||||
|
|
||||||
// mulSetvector. NB: in should be different as v!! (else don't work).
|
// mulSetvector. NB: in should be different as v!! (else don't work).
|
||||||
void mulSetVector(const CVector &in, CVector &out)
|
void mulSetVector(const NLMISC::CVector &in, NLMISC::CVector &out)
|
||||||
{
|
{
|
||||||
out.x= (a11*in.x + a12*in.y + a13*in.z);
|
out.x= (a11*in.x + a12*in.y + a13*in.z);
|
||||||
out.y= (a21*in.x + a22*in.y + a23*in.z);
|
out.y= (a21*in.x + a22*in.y + a23*in.z);
|
||||||
out.z= (a31*in.x + a32*in.y + a33*in.z);
|
out.z= (a31*in.x + a32*in.y + a33*in.z);
|
||||||
}
|
}
|
||||||
// mulSetpoint. NB: in should be different as v!! (else don't work).
|
// mulSetpoint. NB: in should be different as v!! (else don't work).
|
||||||
void mulSetPoint(const CVector &in, CVector &out)
|
void mulSetPoint(const NLMISC::CVector &in, NLMISC::CVector &out)
|
||||||
{
|
{
|
||||||
out.x= (a11*in.x + a12*in.y + a13*in.z + a14);
|
out.x= (a11*in.x + a12*in.y + a13*in.z + a14);
|
||||||
out.y= (a21*in.x + a22*in.y + a23*in.z + a24);
|
out.y= (a21*in.x + a22*in.y + a23*in.z + a24);
|
||||||
|
@ -73,14 +73,14 @@ public:
|
||||||
|
|
||||||
|
|
||||||
// mulSetvector. NB: in should be different as v!! (else don't work).
|
// mulSetvector. NB: in should be different as v!! (else don't work).
|
||||||
void mulSetVector(const CVector &in, float scale, CVector &out)
|
void mulSetVector(const NLMISC::CVector &in, float scale, NLMISC::CVector &out)
|
||||||
{
|
{
|
||||||
out.x= (a11*in.x + a12*in.y + a13*in.z) * scale;
|
out.x= (a11*in.x + a12*in.y + a13*in.z) * scale;
|
||||||
out.y= (a21*in.x + a22*in.y + a23*in.z) * scale;
|
out.y= (a21*in.x + a22*in.y + a23*in.z) * scale;
|
||||||
out.z= (a31*in.x + a32*in.y + a33*in.z) * scale;
|
out.z= (a31*in.x + a32*in.y + a33*in.z) * scale;
|
||||||
}
|
}
|
||||||
// mulSetpoint. NB: in should be different as v!! (else don't work).
|
// mulSetpoint. NB: in should be different as v!! (else don't work).
|
||||||
void mulSetPoint(const CVector &in, float scale, CVector &out)
|
void mulSetPoint(const NLMISC::CVector &in, float scale, NLMISC::CVector &out)
|
||||||
{
|
{
|
||||||
out.x= (a11*in.x + a12*in.y + a13*in.z + a14) * scale;
|
out.x= (a11*in.x + a12*in.y + a13*in.z + a14) * scale;
|
||||||
out.y= (a21*in.x + a22*in.y + a23*in.z + a24) * scale;
|
out.y= (a21*in.x + a22*in.y + a23*in.z + a24) * scale;
|
||||||
|
@ -89,14 +89,14 @@ public:
|
||||||
|
|
||||||
|
|
||||||
// mulAddvector. NB: in should be different as v!! (else don't work).
|
// mulAddvector. NB: in should be different as v!! (else don't work).
|
||||||
void mulAddVector(const CVector &in, float scale, CVector &out)
|
void mulAddVector(const NLMISC::CVector &in, float scale, NLMISC::CVector &out)
|
||||||
{
|
{
|
||||||
out.x+= (a11*in.x + a12*in.y + a13*in.z) * scale;
|
out.x+= (a11*in.x + a12*in.y + a13*in.z) * scale;
|
||||||
out.y+= (a21*in.x + a22*in.y + a23*in.z) * scale;
|
out.y+= (a21*in.x + a22*in.y + a23*in.z) * scale;
|
||||||
out.z+= (a31*in.x + a32*in.y + a33*in.z) * scale;
|
out.z+= (a31*in.x + a32*in.y + a33*in.z) * scale;
|
||||||
}
|
}
|
||||||
// mulAddpoint. NB: in should be different as v!! (else don't work).
|
// mulAddpoint. NB: in should be different as v!! (else don't work).
|
||||||
void mulAddPoint(const CVector &in, float scale, CVector &out)
|
void mulAddPoint(const NLMISC::CVector &in, float scale, NLMISC::CVector &out)
|
||||||
{
|
{
|
||||||
out.x+= (a11*in.x + a12*in.y + a13*in.z + a14) * scale;
|
out.x+= (a11*in.x + a12*in.y + a13*in.z + a14) * scale;
|
||||||
out.y+= (a21*in.x + a22*in.y + a23*in.z + a24) * scale;
|
out.y+= (a21*in.x + a22*in.y + a23*in.z + a24) * scale;
|
||||||
|
|
|
@ -124,7 +124,7 @@ private:
|
||||||
double _LastSceneTime;
|
double _LastSceneTime;
|
||||||
|
|
||||||
// maximum amplitude vector for each level. Stored in mesh because same for all instances.
|
// maximum amplitude vector for each level. Stored in mesh because same for all instances.
|
||||||
CVector _MaxDeltaPos[HrcDepth];
|
NLMISC::CVector _MaxDeltaPos[HrcDepth];
|
||||||
float _MaxVertexMove;
|
float _MaxVertexMove;
|
||||||
|
|
||||||
// MBR Cache
|
// MBR Cache
|
||||||
|
|
|
@ -841,7 +841,7 @@ public:
|
||||||
|
|
||||||
|
|
||||||
/// return true when there are still emitters in the system
|
/// return true when there are still emitters in the system
|
||||||
bool hasEmitters(void) const;
|
bool hasEmitters() const;
|
||||||
|
|
||||||
/// return true when there are still particles
|
/// return true when there are still particles
|
||||||
bool hasParticles() const;
|
bool hasParticles() const;
|
||||||
|
|
|
@ -87,7 +87,7 @@ private:
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CParticleSystemModel *Model;
|
CParticleSystemModel *Model;
|
||||||
CMatrix OldAncestorMatOrRelPos; // last matrix of ancestor skeleton or relative matrix of ps to its ancestor (see flag below)
|
NLMISC::CMatrix OldAncestorMatOrRelPos; // last matrix of ancestor skeleton or relative matrix of ps to its ancestor (see flag below)
|
||||||
bool IsRelMatrix; // gives usage of the field OldAncestorMatOrRelPos
|
bool IsRelMatrix; // gives usage of the field OldAncestorMatOrRelPos
|
||||||
bool HasAncestorSkeleton; // has the system an ancestor skeleton ?
|
bool HasAncestorSkeleton; // has the system an ancestor skeleton ?
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -163,10 +163,10 @@ class CParticleSystemProcess : public NLMISC::IStreamable
|
||||||
virtual void setMatrixMode(TPSMatrixMode matrixMode);
|
virtual void setMatrixMode(TPSMatrixMode matrixMode);
|
||||||
|
|
||||||
/// tells whether there are alive entities / particles in the system
|
/// tells whether there are alive entities / particles in the system
|
||||||
virtual bool hasParticles(void) const { return false ; }
|
virtual bool hasParticles() const { return false ; }
|
||||||
|
|
||||||
/// tells whether there are alive emitters / particles in the system
|
/// tells whether there are alive emitters / particles in the system
|
||||||
virtual bool hasEmitters(void) const { return false ; }
|
virtual bool hasEmitters() const { return false ; }
|
||||||
|
|
||||||
|
|
||||||
/// max number of faces wanted by this process (for load balancing)
|
/// max number of faces wanted by this process (for load balancing)
|
||||||
|
|
|
@ -92,9 +92,9 @@ public:
|
||||||
void setWorldMatrix (const NLMISC::CMatrix &WM);
|
void setWorldMatrix (const NLMISC::CMatrix &WM);
|
||||||
|
|
||||||
|
|
||||||
void setName (std::string &name) { _Name = name; }
|
void setName (const std::string &name) { _Name = name; }
|
||||||
|
|
||||||
std::string getName () { return _Name; }
|
std::string getName () const { return _Name; }
|
||||||
|
|
||||||
void open (bool opened) { _Opened = opened; }
|
void open (bool opened) { _Opened = opened; }
|
||||||
bool isOpened () { return _Opened; }
|
bool isOpened () { return _Opened; }
|
||||||
|
|
|
@ -282,7 +282,7 @@ inline float CPSAttribMakerBinOp<float>::getMaxValue(void) const
|
||||||
template <class T>
|
template <class T>
|
||||||
inline CPSAttribMakerBinOp<T>::CPSAttribMakerBinOp(const CPSAttribMakerBinOp &other) : CPSAttribMaker<T>(other) // parent copy ctor
|
inline CPSAttribMakerBinOp<T>::CPSAttribMakerBinOp(const CPSAttribMakerBinOp &other) : CPSAttribMaker<T>(other) // parent copy ctor
|
||||||
{
|
{
|
||||||
std::auto_ptr<CPSAttribMaker<T> > a0(NLMISC::safe_cast<CPSAttribMaker<T> *>(other._Arg[0]->clone()))
|
CUniquePtr<CPSAttribMaker<T> > a0(NLMISC::safe_cast<CPSAttribMaker<T> *>(other._Arg[0]->clone()))
|
||||||
, a1(NLMISC::safe_cast<CPSAttribMaker<T> *>(other._Arg[1]->clone()));
|
, a1(NLMISC::safe_cast<CPSAttribMaker<T> *>(other._Arg[1]->clone()));
|
||||||
this->_Op = other._Op;
|
this->_Op = other._Op;
|
||||||
this->_Size = other._Size;
|
this->_Size = other._Size;
|
||||||
|
|
|
@ -1463,7 +1463,7 @@ public:
|
||||||
CPSAttribMakerMemoryBase(const CPSAttribMakerMemoryBase &src) : CPSAttribMaker<T>(src) // parent copy ctor
|
CPSAttribMakerMemoryBase(const CPSAttribMakerMemoryBase &src) : CPSAttribMaker<T>(src) // parent copy ctor
|
||||||
{
|
{
|
||||||
nlassert(src._Scheme);
|
nlassert(src._Scheme);
|
||||||
std::auto_ptr<CPSAttribMaker<T> > s(NLMISC::safe_cast<CPSAttribMaker<T> *>(src._Scheme->clone()));
|
CUniquePtr<CPSAttribMaker<T> > s(NLMISC::safe_cast<CPSAttribMaker<T> *>(src._Scheme->clone()));
|
||||||
this->_T = src._T;
|
this->_T = src._T;
|
||||||
this->_DefaultValue = src._DefaultValue;
|
this->_DefaultValue = src._DefaultValue;
|
||||||
this->_Scheme = s.release();
|
this->_Scheme = s.release();
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include "nel/misc/rgba.h"
|
#include "nel/misc/rgba.h"
|
||||||
#include "nel/misc/traits_nl.h"
|
#include "nel/misc/traits_nl.h"
|
||||||
|
|
||||||
|
#include <iterator>
|
||||||
|
|
||||||
namespace NL3D {
|
namespace NL3D {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -480,7 +482,11 @@ void CPSValueGradientFunc<T>::setValuesUnpacked(const T *valueTab, uint32 numVal
|
||||||
_MaxValue = _MinValue = valueTab[0];
|
_MaxValue = _MinValue = valueTab[0];
|
||||||
_NbValues = (numValues - 1) * nbStages;
|
_NbValues = (numValues - 1) * nbStages;
|
||||||
_Tab.resize(_NbValues + 1);
|
_Tab.resize(_NbValues + 1);
|
||||||
|
#ifdef NL_COMP_VC14
|
||||||
|
std::copy(valueTab, valueTab + _NbValues + 1, stdext::make_checked_array_iterator(&_Tab[0], _Tab.size()));
|
||||||
|
#else
|
||||||
std::copy(valueTab, valueTab + _NbValues + 1, &_Tab[0]);
|
std::copy(valueTab, valueTab + _NbValues + 1, &_Tab[0]);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -51,14 +51,14 @@ public:
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
/// Return this bindable type
|
/// Return this bindable type
|
||||||
uint32 getType(void) const { return PSEmitter; }
|
uint32 getType() const { return PSEmitter; }
|
||||||
|
|
||||||
|
|
||||||
/// Return priority for emitters
|
/// Return priority for emitters
|
||||||
virtual uint32 getPriority(void) const { return 500; }
|
virtual uint32 getPriority() const { return 500; }
|
||||||
|
|
||||||
/// Return true if this located bindable derived class holds alive emitters
|
/// Return true if this located bindable derived class holds alive emitters
|
||||||
virtual bool hasEmitters(void) { nlassert(_Owner); return _Owner->getSize() != 0; }
|
virtual bool hasEmitters() const { nlassert(_Owner); return _Owner->getSize() != 0; }
|
||||||
|
|
||||||
|
|
||||||
virtual void step(TPSProcessPass pass);
|
virtual void step(TPSProcessPass pass);
|
||||||
|
@ -76,7 +76,7 @@ public:
|
||||||
|
|
||||||
|
|
||||||
/// Display the emitter in edition mode
|
/// Display the emitter in edition mode
|
||||||
virtual void showTool(void);
|
virtual void showTool();
|
||||||
|
|
||||||
/** Set the type of located to be emitted. The default is NULL which mean that no emission will occur
|
/** Set the type of located to be emitted. The default is NULL which mean that no emission will occur
|
||||||
* \return true if the operation could be performed. It can fail when this cause the system the system to last forever,
|
* \return true if the operation could be performed. It can fail when this cause the system the system to last forever,
|
||||||
|
@ -90,9 +90,9 @@ public:
|
||||||
virtual void notifyTargetRemoved(CPSLocated *ptr);
|
virtual void notifyTargetRemoved(CPSLocated *ptr);
|
||||||
|
|
||||||
/// Get emitted type.
|
/// Get emitted type.
|
||||||
CPSLocated *getEmittedType(void) { return _EmittedType; }
|
CPSLocated *getEmittedType() { return _EmittedType; }
|
||||||
/// Get const ptr on emitted type
|
/// Get const ptr on emitted type
|
||||||
const CPSLocated *getEmittedType(void) const { return _EmittedType; }
|
const CPSLocated *getEmittedType() const { return _EmittedType; }
|
||||||
|
|
||||||
|
|
||||||
/** The type of emission.
|
/** The type of emission.
|
||||||
|
@ -336,7 +336,7 @@ protected:
|
||||||
* should not be called directly. Call CPSLocated::resize instead
|
* should not be called directly. Call CPSLocated::resize instead
|
||||||
*/
|
*/
|
||||||
virtual void resize(uint32 size);
|
virtual void resize(uint32 size);
|
||||||
virtual void bounceOccured(uint32 index, TAnimationTime timeToNextSimStep);
|
virtual void bounceOccurred(uint32 index, TAnimationTime timeToNextSimStep);
|
||||||
void updateMaxCountVect();
|
void updateMaxCountVect();
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -66,14 +66,14 @@ class CParticleSystem;
|
||||||
|
|
||||||
|
|
||||||
/// This structure helps to perform the collision step, by telling which collisionner is the nearest if there are several candidate
|
/// This structure helps to perform the collision step, by telling which collisionner is the nearest if there are several candidate
|
||||||
/// a distance of -1 indicates that no collisions occured
|
/// a distance of -1 indicates that no collisions occurred
|
||||||
struct CPSCollisionInfo
|
struct CPSCollisionInfo
|
||||||
{
|
{
|
||||||
CPSCollisionInfo *Next;
|
CPSCollisionInfo *Next;
|
||||||
float Dist; // Distance to the nearest collider, or -1 if not collision occured
|
float Dist; // Distance to the nearest collider, or -1 if not collision occurred
|
||||||
NLMISC::CVector NewPos;
|
NLMISC::CVector NewPos;
|
||||||
NLMISC::CVector NewSpeed; // The speed of particle after a collision occured. After the updated of collision it is swapped with the post-collision speed
|
NLMISC::CVector NewSpeed; // The speed of particle after a collision occurred. After the updated of collision it is swapped with the post-collision speed
|
||||||
CPSZone *CollisionZone; // The zone on which the bounce occured, can be useful to check the behaviour in case of collision
|
CPSZone *CollisionZone; // The zone on which the bounce occurred, can be useful to check the behaviour in case of collision
|
||||||
uint32 Index;
|
uint32 Index;
|
||||||
CPSCollisionInfo()
|
CPSCollisionInfo()
|
||||||
{
|
{
|
||||||
|
@ -449,14 +449,14 @@ public:
|
||||||
void setName(const std::string &name) { _Name = name; }
|
void setName(const std::string &name) { _Name = name; }
|
||||||
|
|
||||||
/// get the located bindable name (edition purpose)
|
/// get the located bindable name (edition purpose)
|
||||||
std::string getName(void) const { return _Name; }
|
std::string getName() const { return _Name; }
|
||||||
|
|
||||||
|
|
||||||
/// tells whether there are alive entities / particles in the system
|
/// tells whether there are alive entities / particles in the system
|
||||||
virtual bool hasParticles(void) const;
|
virtual bool hasParticles() const;
|
||||||
|
|
||||||
/// tells whether there are alive emitters / particles in the system
|
/// tells whether there are alive emitters / particles in the system
|
||||||
virtual bool hasEmitters(void) const;
|
virtual bool hasEmitters() const;
|
||||||
|
|
||||||
/** Enable the to force LOD degradation. This will suppress instances immediately, (during the motion pass) so that
|
/** Enable the to force LOD degradation. This will suppress instances immediately, (during the motion pass) so that
|
||||||
* there won't be more than maxNbInstance * dist / maxDist instances. This may not be desirable
|
* there won't be more than maxNbInstance * dist / maxDist instances. This may not be desirable
|
||||||
|
@ -468,7 +468,7 @@ public:
|
||||||
/** Test whether LOD degradation was activated
|
/** Test whether LOD degradation was activated
|
||||||
* \see forceLODDegradation()
|
* \see forceLODDegradation()
|
||||||
*/
|
*/
|
||||||
bool hasLODDegradation(void) const { return _LODDegradation; }
|
bool hasLODDegradation() const { return _LODDegradation; }
|
||||||
|
|
||||||
|
|
||||||
/// for the CPSLocated to reevaluate the max number of faces it may need
|
/// for the CPSLocated to reevaluate the max number of faces it may need
|
||||||
|
@ -853,11 +853,11 @@ public:
|
||||||
*/
|
*/
|
||||||
void setLOD(TPSLod lod) { _LOD = lod; }
|
void setLOD(TPSLod lod) { _LOD = lod; }
|
||||||
/// get the valid lods for that object
|
/// get the valid lods for that object
|
||||||
TPSLod getLOD(void) const { return _LOD; }
|
TPSLod getLOD() const { return _LOD; }
|
||||||
/// tells whether there are alive entities / particles
|
/// tells whether there are alive entities / particles
|
||||||
virtual bool hasParticles(void) const { return false; }
|
virtual bool hasParticles() const { return false; }
|
||||||
/// tells whether there are alive emitters
|
/// tells whether there are alive emitters
|
||||||
virtual bool hasEmitters(void) const { return false; }
|
virtual bool hasEmitters() const { return false; }
|
||||||
/** set the extern ID of this located bindable. 0 means no extern access. The map of ID-locatedBindable. Is in th
|
/** set the extern ID of this located bindable. 0 means no extern access. The map of ID-locatedBindable. Is in th
|
||||||
* particle system, so this located bindable must have been attached to a particle system, otherwise an assertion is raised
|
* particle system, so this located bindable must have been attached to a particle system, otherwise an assertion is raised
|
||||||
*/
|
*/
|
||||||
|
@ -906,10 +906,10 @@ protected:
|
||||||
*/
|
*/
|
||||||
virtual void resize(uint32 size) = 0;
|
virtual void resize(uint32 size) = 0;
|
||||||
|
|
||||||
/** a bounce occured, so some action could be done. The default behaviour does nothing
|
/** a bounce occurred, so some action could be done. The default behaviour does nothing
|
||||||
* \param index the index of the element that bounced
|
* \param index the index of the element that bounced
|
||||||
*/
|
*/
|
||||||
virtual void bounceOccured(uint32 /* index */, TAnimationTime /* timeToNextsimStep */) {}
|
virtual void bounceOccurred(uint32 /* index */, TAnimationTime /* timeToNextsimStep */) {}
|
||||||
|
|
||||||
/** show an drawing to represent the object, and in red if it is selected
|
/** show an drawing to represent the object, and in red if it is selected
|
||||||
* \param tab : a table of 2 * nbSeg vector. only the x and y coordinates are used
|
* \param tab : a table of 2 * nbSeg vector. only the x and y coordinates are used
|
||||||
|
|
|
@ -590,7 +590,7 @@ protected:
|
||||||
void serial(NLMISC::IStream &f) throw(NLMISC::EStream);
|
void serial(NLMISC::IStream &f) throw(NLMISC::EStream);
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef std::auto_ptr<CGlobalTexAnims> PGlobalTexAnims;
|
typedef CUniquePtr<CGlobalTexAnims> PGlobalTexAnims;
|
||||||
PGlobalTexAnims _GlobalTexAnims;
|
PGlobalTexAnims _GlobalTexAnims;
|
||||||
float _GlobalAnimDate;
|
float _GlobalAnimDate;
|
||||||
|
|
||||||
|
|
|
@ -120,7 +120,7 @@ protected:
|
||||||
/**
|
/**
|
||||||
* This set speed of a located so that it looks like bouncing on a surface
|
* This set speed of a located so that it looks like bouncing on a surface
|
||||||
* \param locatedIndex the index
|
* \param locatedIndex the index
|
||||||
* \param bouncePoint the position where the collision occured
|
* \param bouncePoint the position where the collision occurred
|
||||||
* \param surfNormal the normal of the surface at the collision point (this must be a unit vector)
|
* \param surfNormal the normal of the surface at the collision point (this must be a unit vector)
|
||||||
* \elasticity 1 = full bounce, 0 = no bounce (contact)
|
* \elasticity 1 = full bounce, 0 = no bounce (contact)
|
||||||
* \ellapsedTime the time ellapsed
|
* \ellapsedTime the time ellapsed
|
||||||
|
|
|
@ -654,7 +654,7 @@ template<class T> typename CQuadGrid<T>::CIterator CQuadGrid<T>::erase(typename
|
||||||
if(!ptr->Selected)
|
if(!ptr->Selected)
|
||||||
next= NULL;
|
next= NULL;
|
||||||
// delete the object.
|
// delete the object.
|
||||||
_NodeBlockMemory.free(ptr);
|
_NodeBlockMemory.freeBlock(ptr);
|
||||||
|
|
||||||
|
|
||||||
return CIterator((CNode*)next);
|
return CIterator((CNode*)next);
|
||||||
|
|
|
@ -53,7 +53,7 @@ public:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Simple Definition of a mesh used to test against Ray
|
// Simple Definition of a mesh used to test against Ray
|
||||||
std::vector<CVector> Vertices;
|
std::vector<NLMISC::CVector> Vertices;
|
||||||
std::vector<uint32> Triangles;
|
std::vector<uint32> Triangles;
|
||||||
|
|
||||||
/// Empty?
|
/// Empty?
|
||||||
|
|
|
@ -28,6 +28,8 @@
|
||||||
#include "nel/3d/shadow_map_manager.h"
|
#include "nel/3d/shadow_map_manager.h"
|
||||||
#include "nel/3d/u_scene.h"
|
#include "nel/3d/u_scene.h"
|
||||||
#include "nel/3d/vertex_program.h"
|
#include "nel/3d/vertex_program.h"
|
||||||
|
#include "nel/3d/transform.h"
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include "nel/misc/smart_ptr.h"
|
#include "nel/misc/smart_ptr.h"
|
||||||
#include "nel/misc/vector.h"
|
#include "nel/misc/vector.h"
|
||||||
#include "nel/misc/aabbox.h"
|
#include "nel/misc/aabbox.h"
|
||||||
|
#include "nel/misc/class_id.h"
|
||||||
|
|
||||||
#include "nel/3d/texture.h"
|
#include "nel/3d/texture.h"
|
||||||
#include "nel/3d/shape.h"
|
#include "nel/3d/shape.h"
|
||||||
|
|
|
@ -51,7 +51,7 @@ public:
|
||||||
* The usage of this matrix is for UV projection: XYZ= WorldProjectionMatrix * UVW.
|
* The usage of this matrix is for UV projection: XYZ= WorldProjectionMatrix * UVW.
|
||||||
* NB: Vj (ie for W) is mapped such that Vp means NearClip of the shadow and Vp+Vj means FarClip of the shadow
|
* NB: Vj (ie for W) is mapped such that Vp means NearClip of the shadow and Vp+Vj means FarClip of the shadow
|
||||||
*/
|
*/
|
||||||
CMatrix LocalProjectionMatrix;
|
NLMISC::CMatrix LocalProjectionMatrix;
|
||||||
|
|
||||||
/** Computed at shadow casting time. They are clipping planes used to clip receivers (mirror of the OBB).
|
/** Computed at shadow casting time. They are clipping planes used to clip receivers (mirror of the OBB).
|
||||||
* Receivers may use them to clip sub received parts (as they which)
|
* Receivers may use them to clip sub received parts (as they which)
|
||||||
|
@ -63,7 +63,7 @@ public:
|
||||||
/** Computed at shadow casting time. This is the LocalPos Bouding Box containing the shadow (AxisAligned).
|
/** Computed at shadow casting time. This is the LocalPos Bouding Box containing the shadow (AxisAligned).
|
||||||
* \see generateClipInfoFromMatrix()
|
* \see generateClipInfoFromMatrix()
|
||||||
*/
|
*/
|
||||||
CAABBox LocalBoundingBox;
|
NLMISC::CAABBox LocalBoundingBox;
|
||||||
|
|
||||||
|
|
||||||
// Filled by ShadowMapManager. This is the Last Frame Id we had update the texture.
|
// Filled by ShadowMapManager. This is the Last Frame Id we had update the texture.
|
||||||
|
@ -114,13 +114,13 @@ public:
|
||||||
* driver->setupModelMatrix(localPosMatrix);
|
* driver->setupModelMatrix(localPosMatrix);
|
||||||
* Then render his mesh.
|
* Then render his mesh.
|
||||||
*/
|
*/
|
||||||
void buildCasterCameraMatrix(const CVector &lightDir, const CMatrix &localPosMatrix, const CAABBox &bbShape, CMatrix &cameraMatrix);
|
void buildCasterCameraMatrix(const NLMISC::CVector &lightDir, const NLMISC::CMatrix &localPosMatrix, const NLMISC::CAABBox &bbShape, NLMISC::CMatrix &cameraMatrix);
|
||||||
|
|
||||||
/** From the Camera matrix computed with buildCasterCameraMatrix, compute the LocalProjectionMatrix, which modify the
|
/** From the Camera matrix computed with buildCasterCameraMatrix, compute the LocalProjectionMatrix, which modify the
|
||||||
* J axis according to backPoint and Shadow Depth.
|
* J axis according to backPoint and Shadow Depth.
|
||||||
* NB: automatically calls the buildClipInfoFromMatrix() method
|
* NB: automatically calls the buildClipInfoFromMatrix() method
|
||||||
*/
|
*/
|
||||||
void buildProjectionInfos(const CMatrix &cameraMatrix, const CVector &backPoint, float shadowMaxDepth);
|
void buildProjectionInfos(const NLMISC::CMatrix &cameraMatrix, const NLMISC::CVector &backPoint, float shadowMaxDepth);
|
||||||
|
|
||||||
/** The ShadowMap Caster can call this method after setting LocalProjectionMatrix. It computes auto the
|
/** The ShadowMap Caster can call this method after setting LocalProjectionMatrix. It computes auto the
|
||||||
* LocalClipPlanes and LocalBoundingBox from it. NB: don't use it if you use buildProjectionInfos().
|
* LocalClipPlanes and LocalBoundingBox from it. NB: don't use it if you use buildProjectionInfos().
|
||||||
|
@ -158,13 +158,13 @@ class CShadowMapProjector
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CShadowMapProjector();
|
CShadowMapProjector();
|
||||||
void setWorldSpaceTextMat(const CMatrix &ws);
|
void setWorldSpaceTextMat(const NLMISC::CMatrix &ws);
|
||||||
void applyToMaterial(const CMatrix &receiverWorldMatrix, CMaterial &material);
|
void applyToMaterial(const NLMISC::CMatrix &receiverWorldMatrix, CMaterial &material);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
CMatrix _WsTextMat;
|
NLMISC::CMatrix _WsTextMat;
|
||||||
CMatrix _XYZToUWVMatrix;
|
NLMISC::CMatrix _XYZToUWVMatrix;
|
||||||
CMatrix _XYZToWUVMatrix;
|
NLMISC::CMatrix _XYZToWUVMatrix;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,8 @@
|
||||||
namespace NL3D {
|
namespace NL3D {
|
||||||
|
|
||||||
|
|
||||||
class CTransform;
|
class CTransform;
|
||||||
|
class CScene;
|
||||||
|
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
|
|
@ -33,9 +33,9 @@ namespace NL3D
|
||||||
class CShadowVertex
|
class CShadowVertex
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CVector Vertex;
|
NLMISC::CVector Vertex;
|
||||||
uint32 MatrixId;
|
uint32 MatrixId;
|
||||||
void serial(NLMISC::IStream &f)
|
void serial(NLMISC::IStream &f)
|
||||||
{
|
{
|
||||||
(void)f.serialVersion(0);
|
(void)f.serialVersion(0);
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ public:
|
||||||
* if don't intersect, dist2D="nearest distance to the ray", and distZ=0
|
* if don't intersect, dist2D="nearest distance to the ray", and distZ=0
|
||||||
* \param computeDist2D if false and don't intersect, then return dist2D=FLT_MAX, and distZ=0
|
* \param computeDist2D if false and don't intersect, then return dist2D=FLT_MAX, and distZ=0
|
||||||
*/
|
*/
|
||||||
bool getRayIntersection(const CMatrix &toRaySpace, class CSkeletonModel &skeleton,
|
bool getRayIntersection(const NLMISC::CMatrix &toRaySpace, class CSkeletonModel &skeleton,
|
||||||
const std::vector<uint32> &matrixInfluences, float &dist2D, float &distZ, bool computeDist2D);
|
const std::vector<uint32> &matrixInfluences, float &dist2D, float &distZ, bool computeDist2D);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -54,7 +54,7 @@ public:
|
||||||
virtual NLMISC::CQuat getOrientation() const = 0;
|
virtual NLMISC::CQuat getOrientation() const = 0;
|
||||||
|
|
||||||
/// Set the GUI reference
|
/// Set the GUI reference
|
||||||
virtual void setInterfaceMatrix(const NL3D::CMatrix &matrix) = 0;
|
virtual void setInterfaceMatrix(const NLMISC::CMatrix &matrix) = 0;
|
||||||
|
|
||||||
/// Get GUI center (1 = width, 1 = height, 0 = center)
|
/// Get GUI center (1 = width, 1 = height, 0 = center)
|
||||||
virtual void getInterface2DShift(uint cid, float &x, float &y, float distance) const = 0;
|
virtual void getInterface2DShift(uint cid, float &x, float &y, float distance) const = 0;
|
||||||
|
|
|
@ -44,16 +44,16 @@ public:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// Target controled or direction controled. Default to DirectionMode
|
/// Target controled or direction controled. Default to DirectionMode
|
||||||
TMode Mode;
|
TMode Mode;
|
||||||
|
|
||||||
/// \name Target and Direction specific
|
/// \name Target and Direction specific
|
||||||
// @{
|
// @{
|
||||||
/// For TargetMode, the world Position of the target.
|
/// For TargetMode, the world Position of the target.
|
||||||
CVector WorldTarget;
|
NLMISC::CVector WorldTarget;
|
||||||
/// For TargetMode only, the Pos of eyes relative to the bone controlled. Default to (0,0,0)
|
/// For TargetMode only, the Pos of eyes relative to the bone controlled. Default to (0,0,0)
|
||||||
CVector EyePos;
|
NLMISC::CVector EyePos;
|
||||||
/// For DirectionMode, the WorldRotation to apply to the bone. NB: modified in execute() if TargetMode
|
/// For DirectionMode, the WorldRotation to apply to the bone. NB: modified in execute() if TargetMode
|
||||||
CQuat CurrentWorldDirection;
|
NLMISC::CQuat CurrentWorldDirection;
|
||||||
// @}
|
// @}
|
||||||
|
|
||||||
/// \name Common
|
/// \name Common
|
||||||
|
@ -61,13 +61,13 @@ public:
|
||||||
/** This enable or disable the ctrl. When disabled or enabled, the ctrl ensure
|
/** This enable or disable the ctrl. When disabled or enabled, the ctrl ensure
|
||||||
* that the movement does not "pop", respecting MaxAngularVelocity. Default to true.
|
* that the movement does not "pop", respecting MaxAngularVelocity. Default to true.
|
||||||
*/
|
*/
|
||||||
bool Enabled;
|
bool Enabled;
|
||||||
/// This give The World Orientation when the Mesh is in bind Pos (default to "LookBack").
|
/// This give The World Orientation when the Mesh is in bind Pos (default to "LookBack").
|
||||||
CQuat DefaultWorldDirection;
|
NLMISC::CQuat DefaultWorldDirection;
|
||||||
/// The Maximum angle of rotation that can be performed between the Default Direction and Current Direction. Default to Pi/3
|
/// The Maximum angle of rotation that can be performed between the Default Direction and Current Direction. Default to Pi/3
|
||||||
float MaxAngle;
|
float MaxAngle;
|
||||||
/// The Maximum Angular Velocity the ctrl can perform. Default to 2*Pi per second.
|
/// The Maximum Angular Velocity the ctrl can perform. Default to 2*Pi per second.
|
||||||
float MaxAngularVelocity;
|
float MaxAngularVelocity;
|
||||||
// @}
|
// @}
|
||||||
|
|
||||||
|
|
||||||
|
@ -77,19 +77,19 @@ public:
|
||||||
virtual ~CTargetAnimCtrl();
|
virtual ~CTargetAnimCtrl();
|
||||||
|
|
||||||
/// Called at compute() time.
|
/// Called at compute() time.
|
||||||
virtual void execute(CSkeletonModel *model, CBone *bone);
|
virtual void execute(CSkeletonModel *model, CBone *bone);
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
/// The last rotation computed (in LocalSkeleton Space). Used to smooth transition
|
/// The last rotation computed (in LocalSkeleton Space). Used to smooth transition
|
||||||
CQuat _LastLSRotation;
|
NLMISC::CQuat _LastLSRotation;
|
||||||
|
|
||||||
/// This tells that a Enable/Disable transition is in progress.
|
/// This tells that a Enable/Disable transition is in progress.
|
||||||
bool _LastEnabled;
|
bool _LastEnabled;
|
||||||
bool _EnableToDisableTransition;
|
bool _EnableToDisableTransition;
|
||||||
|
|
||||||
CQuat getCurrentLSRotationFromBone(CSkeletonModel *model, CBone *bone);
|
NLMISC::CQuat getCurrentLSRotationFromBone(CSkeletonModel *model, CBone *bone);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -54,16 +54,16 @@ public:
|
||||||
bool isSharingEnabled() const { return !_DisableSharing; }
|
bool isSharingEnabled() const { return !_DisableSharing; }
|
||||||
|
|
||||||
// set the ambiant/ diffuse color to be added to the embossed texture
|
// set the ambiant/ diffuse color to be added to the embossed texture
|
||||||
void setAmbient(CRGBA ambient) { _Ambient = ambient; touch(); }
|
void setAmbient(NLMISC::CRGBA ambient) { _Ambient = ambient; touch(); }
|
||||||
void setDiffuse(CRGBA diffuse) { _Diffuse = diffuse; touch(); }
|
void setDiffuse(NLMISC::CRGBA diffuse) { _Diffuse = diffuse; touch(); }
|
||||||
// Set the direction of light (usually should be normalized). The bitmap is in the x,y plane
|
// Set the direction of light (usually should be normalized). The bitmap is in the x,y plane
|
||||||
void setLightDir(const NLMISC::CVector &lightDir) { _LightDir = lightDir; touch(); }
|
void setLightDir(const NLMISC::CVector &lightDir) { _LightDir = lightDir; touch(); }
|
||||||
// set a factor for the slope
|
// set a factor for the slope
|
||||||
void setSlopeFactor(float factor) { _SlopeFactor = factor; touch(); }
|
void setSlopeFactor(float factor) { _SlopeFactor = factor; touch(); }
|
||||||
//
|
//
|
||||||
CRGBA getAmbient() const { return _Ambient; }
|
NLMISC::CRGBA getAmbient() const { return _Ambient; }
|
||||||
CRGBA getDiffuse() const { return _Diffuse; }
|
NLMISC::CRGBA getDiffuse() const { return _Diffuse; }
|
||||||
const CVector &getLightDir() const { return _LightDir; }
|
const NLMISC::CVector &getLightDir() const { return _LightDir; }
|
||||||
float getSlopeFactor() const { return _SlopeFactor; }
|
float getSlopeFactor() const { return _SlopeFactor; }
|
||||||
|
|
||||||
|
|
||||||
|
@ -75,8 +75,8 @@ protected:
|
||||||
// inherited from ITexture. Generate this bumpmap pixels
|
// inherited from ITexture. Generate this bumpmap pixels
|
||||||
virtual void doGenerate(bool async = false);
|
virtual void doGenerate(bool async = false);
|
||||||
NLMISC::CSmartPtr<ITexture> _HeightMap;
|
NLMISC::CSmartPtr<ITexture> _HeightMap;
|
||||||
CRGBA _Ambient;
|
NLMISC::CRGBA _Ambient;
|
||||||
CRGBA _Diffuse;
|
NLMISC::CRGBA _Diffuse;
|
||||||
NLMISC::CVector _LightDir;
|
NLMISC::CVector _LightDir;
|
||||||
bool _DisableSharing;
|
bool _DisableSharing;
|
||||||
float _SlopeFactor;
|
float _SlopeFactor;
|
||||||
|
|
|
@ -140,7 +140,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void clearTile (CTile::TBitmap type);
|
void clearTile (CTile::TBitmap type);
|
||||||
void free ()
|
void freeBlock ()
|
||||||
{
|
{
|
||||||
nlassert ((_Flags&=NL3D_CTILE_FREE_FLAG)==0);
|
nlassert ((_Flags&=NL3D_CTILE_FREE_FLAG)==0);
|
||||||
_Flags|=NL3D_CTILE_FREE_FLAG;
|
_Flags|=NL3D_CTILE_FREE_FLAG;
|
||||||
|
|
|
@ -32,6 +32,7 @@ using NLMISC::CQuat;
|
||||||
|
|
||||||
class ILogicInfo;
|
class ILogicInfo;
|
||||||
class CCluster;
|
class CCluster;
|
||||||
|
class ITransformable;
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -48,7 +48,7 @@ public:
|
||||||
/// PointLights. Used at CVegetableManager::updateLighting() to get current colors of pointLights.
|
/// PointLights. Used at CVegetableManager::updateLighting() to get current colors of pointLights.
|
||||||
CPointLightNamed *PointLight[MaxNumLight];
|
CPointLightNamed *PointLight[MaxNumLight];
|
||||||
/// Direction of the light. the direction to the instance should be precomputed.
|
/// Direction of the light. the direction to the instance should be precomputed.
|
||||||
CVector Direction[MaxNumLight];
|
NLMISC::CVector Direction[MaxNumLight];
|
||||||
/// Factor to be multiplied by color of the light. Actually it is the attenuation factor.
|
/// Factor to be multiplied by color of the light. Actually it is the attenuation factor.
|
||||||
uint PointLightFactor[MaxNumLight];
|
uint PointLightFactor[MaxNumLight];
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,7 @@ public:
|
||||||
bool allocate(uint numVertices, uint &indexStart);
|
bool allocate(uint numVertices, uint &indexStart);
|
||||||
|
|
||||||
/// free a subset of the VB. nlstop if subset not found...
|
/// free a subset of the VB. nlstop if subset not found...
|
||||||
void free(uint indexStart);
|
void freeBlock(uint indexStart);
|
||||||
|
|
||||||
// @}
|
// @}
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
//
|
//
|
||||||
#include "nel/3d/texture_cube.h"
|
#include "nel/3d/texture_cube.h"
|
||||||
#include "nel/3d/texture_blank.h"
|
#include "nel/3d/texture_blank.h"
|
||||||
|
#include "nel/3d/animation_time.h"
|
||||||
|
|
||||||
|
|
||||||
namespace NL3D
|
namespace NL3D
|
||||||
|
|
|
@ -79,7 +79,7 @@ public:
|
||||||
|
|
||||||
/** Set the userPos (relative to the height map coordinates). This is needed because a height map can't be used with large surface (such as a sea).
|
/** Set the userPos (relative to the height map coordinates). This is needed because a height map can't be used with large surface (such as a sea).
|
||||||
* As a consequence, the height map is only valid below the user (e.g from user.x - 0.5 * size to user.x + 0.5 *size).
|
* As a consequence, the height map is only valid below the user (e.g from user.x - 0.5 * size to user.x + 0.5 *size).
|
||||||
* When setPos is called, and if a move has occured, new area of the height field are set to 0
|
* When setPos is called, and if a move has occurred, new area of the height field are set to 0
|
||||||
* The pos set will be taken in account when buffers have been swapped (e.g when the propagation time as ellapsed)
|
* The pos set will be taken in account when buffers have been swapped (e.g when the propagation time as ellapsed)
|
||||||
*/
|
*/
|
||||||
void setUserPos(sint x, sint y);
|
void setUserPos(sint x, sint y);
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include "form_elm.h"
|
#include "form_elm.h"
|
||||||
#include "header.h"
|
#include "header.h"
|
||||||
|
|
||||||
extern bool convertFormFile (const char *oldFileName, const char *newFileName);
|
extern bool convertFormFile (const std::string &oldFileName, const std::string &newFileName);
|
||||||
|
|
||||||
namespace NLGEORGES
|
namespace NLGEORGES
|
||||||
{
|
{
|
||||||
|
@ -35,7 +35,7 @@ class UFormElm;
|
||||||
class CForm : public UForm
|
class CForm : public UForm
|
||||||
{
|
{
|
||||||
friend class CFormLoader;
|
friend class CFormLoader;
|
||||||
friend bool convertFormFile (const char *oldFileName, const char *newFileName);
|
friend bool convertFormFile (const std::string &oldFileName, const std::string &newFileName);
|
||||||
public:
|
public:
|
||||||
|
|
||||||
enum { HeldElementCount = 4 };
|
enum { HeldElementCount = 4 };
|
||||||
|
@ -73,12 +73,12 @@ public:
|
||||||
|
|
||||||
// ** IO functions
|
// ** IO functions
|
||||||
// Set the filename before saving the form
|
// Set the filename before saving the form
|
||||||
void write (xmlDocPtr doc, const char *filename);
|
void write (xmlDocPtr doc, const std::string &filename);
|
||||||
|
|
||||||
// ** Parent access
|
// ** Parent access
|
||||||
|
|
||||||
// Insert parent before parent indexed "before".
|
// Insert parent before parent indexed "before".
|
||||||
bool insertParent (uint before, const char *filename, CForm *parent);
|
bool insertParent (uint before, const std::string &filename, CForm *parent);
|
||||||
|
|
||||||
// Remove a parent from parent list
|
// Remove a parent from parent list
|
||||||
void removeParent (uint parent);
|
void removeParent (uint parent);
|
||||||
|
@ -97,7 +97,7 @@ public:
|
||||||
const std::string &getFilename () const;
|
const std::string &getFilename () const;
|
||||||
|
|
||||||
// Error handling
|
// Error handling
|
||||||
void warning (bool exception, const char *function, const char *format, ... ) const;
|
void warning (bool exception, const std::string &function, const char *format, ... ) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@ private:
|
||||||
|
|
||||||
// CFormLoader call it
|
// CFormLoader call it
|
||||||
// Set the filename before reading the form
|
// Set the filename before reading the form
|
||||||
void read (xmlNodePtr node, CFormLoader &loader, CFormDfn *dfn, const char *filename);
|
void read (xmlNodePtr node, CFormLoader &loader, CFormDfn *dfn, const std::string &filename);
|
||||||
|
|
||||||
// Called by read
|
// Called by read
|
||||||
void readParent (const char *parent, CFormLoader &loader);
|
void readParent (const char *parent, CFormLoader &loader);
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#include "header.h"
|
#include "header.h"
|
||||||
#include "type.h"
|
#include "type.h"
|
||||||
|
|
||||||
bool convertDfnFile (const char *oldFileName, const char *newFileName);
|
bool convertDfnFile (const std::string &oldFileName, const std::string &newFileName);
|
||||||
|
|
||||||
namespace NLGEORGES
|
namespace NLGEORGES
|
||||||
{
|
{
|
||||||
|
@ -41,7 +41,7 @@ class CFormDfn : public UFormDfn
|
||||||
friend class CFormElm;
|
friend class CFormElm;
|
||||||
friend class CFormLoader;
|
friend class CFormLoader;
|
||||||
friend class CFormElmStruct;
|
friend class CFormElmStruct;
|
||||||
friend bool convertDfnFile (const char *oldFileName, const char *newFileName);
|
friend bool convertDfnFile (const std::string &oldFileName, const std::string &newFileName);
|
||||||
public:
|
public:
|
||||||
|
|
||||||
// Default cstr
|
// Default cstr
|
||||||
|
@ -60,7 +60,7 @@ public:
|
||||||
friend class CFormElm;
|
friend class CFormElm;
|
||||||
friend class CFormDfn;
|
friend class CFormDfn;
|
||||||
friend class CFormElmStruct;
|
friend class CFormElmStruct;
|
||||||
friend bool convertDfnFile (const char *oldFileName, const char *newFileName);
|
friend bool convertDfnFile (const std::string &oldFileName, const std::string &newFileName);
|
||||||
public:
|
public:
|
||||||
|
|
||||||
CEntry ()
|
CEntry ()
|
||||||
|
@ -85,12 +85,12 @@ public:
|
||||||
TEntryType getType () const;
|
TEntryType getType () const;
|
||||||
|
|
||||||
// Set as a type
|
// Set as a type
|
||||||
void setType (CFormLoader &loader, const char *filename);
|
void setType (CFormLoader &loader, const std::string &filename);
|
||||||
|
|
||||||
void setType (TEntryType type);
|
void setType (TEntryType type);
|
||||||
|
|
||||||
// Set as a dfn
|
// Set as a dfn
|
||||||
void setDfn (CFormLoader &loader, const char *filename);
|
void setDfn (CFormLoader &loader, const std::string &filename);
|
||||||
|
|
||||||
// Set as a dfn pointer
|
// Set as a dfn pointer
|
||||||
void setDfnPointer ();
|
void setDfnPointer ();
|
||||||
|
@ -99,7 +99,7 @@ public:
|
||||||
const std::string &getName () const;
|
const std::string &getName () const;
|
||||||
|
|
||||||
// Set element Name
|
// Set element Name
|
||||||
void setName (const char *name);
|
void setName (const std::string &name);
|
||||||
|
|
||||||
// Get the filename
|
// Get the filename
|
||||||
const std::string &getFilename() const;
|
const std::string &getFilename() const;
|
||||||
|
@ -108,16 +108,16 @@ public:
|
||||||
const std::string &getFilenameExt() const;
|
const std::string &getFilenameExt() const;
|
||||||
|
|
||||||
// Set the filename
|
// Set the filename
|
||||||
void setFilename (const char *def);
|
void setFilename (const std::string &def);
|
||||||
|
|
||||||
// Set the filename extension
|
// Set the filename extension
|
||||||
void setFilenameExt (const char *ext);
|
void setFilenameExt (const std::string &ext);
|
||||||
|
|
||||||
// Get default value
|
// Get default value
|
||||||
const std::string &getDefault () const;
|
const std::string &getDefault () const;
|
||||||
|
|
||||||
// Set default value
|
// Set default value
|
||||||
void setDefault (const char *def);
|
void setDefault (const std::string &def);
|
||||||
|
|
||||||
// Set array flag
|
// Set array flag
|
||||||
void setArrayFlag (bool flag);
|
void setArrayFlag (bool flag);
|
||||||
|
@ -167,7 +167,7 @@ public:
|
||||||
void removeEntry( uint idx );
|
void removeEntry( uint idx );
|
||||||
|
|
||||||
// ** IO functions
|
// ** IO functions
|
||||||
void write (xmlDocPtr root, const char *filename);
|
void write (xmlDocPtr root, const std::string &filename);
|
||||||
|
|
||||||
// Count parent DFN
|
// Count parent DFN
|
||||||
uint countParentDfn (uint32 round=0) const;
|
uint countParentDfn (uint32 round=0) const;
|
||||||
|
@ -185,7 +185,7 @@ public:
|
||||||
void setNumParent (uint size);
|
void setNumParent (uint size);
|
||||||
|
|
||||||
// Set a parent
|
// Set a parent
|
||||||
void setParent (uint parent, CFormLoader &loader, const char *filename);
|
void setParent (uint parent, CFormLoader &loader, const std::string &filename);
|
||||||
|
|
||||||
// Get a parent
|
// Get a parent
|
||||||
CFormDfn *getParent (uint parent) const;
|
CFormDfn *getParent (uint parent) const;
|
||||||
|
@ -232,7 +232,7 @@ public:
|
||||||
CFileHeader Header;
|
CFileHeader Header;
|
||||||
|
|
||||||
// Error handling
|
// Error handling
|
||||||
void warning (bool exception, const char *function, const char *format, ... ) const;
|
void warning (bool exception, const std::string &function, const char *format, ... ) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// The parents array
|
// The parents array
|
||||||
|
@ -249,7 +249,7 @@ private:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Read method called by the form loader
|
// Read method called by the form loader
|
||||||
void read (xmlNodePtr doc, CFormLoader &loader, bool forceLoad, const char *filename);
|
void read (xmlNodePtr doc, CFormLoader &loader, bool forceLoad, const std::string &filename);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // NLGEORGES
|
} // NLGEORGES
|
||||||
|
|
|
@ -62,30 +62,30 @@ public:
|
||||||
virtual void getFormName (std::string &result, const CFormElm *child=NULL) const = 0;
|
virtual void getFormName (std::string &result, const CFormElm *child=NULL) const = 0;
|
||||||
|
|
||||||
// From UFormElm
|
// From UFormElm
|
||||||
virtual bool getNodeByName (const UFormElm **result, const char *name, TWhereIsNode *where, bool verbose, uint32 round=0) const;
|
virtual bool getNodeByName (const UFormElm **result, const std::string &name, TWhereIsNode *where, bool verbose, uint32 round=0) const;
|
||||||
virtual bool getNodeByName (UFormElm **result, const char *name, TWhereIsNode *where, bool verbose, uint32 round=0);
|
virtual bool getNodeByName (UFormElm **result, const std::string &name, TWhereIsNode *where, bool verbose, uint32 round=0);
|
||||||
virtual bool getValueByName (std::string &result, const char *name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
virtual bool getValueByName (std::string &result, const std::string &name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
||||||
virtual bool getValueByName (sint8 &result, const char *name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
virtual bool getValueByName (sint8 &result, const std::string &name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
||||||
virtual bool getValueByName (uint8 &result, const char *name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
virtual bool getValueByName (uint8 &result, const std::string &name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
||||||
virtual bool getValueByName (sint16 &result, const char *name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
virtual bool getValueByName (sint16 &result, const std::string &name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
||||||
virtual bool getValueByName (uint16 &result, const char *name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
virtual bool getValueByName (uint16 &result, const std::string &name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
||||||
virtual bool getValueByName (sint32 &result, const char *name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
virtual bool getValueByName (sint32 &result, const std::string &name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
||||||
virtual bool getValueByName (uint32 &result, const char *name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
virtual bool getValueByName (uint32 &result, const std::string &name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
||||||
virtual bool getValueByName (float &result, const char *name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
virtual bool getValueByName (float &result, const std::string &name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
||||||
virtual bool getValueByName (double &result, const char *name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
virtual bool getValueByName (double &result, const std::string &name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
||||||
virtual bool getValueByName (bool &result, const char *name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
virtual bool getValueByName (bool &result, const std::string &name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
||||||
virtual bool getValueByName (NLMISC::CRGBA &result, const char *name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
virtual bool getValueByName (NLMISC::CRGBA &result, const std::string &name, TEval evaluate, TWhereIsValue *where, uint32 round=0) const;
|
||||||
virtual bool setValueByName (const char *value, const char *name, bool *created);
|
virtual bool setValueByName (const std::string &value, const std::string &name, bool *created);
|
||||||
virtual bool setValueByName (sint8 value, const char *name, bool *created);
|
virtual bool setValueByName (sint8 value, const std::string &name, bool *created);
|
||||||
virtual bool setValueByName (uint8 value, const char *name, bool *created);
|
virtual bool setValueByName (uint8 value, const std::string &name, bool *created);
|
||||||
virtual bool setValueByName (sint16 value, const char *name, bool *created);
|
virtual bool setValueByName (sint16 value, const std::string &name, bool *created);
|
||||||
virtual bool setValueByName (uint16 value, const char *name, bool *created);
|
virtual bool setValueByName (uint16 value, const std::string &name, bool *created);
|
||||||
virtual bool setValueByName (sint32 value, const char *name, bool *created);
|
virtual bool setValueByName (sint32 value, const std::string &name, bool *created);
|
||||||
virtual bool setValueByName (uint32 value, const char *name, bool *created);
|
virtual bool setValueByName (uint32 value, const std::string &name, bool *created);
|
||||||
virtual bool setValueByName (float value, const char *name, bool *created);
|
virtual bool setValueByName (float value, const std::string &name, bool *created);
|
||||||
virtual bool setValueByName (double value, const char *name, bool *created);
|
virtual bool setValueByName (double value, const std::string &name, bool *created);
|
||||||
virtual bool setValueByName (bool value, const char *name, bool *created);
|
virtual bool setValueByName (bool value, const std::string &name, bool *created);
|
||||||
virtual bool setValueByName (NLMISC::CRGBA value, const char *name, bool *created);
|
virtual bool setValueByName (NLMISC::CRGBA value, const std::string &name, bool *created);
|
||||||
virtual UFormElm *getParent () const;
|
virtual UFormElm *getParent () const;
|
||||||
virtual const CType *getType ();
|
virtual const CType *getType ();
|
||||||
virtual bool isArray () const;
|
virtual bool isArray () const;
|
||||||
|
@ -127,16 +127,16 @@ public:
|
||||||
|
|
||||||
// ** Convert functions
|
// ** Convert functions
|
||||||
|
|
||||||
inline bool convertValue (sint8 &result, const char *value) const;
|
inline bool convertValue (sint8 &result, const std::string &value) const;
|
||||||
inline bool convertValue (uint8 &result, const char *value) const;
|
inline bool convertValue (uint8 &result, const std::string &value) const;
|
||||||
inline bool convertValue (sint16 &result, const char *value) const;
|
inline bool convertValue (sint16 &result, const std::string &value) const;
|
||||||
inline bool convertValue (uint16 &result, const char *value) const;
|
inline bool convertValue (uint16 &result, const std::string &value) const;
|
||||||
inline bool convertValue (sint32 &result, const char *value) const;
|
inline bool convertValue (sint32 &result, const std::string &value) const;
|
||||||
inline bool convertValue (uint32 &result, const char *value) const;
|
inline bool convertValue (uint32 &result, const std::string &value) const;
|
||||||
inline bool convertValue (float &result, const char *value) const;
|
inline bool convertValue (float &result, const std::string &value) const;
|
||||||
inline bool convertValue (double &result, const char *value) const;
|
inline bool convertValue (double &result, const std::string &value) const;
|
||||||
inline bool convertValue (bool &result, const char *value) const;
|
inline bool convertValue (bool &result, const std::string &value) const;
|
||||||
inline bool convertValue (NLMISC::CRGBA &result, const char *value) const;
|
inline bool convertValue (NLMISC::CRGBA &result, const std::string &value) const;
|
||||||
|
|
||||||
// ** Get dependencies
|
// ** Get dependencies
|
||||||
virtual void getDependencies (std::set<std::string> &dependencies) const = 0;
|
virtual void getDependencies (std::set<std::string> &dependencies) const = 0;
|
||||||
|
@ -144,7 +144,7 @@ public:
|
||||||
// ** Internal node access
|
// ** Internal node access
|
||||||
|
|
||||||
// Create a node by name. If the node already exists, return it
|
// Create a node by name. If the node already exists, return it
|
||||||
bool createNodeByName (const char *name, const CFormDfn **parentDfn, uint &indexDfn,
|
bool createNodeByName (const std::string &, const CFormDfn **parentDfn, uint &indexDfn,
|
||||||
const CFormDfn **nodeDfn, const CType **nodeType,
|
const CFormDfn **nodeDfn, const CType **nodeType,
|
||||||
CFormElm **node, UFormDfn::TEntryType &type,
|
CFormElm **node, UFormDfn::TEntryType &type,
|
||||||
bool &array, bool &created);
|
bool &array, bool &created);
|
||||||
|
@ -153,13 +153,13 @@ public:
|
||||||
* Delete a node by name. If the node already exists, return it
|
* Delete a node by name. If the node already exists, return it
|
||||||
*Delete its parent if not used
|
*Delete its parent if not used
|
||||||
*/
|
*/
|
||||||
bool deleteNodeByName (const char *name, const CFormDfn **parentDfn, uint &indexDfn,
|
bool deleteNodeByName (const std::string &name, const CFormDfn **parentDfn, uint &indexDfn,
|
||||||
const CFormDfn **nodeDfn, const CType **nodeType,
|
const CFormDfn **nodeDfn, const CType **nodeType,
|
||||||
CFormElm **node, UFormDfn::TEntryType &type,
|
CFormElm **node, UFormDfn::TEntryType &type,
|
||||||
bool &array);
|
bool &array);
|
||||||
|
|
||||||
// Search for a node by name
|
// Search for a node by name
|
||||||
bool getNodeByName (const char *name, const CFormDfn **parentDfn, uint &indexDfn,
|
bool getNodeByName (const std::string &name, const CFormDfn **parentDfn, uint &indexDfn,
|
||||||
const CFormDfn **nodeDfn, const CType **nodeType,
|
const CFormDfn **nodeDfn, const CType **nodeType,
|
||||||
CFormElm **node, UFormDfn::TEntryType &type,
|
CFormElm **node, UFormDfn::TEntryType &type,
|
||||||
bool &array, bool &parentVDfnArray, bool verbose, uint32 round) const;
|
bool &array, bool &parentVDfnArray, bool verbose, uint32 round) const;
|
||||||
|
@ -168,7 +168,7 @@ public:
|
||||||
* Insert an array node by name
|
* Insert an array node by name
|
||||||
* The index asked must be < the size of the array.
|
* The index asked must be < the size of the array.
|
||||||
*/
|
*/
|
||||||
bool arrayInsertNodeByName (const char *name, const CFormDfn **parentDfn, uint &indexDfn,
|
bool arrayInsertNodeByName (const std::string &name, const CFormDfn **parentDfn, uint &indexDfn,
|
||||||
const CFormDfn **nodeDfn, const CType **nodeType,
|
const CFormDfn **nodeDfn, const CType **nodeType,
|
||||||
CFormElm **node, UFormDfn::TEntryType &type,
|
CFormElm **node, UFormDfn::TEntryType &type,
|
||||||
bool &array, bool verbose, uint arrayIndex) const;
|
bool &array, bool verbose, uint arrayIndex) const;
|
||||||
|
@ -177,7 +177,7 @@ public:
|
||||||
* Delete an array node by name
|
* Delete an array node by name
|
||||||
* The index asked must be < the size of the array.
|
* The index asked must be < the size of the array.
|
||||||
*/
|
*/
|
||||||
bool arrayDeleteNodeByName (const char *name, const CFormDfn **parentDfn, uint &indexDfn,
|
bool arrayDeleteNodeByName (const std::string &name, const CFormDfn **parentDfn, uint &indexDfn,
|
||||||
const CFormDfn **nodeDfn, const CType **nodeType,
|
const CFormDfn **nodeDfn, const CType **nodeType,
|
||||||
CFormElm **node, UFormDfn::TEntryType &type,
|
CFormElm **node, UFormDfn::TEntryType &type,
|
||||||
bool &array, bool verbose, uint arrayIndex) const;
|
bool &array, bool verbose, uint arrayIndex) const;
|
||||||
|
@ -199,7 +199,7 @@ protected:
|
||||||
* Then, else (*parentDfn / indexDfn ) or *node must be defined.
|
* Then, else (*parentDfn / indexDfn ) or *node must be defined.
|
||||||
* Other values are for result only.
|
* Other values are for result only.
|
||||||
*/
|
*/
|
||||||
static bool getInternalNodeByName (CForm *form, const char *name, const CFormDfn **parentDfn, uint &indexDfn,
|
static bool getInternalNodeByName (CForm *form, const std::string &name, const CFormDfn **parentDfn, uint &indexDfn,
|
||||||
const CFormDfn **nodeDfn, const CType **nodeType,
|
const CFormDfn **nodeDfn, const CType **nodeType,
|
||||||
CFormElm **node, UFormDfn::TEntryType &type,
|
CFormElm **node, UFormDfn::TEntryType &type,
|
||||||
bool &array, TNodeAction action, bool &created, bool &parentVDfnArray, bool verbose, uint32 round);
|
bool &array, TNodeAction action, bool &created, bool &parentVDfnArray, bool verbose, uint32 round);
|
||||||
|
@ -215,7 +215,7 @@ public:
|
||||||
static const char* tokenize (const char *name, std::string &str, uint &errorIndex, uint &code);
|
static const char* tokenize (const char *name, std::string &str, uint &errorIndex, uint &code);
|
||||||
|
|
||||||
// ** IO functions
|
// ** IO functions
|
||||||
virtual xmlNodePtr write (xmlNodePtr node, const CForm *form, const char *structName = NULL, bool forceWrite = false) const = 0;
|
virtual xmlNodePtr write (xmlNodePtr node, const CForm *form, const std::string &structName = "", bool forceWrite = false) const = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
@ -235,8 +235,8 @@ protected:
|
||||||
uint32 Round;
|
uint32 Round;
|
||||||
|
|
||||||
// Error handling
|
// Error handling
|
||||||
static void warning (bool exception, const char *formName, const char *formFileName, const char *function, const char *format, ... );
|
static void warning (bool exception, const std::string &formName, const std::string &formFileName, const std::string &function, const char *format, ... );
|
||||||
virtual void warning (bool exception, const char *function, const char *format, ... ) const;
|
virtual void warning (bool exception, const std::string &function, const char *format, ... ) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Tokens
|
// Tokens
|
||||||
|
@ -298,7 +298,7 @@ public:
|
||||||
|
|
||||||
// From CFormElm
|
// From CFormElm
|
||||||
bool isUsed (const CForm *form) const;
|
bool isUsed (const CForm *form) const;
|
||||||
xmlNodePtr write (xmlNodePtr node, const CForm *form, const char *structName, bool forceWrite = false) const;
|
xmlNodePtr write (xmlNodePtr node, const CForm *form, const std::string &structName, bool forceWrite = false) const;
|
||||||
void unlink (CFormElm *child);
|
void unlink (CFormElm *child);
|
||||||
void getFormName (std::string &result, const CFormElm *child) const;
|
void getFormName (std::string &result, const CFormElm *child) const;
|
||||||
void getDependencies (std::set<std::string> &dependencies) const;
|
void getDependencies (std::set<std::string> &dependencies) const;
|
||||||
|
@ -310,7 +310,7 @@ public:
|
||||||
std::vector<CFormElmStructElm> Elements;
|
std::vector<CFormElmStructElm> Elements;
|
||||||
|
|
||||||
// Error handling
|
// Error handling
|
||||||
virtual void warning (bool exception, const char *function, const char *format, ... ) const;
|
virtual void warning (bool exception, const std::string &function, const char *format, ... ) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -332,13 +332,13 @@ public:
|
||||||
|
|
||||||
// From CFormElm
|
// From CFormElm
|
||||||
bool isUsed (const CForm *form) const;
|
bool isUsed (const CForm *form) const;
|
||||||
xmlNodePtr write (xmlNodePtr node, const CForm *form, const char *structName, bool forceWrite = false) const;
|
xmlNodePtr write (xmlNodePtr node, const CForm *form, const std::string &structName, bool forceWrite = false) const;
|
||||||
|
|
||||||
// Call by CFormLoader
|
// Call by CFormLoader
|
||||||
void read (xmlNodePtr node, CFormLoader &loader, CForm *form);
|
void read (xmlNodePtr node, CFormLoader &loader, CForm *form);
|
||||||
|
|
||||||
// Error handling
|
// Error handling
|
||||||
virtual void warning (bool exception, const char *function, const char *format, ... ) const;
|
virtual void warning (bool exception, const std::string &function, const char *format, ... ) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -377,7 +377,7 @@ public:
|
||||||
bool getArrayValue (NLMISC::CRGBA &result, uint arrayIndex, TEval evaluate, TWhereIsValue *where) const;
|
bool getArrayValue (NLMISC::CRGBA &result, uint arrayIndex, TEval evaluate, TWhereIsValue *where) const;
|
||||||
|
|
||||||
// From CFormElm
|
// From CFormElm
|
||||||
xmlNodePtr write (xmlNodePtr node, const CForm *form, const char *structName, bool forceWrite = false) const;
|
xmlNodePtr write (xmlNodePtr node, const CForm *form, const std::string &structName, bool forceWrite = false) const;
|
||||||
bool setParent (CFormElm *parent);
|
bool setParent (CFormElm *parent);
|
||||||
void unlink (CFormElm *child);
|
void unlink (CFormElm *child);
|
||||||
bool isUsed (const CForm *form) const;
|
bool isUsed (const CForm *form) const;
|
||||||
|
@ -406,7 +406,7 @@ public:
|
||||||
std::vector<CElement> Elements;
|
std::vector<CElement> Elements;
|
||||||
|
|
||||||
// Error handling
|
// Error handling
|
||||||
virtual void warning (bool exception, const char *function, const char *format, ... ) const;
|
virtual void warning (bool exception, const std::string &function, const char *format, ... ) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -429,7 +429,7 @@ public:
|
||||||
const CType *Type;
|
const CType *Type;
|
||||||
|
|
||||||
// From CFormElm
|
// From CFormElm
|
||||||
xmlNodePtr write (xmlNodePtr node, const CForm *form, const char *structName, bool forceWrite = false) const;
|
xmlNodePtr write (xmlNodePtr node, const CForm *form, const std::string &structName, bool forceWrite = false) const;
|
||||||
bool setParent (CFormElm *parent);
|
bool setParent (CFormElm *parent);
|
||||||
void getFormName (std::string &result, const CFormElm *child) const;
|
void getFormName (std::string &result, const CFormElm *child) const;
|
||||||
void getDependencies (std::set<std::string> &dependencies) const;
|
void getDependencies (std::set<std::string> &dependencies) const;
|
||||||
|
@ -453,7 +453,7 @@ public:
|
||||||
bool getValue (NLMISC::CRGBA &result, TEval evaluate) const;
|
bool getValue (NLMISC::CRGBA &result, TEval evaluate) const;
|
||||||
|
|
||||||
// Set the value, the elt been used
|
// Set the value, the elt been used
|
||||||
void setValue (const char *value);
|
void setValue (const std::string &value);
|
||||||
|
|
||||||
// Get the raw value. Does not care about any parent or default values
|
// Get the raw value. Does not care about any parent or default values
|
||||||
void getValue (std::string &result) const;
|
void getValue (std::string &result) const;
|
||||||
|
@ -463,14 +463,14 @@ private:
|
||||||
std::string Value;
|
std::string Value;
|
||||||
|
|
||||||
// Error handling
|
// Error handling
|
||||||
virtual void warning (bool exception, const char *function, const char *format, ... ) const;
|
virtual void warning (bool exception, const std::string &function, const char *format, ... ) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
// CFormElm inlines
|
// CFormElm inlines
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
|
||||||
inline bool CFormElm::convertValue (sint8 &result, const char *value) const
|
inline bool CFormElm::convertValue (sint8 &result, const std::string &value) const
|
||||||
{
|
{
|
||||||
float tmp;
|
float tmp;
|
||||||
if (NLMISC::fromString(value, tmp))
|
if (NLMISC::fromString(value, tmp))
|
||||||
|
@ -482,14 +482,14 @@ inline bool CFormElm::convertValue (sint8 &result, const char *value) const
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Error message
|
// Error message
|
||||||
warning (false, "convertValue", "Can't convert the string \"%s\" in sint8.", value);
|
warning (false, "convertValue", "Can't convert the string \"%s\" in sint8.", value.c_str());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
|
||||||
inline bool CFormElm::convertValue (uint8 &result, const char *value) const
|
inline bool CFormElm::convertValue (uint8 &result, const std::string &value) const
|
||||||
{
|
{
|
||||||
float tmp;
|
float tmp;
|
||||||
if (NLMISC::fromString(value, tmp))
|
if (NLMISC::fromString(value, tmp))
|
||||||
|
@ -501,14 +501,14 @@ inline bool CFormElm::convertValue (uint8 &result, const char *value) const
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Error message
|
// Error message
|
||||||
warning (false, "convertValue", "Can't convert the string \"%s\" in uint8.", value);
|
warning (false, "convertValue", "Can't convert the string \"%s\" in uint8.", value.c_str());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
|
||||||
inline bool CFormElm::convertValue (sint16 &result, const char *value) const
|
inline bool CFormElm::convertValue (sint16 &result, const std::string &value) const
|
||||||
{
|
{
|
||||||
float tmp;
|
float tmp;
|
||||||
if (NLMISC::fromString(value, tmp))
|
if (NLMISC::fromString(value, tmp))
|
||||||
|
@ -520,14 +520,14 @@ inline bool CFormElm::convertValue (sint16 &result, const char *value) const
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Error message
|
// Error message
|
||||||
warning (false, "convertValue", "Can't convert the string \"%s\" in sint16.", value);
|
warning (false, "convertValue", "Can't convert the string \"%s\" in sint16.", value.c_str());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
|
||||||
inline bool CFormElm::convertValue (uint16 &result, const char *value) const
|
inline bool CFormElm::convertValue (uint16 &result, const std::string &value) const
|
||||||
{
|
{
|
||||||
float tmp;
|
float tmp;
|
||||||
if (NLMISC::fromString(value, tmp))
|
if (NLMISC::fromString(value, tmp))
|
||||||
|
@ -539,14 +539,14 @@ inline bool CFormElm::convertValue (uint16 &result, const char *value) const
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Error message
|
// Error message
|
||||||
warning (false, "convertValue", "Can't convert the string \"%s\" in uint16.", value);
|
warning (false, "convertValue", "Can't convert the string \"%s\" in uint16.", value.c_str());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
|
||||||
inline bool CFormElm::convertValue (sint32 &result, const char *value) const
|
inline bool CFormElm::convertValue (sint32 &result, const std::string &value) const
|
||||||
{
|
{
|
||||||
float tmp;
|
float tmp;
|
||||||
if (NLMISC::fromString(value, tmp))
|
if (NLMISC::fromString(value, tmp))
|
||||||
|
@ -558,14 +558,14 @@ inline bool CFormElm::convertValue (sint32 &result, const char *value) const
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Error message
|
// Error message
|
||||||
warning (false, "convertValue", "Can't convert the string \"%s\" in sint32.", value);
|
warning (false, "convertValue", "Can't convert the string \"%s\" in sint32.", value.c_str());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
|
||||||
inline bool CFormElm::convertValue (uint32 &result, const char *value) const
|
inline bool CFormElm::convertValue (uint32 &result, const std::string &value) const
|
||||||
{
|
{
|
||||||
float tmp;
|
float tmp;
|
||||||
if (NLMISC::fromString(value, tmp))
|
if (NLMISC::fromString(value, tmp))
|
||||||
|
@ -577,14 +577,14 @@ inline bool CFormElm::convertValue (uint32 &result, const char *value) const
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Error message
|
// Error message
|
||||||
warning (false, "convertValue", "Can't convert the string \"%s\" in uint32.", value);
|
warning (false, "convertValue", "Can't convert the string \"%s\" in uint32.", value.c_str());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
|
||||||
inline bool CFormElm::convertValue (float &result, const char *value) const
|
inline bool CFormElm::convertValue (float &result, const std::string &value) const
|
||||||
{
|
{
|
||||||
if (NLMISC::fromString(value, result))
|
if (NLMISC::fromString(value, result))
|
||||||
{
|
{
|
||||||
|
@ -593,16 +593,16 @@ inline bool CFormElm::convertValue (float &result, const char *value) const
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Error message
|
// Error message
|
||||||
warning (false, "convertValue", "Can't convert the string \"%s\" in float.", value);
|
warning (false, "convertValue", "Can't convert the string \"%s\" in float.", value.c_str());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
|
||||||
inline bool CFormElm::convertValue (double &result, const char *value) const
|
inline bool CFormElm::convertValue (double &result, const std::string &value) const
|
||||||
{
|
{
|
||||||
float tmp;
|
double tmp;
|
||||||
if (NLMISC::fromString(value, tmp))
|
if (NLMISC::fromString(value, tmp))
|
||||||
{
|
{
|
||||||
result = tmp;
|
result = tmp;
|
||||||
|
@ -611,14 +611,14 @@ inline bool CFormElm::convertValue (double &result, const char *value) const
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Error message
|
// Error message
|
||||||
warning (false, "convertValue", "Can't convert the string \"%s\" in double.", value);
|
warning (false, "convertValue", "Can't convert the string \"%s\" in double.", value.c_str());
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
|
||||||
inline bool CFormElm::convertValue (bool &result, const char *value) const
|
inline bool CFormElm::convertValue (bool &result, const std::string &value) const
|
||||||
{
|
{
|
||||||
int tmp;
|
int tmp;
|
||||||
if (NLMISC::fromString(value, tmp))
|
if (NLMISC::fromString(value, tmp))
|
||||||
|
@ -628,7 +628,7 @@ inline bool CFormElm::convertValue (bool &result, const char *value) const
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::string temp = NLMISC::toLower(std::string(value));
|
std::string temp = NLMISC::toLower(value);
|
||||||
if (strcmp (temp.c_str (), "true") == 0)
|
if (strcmp (temp.c_str (), "true") == 0)
|
||||||
{
|
{
|
||||||
result = true;
|
result = true;
|
||||||
|
@ -642,17 +642,17 @@ inline bool CFormElm::convertValue (bool &result, const char *value) const
|
||||||
}
|
}
|
||||||
|
|
||||||
// Error message
|
// Error message
|
||||||
warning (false, "convertValue", "Can't convert the string \"%s\" in boolean.", value);
|
warning (false, "convertValue", "Can't convert the string \"%s\" in boolean.", value.c_str());
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
|
||||||
inline bool CFormElm::convertValue (NLMISC::CRGBA &result, const char *value) const
|
inline bool CFormElm::convertValue (NLMISC::CRGBA &result, const std::string &value) const
|
||||||
{
|
{
|
||||||
float r, g, b;
|
float r, g, b;
|
||||||
if (sscanf (value, "%f,%f,%f", &r, &g, &b) == 3)
|
if (sscanf (value.c_str(), "%f,%f,%f", &r, &g, &b) == 3)
|
||||||
{
|
{
|
||||||
NLMISC::clamp (r, 0.f, 255.f);
|
NLMISC::clamp (r, 0.f, 255.f);
|
||||||
NLMISC::clamp (g, 0.f, 255.f);
|
NLMISC::clamp (g, 0.f, 255.f);
|
||||||
|
@ -664,7 +664,7 @@ inline bool CFormElm::convertValue (NLMISC::CRGBA &result, const char *value) co
|
||||||
}
|
}
|
||||||
|
|
||||||
// Error message
|
// Error message
|
||||||
warning (false, "convertValue", "Can't convert the string \"%s\" in RGB color.", value);
|
warning (false, "convertValue", "Can't convert the string \"%s\" in RGB color.", value.c_str());
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,18 +42,18 @@ class CFormLoader : public UFormLoader
|
||||||
public:
|
public:
|
||||||
virtual ~CFormLoader();
|
virtual ~CFormLoader();
|
||||||
// From UFormLoader
|
// From UFormLoader
|
||||||
UForm *loadForm (const char *filename);
|
UForm *loadForm (const std::string &filename);
|
||||||
UFormDfn *loadFormDfn (const char *filename);
|
UFormDfn *loadFormDfn (const std::string &filename);
|
||||||
UType *loadFormType (const char *filename);
|
UType *loadFormType (const std::string &filename);
|
||||||
|
|
||||||
// Load type and formDfn
|
// Load type and formDfn
|
||||||
CType *loadType (const char *filename);
|
CType *loadType (const std::string &filename);
|
||||||
CFormDfn *loadFormDfn (const char *filename, bool forceLoad);
|
CFormDfn *loadFormDfn (const std::string &filename, bool forceLoad);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
// Error handling
|
// Error handling
|
||||||
virtual void warning (bool exception, const char *function, const char *format, ... ) const;
|
virtual void warning (bool exception, const std::string &function, const char *format, ... ) const;
|
||||||
|
|
||||||
typedef std::map<std::string, NLMISC::CRefPtr<CType> > TTypeMap;
|
typedef std::map<std::string, NLMISC::CRefPtr<CType> > TTypeMap;
|
||||||
typedef std::map<std::string, NLMISC::CRefPtr<CFormDfn> > TFormDfnMap;
|
typedef std::map<std::string, NLMISC::CRefPtr<CFormDfn> > TFormDfnMap;
|
||||||
|
|
|
@ -44,10 +44,10 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Add a log
|
/// Add a log
|
||||||
void addLog (const char *log);
|
void addLog(const std::string &log);
|
||||||
|
|
||||||
/// Set the comment
|
/// Set the comment
|
||||||
void setComments (const char *comments);
|
void setComments (const std::string &comments);
|
||||||
|
|
||||||
/// Major version number
|
/// Major version number
|
||||||
uint32 MajorVersion;
|
uint32 MajorVersion;
|
||||||
|
@ -72,7 +72,7 @@ public:
|
||||||
static const char *getStateString (TState state);
|
static const char *getStateString (TState state);
|
||||||
|
|
||||||
// Error handling
|
// Error handling
|
||||||
void warning (bool exception, const char *function, const char *format, ... ) const;
|
void warning (bool exception, const std::string &function, const char *format, ... ) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // NLGEORGES
|
} // NLGEORGES
|
||||||
|
|
|
@ -385,7 +385,7 @@ void loadForm (const std::vector<std::string> &sheetFilters, const std::string &
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(NeededToRecompute.size() > 0)
|
if(!NeededToRecompute.empty())
|
||||||
nlinfo ("%d seconds to recompute %d sheets", (uint32)(NLMISC::CTime::getLocalTime()-start)/1000, NeededToRecompute.size());
|
nlinfo ("%d seconds to recompute %d sheets", (uint32)(NLMISC::CTime::getLocalTime()-start)/1000, NeededToRecompute.size());
|
||||||
|
|
||||||
// free the georges loader if necessary
|
// free the georges loader if necessary
|
||||||
|
@ -748,7 +748,7 @@ void loadForm2(const std::vector<std::string> &sheetFilters, const std::string &
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(NeededToRecompute.size() > 0)
|
if(!NeededToRecompute.empty())
|
||||||
nlinfo ("%d seconds to recompute %d sheets", (uint32)(NLMISC::CTime::getLocalTime()-start)/1000, NeededToRecompute.size());
|
nlinfo ("%d seconds to recompute %d sheets", (uint32)(NLMISC::CTime::getLocalTime()-start)/1000, NeededToRecompute.size());
|
||||||
|
|
||||||
// free the georges loader if necessary
|
// free the georges loader if necessary
|
||||||
|
@ -1304,7 +1304,7 @@ void loadFormNoPackedSheet (const std::vector<std::string> &sheetFilters, std::m
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(NeededToRecompute.size() > 0)
|
if(!NeededToRecompute.empty())
|
||||||
nlinfo ("%d seconds to recompute %d sheets", (uint32)(NLMISC::CTime::getLocalTime()-start)/1000, NeededToRecompute.size());
|
nlinfo ("%d seconds to recompute %d sheets", (uint32)(NLMISC::CTime::getLocalTime()-start)/1000, NeededToRecompute.size());
|
||||||
|
|
||||||
// free the georges loader if necessary
|
// free the georges loader if necessary
|
||||||
|
@ -1393,7 +1393,7 @@ void loadFormNoPackedSheet2 (const std::vector<std::string> &sheetFilters, std::
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(NeededToRecompute.size() > 0)
|
if(!NeededToRecompute.empty())
|
||||||
nlinfo ("%d seconds to recompute %d sheets", (uint32)(NLMISC::CTime::getLocalTime()-start)/1000, NeededToRecompute.size());
|
nlinfo ("%d seconds to recompute %d sheets", (uint32)(NLMISC::CTime::getLocalTime()-start)/1000, NeededToRecompute.size());
|
||||||
|
|
||||||
// free the georges loader if necessary
|
// free the georges loader if necessary
|
||||||
|
|
|
@ -80,7 +80,7 @@ public:
|
||||||
|
|
||||||
// Evaluate a node
|
// Evaluate a node
|
||||||
bool getValue (std::string &result, const class CForm *form, const class CFormElmAtom *node, const class CFormDfn &parentDfn,
|
bool getValue (std::string &result, const class CForm *form, const class CFormElmAtom *node, const class CFormDfn &parentDfn,
|
||||||
uint parentIndex, UFormElm::TEval evaluate, uint32 *where, uint32 round, const char *formName) const;
|
uint parentIndex, UFormElm::TEval evaluate, uint32 *where, uint32 round, const std::string &formName) const;
|
||||||
|
|
||||||
// Definitions
|
// Definitions
|
||||||
class CDefinition
|
class CDefinition
|
||||||
|
@ -114,8 +114,8 @@ public:
|
||||||
private:
|
private:
|
||||||
|
|
||||||
// Error handling
|
// Error handling
|
||||||
virtual void warning (bool exception, const char *formName, const char *formFilename, const char *function, const char *format, ... ) const;
|
virtual void warning (bool exception, const std::string &formName, const std::string &formFilename, const std::string &function, const char *format, ... ) const;
|
||||||
virtual void warning2 (bool exception, const char *function, const char *format, ... ) const;
|
virtual void warning2 (bool exception, const std::string &function, const char *format, ... ) const;
|
||||||
|
|
||||||
// Type names
|
// Type names
|
||||||
static const char *TypeNames[];
|
static const char *TypeNames[];
|
||||||
|
|
|
@ -78,8 +78,8 @@ public:
|
||||||
* "position.x" : get the element named x in the struct named position
|
* "position.x" : get the element named x in the struct named position
|
||||||
* "entities[2].color" : get the node named color in the second element of the entities array
|
* "entities[2].color" : get the node named color in the second element of the entities array
|
||||||
*/
|
*/
|
||||||
virtual bool getNodeByName (const UFormElm **result, const char *name, TWhereIsNode *where = NULL, bool reserved=true, uint32 round=0) const = 0;
|
virtual bool getNodeByName (const UFormElm **result, const std::string &name, TWhereIsNode *where = NULL, bool reserved=true, uint32 round=0) const = 0;
|
||||||
virtual bool getNodeByName (UFormElm **result, const char *name, TWhereIsNode *where = NULL, bool reserved=true, uint32 round=0) = 0;
|
virtual bool getNodeByName (UFormElm **result, const std::string &name, TWhereIsNode *where = NULL, bool reserved=true, uint32 round=0) = 0;
|
||||||
|
|
||||||
|
|
||||||
/// Where a value has been found
|
/// Where a value has been found
|
||||||
|
@ -104,19 +104,19 @@ public:
|
||||||
* \return true if the result has been filled, false if the value has not been found or the cast has failed or the evaluation has failed.
|
* \return true if the result has been filled, false if the value has not been found or the cast has failed or the evaluation has failed.
|
||||||
* \see getNodeByName ()
|
* \see getNodeByName ()
|
||||||
*/
|
*/
|
||||||
virtual bool getValueByName (std::string &result, const char *namename, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
virtual bool getValueByName (std::string &result, const std::string &name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
||||||
virtual bool getValueByName (sint8 &result, const char *name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
virtual bool getValueByName (sint8 &result, const std::string &name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
||||||
virtual bool getValueByName (uint8 &result, const char *name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
virtual bool getValueByName (uint8 &result, const std::string &name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
||||||
virtual bool getValueByName (sint16 &result, const char *name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
virtual bool getValueByName (sint16 &result, const std::string &name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
||||||
virtual bool getValueByName (uint16 &result, const char *name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
virtual bool getValueByName (uint16 &result, const std::string &name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
||||||
virtual bool getValueByName (sint32 &result, const char *name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
virtual bool getValueByName (sint32 &result, const std::string &name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
||||||
virtual bool getValueByName (uint32 &result, const char *name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
virtual bool getValueByName (uint32 &result, const std::string &name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
||||||
virtual bool getValueByName (float &result, const char *name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
virtual bool getValueByName (float &result, const std::string &name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
||||||
virtual bool getValueByName (double &result, const char *name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
virtual bool getValueByName (double &result, const std::string &name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
||||||
virtual bool getValueByName (bool &result, const char *name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
virtual bool getValueByName (bool &result, const std::string &name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
||||||
|
|
||||||
/// Warning, only R, G and B members are filled, not A.
|
/// Warning, only R, G and B members are filled, not A.
|
||||||
virtual bool getValueByName (NLMISC::CRGBA &result, const char *name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
virtual bool getValueByName (NLMISC::CRGBA &result, const std::string &name, TEval evaluate = Eval, TWhereIsValue *where = NULL, uint32 round=0) const = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set a form value with its name. If the node doesn't exist, it is created.
|
* Set a form value with its name. If the node doesn't exist, it is created.
|
||||||
|
@ -129,17 +129,17 @@ public:
|
||||||
* true if the value has been created, false it the value has been filled.
|
* true if the value has been created, false it the value has been filled.
|
||||||
* \return true if the value has been set, false if the value has not been found or hasn't been created.
|
* \return true if the value has been set, false if the value has not been found or hasn't been created.
|
||||||
*/
|
*/
|
||||||
virtual bool setValueByName (const char *value, const char *name, bool *created = NULL) = 0;
|
virtual bool setValueByName (const std::string &value, const std::string &name, bool *created = NULL) = 0;
|
||||||
virtual bool setValueByName (sint8 value, const char *name, bool *created = NULL) = 0;
|
virtual bool setValueByName (sint8 value, const std::string &name, bool *created = NULL) = 0;
|
||||||
virtual bool setValueByName (uint8 value, const char *name, bool *created = NULL) = 0;
|
virtual bool setValueByName (uint8 value, const std::string &name, bool *created = NULL) = 0;
|
||||||
virtual bool setValueByName (sint16 value, const char *name, bool *created = NULL) = 0;
|
virtual bool setValueByName (sint16 value, const std::string &name, bool *created = NULL) = 0;
|
||||||
virtual bool setValueByName (uint16 value, const char *name, bool *created = NULL) = 0;
|
virtual bool setValueByName (uint16 value, const std::string &name, bool *created = NULL) = 0;
|
||||||
virtual bool setValueByName (sint32 value, const char *name, bool *created = NULL) = 0;
|
virtual bool setValueByName (sint32 value, const std::string &name, bool *created = NULL) = 0;
|
||||||
virtual bool setValueByName (uint32 value, const char *name, bool *created = NULL) = 0;
|
virtual bool setValueByName (uint32 value, const std::string &name, bool *created = NULL) = 0;
|
||||||
virtual bool setValueByName (float value, const char *name, bool *created = NULL) = 0;
|
virtual bool setValueByName (float value, const std::string &name, bool *created = NULL) = 0;
|
||||||
virtual bool setValueByName (double value, const char *name, bool *created = NULL) = 0;
|
virtual bool setValueByName (double value, const std::string &name, bool *created = NULL) = 0;
|
||||||
virtual bool setValueByName (bool value, const char *name, bool *created = NULL) = 0;
|
virtual bool setValueByName (bool value, const std::string &name, bool *created = NULL) = 0;
|
||||||
virtual bool setValueByName (NLMISC::CRGBA value, const char *name, bool *created = NULL) = 0;
|
virtual bool setValueByName (NLMISC::CRGBA value, const std::string &name, bool *created = NULL) = 0;
|
||||||
|
|
||||||
|
|
||||||
// ** Array element methods
|
// ** Array element methods
|
||||||
|
@ -224,6 +224,9 @@ public:
|
||||||
// ** Atom element methods
|
// ** Atom element methods
|
||||||
|
|
||||||
|
|
||||||
|
/// Returns the type of the atom. NULL otherwise.
|
||||||
|
virtual const class UType *getType () = 0;
|
||||||
|
|
||||||
/// Returns the type of the atom. NULL otherwise.
|
/// Returns the type of the atom. NULL otherwise.
|
||||||
virtual const class UType *getType () = 0;
|
virtual const class UType *getType () = 0;
|
||||||
|
|
||||||
|
|
|
@ -43,19 +43,19 @@ public:
|
||||||
*
|
*
|
||||||
* The pointer on the form must be held in a CSmartPtr<UForm>. Returns NULL if the form can't be loaded.
|
* The pointer on the form must be held in a CSmartPtr<UForm>. Returns NULL if the form can't be loaded.
|
||||||
*/
|
*/
|
||||||
virtual UForm *loadForm (const char *filename) = 0;
|
virtual UForm *loadForm (const std::string &filename) = 0;
|
||||||
|
|
||||||
/** Load a DFN, use NMISC::CPath to find the file.
|
/** Load a DFN, use NMISC::CPath to find the file.
|
||||||
*
|
*
|
||||||
* The pointer on the form must be held in a CSmartPtr<UFormDfn>. Returns NULL if the DFN can't be loaded.
|
* The pointer on the form must be held in a CSmartPtr<UFormDfn>. Returns NULL if the DFN can't be loaded.
|
||||||
*/
|
*/
|
||||||
virtual UFormDfn *loadFormDfn (const char *filename) = 0;
|
virtual UFormDfn *loadFormDfn (const std::string &filename) = 0;
|
||||||
|
|
||||||
/** Load a type, use NMISC::CPath to find the file.
|
/** Load a type, use NMISC::CPath to find the file.
|
||||||
*
|
*
|
||||||
* The pointer on the form must be held in a CSmartPtr<UType>. Returns NULL if the type can't be loaded.
|
* The pointer on the form must be held in a CSmartPtr<UType>. Returns NULL if the type can't be loaded.
|
||||||
*/
|
*/
|
||||||
virtual UType *loadFormType (const char *filename) = 0;
|
virtual UType *loadFormType (const std::string &filename) = 0;
|
||||||
|
|
||||||
/// Create a form loader
|
/// Create a form loader
|
||||||
static UFormLoader *createLoader ();
|
static UFormLoader *createLoader ();
|
||||||
|
|
|
@ -321,7 +321,7 @@ namespace NLGUI
|
||||||
// \name internal methods
|
// \name internal methods
|
||||||
|
|
||||||
// Add a group in the current parent group
|
// Add a group in the current parent group
|
||||||
void addGroup (CInterfaceGroup *group, uint beginSpace);
|
void addHtmlGroup (CInterfaceGroup *group, uint beginSpace);
|
||||||
|
|
||||||
// Get the current parent group
|
// Get the current parent group
|
||||||
CInterfaceGroup *getCurrentGroup();
|
CInterfaceGroup *getCurrentGroup();
|
||||||
|
|
|
@ -191,6 +191,7 @@ namespace NLGUI
|
||||||
int luaGetLineFromId(CLuaState &ls);
|
int luaGetLineFromId(CLuaState &ls);
|
||||||
int luaIsSeparator(CLuaState &ls);
|
int luaIsSeparator(CLuaState &ls);
|
||||||
int luaAddLine(CLuaState &ls);
|
int luaAddLine(CLuaState &ls);
|
||||||
|
int luaAddIconLine(CLuaState &ls);
|
||||||
int luaAddLineAtIndex(CLuaState &ls);
|
int luaAddLineAtIndex(CLuaState &ls);
|
||||||
int luaAddSeparator(CLuaState &ls);
|
int luaAddSeparator(CLuaState &ls);
|
||||||
int luaAddSeparatorAtIndex(CLuaState &ls);
|
int luaAddSeparatorAtIndex(CLuaState &ls);
|
||||||
|
@ -210,6 +211,7 @@ namespace NLGUI
|
||||||
REFLECT_LUA_METHOD("addSubMenu", luaAddSubMenu);
|
REFLECT_LUA_METHOD("addSubMenu", luaAddSubMenu);
|
||||||
REFLECT_LUA_METHOD("isSeparator", luaIsSeparator);
|
REFLECT_LUA_METHOD("isSeparator", luaIsSeparator);
|
||||||
REFLECT_LUA_METHOD("addLine", luaAddLine); // name, ah, ah_params, id
|
REFLECT_LUA_METHOD("addLine", luaAddLine); // name, ah, ah_params, id
|
||||||
|
REFLECT_LUA_METHOD("addIconLine", luaAddIconLine); // name, ah, ah_params, id, texture
|
||||||
REFLECT_LUA_METHOD("addLineAtIndex", luaAddLineAtIndex); // index, name, ah, ah_params, id
|
REFLECT_LUA_METHOD("addLineAtIndex", luaAddLineAtIndex); // index, name, ah, ah_params, id
|
||||||
REFLECT_LUA_METHOD("addSeparator", luaAddSeparator);
|
REFLECT_LUA_METHOD("addSeparator", luaAddSeparator);
|
||||||
REFLECT_LUA_METHOD("addSeparatorAtIndex", luaAddSeparatorAtIndex);
|
REFLECT_LUA_METHOD("addSeparatorAtIndex", luaAddSeparatorAtIndex);
|
||||||
|
@ -278,6 +280,7 @@ namespace NLGUI
|
||||||
*/
|
*/
|
||||||
CGroupSubMenu *cloneMenu(CGroupSubMenu *appendToMenu, CGroupMenu *newFather, CInterfaceGroup *initGroup = NULL) const;
|
CGroupSubMenu *cloneMenu(CGroupSubMenu *appendToMenu, CGroupMenu *newFather, CInterfaceGroup *initGroup = NULL) const;
|
||||||
void initOptions(CInterfaceGroup *parent);
|
void initOptions(CInterfaceGroup *parent);
|
||||||
|
CViewBitmap *createIcon(CInterfaceElement *parentPos, const std::string &texture);
|
||||||
CViewBitmap *createCheckBox(bool checked);
|
CViewBitmap *createCheckBox(bool checked);
|
||||||
CViewBitmap *createRightArrow(CInterfaceElement *parentPos, bool center);
|
CViewBitmap *createRightArrow(CInterfaceElement *parentPos, bool center);
|
||||||
};
|
};
|
||||||
|
|
|
@ -206,12 +206,6 @@ namespace NLGUI
|
||||||
invalidateContent();
|
invalidateContent();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the HTML group used for links
|
|
||||||
void setBrowseGroup (CInterfaceElement *group)
|
|
||||||
{
|
|
||||||
_BrowseGroup = group;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// \from CInterfaceElement
|
/// \from CInterfaceElement
|
||||||
void onInvalidateContent();
|
void onInvalidateContent();
|
||||||
sint32 getMaxUsedW() const;
|
sint32 getMaxUsedW() const;
|
||||||
|
@ -293,9 +287,6 @@ namespace NLGUI
|
||||||
// The links
|
// The links
|
||||||
std::vector<CLink> _Links;
|
std::vector<CLink> _Links;
|
||||||
|
|
||||||
// The HTML group used
|
|
||||||
CInterfaceElement *_BrowseGroup;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string _HardText;
|
std::string _HardText;
|
||||||
uint32 _TextId;
|
uint32 _TextId;
|
||||||
|
|
|
@ -64,7 +64,7 @@ namespace NLGUI
|
||||||
xmlNodePtr serialize( xmlNodePtr parentNode, const char *type ) const;
|
xmlNodePtr serialize( xmlNodePtr parentNode, const char *type ) const;
|
||||||
|
|
||||||
// to be called by CGroupTable
|
// to be called by CGroupTable
|
||||||
bool parse (xmlNodePtr cur, CInterfaceGroup * parentGroup, uint columnIndex, uint rowIndex);
|
bool parseCell (xmlNodePtr cur, CInterfaceGroup * parentGroup, uint columnIndex, uint rowIndex);
|
||||||
|
|
||||||
// If the cell is a new line. This is the first <td> after a <tr>
|
// If the cell is a new line. This is the first <td> after a <tr>
|
||||||
bool NewLine;
|
bool NewLine;
|
||||||
|
|
|
@ -208,7 +208,7 @@ namespace NLGUI
|
||||||
CInterfaceGroup *createGroupInstance(const std::string &templateName, const std::string &parentID, const std::pair<std::string, std::string> *templateParams, uint numParams, bool updateLinks = true);
|
CInterfaceGroup *createGroupInstance(const std::string &templateName, const std::string &parentID, const std::pair<std::string, std::string> *templateParams, uint numParams, bool updateLinks = true);
|
||||||
CInterfaceGroup *createGroupInstance(const std::string &templateName, const std::string &parentID, std::vector<std::pair<std::string, std::string> > &templateParams, bool updateLinks = true)
|
CInterfaceGroup *createGroupInstance(const std::string &templateName, const std::string &parentID, std::vector<std::pair<std::string, std::string> > &templateParams, bool updateLinks = true)
|
||||||
{
|
{
|
||||||
if (templateParams.size() > 0)
|
if (!templateParams.empty())
|
||||||
return createGroupInstance(templateName, parentID, &templateParams[0], (uint)templateParams.size(), updateLinks);
|
return createGroupInstance(templateName, parentID, &templateParams[0], (uint)templateParams.size(), updateLinks);
|
||||||
else
|
else
|
||||||
return createGroupInstance(templateName, parentID, NULL, 0, updateLinks);
|
return createGroupInstance(templateName, parentID, NULL, 0, updateLinks);
|
||||||
|
@ -222,7 +222,7 @@ namespace NLGUI
|
||||||
CInterfaceElement *createUIElement(const std::string &templateName, const std::string &parentID, const std::pair<std::string,std::string> *templateParams, uint numParams, bool updateLinks /* = true */);
|
CInterfaceElement *createUIElement(const std::string &templateName, const std::string &parentID, const std::pair<std::string,std::string> *templateParams, uint numParams, bool updateLinks /* = true */);
|
||||||
CInterfaceElement *createUIElement(const std::string &templateName, const std::string &parentID, std::vector<std::pair<std::string, std::string> > &templateParams, bool updateLinks = true)
|
CInterfaceElement *createUIElement(const std::string &templateName, const std::string &parentID, std::vector<std::pair<std::string, std::string> > &templateParams, bool updateLinks = true)
|
||||||
{
|
{
|
||||||
if (templateParams.size() > 0)
|
if (!templateParams.empty())
|
||||||
return createUIElement(templateName, parentID, &templateParams[0], (uint)templateParams.size(), updateLinks);
|
return createUIElement(templateName, parentID, &templateParams[0], (uint)templateParams.size(), updateLinks);
|
||||||
else
|
else
|
||||||
return createUIElement(templateName, parentID, NULL, 0, updateLinks);
|
return createUIElement(templateName, parentID, NULL, 0, updateLinks);
|
||||||
|
|
|
@ -72,8 +72,8 @@ namespace NLGUI
|
||||||
bool link( NLMISC::CCDBNodeBranch *dbNode, const std::string &leafId, NLMISC::CCDBNodeLeaf *defaultLeaf = NULL );
|
bool link( NLMISC::CCDBNodeBranch *dbNode, const std::string &leafId, NLMISC::CCDBNodeLeaf *defaultLeaf = NULL );
|
||||||
|
|
||||||
/// float operations
|
/// float operations
|
||||||
void setDouble (double value) {setSInt64((sint64&) value);}
|
void setDouble(double value);
|
||||||
double getDouble () const {sint64 i = getSInt64(); return (double &) i; }
|
double getDouble() const;
|
||||||
void readDouble (const char* value, const std::string& id);
|
void readDouble (const char* value, const std::string& id);
|
||||||
|
|
||||||
/// sint32 operations
|
/// sint32 operations
|
||||||
|
|
|
@ -90,7 +90,7 @@ namespace NLGUI
|
||||||
virtual std::string luaWhat() const throw() {return NLMISC::toString("LUAError: %s", what());}
|
virtual std::string luaWhat() const throw() {return NLMISC::toString("LUAError: %s", what());}
|
||||||
};
|
};
|
||||||
|
|
||||||
// A parse error occured
|
// A parse error occurred
|
||||||
class ELuaParseError : public ELuaError
|
class ELuaParseError : public ELuaError
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -117,7 +117,7 @@ namespace NLGUI
|
||||||
std::string _Reason;
|
std::string _Reason;
|
||||||
};
|
};
|
||||||
|
|
||||||
// A execution error occured
|
// A execution error occurred
|
||||||
class ELuaExecuteError : public ELuaError
|
class ELuaExecuteError : public ELuaError
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -128,7 +128,7 @@ namespace NLGUI
|
||||||
virtual std::string luaWhat() const throw() {return NLMISC::toString("ELuaExecuteError: %s", what());}
|
virtual std::string luaWhat() const throw() {return NLMISC::toString("ELuaExecuteError: %s", what());}
|
||||||
};
|
};
|
||||||
|
|
||||||
// A bad cast occured when using lua_checkcast
|
// A bad cast occurred when using lua_checkcast
|
||||||
class ELuaBadCast : public ELuaError
|
class ELuaBadCast : public ELuaError
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -50,10 +50,21 @@ namespace NLGUI
|
||||||
void setHTMLView( CGroupHTML *html);
|
void setHTMLView( CGroupHTML *html);
|
||||||
bool getMouseOverShape(std::string &texName, uint8 &rot, NLMISC::CRGBA &col);
|
bool getMouseOverShape(std::string &texName, uint8 &rot, NLMISC::CRGBA &col);
|
||||||
|
|
||||||
|
void setActionOnLeftClick(const std::string &actionHandler) { _AHOnLeftClick = actionHandler; };
|
||||||
|
void setParamsOnLeftClick(const std::string &actionParams) { _AHOnLeftClickParams = actionParams; };
|
||||||
|
|
||||||
|
const std::string &getActionOnLeftClick() const { return _AHOnLeftClick; }
|
||||||
|
const std::string &getParamsOnLeftClick() const { return _AHOnLeftClickParams; }
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
// The main HTML group
|
// The main HTML group
|
||||||
CGroupHTML *HTML;
|
CGroupHTML *HTML;
|
||||||
|
|
||||||
|
// Left mouse click action
|
||||||
|
// Don't use CStringShared as URLs change past values would be permanently remembered.
|
||||||
|
std::string _AHOnLeftClick;
|
||||||
|
std::string _AHOnLeftClickParams;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,14 +38,17 @@ namespace NLGUI
|
||||||
|
|
||||||
void resetPointerPos ();
|
void resetPointerPos ();
|
||||||
void setPointerDown (bool pd);
|
void setPointerDown (bool pd);
|
||||||
|
void setPointerMiddleDown (bool pd);
|
||||||
|
void setPointerRightDown (bool pd);
|
||||||
void setPointerDownString (const std::string &s);
|
void setPointerDownString (const std::string &s);
|
||||||
|
|
||||||
void getPointerPos (sint32 &x, sint32 &y);
|
void getPointerPos (sint32 &x, sint32 &y);
|
||||||
void getPointerDispPos (sint32 &x, sint32 &y);
|
void getPointerDispPos (sint32 &x, sint32 &y);
|
||||||
|
|
||||||
void getPointerOldPos (sint32 &x, sint32 &y);
|
void getPointerOldPos (sint32 &x, sint32 &y);
|
||||||
void getPointerDownPos (sint32 &x, sint32 &y);
|
bool getPointerDown (sint32 &x, sint32 &y);
|
||||||
bool getPointerDown ();
|
bool getPointerMiddleDown (sint32 &x, sint32 &y);
|
||||||
|
bool getPointerRightDown (sint32 &x, sint32 &y);
|
||||||
std::string getPointerDownString ();
|
std::string getPointerDownString ();
|
||||||
bool getPointerDrag ();
|
bool getPointerDrag ();
|
||||||
|
|
||||||
|
@ -70,6 +73,12 @@ namespace NLGUI
|
||||||
bool _PointerDown; // Is the pointer down ?
|
bool _PointerDown; // Is the pointer down ?
|
||||||
sint32 _PointerDownX; // Pointer down position
|
sint32 _PointerDownX; // Pointer down position
|
||||||
sint32 _PointerDownY;
|
sint32 _PointerDownY;
|
||||||
|
bool _PointerMiddleDown; // Is the middle pointer down ?
|
||||||
|
sint32 _PointerMiddleDownX; // Pointer middle down position
|
||||||
|
sint32 _PointerMiddleDownY;
|
||||||
|
bool _PointerRightDown; // Is the right pointer down ?
|
||||||
|
sint32 _PointerRightDownX; // Pointer right down position
|
||||||
|
sint32 _PointerRightDownY;
|
||||||
std::string _PointerDownString; // What is under the pointer at the down position
|
std::string _PointerDownString; // What is under the pointer at the down position
|
||||||
bool _PointerDrag; // Is the pointer down and we have moved ?
|
bool _PointerDrag; // Is the pointer down and we have moved ?
|
||||||
bool _PointerVisible; // Is the pointer visible or hidden ?
|
bool _PointerVisible; // Is the pointer visible or hidden ?
|
||||||
|
|
|
@ -502,7 +502,7 @@ namespace NLGUI
|
||||||
|
|
||||||
const CEventDescriptorKey& getLastKeyEvent() const{ return lastKeyEvent; }
|
const CEventDescriptorKey& getLastKeyEvent() const{ return lastKeyEvent; }
|
||||||
|
|
||||||
IParser* getParser() const{ return parser; }
|
IParser* getParser() const{ return _Parser; }
|
||||||
|
|
||||||
/// Retrieves the Id of the currently selected widgets
|
/// Retrieves the Id of the currently selected widgets
|
||||||
void getEditorSelection( std::vector< std::string > &selection );
|
void getEditorSelection( std::vector< std::string > &selection );
|
||||||
|
@ -536,7 +536,7 @@ namespace NLGUI
|
||||||
CWidgetManager();
|
CWidgetManager();
|
||||||
~CWidgetManager();
|
~CWidgetManager();
|
||||||
|
|
||||||
IParser *parser;
|
IParser *_Parser;
|
||||||
|
|
||||||
static CWidgetManager *instance;
|
static CWidgetManager *instance;
|
||||||
std::vector< SMasterGroup > _MasterGroups;
|
std::vector< SMasterGroup > _MasterGroups;
|
||||||
|
|
|
@ -49,13 +49,13 @@ public:
|
||||||
* This file will try to open the file ligo class description file (XML) using the LigoClass as file name.
|
* This file will try to open the file ligo class description file (XML) using the LigoClass as file name.
|
||||||
* It will try first to load directly the file and then to lookup the file in NLMISC::CPath.
|
* It will try first to load directly the file and then to lookup the file in NLMISC::CPath.
|
||||||
*/
|
*/
|
||||||
bool readConfigFile (const char *fileName, bool parsePrimitiveComboContent);
|
bool readConfigFile (const std::string &fileName, bool parsePrimitiveComboContent);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This file will read the file ligo class description file (XML) using the LigoClass as file name.
|
* This file will read the file ligo class description file (XML) using the LigoClass as file name.
|
||||||
* It will try first to load directly the file and then to lookup the file in NLMISC::CPath.
|
* It will try first to load directly the file and then to lookup the file in NLMISC::CPath.
|
||||||
*/
|
*/
|
||||||
bool readPrimitiveClass (const char *fileName, bool parsePrimitiveComboContent);
|
bool readPrimitiveClass (const std::string &fileName, bool parsePrimitiveComboContent);
|
||||||
|
|
||||||
bool reloadIndexFile(const std::string &indexFileName = std::string());
|
bool reloadIndexFile(const std::string &indexFileName = std::string());
|
||||||
|
|
||||||
|
@ -100,14 +100,14 @@ public:
|
||||||
/// Build a standard human readable alias string
|
/// Build a standard human readable alias string
|
||||||
std::string aliasToString(uint32 fullAlias);
|
std::string aliasToString(uint32 fullAlias);
|
||||||
/// Read a standard human readable alias string
|
/// Read a standard human readable alias string
|
||||||
uint32 aliasFromString(std::string fullAlias);
|
uint32 aliasFromString(const std::string &fullAlias);
|
||||||
|
|
||||||
|
|
||||||
// Get a primitive class
|
// Get a primitive class
|
||||||
const CPrimitiveClass *getPrimitiveClass (const NLLIGO::IPrimitive &primitive) const;
|
const CPrimitiveClass *getPrimitiveClass (const NLLIGO::IPrimitive &primitive) const;
|
||||||
|
|
||||||
// Get a primitive class
|
// Get a primitive class
|
||||||
const CPrimitiveClass *getPrimitiveClass (const char *className) const;
|
const CPrimitiveClass *getPrimitiveClass (const std::string &className) const;
|
||||||
|
|
||||||
// Get the primitive color
|
// Get the primitive color
|
||||||
NLMISC::CRGBA getPrimitiveColor (const NLLIGO::IPrimitive &primitive);
|
NLMISC::CRGBA getPrimitiveColor (const NLLIGO::IPrimitive &primitive);
|
||||||
|
@ -134,10 +134,10 @@ public:
|
||||||
bool canBeRoot (const NLLIGO::IPrimitive &primitive);
|
bool canBeRoot (const NLLIGO::IPrimitive &primitive);
|
||||||
|
|
||||||
// Read a property from an XML file
|
// Read a property from an XML file
|
||||||
bool getPropertyString (std::string &result, const char *filename, xmlNodePtr xmlNode, const char *propName);
|
bool getPropertyString (std::string &result, const std::string &filename, xmlNodePtr xmlNode, const std::string &propName);
|
||||||
|
|
||||||
// Output error message
|
// Output error message
|
||||||
void syntaxError (const char *filename, xmlNodePtr xmlNode, const char *format, ...);
|
void syntaxError (const std::string &filename, xmlNodePtr xmlNode, const char *format, ...);
|
||||||
virtual void errorMessage (const char *format, ... );
|
virtual void errorMessage (const char *format, ... );
|
||||||
|
|
||||||
// Access to the config string
|
// Access to the config string
|
||||||
|
@ -157,7 +157,7 @@ public:
|
||||||
private:
|
private:
|
||||||
|
|
||||||
// Init primitive class manager
|
// Init primitive class manager
|
||||||
bool initPrimitiveClass (const char *filename);
|
bool initPrimitiveClass (const std::string &ilename);
|
||||||
|
|
||||||
// The primitive class manager
|
// The primitive class manager
|
||||||
std::map<std::string, CPrimitiveClass> _PrimitiveClasses;
|
std::map<std::string, CPrimitiveClass> _PrimitiveClasses;
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
#define NL_MATERIAL_LIGO_H
|
#define NL_MATERIAL_LIGO_H
|
||||||
|
|
||||||
#include "nel/misc/types_nl.h"
|
#include "nel/misc/types_nl.h"
|
||||||
#include "zone_template.h"
|
#include "nel/ligo/zone_template.h"
|
||||||
|
|
||||||
// NeL include
|
// NeL include
|
||||||
//#include "3d/zone.h"
|
//#include "3d/zone.h"
|
|
@ -83,9 +83,8 @@ class CPropertyString : public IProperty
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CPropertyString () {}
|
CPropertyString () {}
|
||||||
CPropertyString (const char *str);
|
|
||||||
CPropertyString (const std::string &str);
|
CPropertyString (const std::string &str);
|
||||||
CPropertyString (const char *str, bool _default);
|
CPropertyString (const std::string &str, bool _default);
|
||||||
virtual ~CPropertyString () {}
|
virtual ~CPropertyString () {}
|
||||||
std::string String;
|
std::string String;
|
||||||
|
|
||||||
|
@ -287,42 +286,42 @@ public:
|
||||||
* If the property already exist, the method does nothing and returns false.
|
* If the property already exist, the method does nothing and returns false.
|
||||||
* The pointer will be deleted by the primitive using the ::delete operator.
|
* The pointer will be deleted by the primitive using the ::delete operator.
|
||||||
**/
|
**/
|
||||||
bool addPropertyByName (const char *property_name, IProperty *result);
|
bool addPropertyByName (const std::string &property_name, IProperty *result);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a property with its name
|
* Get a property with its name
|
||||||
**/
|
**/
|
||||||
bool getPropertyByName (const char *property_name, const IProperty *&result) const;
|
bool getPropertyByName (const std::string &property_name, const IProperty *&result) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a property with its name
|
* Get a property with its name
|
||||||
**/
|
**/
|
||||||
bool getPropertyByName (const char *property_name, IProperty *&result) const;
|
bool getPropertyByName (const std::string &property_name, IProperty *&result) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a string property with its name. Return false if the property is not found or is not a string property.
|
* Get a string property with its name. Return false if the property is not found or is not a string property.
|
||||||
**/
|
**/
|
||||||
bool getPropertyByName (const char *property_name, std::string *&result) const;
|
bool getPropertyByName (const std::string &property_name, std::string *&result) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a string array property with its name. Return false if the property is not found or is not a string array property.
|
* Get a string array property with its name. Return false if the property is not found or is not a string array property.
|
||||||
**/
|
**/
|
||||||
bool getPropertyByName (const char *property_name, std::vector<std::string> *&result) const;
|
bool getPropertyByName (const std::string &property_name, std::vector<std::string> *&result) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a string property with its name. Return false if the property is not found or is not a string property.
|
* Get a string property with its name. Return false if the property is not found or is not a string property.
|
||||||
**/
|
**/
|
||||||
bool getPropertyByName (const char *property_name, std::string &result) const;
|
bool getPropertyByName (const std::string &property_name, std::string &result) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a string array property with its name. Return false if the property is not found or is not a string array property.
|
* Get a string array property with its name. Return false if the property is not found or is not a string array property.
|
||||||
**/
|
**/
|
||||||
bool getPropertyByName (const char *property_name, const std::vector<std::string> *&result) const;
|
bool getPropertyByName (const std::string &property_name, const std::vector<std::string> *&result) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a color property with its name. Return false if the property is not found or is not a string array property.
|
* Get a color property with its name. Return false if the property is not found or is not a string array property.
|
||||||
**/
|
**/
|
||||||
bool getPropertyByName (const char *property_name, NLMISC::CRGBA &result) const;
|
bool getPropertyByName (const std::string &property_name, NLMISC::CRGBA &result) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove a property
|
* Remove a property
|
||||||
|
@ -333,7 +332,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* Remove a property by its name
|
* Remove a property by its name
|
||||||
**/
|
**/
|
||||||
bool removePropertyByName (const char *property_name);
|
bool removePropertyByName (const std::string &property_name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove all the properties
|
* Remove all the properties
|
||||||
|
@ -347,10 +346,10 @@ public:
|
||||||
void initDefaultValues (CLigoConfig &config);
|
void initDefaultValues (CLigoConfig &config);
|
||||||
|
|
||||||
// Read the primitive, calls initDefaultValue (CLigoConfig &config)
|
// Read the primitive, calls initDefaultValue (CLigoConfig &config)
|
||||||
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
virtual bool read (xmlNodePtr xmlNode, const std::string &property_name, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
// Write the primitive
|
// Write the primitive
|
||||||
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
virtual void write (xmlNodePtr xmlNode, const std::string &property_name) const;
|
||||||
|
|
||||||
// Get the vertices
|
// Get the vertices
|
||||||
virtual uint getNumVector () const = 0;
|
virtual uint getNumVector () const = 0;
|
||||||
|
@ -435,7 +434,7 @@ protected:
|
||||||
virtual CPrimVector *getPrimVector ();
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
// Read the primitive
|
// Read the primitive
|
||||||
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
// \name From IPrimitive
|
// \name From IPrimitive
|
||||||
virtual IPrimitive *copy () const;
|
virtual IPrimitive *copy () const;
|
||||||
|
@ -474,10 +473,10 @@ protected:
|
||||||
virtual CPrimVector *getPrimVector ();
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
// Read the primitive
|
// Read the primitive
|
||||||
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
// Write the primitive
|
// Write the primitive
|
||||||
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||||
|
|
||||||
// \name From IPrimitive
|
// \name From IPrimitive
|
||||||
virtual IPrimitive *copy () const;
|
virtual IPrimitive *copy () const;
|
||||||
|
@ -509,10 +508,10 @@ protected:
|
||||||
virtual CPrimVector *getPrimVector ();
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
// Read the primitive
|
// Read the primitive
|
||||||
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
// Write the primitive
|
// Write the primitive
|
||||||
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||||
|
|
||||||
// \name From IPrimitive
|
// \name From IPrimitive
|
||||||
virtual IPrimitive *copy () const;
|
virtual IPrimitive *copy () const;
|
||||||
|
@ -568,10 +567,10 @@ protected:
|
||||||
virtual CPrimVector *getPrimVector ();
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
// Read the primitive
|
// Read the primitive
|
||||||
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
// Write the primitive
|
// Write the primitive
|
||||||
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||||
|
|
||||||
// \name From IPrimitive
|
// \name From IPrimitive
|
||||||
virtual IPrimitive *copy () const;
|
virtual IPrimitive *copy () const;
|
||||||
|
@ -632,9 +631,9 @@ public:
|
||||||
uint32 getFullAlias() const;
|
uint32 getFullAlias() const;
|
||||||
|
|
||||||
// Read the primitive
|
// Read the primitive
|
||||||
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||||
// Write the primitive
|
// Write the primitive
|
||||||
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||||
// Create a copy of this primitive
|
// Create a copy of this primitive
|
||||||
virtual IPrimitive *copy () const;
|
virtual IPrimitive *copy () const;
|
||||||
// serial for binary save
|
// serial for binary save
|
||||||
|
@ -686,13 +685,13 @@ public:
|
||||||
void convert (const CPrimRegion ®ion);
|
void convert (const CPrimRegion ®ion);
|
||||||
|
|
||||||
// Read the primitive
|
// Read the primitive
|
||||||
bool read (xmlNodePtr xmlNode, const char *filename, CLigoConfig &config);
|
bool read (xmlNodePtr xmlNode, const std::string &filename, CLigoConfig &config);
|
||||||
|
|
||||||
// Write the primitive
|
// Write the primitive
|
||||||
void write (xmlDocPtr xmlNode, const char *filename) const;
|
void write (xmlDocPtr xmlNode, const std::string &filename) const;
|
||||||
|
|
||||||
// Write the primitive
|
// Write the primitive
|
||||||
void write (xmlNodePtr root, const char *filename) const;
|
void write (xmlNodePtr root, const std::string &filename) const;
|
||||||
|
|
||||||
// serial the primitive. Used for binary files.
|
// serial the primitive. Used for binary files.
|
||||||
void serial(NLMISC::IStream &f);
|
void serial(NLMISC::IStream &f);
|
||||||
|
|
875
code/nel/include/nel/ligo/primitive.h.BACKUP.4924.h
Normal file
875
code/nel/include/nel/ligo/primitive.h.BACKUP.4924.h
Normal file
|
@ -0,0 +1,875 @@
|
||||||
|
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
// 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#ifndef __PRIMITIVE_H__
|
||||||
|
#define __PRIMITIVE_H__
|
||||||
|
|
||||||
|
#include "nel/misc/vector.h"
|
||||||
|
#include "nel/misc/rgba.h"
|
||||||
|
|
||||||
|
// Forward declarations for libxml2
|
||||||
|
typedef struct _xmlNode xmlNode;
|
||||||
|
typedef xmlNode *xmlNodePtr;
|
||||||
|
|
||||||
|
typedef struct _xmlDoc xmlDoc;
|
||||||
|
typedef xmlDoc *xmlDocPtr;
|
||||||
|
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
namespace NLLIGO
|
||||||
|
{
|
||||||
|
|
||||||
|
#ifdef NL_DEBUG
|
||||||
|
# define NLLIGO_DEBUG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ligo primitives are used to add logical geometrical gameplay information.
|
||||||
|
* Ligo primitives are NODES, POINTS, PATHES or ZONES.
|
||||||
|
* Ligo primitives have a CLASS.
|
||||||
|
*
|
||||||
|
* The primitive class defines the properties attached to the primitive
|
||||||
|
* The primitive class are defined in the XML file specified in the LigoClass field of the CLigoConfig class.
|
||||||
|
*/
|
||||||
|
|
||||||
|
class CPrimitives;
|
||||||
|
class CLigoConfig;
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
void Register ();
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
*/
|
||||||
|
class IProperty : public NLMISC::IStreamable
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
IProperty ()
|
||||||
|
{
|
||||||
|
Default = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This property is set to default
|
||||||
|
bool Default;
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
* This is a simple string
|
||||||
|
*/
|
||||||
|
class CPropertyString : public IProperty
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CPropertyString () {}
|
||||||
|
<<<<<<< HEAD
|
||||||
|
CPropertyString (const char *str);
|
||||||
|
CPropertyString (const std::string &str);
|
||||||
|
CPropertyString (const char *str, bool _default);
|
||||||
|
=======
|
||||||
|
CPropertyString (const std::string &str);
|
||||||
|
CPropertyString (const std::string &str, bool _default);
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
virtual ~CPropertyString () {}
|
||||||
|
std::string String;
|
||||||
|
|
||||||
|
NLMISC_DECLARE_CLASS (CPropertyString)
|
||||||
|
|
||||||
|
virtual void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
f.serial(Default);
|
||||||
|
f.serial(String);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const {}
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
* This is a string array
|
||||||
|
*/
|
||||||
|
class CPropertyStringArray : public IProperty
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CPropertyStringArray () {}
|
||||||
|
virtual ~CPropertyStringArray () {}
|
||||||
|
CPropertyStringArray (const std::vector<std::string> &stringArray);
|
||||||
|
CPropertyStringArray (const std::vector<std::string> &stringArray, bool _default);
|
||||||
|
std::vector<std::string> StringArray;
|
||||||
|
|
||||||
|
NLMISC_DECLARE_CLASS (CPropertyStringArray)
|
||||||
|
|
||||||
|
virtual void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
f.serial(Default);
|
||||||
|
f.serialCont(StringArray);
|
||||||
|
}
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const {}
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
* This is a string array
|
||||||
|
*/
|
||||||
|
class CPropertyColor : public IProperty
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
NLMISC::CRGBA Color;
|
||||||
|
|
||||||
|
NLMISC_DECLARE_CLASS (CPropertyColor)
|
||||||
|
|
||||||
|
virtual void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
f.serial(Default);
|
||||||
|
f.serial(Color);
|
||||||
|
}
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const {}
|
||||||
|
|
||||||
|
// ctors
|
||||||
|
CPropertyColor() {}
|
||||||
|
CPropertyColor(NLMISC::CRGBA col) : Color(col) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
class CPrimVector : public NLMISC::CVector
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CPrimVector ()
|
||||||
|
{
|
||||||
|
Selected = false;
|
||||||
|
}
|
||||||
|
CPrimVector (const NLMISC::CVector &v)
|
||||||
|
{
|
||||||
|
CVector::operator= (v);
|
||||||
|
Selected = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
CVector::serial(f);
|
||||||
|
f.serial(Selected);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Selected;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is the base class for ligo primitive.
|
||||||
|
*
|
||||||
|
* Provide access to common properties.
|
||||||
|
* Provide access to the primitive hierachy
|
||||||
|
*/
|
||||||
|
class IPrimitive : public NLMISC::IStreamable
|
||||||
|
{
|
||||||
|
friend class CPrimitives;
|
||||||
|
public:
|
||||||
|
|
||||||
|
// Deprecated
|
||||||
|
// std::string Layer;
|
||||||
|
// Deprecated
|
||||||
|
// std::string Name;
|
||||||
|
|
||||||
|
// Expended in the tree view
|
||||||
|
// bool Expanded;
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
NotAnArray,
|
||||||
|
AtTheEnd = 0xffffffff,
|
||||||
|
};
|
||||||
|
|
||||||
|
/// \name Hierarchy
|
||||||
|
IPrimitive ();
|
||||||
|
|
||||||
|
virtual ~IPrimitive ();
|
||||||
|
|
||||||
|
IPrimitive (const IPrimitive &node);
|
||||||
|
|
||||||
|
virtual void operator= (const IPrimitive &node);
|
||||||
|
|
||||||
|
/** Get the children primitive count */
|
||||||
|
uint getNumChildren () const
|
||||||
|
{
|
||||||
|
return (uint)_Children.size ();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get a child primitive */
|
||||||
|
bool getChild (const IPrimitive *&result, uint childId) const;
|
||||||
|
|
||||||
|
/** Get a child primitive */
|
||||||
|
bool getChild (IPrimitive *&result, uint childId);
|
||||||
|
|
||||||
|
/** Get the parent primitive */
|
||||||
|
IPrimitive *getParent ()
|
||||||
|
{
|
||||||
|
return _Parent;
|
||||||
|
}
|
||||||
|
const IPrimitive *getParent () const
|
||||||
|
{
|
||||||
|
return _Parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get the primitive relative to this and the given path */
|
||||||
|
const IPrimitive *getPrimitive (const std::string &absoluteOrRelativePath) const;
|
||||||
|
|
||||||
|
/** Get the id of the child, return 0xffffffff if not found */
|
||||||
|
bool getChildId (uint &childId, const IPrimitive *child) const;
|
||||||
|
|
||||||
|
/** Remove and delete a child primitive */
|
||||||
|
bool removeChild (IPrimitive *child);
|
||||||
|
|
||||||
|
/** Remove and delete a child primitive */
|
||||||
|
bool removeChild (uint childId);
|
||||||
|
|
||||||
|
/// Remove the child primitive from the children list, don't delete it
|
||||||
|
bool unlinkChild(IPrimitive *child);
|
||||||
|
|
||||||
|
/** Remove and delete all children primitives */
|
||||||
|
void removeChildren ();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert a child primitive before the index.
|
||||||
|
* The pointer will be deleted by the parent primitive using the ::delete operator.
|
||||||
|
* return false if the index is invalid
|
||||||
|
*/
|
||||||
|
bool insertChild (IPrimitive *primitive, uint index = AtTheEnd);
|
||||||
|
|
||||||
|
/// \name Properties
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a num properties
|
||||||
|
**/
|
||||||
|
uint getNumProperty () const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a properties by its index
|
||||||
|
* This method (iterate a list) is slower than getPropertyByName (look up in a map).
|
||||||
|
**/
|
||||||
|
bool getProperty (uint index, std::string &property_name, const IProperty *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a properties by its index
|
||||||
|
* This method (iterate a list) is slower than getPropertyByName (look up in a map).
|
||||||
|
**/
|
||||||
|
bool getProperty (uint index, std::string &property_name, IProperty *&result);
|
||||||
|
|
||||||
|
/** Check the existence of a named property */
|
||||||
|
bool checkProperty(const std::string &property_name) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a property
|
||||||
|
* If the property already exist, the method does nothing and returns false.
|
||||||
|
* The pointer will be deleted by the primitive using the ::delete operator.
|
||||||
|
**/
|
||||||
|
<<<<<<< HEAD
|
||||||
|
bool addPropertyByName (const char *property_name, IProperty *result);
|
||||||
|
=======
|
||||||
|
bool addPropertyByName (const std::string &property_name, IProperty *result);
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a property with its name
|
||||||
|
**/
|
||||||
|
<<<<<<< HEAD
|
||||||
|
bool getPropertyByName (const char *property_name, const IProperty *&result) const;
|
||||||
|
=======
|
||||||
|
bool getPropertyByName (const std::string &property_name, const IProperty *&result) const;
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a property with its name
|
||||||
|
**/
|
||||||
|
<<<<<<< HEAD
|
||||||
|
bool getPropertyByName (const char *property_name, IProperty *&result) const;
|
||||||
|
=======
|
||||||
|
bool getPropertyByName (const std::string &property_name, IProperty *&result) const;
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string property with its name. Return false if the property is not found or is not a string property.
|
||||||
|
**/
|
||||||
|
<<<<<<< HEAD
|
||||||
|
bool getPropertyByName (const char *property_name, std::string *&result) const;
|
||||||
|
=======
|
||||||
|
bool getPropertyByName (const std::string &property_name, std::string *&result) const;
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string array property with its name. Return false if the property is not found or is not a string array property.
|
||||||
|
**/
|
||||||
|
<<<<<<< HEAD
|
||||||
|
bool getPropertyByName (const char *property_name, std::vector<std::string> *&result) const;
|
||||||
|
=======
|
||||||
|
bool getPropertyByName (const std::string &property_name, std::vector<std::string> *&result) const;
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string property with its name. Return false if the property is not found or is not a string property.
|
||||||
|
**/
|
||||||
|
<<<<<<< HEAD
|
||||||
|
bool getPropertyByName (const char *property_name, std::string &result) const;
|
||||||
|
=======
|
||||||
|
bool getPropertyByName (const std::string &property_name, std::string &result) const;
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string array property with its name. Return false if the property is not found or is not a string array property.
|
||||||
|
**/
|
||||||
|
<<<<<<< HEAD
|
||||||
|
bool getPropertyByName (const char *property_name, const std::vector<std::string> *&result) const;
|
||||||
|
=======
|
||||||
|
bool getPropertyByName (const std::string &property_name, const std::vector<std::string> *&result) const;
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a color property with its name. Return false if the property is not found or is not a string array property.
|
||||||
|
**/
|
||||||
|
<<<<<<< HEAD
|
||||||
|
bool getPropertyByName (const char *property_name, NLMISC::CRGBA &result) const;
|
||||||
|
=======
|
||||||
|
bool getPropertyByName (const std::string &property_name, NLMISC::CRGBA &result) const;
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove a property
|
||||||
|
* This is method (iterate a list) is slower than removePropertyByName (look up in a map).
|
||||||
|
**/
|
||||||
|
bool removeProperty (uint index);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove a property by its name
|
||||||
|
**/
|
||||||
|
<<<<<<< HEAD
|
||||||
|
bool removePropertyByName (const char *property_name);
|
||||||
|
=======
|
||||||
|
bool removePropertyByName (const std::string &property_name);
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove all the properties
|
||||||
|
**/
|
||||||
|
void removeProperties ();
|
||||||
|
|
||||||
|
/* Init default primitive's parameters
|
||||||
|
*
|
||||||
|
* This method will add all the properties declared in the primitive class and create default properties.
|
||||||
|
*/
|
||||||
|
void initDefaultValues (CLigoConfig &config);
|
||||||
|
|
||||||
|
// Read the primitive, calls initDefaultValue (CLigoConfig &config)
|
||||||
|
<<<<<<< HEAD
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||||
|
=======
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const std::string &property_name, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const std::string &property_name) const;
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const = 0;
|
||||||
|
virtual const CPrimVector *getPrimVector () const = 0;
|
||||||
|
virtual CPrimVector *getPrimVector () = 0;
|
||||||
|
|
||||||
|
// Make a copy
|
||||||
|
virtual IPrimitive *copy () const = 0;
|
||||||
|
|
||||||
|
// used for fast binary save/load (exploitation mode)
|
||||||
|
void serial(NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// shortcut to getPropertyByName("name", ret); return ret;
|
||||||
|
std::string getName() const;
|
||||||
|
|
||||||
|
const std::string &getUnparsedProperties() const;
|
||||||
|
void setUnparsedProperties(const std::string &unparsedProperties) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// callback called just after the node is attach under a parent
|
||||||
|
virtual void onLinkToParent() {}
|
||||||
|
// callback called just before the node is removed from it's parent
|
||||||
|
virtual void onUnlinkFromParent() {}
|
||||||
|
|
||||||
|
/// Callback called just after an ancestor is linked
|
||||||
|
virtual void onBranchLink() {}
|
||||||
|
/// Callback called just before an ancestor is unlinked
|
||||||
|
virtual void onBranchUnlink() {}
|
||||||
|
|
||||||
|
/// Callback called when the primitive is updated, giving a chance to track the primitive's modifications during the loading
|
||||||
|
virtual void onModifyPrimitive(CPrimitives &/* primitives */) const {}
|
||||||
|
|
||||||
|
// internal recusive call
|
||||||
|
void branchLink();
|
||||||
|
void branchUnlink();
|
||||||
|
|
||||||
|
// Update child Id
|
||||||
|
void updateChildId (uint index);
|
||||||
|
|
||||||
|
// Child id
|
||||||
|
uint32 _ChildId;
|
||||||
|
|
||||||
|
// Parent
|
||||||
|
IPrimitive *_Parent;
|
||||||
|
|
||||||
|
// Children
|
||||||
|
std::vector<IPrimitive*> _Children;
|
||||||
|
|
||||||
|
// Single properties
|
||||||
|
std::map<std::string, IProperty*> _Properties;
|
||||||
|
|
||||||
|
// Editor specific properties (unparsed)
|
||||||
|
mutable std::string _UnparsedProperties;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef NLLIGO_DEBUG
|
||||||
|
std::string _DebugClassName;
|
||||||
|
std::string _DebugPrimitiveName;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
// Simple primitive node
|
||||||
|
class CPrimNode : public IPrimitive
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimNode)
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// void operator= (const CPrimNode &node);
|
||||||
|
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
<<<<<<< HEAD
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
=======
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
class CPrimPoint : public IPrimitive
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
CPrimPoint ()
|
||||||
|
{
|
||||||
|
Angle = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
CPrimVector Point;
|
||||||
|
float Angle; // Angle on OZ, CCW
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// void operator= (const CPrimPoint &node);
|
||||||
|
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimPoint);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
<<<<<<< HEAD
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||||
|
=======
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
class CPrimPath : public IPrimitive
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
std::vector<CPrimVector> VPoints;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// void operator= (const CPrimPath &node);
|
||||||
|
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimPath);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
<<<<<<< HEAD
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||||
|
=======
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
class CPrimZone : public IPrimitive
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
std::vector<CPrimVector> VPoints;
|
||||||
|
|
||||||
|
static float getSegmentDist(const NLMISC::CVector v, const NLMISC::CVector &p1, const NLMISC::CVector &p2, NLMISC::CVector &nearPos);
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
bool contains (const NLMISC::CVector &v) const { return CPrimZone::contains(v, VPoints); }
|
||||||
|
bool contains(const NLMISC::CVector &v, float &distance, NLMISC::CVector &nearPos, bool isPath) const { return CPrimZone::contains(v, VPoints, distance, nearPos, isPath); }
|
||||||
|
|
||||||
|
// void operator= (const CPrimZone &node);
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// Returns true if the vector v is inside of the patatoid
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<NLMISC::CVector> &points);
|
||||||
|
// Returns true if the vector v is inside of the patatoid and set the distance of the nearest segment and the position of the nearest point.
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<NLMISC::CVector> &points, float &distance, NLMISC::CVector &nearPos, bool isPath);
|
||||||
|
// Returns true if the vector v is inside of the patatoid
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<CPrimVector> &points);
|
||||||
|
// Returns true if the vector v is inside of the patatoid and set the distance of the nearest segment and the position of the nearest point.
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<CPrimVector> &points, float &distance, NLMISC::CVector &nearPos, bool isPath);
|
||||||
|
|
||||||
|
/// Returns the barycenter of the zone (warning, it may be outside of the zone if it is not convex). Returns CVector::Null if there is no vertex.
|
||||||
|
NLMISC::CVector getBarycentre() const;
|
||||||
|
|
||||||
|
/// Returns the smallest axis-aligned box containing the zone (z is always set to 0)
|
||||||
|
void getAABox( NLMISC::CVector& cornerMin, NLMISC::CVector& cornerMax ) const;
|
||||||
|
|
||||||
|
/// Return the area of the axis-aligned box containing the zone
|
||||||
|
float getAreaOfAABox() const;
|
||||||
|
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimZone);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
<<<<<<< HEAD
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||||
|
=======
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/** This primitive type is used to handle unique alias across a primitive file.
|
||||||
|
* Usage of this primitive imply the setting of the appropriate 'ligo context'
|
||||||
|
* before reading or copy/pasting alias.
|
||||||
|
*/
|
||||||
|
class CPrimAlias : public IPrimitive
|
||||||
|
{
|
||||||
|
friend class CPrimitives;
|
||||||
|
|
||||||
|
/// The 'dynamic' part of the alias
|
||||||
|
uint32 _Alias;
|
||||||
|
/// The primitive container
|
||||||
|
class CPrimitives *_Container;
|
||||||
|
|
||||||
|
// Needed overloads (not used)
|
||||||
|
virtual uint getNumVector () const
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
};
|
||||||
|
virtual const CPrimVector *getPrimVector () const
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
virtual CPrimVector *getPrimVector ()
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
virtual void onBranchLink();
|
||||||
|
// callback called just before the node is removed from it's parent
|
||||||
|
virtual void onBranchUnlink();
|
||||||
|
|
||||||
|
void regenAlias();
|
||||||
|
|
||||||
|
public:
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimAlias);
|
||||||
|
|
||||||
|
// private default constructor
|
||||||
|
CPrimAlias();
|
||||||
|
// copy constructor needed
|
||||||
|
CPrimAlias(const CPrimAlias &other);
|
||||||
|
|
||||||
|
~CPrimAlias();
|
||||||
|
|
||||||
|
// return the dynamic part of the alias
|
||||||
|
uint32 getAlias() const;
|
||||||
|
|
||||||
|
// Return the full alias, merge of the static and dynamic part
|
||||||
|
uint32 getFullAlias() const;
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
<<<<<<< HEAD
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||||
|
=======
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
// Create a copy of this primitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
// serial for binary save
|
||||||
|
virtual void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
This class is deprecated.
|
||||||
|
*/
|
||||||
|
class CPrimRegion
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
std::string Name;
|
||||||
|
std::vector<CPrimPoint> VPoints;
|
||||||
|
std::vector<CPrimZone> VZones;
|
||||||
|
std::vector<CPrimPath> VPaths;
|
||||||
|
|
||||||
|
std::vector<bool> VHidePoints;
|
||||||
|
std::vector<bool> VHideZones;
|
||||||
|
std::vector<bool> VHidePaths;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class is a ligo primitives set
|
||||||
|
*/
|
||||||
|
class CPrimitives
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
CPrimitives ();
|
||||||
|
CPrimitives (const CPrimitives &other);
|
||||||
|
~CPrimitives ();
|
||||||
|
|
||||||
|
// Operator copy
|
||||||
|
CPrimitives& operator= (const CPrimitives &other);
|
||||||
|
|
||||||
|
// Convert from old format to the new one
|
||||||
|
void convert (const CPrimRegion ®ion);
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
<<<<<<< HEAD
|
||||||
|
bool read (xmlNodePtr xmlNode, const char *filename, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
void write (xmlDocPtr xmlNode, const char *filename) const;
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
void write (xmlNodePtr root, const char *filename) const;
|
||||||
|
=======
|
||||||
|
bool read (xmlNodePtr xmlNode, const std::string &filename, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
void write (xmlDocPtr xmlNode, const std::string &filename) const;
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
void write (xmlNodePtr root, const std::string &filename) const;
|
||||||
|
>>>>>>> ryzomcore
|
||||||
|
|
||||||
|
// serial the primitive. Used for binary files.
|
||||||
|
void serial(NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// Root primitive hierarchy
|
||||||
|
CPrimNode *RootNode;
|
||||||
|
|
||||||
|
// get the static alias part for this primitive
|
||||||
|
uint32 getAliasStaticPart();
|
||||||
|
|
||||||
|
// set the static alias part for this primitive
|
||||||
|
void setAliasStaticPart(uint32 staticPart);
|
||||||
|
|
||||||
|
// Build an alias by combining the static and dynamic part
|
||||||
|
uint32 buildFullAlias(uint32 dynamicPart);
|
||||||
|
|
||||||
|
// Generate a new unique alias (dynamic part only)
|
||||||
|
uint32 genAlias(IPrimitive *prim, uint32 preferedAlias = 0);
|
||||||
|
// Reserve an alias and store it in the used alias list (dynamic part only)
|
||||||
|
// void reserveAlias(uint32 dynamicAlias);
|
||||||
|
// Remove an alias from the list of alias in use (dynamic part only)
|
||||||
|
void releaseAlias(IPrimitive *prim, uint32 dynamicAlias);
|
||||||
|
|
||||||
|
// Force the assignation of the specified alias to the primitive. If another primitive
|
||||||
|
// already hold the alias, this other primitive is assigned a new alias.
|
||||||
|
void forceAlias(CPrimAlias *prim, uint32 alias);
|
||||||
|
|
||||||
|
// get the last generated alias value (for debug only)
|
||||||
|
uint32 getLastGeneratedAlias();
|
||||||
|
|
||||||
|
// Return the primitive indexed by the given alias (ie, it doesn't return the alias primitive, but its first parent)
|
||||||
|
IPrimitive *getPrimitiveByAlias(uint32 primAlias);
|
||||||
|
|
||||||
|
// Build the complete list of indexed primitive (ie all primitive that have a primalias child)
|
||||||
|
void buildPrimitiveWithAliasList(std::map<uint32, IPrimitive*> &result);
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Conversion internal methods
|
||||||
|
void convertAddPrimitive (IPrimitive *child, const IPrimitive *prim, bool hidden);
|
||||||
|
void convertPrimitive (const IPrimitive *prim, bool hidden);
|
||||||
|
|
||||||
|
/// Optional context information
|
||||||
|
CLigoConfig *_LigoConfig;
|
||||||
|
/// Static part alias mapping (can be 0 if no mapping is defined)
|
||||||
|
uint32 _AliasStaticPart;
|
||||||
|
/// Last generated Alias, used to compute the next alias
|
||||||
|
uint32 _LastGeneratedAlias;
|
||||||
|
/// List of alias in use in the primitive (dynamic part only)
|
||||||
|
std::map<uint32, IPrimitive*> _AliasInUse;
|
||||||
|
// Store the filename
|
||||||
|
// This allows to retrieve the static alias when reloading from binary file
|
||||||
|
std::string _Filename;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/** Singleton to manage special loading feature related to
|
||||||
|
* unique alias assignment
|
||||||
|
*/
|
||||||
|
class CPrimitiveContext
|
||||||
|
{
|
||||||
|
static CPrimitiveContext *_Instance;
|
||||||
|
|
||||||
|
// private ctor
|
||||||
|
CPrimitiveContext();
|
||||||
|
public:
|
||||||
|
|
||||||
|
// get the singleton reference
|
||||||
|
static CPrimitiveContext &instance()
|
||||||
|
{
|
||||||
|
if (!_Instance)
|
||||||
|
{
|
||||||
|
_Instance = new CPrimitiveContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
return *_Instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The current ligo configuration file.
|
||||||
|
CLigoConfig *CurrentLigoConfig;
|
||||||
|
/// The current primitives container.
|
||||||
|
CPrimitives *CurrentPrimitive;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace NLLIGO
|
||||||
|
|
||||||
|
#endif // __PRIMITIVE_H__
|
||||||
|
|
781
code/nel/include/nel/ligo/primitive.h.BASE.4924.h
Normal file
781
code/nel/include/nel/ligo/primitive.h.BASE.4924.h
Normal file
|
@ -0,0 +1,781 @@
|
||||||
|
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
// 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#ifndef __PRIMITIVE_H__
|
||||||
|
#define __PRIMITIVE_H__
|
||||||
|
|
||||||
|
#include "nel/misc/vector.h"
|
||||||
|
#include "nel/misc/rgba.h"
|
||||||
|
|
||||||
|
// Include from libxml2
|
||||||
|
#include <libxml/parser.h>
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
namespace NLLIGO
|
||||||
|
{
|
||||||
|
|
||||||
|
#ifdef NL_DEBUG
|
||||||
|
# define NLLIGO_DEBUG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ligo primitives are used to add logical geometrical gameplay informations.
|
||||||
|
* Ligo primitives are NODES, POINTS, PATHES or ZONES.
|
||||||
|
* Ligo primitives have a CLASS.
|
||||||
|
*
|
||||||
|
* The primitive class defines the properties attached to the primitive
|
||||||
|
* The primitive class are defined in the XML file specified in the LigoClass field of the CLigoConfig class.
|
||||||
|
*/
|
||||||
|
|
||||||
|
class CPrimitives;
|
||||||
|
class CLigoConfig;
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
void Register ();
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
*/
|
||||||
|
class IProperty : public NLMISC::IStreamable
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
IProperty ()
|
||||||
|
{
|
||||||
|
Default = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This property is set to default
|
||||||
|
bool Default;
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
* This is a simple string
|
||||||
|
*/
|
||||||
|
class CPropertyString : public IProperty
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CPropertyString () {}
|
||||||
|
CPropertyString (const char *str);
|
||||||
|
CPropertyString (const std::string &str);
|
||||||
|
CPropertyString (const char *str, bool _default);
|
||||||
|
virtual ~CPropertyString () {}
|
||||||
|
std::string String;
|
||||||
|
|
||||||
|
NLMISC_DECLARE_CLASS (CPropertyString)
|
||||||
|
|
||||||
|
virtual void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
f.serial(Default);
|
||||||
|
f.serial(String);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const {}
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
* This is a string array
|
||||||
|
*/
|
||||||
|
class CPropertyStringArray : public IProperty
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CPropertyStringArray () {}
|
||||||
|
virtual ~CPropertyStringArray () {}
|
||||||
|
CPropertyStringArray (const std::vector<std::string> &stringArray);
|
||||||
|
CPropertyStringArray (const std::vector<std::string> &stringArray, bool _default);
|
||||||
|
std::vector<std::string> StringArray;
|
||||||
|
|
||||||
|
NLMISC_DECLARE_CLASS (CPropertyStringArray)
|
||||||
|
|
||||||
|
virtual void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
f.serial(Default);
|
||||||
|
f.serialCont(StringArray);
|
||||||
|
}
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const {}
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
* This is a string array
|
||||||
|
*/
|
||||||
|
class CPropertyColor : public IProperty
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
NLMISC::CRGBA Color;
|
||||||
|
|
||||||
|
NLMISC_DECLARE_CLASS (CPropertyColor)
|
||||||
|
|
||||||
|
virtual void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
f.serial(Default);
|
||||||
|
f.serial(Color);
|
||||||
|
}
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const {}
|
||||||
|
|
||||||
|
// ctors
|
||||||
|
CPropertyColor() {}
|
||||||
|
CPropertyColor(NLMISC::CRGBA col) : Color(col) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
class CPrimVector : public NLMISC::CVector
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CPrimVector ()
|
||||||
|
{
|
||||||
|
Selected = false;
|
||||||
|
}
|
||||||
|
CPrimVector (const NLMISC::CVector &v)
|
||||||
|
{
|
||||||
|
CVector::operator= (v);
|
||||||
|
Selected = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
CVector::serial(f);
|
||||||
|
f.serial(Selected);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Selected;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is the base class for ligo primitive.
|
||||||
|
*
|
||||||
|
* Provide access to common properties.
|
||||||
|
* Provide access to the primitive hierachy
|
||||||
|
*/
|
||||||
|
class IPrimitive : public NLMISC::IStreamable
|
||||||
|
{
|
||||||
|
friend class CPrimitives;
|
||||||
|
public:
|
||||||
|
|
||||||
|
// Deprecated
|
||||||
|
// std::string Layer;
|
||||||
|
// Deprecated
|
||||||
|
// std::string Name;
|
||||||
|
|
||||||
|
// Expended in the tree view
|
||||||
|
// bool Expanded;
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
NotAnArray,
|
||||||
|
AtTheEnd = 0xffffffff,
|
||||||
|
};
|
||||||
|
|
||||||
|
/// \name Hierarchy
|
||||||
|
IPrimitive ();
|
||||||
|
|
||||||
|
virtual ~IPrimitive ();
|
||||||
|
|
||||||
|
IPrimitive (const IPrimitive &node);
|
||||||
|
|
||||||
|
virtual void operator= (const IPrimitive &node);
|
||||||
|
|
||||||
|
/** Get the children primitive count */
|
||||||
|
uint getNumChildren () const
|
||||||
|
{
|
||||||
|
return _Children.size ();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get a child primitive */
|
||||||
|
bool getChild (const IPrimitive *&result, uint childId) const;
|
||||||
|
|
||||||
|
/** Get a child primitive */
|
||||||
|
bool getChild (IPrimitive *&result, uint childId);
|
||||||
|
|
||||||
|
/** Get the parent primitive */
|
||||||
|
IPrimitive *getParent ()
|
||||||
|
{
|
||||||
|
return _Parent;
|
||||||
|
}
|
||||||
|
const IPrimitive *getParent () const
|
||||||
|
{
|
||||||
|
return _Parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get the primitive relative to this and the given path */
|
||||||
|
const IPrimitive *getPrimitive (const std::string &absoluteOrRelativePath) const;
|
||||||
|
|
||||||
|
/** Get the id of the child, return 0xffffffff if not found */
|
||||||
|
bool getChildId (uint &childId, const IPrimitive *child) const;
|
||||||
|
|
||||||
|
/** Remove and delete a child primitive */
|
||||||
|
bool removeChild (IPrimitive *child);
|
||||||
|
|
||||||
|
/** Remove and delete a child primitive */
|
||||||
|
bool removeChild (uint childId);
|
||||||
|
|
||||||
|
/// Remove the child primitive from the children list, don't delete it
|
||||||
|
bool unlinkChild(IPrimitive *child);
|
||||||
|
|
||||||
|
/** Remove and delete all children primitives */
|
||||||
|
void removeChildren ();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert a child primitive before the index.
|
||||||
|
* The pointer will be deleted by the parent primitive using the ::delete operator.
|
||||||
|
* return false if the index is invalid
|
||||||
|
*/
|
||||||
|
bool insertChild (IPrimitive *primitive, uint index = AtTheEnd);
|
||||||
|
|
||||||
|
/// \name Properties
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a num properties
|
||||||
|
**/
|
||||||
|
uint getNumProperty () const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a properties by its index
|
||||||
|
* This method (iterate a list) is slower than getPropertyByName (look up in a map).
|
||||||
|
**/
|
||||||
|
bool getProperty (uint index, std::string &property_name, const IProperty *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a properties by its index
|
||||||
|
* This method (iterate a list) is slower than getPropertyByName (look up in a map).
|
||||||
|
**/
|
||||||
|
bool getProperty (uint index, std::string &property_name, IProperty *&result);
|
||||||
|
|
||||||
|
/** Check the existence of a named property */
|
||||||
|
bool checkProperty(const std::string &property_name) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a property
|
||||||
|
* If the property already exist, the method does nothing and returns false.
|
||||||
|
* The pointer will be deleted by the primitive using the ::delete operator.
|
||||||
|
**/
|
||||||
|
bool addPropertyByName (const char *property_name, IProperty *result);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a property with its name
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const char *property_name, const IProperty *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a property with its name
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const char *property_name, IProperty *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string property with its name. Return false if the property is not found or is not a string property.
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const char *property_name, std::string *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string array property with its name. Return false if the property is not found or is not a string array property.
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const char *property_name, std::vector<std::string> *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string property with its name. Return false if the property is not found or is not a string property.
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const char *property_name, std::string &result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string array property with its name. Return false if the property is not found or is not a string array property.
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const char *property_name, const std::vector<std::string> *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a color property with its name. Return false if the property is not found or is not a string array property.
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const char *property_name, NLMISC::CRGBA &result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove a property
|
||||||
|
* This is method (iterate a list) is slower than removePropertyByName (look up in a map).
|
||||||
|
**/
|
||||||
|
bool removeProperty (uint index);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove a property by its name
|
||||||
|
**/
|
||||||
|
bool removePropertyByName (const char *property_name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove all the properties
|
||||||
|
**/
|
||||||
|
void removeProperties ();
|
||||||
|
|
||||||
|
/* Init default primitive's parameters
|
||||||
|
*
|
||||||
|
* This method will add all the properties declared in the primitive class and create default properties.
|
||||||
|
*/
|
||||||
|
void initDefaultValues (CLigoConfig &config);
|
||||||
|
|
||||||
|
// Read the primitive, calls initDefaultValue (CLigoConfig &config)
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const = 0;
|
||||||
|
virtual const CPrimVector *getPrimVector () const = 0;
|
||||||
|
virtual CPrimVector *getPrimVector () = 0;
|
||||||
|
|
||||||
|
// Make a copy
|
||||||
|
virtual IPrimitive *copy () const = 0;
|
||||||
|
|
||||||
|
// used for fast binary save/load (exploitation mode)
|
||||||
|
void serial(NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// shortcut to getPropertyByName("name", ret); return ret;
|
||||||
|
std::string getName() const;
|
||||||
|
|
||||||
|
const std::string &getUnparsedProperties() const;
|
||||||
|
void setUnparsedProperties(const std::string &unparsedProperties) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// callback called just after the node is attach under a parent
|
||||||
|
virtual void onLinkToParent() {}
|
||||||
|
// callback called just before the node is removed from it's parent
|
||||||
|
virtual void onUnlinkFromParent() {}
|
||||||
|
|
||||||
|
/// Callback called just after an ancestor is linked
|
||||||
|
virtual void onBranchLink() {}
|
||||||
|
/// Callback called just before an ancestor is unlinked
|
||||||
|
virtual void onBranchUnlink() {}
|
||||||
|
|
||||||
|
/// Callback called when the primitive is updated, giving a chance to track the primitive's modifications during the loading
|
||||||
|
virtual void onModifyPrimitive(CPrimitives &/* primitives */) const {}
|
||||||
|
|
||||||
|
// internal recusive call
|
||||||
|
void branchLink();
|
||||||
|
void branchUnlink();
|
||||||
|
|
||||||
|
// Update child Id
|
||||||
|
void updateChildId (uint index);
|
||||||
|
|
||||||
|
// Child id
|
||||||
|
uint32 _ChildId;
|
||||||
|
|
||||||
|
// Parent
|
||||||
|
IPrimitive *_Parent;
|
||||||
|
|
||||||
|
// Children
|
||||||
|
std::vector<IPrimitive*> _Children;
|
||||||
|
|
||||||
|
// Single properties
|
||||||
|
std::map<std::string, IProperty*> _Properties;
|
||||||
|
|
||||||
|
// Editor specific properties (unparsed)
|
||||||
|
mutable std::string _UnparsedProperties;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef NLLIGO_DEBUG
|
||||||
|
std::string _DebugClassName;
|
||||||
|
std::string _DebugPrimitiveName;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
// Simple primitive node
|
||||||
|
class CPrimNode : public IPrimitive
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimNode)
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// void operator= (const CPrimNode &node);
|
||||||
|
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
class CPrimPoint : public IPrimitive
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
CPrimPoint ()
|
||||||
|
{
|
||||||
|
Angle = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
CPrimVector Point;
|
||||||
|
float Angle; // Angle on OZ, CCW
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// void operator= (const CPrimPoint &node);
|
||||||
|
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimPoint);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
class CPrimPath : public IPrimitive
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
std::vector<CPrimVector> VPoints;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// void operator= (const CPrimPath &node);
|
||||||
|
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimPath);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
class CPrimZone : public IPrimitive
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
std::vector<CPrimVector> VPoints;
|
||||||
|
|
||||||
|
static float getSegmentDist(const NLMISC::CVector v, const NLMISC::CVector &p1, const NLMISC::CVector &p2, NLMISC::CVector &nearPos);
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
bool contains (const NLMISC::CVector &v) const { return CPrimZone::contains(v, VPoints); }
|
||||||
|
bool contains(const NLMISC::CVector &v, float &distance, NLMISC::CVector &nearPos, bool isPath) const { return CPrimZone::contains(v, VPoints, distance, nearPos, isPath); }
|
||||||
|
|
||||||
|
// void operator= (const CPrimZone &node);
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// Returns true if the vector v is inside of the patatoid
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<NLMISC::CVector> &points);
|
||||||
|
// Returns true if the vector v is inside of the patatoid and set the distance of the nearest segment and the position of the nearest point.
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<NLMISC::CVector> &points, float &distance, NLMISC::CVector &nearPos, bool isPath);
|
||||||
|
// Returns true if the vector v is inside of the patatoid
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<CPrimVector> &points);
|
||||||
|
// Returns true if the vector v is inside of the patatoid and set the distance of the nearest segment and the position of the nearest point.
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<CPrimVector> &points, float &distance, NLMISC::CVector &nearPos, bool isPath);
|
||||||
|
|
||||||
|
/// Returns the barycenter of the zone (warning, it may be outside of the zone if it is not convex). Returns CVector::Null if there is no vertex.
|
||||||
|
NLMISC::CVector getBarycentre() const;
|
||||||
|
|
||||||
|
/// Returns the smallest axis-aligned box containing the zone (z is always set to 0)
|
||||||
|
void getAABox( NLMISC::CVector& cornerMin, NLMISC::CVector& cornerMax ) const;
|
||||||
|
|
||||||
|
/// Return the area of the axis-aligned box containing the zone
|
||||||
|
float getAreaOfAABox() const;
|
||||||
|
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimZone);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/** This primitive type is used to handle unique alias across a primitive file.
|
||||||
|
* Usage of this primitive imply the setting of the appropriate 'ligo context'
|
||||||
|
* before reading or copy/pasting alias.
|
||||||
|
*/
|
||||||
|
class CPrimAlias : public IPrimitive
|
||||||
|
{
|
||||||
|
friend class CPrimitives;
|
||||||
|
|
||||||
|
/// The 'dynamic' part of the alias
|
||||||
|
uint32 _Alias;
|
||||||
|
/// The primitive container
|
||||||
|
class CPrimitives *_Container;
|
||||||
|
|
||||||
|
// Needed overloads (not used)
|
||||||
|
virtual uint getNumVector () const
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
};
|
||||||
|
virtual const CPrimVector *getPrimVector () const
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
virtual CPrimVector *getPrimVector ()
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
virtual void onBranchLink();
|
||||||
|
// callback called just before the node is removed from it's parent
|
||||||
|
virtual void onBranchUnlink();
|
||||||
|
|
||||||
|
void regenAlias();
|
||||||
|
|
||||||
|
public:
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimAlias);
|
||||||
|
|
||||||
|
// private default constructor
|
||||||
|
CPrimAlias();
|
||||||
|
// copy constructor needed
|
||||||
|
CPrimAlias(const CPrimAlias &other);
|
||||||
|
|
||||||
|
~CPrimAlias();
|
||||||
|
|
||||||
|
// return the dynamic part of the alias
|
||||||
|
uint32 getAlias() const;
|
||||||
|
|
||||||
|
// Return the full alias, merge of the static and dynamic part
|
||||||
|
uint32 getFullAlias() const;
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||||
|
// Create a copy of this primitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
// serial for binary save
|
||||||
|
virtual void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
This class is deprecated.
|
||||||
|
*/
|
||||||
|
class CPrimRegion
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
std::string Name;
|
||||||
|
std::vector<CPrimPoint> VPoints;
|
||||||
|
std::vector<CPrimZone> VZones;
|
||||||
|
std::vector<CPrimPath> VPaths;
|
||||||
|
|
||||||
|
std::vector<bool> VHidePoints;
|
||||||
|
std::vector<bool> VHideZones;
|
||||||
|
std::vector<bool> VHidePaths;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class is a ligo primitives set
|
||||||
|
*/
|
||||||
|
class CPrimitives
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
CPrimitives ();
|
||||||
|
CPrimitives (const CPrimitives &other);
|
||||||
|
~CPrimitives ();
|
||||||
|
|
||||||
|
// Operator copy
|
||||||
|
CPrimitives& operator= (const CPrimitives &other);
|
||||||
|
|
||||||
|
// Convert from old format to the new one
|
||||||
|
void convert (const CPrimRegion ®ion);
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
bool read (xmlNodePtr xmlNode, const char *filename, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
void write (xmlDocPtr xmlNode, const char *filename) const;
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
void write (xmlNodePtr root, const char *filename) const;
|
||||||
|
|
||||||
|
// serial the primitive. Used for binary files.
|
||||||
|
void serial(NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// Root primitive hierarchy
|
||||||
|
CPrimNode *RootNode;
|
||||||
|
|
||||||
|
// get the static alias part for this primitive
|
||||||
|
uint32 getAliasStaticPart();
|
||||||
|
|
||||||
|
// set the static alias part for this primitive
|
||||||
|
void setAliasStaticPart(uint32 staticPart);
|
||||||
|
|
||||||
|
// Build an alias by combining the static and dynamic part
|
||||||
|
uint32 buildFullAlias(uint32 dynamicPart);
|
||||||
|
|
||||||
|
// Generate a new unique alias (dynamic part only)
|
||||||
|
uint32 genAlias(IPrimitive *prim, uint32 preferedAlias = 0);
|
||||||
|
// Reserve an alias and store it in the used alias list (dynamic part only)
|
||||||
|
// void reserveAlias(uint32 dynamicAlias);
|
||||||
|
// Remove an alias from the list of alias in use (dynamic part only)
|
||||||
|
void releaseAlias(IPrimitive *prim, uint32 dynamicAlias);
|
||||||
|
|
||||||
|
// Force the assignation of the specified alias the the primitive. If another primitive
|
||||||
|
// already hold the alias, this other primitive is assigned a new alias.
|
||||||
|
void forceAlias(CPrimAlias *prim, uint32 alias);
|
||||||
|
|
||||||
|
// get the last generated alias value (for debug only)
|
||||||
|
uint32 getLastGeneratedAlias();
|
||||||
|
|
||||||
|
// Return the primitive indexed by the given alias (ie, it doesn't return the alias primitive, but its first parent)
|
||||||
|
IPrimitive *getPrimitiveByAlias(uint32 primAlias);
|
||||||
|
|
||||||
|
// Build the complete list of indexed primitive (ie all primitive that have a primalias child)
|
||||||
|
void buildPrimitiveWithAliasList(std::map<uint32, IPrimitive*> &result);
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Conversion internal methods
|
||||||
|
void convertAddPrimitive (IPrimitive *child, const IPrimitive *prim, bool hidden);
|
||||||
|
void convertPrimitive (const IPrimitive *prim, bool hidden);
|
||||||
|
|
||||||
|
/// Optional context information
|
||||||
|
CLigoConfig *_LigoConfig;
|
||||||
|
/// Static part alias mapping (can be 0 if no mapping is defined)
|
||||||
|
uint32 _AliasStaticPart;
|
||||||
|
/// Last generated Alias, used to compute the next alias
|
||||||
|
uint32 _LastGeneratedAlias;
|
||||||
|
/// List of alias in use in the primitive (dynamic part only)
|
||||||
|
std::map<uint32, IPrimitive*> _AliasInUse;
|
||||||
|
// Store the filename
|
||||||
|
// This allows to retrieve the static alias when reloading from binary file
|
||||||
|
std::string _Filename;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/** Singleton to manage special loading feature related to
|
||||||
|
* unique alias assignment
|
||||||
|
*/
|
||||||
|
class CPrimitiveContext
|
||||||
|
{
|
||||||
|
static CPrimitiveContext *_Instance;
|
||||||
|
|
||||||
|
// private ctor
|
||||||
|
CPrimitiveContext();
|
||||||
|
public:
|
||||||
|
|
||||||
|
// get the singleton reference
|
||||||
|
static CPrimitiveContext &instance()
|
||||||
|
{
|
||||||
|
if (!_Instance)
|
||||||
|
{
|
||||||
|
_Instance = new CPrimitiveContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
return *_Instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The current ligo configuration file.
|
||||||
|
CLigoConfig *CurrentLigoConfig;
|
||||||
|
/// The current primitives container.
|
||||||
|
CPrimitives *CurrentPrimitive;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace NLLIGO
|
||||||
|
|
||||||
|
#endif // __PRIMITIVE_H__
|
||||||
|
|
786
code/nel/include/nel/ligo/primitive.h.LOCAL.4924.h
Normal file
786
code/nel/include/nel/ligo/primitive.h.LOCAL.4924.h
Normal file
|
@ -0,0 +1,786 @@
|
||||||
|
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
// 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#ifndef __PRIMITIVE_H__
|
||||||
|
#define __PRIMITIVE_H__
|
||||||
|
|
||||||
|
#include "nel/misc/vector.h"
|
||||||
|
#include "nel/misc/rgba.h"
|
||||||
|
|
||||||
|
// Forward declarations for libxml2
|
||||||
|
typedef struct _xmlNode xmlNode;
|
||||||
|
typedef xmlNode *xmlNodePtr;
|
||||||
|
|
||||||
|
typedef struct _xmlDoc xmlDoc;
|
||||||
|
typedef xmlDoc *xmlDocPtr;
|
||||||
|
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
namespace NLLIGO
|
||||||
|
{
|
||||||
|
|
||||||
|
#ifdef NL_DEBUG
|
||||||
|
# define NLLIGO_DEBUG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ligo primitives are used to add logical geometrical gameplay information.
|
||||||
|
* Ligo primitives are NODES, POINTS, PATHES or ZONES.
|
||||||
|
* Ligo primitives have a CLASS.
|
||||||
|
*
|
||||||
|
* The primitive class defines the properties attached to the primitive
|
||||||
|
* The primitive class are defined in the XML file specified in the LigoClass field of the CLigoConfig class.
|
||||||
|
*/
|
||||||
|
|
||||||
|
class CPrimitives;
|
||||||
|
class CLigoConfig;
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
void Register ();
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
*/
|
||||||
|
class IProperty : public NLMISC::IStreamable
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
IProperty ()
|
||||||
|
{
|
||||||
|
Default = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This property is set to default
|
||||||
|
bool Default;
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
* This is a simple string
|
||||||
|
*/
|
||||||
|
class CPropertyString : public IProperty
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CPropertyString () {}
|
||||||
|
CPropertyString (const char *str);
|
||||||
|
CPropertyString (const std::string &str);
|
||||||
|
CPropertyString (const char *str, bool _default);
|
||||||
|
virtual ~CPropertyString () {}
|
||||||
|
std::string String;
|
||||||
|
|
||||||
|
NLMISC_DECLARE_CLASS (CPropertyString)
|
||||||
|
|
||||||
|
virtual void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
f.serial(Default);
|
||||||
|
f.serial(String);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const {}
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
* This is a string array
|
||||||
|
*/
|
||||||
|
class CPropertyStringArray : public IProperty
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CPropertyStringArray () {}
|
||||||
|
virtual ~CPropertyStringArray () {}
|
||||||
|
CPropertyStringArray (const std::vector<std::string> &stringArray);
|
||||||
|
CPropertyStringArray (const std::vector<std::string> &stringArray, bool _default);
|
||||||
|
std::vector<std::string> StringArray;
|
||||||
|
|
||||||
|
NLMISC_DECLARE_CLASS (CPropertyStringArray)
|
||||||
|
|
||||||
|
virtual void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
f.serial(Default);
|
||||||
|
f.serialCont(StringArray);
|
||||||
|
}
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const {}
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
* This is a string array
|
||||||
|
*/
|
||||||
|
class CPropertyColor : public IProperty
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
NLMISC::CRGBA Color;
|
||||||
|
|
||||||
|
NLMISC_DECLARE_CLASS (CPropertyColor)
|
||||||
|
|
||||||
|
virtual void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
f.serial(Default);
|
||||||
|
f.serial(Color);
|
||||||
|
}
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const {}
|
||||||
|
|
||||||
|
// ctors
|
||||||
|
CPropertyColor() {}
|
||||||
|
CPropertyColor(NLMISC::CRGBA col) : Color(col) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
class CPrimVector : public NLMISC::CVector
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CPrimVector ()
|
||||||
|
{
|
||||||
|
Selected = false;
|
||||||
|
}
|
||||||
|
CPrimVector (const NLMISC::CVector &v)
|
||||||
|
{
|
||||||
|
CVector::operator= (v);
|
||||||
|
Selected = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
CVector::serial(f);
|
||||||
|
f.serial(Selected);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Selected;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is the base class for ligo primitive.
|
||||||
|
*
|
||||||
|
* Provide access to common properties.
|
||||||
|
* Provide access to the primitive hierachy
|
||||||
|
*/
|
||||||
|
class IPrimitive : public NLMISC::IStreamable
|
||||||
|
{
|
||||||
|
friend class CPrimitives;
|
||||||
|
public:
|
||||||
|
|
||||||
|
// Deprecated
|
||||||
|
// std::string Layer;
|
||||||
|
// Deprecated
|
||||||
|
// std::string Name;
|
||||||
|
|
||||||
|
// Expended in the tree view
|
||||||
|
// bool Expanded;
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
NotAnArray,
|
||||||
|
AtTheEnd = 0xffffffff,
|
||||||
|
};
|
||||||
|
|
||||||
|
/// \name Hierarchy
|
||||||
|
IPrimitive ();
|
||||||
|
|
||||||
|
virtual ~IPrimitive ();
|
||||||
|
|
||||||
|
IPrimitive (const IPrimitive &node);
|
||||||
|
|
||||||
|
virtual void operator= (const IPrimitive &node);
|
||||||
|
|
||||||
|
/** Get the children primitive count */
|
||||||
|
uint getNumChildren () const
|
||||||
|
{
|
||||||
|
return (uint)_Children.size ();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get a child primitive */
|
||||||
|
bool getChild (const IPrimitive *&result, uint childId) const;
|
||||||
|
|
||||||
|
/** Get a child primitive */
|
||||||
|
bool getChild (IPrimitive *&result, uint childId);
|
||||||
|
|
||||||
|
/** Get the parent primitive */
|
||||||
|
IPrimitive *getParent ()
|
||||||
|
{
|
||||||
|
return _Parent;
|
||||||
|
}
|
||||||
|
const IPrimitive *getParent () const
|
||||||
|
{
|
||||||
|
return _Parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get the primitive relative to this and the given path */
|
||||||
|
const IPrimitive *getPrimitive (const std::string &absoluteOrRelativePath) const;
|
||||||
|
|
||||||
|
/** Get the id of the child, return 0xffffffff if not found */
|
||||||
|
bool getChildId (uint &childId, const IPrimitive *child) const;
|
||||||
|
|
||||||
|
/** Remove and delete a child primitive */
|
||||||
|
bool removeChild (IPrimitive *child);
|
||||||
|
|
||||||
|
/** Remove and delete a child primitive */
|
||||||
|
bool removeChild (uint childId);
|
||||||
|
|
||||||
|
/// Remove the child primitive from the children list, don't delete it
|
||||||
|
bool unlinkChild(IPrimitive *child);
|
||||||
|
|
||||||
|
/** Remove and delete all children primitives */
|
||||||
|
void removeChildren ();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert a child primitive before the index.
|
||||||
|
* The pointer will be deleted by the parent primitive using the ::delete operator.
|
||||||
|
* return false if the index is invalid
|
||||||
|
*/
|
||||||
|
bool insertChild (IPrimitive *primitive, uint index = AtTheEnd);
|
||||||
|
|
||||||
|
/// \name Properties
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a num properties
|
||||||
|
**/
|
||||||
|
uint getNumProperty () const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a properties by its index
|
||||||
|
* This method (iterate a list) is slower than getPropertyByName (look up in a map).
|
||||||
|
**/
|
||||||
|
bool getProperty (uint index, std::string &property_name, const IProperty *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a properties by its index
|
||||||
|
* This method (iterate a list) is slower than getPropertyByName (look up in a map).
|
||||||
|
**/
|
||||||
|
bool getProperty (uint index, std::string &property_name, IProperty *&result);
|
||||||
|
|
||||||
|
/** Check the existence of a named property */
|
||||||
|
bool checkProperty(const std::string &property_name) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a property
|
||||||
|
* If the property already exist, the method does nothing and returns false.
|
||||||
|
* The pointer will be deleted by the primitive using the ::delete operator.
|
||||||
|
**/
|
||||||
|
bool addPropertyByName (const char *property_name, IProperty *result);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a property with its name
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const char *property_name, const IProperty *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a property with its name
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const char *property_name, IProperty *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string property with its name. Return false if the property is not found or is not a string property.
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const char *property_name, std::string *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string array property with its name. Return false if the property is not found or is not a string array property.
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const char *property_name, std::vector<std::string> *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string property with its name. Return false if the property is not found or is not a string property.
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const char *property_name, std::string &result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string array property with its name. Return false if the property is not found or is not a string array property.
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const char *property_name, const std::vector<std::string> *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a color property with its name. Return false if the property is not found or is not a string array property.
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const char *property_name, NLMISC::CRGBA &result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove a property
|
||||||
|
* This is method (iterate a list) is slower than removePropertyByName (look up in a map).
|
||||||
|
**/
|
||||||
|
bool removeProperty (uint index);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove a property by its name
|
||||||
|
**/
|
||||||
|
bool removePropertyByName (const char *property_name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove all the properties
|
||||||
|
**/
|
||||||
|
void removeProperties ();
|
||||||
|
|
||||||
|
/* Init default primitive's parameters
|
||||||
|
*
|
||||||
|
* This method will add all the properties declared in the primitive class and create default properties.
|
||||||
|
*/
|
||||||
|
void initDefaultValues (CLigoConfig &config);
|
||||||
|
|
||||||
|
// Read the primitive, calls initDefaultValue (CLigoConfig &config)
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const = 0;
|
||||||
|
virtual const CPrimVector *getPrimVector () const = 0;
|
||||||
|
virtual CPrimVector *getPrimVector () = 0;
|
||||||
|
|
||||||
|
// Make a copy
|
||||||
|
virtual IPrimitive *copy () const = 0;
|
||||||
|
|
||||||
|
// used for fast binary save/load (exploitation mode)
|
||||||
|
void serial(NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// shortcut to getPropertyByName("name", ret); return ret;
|
||||||
|
std::string getName() const;
|
||||||
|
|
||||||
|
const std::string &getUnparsedProperties() const;
|
||||||
|
void setUnparsedProperties(const std::string &unparsedProperties) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// callback called just after the node is attach under a parent
|
||||||
|
virtual void onLinkToParent() {}
|
||||||
|
// callback called just before the node is removed from it's parent
|
||||||
|
virtual void onUnlinkFromParent() {}
|
||||||
|
|
||||||
|
/// Callback called just after an ancestor is linked
|
||||||
|
virtual void onBranchLink() {}
|
||||||
|
/// Callback called just before an ancestor is unlinked
|
||||||
|
virtual void onBranchUnlink() {}
|
||||||
|
|
||||||
|
/// Callback called when the primitive is updated, giving a chance to track the primitive's modifications during the loading
|
||||||
|
virtual void onModifyPrimitive(CPrimitives &/* primitives */) const {}
|
||||||
|
|
||||||
|
// internal recusive call
|
||||||
|
void branchLink();
|
||||||
|
void branchUnlink();
|
||||||
|
|
||||||
|
// Update child Id
|
||||||
|
void updateChildId (uint index);
|
||||||
|
|
||||||
|
// Child id
|
||||||
|
uint32 _ChildId;
|
||||||
|
|
||||||
|
// Parent
|
||||||
|
IPrimitive *_Parent;
|
||||||
|
|
||||||
|
// Children
|
||||||
|
std::vector<IPrimitive*> _Children;
|
||||||
|
|
||||||
|
// Single properties
|
||||||
|
std::map<std::string, IProperty*> _Properties;
|
||||||
|
|
||||||
|
// Editor specific properties (unparsed)
|
||||||
|
mutable std::string _UnparsedProperties;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef NLLIGO_DEBUG
|
||||||
|
std::string _DebugClassName;
|
||||||
|
std::string _DebugPrimitiveName;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
// Simple primitive node
|
||||||
|
class CPrimNode : public IPrimitive
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimNode)
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// void operator= (const CPrimNode &node);
|
||||||
|
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
class CPrimPoint : public IPrimitive
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
CPrimPoint ()
|
||||||
|
{
|
||||||
|
Angle = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
CPrimVector Point;
|
||||||
|
float Angle; // Angle on OZ, CCW
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// void operator= (const CPrimPoint &node);
|
||||||
|
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimPoint);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
class CPrimPath : public IPrimitive
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
std::vector<CPrimVector> VPoints;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// void operator= (const CPrimPath &node);
|
||||||
|
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimPath);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
class CPrimZone : public IPrimitive
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
std::vector<CPrimVector> VPoints;
|
||||||
|
|
||||||
|
static float getSegmentDist(const NLMISC::CVector v, const NLMISC::CVector &p1, const NLMISC::CVector &p2, NLMISC::CVector &nearPos);
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
bool contains (const NLMISC::CVector &v) const { return CPrimZone::contains(v, VPoints); }
|
||||||
|
bool contains(const NLMISC::CVector &v, float &distance, NLMISC::CVector &nearPos, bool isPath) const { return CPrimZone::contains(v, VPoints, distance, nearPos, isPath); }
|
||||||
|
|
||||||
|
// void operator= (const CPrimZone &node);
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// Returns true if the vector v is inside of the patatoid
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<NLMISC::CVector> &points);
|
||||||
|
// Returns true if the vector v is inside of the patatoid and set the distance of the nearest segment and the position of the nearest point.
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<NLMISC::CVector> &points, float &distance, NLMISC::CVector &nearPos, bool isPath);
|
||||||
|
// Returns true if the vector v is inside of the patatoid
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<CPrimVector> &points);
|
||||||
|
// Returns true if the vector v is inside of the patatoid and set the distance of the nearest segment and the position of the nearest point.
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<CPrimVector> &points, float &distance, NLMISC::CVector &nearPos, bool isPath);
|
||||||
|
|
||||||
|
/// Returns the barycenter of the zone (warning, it may be outside of the zone if it is not convex). Returns CVector::Null if there is no vertex.
|
||||||
|
NLMISC::CVector getBarycentre() const;
|
||||||
|
|
||||||
|
/// Returns the smallest axis-aligned box containing the zone (z is always set to 0)
|
||||||
|
void getAABox( NLMISC::CVector& cornerMin, NLMISC::CVector& cornerMax ) const;
|
||||||
|
|
||||||
|
/// Return the area of the axis-aligned box containing the zone
|
||||||
|
float getAreaOfAABox() const;
|
||||||
|
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimZone);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/** This primitive type is used to handle unique alias across a primitive file.
|
||||||
|
* Usage of this primitive imply the setting of the appropriate 'ligo context'
|
||||||
|
* before reading or copy/pasting alias.
|
||||||
|
*/
|
||||||
|
class CPrimAlias : public IPrimitive
|
||||||
|
{
|
||||||
|
friend class CPrimitives;
|
||||||
|
|
||||||
|
/// The 'dynamic' part of the alias
|
||||||
|
uint32 _Alias;
|
||||||
|
/// The primitive container
|
||||||
|
class CPrimitives *_Container;
|
||||||
|
|
||||||
|
// Needed overloads (not used)
|
||||||
|
virtual uint getNumVector () const
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
};
|
||||||
|
virtual const CPrimVector *getPrimVector () const
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
virtual CPrimVector *getPrimVector ()
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
virtual void onBranchLink();
|
||||||
|
// callback called just before the node is removed from it's parent
|
||||||
|
virtual void onBranchUnlink();
|
||||||
|
|
||||||
|
void regenAlias();
|
||||||
|
|
||||||
|
public:
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimAlias);
|
||||||
|
|
||||||
|
// private default constructor
|
||||||
|
CPrimAlias();
|
||||||
|
// copy constructor needed
|
||||||
|
CPrimAlias(const CPrimAlias &other);
|
||||||
|
|
||||||
|
~CPrimAlias();
|
||||||
|
|
||||||
|
// return the dynamic part of the alias
|
||||||
|
uint32 getAlias() const;
|
||||||
|
|
||||||
|
// Return the full alias, merge of the static and dynamic part
|
||||||
|
uint32 getFullAlias() const;
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||||
|
// Create a copy of this primitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
// serial for binary save
|
||||||
|
virtual void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
This class is deprecated.
|
||||||
|
*/
|
||||||
|
class CPrimRegion
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
std::string Name;
|
||||||
|
std::vector<CPrimPoint> VPoints;
|
||||||
|
std::vector<CPrimZone> VZones;
|
||||||
|
std::vector<CPrimPath> VPaths;
|
||||||
|
|
||||||
|
std::vector<bool> VHidePoints;
|
||||||
|
std::vector<bool> VHideZones;
|
||||||
|
std::vector<bool> VHidePaths;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class is a ligo primitives set
|
||||||
|
*/
|
||||||
|
class CPrimitives
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
CPrimitives ();
|
||||||
|
CPrimitives (const CPrimitives &other);
|
||||||
|
~CPrimitives ();
|
||||||
|
|
||||||
|
// Operator copy
|
||||||
|
CPrimitives& operator= (const CPrimitives &other);
|
||||||
|
|
||||||
|
// Convert from old format to the new one
|
||||||
|
void convert (const CPrimRegion ®ion);
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
bool read (xmlNodePtr xmlNode, const char *filename, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
void write (xmlDocPtr xmlNode, const char *filename) const;
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
void write (xmlNodePtr root, const char *filename) const;
|
||||||
|
|
||||||
|
// serial the primitive. Used for binary files.
|
||||||
|
void serial(NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// Root primitive hierarchy
|
||||||
|
CPrimNode *RootNode;
|
||||||
|
|
||||||
|
// get the static alias part for this primitive
|
||||||
|
uint32 getAliasStaticPart();
|
||||||
|
|
||||||
|
// set the static alias part for this primitive
|
||||||
|
void setAliasStaticPart(uint32 staticPart);
|
||||||
|
|
||||||
|
// Build an alias by combining the static and dynamic part
|
||||||
|
uint32 buildFullAlias(uint32 dynamicPart);
|
||||||
|
|
||||||
|
// Generate a new unique alias (dynamic part only)
|
||||||
|
uint32 genAlias(IPrimitive *prim, uint32 preferedAlias = 0);
|
||||||
|
// Reserve an alias and store it in the used alias list (dynamic part only)
|
||||||
|
// void reserveAlias(uint32 dynamicAlias);
|
||||||
|
// Remove an alias from the list of alias in use (dynamic part only)
|
||||||
|
void releaseAlias(IPrimitive *prim, uint32 dynamicAlias);
|
||||||
|
|
||||||
|
// Force the assignation of the specified alias to the primitive. If another primitive
|
||||||
|
// already hold the alias, this other primitive is assigned a new alias.
|
||||||
|
void forceAlias(CPrimAlias *prim, uint32 alias);
|
||||||
|
|
||||||
|
// get the last generated alias value (for debug only)
|
||||||
|
uint32 getLastGeneratedAlias();
|
||||||
|
|
||||||
|
// Return the primitive indexed by the given alias (ie, it doesn't return the alias primitive, but its first parent)
|
||||||
|
IPrimitive *getPrimitiveByAlias(uint32 primAlias);
|
||||||
|
|
||||||
|
// Build the complete list of indexed primitive (ie all primitive that have a primalias child)
|
||||||
|
void buildPrimitiveWithAliasList(std::map<uint32, IPrimitive*> &result);
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Conversion internal methods
|
||||||
|
void convertAddPrimitive (IPrimitive *child, const IPrimitive *prim, bool hidden);
|
||||||
|
void convertPrimitive (const IPrimitive *prim, bool hidden);
|
||||||
|
|
||||||
|
/// Optional context information
|
||||||
|
CLigoConfig *_LigoConfig;
|
||||||
|
/// Static part alias mapping (can be 0 if no mapping is defined)
|
||||||
|
uint32 _AliasStaticPart;
|
||||||
|
/// Last generated Alias, used to compute the next alias
|
||||||
|
uint32 _LastGeneratedAlias;
|
||||||
|
/// List of alias in use in the primitive (dynamic part only)
|
||||||
|
std::map<uint32, IPrimitive*> _AliasInUse;
|
||||||
|
// Store the filename
|
||||||
|
// This allows to retrieve the static alias when reloading from binary file
|
||||||
|
std::string _Filename;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/** Singleton to manage special loading feature related to
|
||||||
|
* unique alias assignment
|
||||||
|
*/
|
||||||
|
class CPrimitiveContext
|
||||||
|
{
|
||||||
|
static CPrimitiveContext *_Instance;
|
||||||
|
|
||||||
|
// private ctor
|
||||||
|
CPrimitiveContext();
|
||||||
|
public:
|
||||||
|
|
||||||
|
// get the singleton reference
|
||||||
|
static CPrimitiveContext &instance()
|
||||||
|
{
|
||||||
|
if (!_Instance)
|
||||||
|
{
|
||||||
|
_Instance = new CPrimitiveContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
return *_Instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The current ligo configuration file.
|
||||||
|
CLigoConfig *CurrentLigoConfig;
|
||||||
|
/// The current primitives container.
|
||||||
|
CPrimitives *CurrentPrimitive;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace NLLIGO
|
||||||
|
|
||||||
|
#endif // __PRIMITIVE_H__
|
||||||
|
|
785
code/nel/include/nel/ligo/primitive.h.REMOTE.4924.h
Normal file
785
code/nel/include/nel/ligo/primitive.h.REMOTE.4924.h
Normal file
|
@ -0,0 +1,785 @@
|
||||||
|
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
// 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#ifndef __PRIMITIVE_H__
|
||||||
|
#define __PRIMITIVE_H__
|
||||||
|
|
||||||
|
#include "nel/misc/vector.h"
|
||||||
|
#include "nel/misc/rgba.h"
|
||||||
|
|
||||||
|
// Forward declarations for libxml2
|
||||||
|
typedef struct _xmlNode xmlNode;
|
||||||
|
typedef xmlNode *xmlNodePtr;
|
||||||
|
|
||||||
|
typedef struct _xmlDoc xmlDoc;
|
||||||
|
typedef xmlDoc *xmlDocPtr;
|
||||||
|
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
namespace NLLIGO
|
||||||
|
{
|
||||||
|
|
||||||
|
#ifdef NL_DEBUG
|
||||||
|
# define NLLIGO_DEBUG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ligo primitives are used to add logical geometrical gameplay information.
|
||||||
|
* Ligo primitives are NODES, POINTS, PATHES or ZONES.
|
||||||
|
* Ligo primitives have a CLASS.
|
||||||
|
*
|
||||||
|
* The primitive class defines the properties attached to the primitive
|
||||||
|
* The primitive class are defined in the XML file specified in the LigoClass field of the CLigoConfig class.
|
||||||
|
*/
|
||||||
|
|
||||||
|
class CPrimitives;
|
||||||
|
class CLigoConfig;
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
void Register ();
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
*/
|
||||||
|
class IProperty : public NLMISC::IStreamable
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
IProperty ()
|
||||||
|
{
|
||||||
|
Default = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This property is set to default
|
||||||
|
bool Default;
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
* This is a simple string
|
||||||
|
*/
|
||||||
|
class CPropertyString : public IProperty
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CPropertyString () {}
|
||||||
|
CPropertyString (const std::string &str);
|
||||||
|
CPropertyString (const std::string &str, bool _default);
|
||||||
|
virtual ~CPropertyString () {}
|
||||||
|
std::string String;
|
||||||
|
|
||||||
|
NLMISC_DECLARE_CLASS (CPropertyString)
|
||||||
|
|
||||||
|
virtual void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
f.serial(Default);
|
||||||
|
f.serial(String);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const {}
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
* This is a string array
|
||||||
|
*/
|
||||||
|
class CPropertyStringArray : public IProperty
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CPropertyStringArray () {}
|
||||||
|
virtual ~CPropertyStringArray () {}
|
||||||
|
CPropertyStringArray (const std::vector<std::string> &stringArray);
|
||||||
|
CPropertyStringArray (const std::vector<std::string> &stringArray, bool _default);
|
||||||
|
std::vector<std::string> StringArray;
|
||||||
|
|
||||||
|
NLMISC_DECLARE_CLASS (CPropertyStringArray)
|
||||||
|
|
||||||
|
virtual void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
f.serial(Default);
|
||||||
|
f.serialCont(StringArray);
|
||||||
|
}
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const {}
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is a property class for ligo primitive.
|
||||||
|
* This is a string array
|
||||||
|
*/
|
||||||
|
class CPropertyColor : public IProperty
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
NLMISC::CRGBA Color;
|
||||||
|
|
||||||
|
NLMISC_DECLARE_CLASS (CPropertyColor)
|
||||||
|
|
||||||
|
virtual void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
f.serial(Default);
|
||||||
|
f.serial(Color);
|
||||||
|
}
|
||||||
|
// Force class to be polymorphic
|
||||||
|
virtual void foo () const {}
|
||||||
|
|
||||||
|
// ctors
|
||||||
|
CPropertyColor() {}
|
||||||
|
CPropertyColor(NLMISC::CRGBA col) : Color(col) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
class CPrimVector : public NLMISC::CVector
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CPrimVector ()
|
||||||
|
{
|
||||||
|
Selected = false;
|
||||||
|
}
|
||||||
|
CPrimVector (const NLMISC::CVector &v)
|
||||||
|
{
|
||||||
|
CVector::operator= (v);
|
||||||
|
Selected = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void serial(NLMISC::IStream &f)
|
||||||
|
{
|
||||||
|
CVector::serial(f);
|
||||||
|
f.serial(Selected);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Selected;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This class is the base class for ligo primitive.
|
||||||
|
*
|
||||||
|
* Provide access to common properties.
|
||||||
|
* Provide access to the primitive hierachy
|
||||||
|
*/
|
||||||
|
class IPrimitive : public NLMISC::IStreamable
|
||||||
|
{
|
||||||
|
friend class CPrimitives;
|
||||||
|
public:
|
||||||
|
|
||||||
|
// Deprecated
|
||||||
|
// std::string Layer;
|
||||||
|
// Deprecated
|
||||||
|
// std::string Name;
|
||||||
|
|
||||||
|
// Expended in the tree view
|
||||||
|
// bool Expanded;
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
NotAnArray,
|
||||||
|
AtTheEnd = 0xffffffff,
|
||||||
|
};
|
||||||
|
|
||||||
|
/// \name Hierarchy
|
||||||
|
IPrimitive ();
|
||||||
|
|
||||||
|
virtual ~IPrimitive ();
|
||||||
|
|
||||||
|
IPrimitive (const IPrimitive &node);
|
||||||
|
|
||||||
|
virtual void operator= (const IPrimitive &node);
|
||||||
|
|
||||||
|
/** Get the children primitive count */
|
||||||
|
uint getNumChildren () const
|
||||||
|
{
|
||||||
|
return (uint)_Children.size ();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get a child primitive */
|
||||||
|
bool getChild (const IPrimitive *&result, uint childId) const;
|
||||||
|
|
||||||
|
/** Get a child primitive */
|
||||||
|
bool getChild (IPrimitive *&result, uint childId);
|
||||||
|
|
||||||
|
/** Get the parent primitive */
|
||||||
|
IPrimitive *getParent ()
|
||||||
|
{
|
||||||
|
return _Parent;
|
||||||
|
}
|
||||||
|
const IPrimitive *getParent () const
|
||||||
|
{
|
||||||
|
return _Parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get the primitive relative to this and the given path */
|
||||||
|
const IPrimitive *getPrimitive (const std::string &absoluteOrRelativePath) const;
|
||||||
|
|
||||||
|
/** Get the id of the child, return 0xffffffff if not found */
|
||||||
|
bool getChildId (uint &childId, const IPrimitive *child) const;
|
||||||
|
|
||||||
|
/** Remove and delete a child primitive */
|
||||||
|
bool removeChild (IPrimitive *child);
|
||||||
|
|
||||||
|
/** Remove and delete a child primitive */
|
||||||
|
bool removeChild (uint childId);
|
||||||
|
|
||||||
|
/// Remove the child primitive from the children list, don't delete it
|
||||||
|
bool unlinkChild(IPrimitive *child);
|
||||||
|
|
||||||
|
/** Remove and delete all children primitives */
|
||||||
|
void removeChildren ();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert a child primitive before the index.
|
||||||
|
* The pointer will be deleted by the parent primitive using the ::delete operator.
|
||||||
|
* return false if the index is invalid
|
||||||
|
*/
|
||||||
|
bool insertChild (IPrimitive *primitive, uint index = AtTheEnd);
|
||||||
|
|
||||||
|
/// \name Properties
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a num properties
|
||||||
|
**/
|
||||||
|
uint getNumProperty () const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a properties by its index
|
||||||
|
* This method (iterate a list) is slower than getPropertyByName (look up in a map).
|
||||||
|
**/
|
||||||
|
bool getProperty (uint index, std::string &property_name, const IProperty *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a properties by its index
|
||||||
|
* This method (iterate a list) is slower than getPropertyByName (look up in a map).
|
||||||
|
**/
|
||||||
|
bool getProperty (uint index, std::string &property_name, IProperty *&result);
|
||||||
|
|
||||||
|
/** Check the existence of a named property */
|
||||||
|
bool checkProperty(const std::string &property_name) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a property
|
||||||
|
* If the property already exist, the method does nothing and returns false.
|
||||||
|
* The pointer will be deleted by the primitive using the ::delete operator.
|
||||||
|
**/
|
||||||
|
bool addPropertyByName (const std::string &property_name, IProperty *result);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a property with its name
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const std::string &property_name, const IProperty *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a property with its name
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const std::string &property_name, IProperty *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string property with its name. Return false if the property is not found or is not a string property.
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const std::string &property_name, std::string *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string array property with its name. Return false if the property is not found or is not a string array property.
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const std::string &property_name, std::vector<std::string> *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string property with its name. Return false if the property is not found or is not a string property.
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const std::string &property_name, std::string &result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a string array property with its name. Return false if the property is not found or is not a string array property.
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const std::string &property_name, const std::vector<std::string> *&result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a color property with its name. Return false if the property is not found or is not a string array property.
|
||||||
|
**/
|
||||||
|
bool getPropertyByName (const std::string &property_name, NLMISC::CRGBA &result) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove a property
|
||||||
|
* This is method (iterate a list) is slower than removePropertyByName (look up in a map).
|
||||||
|
**/
|
||||||
|
bool removeProperty (uint index);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove a property by its name
|
||||||
|
**/
|
||||||
|
bool removePropertyByName (const std::string &property_name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove all the properties
|
||||||
|
**/
|
||||||
|
void removeProperties ();
|
||||||
|
|
||||||
|
/* Init default primitive's parameters
|
||||||
|
*
|
||||||
|
* This method will add all the properties declared in the primitive class and create default properties.
|
||||||
|
*/
|
||||||
|
void initDefaultValues (CLigoConfig &config);
|
||||||
|
|
||||||
|
// Read the primitive, calls initDefaultValue (CLigoConfig &config)
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const std::string &property_name, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const std::string &property_name) const;
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const = 0;
|
||||||
|
virtual const CPrimVector *getPrimVector () const = 0;
|
||||||
|
virtual CPrimVector *getPrimVector () = 0;
|
||||||
|
|
||||||
|
// Make a copy
|
||||||
|
virtual IPrimitive *copy () const = 0;
|
||||||
|
|
||||||
|
// used for fast binary save/load (exploitation mode)
|
||||||
|
void serial(NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// shortcut to getPropertyByName("name", ret); return ret;
|
||||||
|
std::string getName() const;
|
||||||
|
|
||||||
|
const std::string &getUnparsedProperties() const;
|
||||||
|
void setUnparsedProperties(const std::string &unparsedProperties) const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// callback called just after the node is attach under a parent
|
||||||
|
virtual void onLinkToParent() {}
|
||||||
|
// callback called just before the node is removed from it's parent
|
||||||
|
virtual void onUnlinkFromParent() {}
|
||||||
|
|
||||||
|
/// Callback called just after an ancestor is linked
|
||||||
|
virtual void onBranchLink() {}
|
||||||
|
/// Callback called just before an ancestor is unlinked
|
||||||
|
virtual void onBranchUnlink() {}
|
||||||
|
|
||||||
|
/// Callback called when the primitive is updated, giving a chance to track the primitive's modifications during the loading
|
||||||
|
virtual void onModifyPrimitive(CPrimitives &/* primitives */) const {}
|
||||||
|
|
||||||
|
// internal recusive call
|
||||||
|
void branchLink();
|
||||||
|
void branchUnlink();
|
||||||
|
|
||||||
|
// Update child Id
|
||||||
|
void updateChildId (uint index);
|
||||||
|
|
||||||
|
// Child id
|
||||||
|
uint32 _ChildId;
|
||||||
|
|
||||||
|
// Parent
|
||||||
|
IPrimitive *_Parent;
|
||||||
|
|
||||||
|
// Children
|
||||||
|
std::vector<IPrimitive*> _Children;
|
||||||
|
|
||||||
|
// Single properties
|
||||||
|
std::map<std::string, IProperty*> _Properties;
|
||||||
|
|
||||||
|
// Editor specific properties (unparsed)
|
||||||
|
mutable std::string _UnparsedProperties;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef NLLIGO_DEBUG
|
||||||
|
std::string _DebugClassName;
|
||||||
|
std::string _DebugPrimitiveName;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
// Simple primitive node
|
||||||
|
class CPrimNode : public IPrimitive
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimNode)
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// void operator= (const CPrimNode &node);
|
||||||
|
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
class CPrimPoint : public IPrimitive
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
CPrimPoint ()
|
||||||
|
{
|
||||||
|
Angle = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
CPrimVector Point;
|
||||||
|
float Angle; // Angle on OZ, CCW
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// void operator= (const CPrimPoint &node);
|
||||||
|
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimPoint);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
class CPrimPath : public IPrimitive
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
std::vector<CPrimVector> VPoints;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// void operator= (const CPrimPath &node);
|
||||||
|
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimPath);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
class CPrimZone : public IPrimitive
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
std::vector<CPrimVector> VPoints;
|
||||||
|
|
||||||
|
static float getSegmentDist(const NLMISC::CVector v, const NLMISC::CVector &p1, const NLMISC::CVector &p2, NLMISC::CVector &nearPos);
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
bool contains (const NLMISC::CVector &v) const { return CPrimZone::contains(v, VPoints); }
|
||||||
|
bool contains(const NLMISC::CVector &v, float &distance, NLMISC::CVector &nearPos, bool isPath) const { return CPrimZone::contains(v, VPoints, distance, nearPos, isPath); }
|
||||||
|
|
||||||
|
// void operator= (const CPrimZone &node);
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// Returns true if the vector v is inside of the patatoid
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<NLMISC::CVector> &points);
|
||||||
|
// Returns true if the vector v is inside of the patatoid and set the distance of the nearest segment and the position of the nearest point.
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<NLMISC::CVector> &points, float &distance, NLMISC::CVector &nearPos, bool isPath);
|
||||||
|
// Returns true if the vector v is inside of the patatoid
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<CPrimVector> &points);
|
||||||
|
// Returns true if the vector v is inside of the patatoid and set the distance of the nearest segment and the position of the nearest point.
|
||||||
|
static bool contains (const NLMISC::CVector &v, const std::vector<CPrimVector> &points, float &distance, NLMISC::CVector &nearPos, bool isPath);
|
||||||
|
|
||||||
|
/// Returns the barycenter of the zone (warning, it may be outside of the zone if it is not convex). Returns CVector::Null if there is no vertex.
|
||||||
|
NLMISC::CVector getBarycentre() const;
|
||||||
|
|
||||||
|
/// Returns the smallest axis-aligned box containing the zone (z is always set to 0)
|
||||||
|
void getAABox( NLMISC::CVector& cornerMin, NLMISC::CVector& cornerMax ) const;
|
||||||
|
|
||||||
|
/// Return the area of the axis-aligned box containing the zone
|
||||||
|
float getAreaOfAABox() const;
|
||||||
|
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimZone);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// Get the vertices
|
||||||
|
virtual uint getNumVector () const;
|
||||||
|
virtual const CPrimVector *getPrimVector () const;
|
||||||
|
virtual CPrimVector *getPrimVector ();
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||||
|
|
||||||
|
// \name From IPrimitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/** This primitive type is used to handle unique alias across a primitive file.
|
||||||
|
* Usage of this primitive imply the setting of the appropriate 'ligo context'
|
||||||
|
* before reading or copy/pasting alias.
|
||||||
|
*/
|
||||||
|
class CPrimAlias : public IPrimitive
|
||||||
|
{
|
||||||
|
friend class CPrimitives;
|
||||||
|
|
||||||
|
/// The 'dynamic' part of the alias
|
||||||
|
uint32 _Alias;
|
||||||
|
/// The primitive container
|
||||||
|
class CPrimitives *_Container;
|
||||||
|
|
||||||
|
// Needed overloads (not used)
|
||||||
|
virtual uint getNumVector () const
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
};
|
||||||
|
virtual const CPrimVector *getPrimVector () const
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
virtual CPrimVector *getPrimVector ()
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
virtual void onBranchLink();
|
||||||
|
// callback called just before the node is removed from it's parent
|
||||||
|
virtual void onBranchUnlink();
|
||||||
|
|
||||||
|
void regenAlias();
|
||||||
|
|
||||||
|
public:
|
||||||
|
// \name From IClassable
|
||||||
|
NLMISC_DECLARE_CLASS (CPrimAlias);
|
||||||
|
|
||||||
|
// private default constructor
|
||||||
|
CPrimAlias();
|
||||||
|
// copy constructor needed
|
||||||
|
CPrimAlias(const CPrimAlias &other);
|
||||||
|
|
||||||
|
~CPrimAlias();
|
||||||
|
|
||||||
|
// return the dynamic part of the alias
|
||||||
|
uint32 getAlias() const;
|
||||||
|
|
||||||
|
// Return the full alias, merge of the static and dynamic part
|
||||||
|
uint32 getFullAlias() const;
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||||
|
// Write the primitive
|
||||||
|
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||||
|
// Create a copy of this primitive
|
||||||
|
virtual IPrimitive *copy () const;
|
||||||
|
// serial for binary save
|
||||||
|
virtual void serial (NLMISC::IStream &f);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/*
|
||||||
|
This class is deprecated.
|
||||||
|
*/
|
||||||
|
class CPrimRegion
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
std::string Name;
|
||||||
|
std::vector<CPrimPoint> VPoints;
|
||||||
|
std::vector<CPrimZone> VZones;
|
||||||
|
std::vector<CPrimPath> VPaths;
|
||||||
|
|
||||||
|
std::vector<bool> VHidePoints;
|
||||||
|
std::vector<bool> VHideZones;
|
||||||
|
std::vector<bool> VHidePaths;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void serial (NLMISC::IStream &f);
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class is a ligo primitives set
|
||||||
|
*/
|
||||||
|
class CPrimitives
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
CPrimitives ();
|
||||||
|
CPrimitives (const CPrimitives &other);
|
||||||
|
~CPrimitives ();
|
||||||
|
|
||||||
|
// Operator copy
|
||||||
|
CPrimitives& operator= (const CPrimitives &other);
|
||||||
|
|
||||||
|
// Convert from old format to the new one
|
||||||
|
void convert (const CPrimRegion ®ion);
|
||||||
|
|
||||||
|
// Read the primitive
|
||||||
|
bool read (xmlNodePtr xmlNode, const std::string &filename, CLigoConfig &config);
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
void write (xmlDocPtr xmlNode, const std::string &filename) const;
|
||||||
|
|
||||||
|
// Write the primitive
|
||||||
|
void write (xmlNodePtr root, const std::string &filename) const;
|
||||||
|
|
||||||
|
// serial the primitive. Used for binary files.
|
||||||
|
void serial(NLMISC::IStream &f);
|
||||||
|
|
||||||
|
// Root primitive hierarchy
|
||||||
|
CPrimNode *RootNode;
|
||||||
|
|
||||||
|
// get the static alias part for this primitive
|
||||||
|
uint32 getAliasStaticPart();
|
||||||
|
|
||||||
|
// set the static alias part for this primitive
|
||||||
|
void setAliasStaticPart(uint32 staticPart);
|
||||||
|
|
||||||
|
// Build an alias by combining the static and dynamic part
|
||||||
|
uint32 buildFullAlias(uint32 dynamicPart);
|
||||||
|
|
||||||
|
// Generate a new unique alias (dynamic part only)
|
||||||
|
uint32 genAlias(IPrimitive *prim, uint32 preferedAlias = 0);
|
||||||
|
// Reserve an alias and store it in the used alias list (dynamic part only)
|
||||||
|
// void reserveAlias(uint32 dynamicAlias);
|
||||||
|
// Remove an alias from the list of alias in use (dynamic part only)
|
||||||
|
void releaseAlias(IPrimitive *prim, uint32 dynamicAlias);
|
||||||
|
|
||||||
|
// Force the assignation of the specified alias to the primitive. If another primitive
|
||||||
|
// already hold the alias, this other primitive is assigned a new alias.
|
||||||
|
void forceAlias(CPrimAlias *prim, uint32 alias);
|
||||||
|
|
||||||
|
// get the last generated alias value (for debug only)
|
||||||
|
uint32 getLastGeneratedAlias();
|
||||||
|
|
||||||
|
// Return the primitive indexed by the given alias (ie, it doesn't return the alias primitive, but its first parent)
|
||||||
|
IPrimitive *getPrimitiveByAlias(uint32 primAlias);
|
||||||
|
|
||||||
|
// Build the complete list of indexed primitive (ie all primitive that have a primalias child)
|
||||||
|
void buildPrimitiveWithAliasList(std::map<uint32, IPrimitive*> &result);
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Conversion internal methods
|
||||||
|
void convertAddPrimitive (IPrimitive *child, const IPrimitive *prim, bool hidden);
|
||||||
|
void convertPrimitive (const IPrimitive *prim, bool hidden);
|
||||||
|
|
||||||
|
/// Optional context information
|
||||||
|
CLigoConfig *_LigoConfig;
|
||||||
|
/// Static part alias mapping (can be 0 if no mapping is defined)
|
||||||
|
uint32 _AliasStaticPart;
|
||||||
|
/// Last generated Alias, used to compute the next alias
|
||||||
|
uint32 _LastGeneratedAlias;
|
||||||
|
/// List of alias in use in the primitive (dynamic part only)
|
||||||
|
std::map<uint32, IPrimitive*> _AliasInUse;
|
||||||
|
// Store the filename
|
||||||
|
// This allows to retrieve the static alias when reloading from binary file
|
||||||
|
std::string _Filename;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
|
||||||
|
/** Singleton to manage special loading feature related to
|
||||||
|
* unique alias assignment
|
||||||
|
*/
|
||||||
|
class CPrimitiveContext
|
||||||
|
{
|
||||||
|
static CPrimitiveContext *_Instance;
|
||||||
|
|
||||||
|
// private ctor
|
||||||
|
CPrimitiveContext();
|
||||||
|
public:
|
||||||
|
|
||||||
|
// get the singleton reference
|
||||||
|
static CPrimitiveContext &instance()
|
||||||
|
{
|
||||||
|
if (!_Instance)
|
||||||
|
{
|
||||||
|
_Instance = new CPrimitiveContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
return *_Instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// The current ligo configuration file.
|
||||||
|
CLigoConfig *CurrentLigoConfig;
|
||||||
|
/// The current primitives container.
|
||||||
|
CPrimitives *CurrentPrimitive;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace NLLIGO
|
||||||
|
|
||||||
|
#endif // __PRIMITIVE_H__
|
||||||
|
|
|
@ -108,6 +108,7 @@ namespace NLMISC
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CApplicationContext();
|
CApplicationContext();
|
||||||
|
virtual ~CApplicationContext();
|
||||||
|
|
||||||
virtual void *getSingletonPointer(const std::string &singletonName);
|
virtual void *getSingletonPointer(const std::string &singletonName);
|
||||||
virtual void setSingletonPointer(const std::string &singletonName, void *ptr);
|
virtual void setSingletonPointer(const std::string &singletonName, void *ptr);
|
||||||
|
|
|
@ -112,7 +112,8 @@ public:
|
||||||
// A BNP structure
|
// A BNP structure
|
||||||
struct BNP
|
struct BNP
|
||||||
{
|
{
|
||||||
BNP() : FileNames(NULL), ThreadFileId(0), CacheFileOnOpen(false), AlwaysOpened(false), InternalUse(false), OffsetFromBeginning(0) { }
|
BNP();
|
||||||
|
~BNP();
|
||||||
|
|
||||||
// FileName of the BNP. important to open it in getFile() (for other threads or if not always opened).
|
// FileName of the BNP. important to open it in getFile() (for other threads or if not always opened).
|
||||||
std::string BigFileName;
|
std::string BigFileName;
|
||||||
|
@ -163,6 +164,7 @@ private:
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CThreadFileArray();
|
CThreadFileArray();
|
||||||
|
~CThreadFileArray();
|
||||||
|
|
||||||
// Allocate a FileId for a BNP.
|
// Allocate a FileId for a BNP.
|
||||||
uint32 allocate();
|
uint32 allocate();
|
||||||
|
|
|
@ -636,11 +636,17 @@ public:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** Get the pixel at the given coorrdinate.
|
/** Get the pixel at the given coordinate.
|
||||||
* Works in RGBA and DXTC modes.
|
* Works in RGBA and DXTC modes.
|
||||||
* Outside of the bitmap it returns Black (or if mipmap is not found)
|
* Outside of the bitmap it returns Black (or if mipmap is not found)
|
||||||
*/
|
*/
|
||||||
CRGBA getPixelColor(sint x, sint y, uint32 numMipMap = 0) const;
|
CRGBA getPixelColor(sint x, sint y, uint32 numMipMap = 0) const;
|
||||||
|
|
||||||
|
/** Set the pixel at the given coordinate.
|
||||||
|
* Works in RGBA mode only.
|
||||||
|
*/
|
||||||
|
void setPixelColor(sint x, sint y, CRGBA c, uint32 numMipMap = 0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Horizontal flip (all the columns are flipped)
|
* Horizontal flip (all the columns are flipped)
|
||||||
* Works only with RGBA, and DXTC formats (only if w/h is a power of 2)
|
* Works only with RGBA, and DXTC formats (only if w/h is a power of 2)
|
||||||
|
|
|
@ -132,7 +132,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
/// delete an element allocated with this manager. dtor is called. NULL is tested.
|
/// delete an element allocated with this manager. dtor is called. NULL is tested.
|
||||||
void free(T* ptr)
|
void freeBlock(T* ptr)
|
||||||
{
|
{
|
||||||
if(!ptr)
|
if(!ptr)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -40,20 +40,20 @@ public:
|
||||||
|
|
||||||
|
|
||||||
/// Return the value of the property.
|
/// Return the value of the property.
|
||||||
inline sint64 getValue64() { return _Property; }
|
inline sint64 getValue64() const { return _Property; }
|
||||||
|
|
||||||
/// Set the value of the property (set '_Changed' flag with 'true').
|
/// Set the value of the property (set '_Changed' flag with 'true').
|
||||||
void setValue64 (sint64 prop);
|
void setValue64 (sint64 prop);
|
||||||
|
|
||||||
inline sint32 getValue32() { return *((sint32*)&_Property); }
|
inline sint32 getValue32() const { return (sint32)(_Property & 0xffffffff); }
|
||||||
void setValue32 (sint32 prop);
|
void setValue32 (sint32 prop);
|
||||||
inline sint16 getValue16() { return *((sint16*)&_Property); }
|
inline sint16 getValue16() const { return (sint16)(_Property & 0xffff); }
|
||||||
void setValue16 (sint16 prop);
|
void setValue16 (sint16 prop);
|
||||||
inline sint8 getValue8() { return *((sint8*)&_Property); }
|
inline sint8 getValue8() const { return (sint8)(_Property & 0xff); }
|
||||||
void setValue8 (sint8 prop);
|
void setValue8 (sint8 prop);
|
||||||
inline bool getValueBool() { return (_Property!=(sint64)0 ); }
|
inline bool getValueBool() const { return (_Property!=(sint64)0 ); }
|
||||||
void setValueBool (bool prop);
|
void setValueBool (bool prop);
|
||||||
inline CRGBA getValueRGBA()
|
inline CRGBA getValueRGBA() const
|
||||||
{
|
{
|
||||||
CRGBA col;
|
CRGBA col;
|
||||||
col.R = (uint8)(_Property&0xff);
|
col.R = (uint8)(_Property&0xff);
|
||||||
|
@ -65,11 +65,11 @@ public:
|
||||||
void setValueRGBA (const CRGBA &color);
|
void setValueRGBA (const CRGBA &color);
|
||||||
|
|
||||||
/// Return the value of the property before the database change
|
/// Return the value of the property before the database change
|
||||||
inline sint64 getOldValue64() { return _oldProperty; }
|
inline sint64 getOldValue64() const { return _oldProperty; }
|
||||||
inline sint32 getOldValue32() { return *((sint32*)&_oldProperty); }
|
inline sint32 getOldValue32() const { return (sint32)(_oldProperty & 0xffffffff); }
|
||||||
inline sint16 getOldValue16() { return *((sint16*)&_oldProperty); }
|
inline sint16 getOldValue16() const { return (sint16)(_oldProperty & 0xffff); }
|
||||||
inline sint8 getOldValue8() { return *((sint8*)&_oldProperty); }
|
inline sint8 getOldValue8() const { return (sint8)(_oldProperty & 0xff); }
|
||||||
inline bool getOldValueBool() { return (_oldProperty!=(sint64)0 ); }
|
inline bool getOldValueBool() const { return (_oldProperty!=(sint64)0 ); }
|
||||||
|
|
||||||
|
|
||||||
/// Return the type of the property.
|
/// Return the type of the property.
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue