Author Topic: my 100% Assembly game development  (Read 4527 times)

mabdelouahab

  • Member
  • ***
  • Posts: 361
Re: my 100% Assembly game development
« Reply #75 on: January 21, 2018, 06:24:38 AM »
I have never been good at playing games, but would like to know the reason I can't get more than this?!

me too  :(

LordAdef

  • Member
  • ***
  • Posts: 365
Re: my 100% Assembly game development
« Reply #76 on: January 21, 2018, 06:28:52 AM »
I have never been good at playing games, but would like to know the reason I can't get more than this?!

me too  :(

hi, wow!

what Windows is this? It didn't even find the fonts (which are basic ones... Arial etc)?!?

mabdelouahab

  • Member
  • ***
  • Posts: 361
Re: my 100% Assembly game development
« Reply #77 on: January 21, 2018, 06:40:41 AM »
what Windows is this? It didn't even find the fonts (which are basic ones... Arial etc)?!?
Windows 8.1 Enterprise 64Bit Arabic

LordAdef

  • Member
  • ***
  • Posts: 365
Re: my 100% Assembly game development
« Reply #78 on: January 21, 2018, 06:46:08 AM »
http://masm32.com/board/index.php?topic=6200.msg73104#msg73104

Thanks! would you help me pinpoint the issues? this post above has a previous build (version 8.153) . would you try it and see if it works? This way I may know if it's something with my re-coding, or if the problem was already there.

The font thing is funny. You do have Arial font installed, don't you?


mabdelouahab

  • Member
  • ***
  • Posts: 361
Re: my 100% Assembly game development
« Reply #79 on: January 21, 2018, 07:04:44 AM »
I tried the v8.15, V8.153, V8.16 and I have the Arial font, but the same problem appears, same funny font.

LordAdef

  • Member
  • ***
  • Posts: 365
Re: my 100% Assembly game development
« Reply #80 on: January 21, 2018, 07:11:42 AM »
I tried the v8.15, V8.153, V8.16 and I have the Arial font, but the same problem appears, same funny font.

I imagined you had the fonts. none of the above builds work.... ok... research time......
Thank you so much for the feedback.

So basically, I am bumping into something different between Win 7 and Win 8. The font thing is really funny cause it's a simple procedure... Possibly some suicidal code. I'll start by pushing/ preserving ABi convention stuff

let's see.

aw27

  • Member
  • *****
  • Posts: 1035
  • Let's Make ASM Great Again!
Re: my 100% Assembly game development
« Reply #81 on: January 21, 2018, 03:46:11 PM »
hi LordAdef,

It does not work on my Windows 10 Pro notebook, it works on Windows 7.
This may have to do with the switch from Intel Graphics card to NVidia card. I will check that, may be I need to add the game to the list on the NVidia.

aw27

  • Member
  • *****
  • Posts: 1035
  • Let's Make ASM Great Again!
Re: my 100% Assembly game development
« Reply #82 on: January 21, 2018, 10:19:43 PM »
I don't think it has anything to do with adding the game to NVidia list.
I tested in another notebook, this with nearly 3 years old and different hardware and with Windows 10 Home and had the same problem.
However I tested in Windows XP running from a virtual machine on the Windows 10 pro and it run well.

The problem happens in all releases I found in the thread since December.

I had a quick look at your code and did not find anything really abnormal, although I had to use an old release of MASM (10.xx) to build it due to the MASM SDWORD PTR bug on HLL compares, mentioned here http://masm32.com/board/index.php?topic=6732.0.

jj2007

  • Moderator
  • Member
  • *****
  • Posts: 7980
  • Assembler is fun ;-)
    • MasmBasic
Re: my 100% Assembly game development
« Reply #83 on: January 22, 2018, 12:11:36 AM »
For the attached debug version, I get this sequence on Win10:
Code: [Select]
Line 1798: Handle non valido.
Line 1804: Handle non valido.
Line 1828: Handle non valido.
Line 1849: Handle non valido.
Line 1930: Handle non valido.
Line 1968: Handle non valido.
Line 1997: Handle non valido.
Line 1998: Handle non valido.
Line 2005: Handle non valido.

EDIT: NEW VERSION, the old one was not working. Check CreateCompatibleDC in stuff.inc, it seems to fail for the hBufferDC section:

** this is line 1636 hBufferDC **
** this is line 1636 hPreBufferDC **
** this is line 1636 hManDC **
** this is line 1636 LoadBitmap **
** this is line 1636 hManCrashDC **
** this is line 1637 after mCreateDC **

Unfortunately, this is in an external module, stuff.inc, so the macro cannot know the exact line. Both MASM and UAsm do not provide correct @Line when such things hang around in include files. Better to integrate them into the main source... I know C/C++ programmers are being taught to split everything in tiny little modules, but a) that was good advice when computers were really slow, b) it makes debugging very difficult, and c) it's not good advice if your editor has bookmarks and a powerful little listbox ;-)

