Skip to content

mighty1231/screpl

Repository files navigation

SC-REPL

SC-REPL provides command line interface and text UI based application framework on StarCraft I UMS maps, built on euddraft.

It helps to debug UMS maps in Starcraft I.

Example

You can debug your map easily and effectively using Application. For example,

class MyApp(Application):
    def loop(self):
        if EUDIf()(get_app_manager().key_press("ESC")):
            get_app_manager().request_destruct()
        EUDEndIf()
        get_app_manager().request_update()

    def print(self, writer):
        # get hit point of unit 0
        hit_point_of_unit_0 = f_dwread_epd(EPD(0x59CCB0))
        writer.write_f("%D\n", hit_point_of_unit_0)
        writer.write(0) # null-end

@AppCommand([])
def starting_command(self):
    get_app_manager().start_application(MyApp)

REPL.add_command("hpcheck", starting_command)

Above lines of codes enable your UMS map display the HP of specific unit continously, if you chat hpcheck().

There are some standard plugins, and corresponding demo videos.

There are many amazing features other than them. bridge enables to communicate applications by using remote client.

Installation

Required

  • Starcraft I Remastered
  • euddraft version >= 0.8.9.9

Instruction

  • Install one of release versions
  • Move a directory screpl to euddraft/lib.
  • Move a file prepl.py to euddraft/plugins.
euddraft0.*.*.*
├── lib
│   └── screpl
│       ├── apps
│       ├── bridge_server
│       ├── core
│       └── ...
├── plugins
│   └── prepl.py
└── euddraft.exe
  • You may install SC-REPL Bridge Client if you want.

Apply SC-REPL on your map

  1. Append following text in your euddraft project file (*.edd).
[prepl]
superuser: P1
plugins: screpl.plugins.location screpl.plugins.string screpl.plugins.unit
  1. Run your euddraft project file with euddraft.

Plugins

You can make your customized application as a plugin of SC-REPL. Check it here.

Documentation

You can check doc to get information on functions.

High-level documentations (application level) are provided with Github wiki, but so far, most of them are written in Korean.

Contribution Guide

You can contribute to this project. Check contribution guide.

LICENSE

MIT License