Register - Login
Views: 99378717
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-23-22 10:28:34 PM
Jul - SM64 Hacking (Archive) - Doogie's Super Mario 64 Editor New poll - New thread - New reply
Next newer thread | Next older thread
Doogie1012
Member
Level: 15


Posts: 14/35
EXP: 14542
For next: 1842

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 12-25-08 01:33:45 PM Link | Quote
Well after much procrastination, bug finding, and hopefully enough polish so no one runs into any errors. I present to you, Doogie's Super Mario 64 Editor.

This program can do two tasks, copy an entire level over another level (if there is enough space) and it will adjust the start,end and entry point addresses accordingly.

You can also change where the start,end address is so that you can make it copy over empty data at the end of the file.

The second feature is the command editor. This will read how the level script command is structured from easy to configure txt files, it will be able to scan a level and find the addresses of where the command is located, but thats not all. You can click on the addresses found and edit the object based on how the command file was structured.

The UI I admit, is fairly bland, but after reading the README.txt included, you should be able to navigate around it fairly well.

Merry X-Mas.

DOWNLOAD:
Download Super Mario 64 Editor 0.10.zip

SCREENSHOT:
Me-me
340
Level: 41


Posts: 57/341
EXP: 461678
For next: 18467

Since: 08-05-07


Since last post: 9.7 years
Last activity: 8.1 years

Posted on 12-25-08 09:39:30 PM Link | Quote
I didn't know it was possible to create such programs with gamemaker.
I find this very useful, good work there

____________________
Wow! SM64 is totally turned upside-down!
Doogie1012
Member
Level: 15


Posts: 15/35
EXP: 14542
For next: 1842

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 12-25-08 11:38:09 PM Link | Quote
For some reason Game Maker seems to get a bad reputation due to the first impression of the IDE. It actually has a code block which allows you to type code, the syntax is a lot like C++ except it has nice and easy to use functions for manipulating sprites, strings, and almost anything.

It can also call upon external DLL's, I have done this so I can read different data types as Game Maker only supports reading a program byte by byte.

I also want to add that some commands will be false, to easily overcome this just check to make sure the lengthbyte is correct.
messiaen
Catgirl
Level: 68


Posts: 447/1085
EXP: 2594033
For next: 134767

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 12-29-08 09:13:48 AM Link | Quote
I haven't tested it much, but the level copier seems interesting. The only problem I see is that textures will still be shared between levels, unless you make a copy of the texture segment, but then Toad's Tool 64 won't be able to edit the new texture segment (at least in the current version).

Perhaps you could use the list at the Background thread to implement a background swapper, that could be useful.

____________________
Mario 64 notes @ http://sites.google.com/site/messiaen64/
Doogie1012
Member
Level: 15


Posts: 16/35
EXP: 14542
For next: 1842

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 12-29-08 09:58:24 AM (last edited by Doogie1012 at 12-29-08 09:06 PM) Link | Quote
I'm not entirely sure what you mean with textures being shared between levels. I would have thought that in the level script the textures are loaded. (As this program does copy the entire level script from one to another)

I'll investigate background swapping, implementing this feature shouldn't take to long.

EDIT: My program already has the ability to background swap, though it isn't useful for noobies I guess... Using the Command Editor you can scan the map, look at the "Norm. Data" tab (level command 0x17 [load uncompressed data]) and find the command where "RAM Seg." is equal to 0A/10. You can manually edit the addresses yourself with ease.



In the screenshot above, I have edited Bom-Omb Battlefields 0A RAM segment to load the Bowser Course 1 background.
wwwarea
Member
Level: 21


Posts: 25/74
EXP: 45034
For next: 4909

Since: 08-10-08


Since last post: 9.7 years
Last activity: 9.4 years

Posted on 12-29-08 06:35:24 PM Link | Quote
He means like texture's like if you retexture the grass in the level that been replaced then the grass in the other level that you use to copy will be replace with the same texture you replace with.


Doogie1012
Member
Level: 15


Posts: 18/35
EXP: 14542
For next: 1842

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 12-29-08 11:23:59 PM (last edited by Doogie1012 at 12-29-08 09:34 PM) Link | Quote
Originally posted by wwwarea
He means like texture's like if you retexture the grass in the level that been replaced then the grass in the other level that you use to copy will be replace with the same texture you replace with.





