(shouting)

SMBX Help Thread

The second SMBX collab!
Kil
Posts: 13
Joined: 15 years ago

Re: SMBX Help Thread

Post by Kil »

I actually have no idea how sheath's attack works
DON'T PM me. Ask your question in the help thread so everyone can be answered.
TiKi
Posts: 709
Joined: 11 years ago

Re: SMBX Help Thread

Post by TiKi »

I think this works...!
Do you have any idea about width?
Kil
Posts: 13
Joined: 15 years ago

Re: SMBX Help Thread

Post by Kil »

change the numbers afterwards in the same pattern as the first 5 i gave and maybe it's there somewhere, in the next 50 or 60 values
DON'T PM me. Ask your question in the help thread so everyone can be answered.
User avatar
Willhart
Stalker, Doxxer, and Sexual Harasser
Banned
Posts: 2434
Joined: 13 years ago
Location: Finland

Re: SMBX Help Thread

Post by Willhart »

Kil wrote:Actually it looks like you can use lunadll

Use MemAssign w on 0x00B2C6FC to set small demo's height. The next 4 addresses (B2C6FE, B2C700, B2C702, B2C704) are the other characters small height. Then comes the mushroom/tall heights for all 5 characters. After that is maybe the height for other powerups, and beyond that who knows.
Can you give an example of how to increase the small and normal height of demo by one block?
TiKi
Posts: 709
Joined: 11 years ago

Re: SMBX Help Thread

Post by TiKi »

MemAssign,(address),(height + 32),0,0,w
Would 06 + 10 be 16 or A6?
Kil
Posts: 13
Joined: 15 years ago

Re: SMBX Help Thread

Post by Kil »

yes, and small demo should be 0x00B2C6FC and normal should be 0x00B2C706
DON'T PM me. Ask your question in the help thread so everyone can be answered.
TiKi
Posts: 709
Joined: 11 years ago

Re: SMBX Help Thread

Post by TiKi »

Idk what B2C706 + 10 would be pls help
User avatar
Willhart
Stalker, Doxxer, and Sexual Harasser
Banned
Posts: 2434
Joined: 13 years ago
Location: Finland

Re: SMBX Help Thread

Post by Willhart »

Thanks. I got it working with this.
#-1
MemAssign,0x00B2C6FC,64,0,0,w
MemAssign,0x00B2C706,96,0,0,w

The graphics should be easy to replace by extending sprites downward. The hitbox for large demo when ducking is still just one block, so I have to be careful with that.
Last edited by Willhart 9 years ago, edited 1 time in total.
TiKi
Posts: 709
Joined: 11 years ago

Re: SMBX Help Thread

Post by TiKi »

Yes Link seems to keep his default hitbox when ducking too.
Yes! I finally got SMW Mario's vertical hitboxes to be correct! Thanks a lot Kil! Here's the addresses for Mario BTW, someone should keep these somewhere
MemAssign,0x00B2C6FC,42,0,0,0,w -small
MemAssign,0x00B2C706,58,0,0,0,w - big
MemAssign,0x00B2C710,58,0,0,0,w - fire
MemAssign,0x00B2C71A,58,0,0,0,w - raccoon
MemAssign,0x00B2C724,55,0,0,0,w - tanuki
MemAssign,0x00B2C72E,56,0,0,0,w - hammer
MemAssign,0x00B2C738,58,0,0,0,w - ice
Kil
Posts: 13
Joined: 15 years ago

Re: SMBX Help Thread

Post by Kil »

The ducking heights are there somewhere too though. I have this written down

Image

They're probably correct or I wouldn't've written them down
DON'T PM me. Ask your question in the help thread so everyone can be answered.
User avatar
Willhart
Stalker, Doxxer, and Sexual Harasser
Banned
Posts: 2434
Joined: 13 years ago
Location: Finland

Re: SMBX Help Thread

Post by Willhart »

Kil wrote:The ducking heights are there somewhere too though. I have this written down

Image

They're probably correct or I wouldn't've written them down
I just noticed that too. It is correct. Now we can have levels where Demo has a large tophat or something.

Edit: that max jump table is silly. It helps for space levels and can prevent player from jumping. Can you share anything else?
TiKi
Posts: 709
Joined: 11 years ago

Re: SMBX Help Thread

Post by TiKi »

Kil wrote:The ducking heights are there somewhere too though. I have this written down

Image

They're probably correct or I wouldn't've written them down
Hey where did you get that list?
Kil
Posts: 13
Joined: 15 years ago

