2017-09-24 21:44 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000094Cheat Enginepublic2009-02-06 21:26
ReporterCsimbi 
Assigned To 
PrioritynormalSeverityfeatureReproducibilityalways
StatusacknowledgedResolutionopen 
Summary0000094: CE 5.5 Window position/size is not saved
DescriptionWhen you are checking what addresses are changed by a certain piece of code, the 'Changed addresses' window appears.
The problem with this window is that the window position/size is not saved, and on top of that, it is always moved away (and behind the main CE Window) after I ALT+TAB back to CE.
There might be other windows as well, I will report these here later when I encounter them.
Thanks for fixing.
Additional InformationPlease ask if you need any.
TagsNo tags attached.
Attached Files

-Relationships
+Relationships

-Notes

~0000202

442a (reporter)

um alt tabbing is so last year use dxwnd it makes the game windowed mode..
like go to google and type in dxwnd download and run of the program get instructions from utube how to use it

~0000203

Csimbi (reporter)

Last edited: 2009-02-01 02:23

I wrote:
>it is always moved away (and behind the main CE Window)
It appears that it's not moving; it just feels like that since the window position is not saved.
But, it goes behind the CE window - this is not good because it is not straightforward to bring it forward - I have to click the title bar, or, the CE window first and then inside the 'Changed addresses' window.

@442a:
You mean:
http://forum.cheatengine.org/viewtopic.php?p=605056
right?
Is 1.21A the latest?

@442a:
tried DXWnd 1.21A.
It seems I can't use it - the game just can't handle the mouse anymore (it's jumping around when I move the pointer above the game screen). Tried the DInput and the correct mouse settings too, but it did not help.
So, it's a no-go for me it seems.

~0000205

Csimbi (reporter)

Last edited: 2009-02-01 21:53

Here are two other windows that do not save their size/position.
 - The access/write code finder windows, "The following opcodes accessed the selected address" and "The following opcodes changed the selected address".
 - The "Extra info" window - this is the one that comes up when you click the "More information" button (or select "More info" from the context menu").
Thanks for fixing.

~0000207

Dark Byte (developer)

Only mainform ,the memory view and the assembler screen in conjunction with a cheat table edit save their location

~0000209

Csimbi (reporter)

Do you mean that it's the way it's intended and it's not an error?
(Should I make a feature request then?)
Thank you.

~0000220

Csimbi (reporter)

Last edited: 2009-02-05 12:38

How about this:
1. Create a class call TWinPosSaver (or something like that), here is a sample pseudo-code:
class TWinPosSaver
{
public:
 TWinPosSaver();
 ~TWinPosSaver();
 Save(object);
 Load(object);
private:
 DoSave(object);
 DoLoad(object);
}
TWinPosSaver::TWinPosSaver()
{
}

TWinPosSaver::~TWinPosSaver()
{
}

TWinPosSaver::Save(object)
{
 if(object&&get_flag_from_config_file()) DoSave(object);
}

TWinPosSaver::DoSave(object)
{
 save_to_config(object, object.pos, object.size);
}

TWinPosSaver::Load(object)
{
 if(object && get_flag_from_config_file()) DoLoad(object);
}

TWinPosSaver::DoLoad(object)
{
 coordinate pos, size;
 if(load_from_config(object, pos, size))
 {
   object.pos=pos;
   object.size=size;
 }
}

2. For each window, put this to the OnCreate event:
WinPosSaver=new TWinPosSaver;
if(WinPosSaver) WinPosSaver->Load();

3. For each window, put this to the OnDestroy event:
if(WinPosSaver)
{
 WinPosSaver->Save();
 delete WinPosSaver;
}

Alternatively, instantiate WinPosSaver only once in the main program, and pass it as a pointer to the created windows (so they can re-use the class without creating their own instances of it).

Would that be easy enough? Doable?
Thanks.

PS. Would it be possible to save other things? (Like divider or column width positions within a window?)

~0000222

Dark Byte (developer)

it already does that:
loadformposition(self,x)
saveformposition(self,[]);

and yes, it already does save stuff like the devider column using the dynamic array given in the 2nd parameter (so unique for each window)

But do you really want all windows positions stored ?

~0000225

Csimbi (reporter)

Last edited: 2009-02-06 21:27

>It already does save stuff like the devider column
Yes, in some windows. I would prefer this work with all windows.

>But do you really want all windows positions stored ?
Yes. I have filed a bug earlier about the UI not scaling properly with the DPI setting. That was not fixed yet (and you said it is unlikely that it will be).
These two combined together means that I have to adjust the windows manually (size and position) every time they open - pretty disturbing after a while, it would be so much better if it was automatic.

PS. I am coding in C++ Builder. The UI in all programs that I have made earlier (with normal DPI settings) are scaled up automatically by the OS - so it works without any issues (and the need to adjust/recompile anything). I am surprised that it is different with apps compiled using Delphi. Anyway, as I said, saving the positions/sizes and restoring them would solve this problem.

+Notes

-Issue History
Date Modified Username Field Change
2009-02-01 02:01 Csimbi New Issue
2009-02-01 02:03 442a Note Added: 0000202
2009-02-01 02:08 Csimbi Note Added: 0000203
2009-02-01 02:14 Csimbi Note Edited: 0000203
2009-02-01 02:15 Csimbi Note Edited: 0000203
2009-02-01 02:23 Csimbi Note Edited: 0000203
2009-02-01 02:23 Csimbi Note Edited: 0000203
2009-02-01 07:54 Dark Byte Status new => acknowledged
2009-02-01 21:53 Csimbi Note Added: 0000205
2009-02-01 21:53 Csimbi Note Edited: 0000205
2009-02-02 00:54 Dark Byte Note Added: 0000207
2009-02-02 15:26 Csimbi Note Added: 0000209
2009-02-03 16:43 Dark Byte Severity minor => feature
2009-02-05 12:36 Csimbi Note Added: 0000220
2009-02-05 12:38 Csimbi Note Edited: 0000220
2009-02-06 03:07 Dark Byte Note Added: 0000222
2009-02-06 21:26 Csimbi Note Added: 0000225
2009-02-06 21:27 Csimbi Note Edited: 0000225
+Issue History