Register - Login
Views: 87349093
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - JCS - Stats - Latest Posts - Color Chart - Smilies
11-19-17 12:12:59 PM

Jul - Game Research/Hacking/Modding - I offer 50$ to restore GIB routine in Cruis'n USA New poll - New thread - New reply
Pages: 1 2 3Next newer thread | Next older thread
brian151
Banned
The administration (as well as a few users) have decided that you're creepy/weird enough that it's time to activate the sploded clause.
Laters.


Level: NaN


Posts: 202/-249
EXP: NaN
For next: 0

Since: 08-09-16
From: USA

Since last post: 108 days
Last activity: 81 days

Posted on 07-01-17 09:03:02 PM Link | Quote
Originally posted by BoringPerson
Originally posted by ihadtnowegtum
also, you may put a seizure warning with those spoilers, for those whom have such issues. just a friendly suggestion.

Oh crap, you're completely right! Alright, that should be better, and I really should be limiting the number of large gifs per page anyway.

Originally posted by ihadtnowegtum
how did you get that second one?
randomize vertex positions?


Yep, correct. I randomized X, Y, and Z positions this time, not just X position like in the Cruis'n USA gifs. It's such a dumb hack and I love it to bits.



happens, but yeah...
I embedded (or tried) a decent sized MLP GIF on wikifoundry
i had to hotlink it, sadly...

figured
i love it, too... should make a ROM hack or AR code for it if possible...XD
CruisnEma
Member
Level: 19


Posts: 71/79
EXP: 32313
For next: 3464

Since: 02-01-12


Since last post: 92 days
Last activity: 4 days

Posted on 07-02-17 06:01:57 AM (last edited by CruisnEma at 07-03-17 10:28:36 AM) Link | Quote
Originally posted by BoringPerson
Have fun!

P.S. This code is very sloppy, and it will probably mess up or crash other parts of the game if you leave it on. If you can't get it to work (very possible, it's a sloppy code) then let me know and I'll put up a few gifs or something.

Well, you replaced the 3D models with other in the stage? Then is the GIB routine? I think is the right routine, for deer and cow use 2 different 3D models and textures, but if you can replace with these I think will not be a problem for you. The only problem could be find the original 3D models... But first I think the problem is set them randomly in the stage like in the arcade, and set also the cow's cry when you pass near it (prehaps you can copy the near cry from the trucks when you pass near them, also without touch them, they play the horn), the cry is into the rom is the song number 61, and have to play at the 6000 sample rate, I found it with the soundlist tool, if you want to check in the tool you have to search it in the "instruments" table and under it set the 6000 sample rate. The cow is also static, without animation.

Can you please try to put the cow in Iowa for now? Have to be in Indiana, but if you can't reach Indiana in an easy way (you have to press a button combination to highlight it and not is easy at the beginning if you don't know Cruis'n USA) to test it, test if you can put it in the street with the cry and set the routine you have found with these 3D models to test the GIB, and if the 3D models are missing maybe I can ask to my cousin if could create them for me, also if I don't know how insert to the game yet.

P.S. I have a question... When you hit the deer in the arcade version appear only 1 skull and other undefined pieces, with your code appear I think 3 unit of 2 different signs, bar and the payment cabinet, you set them randomly or the routine then load this 3D models in this way? Could be a problem, have to load only 1 skull as example. XD
BoringPerson
Member
Level: 10


Posts: 20/33
EXP: 3253
For next: 1161

Since: 01-28-17


Since last post: 6 days
Last activity: 2 days

Posted on 07-05-17 11:50:23 PM Link | Quote
(I've put both images behind spoiler tags because IMO they're kind of motion-sickness inducing if you watch too long.)

First, an explanation for anyone else reading—here's what the code I posted is supposed to do:
Spoiler:

The code makes that orange-and-white sign gib when you hit it, and it turns the invisible roadkill chunks into other visible models.

Spoiler:

Also, you can hit the roadkill chunks and bump them around, just like in the arcade version.
Unfortunately the code is really specific and kind of shoddy—it only works at the first toll booth in Iowa. (It also sort of works at the 2nd tollbooth, but the roadkill chunks turn into different models this time, and the game may act strangely.)

