HomePortalFAQSearchMemberlistUsergroupsRegisterLog in
Making threads to link to banned members content grants an automatic ban
Meet the new KITO admins & hear their plans here.
You can use google search to find threads and posts here now. Example

Share | 
 

 Body Selector /Character Creation Issue

View previous topic View next topic Go down 
AuthorMessage
Mea_WolfenX

avatar

Game username : Mea_WolfenX
Server : Souls Of Legacy
Female Posts : 92
Join date : 2015-07-22
Age : 17

PostSubject: Body Selector /Character Creation Issue   Tue Mar 07, 2017 1:35 pm

Ok.... Can't find this problem anywhere... I've searched all over the forum and I just got so annoyed .-. bounce

So!

Here's the problem...
I Tried Following Hypers Body Selector Walk through...

I Did Everything As Said.

When I Went in game to test it... I Selected "New" and then it came up as

Name
<Body>
<Mane>
<Head>
<Tail>

But!

Body Was Normal
Mane Changed Head
Head Changed Mane
Tail Was Normal...

After I Pressed Next The Normal / How it should be came up... Everything was working 100% In Order.

Just that first page...

I Continued to create a character when the game suddenly lost connection.
Without turning the game off I simply tried creating a new character again but this time it appeared something like

<Body> (Changed only body... Not head & Tail)
<G162>
<R098>
<B156>

.... So it's basically just that first page...?
I don't want to really mess it up further.. Could someone explain?
Back to top Go down
http://SoulsOfLegacy.boards.net
ThylaSteve

avatar

Game username : Steve
Server : It's a secret (for now)
Male Posts : 128
Join date : 2014-04-24
Age : 20
Location : United States

PostSubject: Re: Body Selector /Character Creation Issue   Tue Mar 07, 2017 2:52 pm

Post everything that you changed in your source (including the surrounding lines, so we can have an idea of where you placed them. putting things in the incorrect place is a common problem.).
Back to top Go down
Mea_WolfenX

avatar

Game username : Mea_WolfenX
Server : Souls Of Legacy
Female Posts : 92
Join date : 2015-07-22
Age : 17

PostSubject: Re: Body Selector /Character Creation Issue   Thu Mar 09, 2017 9:36 am

Steve wrote:
Post everything that you changed in your source (including the surrounding lines, so we can have an idea of where you placed them. putting things in the incorrect place is a common problem.).

MagixCharScreenManager.h
Code:
//#define MAX_SERVERS 2

#define PAGE_SELECT 0
#define PAGE_CUSTOM1 1
#define PAGE_CUSTOM2 2
#define PAGE_CUSTOM3 3
#define PAGE_CUSTOM4 4
#define PAGE_CUSTOM5 5
#define PAGE_EDIT 6
#define PAGE_PRESET1 7
#define PAGE_PRESET2 8
#define PAGE_PRESET3 9

#define CHARSCREEN_STARTGAME 1
#define CHARSCREEN_CREATECHAR 2
#define CHARSCREEN_DELETECHAR 3
#define CHARSCREEN_UPDATEGUI 4
#define CHARSCREEN_EDITCHAR 5

Code:
//bool isMale;
   short bodyID;
   short maneID;
   short headID;
   short tailID;
   short wingID;
   short tuftID;
   short bodyID;
   short maneID;
   short headID;
   short tailID;
   short wingID;
   short tuftID;
   short bodyMarkID;
   short headMarkID;
   short tailMarkID;
   short colourPartID;
   ColourValue colourVal[MAX_COLOURS];

MagixCharScreenManager.cpp

Code:
mName->setCaption("Name: ");
   //isMale = true;
   bodyID = 0;
   maneID = 0;
   headID = 0;
   tailID = 0;
   wingID = 0;
   tuftID = 0;
   bodyMarkID = 0;
   headMarkID = 0;
   tailMarkID = 0;
   colourPartID = 0;

