Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
Warcraft III: Community Edition is a launcher designed specifically for Warcraft III, version 1.29.2.9231, nothing more, nothing less. The goal is to make a stable modding platform compatible with retail. A platform where we can add our own carefully considered features and thrive.
Alpha Version
This is an alpha version of the launcher and will have a lot of issues. The point of this alpha release is to gather feedback on what needs fixing.
Please report any issues you encounter directly in this thread, or on our GitHub repo.
Support for loading SD models up format version 1100.
A server to play with friends on.
Making your own maps
We do not ship a custom World Editor with W3CE, so you are free to work on your maps in whatever editor you like (including the Reforged World Editor). In order for you to use our custom natives from JASS, you will have to enable local files and overwrite the common.j with our custom one.
Place the common.j in your <Warcraft III Installation Folder>/_retail_/scripts folder.
Known Issues
New abilities introduced since 1.29.2 (Sundering Blades, Prioritize, etc) are currently not supported, but will only silently fail with a log message.
Many HD assets will be missing (pic related), but we do forward the ones we can to SD.
The frame API is still being worked on and needs some edge cases ironed out.
Planned Features
Server stored characters and progress.
Reconnect and joining games in progress.
Map signing and author verification.
Tools to aid map developers in debugging desyncs.
Frequently Asked Questions (FAQ)
What if I don't have CD Keys?
We plan on adding support for players who have purchased Reforged but do not own any CD keys.
How can I help?
Right now the thing we need the most is testers to try out their favorite maps, to see where our efforts should be focused.
Feedback in this tool thread and in the #w3ce channel on our Discord server is warmly welcomed.
Credits and Acknowledgements
W3CE builds on decades of knowledge gathered across many communities and wouldn't have been possible without everyone involved now and in the past.
Changelog
Added an alternate CE version of the object instance API which is 1 indexed and doesn't exhibit any bugged behavior.
BlzSetUnitWeaponRealField now matches the bugged behavior of Reforged.
Fixed an issue where maps with UTF8 characters in their trigger string file would not display properly.
Fixed a crash that could occur after playing a second map.
Fixed a crash that could occur randomly after playing multiple maps.
Fixed a crash that would occur when importing a 0kb terrain tile texture.
Fixed a crash that would occur when assigning frame's parent to a simpleframe.
WASM is now a supported scripting environment, allowing developers to code their maps in a variety of different languages such as Rust, C++, Go, Java, and so on.
Significantly improved map loading times.
Blizzard natives are now zero indexed in order to match Reforged's behavior.
Added 14 new origin frame types.
Added 24 new frame natives.
Added 10 new input natives.
Added CeGetAbilityLevel which allows you get the current level of an ability or buff object
BlzSetItemName, BlzSetItemDescription, and BlzSetItemIconPath are now working properly.
Implemented the item instance natives.
Implemented the majority of the unit instance natives.
Implemented the majority of the ability instance natives.
BlzFrameGetText now works for SimpleStrings.
BlzFrameSetTooltip now works for SimpleButtons.
BlzFrameGetByName now works with many different origin frames.
EditBox frames now have functioning events.
Fixed an issue where health bars would appear over the UI.
Fixed an issue where the texture cache was not working, causing maps to stutter.
Fixed an issue where FrameGetTextValue could cause a crash.
Fixed an issue where using strings longer than 1024 characters could cause a crash.
Fixed an issue where BlzEnableCursor could cause a crash.
Fixed an issue where TFT maps that used Reforged doodad data would crash.
Fixed an issue where BlzSetItemSkin would cause items to be invisible.
Fixed an issue where some frame events would trigger in reverse.
Fixed an issue where DXT1 textures did not support transparency.
Fixed an issue where textures with no mipmaps could fail to load.
Fixed an issue where keyboard events only fired for one player.
Fixed an issue where sync events would not take the sync prefix into account.
Fixed an issue where TriggerSleepAction would crash Lua maps.
Changes
Adds support for loading more texture formats (bmp, png, tif, dds, ktx, ktx2).
Improved asset loader to look into common retail paths.
Implemented multiple retail natives.
Improved retail parity in special effect natives.
Expanded W3CE API, adds many new natives related to updating models and their textures on units, items, effects, etc.
Fixes
Fixes Lua issue with equality and nil values.
Changes
Adds automatic UPnP port forwarding to help with Battle.net hosting.
Improves Lua FourCC and print.
Adds support for --verbose command line, to get more detailed logging.
Adds support for UNIT_RF_FLY_HEIGHT.
Adds support for GetUnitZ.
Fixes
Broken Lua dependencies.
Broken Lua common.j event ids.
Crash related to chain lightning from bugged damage events.
Changes
Adds support for loading Reforged maps (1.31 through 1.35)
Adds Lua scripting engine.
Adds support for MDX version 1100.
Adds most critical natives have been implemented (185/242).
Some remaining ones are non-functional like dialogue/FaceFX control.
Adds partial support for the skin system (war3mapSkin.w3* files).
Adds the ability to load textures without specifying an extension.
Adds support for all of the updated file formats.
Adds support for loading maps created with DzAPI and YDAPI (NetEase).
The game can now use up to 3.5GB of RAM compared to the default 2GB.
The game is no longer limited to 64fps.
Adds support for connecting to our custom Battle.net server.
Adds 20 new natives.
Fixes
Displaying a TimerDialog and Multiboad at the same time is no longer broken
BlzIsUnitInvulnerable no longer returns false if a unit is invulnerable
@MindWorX I am trying to load custom FDF-files for a while now and I cannot make it work. Since you support (most) of the new frame natives, I assumed, the W3CE can handle custom frame loading via TOC- and FDF-files.
However, I found out that BlzLoadTOCFile always returns false. Is this due to not being implemented? In this case I would see a logging entry in the log file, right? (like it does for other funktions)
The TOC-file is farely simple (1 file and a blank line at the end) and the FDF-file exists at the expected path. This normally loads in Reforged, but does not work with W3CE.
This is the code I use to load the TOC-file (works fine on Reforged):
Lua:
OnInit.map("InitTOC", function()
local path = "ui\\Frames.toc"
local success = BlzLoadTOCFile(path)
if success then
print("Successfully loaded TOC file: " .. path)
else
error("Could not load TOC file: " .. path)
end
end, Debug and Debug.getLine() or nil)
I managed to fix the issue. The problem was, once again, sitting in front of the computer, being dumb enough to pass a wrong path to the function and wondering why things do not work. Better do not experiment late at night, I suppose...
Sorry for wasting your time
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.