1) The header has bad declaration, ReplaceBlock has XXXMeta parameters
2) The parameter names are not clear enough, it takes a while to decipher which is the old meta / type and which is the new one. Call them From / To.
3) The functions are needlessly complicated and thus ineffective. Since they operate on the entire array of blocktypes / blockmetas, they could use a single for-loop going through all m_BlockMetas[] / m_BlockTypes[] by an increasing index.
4) The functions don't check the contained datatypes, what if there are no blocktypes read into the BlockArea?
To create a branch in Git, execute this command anywhere inside the repository:
git checkout -b NameOfBranch
Then you can normally commit and push (use git gui to push to server to avoid the need to specify extra parameters). Once you're happy with the branch's contents, you use the GitHub web to create a pull request - it will be there automatically once you create and push a branch.
You can even switch back and forth between the branch and the master in your working copy, simply by
git checkout master
git checkout NameOfBranch
Oh, by the way, don't let the above 4 points discourage you from coding further. I mean, the code is good, I'd have accepted it from you a few months ago, but I now consider you more advanced so I give you a more strict treatment
2) The parameter names are not clear enough, it takes a while to decipher which is the old meta / type and which is the new one. Call them From / To.
3) The functions are needlessly complicated and thus ineffective. Since they operate on the entire array of blocktypes / blockmetas, they could use a single for-loop going through all m_BlockMetas[] / m_BlockTypes[] by an increasing index.
4) The functions don't check the contained datatypes, what if there are no blocktypes read into the BlockArea?
To create a branch in Git, execute this command anywhere inside the repository:
git checkout -b NameOfBranch
Then you can normally commit and push (use git gui to push to server to avoid the need to specify extra parameters). Once you're happy with the branch's contents, you use the GitHub web to create a pull request - it will be there automatically once you create and push a branch.
You can even switch back and forth between the branch and the master in your working copy, simply by
git checkout master
git checkout NameOfBranch
Oh, by the way, don't let the above 4 points discourage you from coding further. I mean, the code is good, I'd have accepted it from you a few months ago, but I now consider you more advanced so I give you a more strict treatment