All Projects → warcraft-iii → warcraft-vscode

warcraft-iii / warcraft-vscode

Licence: MIT license
No description or website provided.

Programming Languages

typescript
32286 projects
lua
6591 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to warcraft-vscode

keystone.guru
A website where users can build and find their favorite routes for completing in Mythic Plus dungeons in World of Warcraft®
Stars: ✭ 44 (+91.3%)
Mutual labels:  warcraft
why-I-hate-wow-private-servers
Reasons why most of WoW private servers sucks
Stars: ✭ 55 (+139.13%)
Mutual labels:  warcraft
bncsutil
The Classic Battle.net™ client library
Stars: ✭ 19 (-17.39%)
Mutual labels:  warcraft
sounds-of-github
This is a Chrome extension to play sound effects whenever you leave a reaction on GitHub.
Stars: ✭ 72 (+213.04%)
Mutual labels:  warcraft
Ice-Sickle
ARCHIVED: This project is archived because updates are now being made to the original World Editor (reforged), and because HiveWE is making amazing progress.
Stars: ✭ 13 (-43.48%)
Mutual labels:  warcraft
hearthstone-card-images
(Archived, see below) Hearthstone card image repository
Stars: ✭ 63 (+173.91%)
Mutual labels:  warcraft
ClassicEmu
ClassicEmu is an Open Source Server for World of Warcraft (1.12.1, 2.4.3 and 3.3.5a) written in .NET6
Stars: ✭ 33 (+43.48%)
Mutual labels:  warcraft
DBFilesClient.NET
Deprecated: See DBClientFiles.NET
Stars: ✭ 14 (-39.13%)
Mutual labels:  warcraft
BlizzCMS
BlizzCMS website World of Warcraft Multi Expansion
Stars: ✭ 36 (+56.52%)
Mutual labels:  warcraft
ConsolePort
ConsolePort - Game Controller Addon for World of Warcraft
Stars: ✭ 108 (+369.57%)
Mutual labels:  warcraft
strongbox
a World of Warcraft Addon Manager aimed at Linux players
Stars: ✭ 131 (+469.57%)
Mutual labels:  warcraft
war1
A remake of Warcraft: Orcs & Humans written in C
Stars: ✭ 107 (+365.22%)
Mutual labels:  warcraft
openwar
Classic fantasy RTS game in the spirit of Warcraft: Orcs & Humans.
Stars: ✭ 48 (+108.7%)
Mutual labels:  warcraft
TellMeWhen
TellMeWhen is a combat tracking AddOn for World of Warcraft Retail and Classic
Stars: ✭ 69 (+200%)
Mutual labels:  warcraft
Mechanical-Squirrel
A Discord bot that posts World of Warcraft: Classic memes. (discord.js)
Stars: ✭ 12 (-47.83%)
Mutual labels:  warcraft

warcraft-vscode

This extension is a Warcraft III map development tool set of Lua.

Install

Node.js

Features

  • Compile script
  • Pack map
  • Run map
  • Open world editor
  • Add libraries

Commands

  • Warcraft: Create Project
    • Create a map project for Warcraft III
  • Warcraft: Clean Project
    • Remove the .build folder
  • Warcraft: Add Library
    • Add a library for project
  • Warcraft: Compile Script
    • Compile script
  • Warcraft: Pack Map
    • Compile script
    • Pack map to w3x
  • Warcraft: Run Map
    • Compile script
    • Pack map to w3x
    • Run map in Warcraft III
  • Warcraft: Open World Editor
    • Open the map folder with World Editor
  • Warcraft: Toggle Configuration
    • Toggle Configuration between with debug and release

Quick Start

  1. Press F1 in vscode
  2. Input warcraft create and Press Enter to create a Warcraft III map project
  3. Open the project folder and execute the Commands of this extension

Usage

The extension packages all Lua files into single file, Debug and Release behave differently, Debug packages all Lua files in src folder, but Release automatically analyzes dependencies based on the functions require dofile loadfile, so if you call these functions with NON STRING LITERALS, you must explicitly add the list of Lua files to the warcraft.json

warcraft.json

{
    "mapdir": "map.w3x",
    "files": ["main.lua"],
    "jassfile": "",
    "lua.package.path": ["./lib/?.lua", "./lib/?/init.lua"]
}
jassfile - *CLASSIC* Specify the path to the war3map.j file or use it in the map file.

Lua API

The extension implements some APIs in Lua that removed from Warcraft III, These functions are used in the same way as Lua

And added some functions for debug

  • seterrorhandler(func)
  • geterrorhandler()

Macros

There are some macros in lua file.

---Only compile into debug mode
--@debug@
Debug()
--@end-debug@

---Only compile into non debug mode
--@non-debug@
NotDebug()
--@end-non-debug@

---Not compile
--@remove@
OnlyInEditor()
--@end-remove@

---Only Compile into Classic
--@classic@
Classic()
--@end-classic@

--@non-reforge@
Classic()
--@end-non-reforge@

---Only Compile into Reforge
--@reforge@
Reforge()
--@end-reforge

--@non-classic@
Reforge()
--@end-non-classic@

Pack

The extension packages all files in folder named imports and src/lib/*/imports into the map, In Configuration Release, packages the folder named imports.release, In Configuration Debug, it's imports.debug

Libraries

Known Issues

TODOs

  • For Release
  • Use other github users or organizations to add libraries
  • Support compile time
  • Support for macOS

Enjoy!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].