Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - GumChewer

Pages: [1] 2 3
1
OXCE Suggestions NEW / Re: [QoL] "Equipped" sort option for the HQ buy menu
« on: November 16, 2024, 06:37:55 pm »
+1 for such a feature. Thanks.

What about another category for items equipped by any soldier?
I do not need it. But maybe it is relevant for mods with a lot of base defenses and thus a lot of soldiers not assigned to crafts?

2
That's a good idea, maybe you could have multiple options depending on what the player wants such as:

1. A toggle to disable all intercept popups entirely.
2. An option to disable intercept popups if your craft is attacking a target.
3. An option to disable intercept popups if the enemy craft is slower than yours (in which case it will never intercept successfully unless your craft is grounded)

I upvote all of them, especially #2. Thanks.

3
Programming / SDL2 branch status?
« on: August 14, 2024, 03:34:55 pm »
I wonder what the fate of the SDL2 branch is?
SDL1 is real crap on my machine.

I updated and compiled the SDL2 branch some time ago, but I had some graphics problems, at least with hardware acceleration.
For fixing them, stuff like "DrawLine" would be needed to be implemented for the GPU shader.
At least as far as I remember.

Any more information? Thanks!

4
I made myself a program to automatize the conversion from full-color images to custom palette images, for use in the cutscenes and Ufopaedia.
It can also replace text-only Ufopaedia articles with text+images articles with the proper (custom palette) background.
Resizing the images, if necessary, is included.
Cropping is done semi-automatically because there is the one time need for defining how to crop the individual images (top vs. bottom, etc).
It can also output a submod, which overrides the ruleset.

Because the bad color representation of many images kill my fun/immersion each time, I'd like to ask if you would share the full color versions of the images used in TGWotW (and Unexcom?).

The only drawback is, that I'm still busy. It might take some time.

An example of a cutscene image that was full-color in the mod at some time.

5
I made myself a program to automatize the conversion from full-color images to custom palette images, for use in the cutscenes and Ufopaedia.
It can also replace text-only Ufopaedia articles with text+images articles with the proper (custom palette) background.
Resizing the images, if necessary, is included.
Cropping is done semi-automatically because there is the one time need for defining how to crop the individual images (top vs. bottom, etc).
It can also output a submod, which overrides the ruleset.

Because the bad color representation of many images kill my fun/immersion each time, I'd like to ask if you would share the full color versions of the images used in TGWotW (and Unexcom?).

The only drawback is, that I'm still busy. It might take some time.

6
Tools / Re: Globe Editor
« on: August 14, 2024, 03:04:12 pm »
First, thanks for writing the tool!

Second, I'd like to request some features. Cause I'd love to ease the editing by them.
I looked at the code, but I have strictly zero experience with Visual Basic and even less with GUIs in Visual Basic. Implementing them myself is a no-go.

Polylines
  • Selecting multiple vertices at once and delete all of them at once on pressing delete (by left-click and drawing a rectangle.?)
  • Scrolling by right mouse button and dragging
  • Selecting two end-vertices of two polylines and joining the two polylines together
  • Load/Save, display and edit a comment for each polyline (this will ease editing if both the editor and direct editing the yaml-file is used)

General
  • Loading world.dat (The code of OXCE is in RuleGlobe.cpp - RuleGlobe::loadDat)
  • Undo feature (even one-step would help a lot)

7
IDT Modding Hub / Re: Bug report
« on: August 14, 2024, 02:53:08 pm »
The José avatar and Commonwealth service dress armor combination doesn't mix quite well, it causes this funky yellowout. Changing the avatar or the armor resolves the glitch. My OXCE version is 7.12.

I already submitted a fix for the images with wrong palettes/image. See quote below.
Either the IDT is busy with real life or they have not really noticed it.
Please contact them on Discord if you have an account there.

I have no format which is instantly applicable anymore. But you can grab the images from my github repository, or just the whole mod. If you cannot do this, I might take the additional work to make a submod or drop-in zip or similiar.
Feedback to the fix would help anyway.


But meanwhile, I made new pull request to fix the images and some (most? all?) yaml syntax errors.

