siegeengineers / rms-check Goto Github PK
View Code? Open in Web Editor NEWLinter and language server for Age of Empires 2 random map scripts
License: GNU General Public License v3.0
Linter and language server for Age of Empires 2 random map scripts
License: GNU General Public License v3.0
terrain_cost GRASS 10 0
The 0 is an UnknownWord. Maybe unknown words after a command can be assumed to be excessive arguments?
a lot of map scripts are written in different encodings, especially older ones. currently we run chardet on those but there's really no reason to convert them to utf8. the builtin tokens are all ascii and the game works on a byte level with custom const names anyway. with bstr
we could treat non utf8 stuff as a str.
since tokens already have associated context information, we should be able to provide context-aware completions in the language server.
avoid_cliff_zone
avoid_all_actor_areas
place_on_forest_zone
should not take an argumentcircle_radius
is not supporteddefault_terrain_replacement
create_connect_to_nonplayer_land
Zetnus showed a script like this:
if UP_EXTENSION #define RND_AVAILABLE
elseif DE_AVAILABLE #define RND_AVAILABLE
endif
if ALLOW_FULL_RANDOM_PLACEMENT
if RND_AVAILABLE /* a check for direct-placement support */
start_random
percent_chance 10 #define USE_FULL_RANDOM_PLACEMENT
end_random
endif
endif
if USE_FULL_RANDOM_PLACEMENT
direct_placement
endif
rms-check flags this as a potential compatibility issue. However, USE_FULL_RANDOM_PLACEMENT
will only ever be defined if UP_EXTENSION
or DE_AVAILABLE
is defined, so this is actually fine. We could do dependency tracing of const definitions to account for this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.