104 Commits

Author SHA1 Message Date
UnknownShadow200
9dead7961b GUI: Darken very bright colours and slightly lighten very dark colours in main log window 2023-11-30 23:27:30 +11:00
UnknownShadow200
ada403cb0f Fix ECL license linking to non-existent page (Thanks TomCube2) 2023-07-06 21:22:09 +10:00
UnknownShadow200
1d82be4654 Fix can't connect to on Windows 98 2023-02-01 22:02:09 +11:00
UnknownShadow200
00ab040388 GUI: Initial status message shouldn't be hardcoded to 'finding classicube.net URL..' (Thanks aleksb385) 2022-12-25 23:46:01 +11:00
UnknownShadow200
f2ce59e19d Restore original software name in rest of copyright headers 2022-12-24 21:21:35 +11:00
UnknownShadow200
ae7886e6fb GUI: Change Undo input in Players tab to timespan input instead of text input 2022-10-11 22:33:43 +11:00
UnknownShadow200
c587387491 GUI: Fix unmute and freeze actions in Players tab not working 2022-10-02 21:22:53 +11:00
UnknownShadow200
66076c1e99 Grayscale Rainbow brush now supports random mode 2022-09-17 23:01:35 +10:00
UnknownShadow200
efc183cb38 Fix previous commit resulting in being unable to open logs in GUI 2022-09-16 23:11:11 +10:00
UnknownShadow200
cfd98807d7 GUI: Avoid duplicate entries in input log, to simplify navigation through input history 2022-09-05 08:24:48 +10:00
UnknownShadow200
36ba055f4d Fix when dotnet MCGalaxy build is started through dotnet process (e.g. 'dotnet MCGalaxyCLI_core.dll'), that /restart would fail to work
Also fix exporting BLOB values via /server backup table, would generate invalid SQL that could not be subsequently imported again with /server import table
2022-08-13 22:07:35 +10:00
UnknownShadow200
88c5c1dac3 Linux: Fix rare case where GUI would crash at startup (mostly when using standalone builds compiled with mkbundle)
This happened due to two factors:

1) the standalone build would show a message box warning because it couldn't change the current/working directory
2) the gui schedules InitServerTask to run on the background thread. This in turn will eventually call Server.Start on the background thread, which in turn will call Logger.Log(..) which in turn calls back to Window.LogMessage

Note that the UI can only be updated from the main/UI thread. Normally this wouldn't cause any issues, because LogMessage checked whether 'InvokeRequired' returned true or not - if it did, then LogMessage scheduled the message to be logged later on the main/UI thread by using BeginInvoke.

However, it was rarely possible that due to thread scheduling, the call to LogMessage from the background thread would be run *before* the main window control handle had finished being created.
And unexpectedly, 'InvokeRequired' would return *false* if the main window handle hadn't been created yet - and hence the background thread would attempt to directly update UI controls with catastrophic consequences. Sometimes this worked, but other times it would cause the app to SIGABRT and crash in X11 somewhere, usually in X11Keyboard:XCreateFontSet

So to workaround this I made the following changes:
1) failing to set working/current directory doesn't show a warning message box popup anymore
2) LogMessage doesn't check 'InvokeRequired' anymore and just always calls BeginInvoke to schedule the message logging on the main/UI thread

So in the most of the rare cases when this issue even happened, it shouldn't occur anymore now. However, the underlying issue still isn't completely solved.. if you change the code to show a message box before the main window, you'll still rarely end up with the main window being a black box with X11
2022-06-06 23:11:24 +10:00
UnknownShadow200
7952de48d3 Auto unloading of levels by game round ending and moving to a different level shouldn't still message operators saying the level was unloaded
Also fix GUI enabled/disabled logging options being wrongly controlled by 'file logging' instead of 'console logging' server option
2022-05-24 22:48:23 +10:00
UnknownShadow200
f1b27e4244 GUI: Fix changing rank not immediately updating players table in main GUI
Previously the Rank column would remain out of date until a player joined/left/went to a level
2022-03-26 23:26:44 +11:00
UnknownShadow200
867cb63bc0 WIP on separate console rank 2022-03-23 21:37:27 +11:00
UnknownShadow200
16bb834a9a Fix last commit whoops 2022-03-06 10:10:50 +11:00
UnknownShadow200
984301ada0 Embed and load GUI icon from source code directly instead of through Window.resx
Avoids a 'Couldn't process file Window\Window.resx due to its being in the Internet or Restricted zone or having the mark of the web on the file. Remove the mark of the web if you want to process these files' error that happens for some people when trying to compile the GUI
2022-03-06 09:47:26 +11:00
UnknownShadow200
3cb816a602 GUI: In players gui, 'do command' automatically strips leading / if it is provided (e.g. /cmd -> cmd)
This makes it more consistent with regular console command input

