Skip to content

Commit

Permalink
Merge pull request #547 from Farama-Foundation/roadmap-in-readme
Browse files Browse the repository at this point in the history
Add the roadmap to README.md
  • Loading branch information
mwydmuch authored Jul 24, 2023
2 parents 61a6d83 + 5815bc9 commit 95c4783
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 23 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ name: Pre-commit
on:
pull_request:
push:
branches: [main]
branches: [master]

permissions:
contents: read # to fetch code (actions/checkout)
Expand Down
18 changes: 10 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,22 +181,24 @@ Useful articles:

## Awesome Doom tools/projects

- [SLADE3](http://slade.mancubus.net/) - great Doom map (scenario) editor for Linux, MacOS and Windows.
- [Doom Builder 2](http://www.doombuilder.com/) - another great Doom map editor for Windows.
- [SLADE3](http://slade.mancubus.net/) - Great Doom map (scenario) editor for Linux, MacOS and Windows.
- [Doom Builder 2](http://www.doombuilder.com/) - Another great Doom map editor for Windows.
- [OBLIGE](http://oblige.sourceforge.net/) - Doom random map generator and [PyOblige](https://github.com/mwydmuch/PyOblige) is a simple Python wrapper for it.
- [Omgifol](https://github.com/devinacker/omgifol) - nice Python library for manipulating Doom maps.
- [Omgifol](https://github.com/devinacker/omgifol) - Nice Python library for manipulating Doom maps.
- [NavDoom](https://github.com/agiantwhale/navdoom) - Maze navigation generator for ViZDoom (similar to DeepMind Lab).
- [MazeExplorer](https://github.com/microsoft/MazeExplorer) - More sophisticated maze navigation generator for ViZDoom.
- [Sample Factory](https://github.com/alex-petrenko/sample-factory) - A high performance reinforcement learning framework for ViZDoom.
- [EnvPool](https://github.com/sail-sg/envpool/) - A high performance vectorized environment for ViZDoom.
- [Obsidian](https://github.com/dashodanger/Obsidian) - Doom random map generator, continuation of OBLIGE.
- [Sample Factory](https://github.com/alex-petrenko/sample-factory) - A high-performance reinforcement learning framework for ViZDoom.
- [EnvPool](https://github.com/sail-sg/envpool/) - A high-performance vectorized environment for ViZDoom.
- [Obsidian](https://github.com/dashodanger/Obsidian) - Doom random map generator, a continuation of OBLIGE.


## Contributions

This project is maintained and developed in our free time. All bug fixes, new examples, scenarios and other contributions are welcome! We are also open to features ideas and design suggestions.
This project is maintained and developed in our free time. All bug fixes, new examples, scenarios, and other contributions are welcome! We are also open to feature ideas and design suggestions.

We have a roadmap for future development work for ViZDoom available [here](https://github.com/Farama-Foundation/ViZDoom/issues/546).


## License

Code original to ViZDoom is under MIT license. ZDoom uses code from several sources with [varying licensing schemes](http://zdoom.org/wiki/license).
The code original to ViZDoom is under MIT license. ZDoom uses code from several sources with [varying licensing schemes](http://zdoom.org/wiki/license).
4 changes: 2 additions & 2 deletions docs/api_cpp/utils.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ Calculates the number of seconds that will pass during specified number of tics.
| Python | `doom_fixed_to_double(doomFixed: int | float) -> float` |

Converts fixed point numeral to a floating point value.
Doom's engine internaly use fixed point numbers.
If you read them directly from `USERX` variables,
Doom's engine internally use fixed point numbers.
If you read them directly from `USERX` variables,
you may want to convert them to floating point numbers.

See also:
Expand Down
28 changes: 19 additions & 9 deletions scripts/create_python_docs_from_cpp_docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,21 @@


FILES_TO_PARSE = [
{"input_filepath": "docs/api_cpp/doomGame.md", "output_filepath": "docs/api_python/doomGame.md", "submodule": "DoomGame.",
"append_to_header": """
{
"input_filepath": "docs/api_cpp/doomGame.md",
"output_filepath": "docs/api_python/doomGame.md",
"submodule": "DoomGame.",
"append_to_header": """
```{eval-rst}
.. autoclass:: vizdoom.DoomGame
```
"""},
{"input_filepath": "docs/api_cpp/utils.md", "output_filepath": "docs/api_python/utils.md", "submodule": ""},
""",
},
{
"input_filepath": "docs/api_cpp/utils.md",
"output_filepath": "docs/api_python/utils.md",
"submodule": "",
},
]
SECTION_REGEX = r"^##+ *([a-zA-Z ]+) *$"
FUNCTION_REGEX = r"^###+ *`([a-zA-Z]+)` *$"
Expand Down Expand Up @@ -43,13 +51,15 @@

elif not started:
start_lines += line

else:
match = re.match(FUNCTION_REGEX, line)
if match:
function_name = match.group(1)
function_name = function_name.replace("ViZDoom", "Vizdoom")
function_name = re.sub(r'(?<!^)(?=[A-Z])', '_', function_name).lower() # Convert CamelCase to snake_case
output_file.write(f".. autofunction:: vizdoom.{fp['submodule']}{function_name}\n")


function_name = re.sub(
r"(?<!^)(?=[A-Z])", "_", function_name
).lower() # Convert CamelCase to snake_case
output_file.write(
f".. autofunction:: vizdoom.{fp['submodule']}{function_name}\n"
)
8 changes: 5 additions & 3 deletions scripts/create_python_docstrings_from_cpp_docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
RAW_STRING_ESCAPE_SEQ = "DOCSTRING"
FUNCTION_HEADER_REGEX = r"^##+ *`([a-zA-Z]+)` *$"
TO_REPLACE = [
r"\[([`a-zA-Z]+)\]\(.*\)", # Links
r"\[([`a-zA-Z]+)\]\(.*\)", # Links
]
LINES_TO_IGNORE_REGEXES = [
r"---", # Lines
Expand All @@ -24,7 +24,7 @@
r"^Deprecated since .*$", # Deprecated since annotations
r"^Removed in .*$", # Removed in annotations
r"^Config key: .*$", # Config annotations
r"^Python aliases .*$", # Python aliasses
r"^Python aliases .*$", # Python aliases
r"^#+.*", # Other headings
]

Expand Down Expand Up @@ -80,7 +80,9 @@
next_docstring += line

if started:
output_file.write(f'{next_docstring.strip()}){RAW_STRING_ESCAPE_SEQ}";\n\n')
output_file.write(
f'{next_docstring.strip()}){RAW_STRING_ESCAPE_SEQ}";\n\n'
)

if "namespace" in file:
output_file.write(f"}} // namespace {file['namespace']}\n\n")
Expand Down

0 comments on commit 95c4783

Please sign in to comment.