(shouting)

LunaDLL/LunaLUA help thread

The second SMBX collab!
User avatar
SAJewers
ASMBXT Level Wrangler/A2XT Project Coordinator /AAT Level Designer
Posts: 4217
Joined: 12 years ago
Location: Nova Scotia

Re: LunaDLL help thread

Post by SAJewers »

docopoper wrote:Wait, is that A2MBXT Episode 2 renamed - or a separate game after the series?
The latter, any potential Sequel to A2MBXT.
ImageImageImageImageImage | Image | Image
Sharenite | RetroAchievements | NameMC | IGDB
User avatar
docopoper
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla non pharetra enim, nec maximus odio.
Posts: 78
Joined: 12 years ago
First name: Shane Farrell
Pronouns: they/he
Location: Ireland

Re: LunaDLL help thread

Post by docopoper »

Yeah, so you'll still get plenty of usefulness out of this kil. It'll be in at least four more games.
The first thing I would do with infinite power would be to make myself a cave where I could look at my shadow forever.

Image <- Go team Yeah Doctor Shemp.!
Image <- That's everyone being nice to me. ^^

I made a game called Utter Confusion! Play it! :D
It's a lot of fun and has been incredibly popular at every indie game dev party I've brought it to.
Kil
Posts: 13
Joined: 15 years ago

Re: LunaDLL help thread

Post by Kil »

Well there's not much more I wanted to add so it's good.
DON'T PM me. Ask your question in the help thread so everyone can be answered.
Doctor Shemp
Banned
Posts: 0
Joined: 11 years ago

Re: LunaDLL help thread

Post by Doctor Shemp »

Is it possible to use LunaDLL to get autoscroll to work on sections other than Section 1 and/or trigger from events other than Level Start?
Kil
Posts: 13
Joined: 15 years ago

Re: LunaDLL help thread

Post by Kil »

I think you can. I'm gonna have to test it myself to be sure, but I know you can manipulate the level boundaries in real time.
DON'T PM me. Ask your question in the help thread so everyone can be answered.
User avatar
docopoper
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla non pharetra enim, nec maximus odio.
Posts: 78
Joined: 12 years ago
First name: Shane Farrell
Pronouns: they/he
Location: Ireland

Re: LunaDLL help thread

Post by docopoper »

Can you control the camera directly?
The first thing I would do with infinite power would be to make myself a cave where I could look at my shadow forever.

Image <- Go team Yeah Doctor Shemp.!
Image <- That's everyone being nice to me. ^^

I made a game called Utter Confusion! Play it! :D
It's a lot of fun and has been incredibly popular at every indie game dev party I've brought it to.
Septentrion Pleiades
Banned
Posts: 0
Joined: 13 years ago
First name: Stephen
Location: Holstaurus Heaven

Re: LunaDLL help thread

Post by Septentrion Pleiades »

We'll As long as we get more comprehensive boss things that directly control the number of hit(so bosses could take more hits) and flexible display of "health", I think that would help a lot. I'm try to think of what can be made into a boss so we wouldn't have to really on mother brain a lot.
Image
Image
Image
Kil
Posts: 13
Joined: 15 years ago

Re: LunaDLL help thread

Post by Kil »

docopoper wrote:Can you control the camera directly?
At 0x00B2B984 is a pointer to the camera X object and at 0x00B2B9A0 is a pointer to the camera Y object. Both consist of 8 empty bytes followed by a double float which is the camera position. They're both updated every frame so you'll have to overwrite them continuously. I forget the exact addressing you'll need...

double* pCameraX = (double*)(*(DWORD*)0x00B2B984);
pCameraX[1] = your camera position here

maybe
DON'T PM me. Ask your question in the help thread so everyone can be answered.
Minus
Always edits posts
Posts: 14
Joined: 12 years ago

Re: LunaDLL help thread

Post by Minus »

Hello! I just had a quick question:

As I understand it, certain commands in LunaDLL enable one to move layers as they so wish, right? Is this in any way tied to the event system and somehow indirectly using events to move the layers around, or is it more of an independent thing?

The reason I ask is that in the standard layers/events menu, SMBX normally allots 100 events to do with as you please. This is nice and all, but it tends to tie your hands if you want to do something as complex as, say, your typical Super Mario World ASM. Would this let you go beyond that limit?
Kil
Posts: 13
Joined: 15 years ago

Re: LunaDLL help thread

Post by Kil »

