Well, recently I had some time to dig deeper into the internals of OP2, and this is what I found. First, the screenshot:
I figured out how the report displays in the command pane worked, as well as the buttons on both the minimap / command pane.
With this knowledge I was able to create my own (functional) report display as you can see in the screenshot above.
And yes, the buttons work. You can see it in action:
http://hacker.outpostuniverse.net/report.dllLaunch the mission from the Run Script menu (Push 'D', click Run Script, select the mission).
Click the 'gear' icon (what is normally the Factories report). You'll get the report display as shown above. The 3 buttons do the following:
"Test Message" -- adds a simple message to the chat log.
"New Scout" -- creates a new scout at (32,32) on the map.
"No more free scouts" -- disables the New Scout button (Plymouth colony can only give you free scouts for a limited time, you know!
)
And of course you have running counts of TethysGame.tick (the current game cycle -- 1 mark = 100 ticks), and GameMap.numUnits (the number of units on the map).
I'm continuing to work on this stuff. My plan is to find out how the lists work (such as the chat log uses) as well as other widgets. (like the vehicle control icons).
My original motivation? I got bored one day and wanted to look into how commands are issued inside Outpost 2. I ended up by starting where mouse click events get processed and eventually I began to figure out how the minimap pane, command pane, buttons, and reports worked.
Also, part of it was to learn how to create a control interface for the recording system player DLL. (Speed up / slow down, switch player, etc).
My intent is to write a library (along with other useful functions for accessing / modifying game internals) with this stuff to allow people to use these in their missions. Already a couple of people have expressed interest (for example, a way to replace the Unit selector in Mcshay's CTF).
I'll continue to post updates and new screenshots / DLLs as I learn more about the reports.
-- op2hacker