Unlimited N-word pass winner
The title pretty much says it all. Pick a map, add/delete translation, pick output map, select which translation should be used, click "Run" and voilĂ , map is translated.
Features:
- Any number of translations (no hard limit, only saving/loading time increases)
- Id And contents binding (loading different version identifies strings and projects changes to translations accordingly)
- Automatic update checking (can be disabled)
- Export/Import to/from excel spreadsheet (for further custom processing and whatnot)
- Self update (automatic download & replacement)
Support:
- Unprotected maps
- Maps generated by EUD editor (using some guard)
- idk probably a lot of other stuff
Failed to get ImageSize (
http://rion.cz/epd/smt/scr1.png )
I didn't get samples of many tool output maps, so if you find a map that is not supported by this tool, please post it here.
It's still BETA and not thoroughly tested, so always have a backup of your maps before using this tool.
It's not recommented to output to input map (stuff breaks, translation corrupts and whatnot).
If you want to translate this tool to another language, translated
these strings (the parts after the equals sign)
Sources available
here (sources for DLL won't be released as map protection is still a thing)
Update:
Fixed update mechanism
Fixed column adjusting that caused export to fail
Improved exported format (colors, line breaks, filters and stuff)
Improved language interface
Fixed storage
Fixed EUD Editor support (long unseen alignment issue)
Added icon
Redesigned guardians
Fixing strings automatically
Fixed sounds
Added repack option
Post has been edited 27 time(s), last time on Sep 25 2022, 12:12 pm by T-warp.
Unlimited N-word pass winner
Unlimited N-word pass winner
Very cool, will give this a try next time I'm doing a Kor->Eng map translation.
Thanks.
None.
Unlimited N-word pass winner
Very cool, will give this a try next time I'm doing a Kor->Eng map translation.
Thanks.
Gimme sum msf
Unlimited N-word pass winner
Added export/import to excel.
Unlimited N-word pass winner
Added korean/russian translation (google translator effort).
http://www.staredit.net/sc1db/download/4507/freeze protected map which your tool does not support yet
Unlimited N-word pass winner
Thanks! I did some digging and found out that the only reason it's not supported is that SFileCreateFile from storm lib returns false for that given map (with like 20 different parameter combinations), which most likely indicates corrupted MPQ format. The other round of digging around I tried repackaging the map into clean MPQ, which somehow disabled triggers and the magic inside. It can be opened, edited, but not saved.
That being said, it's unlikely to ever be supported (unless author of the freeze mechanism takes a look at it and provides a workaround).
Freeze is designed to prevent any further tampering, so by design you cannot further modify the frozen map.
EUD
Unlimited N-word pass winner
Freeze is designed to prevent any further tampering, so by design you cannot further modify the frozen map.
That may be true, but it really depends on what offsets are accessed during unfreeze and if they are writable (then we can do the same trick as for EUD support) or not (truly unprotectable in compile time). Even the first kind sounds like too much work would be needed to make it work, so I'm gonna try to find some way to identify maps that have freeze protection and distinguish such maps from those that can still be supported in the future.
Freeze is designed to prevent any further tampering, so by design, you cannot further modify the frozen map.
That may be true, but it really depends on what offsets are accessed during unfreeze and if they are writable (then we can do the same trick as for EUD support) or not (truly unprotectable in compile time). Even the first kind sounds like too much work would be needed to make it work, so I'm gonna try to find some way to identify maps that have freeze protection and distinguish such maps from those that can still be supported in the future.
Freeze accesses...
- Entire .scx content (to compute hash) via storm.dll structure
- Hash/block entry to scenario.chk
- Hash of the entire content of scenario.chk
- Entire trigger.
and compute the checksum of these elements and use that to decrypt the map content.
So in order to circumvent freeze protector, you should
- either fake all those elements (which I think is quite hard, since you'd need to use trigger to tamper these things and trigger is used for checksumming)
- or somehow extract the decryption key and jump trigger instruction point directly to the decryption routine.
Try
EUD
Unlimited N-word pass winner
- Entire .scx content (to compute hash) via storm.dll structure
If it's done by triggers, we can alter them (probably in some insanely difficult way).
- Hash/block entry to scenario.chk
That's why it cannot be trivial editor, because block-level is not accessible (one would need to either create own MPQ library or modify the existing)
- Hash of the entire content of scenario.chk
Depending on used algorithm, it would be possible to append garbage and cause hash collision (even though very time consuming).
- Entire trigger.
and compute the checksum of these elements and use that to decrypt the map content.
It it's done by parts (first calculate hash, store it somewhere, then use that stored value to decrypt stuff), you know where this is going...
So in order to circumvent freeze protector, you should
- either fake all those elements (which I think is quite hard, since you'd need to use trigger to tamper these things and trigger is used for checksumming)
- or somehow extract the decryption key and jump trigger instruction point directly to the decryption routine.
Or just change the checksum to known value once it's calculated.
Try
I don't want angry korean map makers banging on my door at night, so no thanks.