8
Tools / Re: MAPVIEW upgrade
« on: March 02, 2024, 06:11:40 pm »
The mousewheel issue likely has to do with Forms/MainView/MainViewF (near the top). I don't have Mono and I'm not absolutely positive about the __MonoCS__ flag. This bit of code (and associated stuff perhaps) allows windows to capture the mousewheel even if a control is not currently focused. Did you build against mono yourself, because if you're relying on a build against .NET well ... this is the kind of stuff that would throw ... or so it seems to me

Code: [Select]
#if !__MonoCS__
#region P/Invoke declarations
[DllImport("user32.dll")]
static extern IntPtr WindowFromPoint(Point pt);

[DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
#endregion P/Invoke declarations

#region IMessageFilter
/// <summary>
/// Sends mousewheel messages to the control that the mouse-cursor is
/// hovering over.
/// </summary>
/// <param name="m">the message</param>
/// <returns>true if a mousewheel message was handled successfully</returns>
/// <remarks>https://stackoverflow.com/questions/4769854/windows-forms-capturing-mousewheel#4769961</remarks>
public bool PreFilterMessage(ref Message m)
{
if (m.Msg == 0x20a)
{
// WM_MOUSEWHEEL - find the control at screen position m.LParam
var pos = new Point(m.LParam.ToInt32());

IntPtr hWnd = WindowFromPoint(pos);
if (hWnd != IntPtr.Zero && hWnd != m.HWnd && Control.FromHandle(hWnd) != null)
{
SendMessage(hWnd, m.Msg, m.WParam, m.LParam);
return true;
}
}
return false;
}
#endregion IMessageFilter
#endif
__MonoCS__ is no longer defined, by the default compiler, since Mono version 5.
Even if, as you already noted, compiler and runtime might differ.

I have opened a pull-request which checks for Mono at runtime. If, it does not activate the mouse wheel filtering and prints a message to the console.

This needs reconsidering if ever WindowFromPoint, and maybe sendMessage, gets to works with Mono.
It would be safer to runtime-check if that function exists or implement the mouse wheeling differently.
But that is totally out of my league/time at the moment.

It should work flawlessly on Windows / .Net, but I cannot test that.

Anyway, have a nice weekend!

9
Tools / Re: MAPVIEW upgrade
« on: March 02, 2024, 06:08:24 pm »
sorry i don't warantee Mono, but if you find a solution ...

Thanks for the fast answer and sorry for forgetting about the warranty!

10
Tools / Re: MAPVIEW upgrade
« on: March 02, 2024, 12:27:36 pm »
And ...  ;D ... it also crashes when I use the mouse wheel.

Code: [Select]
Unhandled Exception:
System.EntryPointNotFoundException: WindowFromPoint assembly:<unknown assembly> type:<unknown type> member:(null)
  at (wrapper managed-to-native) MapView.MainViewF.WindowFromPoint(System.Drawing.Point)
  at MapView.MainViewF.PreFilterMessage (System.Windows.Forms.Message& m) [0x00020] in <0a0656103b894489b35d71dc5339306a>:0
  at System.Windows.Forms.Application.FilterMessage (System.Windows.Forms.Message& message) [0x0001f] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.Application.RunLoop (System.Boolean Modal, System.Windows.Forms.ApplicationContext context) [0x000e9] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext context) [0x00011] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.Application.Run (System.Windows.Forms.Form mainForm) [0x00006] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at MapView.Start.Start_init () [0x00021] in <0a0656103b894489b35d71dc5339306a>:0
  at MapView.Program.Main (System.String[] args) [0x00033] in <0a0656103b894489b35d71dc5339306a>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.EntryPointNotFoundException: WindowFromPoint assembly:<unknown assembly> type:<unknown type> member:(null)
  at (wrapper managed-to-native) MapView.MainViewF.WindowFromPoint(System.Drawing.Point)
  at MapView.MainViewF.PreFilterMessage (System.Windows.Forms.Message& m) [0x00020] in <0a0656103b894489b35d71dc5339306a>:0
  at System.Windows.Forms.Application.FilterMessage (System.Windows.Forms.Message& message) [0x0001f] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.Application.RunLoop (System.Boolean Modal, System.Windows.Forms.ApplicationContext context) [0x000e9] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext context) [0x00011] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.Application.Run (System.Windows.Forms.Form mainForm) [0x00006] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at MapView.Start.Start_init () [0x00021] in <0a0656103b894489b35d71dc5339306a>:0
  at MapView.Program.Main (System.String[] args) [0x00033] in <0a0656103b894489b35d71dc5339306a>:0

