The MASM Forum

General => The Campus => Topic started by: Mikl__ on January 03, 2025, 10:26:13 PM

Title: Xmas fireworks
Post by: Mikl__ on January 03, 2025, 10:26:13 PM
QuoteForgot,can someone post fireworks demo?
I remember long ago someone posted masm GDI demo
Might be easier to make new years fireworks theme
Hi! I find http://www.ronybc.com/fire.php (http://www.ronybc.com/fire.php)
I runed Windows(98/XP) -- the program crashes
I'm trying to transfer it to x64. For now, nothing works
I see in Old fireworks does not works on x64 (https://masm32.com/board/index.php?topic=4465.0) already tried to port the program to x64. But there was no result either.
Title: Re: Xmas fireworks
Post by: HSE on January 03, 2025, 11:37:57 PM
Hi Mikl__!

 https://github.com/ObjAsm/ObjAsm-C.2/tree/master/Projects/X/Fireworks (https://github.com/ObjAsm/ObjAsm-C.2/tree/master/Projects/X/Fireworks)

Regards, HSE.
Title: Re: Xmas fireworks
Post by: Mikl__ on January 04, 2025, 12:19:56 AM
Hi, HSE!
Thank you very much and Happy New Year!
Title: Re: Xmas fireworks
Post by: daydreamer on January 04, 2025, 04:46:33 AM
Thanks mikl and HSE
Title: Re: Xmas fireworks
Post by: Mikl__ on January 04, 2025, 11:56:21 AM
Hi daydreamer!
About fireworks, it was your idea. When I manage to translate it to masm x64 I will definitely post the program and source code. Maybe one of the forum participants will manage it earlier
Title: Re: Xmas fireworks
Post by: daydreamer on January 05, 2025, 03:09:03 AM
Quote from: Mikl__ on January 04, 2025, 11:56:21 AMHi daydreamer!
About fireworks, it was your idea. When I manage to translate it to masm x64 I will definitely post the program and source code. Maybe one of the forum participants will manage it earlier
found a clue to why it doesnt work:comment about 24 bit version
I probably go with SSE coding
I remember someone posted dx particle demo long ago,made with floating point math and quadpolys with blending together

Title: Re: Xmas fireworks
Post by: HSE on January 05, 2025, 07:21:50 AM
 :thumbsup:  :thumbsup:
Title: Re: Xmas fireworks
Post by: Mikl__ on January 05, 2025, 11:38:30 PM
Quotecomment about 24 bit version
Hi daydreamer! I know 16-bit version (DOS for 8086, 286), 32-bit version (Windows for 386-686), 64-bit version (Windows x64). About 24-bit version I don't know... What is 24-bit version?
Title: Re: Xmas fireworks
Post by: daydreamer on January 06, 2025, 01:52:05 AM
Quote from: Mikl__ on January 05, 2025, 11:38:30 PM
Quotecomment about 24 bit version
Hi daydreamer! I know 16-bit version (DOS for 8086, 286), 32-bit version (Windows for 386-686), 64-bit version (Windows x64). About 24-bit version I don't know... What is 24-bit version?
No 128 bit version yet? Well I try to make a SSE  128 bit version
Bitness isn't about CPU bits ,but screen mode,8 bit,16bit,24bit,32 bit for each pixel

Title: Re: Xmas fireworks
Post by: zedd on January 06, 2025, 01:59:07 AM
Quote from: daydreamer on January 06, 2025, 01:52:05 AM
Quote from: Mikl__ on January 05, 2025, 11:38:30 PM
Quotecomment about 24 bit version
About 24-bit version I don't know... What is 24-bit version?
Bitness isn't about CPU bits ,but screen mode,8 bit,16bit,24bit,32 bit for each pixel
:bgrin:  I got a chuckle out of that...
Title: Re: Xmas fireworks
Post by: TimoVJL on January 06, 2025, 02:23:37 AM
32-bit with transparency over picture of city would be nice?
Title: Re: Xmas fireworks
Post by: Mikl__ on January 06, 2025, 02:56:58 AM
Hei Timo! Onnellista uutta vuotta!
Kyllä, 32-bittinen läpinäkyvä kuva ilotulituksesta kaupunkikuvaa vasten olisi kiva...
Title: Re: Xmas fireworks
Post by: TimoVJL on January 06, 2025, 05:00:58 AM
@Mikl__
Good New Year to you too !
Title: Re: Xmas fireworks
Post by: Mikl__ on January 06, 2025, 01:18:46 PM
Thanks, Timo! I'll take your advice.
Title: Re: Xmas fireworks
Post by: daydreamer on January 06, 2025, 09:58:36 PM
Timo thanks,good idea  :thumbsup:
depending on how much time you want to spend coding,I seen creating city procedural code or being lazy convert your favourite city image to the small.ico file format

Title: Re: Xmas fireworks
Post by: daydreamer on January 09, 2025, 04:40:34 AM
Fixed point fireworks?
X dd screenwidth /2
Y dd screenheight
Height dd screenheight - centre
Xdelta dd
Ydelta dd
Xacc dd
Yacc dd 9.81
Init proc
Mov xdelta, rnd
Mov Xacc,rnd
Paint proc
Mov eax,x
Sal eax,16
Mov ebx,y
Sal ebx,16
Drawiconex fire icon,eax,ebx,xsize,ysize

Fireworks proc
Mov ecx,height
.If ecx ==0 call spawn ret
Mov eax,x
Mov ebx,y
Mov edx, xdelta
Mov edi,ydelta
Add eax,edx
Add ebx,edi
Add edx,Xacc
Add edi,Yacc
Mov x,eax
Mov y,ebx
Mov xdelta, edx
Mov ydelta, edi
Dec height ; countdown to when explode / spawn
.if height == 0 call spawn ret

Ret
Fireworks enpd


Title: Re: Xmas fireworks
Post by: daydreamer on January 10, 2025, 08:10:33 AM
64 bit Fixed point fireworks
Code
X dq screenwidth /2
Y dq screenheight
Height dq screenheight - centre
Xdelta dq
Ydelta dq
Xacc dq
Yacc dq 9.81
Init proc
Mov xdelta, rnd
Mov Xacc,rnd
Paint proc
Mov rax,x
Sal rax,32
Mov rbx,y
Sal rbx,32
Drawiconex fire icon,rax,rbx,xsize,ysize

Fireworks proc
Mov ecx,height
.If ecx ==0 call spawn ret
Mov rax,x
Mov rbx,y
Mov rdx, xdelta
Mov rdi,ydelta
Adq rax,rdx
Adq rbx,rdi
Adq rdx,Xacc
Adq rdi,Yacc
Mov x,rax
Mov y,rbx
Mov xdelta, rdx
Mov ydelta, rdi
Dec height ; countdown to when explode / spawn
.if height == 0 call spawn ret

Ret
Fireworks enpd