Ahh, so the levels would end up linking to the same texture segment... hmmm, maybe I could implement it so when you copy the levels it keeps the original texture segment and copies the other level's texture segment over the current one. (hoping that all textures are the same size)

At the moment I'm mainly just cleaning up my code, condensing my code into easy to use functions and etc so It's easier to edit.

The next thing I'll be working on is making the Level Command Scanner be more accurate by starting from the entry-point and being able to use the jump/return commands.
wwwarea
Member
Level: 21


Posts: 26/74
EXP: 45034
For next: 4909

Since: 08-10-08


Since last post: 9.7 years
Last activity: 9.4 years

Posted on 12-30-08 04:49:53 AM (last edited by wwwarea at 12-30-08 01:54 AM) Link | Quote
That sounds nice.
Doogie1012
Member
Level: 15


Posts: 22/35
EXP: 14542
For next: 1842

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 01-01-09 01:20:55 PM (last edited by Doogie1012 at 01-03-09 08:36 AM) Link | Quote
Its now official and been incorporated.

The next version of Doogie's Super Mario 64 Editor will be able to recalculate the Checksum area with the simple press of R on your keyboard. (this will probably end up being a button on the GUI)

I've spent 3 days incorporating the chksum64 V1.2 sourcecode into the 39dll, so my editing program won't run any extra programs, and recalculating is literally instant.

Also I was thinking about adding a feature were you could shortcut 5 or so programs and it would automatically open the file your editing with that program if you pressed the shortcut button.

I'm just adding a few neat things here and there till someone finally answers my question about Ram Segment 0x15 and the Jump(0x16) command.

UPDATE: I've added an extra tab allowing you to edit some CRC data which will recalculate automatically after editing that value, like most of the program this uses a flexible system that you can edit, much like the command one. The values you can edit that currently will come with the next version are SKIP INTRO, SKIP LAKITU, MARIO STARTING LIVES.

I may even add support for allowing checkbox on/off switches. But for now, they will just have to null the data for Skip Intro and Skip Lakitu.
gamekrazzy
Member
Level: 32


Posts: 33/199
EXP: 194424
For next: 12018

Since: 03-06-09


Since last post: 10.4 years
Last activity: 8.6 years

Posted on 03-25-09 01:44:08 AM Link | Quote
Wow, this sounds cool. But as for the event which you skip Lakito. Maybe you could make it so that the event occurs in a different area, is that possible, For example, Instead of wanting Lakito to appear at bridge you want it to appear Right when you enter Castle, but then you would have problems with the scen where Bowser Talks, Maybe you could give the option to get rid of that too. In fact, Why don't you give the option to skip any scene we want skipped.
Note: I would not know how to do any of this, so I would not be able to help you much here. I am just stating my opinion.

____________________
Marioforever45

Level: 10


Posts: 3/13
EXP: 3290
For next: 1124

Since: 10-24-08


Since last post: 13.1 years
Last activity: 11.0 years

Posted on 03-31-09 01:50:41 AM (last edited by Metal_Man88 at 04-02-12 11:51 PM) Link | Quote
I didn't know I can do that in Game Maker
Good Job Doogie1012

Next newer thread | Next older thread
Jul - SM64 Hacking (Archive) - Doogie's Super Mario 64 Editor New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

