LunaDLL - SMBX Extension Module

This is where we'll store the "best" topics that have ever existed on the forums, as well as community events that are no longer relevant. Read at your own risk.

Moderator: Userbase Moderators

Forum rules
Read at your own risk.
Valtteri
Birdo
Birdo
Posts: 2150
Joined: Sun Dec 01, 2013 1:16 pm

Re: LunaDLL - SMBX Extension Module

Postby Valtteri » Sat Feb 22, 2014 1:16 pm

The topic is getting derailed. Take the discussion about the Brazilian tutorial to PM.

leif_erikson
Blooper
Blooper
Posts: 167
Joined: Thu Feb 06, 2014 12:23 pm

Re: LunaDLL - SMBX Extension Module

Postby leif_erikson » Sat Feb 22, 2014 7:42 pm

Natsu wrote:Wait a second, if that's the case it could be possible to implement C++ programming into the creation of a new version of SMBX without even the Source Code. Even if there's no source code, it's still possible to modify it just a little with some of these.
you can but it's gonna be so much work you might as well program a new mario engine from scratch, and not deal with SMBX limitations.

the smbx play area is just a normal windows device context / bitmap, so anything you can do to one of those you can do to smbx to display a sprite.

example: https://www.youtube.com/watch?v=L68BbB07SzE

This is possible since I found the handle for the main smbx window at some point. Here's some code to blit an image onto the smbx game window / bitmap

Code: Select all