Also improve /vote messaging (thanks Goodly and Panda)
2022-02-22 23:29:48 +11:00
UnknownShadow200
f211335d37 GUI: In Players tab, change 'Send Message' message to behave as a direct/private message
Previously it just simply sent a '<CONSOLE>: [message]' message to the player
2022-02-19 12:39:00 +11:00
UnknownShadow200
dacfa31127 GUI: Hiding from taskbar is disabled by default now, but can be toggled on/off through option in the notify/systray menu 2022-02-03 18:25:59 +11:00
UnknownShadow200
23b8befc0d GUI: Trying to perform player action instead when no player selected shows warning dialog box now instead of adding line to status log 2021-12-05 09:49:10 +11:00
UnknownShadow200
b2d35b06db GUI: WIP on custom update available dialog to address #662 2021-11-12 23:12:54 +11:00
UnknownShadow200
ada34d4c32 GUI: Fix icon not showing in popup dialogs on Mono
This took a long time to figure out because
1) for testing purposes I set Icon before the window handle had been created
2) When the window handle was later created, mono would not actually apply the custom icon since the border style is FixedDialog (see CreateHandle in Form.cs)
3) I later set Icon again in multiple other places. However, this was essentially a noop because Mono checked if the new icon was the same as the same previously assigned icon and do nothing in that case.
However, the assumption in step 3) was incorrect because the previously assigned icon had not actually been applied to the window.
Unfortunately this meant the correct Icon never showed at all. So the correct solution to this is to only assign Icon once in the Load event of forms.

I spent way too much time on this
2021-11-11 22:31:59 +11:00
UnknownShadow200
8ee32ba780 Get rid of obsolete warning when compiling GUI, partially fix scale 1/2 not working 2021-11-10 20:37:14 +11:00
UnknownShadow200
1280f09f7a Also fix general logs calendar days being almost invisible in dark theme 2021-11-09 22:22:42 +11:00
UnknownShadow200
5b774651e3 GUI: Fix listboxes having almost invisible text color for unselected items on Gnome DE with dark theme (Thanks TehcJS, addresses #651)
Testcase: Ubuntu 20.04 with Adwaita-dark or Yaru-dark themes
2021-11-09 21:42:30 +11:00
UnknownShadow200
35878c8532 Add Formatter.ValidPlayerName method which takes into account the suffixes defined by the authentication services
Also fix in GUI the right click player in players table -> Kick showing 'kicked by console' twice in kick message
2021-11-03 21:39:22 +11:00
UnknownShadow200
d650dc11eb GUI: Fix right clicking a level in Levels table -> Actions -> Reload not working 2021-11-03 21:24:07 +11:00
UnknownShadow200
4670fa679a Remove MCG from thread names 2021-07-18 09:11:03 +10:00
UnknownShadow200
8782511f57 Support compiling multiple files into one DLL 2021-07-08 20:00:38 +10:00
UnknownShadow200
d6e8ec16e9 Fix settings GUI icon showing default form icon on mono/wine 2021-07-04 20:45:37 +10:00
UnknownShadow200
877501abc0 Catch InvalidOperationException thrown from BeginInvoke in Window log method
This exception gets thrown when trying to invoke a method after the window has already been destroyed. This can rarely happen when trying to log messages at end of server shutdown after the window has been destroyed
2021-07-04 18:55:13 +10:00
UnknownShadow200
325006d41e Dicord: Fix still logging full error to error log on mono 2021-06-26 11:09:14 +10:00
UnknownShadow200
fdf53795b4 if GUI version differs from DLL version, show a warning message box (Thanks capitjeff21) 2021-06-10 22:41:47 +10:00
UnknownShadow200
e9921f8cda Include exception message when logging errors to console/GUI 2021-05-29 22:45:43 +10:00
UnknownShadow200
ca854b8313 Colour error/warning messages in CLI/GUI log 2021-05-29 14:47:12 +10:00
UnknownShadow200
12c5fb6b6f /seen outputs yyyy-mm-dd for consistency with /i instead now 2021-04-24 16:37:00 +10:00
UnknownShadow200
00ed83e78f GUI: Don't crash if unable to open logfile in General Logs tab 2021-04-24 09:15:50 +10:00
UnknownShadow200
0eeff1ff9b irc controllers should default to superop not nobody permission level 2021-02-27 09:28:57 +11:00
UnknownShadow200
b6a618908e GUI: Fix Icon not showing on wine/mono 2021-01-20 22:34:14 +11:00
UnknownShadow200
228516779f GUI: Try to fix problems with minimising on some versions on wine (Thanks TheAwesome98) 2021-01-20 21:21:14 +11:00
UnknownShadow200
65a05f81e8 GUI: Fix having grey instead of white background for input controls on mono 2021-01-17 22:22:45 +11:00
UnknownShadow200
e7aed05823 GUI: Fix players table not updating on changing map, fix levels table not updating when player leaves server 2021-01-17 20:14:06 +11:00
UnknownShadow200
9a37ec1f95 GUI: Fix right click on players/levels table being broken 2021-01-17 19:58:22 +11:00
UnknownShadow200
bc5a0be1a7 GUI: Change Players table code to add rows directly 2021-01-17 19:47:53 +11:00
UnknownShadow200
0b7d975784 GUI: Make levels list fit horizontally, instead of showing an unnecessary horizontal scrollbar 2021-01-17 19:14:57 +11:00
UnknownShadow200
32f75c4c1a GUI: If you double click url, it opens web browser instead of just selecting all 2021-01-17 18:10:50 +11:00
UnknownShadow200
24bf5cc49f GUI: Replace 'slap player' with 'freeze player', change names of mute/freeze buttons depending on whether player is muted/frozen 2021-01-17 16:28:42 +11:00
UnknownShadow200
d14b07beef GUI: Improve Players tab again by not showing + in names, also explicitly mention player name in actions log 2021-01-16 01:33:19 +11:00
UnknownShadow200
c19c682f0a GUI: Improve Players tab by showing 'Online players' label above list box, change 'Spawn' action for 'Mute' action instead 2021-01-16 01:27:16 +11:00