33 database queries, 5 query cache hits.
Query execution time:  0.105356 seconds
Script execution time:  0.014554 seconds
Total render time:  0.119910 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 160 - Warning: unescaped & or unknown entity "&page"
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 148 column 37 - Warning: unescaped & or unknown entity "&id"
line 147 column 201 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 91 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 177 column 99 - Warning: unescaped & or unknown entity "&postid"
line 198 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 200 column 9 - Warning: missing <tr>
line 218 column 13 - Warning: missing <tr>
line 219 column 99 - Warning: unescaped & or unknown entity "&postid"
line 225 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 227 column 9 - Warning: missing <tr>
line 245 column 13 - Warning: missing <tr>
line 246 column 99 - Warning: unescaped & or unknown entity "&postid"
line 255 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 257 column 9 - Warning: missing <tr>
line 275 column 13 - Warning: missing <tr>
line 276 column 99 - Warning: unescaped & or unknown entity "&postid"
line 283 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 285 column 9 - Warning: missing <tr>
line 303 column 13 - Warning: missing <tr>
line 304 column 99 - Warning: unescaped & or unknown entity "&postid"
line 317 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 319 column 9 - Warning: missing <tr>
line 337 column 13 - Warning: missing <tr>
line 338 column 99 - Warning: unescaped & or unknown entity "&postid"
line 346 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 348 column 9 - Warning: missing <tr>
line 366 column 13 - Warning: missing <tr>
line 367 column 99 - Warning: unescaped & or unknown entity "&postid"
line 381 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 383 column 9 - Warning: missing <tr>
line 401 column 13 - Warning: missing <tr>
line 402 column 99 - Warning: unescaped & or unknown entity "&postid"
line 407 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 409 column 9 - Warning: missing <tr>
line 427 column 13 - Warning: missing <tr>
line 428 column 99 - Warning: unescaped & or unknown entity "&postid"
line 440 column 873 - Warning: missing </font> before </td>
line 440 column 846 - Warning: missing </font> before </td>
line 445 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 447 column 9 - Warning: missing <tr>
line 465 column 13 - Warning: missing <tr>
line 466 column 101 - Warning: unescaped & or unknown entity "&postid"
line 472 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 474 column 9 - Warning: missing <tr>
line 492 column 13 - Warning: missing <tr>
line 493 column 101 - Warning: unescaped & or unknown entity "&postid"
line 501 column 17 - Warning: missing <tr>
line 501 column 17 - Warning: discarding unexpected <table>
line 504 column 35 - Warning: missing <tr>
line 504 column 50 - Warning: missing </font> before </td>
line 504 column 91 - Warning: missing </font> before </table>
line 506 column 35 - Warning: missing <tr>
line 506 column 50 - Warning: missing </font> before </td>
line 507 column 37 - Warning: unescaped & or unknown entity "&id"
line 506 column 201 - Warning: missing </font> before </table>
line 508 column 17 - Warning: discarding unexpected </textarea>
line 508 column 28 - Warning: discarding unexpected </form>
line 508 column 35 - Warning: discarding unexpected </embed>
line 508 column 43 - Warning: discarding unexpected </noembed>
line 508 column 53 - Warning: discarding unexpected </noscript>
line 508 column 64 - Warning: discarding unexpected </noembed>
line 508 column 74 - Warning: discarding unexpected </embed>
line 508 column 82 - Warning: discarding unexpected </table>
line 508 column 90 - Warning: discarding unexpected </table>
line 510 column 9 - Warning: missing </font> before <table>
line 522 column 25 - Warning: discarding unexpected </font>
line 531 column 57 - Warning: discarding unexpected </font>
line 509 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 148 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 245 - Warning: <img> proprietary attribute value "absmiddle"
line 161 column 22 - Warning: <img> lacks "alt" attribute
line 161 column 63 - Warning: <img> lacks "alt" attribute
line 161 column 112 - Warning: <img> lacks "alt" attribute
line 161 column 162 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 195 column 1212 - Warning: <img> lacks "alt" attribute
line 202 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 202 column 15 - Warning: <img> lacks "alt" attribute
line 202 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 202 column 58 - Warning: <img> lacks "alt" attribute
line 202 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 202 column 101 - Warning: <img> lacks "alt" attribute
line 202 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 202 column 144 - Warning: <img> lacks "alt" attribute
line 202 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 202 column 187 - Warning: <img> lacks "alt" attribute
line 202 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 202 column 230 - Warning: <img> lacks "alt" attribute
line 203 column 22 - Warning: <img> lacks "alt" attribute
line 203 column 63 - Warning: <img> lacks "alt" attribute
line 203 column 112 - Warning: <img> lacks "alt" attribute
line 203 column 162 - Warning: <img> lacks "alt" attribute
line 204 column 11 - Warning: <img> lacks "alt" attribute
line 214 column 15 - Warning: <img> lacks "alt" attribute
line 222 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 222 column 187 - Warning: <img> lacks "alt" attribute
line 230 column 22 - Warning: <img> lacks "alt" attribute
line 230 column 63 - Warning: <img> lacks "alt" attribute
line 230 column 112 - Warning: <img> lacks "alt" attribute
line 230 column 162 - Warning: <img> lacks "alt" attribute
line 241 column 15 - Warning: <img> lacks "alt" attribute
line 260 column 22 - Warning: <img> lacks "alt" attribute
line 260 column 63 - Warning: <img> lacks "alt" attribute
line 260 column 111 - Warning: <img> lacks "alt" attribute
line 260 column 161 - Warning: <img> lacks "alt" attribute
line 271 column 15 - Warning: <img> lacks "alt" attribute
line 288 column 22 - Warning: <img> lacks "alt" attribute
line 288 column 63 - Warning: <img> lacks "alt" attribute
line 288 column 112 - Warning: <img> lacks "alt" attribute
line 288 column 162 - Warning: <img> lacks "alt" attribute
line 299 column 15 - Warning: <img> lacks "alt" attribute
line 312 column 746 - Warning: <img> lacks "alt" attribute
line 322 column 22 - Warning: <img> lacks "alt" attribute
line 322 column 63 - Warning: <img> lacks "alt" attribute
line 322 column 112 - Warning: <img> lacks "alt" attribute
line 322 column 162 - Warning: <img> lacks "alt" attribute
line 333 column 15 - Warning: <img> lacks "alt" attribute
line 351 column 22 - Warning: <img> lacks "alt" attribute
line 351 column 63 - Warning: <img> lacks "alt" attribute
line 351 column 112 - Warning: <img> lacks "alt" attribute
line 351 column 162 - Warning: <img> lacks "alt" attribute
line 362 column 15 - Warning: <img> lacks "alt" attribute
line 386 column 22 - Warning: <img> lacks "alt" attribute
line 386 column 63 - Warning: <img> lacks "alt" attribute
line 386 column 112 - Warning: <img> lacks "alt" attribute
line 386 column 162 - Warning: <img> lacks "alt" attribute
line 397 column 15 - Warning: <img> lacks "alt" attribute
line 412 column 22 - Warning: <img> lacks "alt" attribute
line 412 column 63 - Warning: <img> lacks "alt" attribute
line 412 column 112 - Warning: <img> lacks "alt" attribute
line 412 column 162 - Warning: <img> lacks "alt" attribute
line 423 column 15 - Warning: <img> lacks "alt" attribute
line 450 column 22 - Warning: <img> lacks "alt" attribute
line 450 column 63 - Warning: <img> lacks "alt" attribute
line 450 column 112 - Warning: <img> lacks "alt" attribute
line 450 column 162 - Warning: <img> lacks "alt" attribute
line 451 column 11 - Warning: <img> lacks "alt" attribute
line 461 column 15 - Warning: <img> lacks "alt" attribute
line 469 column 692 - Warning: <img> lacks "alt" attribute
line 476 column 11 - Warning: <img> lacks "alt" attribute
line 477 column 22 - Warning: <img> lacks "alt" attribute
line 477 column 63 - Warning: <img> lacks "alt" attribute
line 477 column 112 - Warning: <img> lacks "alt" attribute
line 477 column 162 - Warning: <img> lacks "alt" attribute
line 478 column 11 - Warning: <img> lacks "alt" attribute
line 488 column 15 - Warning: <img> lacks "alt" attribute
line 507 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 507 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 507 column 245 - Warning: <img> proprietary attribute value "absmiddle"
line 516 column 25 - Warning: <img> lacks "alt" attribute
line 521 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 501 column 17 - Warning: trimming empty <tr>
line 504 column 50 - Warning: trimming empty <font>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 219 column 27 - Warning: <nobr> is not approved by W3C
line 246 column 27 - Warning: <nobr> is not approved by W3C
line 276 column 27 - Warning: <nobr> is not approved by W3C
line 304 column 27 - Warning: <nobr> is not approved by W3C
line 338 column 27 - Warning: <nobr> is not approved by W3C
line 367 column 27 - Warning: <nobr> is not approved by W3C
line 402 column 27 - Warning: <nobr> is not approved by W3C
line 428 column 27 - Warning: <nobr> is not approved by W3C
line 466 column 27 - Warning: <nobr> is not approved by W3C
line 493 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 188 warnings and 0 errors!


The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md