HBITMAP hbmp = (HBITMAP) LoadImage(NULL, L"test.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); // load my sprite, an image in the same folder called test.bmp
HDC hMemDC = CreateCompatibleDC((HDC)GM_SCRN_HDC); // create a device context to match my sprite to the smbx window (GM_SCRN_HDC)
SelectObject(hMemDC, hbmp); // put my image into the device context

BitBlt((HDC)GM_SCRN_HDC, x, y, 69, 44, hMemDC, 0, 0, SRCCOPY); // copy the device context onto the smbx window at coordinates 69,44
	
DeleteDC(hMemDC); // deallocate all that stuff now
DeleteObject(hbmp);
GM_SCRN_HDC is the address I found inside smbx which contains a handle to the smbx window. With that you can display anything you want in the game. That codes works in lunadll if you download the source, and it is run during the HUD update function. If someone knows enough C they could make custom sprites with that, but it's probably too much work, which is why I made the scripting framework thing which can do other stuff more easily.

FanofSMBX
Ludwig von Koopa
Ludwig von Koopa
Posts: 3878
Joined: Sun Dec 22, 2013 12:01 pm

Re: LunaDLL - SMBX Extension Module

Postby FanofSMBX » Sat Feb 22, 2014 7:54 pm

How do "boss hits" work, on NPCs such as Larry who have different means of damage (I.e. 12 fireballs or 3 stomps)?

leif_erikson
Blooper
Blooper
Posts: 167
Joined: Thu Feb 06, 2014 12:23 pm

Re: LunaDLL - SMBX Extension Module

Postby leif_erikson » Sat Feb 22, 2014 7:57 pm

He still has an internal hit counter, but I don't know what it is off the top of my head. Probably when you jump on him, he takes more damage than he would from fireballs. I bet if you set his hits to 11, he'll die in 1 hit from anything.

icez
Spike
Spike
Posts: 263
Joined: Fri Dec 20, 2013 7:21 pm

Re: LunaDLL - SMBX Extension Module

Postby icez » Sat Feb 22, 2014 11:33 pm

So if I am reading this correctly I could give a mother brain 30 hits or a wart like 15 hits if I wanted to with this scrpit

leif_erikson
Blooper
Blooper
Posts: 167
Joined: Thu Feb 06, 2014 12:23 pm

Re: LunaDLL - SMBX Extension Module

Postby leif_erikson » Sun Feb 23, 2014 2:08 pm

unless redigit coded a check to see if enemy health was too high (unlikely), then that should work

FanofSMBX
Ludwig von Koopa
Ludwig von Koopa
Posts: 3878
Joined: Sun Dec 22, 2013 12:01 pm

Re: LunaDLL - SMBX Extension Module

Postby FanofSMBX » Sun Feb 23, 2014 2:13 pm

You know how the SM Glass Cube has a new sprite for each hit? How would that be affected if I gave the cube more or less hits?

leif_erikson
Blooper
Blooper
Posts: 167
Joined: Thu Feb 06, 2014 12:23 pm

Re: LunaDLL - SMBX Extension Module

Postby leif_erikson » Sun Feb 23, 2014 3:38 pm

Good question. Is that technically an NPC or a block? If it's an NPC, then... that's a really good question. There's a chance nothing would happen though. If it's a block then well, you can't set block hits and blocks don't have that memory in their structure so idk

FanofSMBX
Ludwig von Koopa
Ludwig von Koopa
Posts: 3878
Joined: Sun Dec 22, 2013 12:01 pm

Re: LunaDLL - SMBX Extension Module

Postby FanofSMBX » Sun Feb 23, 2014 3:59 pm

It's NPC-208 I believe.

leif_erikson
Blooper
Blooper
Posts: 167
Joined: Thu Feb 06, 2014 12:23 pm

Re: LunaDLL - SMBX Extension Module

Postby leif_erikson » Sat Mar 01, 2014 10:25 pm

I just now finished making lunadll compatible with the base smbx program. Basically I downloaded the latest smbx 1.3.0.1 and added the links into it so it calls lunadll. In other words, no one has to use a2mbxt anymore, which is good since not a lot of people even know about a2mbxt.

http://www.gamearchaeology.com/SMBX1301+Luna.zip

DarkShadeX
Volcano Lotus
Volcano Lotus
Posts: 535
Joined: Sat Jan 18, 2014 11:34 am

Re: LunaDLL - SMBX Extension Module

Postby DarkShadeX » Sun Mar 02, 2014 2:03 pm

Welp...I made a new txt file called lunadll and added a code in there (from the tutorial) and then i added the txt into my levels folder.
But as soon as i start the level,nothing changes at all...

EDIT:
NVM that above ^^
Is there anyway to remove the Demo text on the upper left screen?

leif_erikson
Blooper
Blooper
Posts: 167
Joined: Thu Feb 06, 2014 12:23 pm

Re: LunaDLL - SMBX Extension Module

Postby leif_erikson » Sun Mar 02, 2014 2:31 pm

Sorry I forgot to get rid of that

One last download: http://www.gamearchaeology.com/SMBX1301+Luna.zip

DarkShadeX
Volcano Lotus
Volcano Lotus
Posts: 535
Joined: Sat Jan 18, 2014 11:34 am

Re: LunaDLL - SMBX Extension Module

Postby DarkShadeX » Sun Mar 02, 2014 2:35 pm

Awesome,this will be pretty useful in my episode!
Btw,is there any way to change the timer text so it says: Time: insteand of Timer?

leif_erikson
Blooper
Blooper
Posts: 167
Joined: Thu Feb 06, 2014 12:23 pm

Re: LunaDLL - SMBX Extension Module

Postby leif_erikson » Sun Mar 02, 2014 9:41 pm

Not unless you compile a custom version of the dll

Chill Pingu
Guest

Re: LunaDLL - SMBX Extension Module

Postby Chill Pingu » Mon Mar 03, 2014 8:34 am

leif_erikson wrote:I just now finished making lunadll compatible with the base smbx program. Basically I downloaded the latest smbx 1.3.0.1 and added the links into it so it calls lunadll. In other words, no one has to use a2mbxt anymore, which is good since not a lot of people even know about a2mbxt.

http://www.gamearchaeology.com/SMBX1301+Luna.zip
thank godness you made it. also this should be made official.

icez
Spike
Spike
Posts: 263
Joined: Fri Dec 20, 2013 7:21 pm

Re: LunaDLL - SMBX Extension Module

Postby icez » Mon Mar 03, 2014 10:45 am

Darkchaox100 wrote:Welp...I made a new txt file called lunadll and added a code in there (from the tutorial) and then i added the txt into my levels folder.
But as soon as i start the level,nothing changes at all...
How did you get the timer working I Cant get it working at all

Emral
Cute Yoshi Egg
Cute Yoshi Egg
Posts: 9887
Joined: Mon Jan 20, 2014 12:58 pm
Flair: Phoenix

Re: LunaDLL - SMBX Extension Module

Postby Emral » Tue Mar 04, 2014 5:02 am

icez wrote:
Darkchaox100 wrote:Welp...I made a new txt file called lunadll and added a code in there (from the tutorial) and then i added the txt into my levels folder.
But as soon as i start the level,nothing changes at all...
How did you get the timer working I Cant get it working at all
You need to use one of the exe files compatible with lunadll.

I love how everyone's amazed by darkchao because he read the tutorial once, maybe twice and now explains everything, not that it was rather easy to understand to begin with.

DarkShadeX
Volcano Lotus
Volcano Lotus
Posts: 535
Joined: Sat Jan 18, 2014 11:34 am

Re: LunaDLL - SMBX Extension Module

Postby DarkShadeX » Tue Mar 04, 2014 7:51 am

Welp,i managed to change Lunadll...it now says TIME insteand of TIMER when using the Timer function (like if you want to add level time)

Magician
Volcano Lotus
Volcano Lotus
Posts: 567
Joined: Fri Dec 20, 2013 7:36 pm
Pronouns: he/him

Re: LunaDLL - SMBX Extension Module

Postby Magician » Tue Mar 04, 2014 8:46 am

Emral wrote:I love how everyone's amazed by darkchao because he read the tutorial once, maybe twice and now explains everything, not that it was rather easy to understand to begin with.
You really shouldn't find it altogether surprising that this community might be largely composed of visual learners when SMBX itself is designed to be much easier for visual learners than your typical level editing software.

It's easy for some to understand and intimidating for others.

RudeGuy
Bowser
Bowser
Posts: 4994
Joined: Fri Dec 27, 2013 7:36 am
Flair: local guy

Re: LunaDLL - SMBX Extension Module

Postby RudeGuy » Tue Mar 04, 2014 9:26 am

This website has used up all it's bandwidth. Please try again later.
Why I get this message when I try to go here?:
http://www.gamearchaeology.com/SMBX1301+Luna.zip


Return to “Archives”

Who is online

Users browsing this forum: No registered users and 2 guests

SMWCentralTalkhausMario Fan Games GalaxyKafukaMarioWikiSMBXEquipoEstelari