Re: SMBX Help Thread

Post by Kil »

Maybe some of these will do something

Code: Select all

00B25010  .data     Label       pImportantObj
00B25028  .data     Label       BitBltRelated
00B25068  .data     Label       pVkeyTable
00B250A0  .data     Label       pVkeyTable/
00B25130  .data     Label       CheckMe
00B25134  .data     Label       bLevelEditing
00B253C4  .data     Label       pCopiedKeys//
00B253C6  .data     Label       CopyKey1
00B253C8  .data     Label       CopyKey2
00B253CA  .data     Label       CopyKey3
00B253CC  .data     Label       CopyKey4
00B253CE  .data     Label       CopyKey5
00B253D0  .data     Label       CopyKey6
00B253D2  .data     Label       CopyKey7
00B253D4  .data     Label       CopyKey8
00B253D6  .data     Label       CopyKey9
00B253D8  .data     Label       CopyKey10
00B253DA  .data     Label       CopyKey11
00B257D4  .data     Label       pSectionBoundaries
00B257F0  .data     Label       pSectionStuff
00B25956  .data     Label       UnkLayerMov
00B2595A  .data     Label       NPCCount
00B2595E  .data     Label       NumOfPlayers
00B259E8  .data     Label       pMobsList/
00B25A20  .data     Label       pPlayerObjList
00B25C34  .data     Label       pSpriteSettingsUnk
00B25D14  .data     Label       pSpriteNoCollisionTable
00B25E64  .data     Label       pSpriteSomethingTable
00B25EF0  .data     Label       pSpriteSettings4
00B25F0C  .data     Label       pSpriteSettings5
00B2B930  .data     Label       pSomething
00B2B9E4  .data     Label       bRunGame
00B2BA68  .data     Label       pSomeTable
00B2BA84  .data     Label       pSomeTable
00B2C59C  .data     Label       bDeathState/
00B2C59E  .data     Label       LevelEndState
00B2C5A0  .data     Label       LevelEndTimer
00B2C5A4  .data     Label       pCurLvlName/
00B2C5AC  .data     Label       fpLives
00B2C5D4  .data     Label       Unknown
00B2C5EC  .data     Label       pSectionUnk
00B2C614  .data     Label       LevelEditor//
00B2C61C  .data     Label       wszPath
00B2C620  .data     Label       bTitleScreen/
00B2C62E  .data     Label       UnkDecTimer
00B2C66C  .data     Label       UnkEvents
00B2C670  .data     Label       TransitioningFrameCounter
00B2C67C  .data     Label       ActiveFrameCounter
00B2C680  .data     Label       FPActiveFrameCounter
00B2C690  .data     Label       DFPSubtractTickAmt
00B2C6B0  .data     Label       pLayers
00B2C6CC  .data     Label       pSomeText
00B2C6DC  .data     Label       MaxJumpTable
00B2C6FC  .data     Label       SmallDemoHeight
00B2C706  .data     Label       BigDemoHeight
00B2C74C  .data     Label       BigDemoDUckHeight
00B2C87C  .data     Label       Unk
00B2C896  .data     Label       Unk
00B2C8B4  .data     Label       bOnlyPlayersActive
00B2C8BA  .data     Label       ConstantCoinStream/
00B2D72C  .data     Label       DFPTickCount
00B2D738  .data     Label       DFPLastTickAmt
00B2D740  .data     Label       bBattleMode
00B2D760  .data     Label       BattleModeRelated1
00B2F1D8  .data     Label       fpBitBlt
00B2F304  .data     Label       pGraphicsObj
DON'T PM me. Ask your question in the help thread so everyone can be answered.
Luigifan2010
Lua squad
Posts: 2
Joined: 9 years ago
First name: Mike
Pronouns: he/him/his
Location: United States

Re: SMBX Help Thread

Post by Luigifan2010 »

kinda off topic, but do you guys have a list of the names of your a2xt enemies? or do they even have names haha
User avatar
raocow
the death of the incredible huge
Posts: 4089
Joined: 15 years ago
Location: maybe the Wizards are the most complex, and the sales guys are up their daily
https://raocow.talkhaus.com/

Re: SMBX Help Thread

Post by raocow »

There is goopa and furbas, and bananasnakes...
the chillaxest of dragonsImage
Image
Image
User avatar
Axon
Posts: 29
Joined: 11 years ago
Location: At a place.

Re: SMBX Help Thread

Post by Axon »

Luigifan2010 wrote:kinda off topic, but do you guys have a list of the names of your a2xt enemies? or do they even have names haha

