Author Topic: ORDLL64.dll  (Read 1706 times)

0 Members and 1 Guest are viewing this topic.

Patrice Terrier

  • Jr. Member
  • **
  • Posts: 81
Re: ORDLL64.dll
« Reply #45 on: March 03, 2020, 10:48:37 AM »
Charles

Here is the patch for the second shot of ORV64.

The user GUI is now using image buttons (in the "resource" folder) and tooltips have been used with buttons.

There is a new GDImage marquee control using the internal OR sync timer to perform the smooth animation.

All the core functions have been completed.

The next step, at least for me, would be to skin the application.  ;)

Patrice Terrier

  • Jr. Member
  • **
  • Posts: 81
Re: ORDLL64.dll
« Reply #46 on: March 03, 2020, 01:54:33 PM »
Charles

In Main.cpp (around line 223) you should replace the existting line with the one in red below.

    case LOADING:
        SetWindowText(GetDlgItem(gP.hMain, IDC_VERTICES), NULL);
        SetWindowText(GetDlgItem(gP.hMain, IDC_TRIANGLES), NULL);
        SetWindowText(GetDlgItem(gP.hMain, IDC_INDICES), NULL);
        SetWindowText(GetDlgItem(gP.hMain, IDC_MESHES), NULL);
        SetWindowText(GetDlgItem(gP.hMain, IDC_MATERIALS), NULL);
        SetWindowText(GetDlgItem(gP.hMain, IDC_OBJSIZE), NULL);
        SetWindowText(GetDlgItem(gP.hMain, IDC_LOADTIME), NULL);

//        SetWindowText(GetDlgItem(gP.hMain, LIB_About), NULL);
        ClearMarquee();

        WindowRedraw(gP.hMain);

        break;

Patrice Terrier

  • Jr. Member
  • **
  • Posts: 81
Re: ORDLL64.dll
« Reply #47 on: March 04, 2020, 11:58:47 AM »
Charles

Here is a new version of the ORDLL64.

I have reworked the zoom function (mouse wheel) to be cooperative with the marquee scrolling effect (in previous version it was becoming idle while zooming).

« Last Edit: March 08, 2020, 12:25:43 PM by Patrice Terrier »

Patrice Terrier

  • Jr. Member
  • **
  • Posts: 81
Re: ORDLL64.dll
« Reply #48 on: March 05, 2020, 09:58:25 AM »
And for the fun of it, here is screen shot of the skinned version that will be posted on my private forum.  8)

Charles Pegge

  • Admin Support Member
  • *****
  • Posts: 4315
    • Oxygen Basic
Re: ORDLL64.dll
« Reply #49 on: March 08, 2020, 02:46:54 AM »
Thank you, Patrice.

I hope I've assembled it all correctly.

Patrice Terrier

  • Jr. Member
  • **
  • Posts: 81
Re: ORDLL64.dll
« Reply #50 on: March 08, 2020, 09:32:32 AM »
Charles

That is a good stress test for O2, and i am looking forward to see the size of the resulting binary compared to Visual Studio.  8)

BTW, i have exported a few more API...

Patrice Terrier

  • Jr. Member
  • **
  • Posts: 81
Re: ORDLL64.dll
« Reply #51 on: March 24, 2020, 10:38:47 AM »
Charles

Version 3.00.06 has been released with a couple of new API, including the CPU/GPU percentages used by the application.

More details there

Screen shot of the CPU/GPU percentages displayed in gauge view meters.




And here is how to compute the CPU percentage:

Code: [Select]
int CPU_GetUsages() {
    FILETIME idleTime, kernelTime, userTime;
    static FILETIME last_idleTime, last_kernelTime, last_userTime;
    LONGLONG usr, ker, idl, sys;
    int cpu = 0;
    LONGLONG LARGE_INTEGER1 = 0;
    LONGLONG LARGE_INTEGER2 = 0;
    MoveMemory(&LARGE_INTEGER1, &last_kernelTime, 8);
    if (LARGE_INTEGER1) {
        GetSystemTimes(&idleTime, &kernelTime, &userTime);
        MoveMemory(&LARGE_INTEGER1, &userTime, 8); MoveMemory(&LARGE_INTEGER2, &last_userTime, 8); usr = LARGE_INTEGER1 - LARGE_INTEGER2;
        MoveMemory(&LARGE_INTEGER1, &kernelTime, 8); MoveMemory(&LARGE_INTEGER2, &last_kernelTime, 8); ker = LARGE_INTEGER1 - LARGE_INTEGER2;
        MoveMemory(&LARGE_INTEGER1, &idleTime, 8); MoveMemory(&LARGE_INTEGER2, &last_idleTime, 8); idl = LARGE_INTEGER1 - LARGE_INTEGER2;
        sys = ker + usr;
        if (sys) cpu = int((sys - idl) * 100 / sys);
    }
    GetSystemTimes(&last_idleTime, &last_kernelTime, &last_userTime);
    return cpu;
}
« Last Edit: March 24, 2020, 10:49:08 AM by Patrice Terrier »