Register - Login
Views: 99768607
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-02-22 05:17:29 PM
Jul - Posts by Doogie1012
Pages: 1 2
Doogie1012
Member
Level: 15


Posts: 1/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 10-21-08 09:40:23 AM, in SM64 Side-View Platformer Idea Link
Camera ASM

Well after reading this I was thinking...

Would it be possible to make a Super Mario 64 Side-View Platformer like the old SNES days. By editing where the camera is pointing from and to and disabling vertical axis input/movement (would that ASM routine be difficult to find?)

Anyway its just an idea.

(Actually now that I think about it, Enemy Routines would have to be edited/rewritten )
Doogie1012
Member
Level: 15


Posts: 2/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 10-23-08 06:08:08 AM, in Level editing, WITH GAMESHARK?!? Link
Wow. I didn't realize people even looked at my Mario Object Editor anymore .

Maybe VL-Tone should consider a reverse of the Rom Extender where it compresses the rom again (if thats possible). In fact, the project your working on messiaen has got me interested in Mario 64 rom hacking again. If there is anything I can do for you to make things easier, let me know.
Doogie1012
Member
Level: 15


Posts: 3/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 10-24-08 01:42:56 PM, in Level editing, WITH GAMESHARK?!? Link
Well I assume that the reason to compress MIO0 files again was so that Nemu could run the rom and allowing you to be able to debug easier. But as you said, problems would arise if the rom got bigger.

anyway, since a mod wants to close this topic, I'll leave it be and post a new topic if I have more queries or w/e.
Doogie1012
Member
Level: 15


Posts: 4/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 10-24-08 01:49:30 PM, in Level Editing Topic (last edited by Doogie1012 at 10-26-08 08:09 AM) Link
Seems to be a need for a generalized 'Level editing' topic, I'll use this one then. Sorry for the hijack.
Various people: Ask your level structure questions here. -Metal Man


Well I have a few Q's about how levels operate.

Basically, I tried to copy the entire level code from Bom-omb Battlefield and override Whomps Fortress.

Of course, I didn't expect this to work as it was a MAJOR long shot in getting levels not the same size to execute.

Bom-Omb Battlefield Level Size - 1360 bytes
Whomp's Fortress Level Size - 3264 bytes

Since there are a few people here who actually know how SM64 is structured and have N64 asm knowledge, I was wondering if there are any key values to possibly help make level copying a reality or explain to me why it isn't possible.

Thanks for your time.
Doogie1012
Member
Level: 15


Posts: 5/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 10-26-08 11:05:08 AM, in Level Editing Topic Link
Alright, after reading it over for a while, I finally grasp what your saying

So would copying the Bom-Omb Battlefield level to 014A0000 work, since all the data after that is just bytes with the value of 1. (and there is MORE then enough space )

Of course I would have to change where the Whomp's Fortress HUB code points to correct? So the code would be:

00 10 00 0E 014A0000 014A0550 0E000264

Which is located at 2AC224/2802212 address.
Doogie1012
Member
Level: 15


Posts: 6/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 10-28-08 08:19:42 AM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) Link
Originally posted by messiaen
Some glitches may be caused by the "Wire Box", I used some different RSP commands borrowed from another object to get the transparency, and it somehow affects other objects. I have never seen anything happening with stars or the HUD though.

But changing a bit the topic, now that I have worked a bit with a conditional command to load Mario/Luigi based on the player's choice, It wouldn't be hard to implement a day-night cycle. All that I would need is a few different versions of some of the backgrounds or choosing a background order using existing ones. So, one background would be used for the morning, another one for afternoon, another one for the night, etc.

Basically, the game would keep a RAM variable, an integer which would be incremented each time you enter a level. Then, every 3 levels (or any other number) you enter the backgrounds would advance to the next setting. The same variable could be used for cool effects, such as: talk to Yoshi early in the morning and you'll get a star.

I have never really messed with Tile Molester or graphic utilities that can edit ROM textures, so I was wondering if it would be possible to make a few varations of the same background (ie, make it a bit darker) to get even more variety. A long time ago someone posted a program to change RGB of textures, I was wondering if something similar to this would work.



O.M.G, that is an awesome idea. When you do implement the day and night cycle, can you make a detailed tutorial on the steps taken to do that and how it works (like explain the ASM for example). If its not to much to ask of course. I would love to see a tut on how you implemented character switching on the menu as well, that would be sweeeet.
Doogie1012
Member
Level: 15


Posts: 7/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 10-30-08 01:04:29 PM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) (last edited by Doogie1012 at 10-30-08 10:06 AM) Link
How about all of the above?

To battle bowser you must have gotten around 75-85% of stars, the first part of the Bowser battle is on the Castle Rooftop, then after you beat him, you can battle stage two which is in a custom battle arena

To battle the 'final' boss that gives the Power Star, you must have grabbed every star in the game. (and beaten the two bowser stages)
Doogie1012
Member
Level: 15


Posts: 8/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 11-04-08 10:11:55 AM, in Level Editing Topic Link
NOTE: You may need to refer to VL-Tone's hacking documents to see what commands I talk about and possibly the rom bank document.

Alright, so basically I've been looking through my hex editor refering to the VL-Tone documents about how the geometry/polygons are loaded and etc. Im trying to find the RSP commands for specific levels so I can attempt to make my own level editor (I realize I dont need to, I have Toads Tool, but Im doing this just to understand how the game works a bit better).

Anyway I started with Bom-Omb's Battlefield and I searched for the command that loads polygon commands. I noted the various addresses that I had found and after swapping values around and running Mario 64 I determined these load the polygons of the level (obviously since thats what the hacking document says).


Found at 00405F48 / 4218696

---------------------------
15 01 00 00 07 004390 (offset: 17296, goto: 1459824 )
009D80
00A470
00A920
00DD18
00E338



For a while I messed around with trying to find what the address is of what this is pointing to. Then I found the ROM Banks document so 07 on the ROM Banks document was :


007 = 01442528 - 01443440 << Geo/Scr



Knowing this, I jumped to that address to find it executes commands '0D' and '02'.




0D 80 29 80
23 80 0F 80

02 C1 7F 15
7E 0F 7C C3



Now what '0D' does is currently unknown/undocumented. But '02' jumps to an address in the segment. Knowing this I converted 7E to 126 (Hooray MS Calculator) and looked up the ROM Bank document again.




126 = 17979563 - 18014833 << Poly/Tex



So now I convert 0F 7C C3 to 1014979.
So I assumed that by adding 17979563 + 1014979 together the address and offset I would come across more commands if I jumped to that address.

But I did not, just a heap of bytes of 01.

So where did I go wrong?
Doogie1012
Member
Level: 15


Posts: 9/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 11-04-08 12:52:58 PM, in Level Editing Topic (last edited by Doogie1012 at 11-04-08 09:53 AM) Link
Ah Thank you. I assumed that the commands jumped to RAM addresses but when I tried out adding the two together it came across to fairly valid commands so I disregarded my assumption.

I'll have a look in the Bom-Omb Battlefield level script then. Thanks.
Doogie1012
Member
Level: 15


Posts: 10/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 12-06-08 11:33:21 AM, in SM64 Music Editing Link
Your sir are a freaking legend.
That has got to be the coolest thing ever. Good job. Keep it up.
(post in restricted forum)
Doogie1012
Member
Level: 15


Posts: 12/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 12-11-08 10:40:07 AM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) Link
messiaen: I sent you a private message ages ago asking about the 0C command (not the asm opcode which ironically has the same 'jump' purpose, I think.)
Doogie1012
Member
Level: 15


Posts: 13/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 12-18-08 11:40:55 AM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) Link
I'm just wondering, is it possible to change the star behaviour so when grabbed it wont send you back to the Castle and you'll be able to continue walking around?
Doogie1012
Member
Level: 15


Posts: 14/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 12-25-08 01:33:45 PM, in Doogie's Super Mario 64 Editor Link
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:
Doogie1012
Member
Level: 15


Posts: 15/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 12-25-08 11:38:09 PM, in Doogie's Super Mario 64 Editor Link
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.
Doogie1012
Member
Level: 15


Posts: 16/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 12-29-08 09:58:24 AM, in Doogie's Super Mario 64 Editor (last edited by Doogie1012 at 12-29-08 09:06 PM) Link
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.
Doogie1012
Member
Level: 15


Posts: 17/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 12-29-08 12:43:10 PM, in Behaviour Scripts Link
I was wondering if anyone had checked to see if the speeches by Bowser, King Bom-Omb etc could be removed via the behaviour script, I'm hoping they used one 0C command for the speech so we could possibly remove it?

If we achieve this, then we can make multiple bowser boss fights without the player having to speak to all of them. Though I guess the speech asm would end up triggering/turning on the boss fight anyway.
Doogie1012
Member
Level: 15


Posts: 18/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 12-29-08 11:23:59 PM, in Doogie's Super Mario 64 Editor (last edited by Doogie1012 at 12-29-08 09:34 PM) Link
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.
Doogie1012
Member
Level: 15


Posts: 19/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 12-30-08 10:10:24 AM, in __ Link
why is there a random topic in the trash can?
Doogie1012
Member
Level: 15


Posts: 20/35
EXP: 14555
For next: 1829

Since: 10-21-08


Since last post: 11.6 years
Last activity: 9.2 years

Posted on 12-31-08 07:51:26 AM, in How to properly read level scripts? (last edited by Doogie1012 at 12-31-08 04:52 AM) Link
In my Mario 64 Editor I am currently working on making my level scanner actually jump when it needs to and scan ram segments etc.

Currently it just scans from start to finish which provides inaccurate commands (false postitives).

(Bom-Omb's Battlefield)
405D44 - 06 08 0000 15 000660

Command = 06, Jump to offset in ram segment
Length Byte = 08
Ram Segment No. = 15
Offset = 000660

To be able to allow my level scanner to jump to this location I need to know where Ram Segment Number 15 is loaded, unfortunately my hex editor can only search for 3 hex values at once (17 0C 00).

Based on results from my level scanner this bank is not loaded at the entry-point of the level.

(Just to be clear, everything here is hex, so the Ram Segment is 15 in hex and 21 in dec)
Pages: 1 2
Jul - Posts by Doogie1012


Rusted Logic

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

32 database queries, 44 query cache hits.
Query execution time: 0.085352 seconds
Script execution time: 0.021777 seconds
Total render time: 0.107129 seconds