From 12bb26459bb7b7d203a380e722b1be116e20cf36 Mon Sep 17 00:00:00 2001 From: Botanic Date: Thu, 7 Feb 2013 13:00:51 -0800 Subject: [PATCH] fixed vertex_program_parse --- code/nel/src/3d/vertex_program_parse.cpp | 98 ++++++++++++------------ 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/code/nel/src/3d/vertex_program_parse.cpp b/code/nel/src/3d/vertex_program_parse.cpp index 4ac59e097..25ed6e9f4 100644 --- a/code/nel/src/3d/vertex_program_parse.cpp +++ b/code/nel/src/3d/vertex_program_parse.cpp @@ -258,21 +258,21 @@ bool CVPParser::parseInputRegister(CVPOperand &operand, std::string &errorOutput } switch (strValue) { - case "OPOS": operand.Value.InputRegisterValue = CVPOperand::IPosition; break; - case "WGHT": operand.Value.InputRegisterValue = CVPOperand::IWeight; break; - case "NRML": operand.Value.InputRegisterValue = CVPOperand::INormal; break; - case "COL0": operand.Value.InputRegisterValue = CVPOperand::IPrimaryColor; break; - case "COL1": operand.Value.InputRegisterValue = CVPOperand::ISecondaryColor; break; - case "FOGC": operand.Value.InputRegisterValue = CVPOperand::IFogCoord; break; + case 'OPOS': operand.Value.InputRegisterValue = CVPOperand::IPosition; break; + case 'WGHT': operand.Value.InputRegisterValue = CVPOperand::IWeight; break; + case 'NRML': operand.Value.InputRegisterValue = CVPOperand::INormal; break; + case 'COL0': operand.Value.InputRegisterValue = CVPOperand::IPrimaryColor; break; + case 'COL1': operand.Value.InputRegisterValue = CVPOperand::ISecondaryColor; break; + case 'FOGC': operand.Value.InputRegisterValue = CVPOperand::IFogCoord; break; // texture argument - case "TEX0": - case "TEX1": - case "TEX2": - case "TEX3": - case "TEX4": - case "TEX5": - case "TEX6": - case "TEX7": + case 'TEX0': + case 'TEX1': + case 'TEX2': + case 'TEX3': + case 'TEX4': + case 'TEX5': + case 'TEX6': + case 'TEX7': operand.Value.InputRegisterValue = (CVPOperand::EInputRegister) (((CVPOperand::ITex0 + strValue) & 0xff) - '0'); break; default: @@ -386,21 +386,21 @@ bool CVPParser::parseOutputRegister(CVPOperand &operand, std::string &errorOutpu // convert to enum switch(strValue) { - case "HPOS": operand.Value.OutputRegisterValue = CVPOperand::OHPosition; break; - case "COL0": operand.Value.OutputRegisterValue = CVPOperand::OPrimaryColor; break; - case "COL1": operand.Value.OutputRegisterValue = CVPOperand::OSecondaryColor; break; - case "BFC0": operand.Value.OutputRegisterValue = CVPOperand::OBackFacePrimaryColor; break; - case "BFC1": operand.Value.OutputRegisterValue = CVPOperand::OBackFaceSecondaryColor; break; - case "FOGC": operand.Value.OutputRegisterValue = CVPOperand::OFogCoord; break; - case "PSIZ": operand.Value.OutputRegisterValue = CVPOperand::OPointSize; break; - case "TEX0": operand.Value.OutputRegisterValue = CVPOperand::OTex0; break; - case "TEX1": operand.Value.OutputRegisterValue = CVPOperand::OTex1; break; - case "TEX2": operand.Value.OutputRegisterValue = CVPOperand::OTex2; break; - case "TEX3": operand.Value.OutputRegisterValue = CVPOperand::OTex3; break; - case "TEX4": operand.Value.OutputRegisterValue = CVPOperand::OTex4; break; - case "TEX5": operand.Value.OutputRegisterValue = CVPOperand::OTex5; break; - case "TEX6": operand.Value.OutputRegisterValue = CVPOperand::OTex6; break; - case "TEX7": operand.Value.OutputRegisterValue = CVPOperand::OTex7; break; + case 'HPOS': operand.Value.OutputRegisterValue = CVPOperand::OHPosition; break; + case 'COL0': operand.Value.OutputRegisterValue = CVPOperand::OPrimaryColor; break; + case 'COL1': operand.Value.OutputRegisterValue = CVPOperand::OSecondaryColor; break; + case 'BFC0': operand.Value.OutputRegisterValue = CVPOperand::OBackFacePrimaryColor; break; + case 'BFC1': operand.Value.OutputRegisterValue = CVPOperand::OBackFaceSecondaryColor; break; + case 'FOGC': operand.Value.OutputRegisterValue = CVPOperand::OFogCoord; break; + case 'PSIZ': operand.Value.OutputRegisterValue = CVPOperand::OPointSize; break; + case 'TEX0': operand.Value.OutputRegisterValue = CVPOperand::OTex0; break; + case 'TEX1': operand.Value.OutputRegisterValue = CVPOperand::OTex1; break; + case 'TEX2': operand.Value.OutputRegisterValue = CVPOperand::OTex2; break; + case 'TEX3': operand.Value.OutputRegisterValue = CVPOperand::OTex3; break; + case 'TEX4': operand.Value.OutputRegisterValue = CVPOperand::OTex4; break; + case 'TEX5': operand.Value.OutputRegisterValue = CVPOperand::OTex5; break; + case 'TEX6': operand.Value.OutputRegisterValue = CVPOperand::OTex6; break; + case 'TEX7': operand.Value.OutputRegisterValue = CVPOperand::OTex7; break; default: errorOutput = "Can't read index for output register."; return false; @@ -755,7 +755,7 @@ bool CVPParser::parseInstruction(CVPInstruction &instr, std::string &errorOutput } switch (instrStr) { - case "ARL ": + case 'ARL ': instr.Opcode = CVPInstruction::ARL; if (!parseOp2(instr, errorOutput)) return false; if (!instr.Src1.Swizzle.isScalar()) @@ -764,7 +764,7 @@ bool CVPParser::parseInstruction(CVPInstruction &instr, std::string &errorOutput return false; } break; - case "RSQ ": + case 'RSQ ': instr.Opcode = CVPInstruction::RSQ; if (!parseOp2(instr, errorOutput)) return false; if (!instr.Src1.Swizzle.isScalar()) @@ -773,8 +773,8 @@ bool CVPParser::parseInstruction(CVPInstruction &instr, std::string &errorOutput return false; } break; - case "EXP ": - case "EXPP": + case 'EXP ': + case 'EXPP': instr.Opcode = CVPInstruction::EXPP; if (!parseOp2(instr, errorOutput)) return false; if (!instr.Src1.Swizzle.isScalar()) @@ -789,7 +789,7 @@ bool CVPParser::parseInstruction(CVPInstruction &instr, std::string &errorOutput return false; }*/ break; - case "LOG ": + case 'LOG ': instr.Opcode = CVPInstruction::LOG; if (!parseOp2(instr, errorOutput)) return false; if (!instr.Src1.Swizzle.isScalar()) @@ -805,7 +805,7 @@ bool CVPParser::parseInstruction(CVPInstruction &instr, std::string &errorOutput } */ break; - case "RCP ": + case 'RCP ': instr.Opcode = CVPInstruction::RCP; if (!parseOp2(instr, errorOutput)) return false; if (!instr.Src1.Swizzle.isScalar()) @@ -815,60 +815,60 @@ bool CVPParser::parseInstruction(CVPInstruction &instr, std::string &errorOutput } break; ///////////////// - case "MOV ": + case 'MOV ': instr.Opcode = CVPInstruction::MOV; if (!parseOp2(instr, errorOutput)) return false; break; - case "LIT ": + case 'LIT ': instr.Opcode = CVPInstruction::LIT; if (!parseOp2(instr, errorOutput)) return false; break; ///////////////// - case "MAD ": + case 'MAD ': instr.Opcode = CVPInstruction::MAD; if (!parseOp4(instr, errorOutput)) return false; break; ///////////////// - case "ADD ": + case 'ADD ': instr.Opcode = CVPInstruction::ADD; if (!parseOp3(instr, errorOutput)) return false; break; ///////////////// - case "MUL ": + case 'MUL ': instr.Opcode = CVPInstruction::MUL; if (!parseOp3(instr, errorOutput)) return false; break; - case "DP3 ": + case 'DP3 ': instr.Opcode = CVPInstruction::DP3; if (!parseOp3(instr, errorOutput)) return false; break; - case "DP4 ": + case 'DP4 ': instr.Opcode = CVPInstruction::DP4; if (!parseOp3(instr, errorOutput)) return false; break; - case "DST ": + case 'DST ': instr.Opcode = CVPInstruction::DST; if (!parseOp3(instr, errorOutput)) return false; break; - case "MIN ": + case 'MIN ': instr.Opcode = CVPInstruction::MIN; if (!parseOp3(instr, errorOutput)) return false; break; - case "MAX ": + case 'MAX ': instr.Opcode = CVPInstruction::MAX; if (!parseOp3(instr, errorOutput)) return false; break; - case "SLT ": + case 'SLT ': instr.Opcode = CVPInstruction::SLT; if (!parseOp3(instr, errorOutput)) return false; break; - case "SGE ": + case 'SGE ': instr.Opcode = CVPInstruction::SGE; if (!parseOp3(instr, errorOutput)) return false; break; ///////////////// - case "END ": + case 'END ': endEncountered = true; return true; break; @@ -885,7 +885,7 @@ bool CVPParser::parseInstruction(CVPInstruction &instr, std::string &errorOutput } // it is not allowed to write to an adress register except for ARL - if (instrStr != "ARL ") + if (instrStr != 'ARL ') { if (instr.Dest.Type == CVPOperand::AddressRegister) {