Yeah, all the commands are separate from SMBX events. They're all held in a list of unlimited size.
DON'T PM me. Ask your question in the help thread so everyone can be answered.
User avatar
docopoper
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla non pharetra enim, nec maximus odio.
Posts: 78
Joined: 12 years ago
First name: Shane Farrell
Pronouns: they/he
Location: Ireland

Re: LunaDLL help thread

Post by docopoper »

Not only can you have infinite events with infinite complexity, you can also control each block and npc individually.
The first thing I would do with infinite power would be to make myself a cave where I could look at my shadow forever.

Image <- Go team Yeah Doctor Shemp.!
Image <- That's everyone being nice to me. ^^

I made a game called Utter Confusion! Play it! :D
It's a lot of fun and has been incredibly popular at every indie game dev party I've brought it to.
Minus
Always edits posts
Posts: 14
Joined: 12 years ago

Re: LunaDLL help thread

Post by Minus »

Rad. Thanks!
User avatar
docopoper
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla non pharetra enim, nec maximus odio.
Posts: 78
Joined: 12 years ago
First name: Shane Farrell
Pronouns: they/he
Location: Ireland

Re: LunaDLL help thread

Post by docopoper »

Oh, well actually - I'm not sure about controlling each block and npc individually with Kil's commands. You can with hardcoding though.
The first thing I would do with infinite power would be to make myself a cave where I could look at my shadow forever.

Image <- Go team Yeah Doctor Shemp.!
Image <- That's everyone being nice to me. ^^

I made a game called Utter Confusion! Play it! :D
It's a lot of fun and has been incredibly popular at every indie game dev party I've brought it to.
TiKi
Posts: 709
Joined: 11 years ago

Re: LunaDLL help thread

Post by TiKi »

Uh... would this allow one to make autoscroll events that bypass the bugs in the editor proper? Like moving in several directions one after another like in Yoshi's Island levels.
User avatar
docopoper
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla non pharetra enim, nec maximus odio.
Posts: 78
Joined: 12 years ago
First name: Shane Farrell
Pronouns: they/he
Location: Ireland

Re: LunaDLL help thread

Post by docopoper »

I have no idea. I know kil said up there that you can control the camera with code injection, but I don't know if that would work like autoscroll. So maybe? I doubt you can with kil's language (ie. using the text file with his commands in it) either way.
The first thing I would do with infinite power would be to make myself a cave where I could look at my shadow forever.

Image <- Go team Yeah Doctor Shemp.!
Image <- That's everyone being nice to me. ^^

I made a game called Utter Confusion! Play it! :D
It's a lot of fun and has been incredibly popular at every indie game dev party I've brought it to.
Kil
Posts: 13
Joined: 15 years ago

Re: LunaDLL help thread

Post by Kil »

Yes you'll be able to if they ever finish this damn game so I can update the dll in the dev kit.
DON'T PM me. Ask your question in the help thread so everyone can be answered.
TiKi
Posts: 709
Joined: 11 years ago

Re: LunaDLL help thread

Post by TiKi »

Rad. Will and if so when will this be publically usable for other episodes?
Also I just realized, will this allow you to make spinjump and hammersuit immunity?
Does this work with a "normal SMBX Implementation" where I can just put this with an episode folder and it works?
User avatar
docopoper
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla non pharetra enim, nec maximus odio.
Posts: 78
Joined: 12 years ago
First name: Shane Farrell
Pronouns: they/he
Location: Ireland

Re: LunaDLL help thread

Post by docopoper »

Kil wrote:Yes you'll be able to if they ever finish this damn game so I can update the dll in the dev kit.
Hehehe. :P I am fully aware that my levels are the only thing making this awkward for you.

Actually, if you could - could you please make a way to hurt the player by calling a function. It's something I've frequently needed to do and have had to fake by teleporting an invisible firebar into the player for one frame.

I mean, only if you can without too much work. The firebar method works ok - it's just a bit awkward to set up.
The first thing I would do with infinite power would be to make myself a cave where I could look at my shadow forever.

Image <- Go team Yeah Doctor Shemp.!
Image <- That's everyone being nice to me. ^^

I made a game called Utter Confusion! Play it! :D
It's a lot of fun and has been incredibly popular at every indie game dev party I've brought it to.
Kil
Posts: 13
Joined: 15 years ago

Re: LunaDLL help thread

Post by Kil »

