Keeper |
Posted on 08-19-24, 01:09 pm
|
Mole
I do things sometimes Karma: 1037 Posts: 332/366 Since: 08-07-17 |
__fp |
Posted on 08-19-24, 01:19 pm
|
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... |
Thierry |
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. |
Ndymario |
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 |
ItzTacos |
Posted on 08-19-24, 02:12 pm
|
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 |
Thierry |
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? |
Keeper |
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) Posted by ItzTacos NSMB namings messObject IDsObject 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 ObjectProfile s (or ActorProfile s) 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 IDsStage 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, ObjectInfo s should be actually named StageObjectInfo s 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 CollidersThese 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 IllyCat |
ItzTacos |
Posted on 08-19-24, 02:58 pm (rev. 1 by ItzTacos on 08-19-24, 03:04 pm)
|
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 |
__fp |
Posted on 08-19-24, 03:02 pm
|
Ndymario |
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 |
KingYoshi |
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. :') |
Keeper |
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? |
ItzTacos |
Posted on 08-19-24, 03:17 pm
|
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 |
Thierry |
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 IDsStage 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, ObjectInfo s should be actually named StageObjectInfo s 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) 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. |
__fp |
Posted on 08-19-24, 03:24 pm (rev. 2 by __fp on 08-19-24, 03:26 pm)
|
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. 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.) |
KingYoshi |
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? 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. |
Ndymario |
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 |
ItzTacos |
Posted on 08-19-24, 03:28 pm (rev. 3 by ItzTacos on 08-19-24, 03:32 pm)
|
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 |
KingYoshi |
Posted on 08-19-24, 03:29 pm
|
Fire Snake
Eugene Karma: 3810 Posts: 1127/1156 Since: 11-29-11 |
__fp |
Posted on 08-19-24, 03:32 pm (rev. 1 by __fp on 08-19-24, 03:34 pm)
|