(Incidentally, my earlier attempts to hack the N64 video plugin were probably pointless, so it's a good thing I gave up on that. Roadkill chunks use a model value of 00000000—I suspect that means no model at all. So if my suspicion is correct, my attempted hack would have done absolutely nothing to make roadkill chunks visible.)

Originally posted by CruisnEma
(things to try)

Unfortunately, that stuff is all beyond me right now. I wasn't kidding when I said my code was shoddy—it's good for proving that the gib routine exists, but it's not good for actually putting the cow back in the game yet.

To be honest, I'm not sure what I'm going to do from here on out. It's not very clear what I need to do next. I also want to get back to hacking another game I was working on, but I don't want to drop this entirely. I'll need some time to think about this (and just to take a break in general and get recharged).

Originally posted by CruisnEma
P.S. I have a question... When you hit the deer in the arcade version appear only 1 skull and other undefined pieces, with your code appear I think 3 unit of 2 different signs, bar and the payment cabinet, you set them randomly or the routine then load this 3D models in this way? Could be a problem, have to load only 1 skull as example. XD

When I run into that orange-and-white roadblock sign, the values for the roadkill chunk models are read from four places in memory:
address:value:model:
80045410:00000000no model
80045420:00000000no model
80045430:00000000no model
80045440:00000000no model

As you see, all four of these places normally have a value of 00000000, which is why the roadkill chunks are invisible.

This is what the code changes them to:
address:value:model:
80045410:8015 8FC4stop sign
80045420:8015 8D5Cred bar
80045430:8015 8E58orange-and-white sign
80045440:8015 8DCCblue pillar

(Incidentally, those same values will become other models later in the stage, so this isn't a reliable way to mod the game.)

Using the addresses above, the game creates roadkill chunks in this order. (I 'm only showing the last two digits of each address):
10 20 20 30 40 10
10 20 20 30 40 10
10 20 20 30 40 10

So that's a total of 18 roadkill chunks: in our case, I think it's 6 stop signs, 6 red bars, 3 orange-and-white signs, and 3 blue pillars. I don't see just 1 of anything that would correspond to the skull.

However, notice the final 10 is underlined. For some reason (if I'm understanding it correctly), all the roadkill chunks until that point are created in a single frame, but that final chunk is created on the next frame. This is pure speculation right now, but maybe the last one is meant to be a skull. If that isn't the answer, then I don't know, maybe they changed it for the N64 version. Or maybe there's something else going on.

So wait, does the cow have a skull when it gibs, or is that only the deer?



brian151
Banned
The administration (as well as a few users) have decided that you're creepy/weird enough that it's time to activate the sploded clause.
Laters.


Level: NaN


Posts: 212/-249
EXP: NaN
For next: 0

Since: 08-09-16
From: USA

Since last post: 108 days
Last activity: 81 days

Posted on 07-06-17 02:33:09 AM Link | Quote
*BARF!* JK LOL
idk how long i'd have to stare, i think i'd get totally bored LOOOONG before then.
Maybe if I browsed this thread while riding in a car! lol

Cool!

Well, my guess is either the devs have hard-coded the addresses/values of that stuff, or it's programmatically working-out the way you've observed. I can't say I'm surprised at this behavior.
One of my earlier attempts to do a full sprite-rip from ViewPoint for the Neo-Geo was particularly interesting... Sprites were, basically, jumping addresses. "oh, this ship just moved a few pixels-" "-and a few memory addresses". I gave-up using the sprite viewer pretty early... It was absolutely tedious...
Another thing to consider is back in the day, with as not powerful as the machines were, memory had to actually be managed. Probably what happens is the devs re-used the same memory addresses and change them when it's safe to do so. Optimizations also might explain how all but one of the models/objects were created on the same frame. In modern engines, the game ticks/updates at slower rate than it draws, well, usually... In a particularly intense moment, it may also do certain things in smaller batches. (Say I needed to initialize 100 objects, fairly complex ones. One way would be throw-up the loading screen and generate 10 of those objects each frame. If you've ever played MMOs, you'll know that they are big fans of the loading-while-playing model. I actually want to use it, myself.) Anyways, this is all just speculation... Take from it what you may. My suggestion would be figure-out why/how those addresses work-out the way that they do. Hopefully there's some function responsible for the loading/unloading of objects. (it'd be possible to invoke that if you did find it, right?)
CruisnEma
Member
Level: 19


Posts: 72/79
EXP: 32313
For next: 3464

Since: 02-01-12


Since last post: 92 days
Last activity: 4 days

Posted on 07-06-17 04:04:52 PM Link | Quote
Originally posted by BoringPerson
(I've put both images behind spoiler tags because IMO they're kind of motion-sickness inducing if you watch too long.)


Also, you can hit the roadkill chunks and bump them around, just like in the arcade version.
Unfortunately the code is really specific and kind of shoddy—it only works at the first toll booth in Iowa. (It also sort of works at the 2nd tollbooth, but the roadkill chunks turn into different models this time, and the game may act strangely.)

(Incidentally, my earlier attempts to hack the N64 video plugin were probably pointless, so it's a good thing I gave up on that. Roadkill chunks use a model value of 00000000—I suspect that means no model at all. So if my suspicion is correct, my attempted hack would have done absolutely nothing to make roadkill chunks visible.)

Originally posted by CruisnEma
(things to try)

Unfortunately, that stuff is all beyond me right now. I wasn't kidding when I said my code was shoddy—it's good for proving that the gib routine exists, but it's not good for actually putting the cow back in the game yet.

To be honest, I'm not sure what I'm going to do from here on out. It's not very clear what I need to do next. I also want to get back to hacking another game I was working on, but I don't want to drop this entirely. I'll need some time to think about this (and just to take a break in general and get recharged).

Originally posted by CruisnEma
P.S. I have a question... When you hit the deer in the arcade version appear only 1 skull and other undefined pieces, with your code appear I think 3 unit of 2 different signs, bar and the payment cabinet, you set them randomly or the routine then load this 3D models in this way? Could be a problem, have to load only 1 skull as example. XD

When I run into that orange-and-white roadblock sign, the values for the roadkill chunk models are read from four places in memory:
address:value:model:
80045410:00000000no model
80045420:00000000no model
80045430:00000000no model
80045440:00000000no model

As you see, all four of these places normally have a value of 00000000, which is why the roadkill chunks are invisible.

This is what the code changes them to:
address:value:model:
80045410:8015 8FC4stop sign
80045420:8015 8D5Cred bar
80045430:8015 8E58orange-and-white sign
80045440:8015 8DCCblue pillar

(Incidentally, those same values will become other models later in the stage, so this isn't a reliable way to mod the game.)

Using the addresses above, the game creates roadkill chunks in this order. (I 'm only showing the last two digits of each address):
10 20 20 30 40 10
10 20 20 30 40 10
10 20 20 30 40 10

So that's a total of 18 roadkill chunks: in our case, I think it's 6 stop signs, 6 red bars, 3 orange-and-white signs, and 3 blue pillars. I don't see just 1 of anything that would correspond to the skull.

However, notice the final 10 is underlined. For some reason (if I'm understanding it correctly), all the roadkill chunks until that point are created in a single frame, but that final chunk is created on the next frame. This is pure speculation right now, but maybe the last one is meant to be a skull. If that isn't the answer, then I don't know, maybe they changed it for the N64 version. Or maybe there's something else going on.

So wait, does the cow have a skull when it gibs, or is that only the deer?





Yeah, but the cow's skull is obviously different.

Then however when I thought that could be the pieces after the spinning I thought correctly. XD Yeah, is the GIB routine, is sure. Is great that is however existing, in Cruis'n World is fully working also if hidden, in Exotica if you hit an animal over the limits it only spin you around and bounce itself, recycling palms effect. But for Exotica is different, was ported in only 8 months, too things are unported.

Now the issues could be that have to load the sprites and the 3D model assigned to the track segment?

However you think that the 3D models and the textures couldn't be in the rom? If not, you could extract one random 3D model from the rom (and if you could re-insert into will be better)? I could pass it to my cousin to remade the needing models, he needs of N64 3D models, to see how many poligons are in the N64 models. Maybe couldn't be very faithful but without the original from the arcade one is the only way.

P.S. Please, don't quit the project, I trust in you, Cruis'n USA will be completed and will be beathiful.

Cruis'n World and Exotica have to spend too time to fix, not are only censored, but also too different and too things are missing. Cruis'n USA need only of restoring the censorship.
brian151
Banned
The administration (as well as a few users) have decided that you're creepy/weird enough that it's time to activate the sploded clause.
Laters.


Level: NaN


Posts: 214/-249
EXP: NaN
For next: 0

Since: 08-09-16
From: USA

Since last post: 108 days
Last activity: 81 days

Posted on 07-06-17 07:20:47 PM Link | Quote
Originally posted by CruisnEma
Cruis'n USA need only of restoring the censorship.


Sorry, but had to be said!
(spoilered in case of being considered "NSFW")
Spoiler:

NUDE GIRLS!!!!


Also, don't you mean "removal of the censorship" or "restoring of the censored content" ?
CruisnEma
Member
Level: 19


Posts: 73/79
EXP: 32313
For next: 3464

Since: 02-01-12


Since last post: 92 days
Last activity: 4 days

Posted on 07-07-17 12:43:54 PM (last edited by CruisnEma at 07-07-17 12:44:15 PM) Link | Quote
Only the trophy girl was censored, and I already did it years ago, and works perfectly also in the VC channel. XD XD XD

https://www.youtube.com/watch?v=5tLGSoB1m0c
BoringPerson
Member
Level: 10


Posts: 24/33
EXP: 3253
For next: 1161

Since: 01-28-17


Since last post: 6 days
Last activity: 2 days

Posted on 07-07-17 09:01:19 PM Link | Quote
Originally posted by CruisnEma
Someone know how extract textures or 3D models from Cruis'n USA, a Midaway game, from the arcade version?


I think that isn't the biggest obstacle right now. It will be necessary later, but I think right now the biggest issue is: does the N64 version have routines to place cows/deer randomly on the road, and if so, how the heck do you find those routines?

I am going to take a break of sorts. I made a personal wiki, but there's nothing on it yet so I won't link it. I will put some findings about from various game hacking stuff, including for Cruis'n USA. That way, someone else who knows how to hack games can see what I've found and maybe help out.
CruisnEma
Member
Level: 19


Posts: 75/79
EXP: 32313
For next: 3464

Since: 02-01-12


Since last post: 92 days
Last activity: 4 days

Posted on 07-08-17 09:50:17 AM Link | Quote
Mhh, I don't know if the routine could exists in the N64 rom, but I know that the crowd at the finish line is every time different and SubDrag changed the Cruis'n World trophy girl function for me, adding the random texture loading to load every time a different costume for the trophy girl, he said via a sort of timer, maybe the timer that reads the elapsed race time.

Maybe could be the same thing for the Roadkill function, maybe there are track segments where an animal could appear in the track, but maybe are loaded only if the timer matches. Sometimes you can see a cow just before the finish line in Indiana, but only sometimes.

Maybe you have to put about 10 cows/deers in the tracks, but that can be loaded only if the timer matches.
Maybe would not be very faithful, we don't have the arcade source code, but would be very similar.

I don't know if the game only put a cow randomly in every point of the track only following the right side rule, but I don't think, the coordinates can't be always the same, the road have the turns.

Otherwise if you want you could search the original function, if still exists (but I don't think, however is still a surprise discover what the devs made, then could be) would be better, would be very faithful to the arcade one.

If you think that will be easy extract the textures/3D models from the arcade rom is also wonderful!
CruisnEma
Member
Level: 19


Posts: 76/79
EXP: 32313
For next: 3464

Since: 02-01-12


Since last post: 92 days
Last activity: 4 days

Posted on 07-14-17 12:14:04 PM Link | Quote
Hem, Boring, can you please fix also the D-pad left and right? 'Cause don't work fine, if with an emulator I map the analog stick with the D-pad the D-pad is very accurate, if I use the official D-pad with the WII VC channel (that can't be mapped) have hard controls and I prefer use the D-pad instead of the analog stick.

Cruis'n World didn't have the D-pad but the Not64 emulator that works very fine with World can be mapped, Cruis'n Exotica was the only game of the franchise that had a very fine D-pad.

I don't know how you could do it, if is possible copy the analog controls lef/right also with the D-pad, if isn't possible use the good left/right controls togheter with D-pad and analog stick I prefer switch them. Can you please fix them?
CruisnEma
Member
Level: 19


Posts: 77/79
EXP: 32313
For next: 3464

Since: 02-01-12


Since last post: 92 days
Last activity: 4 days

Posted on 08-16-17 06:56:25 PM Link | Quote
UP @BoringPerson where r u? XD
BoringPerson
Member
Level: 10


Posts: 28/33
EXP: 3253
For next: 1161

Since: 01-28-17


Since last post: 6 days
Last activity: 2 days

Posted on 08-16-17 09:10:56 PM Link | Quote
Oh hey, sorry about that. I was going to put up what I found so far on a wiki (probably DataCrystal), but then real life stuff happened as it typically does. I need to be honest here: Even though I got this far, I can't continue what I started—I just don't have the technical experience or the passion it requires. The best I can do is write what I found and hope someone else will read it and continue where I left off.

For now I'm still feeling tired from real-life stuff, but if I get around to writing a page on DataCrystal, I'll say so here.
CruisnEma
Member
Level: 19


Posts: 78/79
EXP: 32313
For next: 3464

Since: 02-01-12


Since last post: 92 days
Last activity: 4 days

Posted on 08-17-17 07:06:55 AM (last edited by CruisnEma at 08-17-17 07:15:32 AM) Link | Quote
Ok, thank you.

However once you said that you can rip 3D models and textures from the arcade, can you help about then please?
BoringPerson
Member
Level: 10


Posts: 29/33
EXP: 3253
For next: 1161

Since: 01-28-17


Since last post: 6 days
Last activity: 2 days

Posted on 08-18-17 12:06:03 AM Link | Quote
Originally posted by CruisnEma
However once you said that you can rip 3D models and textures from the arcade, can you help about then please?


I don't remember saying that, and if I did say it, I apologize because that isn't something I can do now
CruisnEma
Member
Level: 19


Posts: 79/79
EXP: 32313
For next: 3464

Since: 02-01-12


Since last post: 92 days
Last activity: 4 days

Posted on 08-19-17 05:50:06 AM Link | Quote
Ok, no problem, thank you.
BoringPerson
Member
Level: 10


Posts: 30/33
EXP: 3253
For next: 1161

Since: 01-28-17


Since last post: 6 days
Last activity: 2 days

Posted on 08-20-17 02:38:20 AM Link | Quote
Okay, the page is now up at Data Crystal, where it will remain if I didn't screw anything up too badly. (Check the Notes page for stuff about Roadkill Collision.) Unfortunately my motivation ran out before I got the chance to find where those RAM values are loaded from in ROM.

And with that, my involvement is over. I'm sad it had to end like this, but I'm happy I got a chance to play with a Nintendo 64 debugger and try out some new things.

Speaking of new things... CruisnEma, I don't know how familiar you are with MIPS assembly (which is what the N64 uses), but if you are interested in learning it, this online tutorial looks like a good place to start.
Pages: 1 2 3Next newer thread | Next older thread
Jul - Game Research/Hacking/Modding - I offer 50$ to restore GIB routine in Cruis'n USA New poll - New thread - New reply




Rusted Logic

Acmlmboard - commit 2f1bc75 [2017-08-27]
©2000-2017 Acmlm, Xkeeper, Inuyasha, et al.

27 database queries, 11 query cache hits.
Query execution time: 0.135741 seconds
Script execution time: 0.034418 seconds
Total render time: 0.170159 seconds