TiKi wrote:Rad. Will and if so when will this be publically usable for other episodes?
Also I just realized, will this allow you to make spinjump and hammersuit immunity?
Does this work with a "normal SMBX Implementation" where I can just put this with an episode folder and it works?
Well, you actually need the a2mbxt executable. I'm not sure what's been changed, but I know it has different cheat codes from smbx.exe. If you take a2mbxt.exe and lunadll.dll and put them in the smbx.exe folder, it should work. Also If you mean making enemies immune to those things, not really. The NPC interactions are all hardcoded.
docopoper wrote:
Kil wrote:Yes you'll be able to if they ever finish this damn game so I can update the dll in the dev kit.
Hehehe. :P I am fully aware that my levels are the only thing making this awkward for you.

Actually, if you could - could you please make a way to hurt the player by calling a function. It's something I've frequently needed to do and have had to fake by teleporting an invisible firebar into the player for one frame.

I mean, only if you can without too much work. The firebar method works ok - it's just a bit awkward to set up.
I'll find the hurt routine sometime before the next game.
DON'T PM me. Ask your question in the help thread so everyone can be answered.
Minus
Always edits posts
Posts: 14
Joined: 12 years ago

Re: LunaDLL help thread

Post by Minus »

TiKi wrote:Rad. Will and if so when will this be publically usable for other episodes?
Also I just realized, will this allow you to make spinjump and hammersuit immunity?
Does this work with a "normal SMBX Implementation" where I can just put this with an episode folder and it works?
Keep in mind that although it's still a mighty technical feat, LunaDLL doesn't quite have all of SMBX's memory addresses mapped to corresponding functions, so although it's powerful, it isn't capable of rewriting SMBX's inner workings. If you're curious as to what it can do, take a peak at the .cpp files in the download and see what you have at your disposal, or look at the commands in the documentation.

And Kil, this is amazing. Really fantastic job with this - I messed around with it yesterday and loved it - I can only imagine how difficult it must have been to put this together with the dark tales I've heard of Redigit's programming etiquette.
User avatar
Willhart
Stalker, Doxxer, and Sexual Harasser
Banned
Posts: 2434
Joined: 13 years ago
Location: Finland

Re: LunaDLL help thread

Post by Willhart »

Can I prevent the player from pressing down? If you release an item while pressing down next to a wall the item will go through it. That kinda breaks a puzzle I'm making.

Edit: Nevermind, I realised that using four block wide tiles prevents that from happening.
Last edited by Willhart 10 years ago, edited 1 time in total.
Kil
Posts: 13
Joined: 15 years ago

Re: LunaDLL help thread

Post by Kil »

not in the asmbxt version
DON'T PM me. Ask your question in the help thread so everyone can be answered.
User avatar
Maiku Wotaharu
Karaoke Enthusiast and Honorary Armless Bipedal Cycloptic Demon
Posts: 434
Joined: 11 years ago
First name: You'll figure it out.
Location: Sharing a bunk bed with Pily

Re: LunaDLL help thread

Post by Maiku Wotaharu »

Is it me, or does LunaDLL not work with Windows 7? I tried testing one of my own levels (which had been altered by SAJewers for inclusion), but the "Infinite Flying" cheat didn't work in my level, making it unbeatable. I tried testing the "Relay" level (which includes misspelled credits for me and Louiejub displayed at the beginning of each section) but they didn't display at all. Am I supposed to do something else prior to opening the level editor to test?
The best part of waking up is...knowing where you are.

FINALLY, SOME MOSTS USERBARS!
Image
Image
Image
Image
Image
Image
Image
Image
User avatar
docopoper
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla non pharetra enim, nec maximus odio.
Posts: 78
Joined: 12 years ago
First name: Shane Farrell
Pronouns: they/he
Location: Ireland

Re: LunaDLL help thread

Post by docopoper »

I'm using Windows 7, and I've used LunaDLL a lot on my levels.
The first thing I would do with infinite power would be to make myself a cave where I could look at my shadow forever.

Image <- Go team Yeah Doctor Shemp.!
Image <- That's everyone being nice to me. ^^

I made a game called Utter Confusion! Play it! :D
It's a lot of fun and has been incredibly popular at every indie game dev party I've brought it to.
User avatar
SAJewers
ASMBXT Level Wrangler/A2XT Project Coordinator /AAT Level Designer
Posts: 4217
Joined: 12 years ago
Location: Nova Scotia

Re: LunaDLL help thread

Post by SAJewers »

Same here, I'm on Windows 7, and have no problems.
ImageImageImageImageImage | Image | Image
Sharenite | RetroAchievements | NameMC | IGDB
Post Reply