MSRevive / MSRevive/MasterSwordRebirth

Replace custom MS types with STL types

Open
#179 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement 🔧 good first issue help wanted med priority
Dominant language
C++
Stars
22
Forks
16
Avg merge
5m
Merged PRs (30d)
1

Description

The types that need replacing:

  • msstring - It's a C style fixed string type. Replacing it with std::string isn't advised since it's dynamically allocated. It'll probably be best to make our fix fixed string inherited from std::basic_string or use a library like this that contains a fixed string.
  • msvariant - A variant variable that fits a c string, int, or float
  • msstring_ref - Type defined as a const char*
  • mslist - a linked list list that is used a vector throughout the code as well. Should be replaced with a std::vector or std::list depending on what should be used there.
  • string_i - In debug mode, a normal string. In release mode its created within the engine and released each level
  • msnew - Should probably be replaced with just new.

This should be done after angelscript is embedded.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inventorying usages of msstring, msvariant, mslist, msnew, and the other listed custom types after AngelScript is embedded. Review each usage to determine whether an STL replacement is appropriate; done means the custom types targeted by this issue have been replaced without breaking the project.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.