Attached a version trying to guess the exact line with the ShowThisLine macro. No extra code generated, it's just echos.
P.S.: Just saw this:
   Print Str$("withinPixel: hBufferDC=%i\n", hBufferDC)
   inc gDebugCt  ; <<<< needed for the versions that work
 

aw27

  • Member
  • *****
  • Posts: 1035
  • Let's Make ASM Great Again!
Re: my 100% Assembly game development
« Reply #84 on: January 22, 2018, 12:12:13 AM »
  .IF uMsg==WM_CREATE
   ; Insert these to make it work
      invoke BeginPaint, hWnd, ADDR ps
      mov edi, eax
      mov  hdc, edi
      

PS: I got this from the hint provide by JJ  :t

LordAdef

  • Member
  • ***
  • Posts: 365
Re: my 100% Assembly game development
« Reply #85 on: January 22, 2018, 03:07:17 AM »
hi guys,

It's a macro, which I placed outside the main file. Aw7 got it right, it's being used there after WM_CREATE

Aw7, please clarify me: you insert something there and it worked?


aw27

  • Member
  • *****
  • Posts: 1035
  • Let's Make ASM Great Again!
Re: my 100% Assembly game development
« Reply #86 on: January 22, 2018, 03:47:24 AM »
I inserted what I mentioned, because it was not there.  :biggrin:
So hdc was indefined, and what surprises me is that it worked with some OS.

LordAdef

  • Member
  • ***
  • Posts: 365
Re: my 100% Assembly game development
« Reply #87 on: January 22, 2018, 03:51:30 AM »
Thanks!

Wow, but it should be there indeed! that's why I asked you. I could swear it was there.....

jj2007

  • Moderator
  • Member
  • *****
  • Posts: 7980
  • Assembler is fun ;-)
    • MasmBasic
Re: my 100% Assembly game development
« Reply #88 on: January 22, 2018, 04:09:49 AM »
Wow, but it should be there indeed! that's why I asked you. I could swear it was there.....

It is there, but a few lines further down. Still, the only change that I see on Win10 (and Win7) is that I can see the gauge now. And I don't have access to the Win10 machine right now...

LordAdef

  • Member
  • ***
  • Posts: 365
Re: my 100% Assembly game development
« Reply #89 on: January 22, 2018, 05:56:16 AM »
Hey, I couldn´t resist... Before solving these issues I made some drafts for two new cool Controls. Version attached is a work in progress only, only to show it.

Fuel Tank Gauge:

I used the algo kindly created by Marinus (Thanks my Friend) to move the needle.
For the needle I´m using the "line" command from masm32. Unfortunately, "line" doesn´t set a line width, so I´m going to have to shape that needle by code.

Marinus algo:

Quote
pCalculateGauge proc Xpos:DWORD,Ypos:DWORD, Radius:DWORD, Angle:DWORD
   ; -------------------------------------------------------------------------------------------
   ;     This procedure was created by Marinus Siekmanski
   ; -------------------------------------------------------------------------------------------
   
    fild    Angle ; in degrees
    fmul    RotationMagic
    fsincos

    fimul   Radius
    fchs
    fiadd   Ypos
    fistp   dword ptr [esp-8]
    fimul   Radius
    fiadd   Xpos
    fistp   dword ptr [esp-4]
    mov     eax,dword ptr [esp-4]   ; New_X
    mov     ecx,dword ptr [esp-8]   ; New_Y
    ret
pCalculateGauge endp



MiniMap overview:

Still working on it. The Minimap is created on the fly using SetPixels (only setting the blue pixels). It is going to show our airplane current position. I think it´s cool  :dazzled: