Pages: « 123456 »
Posted on 08-19-24, 01:09 pm
Mole
I do things sometimes

Karma: 1037
Posts: 332/366
Since: 08-07-17
i mean

anyhow id rather have it as "officially decoupled" so as to keep 2 wikis from needing to be maintained
Posted on 08-19-24, 01:19 pm
Shyguy
Formerly  nr00t.
banned by request (again)

Karma: -45
Posts: 33/93
Since: 07-12-23
It'd require server access to change the topbar URL, or someone to create a plugin that handles redirects properly.

Given we see more total eclipses IRL than Dario Nieuwenhiuses on NSMBHD in any given period of time after 2016...
derpboard
Posted on 08-19-24, 01:52 pm
この記号は… 解読できないよ…


Karma: 6341
Posts: 2743/2788
Since: 01-17-13
Rather than redirecting automatically from old pages of the wiki to the new pages, the old wiki should stay as an archive at least, for ease of use. Having a link that says "old wiki" and another that says "new wiki" would be fine.

Pages such as the ones listing all of the hacks work well on the old wiki as they use the board's tags to their advantage (notably the thread links, those are [thread­=XXXX] tags).

Anyway yes we don't currently have database access, therefore modifying the board is off the table unless  Dirbaio can do it for us (more talk about this should go in another thread).

Also, if some people are in favor of decoupling from the board altogether, I won't force you to keep using it. I will however finish the documentation process up to what my existing knowledge includes.
Posted on 08-19-24, 02:07 pm
Super Koopa
That MvL Hacker

Karma: 1701
Posts: 806/833
Since: 04-11-15
Posted by Thierry
Also, if some people are in favor of decoupling from the board altogether, I won't force you to keep using it. I will however finish the documentation process up to what my existing knowledge includes.


The wiki being hosted on wiki software is mainly the reason that we make the new wiki. It doesn't hurt to have old wiki around. However, if it is not set to "read only", then we should look into writing a plugin that notifies when the wiki has been updated (possibly could shove that into my existing post update plugin). Ofc that'd require a Mr.  Dirbaio to exist, but like you said that's another conversation to be had.
_________________________
Here's my MvL Hacking thread

Consider joining the NSMB DS Hacking Discord Server! Also, be sure to check out the new wiki!

#HakingNoMore
Posted on 08-19-24, 02:12 pm
Ninji
MammaMia Team Member

Karma: 615
Posts: 220/232
Since: 04-26-19
I would be rather in favour of building up a new modern documentation and make the forum one read only.

Same stuff happens with the sprite database; the one here on the forum is really outdated and the format that it uses to store actor settings is completely wrong as well, it kind of has to be archived and a new separate database has to be built.
_________________________
Youtube - GitHub - NSMB Central
Posted on 08-19-24, 02:29 pm
この記号は… 解読できないよ…


Karma: 6341
Posts: 2744/2788
Since: 01-17-13
Posted by ItzTacos
Same stuff happens with the sprite database; the one here on the forum is really outdated and the format that it uses to store actor settings is completely wrong as well, it kind of has to be archived and a new separate database has to be built.

What's wrong with the existing database format for you to say it's completely wrong, specifically?
Posted on 08-19-24, 02:44 pm (rev. 3 by  Keeper on 08-19-24, 03:03 pm)
Mole
I do things sometimes

Karma: 1037
Posts: 333/366
Since: 08-07-17
the table on the hacks list was sorta nauseating to handle (granted i havent messed with the new wiki really so i dunno if it handles that stuff much different)

anyhow, some info from nsmbcentral that might be useful
Posted by ItzTacos
NDS Patchers hook types ___________________________________ | NSMBe | Fireflower | NCPatcher | |-------|-------------|-----------| | hook | safe{1} | hook | | nsub | hook | jump | | repl | rlnk | call | | | over | over | | | over_asm{2} | repl | |_______|_____________|___________| {1} Does not work properly {2} Extension that was defined in the NSMB-Code-Reference (now removed)
Posted by ItzTacos
Nitro System G3D Formats nsb* Nitro System Binary i* Nitro System Intermediate (XML) nsbmd/imd | Model Data Mesh, Armature, Nodes (bones), Materials, Texture (optional) nsbtx | TeXture Texture only nsbca/ica | Character Animation Armature animation nsbtp/itp | Texture Pattern Texture switching animation nsbma/ima | Material Animation Material parameters animation nsbta/ita | Texture Animation Texture transform animation nsbva/iva | Visibility Animation Nodes visibility toggling animation
Posted by ItzTacos
CORRECT NAMES FOR A BUNCH OF STUFF ASM Hacks -> Code mods Sprite (as for non placeable stage objects) -> Actor actor / Stage actor Sprite -> Object / Stage object Spritedata -> Object settings / Actor settings Spriteset -> Object bank Tile behaviour -> Tile type (for code consistency) Bottom background -> Background (for code consistency) Top background -> Foreground (for code consistency)
(fwiw no one uses the names noted as being for code consistency, i dont believe)
Posted by ItzTacos

NSMB namings mess



Object IDs


Object IDs, also referred to as Class IDs or Actor IDs, are the identifiers of spawnable entities, aka classes that inherit from Object and provide their ObjectProfiles (or ActorProfiles) as entries in the process table.
When you spawn an Actor, or switch to a Scene, you are spawning an Object identified by its ID.

Stage Object IDs


Stage Object IDs, also referred to as Sprite IDs (yes, the ones shown in NSMBe), are the identifiers of the Stage Object, wrongly known as sprites.
Stage Objects are not actors, they are abstract entities which are bound to Objects completely independently.
When the game loads a stage, it goes through the placed Stage Objects and, to spawn the corresponding Object (aka, the Actor), it goes through another table.
Adding up, ObjectInfos should be actually named StageObjectInfos as they are structures only used for when the game spawns the Actor as a placed Stage Object in the level and they have no effect on standard spawning.

But Why?


The distinction exists, and nothing can be done about it; the modern names used throughout the Reference are what they are and, indeed, they can be at times confusing (especially due to Object vs Stage Object).
Some day this will be definitely picked up again and changed once and for all.
Posted by ItzTacos

Platform Colliders


These colliders can create semisolid surfaces (platforms) of various shapes.

- RotatingPlatform:
Line platforms which are handled by position, length and rotation angle.
This type is useful for when you want the platform to rotate around its center, or even for static platforms with a specific angle.

- SegmentPlatform:
Line platforms which are handled by two positions representing the two segment points.
This type is meant for when you want to change the platform's individual points.

- DeformingPlatform:
Line platforms which deform and act like springs based on the colliding player position.
These ones are specifically used for the W1-Castle's "rope platforms".

- RoundPlatform(s):
Circle shaped platforms, handled by a position and a radius, which are semisolid either on the lower semicircle, creating a concave shape ("internal"), or on the upper semicircle, creating a convex shape ("external").
These platforms have really weird and unfinished physics, so their usage is not recommended; you reading this, sorry but rolling hills from NSMB Wii aint that simple to implement.
The internal round platform is unused, however, the external one is only used for collision with the giant wiggler in W7.
Posted by ItzTacos
Fixed point Types/Operators table |---------------------------|-----------| | Types | Operators | |---------------------------|-----------| | fx64c | fxlc | | fx64 | fxl | | fx32, Vec3, Vec2, VecFx32 | fx | | fx16, (*)Vec3s, VecFx16 | fxs | | s16, Vec3s | deg, rad | |---------------------------|-----------| (*) Only when it represents a position, e.g. *not* Actor::rotation
Posted by subair
For those who are using a custom actor and want to adjust the sprite data settings inside the NSMB editor (5.4.1), that might be a little helpful for you.

I was confused by "field ID", wondering what it does and it didn't take long before I fully understood it. I made a list, what each value from 1-48 does, but I have to admit that I didn't check every digit. However, it seems to follow a certain pattern, so it's probably correct
file
Posted by me!!!! like a couple hours ago
ffuck it this works ig

stupid graphics only using one colour from some random ass palette
(mostly based on pinned messages from there)
Posted on 08-19-24, 02:58 pm (rev. 1 by  ItzTacos on 08-19-24, 03:04 pm)
Ninji
MammaMia Team Member

Karma: 615
Posts: 221/232
Since: 04-26-19
Posted by Thierry
What's wrong with the existing database format for you to say it's completely wrong, specifically?

Posted by ItzTacos
Originally dirbaio thought that settings were 48 bits, and that decision ended up in the editor too:
u48 spritedata

In reality, this is how stage object data is actually stored in the format:
u8 eventIDs[2]; u32 settings;

The actor settings are only the last 8 hex digits in "Raw Sprite Data", the first two are not settings but the eventIDs (which are used, obviously, to store the events that are being triggered by the actor/events that the actor is waiting)

Adding up:
- The name "sprite" makes no sense in the context and we've abandoned it on the programming side since quite some time already.
- A database documenting all actors/scenes settings is way more useful than one covering only stage objects (sprites) settings, and can be reused in the editor too.
- Community contributions to the documentation are too open; people kept adding unexisting settings in the forum's database with no code knowledge or by trial and error and this is not what we want
(even Dirbaio back then most likely did trial and error, because originally code modding wasn't as advanced as today).
_________________________
Youtube - GitHub - NSMB Central
Posted on 08-19-24, 03:02 pm
Shyguy
Formerly  nr00t.
banned by request (again)

Karma: -45
Posts: 34/93
Since: 07-12-23
Code for the spritedb if anyone wants to make code changes and send a PR to dirbaio.

He seems to check github relatively often so perhaps he will take notice of this.
derpboard
Posted on 08-19-24, 03:11 pm
Super Koopa
That MvL Hacker

Karma: 1701
Posts: 807/833
Since: 04-11-15
* cries in my PR that has been open for almost a year
_________________________
Here's my MvL Hacking thread

Consider joining the NSMB DS Hacking Discord Server! Also, be sure to check out the new wiki!

#HakingNoMore
Posted on 08-19-24, 03:13 pm (rev. 2 by  KingYoshi on 08-19-24, 03:15 pm)
Fire Snake
Eugene

Karma: 3810
Posts: 1125/1156
Since: 11-29-11
If an Object can also be called an Actor, can a Stage Object also be called a Stage Actor?

If you're going to rename sprites to "stage objects", then how would you call what NSMBe calls objects?



Posted by ItzTacos
- Community contributions to the documentation are too open; people kept adding unexisting settings in the forum's database with no code knowledge or by trial and error and this is not what we want


Is the new database public? Could you show it?

Posted by Keeper
(…)

I'm not sure what it was, but something in your post ruined the mobile view for this page. :')
Posted on 08-19-24, 03:15 pm
Mole
I do things sometimes

Karma: 1037
Posts: 335/366
Since: 08-07-17
Posted by KingYoshi
If you're going to rename sprites to "stage objects", then how would you call what NSMBe calls objects?

fwiw i use "tile objects" when i feel distinction helps
Posted on 08-19-24, 03:17 pm
Ninji
MammaMia Team Member

Karma: 615
Posts: 222/232
Since: 04-26-19
There is no new database, apart from a spreadsheet to track down reverse engineering progress.

Regarding the naming conventions and their issues, read the last part of what Keeper quoted.
_________________________
Youtube - GitHub - NSMB Central
Posted on 08-19-24, 03:17 pm (rev. 1 by Thierry on 08-19-24, 03:23 pm)
この記号は… 解読できないよ…


Karma: 6341
Posts: 2745/2788
Since: 01-17-13
Posted by Keeper

Stage Object IDs


Stage Object IDs, also referred to as Sprite IDs (yes, the ones shown in NSMBe), are the identifiers of the Stage Object, wrongly known as sprites.
Stage Objects are not actors, they are abstract entities which are bound to Objects completely independently.
When the game loads a stage, it goes through the placed Stage Objects and, to spawn the corresponding Object (aka, the Actor), it goes through another table.
Adding up, ObjectInfos should be actually named StageObjectInfos as they are structures only used for when the game spawns the Actor as a placed Stage Object in the level and they have no effect on standard spawning.

The term "actor" has been in use for a long time by Skawo, MeroMero and the like. I've long internalized that "sprites" are but shells that load the respective actors and "sprite data" is carried over from the "sprite" to the "actor".

In that sense, I don't see what's wrong with the name aside from code consistency.
Personally, I find "sprites" to be more distinct from "objects" (the name used for tiles) which the latest editor still uses. (and also I like the distinction between the container and the actual actor because these two are not necessarily the same in that sprites are but a subset of actors that you can actually place)

Same for tile behavior, it's just a name at the end of the day.
Posted by Keeper
Posted by ItzTacos
CORRECT NAMES FOR A BUNCH OF STUFF ASM Hacks -> Code mods Sprite (as for non placeable stage objects) -> Actor actor / Stage actor Sprite -> Object / Stage object Spritedata -> Object settings / Actor settings Spriteset -> Object bank Tile behaviour -> Tile type (for code consistency) Bottom background -> Background (for code consistency) Top background -> Foreground (for code consistency)
(fwiw no one uses the names noted as being for code consistency, i dont believe)


I would do this:

ASM Hacks -> Code hacks/mods Sprite (non placeable) -> Stage actor Sprite -> Sprite Spritedata -> Spritedata Spriteset -> Actor bank Tile behavior -> Tile behavior/tile type Bottom background -> Background/bottom bg Top background -> Foreground/top bg


