Giter VIP home page Giter VIP logo

rms-check's Issues

Use `bstr`

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.

Context-aware completion

since tokens already have associated context information, we should be able to provide context-aware completions in the language server.

Beta Carnage

  • Missing avoid_cliff_zone
  • Missing avoid_all_actor_areas
  • place_on_forest_zone should not take an argument
  • Optional second argument to circle_radius is not supported
  • Missing default_terrain_replacement
  • Missing layer attributes
  • Missing create_connect_to_nonplayer_land
  • Compatibility messages are not comprehensive: eg some feature may be supported on UP 1.4 and HD

Const Tracing

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.