makeopensource / Classic-RPG

A classic role-playing game with an engine.
GNU General Public License v3.0
7 stars 19 forks source link

V2.0 .dl file #93

Closed emilkovacev closed 1 year ago

emilkovacev commented 1 year ago

Proposed changes

Closes #91 Adds a new .dl file structure

Types of changes

What types of changes does your code introduce? Put an x in the boxes that apply

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. This is simply a reminder of what we are going to look for before merging your code.

Further comments

I chose to add a new parser (according to the specification of the issue) because the original one was getting a bit cluttered. I chose to keep both of the structures, and modify existing implementations to match the current version of crpg (maintaining legacy versioning is one of the strengths of this project). I also added a bunch of improvements to the regex parsing, so that newlines and spaces are a lot more forgiving, which they should be.

The one improvement I would like to make, is have a generic parser in parser/init.py that grabs the version number and passes it on to the appropriate functions instead of having to call the parser manually. Maybe I'll do it later. Maybe.