JosJuice
She/They
Editor, Emulator Coder
Joined: 7/3/2010
Posts: 193
Location: Sweden
grassini wrote:
player keeps crashing,can't watch the video,anybody else got this problem?
If you'd rather watch it on YouTube, it's also available there: Link to video
aldelaro5
He/Him
Joined: 1/8/2014
Posts: 29
Location: Canada, Quebec
Axodo wrote:
Hi. Maybe it's something already known, but as I' am not sure i want to share this with you. I remember that it happened once that I went through the floor in this game. It was in the level 3-3, when you enter a pipe in the tree (the room with the horizontal moving platform). Because my english is rather bad, I suggest you to take a look to this veeeeery beautiful picture that explain better than I could do what happened to Mario : http://image.noelshack.com/fichiers/2015/42/1444759990-img-20151013-200749.jpg This was some years ago, so I am not 100%, but if I remind correctly, I did a crouch jump to go to the little hole just before the platform (which was moving from right to left) reached it. But instead of walking on the floor, Mario just went through, so I did just land on the switch. Once again, this happened some years ago, so I am not able to give you more details. But I am sure that it happened. Hope this could be useful ;)
After talking with the user in French and some testing (sorry for the delay, btu I had priorities and a lot of docs to do), I found a way to reproduce said clip here: Link to video Everything I know is in the description. As for other stuff I have done since, I did a lot. here;s some docs: Every maps in the game, the unused one was documented in a video made by Got4n which I credit him for it :) https://docs.google.com/document/d/10w4CS5oNBOHHYtM9OrNUYM7GIqNxIaR-b_Sr8FSG7Pk/edit?usp=sharing Link to video Next, a doc on every triggers in the sequence: https://docs.google.com/document/d/1gxALlevkiz-i18lJG700VJF4_NzesA30X1hj0atk1vg/edit?usp=sharing Self explanatory, but very important. Also, here;s a quirk on the card flags array, they are jsut setting if you obtained at least once the card, they are not setting the quantity which is in a different array: https://docs.google.com/document/d/1YgBugQTBrL_IW9EL9uuthqBfSAtFNSNeyAWjX0xAUVc/edit Do not ask why there;s little endianess going on, i am clueless. Also, I found a lot of usefull offsets about misc stuff usefull for testing the 2d/3d mechanic, but let me jsut tell what i know so far. Basically, the hitboxes of objects in 2d mode gets expanded. Some like save blocks expands their htibox on the map Z axis and always that axis, but others expands them relative to your axis of movement (so I coudl tilt my camera angle and get different hitboxes) This is the case for the later with npc and doors, might have other obejcts too. The hitboxes takes effect if the object is loaded at the very least, some may have restriction such as the tower elevator door in flipside/flopside. If you don;t get it, here's some visuals: I am still in 2d mode, I just made the map render graphically like in 3d and as you can see, i could hit the save block even though I am clearly not under it. As for the npc hitboxes getting tilted, here: i am talking to the yellow npc in 2d mode with a hacked camera angle of about 63 degrees. Oh and this is what happens if you are in 3d witht he 2d render: All I think this render does is it loads some panel of the map to the front and remove any sense of perspective, it;s purely graphical, but it can also load less stuff than if it was the 3d render because the 3d render loads more. The camera tilting the movement is also the same in 3d mode so I think it;s safe to conclude that the camera angle is telling how you can move in the game no matter what mode you are. Also, VERY important PSA: every offsets that I declared in ANY document (this includes the current resources page) are ONLY for the 1.1 version if said offsets were in NTSC-U. I am aware of that, i didn't know a 1.1 version existed, but basically, Coolkirby, before I update my docs for the 1.0 version, please indicate that the offsets on the ressources page ar for the 1.1 version of the game. I will do most testing in 1.0 because 1.1 is known to have a bugfix for a clip in a shop at 1-2. I think that's pretty much it, eventually, I will update all my offsets to have both 1.0 and 1.1 and I found a lot more so the page could be updated. :)
Even if it's a sequel, lots of people have to give their all to make a game, but some people think the sequel process happens naturally." - Masahiro Sakurai
Editor, Experienced player (570)
Joined: 11/8/2010
Posts: 4038
aldelaro5 wrote:
but basically, Coolkirby, before I update my docs for the 1.0 version, please indicate that the offsets on the ressources page ar for the 1.1 version of the game.
I included the note on the page, and I'll also add this clip there once you have the v1.0 offsets ready...and I have more time.
aldelaro5
He/Him
Joined: 1/8/2014
Posts: 29
Location: Canada, Quebec
CoolKirby wrote:
aldelaro5 wrote:
but basically, Coolkirby, before I update my docs for the 1.0 version, please indicate that the offsets on the ressources page ar for the 1.1 version of the game.
I included the note on the page, and I'll also add this clip there once you have the v1.0 offsets ready...and I have more time.
Actually, everything I said in every docs and clips are all accurate with the only exception of the addresses. So the clip can alone be safely added, the map ID are definitely not going to change as well as the sequence position. The other solution for me is to remove any offsets references in these docs assuming I would have them explained in a separate offset table later (this will not be done this soon, it will take several hours to have offsets for both versions and I need more time than weekend, not to mention i have other priority in testing). How does that solution sounds? Because I have been already testing for 3 weeks lol :)
Even if it's a sequel, lots of people have to give their all to make a game, but some people think the sequel process happens naturally." - Masahiro Sakurai
Post subject: I have done a lot of works on enemies data
aldelaro5
He/Him
Joined: 1/8/2014
Posts: 29
Location: Canada, Quebec
Hello everyone :) I am really happy to say that I have been working a lot the past 2 weeks on collecting data on the enemies of the game and that I finally was able to compile a huge database of them. Basically, the data are stuff like the drops rate, items that could be drop, score given and even the speed when you will bounce on the enemies. So, I HIGHLY recommend CoolKirby to read this post as what I am about to say is a lot of resources materials. Essentially, me and a certain Jdaster64 tried to find data on drops rate and coins and we found a database in the game RAM. On 1.0 NTSC-U version, the database is located at offset 0x3FC290 and contains exactly 535 slots each containing 104 bytes of different data types and sizes. After several days of works, I was able to reverse engineer the data format and as I was learning a bit of java programming, I had the idea to write a program that would write to a txt file formatted so it would paste very well on a spreadsheet. i successfully done the program and got all the data i could get which is a lot more than what tasers would need. There was so much data for each slots that I basically restrained a bit because either it was irrelevant or the data wasn't used and always had the same value or I simply coudln't figure it out. So, this is the link to the formatted spreadsheet of every enemies data in the game: https://docs.google.com/spreadsheets/d/19x-hYSGjF2-TsDkWCzAGyCQ3HGxRUZIAtV63om4hnsU/edit#gid=0 If you are curious/want to try to figure out what hasn't been yet, this if the full version: https://docs.google.com/spreadsheets/d/1FyI2ZXGoysDGG2jQHfQmS1U-267sLbmhq3Adytk-UK4/edit?usp=sharing However, I actually didn't took some values as unsigned in this one so there;s some (not much) numbers that doesn't make sense, but it;s an easy fix (I don;t even need to write another txt because there;s too little). The column without names in them are those that I have yet to figure out. some unused bytes and a certain pointer was skipped because the former were not used at all and the later I couldn’t make any sense of where it was pointing to. So, because you would probably be more interested in the restrained version of the doc, I will talk referring to it. First, the first column and the first row aren't data, I just identified them so you know what to look for and for the first row, if it needs precision, I put parentheses because you would notice that a lot of the enemies has multiple slots related to them. EVERYTHING else is directly coming from my program which I used a ram dump to have all the data. I tested myself every data and their impact on the game with Cheat engine and I can confirm every effects of them (they basically changed every instances of the concerned enemies so changing the hp of the goomba changed every hp of ever goombas created). Now, let me explain the columns meaning as the rows are self explanatory. Name: not in the data, I put it myself so it's easy to know what it is for, I had to test to know some of them so i am pretty confident they are accurate, but just saying as I might have done mistakes. If I put DUMMY, it;s because I have a pretty big confidence the slot is unused, btw, some are very interesting as I think they suggest unused stuff like for example, a third Dimentio fight. Identifier: this is the dev name of the enemy, it has that name if it is loaded as an actor in the game (the actors slots begin at offset 0x78A6E4 1.0 NTSC-U version). If NULL, it means no identifier is there, but that still means there's relevant data. Card identifier: this is the ID of the corresponding cards in which the enemy is attached. For some reasons, this ID is in every enemies slots and is a very good indicator to find the slot on cheat engine. For more info about ID, please check the following spreadsheet: https://docs.google.com/spreadsheets/d/1r4N9HSJjyR4AFehS34rsG4fX_YzSThagv7oBmwa5k6c/edit?usp=sharing Hitbox: in 2 values, typical of how the game manages hotboxes. the thing to take note here is this isn't necessary the damage hitbox, but it is the hitbox the game would use to calculate collision with the enemies and the map/other enemies. Max HP: self explanatory, I will only point the interesting fact that it is only on a single byte. Attack, self explanatory, also is in a single byte. Score given if killed: it is self explanatory, but emphasis on if KILLED here. There's other values for other stuff. Little interesting fact, there is another score for when an enemy got affected by something like an item or Fleep, however, inspection of the data showed that it is never used except for some DUMMY labelled slots. This suggests an unused feature of the game. Score for the stylish: this one requires a bit of explanation. You can do different stylish in the game depending how you move the wiimote. What they do is it;s just a multiplier applied to the base. So far, i saw x1, x1.5 and x2 on the first stylish, I didn't checked when you combo the stylish, but it is always done on the base hence its place here. additional coins drop rate: this is where it gets very interesting. The game manages coins drop in a very similar way than TTYD. You have a minimum amount, a maximum amount and a percentage for a chance of getting an additional coin. So, if the minimum is 1 and the maximum is 3 with an additional drop rate of 60%, it means you are sure to get one coin, 60% chance to get a second coin and after, another 60% chance to get the third one. The only thing you have to remember is the higher the additional drop rate is, the more likely you will get an amount close to the maximum and vice versa. However, this game has 2 unused data according to coins drop: the minimum amount is ALWAYS 0 on every enemies and there's a global coins drop rate (the chance to get ANY amount of coins) which for some reasons is always 100%, it;s weird, but that;s how it is. So, the maximum additional coin amount is technically the maximum as the minimum amount is always 0. this also means that you do have chances on every enemies to get 0, but depending on the additional coin drop rate, it can be very rare to get that. Item drop rate: it;s the rate for dropping ANY item, if it passes, no coins will drops for sure. Items list with the weight: it tells if the enemy will drop an item from what items it could drop. The array uses a weight system (100 being the neutral value) and this is essentially the higher it is, the more the chances of getting the items IF the enemy will drop is higher (it;s like it "stands out" more). Initial bounce ejection speed: if you jump on an enemy, you will bounce on it. the initial ejection speed is how fast the game will try to push you away from the enemy initially meaning it is not a consistent speed, it can be resisted against (i see it as if the game tried to move me and then it dies down some frames after). Nominal ejection speed: That one however, is consistent and is directly written in the speed scaler meaning it can push REALLY hard if it;s high and resisting is almost impossible. I figured these would be helpful to calculate the boost of speed you might get if you jumps on enemies. Number of entities: This is a weird one, it's the number of......I guess "things: that the enemies might use. It might be just graphical, but sometime it has other features for example, the pokey has 4 entities, each one for their body part. I put it here because I noticed weird test result of me going through some parts of the pokey if I changed the value to a lesser one. For the last things, If I put NULL anywhere, it either means the data isn't present or in the case of items, nothing. That's all, I have for the enemies data, I hope this will become useful when planning a tas route for the game because I do agree that it can be tough as far as optimisation is concerned, but now, AT LEAST you have the resources to plan it. CoolKirby, idk how you can integrate the spreadsheet (I more like you use the one I called friendly version), but I really want at least a link or something, a lot of people have been asking me to get these data since a long time so it must be in demand to consult them. Thanks, I will soon have more time to do even more docs and correct my addresses stuff so that I can finally glitch hunt the game, I have been concentrating my effort on docs because the game is really long overdue with docs so yeah. :)
Even if it's a sequel, lots of people have to give their all to make a game, but some people think the sequel process happens naturally." - Masahiro Sakurai
Spikestuff
They/Them
Editor, Publisher, Expert player (2655)
Joined: 10/12/2011
Posts: 6446
Location: The land down under.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Joined: 9/17/2016
Posts: 2
Location: At a computer
Some very useful stuff in this thread. I was looking at those enemy data lists and they seem to be missing something that I happen to be looking for. That is, well I'm not really sure, all I know is that Super Dimentio's is 0xFF. I need to know this particular bit of data for the rest of the enemies. I searched in a hex editor, the file for what I assume is Super Dimentio and found FF many times in it. But when looking at regular Dimentio (e_dmen) on the same row, there was something completely different and it didn't look at all similar to the file I think is Super Dimentio (e_DmenL_s (there are many DmenL files and I looked at several of them)) Skawo, who uploaded the unused enemies video, explained to me how to replace the first Squiglet in 1-1 with Super Dimentio, which is how I know Super Dimentio is associated with 0xFF. The Squiglet was apparently 0xFA, though that was in the code several times despite the other enemies being Goombas. If I was more knowledgeable about the code of this game I'd search more for this data, but I've exhausted all my abilities to no avail. (Side effects of Super Dimentio in the first level are pretty funny though) Sorry about this pretty random request, I just recently got into the SPM hacking (read: goofing off) scene and while I don't really intend to speed run it, there seem to be pretty knowledgeable people here so I thought I'd give this a shot.
aldelaro5
He/Him
Joined: 1/8/2014
Posts: 29
Location: Canada, Quebec
fawfulthegreat64 wrote:
Some very useful stuff in this thread. I was looking at those enemy data lists and they seem to be missing something that I happen to be looking for. That is, well I'm not really sure, all I know is that Super Dimentio's is 0xFF. I need to know this particular bit of data for the rest of the enemies. I searched in a hex editor, the file for what I assume is Super Dimentio and found FF many times in it. But when looking at regular Dimentio (e_dmen) on the same row, there was something completely different and it didn't look at all similar to the file I think is Super Dimentio (e_DmenL_s (there are many DmenL files and I looked at several of them)) Skawo, who uploaded the unused enemies video, explained to me how to replace the first Squiglet in 1-1 with Super Dimentio, which is how I know Super Dimentio is associated with 0xFF. The Squiglet was apparently 0xFA, though that was in the code several times despite the other enemies being Goombas. If I was more knowledgeable about the code of this game I'd search more for this data, but I've exhausted all my abilities to no avail. (Side effects of Super Dimentio in the first level are pretty funny though) Sorry about this pretty random request, I just recently got into the SPM hacking (read: goofing off) scene and while I don't really intend to speed run it, there seem to be pretty knowledgeable people here so I thought I'd give this a shot.
These do need to be updated (found more on soem pointers), but here's the raw version: https://docs.google.com/spreadsheets/d/1A6WT-1lkjGlQdDWUgLvAdo98kzGdxIxOsdU89fG98nk/edit?usp=sharing They have data that I know are emaningfull, but as you will notice, not all of them seems usefull. The other version was made from figuring stuff out. Maybe I missed something?
Even if it's a sequel, lots of people have to give their all to make a game, but some people think the sequel process happens naturally." - Masahiro Sakurai
Joined: 9/17/2016
Posts: 2
Location: At a computer
aldelaro5 wrote:
fawfulthegreat64 wrote:
Some very useful stuff in this thread. I was looking at those enemy data lists and they seem to be missing something that I happen to be looking for. That is, well I'm not really sure, all I know is that Super Dimentio's is 0xFF. I need to know this particular bit of data for the rest of the enemies. I searched in a hex editor, the file for what I assume is Super Dimentio and found FF many times in it. But when looking at regular Dimentio (e_dmen) on the same row, there was something completely different and it didn't look at all similar to the file I think is Super Dimentio (e_DmenL_s (there are many DmenL files and I looked at several of them)) Skawo, who uploaded the unused enemies video, explained to me how to replace the first Squiglet in 1-1 with Super Dimentio, which is how I know Super Dimentio is associated with 0xFF. The Squiglet was apparently 0xFA, though that was in the code several times despite the other enemies being Goombas. If I was more knowledgeable about the code of this game I'd search more for this data, but I've exhausted all my abilities to no avail. (Side effects of Super Dimentio in the first level are pretty funny though) Sorry about this pretty random request, I just recently got into the SPM hacking (read: goofing off) scene and while I don't really intend to speed run it, there seem to be pretty knowledgeable people here so I thought I'd give this a shot.
These do need to be updated (found more on soem pointers), but here's the raw version: https://docs.google.com/spreadsheets/d/1A6WT-1lkjGlQdDWUgLvAdo98kzGdxIxOsdU89fG98nk/edit?usp=sharing They have data that I know are emaningfull, but as you will notice, not all of them seems usefull. The other version was made from figuring stuff out. Maybe I missed something?
I've went over that document as well, and I still can't find the data I'm looking for. And Skawo just replied on his YouTube video that 0xFA can mean many things and not just a Squiglet... makes me wonder how hard it would be to find what code pertains to each enemy (such as the Goombas in the room) and what the corresponding code is for other enemies (I'm most interested in the bosses) Also, thank you for figuring out how to load any map in the game. Without your documentation of all the maps code and how to spawn the player in them, I wouldn't have been able to explore Mario's house, etc (and of course, flip to 3D in them)
Fortranm
He/Him
Editor, Experienced player (879)
Joined: 10/19/2013
Posts: 1122
Link to video It sucks that this doesn't allow you to enter 6-3 early, but it's an interesting sequence break nonetheless.
aldelaro5
He/Him
Joined: 1/8/2014
Posts: 29
Location: Canada, Quebec
Fortranm wrote:
Link to video It sucks that this doesn't allow you to enter 6-3 early, but it's an interesting sequence break nonetheless.
This is weird, I did tested getting past the trigger point via hacking and It wouldn't unlock the door and even if the door wasn't locked, it would not be activable. Maybe it only work in this area? As for the end one, well, considering how solid the triggers in this game are, not really surprised lol, wouldn't even be surprised if it checks if the trigger is equal.
Even if it's a sequel, lots of people have to give their all to make a game, but some people think the sequel process happens naturally." - Masahiro Sakurai
Fortranm
He/Him
Editor, Experienced player (879)
Joined: 10/19/2013
Posts: 1122
Maybe it only works on Japanese version? I doubt if this is even the same map you visit post-game, given that you have to restart from 6-1. BTW, the fact that you can't make the credits roll for a second time kinda makes it hard to define the end point of a 100% run.
Joined: 5/9/2005
Posts: 752
Not saying it's "correct" necessarily, but the only, so-called, 100% run done ends at the Chapter Clear screen for Chapter 6. ie, going back and doing all of the Slamer Guy Kingdom.
Fortranm
He/Him
Editor, Experienced player (879)
Joined: 10/19/2013
Posts: 1122
Wow, I didn't know there is a Chapter Clear screen for post-game Chapter 6! I probably just used pipe to leave the stage because I didn't notice the goal block.
Tompa
Any
Editor, Expert player (2224)
Joined: 8/15/2005
Posts: 1943
Location: Mullsjö, Sweden
Joined: 3/1/2009
Posts: 64
Not gonna lie, I was not expecting much from the TAS, but from what I've seen of it so far, it's really interesting to watch :)
Joined: 7/18/2017
Posts: 1
Tompa wrote:
Link to video
2:03:12. I don't read Japanese, but I guess it said (while Mario was clipping through the wall to save time) "Since Feb 2017, TASVideos.org has been saying 'No time-saving applications for this trick have been discovered yet.' What a pity!" (that refers to the very bottom of this page: http://tasvideos.org/GameResources/Wii/SuperPaperMario.html )
aldelaro5
He/Him
Joined: 1/8/2014
Posts: 29
Location: Canada, Quebec
user670 wrote:
Tompa wrote:
Link to video
2:03:12. I don't read Japanese, but I guess it said (while Mario was clipping through the wall to save time) "Since Feb 2017, TASVideos.org has been saying 'No time-saving applications for this trick have been discovered yet.' What a pity!" (that refers to the very bottom of this page: http://tasvideos.org/GameResources/Wii/SuperPaperMario.html )
That's interesting that he reached out to this page because most of the top portion was from me, I added a lot of doc about the memory and speed. It's nice to hear :)
Even if it's a sequel, lots of people have to give their all to make a game, but some people think the sequel process happens naturally." - Masahiro Sakurai
Fortranm
He/Him
Editor, Experienced player (879)
Joined: 10/19/2013
Posts: 1122
Fortranm
He/Him
Editor, Experienced player (879)
Joined: 10/19/2013
Posts: 1122