Symbols on the things you Manufactured

TwilightAxe - Lost City
TwilightAxe - Lost City Posts: 9 Arc User
edited October 2010 in General Discussion
You know how if you manufacture something it says "Manufactured by LALALALA"? How come whenever you imbue a soulgem or refine it it has a weird square or chinese letter at the end? Is there any way to fix this or prevent this from happening? Tyvm for your help b:victory
Post edited by TwilightAxe - Lost City on

Comments

  • Admante - Dreamweaver
    Admante - Dreamweaver Posts: 323 Arc User
    edited October 2010
    Names on manufactured items are only saved for up to 10 characters. Anything beyond that is replaced with something random from your cache. I think it's up to the developers to fix that; nothing we can do about it.

    TwilightAxe is 11 characters, therefore the last character will be replaced on your manufactured items.
  • LifeHunting - Lost City
    LifeHunting - Lost City Posts: 1,105 Arc User
    edited October 2010
    You outta see my stuff, it has a bunch of Squares after it :(
    I like the chinese letters better.
  • KrittyCat - Dreamweaver
    KrittyCat - Dreamweaver Posts: 1,273 Arc User
    edited October 2010
    It really depends on the computer I play on. One of the computers I installed the Chinese language package, and that one shows the Chinese letters, the other one shows little boxes. It's kinda amusing, lol.
    [SIGPIC][/SIGPIC]
    (Signature credit to NowItsAwn)

    Survivor of Snow-Mageddon 2010, "The Great Earthquake" of 2011, and Sandy 2012 b:victory
  • Jamie_Rebecc - Dreamweaver
    Jamie_Rebecc - Dreamweaver Posts: 42 Arc User
    edited October 2010
    Well, for the people that have the boxes... Usually the other foreign language packages/fonts/symbols are NOT installed into your computer. Which therefore you get boxes. My two Dell XP desktops get that, while my Dell Vista Laptop doesn't, mainly because it has the packages/fonts/symbols installed on it. Vista+ It will automaticly be installed.

    (I don't know about Apple... ) lol

    But mainly what Admante said, we can't fix that. Send a ticket to the Developers/GM's on the problem, all I can say or try to put it into the suggestion forum.

    But in my opinion I want them gone as well D: I so do hope the Devs fix this. b:surrender
    Jamie_Rebecc 9X - Herced/Nixed venomancer of Dreamweaver
    Actual join date: 3/16/2009

    Half way there on getting my beamhoof slicer b:dirty

    Ex-Factions: Crusaders, Dynasty, HDT
  • Devoted - Lost City
    Devoted - Lost City Posts: 3,634 Arc User
    edited October 2010
    That would be data in your memory outside the bounds of the variable containing the manufacturer's name. It's probably due to the switch from a Chinese based version to English and the increase in characters we use.


    My guess is the data structure containing the manufacturer's name has a defined size of 10 and for some reason when pwi's code looks up this data field it doesn't verify against the size of the field. This results in the first 10 characters being correct and the trailing characters to be the garbage after where the data field is placed in memory.
  • Borsuc - Raging Tide
    Borsuc - Raging Tide Posts: 1,526 Arc User
    edited October 2010
    That can lead to some serious errors if there is no null terminator to be found quick... but I think they do have some boundary check, of course it's not properly done. It's PWE after all.
  • Kupuntu - Sanctuary
    Kupuntu - Sanctuary Posts: 3,008 Arc User
    edited October 2010
    My guess is that in Chinese version (it can be mentioned on the forums), you can only have 10 letters in you name. PWE wanted to have 12 letters in the player names but they couldn't easily change the amount of letters saved on the server file that holds the manufacturing data.

    Also, I wonder why the names always seem to work before refined/sharded but after that those break.
    100% F2P player. Started PW: March 2007, Quit PW: March 2011.
    pwcalc.com/e7016929e7b204ae "Pure axe" 8k HP multipath BM, last one of my kind.
  • Darksylph - Heavens Tear
    Darksylph - Heavens Tear Posts: 1,816 Arc User
    edited October 2010
    That can lead to some serious errors if there is no null terminator to be found quick... but I think they do have some boundary check, of course it's not properly done. It's PWE after all.

    Since its a pre-defined maximum, the datastructure used would be an array, rather then a string. Strings have variable lengths & thereby need a NULL terminator or yes there can be bad problems. In an Array structure, the size is static, and does not need a NULL terminator.
    Also, I wonder why the names always seem to work before refined/sharded but after that those break.

    Probably cause your local computer saves the full name into memory, but the 1st time it needs to be reloaded from the server into your memory, it only gets 10 letters max. Also the names will break without sharding and refining, again, after they've been lost from your local computers memory and need to be reloaded from the server.
  • Kupuntu - Sanctuary
    Kupuntu - Sanctuary Posts: 3,008 Arc User
    edited October 2010
    Probably cause your local computer saves the full name into memory, but the 1st time it needs to be reloaded from the server into your memory, it only gets 10 letters max. Also the names will break without sharding and refining, again, after they've been lost from your local computers memory and need to be reloaded from the server.

    That also seems to apply things made by other users that are still unsharded/refines.
    100% F2P player. Started PW: March 2007, Quit PW: March 2011.
    pwcalc.com/e7016929e7b204ae "Pure axe" 8k HP multipath BM, last one of my kind.
  • Solandri - Heavens Tear
    Solandri - Heavens Tear Posts: 2,843 Arc User
    edited October 2010
    Since its a pre-defined maximum, the datastructure used would be an array, rather then a string. Strings have variable lengths & thereby need a NULL terminator or yes there can be bad problems. In an Array structure, the size is static, and does not need a NULL terminator.
    The problem seems to be that instead of doing a strcpy of the char_name string into the item_maker string, some newbie coder did a for i=1 to 10 copy of the characters in the char_name string as if it were an array.

    When they switched the length of the name string from 10 chars in the Chinese version to 12 chars in the International version, all the strcpys worked fine since they looked for a null terminator. But that **** of a copy routine only copied the first 10 chars and didn't add a null terminator, causing the last two bytes to be filled with garbage from memory.