aoe2de-rms-gen-obj-parser 2.1.1

Last updated:

0 purchases

aoe2de-rms-gen-obj-parser 2.1.1 Image
aoe2de-rms-gen-obj-parser 2.1.1 Images
Add to Cart

Description:

aoe2dermsgenobjparser 2.1.1

Parser to extract, from AoE2 DE GeneratingObjects.inc file, the code that would be produced when ran with the constants contained in the RandomMapScript files

Installation
pip install aoe2de_rms_gen_obj_parser


Basic usage
from aoe2de_rms_gen_obj_parser import GeneratingObjectsParser
# We instantiate the GeneratingObjectsParser
parser = GeneratingObjectsParser("Path/to/GeneratingObjects.inc", "Path/to/SomeRandomMapScript.rms")

# We must run the parsers each time an attribute is set, in order to update them
parser.run_parsers()

# We can now get the result for the parsing (done on the fly, that's why we must use run_parsers() first
parsed_content = parser.get_result()


Advanced Usage
The class GeneratingObjectsParser can be instantiate with up to 5 arguments.
Two are <<mandatory>> (they won’t have default values):

path_gen_obj, the path of the GeneratingObjects.inc file
path_rms_file, the path of the .rms file (like Arabia.rms, Arena.rms …)

The three others are <<optional>> (they have default values) but must respect defined values:

map_size, must be a key of aoe2de_rms_gen_obj_parser.const.MAP_SIZE_DICT
map_resources, must be a key of aoe2de_rms_gen_obj_parser.const.MAP_RESOURCES_DICT
game_type, must be a key of aoe2de_rms_gen_obj_parser.const.GAME_TYPE_DICT

By default, these are set to TINY_MAP, OTHER_RESOURCES and OTHER_GAME
Because the attributes can be changed at will (setters exposed), the files must be parsed first with run_parsers()
before asking for a result with get_result()
from aoe2de_rms_gen_obj_parser import GeneratingObjectsParser
# We instantiate the GeneratingObjectsParser
parser = GeneratingObjectsParser()
... <some code>
parser.set_path_gen_obj("Path/to/GeneratingObjects.inc")
parser.set_path_rms_file("Path/to/SomeRandomMapScript.rms")
... <some code>
parser.set_map_size("LARGE_MAP")
parser.run_parsers()
parsed_content = parser.get_result()


Information about GeneratingObjects.inc

Contains the code for the map objects generation, from buildings, to resources, with units and some terrains,
such as Town Centers, Villagers, Scouts, Stones, Golds, Huntables, Lurables …
The previous code is encapsulated in various if, elseif, else statements.
Omitting else, they will have their corresponding constraint on a constant defined elsewhere (the .rms files)



Information about RandomMapScript.rms

Define base Land and Terrain
Define seasons if needed/wanted
Define the constants used by the GeneratingObjects.inc file

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.