Check the game's credits

Luigifan2010
Lua squad
Posts: 2
Joined: 9 years ago
First name: Mike
Pronouns: he/him/his
Location: United States

Re: SMBX Help Thread

Post by Luigifan2010 »

raocow wrote:There is goopa and furbas, and bananasnakes...
Axon wrote:
Luigifan2010 wrote:kinda off topic, but do you guys have a list of the names of your a2xt enemies? or do they even have names haha

Check the game's credits

thank you guys :D
TiKi
Posts: 709
Joined: 11 years ago

Re: SMBX Help Thread

Post by TiKi »

Could someone please tell me how to resize the fairy/angel?
User avatar
swirlybomb
a bomb that is swirly
Posts: 65
Joined: 12 years ago
First name: Swirlus Bomberton
Location: The Canadas

Re: SMBX Help Thread

Post by swirlybomb »

[re: changing characters' hitboxes]
Kil wrote:Actually it looks like you can use lunadll

Use MemAssign w on 0x00B2C6FC to set small demo's height. The next 4 addresses (B2C6FE, B2C700, B2C702, B2C704) are the other characters small height. Then comes the mushroom/tall heights for all 5 characters. After that is maybe the height for other powerups, and beyond that who knows.
TiKi wrote:Yes Link seems to keep his default hitbox when ducking too.
Yes! I finally got SMW Mario's vertical hitboxes to be correct! Thanks a lot Kil! Here's the addresses for Mario BTW, someone should keep these somewhere
MemAssign,0x00B2C6FC,42,0,0,0,w -small
MemAssign,0x00B2C706,58,0,0,0,w - big
MemAssign,0x00B2C710,58,0,0,0,w - fire
MemAssign,0x00B2C71A,58,0,0,0,w - raccoon
MemAssign,0x00B2C724,55,0,0,0,w - tanuki
MemAssign,0x00B2C72E,56,0,0,0,w - hammer
MemAssign,0x00B2C738,58,0,0,0,w - ice
Okay, so for someone who has no experience with this sort of thing...
0x00B2[...] is the 'address' for "Mario's small hitbox/big hitbox/etc", and the number after it is the height in pixels of said hitbox... and then does 0,0,0,w refer to anything? I assume this sort of thing be done on, say, a game-wide basis like the "no spinjumping/picking up things" in SDS, as well as on a per-level basis too? Pretty sure that's exactly what LunaDLL can do.

Hopefully the addresses for the other characters will be found, too!


By the way, is someone keeping an easily-accessed list of 'what does what' with LunaDLL or anything?
anonymousbl00dlust wrote:All the obstacles in my level can be beaten on the players first attempt without any 'future predicting'.
Image
Kil
Posts: 13
Joined: 15 years ago

Re: SMBX Help Thread

Post by Kil »

From http://www.gamearchaeology.com/lunaref.txt

Code: Select all

MEM ASSIGN

MemAssign,ADDRESS,VALUE,OPERATION,-,Active time,DATA SIZE

Description -
Sets the internal memory of SMBX.
ADDRESS is the memory address of the thing you want to change. Only a few addresses are known right now.
OPERATION is the way you want to manipulate the memory (adding to it, multiplying from it, subtracting from it...)
VALUE is what value the OPERATION will perform on the ADDRESS. So if you wanted to add 2 to some memory, the value would be 2 and the operation would be addition.
DATA SIZE is the type of data in the memory location. Check the reference at the bottom of the document to find the data size. There's no way to actually know the memory size unless you check RAM or a reference someone has already figured out.

Notes -

Known addresses:
0x00B2C8B4 - w = P switch freeze effect on or off
0x00B2C5A8 - w = Current coin count
0x00B2C5AC - f = Player lives
0x00B2C8C4 - w = "You have cheated" variable. 0xFFFF = you've cheated, 0x0 = you haven't cheated

There are 6 types of OPERATION to be performed on VALUE:
OPERATION = 0 = Assign. VALUE will be set.
OPERATION = 1 = Add. VALUE will be added to the current value.
OPERATION = 2 = Subtract. VALUE will be subtracted from the current value.
OPERATION = 3 = Multiply. The current value will be multiplied by VALUE.
OPERATION = 4 = Divide. The current value will be divided by VALUE.
OPERATION = 5 = XOR. The current value will have a bitwise exclusive-or operation performed on it against VALUE.

There are 5 types of DATA SIZE that can be set
b = byte (1 byte of memory)
w = word (2 bytes of memory)
dw = double word (4 bytes of memory)
f = float / decimal (4 bytes of memory)
df = double float / double precision decimal (8 bytes of memory)

Example -

// Add 50 lives to the player life count
MemAssign,0x00B2C5AC,50,1,0,1,f
So MemAssign,0x00B2C6FC,42,0,0,0,w is doing an "Assign" operation on that hitbox memory and setting it to 42. The 5th 0 means active time = infinite, which is unnecessary. That should be a 1 because the game never goes back and resets the hitbox.
DON'T PM me. Ask your question in the help thread so everyone can be answered.
TiKi
Posts: 709
Joined: 11 years ago

Re: SMBX Help Thread

Post by TiKi »

Can SMBX use midi files? I've heard both it can and can't, but my headphones don't work.
User avatar
IceT
Posts: 0
Joined: 10 years ago
Location: The Netherlands

Re: SMBX Help Thread

Post by IceT »

I love the game so far. But the game crashes at a certain level (which is basically level 3, making it so I can't progress the awesomeness): A World One Level

This is what I encounter everytime I start the level:
Runetime error '13':
Type mismatch

(Like a dumb, I typed 'mismatch' first.. didn't work out)

I found this topic at supermariobrosx.com discussing the runtime errors in general, and a guy named bossedit8 answered with:
Type Mismatch is often referred to a code that does not fit or has decimal codes/numbers into it. Inside the Level's Folder, are there any NPC Codes that are correct to match the Level? Check to every NPC Codes that does not fit or has decimal codes/numbers into it and fix/delete them.
Seeing as everyone is having fun with the game I figured that not to be the case, so here I am asking (hopefully at the right thread, if not: sorry!) you all. Could anyone please help?

I ran the vcredist_x86 file already, installed it on another place than program files (since it wouldn't let me). Otherwise, I have no clue why this is occurring.
User avatar
Joseph Staleknight
ABCDs in Katamari Damacy when
Posts: 506
Joined: 14 years ago
Location: :uo!ʇɐɔoך

Re: SMBX Help Thread

Post by Joseph Staleknight »

You did check if your computer's decimal system runs on the European system (1.234,56), right? That issue pops up a lot on computers that use that notation, since SMBX prefers the American system (1,234.56). Basically, you should swap the decimal and thousands separators in your Regional settings so that the latter notation is used, otherwise SMBX will panic and hide in the corner like someone who just saw Slenderman brush his nonexistent teeth.

EDIT: Or you can go to the offending level's folder, open up all the "npc-xx.txt" and/or "lunadll.txt" files and replace every decimal point with a comma, but that's more tedious since I imagine a lot of levels use periods to separate decimals in their text files. Hope that helps!
Last edited by Joseph Staleknight 9 years ago, edited 1 time in total.
Image
Image
Image
Image
Image
User avatar
Hoeloe
A2XT person
Posts: 1022
Joined: 12 years ago
Pronouns: she/her
Location: Spaaace

Re: SMBX Help Thread

Post by Hoeloe »

Joseph Staleknight wrote:You did check if your computer's decimal system runs on the European system (1.234,56), right? That issue pops up a lot on computers that use that notation, since SMBX only uses the American system (1,234.56). Basically, you should swap the decimal and thousands separators in your Regional settings so that the latter notation is used, otherwise SMBX will panic and hide in the corner like someone who just saw Slenderman brush his nonexistent teeth.
That would make sense. That could mean SMBX would parse "1,234.56" as a string, and thus shout "NOPE" and hide in a hole.
Image
Image
Image
Image
Image
User avatar
IceT
Posts: 0
Joined: 10 years ago
Location: The Netherlands

Re: SMBX Help Thread

Post by IceT »

Joseph Staleknight wrote:You did check if your computer's decimal system runs on the European system (1.234,56), right? That issue pops up a lot on computers that use that notation, since SMBX prefers the American system (1,234.56). Basically, you should swap the decimal and thousands separators in your Regional settings so that the latter notation is used, otherwise SMBX will panic and hide in the corner like someone who just saw Slenderman brush his nonexistent teeth.

EDIT: Or you can go to the offending level's folder, open up all the "npc-xx.txt" and/or "lunadll.txt" files and replace every decimal point with a comma, but that's more tedious since I imagine a lot of levels use periods to separate decimals in their text files. Hope that helps!
Thanks! I did not check that one, and I'm on a European system xD

*And it works! Just had to change decimals from , to . like you said.
Post Reply