English French German Spanish Russian
Additional colours for Armor (and an end to nappies) - IDEAS FOR RYZOM - Ryzom Community ForumHomeGuest

IDEAS FOR RYZOM


Additional colours for Armor (and an end to nappies)

I am still working on it.

I looked at the VisualPropsABC and decided that 256 models of armor is too low.

I am changing VisualPropsABC so that we can have (up to) 65535 models of armor in (up to) 255 colors (16 to start with) , this should provide space to allow new colors as well as a choice of 8 styles of undies in 8 colors. The players current underwear model and color are remembered so when the outer armor is removed the underwear should be automatically equiped (without the player having to find and equip them). With space for 65,000 additional models for armor we might even get permission to create some casual clothing or swimwear? 

The work is slow going but this is the plan at the moment:

struct SPropVisualA
{
 struct SPropSubData // 63 bits used
 {
  uint64 Sex   : 1;    // max: 2  current: 2
  uint64 JacketModel  : 15;   // max:32768 current: 93
  uint64 JacketColor  : 8;    // max:256  current: 8
  uint64 TrouserModel  : 15;   // max:32768 current: 104
  uint64 TrouserColor  : 8;    // max:256  current: 8
  uint64 BraModel  :  8;  // max:256  current: 1    //Include some models with Torso Tat or Piercing or Guild crest - charge $ for guild crest design
  uint64 BraColor  : 8;  // max: 256  current: 1
 };
struct SPropVisualB
{
 struct SPropSubData // 62 bits used
 {
  uint64 Name    : 16;
  uint64 HandsModel   : 15; // max:32768 current: 90
  uint64 HandsColor   : 8; // max:256  current: 8
  uint64 FeetModel   : 15; // max:32768 current: 94
  uint64 FeetColor   : 8; // max:256  current: 8
 };
struct SPropVisualC
{
 struct SPropSubData // 58 bits used
 {
  uint64 MorphTarget1  : 3; // max: 8  current: 8
  uint64 MorphTarget2  : 3; // max: 8  current: 8
  uint64 MorphTarget3  : 3; // max: 8  current: 8
  uint64 MorphTarget4  : 3; // max: 8  current: 8
  uint64 MorphTarget5  : 3; // max: 8  current: 8
  uint64 MorphTarget6  : 3; // max: 8  current: 8
  uint64 MorphTarget7  : 3; // max: 8  current: 8
  uint64 MorphTarget8  : 3; // max: 8  current: 8
  uint64 EyesColor   : 3; // max: 8  current: 8
  uint64 Tattoo    : 7; // max: 128 current: 64
  uint64 CharacterHeight  : 4; // max: 16  current: 16
  uint64 TorsoWidth   : 4; // max: 16  current: 16
  uint64 ArmsWidth   : 4; // max: 16  current: 16
  uint64 LegsWidth   : 4; // max: 16  current: 16
  uint64 BreastSize   : 4; // max: 16  current: 16
  uint64 AntiInertia   : 4; // max: 16  maybe 0 = 100% inertia , 15 = 1/15th inertia ????
          // just a placeholder for possible future expansion - no firm idea how to use it yet
          // no ideas how it affects players visual appearance yet - perhaps a glow or intensity ?
 };struct SPropVisualD
{
 struct SPropSubData // 60 bits used
 {
  uint64 WeaponRightHand : 15; // max:32768 current: 457
  uint64 WeaponLeftHand : 15;  // max:32768 current: 63
  uint64 RTrail   : 4;//size of Right weapon trail?
  uint64 LTrail   : 3;  //size of Left weapon trail?
  uint64 ArmModel  : 15;  // max:32768 current: 94
  uint64 ArmColor  : 8;  // max:256  current: 8
 };struct SPropVisualE
{
 struct SPropSubData // 56 bits used
 {  uint64 HatModel   :15;  // max:32768 current: 192
  uint64 HatColor   : 8;  // max: 256  current: 8
  uint64 UndiesModel   : 8;  // max:256  current: 1    - Some models may have belly ring or belly tatoo or thigh tatoo or Guild Crest - charge $ for a guild crest
  uint64 UndiesColor   : 8;  // max: 256  current: 1
  uint64 AntiGravity   :17;   //max 131072  // Should have defined it properly before making it a Visual Prop - might still be?
           //maybe 0= 0cm above ground, 131072 = 1.31072 km above ground????????
           //TODO - no visible component yet just "AntiGrav"cm of invisible (extremely thin) skeleton under lowest point of existing skeleton
           //TODO - also would like to not collide with other players "underneath" us
           //TODO - some day make it WRT centre of planet so the player flies horizontally rather than being "terrain following" - done
           //TODO - texture for soles of shoes might contain little rocket exhausts?
 };
AntiGravity  might never be given to players but it could be left there for event co-ordinators (Maybe Santa can fly)




I was making a list of the files that are affected but i gave up after a while, here is the lst when i gave up:

Player_visual_props.h
editor.cpp
entity_types.h
character_summary.h
character_summary.cpp
character_3d.cpp
character_3d.h
character.h x2
character.cpp x2
character_inlines.h
msg_client_server.h
stat_character.h x2
stat_character.cpp x2
action_handler_help.cpp
displayer_visual_entity.cpp
tool_create_entity.cpp
commands.cpp
admin.cpp
entities_game_service.cpp
action_handler_help.cpp
misc.cpp
misc.h
entity_cl.cpp
entity_cl.h
slot_type.h
persistent_player_data.cpp
player_sheet
player_cl.cpp
itemtype.h
itemtype.cpp
player_r2_cl.cpp
player_r2_cl.h
slot_equipment.h
egs_static_game_sheet.h
entity_base.h
egs_static_game_item.cpp
actions_client.cpp
Show topic
Last visit Tue Jan 28 01:33:49 2020 UTC
P_:

powered by ryzom-api