Code:
else if (page == PAGE_CUSTOM1 || page == PAGE_PRESET1)
   {
      changeTrait(buttonNo, buttonIsRight);
   }
   else if (page == PAGE_CUSTOM2 || page == PAGE_PRESET2)
   {
      changeTrait(buttonNo + 1, buttonIsRight);
   }
   else if (page == PAGE_CUSTOM3 || page == PAGE_PRESET3)
   {
      changeTrait(buttonNo + 5, buttonIsRight);
   }
   else if (page == PAGE_CUSTOM4)
   {
      do

Code:
//body
   if (iID == 0)
   {
      bodyID += (increment ? 1 : -1);
      if (bodyID<0)bodyID = mDef->maxBodies - 1;
      if (bodyID >= mDef->maxBodies)bodyID = 0;
      applyRestrictions("Body", increment);
      mUnit->replaceBodyMesh(mSceneMgr, meshName("Body", bodyID), (page == PAGE_PRESET1 || page == PAGE_PRESET2 || page == PAGE_PRESET3));
   }
   //head
   if (iID == 1)
   {


Code:
const String MagixCharScreenManager::meshName(const String &type, const unsigned short &iID)
{
   if (type == "Body")return mDef->bodyMesh[iID];
   if (type == "Mane")return mDef->maneMesh[iID];
   if (type == "Head")return mDef->headMesh[iID];
   if (type == "Tail")return mDef->tailMesh[iID];
   if (type == "Wing")return mDef->wingMesh[iID];
   if (type == "Tuft")return mDef->tuftMesh[iID];
   if (type == "BodyMark")return (iID == 0 ? "No Markings" : "BodyMark" + StringConverter::toString(iID));
   if (type == "HeadMark")return (iID == 0 ? "No Markings" : "HeadMark" + StringConverter::toString(iID));
   if (type == "TailMark")return (iID == 0 ? "No Markings" : "TailMark" + StringConverter::toString(iID));

   return "";
}

Code:
//Mesh page 1
   if (page == PAGE_CUSTOM1)
   {
      if (!mName->isVisible())mName->show();
      mName->setPosition(0.05, 0.1);
      mText[0]->setPosition(0.25, 0.2);
      mText[0]->setCaption(meshName("Body", bodyID));

      for (int i = 0; i<MAX_CHARSCREENTEXT; i++)
      {
         if (!mLButton[i]->isVisible())mLButton[i]->show();

Code:
//Preset page
   /*if(page==PAGE_PRESET1)
   {
   if(!mName->isVisible())mName->show();
   if(!mText[0]->isVisible())mText[0]->show();
   mText[0]->setPosition(0.25,0.35);

   for(int i=1;i<MAX_CHARSCREENTEXT;i++)
   {
   if(mLButton[i]->isVisible())mLButton[i]->hide();
   if(mRButton[i]->isVisible())mRButton[i]->hide();
   if(mText[i]->isVisible())mText[i]->hide();
   }
   if(!mLButton[0]->isVisible())mLButton[0]->show();
   if(!mRButton[0]->isVisible())mRButton[0]->show();
   mLButton[0]->setPosition(0.05,0.35);
   mRButton[0]->setPosition(0.4,0.35);
   for(int i=0;i<3;i++)
   {
   if(mSlider[i]->isVisible())mSlider[i]->hide();
   if(mSliderMarker[i]->isVisible())mSliderMarker[i]->hide();
   }
   if(mColourBox->isVisible())mColourBox->hide();
   if(mBackdrop->isVisible())mBackdrop->hide();
   mName->getParent()->setMaterialName("GUIMat/StartScreen");
   mBackButton->setPosition(0.05,0.6);
   mNextButton->setPosition(0.3,0.6);
   mNextButtonText->setCaption("Finish");
   if(mDeleteButton->isVisible())mDeleteButton->hide();
   return;
   }*/
   //Edit Page
   if (page == PAGE_EDIT)
   {
      if (mName->isVisible())mName->hide();
      if (!mText[0]->isVisible())mText[0]->show();
      mText[0]->setPosition(0.25, 0.05);
      mText[0]->setCaption("Edit Character");
      for (int i = 0; i<MAX_CHARSCREENTEXT; i++)
      {
         if (mLButton[i]->isVisible())mLButton[i]->hide();
         if (mRButton[i]->isVisible())mRButton[i]->hide();
         if (i != 0 && mText[i]->isVisible())mText[i]->hide();
      }
      for (int i = 0; i<3; i++)
      {
         if (mSlider[i]->isVisible())mSlider[i]->hide();
         if (mSliderMarker[i]->isVisible())mSliderMarker[i]->hide();
      }
      if (mColourBox->isVisible())mColourBox->hide();
      if (mBackdrop->isVisible())mBackdrop->hide();
      mName->getParent()->setMaterialName("GUIMat/StartScreen");
      mBackButton->setPosition(0.05, 0.6);
      mNextButton->setPosition(0.18, 0.30);
      mNextButtonText->setCaption("Edit");
      if (!mDeleteButton->isVisible())mDeleteButton->show();
      mDeleteButton->setPosition(0.18, 0.45);
      mDeleteButtonText->setCaption("Delete");
      return;
   }
   //Preset page1 (edit)

Code:
      //create char and return to char select page
      if(page==PAGE_CUSTOM5/* || page==PAGE_PRESET1*/)

Code:
   //finish edit char (preset)
   if (page == PAGE_PRESET3)

Code:
      if (page == PAGE_CUSTOM4)
      {
         colourVal[colourPartID].r = one;
         colourVal[colourPartID].g = two;
         colourVal[colourPartID].b = three;
      }
      else if (page == PAGE_CUSTOM5 || page == PAGE_PRESET3)
      }
      else if (page == PAGE_CUSTOM4 || page == PAGE_PRESET2)

Code:
void getSliderValue(Real &one, Real &two, Real &three)
   {
      if (page == PAGE_CUSTOM3)
      {
         one = colourVal[colourPartID].r;
         two = colourVal[colourPartID].g;
         three = colourVal[colourPartID].b;
      }
      else if (page == PAGE_CUSTOM4)
      {
         if (mDef->isAdmin)
         {
            one = (mUnit->getObjectNode()->getScale().x - ADMINMINSIZE) / ADMINMAXSIZE;
         }
         else if (mDef->isMod)
         {
            one = (mUnit->getObjectNode()->getScale().x - MODMINSIZE) / MODMAXSIZE;
         }
         else
         {
            one = (mUnit->getObjectNode()->getScale().x - USERMINSIZE) / USERMAXSIZE;
         }
      }
      else if (page == PAGE_PRESET2)

Code:
   bodyID = i;
            break;
         }
      for (int i = 0; i<mDef->maxHeads; i++)
         if (mDef->headMesh[i] == tMesh[2])
         {
            headID = i;
            break;
         }
      for (int i = 0; i<mDef->maxManes; i++)
         if (mDef->maneMesh[i] == tMesh[3])

MagixExternalDefinitions.h

Code:
Real viewDistance;
   unsigned short maxBodies;
   unsigned short maxHeads;
   unsigned short maxManes;
   unsigned short maxTails;
   unsigned short maxWings;
   unsigned short maxTufts;
   unsigned short maxBodies;
   unsigned short maxHeads;
   unsigned short maxManes;
   unsigned short maxTails;
   unsigned short maxWings;
   unsigned short maxTufts;
   unsigned short maxBodyMarks;
   unsigned short maxHeadMarks;
   unsigned short maxTailMarks;
   vector<String>::type bodyMesh;

Code:
hasVertexProgram = false;
      hasFragmentProgram = false;
      maxBodies = 0;
      maxBodies = 0;
      maxHeads = 0;
      maxManes = 0;
      maxTails = 0;
      maxWings = 0;
      maxTufts = 0;
      maxBodyMarks = 0;
      maxHeadMarks = 0;
      maxTailMarks = 0;
      maxEmotes = 0;
      maxItems = 0;
   }
   ~MagixExternalDefinitions()

MagixExternalDefinitions.cpp
Code:
void MagixExternalDefinitions::loadUnitMeshes(const String &filename)
{
   maxBodies = GMAXBODIES;
   for (int i = 1; i <= maxBodies; i++)bodyMesh.push_back("Body" + StringConverter::toString(i));
   maxBodies = GMAXBODIES;
   for (int i = 1; i <= maxBodies; i++)bodyMesh.push_back("Body" + StringConverter::toString(i));
   maxHeads = GMAXHEADS;
   for (int i = 1; i <= maxHeads; i++)headMesh.push_back("Head" + StringConverter::toString(i));
   maxManes = GMAXMANES;
   maneMesh.push_back("Maneless");
   for (int i = 2; i <= maxManes; i++)maneMesh.push_back("Mane" + StringConverter::toString(i));
   maxTails = GMAXTAILS;

MagixConst.h
Code:
#pragma once

#define MAX_BOXES 26
#define MAX_BUTTONS 92
#define MAX_SIZERS 3
#define MAX_MOVERS 10
#define MAX_SCROLLERS 20
#define MAX_CHECKBOXES 1
#define MAX_CHARSCREENTEXT 4
#define MAX_CREATEACCOUNTINFO 6
#define MAX_EDITACCOUNTINFO 4
#define MAX_PRIMARYACTIONS 15
#define MAX_SECONDARYACTIONS 11
#define MAX_ACTIONS MAX_PRIMARYACTIONS + MAX_SECONDARYACTIONS

MagixUnit.cpp
Code:
void MagixUnit::replaceBodyMesh(SceneManager *sceneMgr, const String &meshName, bool resetMaterial)
{
   if (!mBodyEnt)return;
   Entity *tBody = sceneMgr->createEntity("Bodytemp", meshName + ".mesh");
   mBodyEnt->getAllAnimationStates()->copyMatchingState(tBody->getAllAnimationStates());

   mObjectNode->detachObject(mBodyEnt);
   if (sceneMgr->hasEntity("Body" + StringConverter::toString(unitID)))sceneMgr->destroyEntity(mBodyEnt);
   mBodyEnt = sceneMgr->createEntity("Body" + StringConverter::toString(unitID), meshName + ".mesh");
   mObjectNode->attachObject(mBodyEnt);
   mBodyEnt->getSkeleton()->setBlendMode(ANIMBLEND_CUMULATIVE);
   mBodyEnt->getSkeleton()->getBlendMode();
   mBodyEnt->setQueryFlags(UNIT_MASK);

   tBody->getAllAnimationStates()->copyMatchingState(mBodyEnt->getAllAnimationStates());
   sceneMgr->destroyEntity(tBody);
   if (resetMaterial)setMaterial(matGroupName);
}
void MagixUnit::replaceBodyMesh(SceneManager *sceneMgr, const String &meshName, bool resetMaterial)
{
   if (!mBodyEnt)return;

MagixUnit.h

Code:
   void setEmoteState(const String &mode, const Real &weight, MagixExternalDefinitions *def);
   void setFaceAnimState(const String &anim, const Real &weight, bool isCurrent);
   void replaceBodyMesh(SceneManager *sceneMgr, const String &meshName, bool resetMaterial = false);
   void replaceBodyMesh(SceneManager *sceneMgr, const String &meshName, bool resetMaterial = false);
   void replaceHeadMesh(SceneManager *sceneMgr, const String &meshName, bool resetMaterial = false);
   void replaceManeMesh(SceneManager *sceneMgr, const String &meshName, bool resetMaterial = false);

GameConfig.h

Code:
// Read the names of these defines and they'll make sense (Game Max ____)
#define GMAXBODIES 3
#define GMAXHEADS 9
#define GMAXMANES 25
#define GMAXTAILS 8
#define GMAXWINGS 4
#define GMAXTUFTS 12
#define GMAXBODYMARKS 21
#define GMAXHEADMARKS 18
#define GMAXTAILMARKS 9

Mega List Of Everything I had to go through according to the walk through.. I may of missed one or two things now... Going over it .-.
Back to top Go down
http://SoulsOfLegacy.boards.net
Hamilton

avatar

Game username : Hamilton
Server : Myatar Legends // Dragon's Den
Female Posts : 373
Join date : 2011-10-20
Age : 31
Location : everywhere

PostSubject: Re: Body Selector /Character Creation Issue   Thu Mar 09, 2017 5:46 pm

A known glitch in the original body selector source was a sort of 'ghosting' that happens for the selectors from page2 showing up on page1. There's a fix for it right here.

As for the color page only effecting the body mesh...I'd advise restarting the game when connection is dropped and see if the issue still happens when you've got a fully connected game.
Back to top Go down
Mea_WolfenX

avatar

Game username : Mea_WolfenX
Server : Souls Of Legacy
Female Posts : 92
Join date : 2015-07-22
Age : 17

PostSubject: Re: Body Selector /Character Creation Issue   Fri Mar 10, 2017 6:39 pm

Hamilton wrote:
A known glitch in the original body selector source was a sort of 'ghosting' that happens for the selectors from page2 showing up on page1. There's a fix for it right here.

As for the color page only effecting the body mesh...I'd advise restarting the game when connection is dropped and see if the issue still happens when you've got a fully connected game.

M... Yeah. I'll try get it fixed.
Back to top Go down
http://SoulsOfLegacy.boards.net
 
Body Selector /Character Creation Issue
View previous topic View next topic Back to top 
Page 1 of 1

Permissions in this forum:You cannot reply to topics in this forum
Keeping I.T. Open :: SUPPORT :: Support-
Jump to: