I just wanted to create a wishlist related to the in game interface and dll capabilities. I am relatively new around here but it seems previous wishlists mostly involve issues around flight mechanics and missions plus I havn't read much before about the customisation of the gui or menu system.
Dynamic menus - ability to add mission specific commands to units. Or be able to get info about the unit group selection in the dll combined with some form of keyboard event handling. Clearly there is a number of ways this could work to ultimately provide the ability to handle commands in the dll with respect to a dynamically made unit selections and ofcoarse the ability to somehow invoke those commands from ingame. This would make the game hugely more interesting in terms of the tactical stuff possible in mods.
Minimap bitmap access. It could be very cool if it was possible to access the bitmap resource used for the minimap so it could be custom drawn in the dll. There would be loads of possible uses i.e.
thermal imaging,
electromagnetic,
effect of radar jammers,
dropship zones,
alien infestations,
other intelligence stats about the enemy - not enough intelligence in bz,,,
I have not experimented with the custom interface capabilities i.e. for building panels or pop up dialogs. Again, it would be very cool if it was possible to display a bitmap resource that can be modified in the dll with basic win32 gdi or whatever. Ultimatly mouse event handling within the displayed bitmap would provide for some great stuff for my mod and probably many other peoples.
Simple commands clearly just require selecting a unit and issuing the command i.e. hold or power down, eject, return to base, hold fire, fire at will, etc.
Obviously it would also be very cool if more complex commands were possible which required secondary unit / structure / location arguments for stuff like avoid, repressing fire, patrol, lure, weapon selection, hunt for unit type, hunt for structure type, selecting attack style, selecting hull level before returning to base,, the list of cool possible commands goes on.
So much cool stuff, I just wanted to make sure you know atleast I myself am hedging for these capabilities. I dont play multi-player and personally dont care for stuff like preventing hacking or fixing the 'easy win' problems which unfortunatly seem to drag the devs away from adding cool new gameplay capabilities but I guess is the major concern for most.
Anyway thats my say :)
Ed.
Won't happen.
-- GSH
GSH says it, so might as well just ask a question instead.
GSH, or whoever knows about dlls, is it possible to make terrain deformations happen Edit: with dll files (I kno I have a "terrain fetish"?
The things a DLL may do are listed in the ScriptUtils.h file distributed w/ the 1.2 & 1.3 MP DLL source releases. I suggest you read it. You'll have to be a programmer to use them, either in C++ form or the DLL Scriptor form. If you're not a programmer, then become one or bribe one.
-- GSH
There is a way to deform the therrain, but only in build square type sizes, I have not seen any adverse effects from this beside AI dodging a mountain that no longer exists... Would it be possible to split this please?
Quote from: OvermindDL1There is a way to deform the therrain, but only in build square type sizes, I have not seen any adverse effects from this beside AI dodging a mountain that no longer exists... Would it be possible to split this please?
build square? u mean only doable by building and erasing a structure that owns terrain?
The Special Ops MOD (which was cancelled) had 'a terraforming constructor', i think it has something to do with a terrain forming object being build then erasing itself.
I just talked to NoK and he says it was done with the help of a custom DLL. Damn shame.
Similier, let me leave it at that at the moment. Mabye someday I will finish that dll I was experimenting with for terraforming terrain.
Right ZA, but as OM said earlier, it can only be used to teraform build squares to a different height. Its unfrotunate that BZ2 can't support it, but free moving terrain is killed with the locked build squares.
Why couldn't develpoers just take the ability to move terrain freely from bz1 and make off that, why does that have to be taken out? Broken buildings and multiplayer problems? Solutions:
Diffrent building bases (IE: like in bz1).
Don't use/place thumper in multiplayer.
TOO- the graphics engine is completely different from BZ1 to BZ2. What you want is (1) not possible, (2) of so limited payoff that it's not worth working on.
Give it up, now. You'll save yourself a lot of trouble. Anything that sounds like "write my mod" will get roundfiled.
-- GSH
After spending some time learning the dll and interface capabilities I have re-written this with hopefully ideas that Nathan or others will appreciate. I am currently working full time on my mod and really hope that maybe in the final 1.3 patch some of these things might be available - I also mention stuff that previously people said was not possible but actually turned out to be very possible :)
Custom commands. So far I have found its possible to:
Add custom keyboard commands that are handled in dll.
Custom handle the Hunt command (could not get rescue to work).
So pretty much anything is possible which is fantastic.
Bitmap drawing. Its possible to display your own bitmaps within the interface. I wonder if there is a way to get BZ to reload an image file - then you could re-write the file in dll - good for stuff like special sky-eye view if it didn;t update much. This is not important to my mod but I figured others would want it a lot.
Modified HUD So far I have successfullly got custom commbunkers that allow deploying dropships, custom popup dialogs controled via keyboard that enable extended squad and base commands. In some cases I have managed to be able to specify arguments to commands through using the beacon placed in the commbunker aswell as just examining objects current commands and selected state.
The only problems I have encountered with the dll are:
No ability to determine the current group of a handle. Could this not be added as a capability of isOdf() ?
No ability to convert an AiPath into a named path which makes it impossible to dynamically setup AiPaths for issueing commands to units except for cases when you can build some object at the AiPath point and use the object handle in the command. In the dll the AIPath class and PathType enum are left completely undefined yet one of the comments indicates a member of AiPath,,
AiPath::Find(,,,,);
and another indicates the LOOP_PATH enum. For my mod I am having to programatically set the paths in the bzn file because I cannot set the paths from the dll. This incurs load time hits also due to having an ascii bzn.
Last thing is that AddObject and DeleteObject are not always called, i.e. if scavenger buildings are on a map when it loads AddObject is not called. The is no call to DeleteObject when a power building is destroyed. Tracking active objects in game is thus a little tricky requiring some brute tests on some things to see if the handles are no longer valid.
Ed.
Yes, that AI Class would be nice to actually have useable, at the moment the header only contains information for the class, not actually the functions inside it, so it is a bit useless as nothing really calls or uses it.
I have also noticed that on spawn/delete object...
Perhaps it was enough that the class exists, maybe needed just for reference?
Or some obsolete functionality, who knows...
With the terraforming, there is a bit more details then released apart from just what was mentioned above, but I want to keep hold of that info just for now.
The big problem with the my method of terraforming, was that you couldn't use it in MP because, if someone entered the game, The resync would reset the terrain. It could be used if you locked the game after everyone entered (not acceptable to me...), or just use it for Single Player, like I am.
would it reset in multiworld if you would force ai.calcliff for each new player? this might slow things down when a player joins but might also ger rid of the reset?