The latter are interchangeable. This is a more classic approach that remains consistent.
Also, be wary of the "my terms are the only correct ones and the rest is bad" because people will call stuff what they want to call them.
Posted on 08-19-24, 03:24 pm (rev. 2 by  __fp on 08-19-24, 03:26 pm)
Shyguy
Formerly  nr00t.
banned by request (again)

Karma: -45
Posts: 36/93
Since: 07-12-23
Posted by KingYoshi
Posted by Keeper
(…)

I'm not sure what it was, but something in your post ruined the mobile view for this page. :')

Codeblocks/quote padding doesn't behave nicely on mobile.

Posted by Ndymario
* cries in my PR that has been open for almost a year

Probably his way of saying "won't add", but he's too lazy to explain why. Surprising he'd just ghost you like that, that's the sort of thing I'd expect him to do to those he sees as below himself and the other "old staff".

(Either way, it's clear as day he only really comes online when summoned by the old guard these days. Also I wonder how he reacts to that obfuscated tracking image in the ipban message being removed.)
derpboard
Posted on 08-19-24, 03:25 pm (rev. 1 by  KingYoshi on 08-19-24, 03:26 pm)
Fire Snake
Eugene

Karma: 3810
Posts: 1126/1156
Since: 11-29-11
Posted by ItzTacos
There is no new database, apart from a spreadsheet to track down reverse engineering progress.

Regarding the naming conventions and their issues, read the last part of what Keeper quoted.


If there's no new database, then.. ehm, then I don't really get the point you made earlier. That spreadsheet doesn't contain the useful info from the community built database. If there's no alternative for that, the one on NSMBHD should stay.

Posted by Keeper
Posted by KingYoshi
If you're going to rename sprites to "stage objects", then how would you call what NSMBe calls objects?

fwiw i use "tile objects" when i feel distinction helps


If "object" is supposed to refer to actors, I don't know if "tile object" would be a good idea for a term to use. It may be confusing. Perhaps "stage tiles" would make more sense. But then again, maybe not.

Posted by Thierry
Also, be wary of the "my terms are the only correct ones and the rest is bad" because people will call stuff what they want to call them.


Yea. I'm sorry to say, but those were kinda my thoughts too when I read this. I don't find your perspective bad per se, but the way you bring your ideas does kinda come over.. forceful.
Posted on 08-19-24, 03:27 pm
Super Koopa
That MvL Hacker

Karma: 1701
Posts: 808/833
Since: 04-11-15
Posted by nr00t
Probably his way of saying "won't add", but he's too lazy to explain why. Surprising he'd just ghost you like that, that's the sort of thing I'd expect him to do to those he sees as below himself and the other "old staff".


To his credit, he has said in DM last November that he is busy rn and plans on reviewing the changes soon :tm:.
_________________________
Here's my MvL Hacking thread

Consider joining the NSMB DS Hacking Discord Server! Also, be sure to check out the new wiki!

#HakingNoMore
Posted on 08-19-24, 03:28 pm (rev. 3 by  ItzTacos on 08-19-24, 03:32 pm)
Ninji
MammaMia Team Member

Karma: 615
Posts: 223/232
Since: 04-26-19
Posted by Thierry
Also, be wary of the "my terms are the only correct ones and the rest is bad" because people will call stuff what they want to call them.


It's not a "my terms are the only correct ones and the rest is bad", it's more of a "after working with the game's code for a lot of time, that is one way we ended up to make sense of it".

I don't go against people calling stuff the "old way" because the inconsistency is there to begin with and it's hard to get around; it's obvious that a lot of names have been established even if their correctness is ehhh debatable.

Final objective would be having all names to match the codebase so that everythin gmakes sense, however...
that is simply something that cannot be easily fixed considering that all of the people that have big knowledge about the game's backend do not have much motivation or time to spend onto fixing the mess that NSMBe is or building a whole new editor for example (at least for the most part).

Let's keep stuff how it is and not deal with that now as it is the least important problem, as that would create even more confusion.
When there's gonna be time and people to come up with good names for everything then that'll be done.

_________________________
Youtube - GitHub - NSMB Central
Posted on 08-19-24, 03:29 pm
Fire Snake
Eugene

Karma: 3810
Posts: 1127/1156
Since: 11-29-11
If this ain't activity, I don't know what is. Let's celebrate!

Posted on 08-19-24, 03:32 pm (rev. 1 by  __fp on 08-19-24, 03:34 pm)
Shyguy
Formerly  nr00t.
banned by request (again)

Karma: -45
Posts: 37/93
Since: 07-12-23
* __fp gives  KingYoshi and Thierry headpats

Funny enough, Thierry was also online on the board's highest ever online record: lol
derpboard
Pages: « 123456 »