11
Tools / Re: MAPVIEW upgrade
« on: March 02, 2024, 12:25:14 pm »
MapView cannot open the options menu for me, on Linux/Mono6/libgdiplus.
Stacktrace attached, but the error seems to be too complicated for me.
It works without the options window too, but I'd love if you find the time to have a look (Sorry for the work...).

Code: [Select]
System.NullReferenceException: Object reference not set to an instance of an object
  at MapView.OptionsF..ctor (System.Object o, MapView.Options options, MapView.OptionableType oType) [0x0006d] in <0a0656103b894489b35d71dc5339306a>:0
  at (wrapper remoting-invoke-with-check) MapView.OptionsF..ctor(object,MapView.Options,MapView.OptionableType)
  at MapView.MainViewF.OnOptionsClick (System.Object sender, System.EventArgs e) [0x00063] in <0a0656103b894489b35d71dc5339306a>:0
  at System.Windows.Forms.MenuItem.OnClick (System.EventArgs e) [0x00019] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.MenuItem.PerformClick () [0x00000] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.MenuItem.PerformClick()
  at System.Windows.Forms.MenuTracker.OnMouseUp (System.Windows.Forms.MouseEventArgs args) [0x000bf] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.Control.ProcessActiveTracker (System.Windows.Forms.Message& m) [0x00091] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.Control.WmLButtonUp (System.Windows.Forms.Message& m) [0x00015] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x001b4] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.ContainerControl.WndProc (System.Windows.Forms.Message& m) [0x00027] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.Form.WndProc (System.Windows.Forms.Message& m) [0x00166] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x0000b] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
  at System.Windows.Forms.NativeWindow.WndProc (System.IntPtr hWnd, System.Windows.Forms.Msg msg, System.IntPtr wParam, System.IntPtr lParam) [0x00085] in <b2f5ba339bd244a2a072fe9fd5539e2f>:0
#

12
If you want, go ahead. Personally i'm not totally interested in tweaking the base terrain (it was a pain to rework it on the surface to begin with hahaha).

That is undoubtedly true and the reason I never considered to make a surface base myself.
Luckily, someone else did all the work  ;)

13
Howdy,

Sorry and Thanks, I have not managed to look into discord yet. But I will not complain about response time so long!

But meanwhile, I made new pull request to fix the images and some (most? all?) yaml syntax errors.

Have a good day/weekend!

14
But for a hypothetical direct defense, our craft entering the interception phase upon reaching the enemy base is more sensible from the end-user's perspective, but probably a whole lot of pain to actually implement.

EDIT: Thinking about it, can the base be "escorted" by what is basically an immobile "UFO", similar to how UFOs are forced to engage with our escorting interceptors first (when properly ordered) when we send our planes in a group?

TGWotW from the IDT does something similar by using stationary ufos as Alien Bases.
The drawback is that these are ufos and treated as such by the code:
- In the GUI / interface
- They cannot grow/shrink, start ufos for defense, spawn missions etc. (as real bases can).

This feature could also be expanded such that "shooting down" the alien base in the interception phase suppresses the need for interception for some (in-game) time, or maybe until the base growths.
That would simulates the air defenses of the alien base first being destroyed by X-Com and then being rebuild over time by the aliens.

The most flexible/cool would be to treat bases and ufos the same at the code (Roland Emmerichs Independence Day).

Anyway, something like that would be cool!

15
Brutal AI / Re: Autoplay
« on: January 29, 2024, 08:31:37 pm »
In the "c"-menu during the Battlescape it also shows units that have already died. Could you make it so they no longer appear in the list? Could use the BattleUnit::isOut()-function for that.
A little late, you already merged the request, but
so much for my extensive testing.
Also thanks for the credits in the releases of github!

Pages: [1] 2 3