BTW, I'm trying to debug GE right now, searching for some functions. Without any success for now (actually i do it second time without source, first was much easier :P). Too much multi-threading :P
edit:
Compiles without any special effort. The only thing i have done was updating include pathes.
Wow wow, assembler source :D I have no real experience with it. I know it is possible to run this code from C/C++ (or just make compatible dlls in it). So far i see it is outdated. :( "oh shi~ unsupported editor build"
edit:
Just seen grimoire source... mix of cpp, asm, lua, some pascal... wtf! I feel dumb :P Anyway, it is possible, and actually it is not THAT big application :P Phyngal is even smaller, and i think it is good entry point. So bad i don't really understand fasm...
Anyone know how to update address.asm (form phyngal) for latest editor?
I've made a short gui+galaxy system for generating floating terrain islands with cliffs.
This is just an example, how these things can be done.
Features
it works :P
can get constant random seed (always generates same terrain for same numbers)
have minimap support (via hidden creep)
How It Works
It shows and hides selected terrain cells, spawns and removes creep and creates cliff model actors in a clever way. Check this out: my fast prototyped script in php+gd.
Known Bugs
It still have some glitches with cliffs for some reason. Relatively rare, but noticeable issue.
First terrain generation lag as hell while laying creep. Fortunately it is acceptable before main gameplay.
I want, but i don't exactly know how to do it (for now, maybe later ;P just love learning it), and probably i would have no time for a year (last year of high school... you know).
You said modification detections. Maybe game files, but i think they just don't care about editor's memory during runtime. Maybe game, but editor? I don't believe it :P There always is any way to integrate into existing process. You can manipulate winapi handles or insert some data here and there. New trigger editor may be only an overlay (or new window, who cares), which just insert written code into map during save (and maybe compile/optimize it before). There is always a way ;)
Hi.
You guys made good work, so far we have some good editors, "galaxy extended" languages and many many other tools. But i feel like something is missing. While developing maps in wc3, we have all hacks together in original WE. Anyone ever tried to create Grimoire-like toolkit for SC2 (dll injection, maybe clever winapi usage), or maybe this actually exists (and i missed it)? It will be extremely useful for in-editor modifications. Just imagine data editor wizards for creating units, items... or galaxy++ / andromeda inside trigger editor (just like vJass). Another idea, there is no way to diff maps between versions. Simple unpack/pack map in editor next to git or mercurial... awesome :D
I'm actually php / javascript (experimenting with NodeJS too) programmer with some c++ experience, but no time :( thats why i just wrote it here without any work... forgive me and just discuss about this idea ;)
How to calculate a median of big array? I have int[1024] and need to get (or even approximate, it should do the work) median value.
Easiest approach is just to sort it and get [512], but... what about performance? I can't even imagine how to implement quicksort in galaxy :o can't pass array reference, can't initialize arrays of non-constant length... hope recursion is possible :P
I believe this isn't possible anyway. I just imagine possible DoS attacks in custom map's shaders... So, there is no way to recolor creep on minimap (without doing MPQ replacing mod). No one wants to be hacked ;)
PaintingEventsUnitSelection-AnyUnitisSelectedbyplayerAnyPlayerLocalVariablesConditions(Unittypeof(Triggeringunit))==CanvasActionsGeneral-Switch(Actions)dependingonselectedColor[(Triggeringplayer)]CasesGeneral-If("White")ActionsUnit-Set(Triggeringunit)teamcolorto(Player00)WhiteGeneral-If("Red")ActionsUnit-Set(Triggeringunit)teamcolorto(Player01)RedGeneral-If("Blue")ActionsUnit-Set(Triggeringunit)teamcolorto(Player02)BlueGeneral-If("Teal")ActionsUnit-Set(Triggeringunit)teamcolorto(Player03)TealGeneral-If("Purple")ActionsUnit-Set(Triggeringunit)teamcolorto(Player04)PurpleGeneral-If("Yellow")ActionsUnit-Set(Triggeringunit)teamcolorto(Player05)YellowGeneral-If("Orange")ActionsUnit-Set(Triggeringunit)teamcolorto(Player06)OrangeGeneral-If("Green")ActionsUnit-Set(Triggeringunit)teamcolorto(Player07)GreenGeneral-If("Light Pink")ActionsUnit-Set(Triggeringunit)teamcolorto(Player08)LightPinkGeneral-If("Violet")ActionsUnit-Set(Triggeringunit)teamcolorto(Player09)VioletGeneral-If("Light Grey")ActionsUnit-Set(Triggeringunit)teamcolorto(Player11)DarkGreenGeneral-If("Dark Green")ActionsUnit-Set(Triggeringunit)teamcolorto(Player11)DarkGreenGeneral-If("Brown")ActionsUnit-Set(Triggeringunit)teamcolorto(Player12)BrownGeneral-If("Light Green")ActionsUnit-Set(Triggeringunit)teamcolorto(Player13)LightGreenGeneral-If("Dark Grey")ActionsUnit-Set(Triggeringunit)teamcolorto(Player14)DarkGreyGeneral-If("Pink")ActionsUnit-Set(Triggeringunit)teamcolorto(Player15)PinkDefaultUI-Display"You need to select a color first!"for(Allplayers)toErrorarea
I really dont know too much about m3 now, so i cant tell you about limits. Anyway, it will be a lot lot better for game and graphic card to handle single texture. One single 512x512 or 1024x1024 will be just better (and i think it wont be harder to do). Only think you should do is set up some UV maps.
You can try create some quads with different texcoords (or different textures, but i think 1-file sprites are better) and alternately show and hide them while animation.
@BasharTeg: Go
I just did it in this map. It works much better, but it still isn't the goal.
@BasicGear: Go
I'm doing it in separate trigger, not while loading (map initialization). I don't receive errors all the time, so this is even more strange :P
Hi guys!
I was trying to change creep's minimap color. In ANY way. So... i found it in a shader. :) I know some about shaders (as i created some in GLSL), so i can tell i know what i am trying to do.
Question is, how to override this shader (especially Base.SC2Data/Shaders/MinimapTerrain.fx ) to get it work in my map? Tried to just import it in this location, but it just doesn't work... (just wondering if it is ever used or maybe precompiled somewhere else)
Anyone ever tried to do something similar or maybe want to try? :)
I will love you forever <3 if you help me :D
Btw: it seems there is no other way to change creep color. It IS hardcoded...
edit: yep, shaders are compiled :) but don't really know when. It works when i replaced it in game's MPQ (Base.SC2Data)
0
I can try to compile it.
BTW, I'm trying to debug GE right now, searching for some functions. Without any success for now (actually i do it second time without source, first was much easier :P). Too much multi-threading :P
edit:
Compiles without any special effort. The only thing i have done was updating include pathes.
0
Wow wow, assembler source :D I have no real experience with it. I know it is possible to run this code from C/C
++
(or just make compatible dlls in it). So far i see it is outdated. :( "oh shi~ unsupported editor build"edit:
Just seen grimoire source... mix of cpp, asm, lua, some pascal... wtf! I feel dumb :P Anyway, it is possible, and actually it is not THAT big application :P Phyngal is even smaller, and i think it is good entry point. So bad i don't really understand fasm...
Anyone know how to update address.asm (form phyngal) for latest editor?
0
Hi!
I made it! :D
Random terrain generator
I've made a short gui+galaxy system for generating floating terrain islands with cliffs. This is just an example, how these things can be done.
Features
How It Works
It shows and hides selected terrain cells, spawns and removes creep and creates cliff model actors in a clever way. Check this out: my fast prototyped script in php+gd.
Known Bugs
Screens
Sorry about no video, but for some reasons i can't record it in any way :o
Map
In game type "gen" for random map, or "gen X" for constant seed map, where X is any integer.
0
anyway, i think it is good to know how it works.
(not sure about const syntax, but i think you get it)
is really 10*15=150 integers. So we can define
and use it like that:
good to know, because we can store many more data structures in flat arrays (like heaps, bt-trees, kd-trees...) using simple arithmetics.
0
I want, but i don't exactly know how to do it (for now, maybe later ;P just love learning it), and probably i would have no time for a year (last year of high school... you know).
You said modification detections. Maybe game files, but i think they just don't care about editor's memory during runtime. Maybe game, but editor? I don't believe it :P There always is any way to integrate into existing process. You can manipulate winapi handles or insert some data here and there. New trigger editor may be only an overlay (or new window, who cares), which just insert written code into map during save (and maybe compile/optimize it before). There is always a way ;)
0
Hi.
You guys made good work, so far we have some good editors, "galaxy extended" languages and many many other tools. But i feel like something is missing. While developing maps in wc3, we have all hacks together in original WE. Anyone ever tried to create Grimoire-like toolkit for SC2 (dll injection, maybe clever winapi usage), or maybe this actually exists (and i missed it)? It will be extremely useful for in-editor modifications. Just imagine data editor wizards for creating units, items... or galaxy
++
/ andromeda inside trigger editor (just like vJass). Another idea, there is no way to diff maps between versions. Simple unpack/pack map in editor next to git or mercurial... awesome :DI'm actually php / javascript (experimenting with NodeJS too) programmer with some c
++
experience, but no time :( thats why i just wrote it here without any work... forgive me and just discuss about this idea ;)0
after small cleanup, my algorithm no longer even need this :) Anyway, quicksort from templates is complete and working? Looks weird...
0
How to calculate a median of big array? I have int[1024] and need to get (or even approximate, it should do the work) median value. Easiest approach is just to sort it and get [512], but... what about performance? I can't even imagine how to implement quicksort in galaxy :o can't pass array reference, can't initialize arrays of non-constant length... hope recursion is possible :P
0
I believe this isn't possible anyway. I just imagine possible DoS attacks in custom map's shaders... So, there is no way to recolor creep on minimap (without doing MPQ replacing mod). No one wants to be hacked ;)
0
@Pshyched: Go
did you ever hear about switch .. case? :P
0
I really dont know too much about m3 now, so i cant tell you about limits. Anyway, it will be a lot lot better for game and graphic card to handle single texture. One single 512x512 or 1024x1024 will be just better (and i think it wont be harder to do). Only think you should do is set up some UV maps.
0
You can try create some quads with different texcoords (or different textures, but i think 1-file sprites are better) and alternately show and hide them while animation.
0
Don't works :(
0
@BasharTeg: Go I just did it in this map. It works much better, but it still isn't the goal.
@BasicGear: Go I'm doing it in separate trigger, not while loading (map initialization). I don't receive errors all the time, so this is even more strange :P
0
Hi guys!
I was trying to change creep's minimap color. In ANY way. So... i found it in a shader. :) I know some about shaders (as i created some in GLSL), so i can tell i know what i am trying to do.
Question is, how to override this shader (especially Base.SC2Data/Shaders/MinimapTerrain.fx ) to get it work in my map? Tried to just import it in this location, but it just doesn't work... (just wondering if it is ever used or maybe precompiled somewhere else)
Anyone ever tried to do something similar or maybe want to try? :)
I will love you forever <3 if you help me :D
Btw: it seems there is no other way to change creep color. It IS hardcoded...
edit: yep, shaders are compiled :) but don't really know when. It works when i replaced it in game's MPQ (Base.SC2Data)