Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Hacking Outrun 2006  (Read 359402 times)

0 Members and 3 Guests are viewing this topic.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1000 on: January 06, 2017, 02:23:46 am »
Thank you howard. But if I uncheck override the pedals wont register in the game. It's like it's not getting a signal from the pedals.

Any clues?

The game is rather awkward with the pedals.  You may have to press the gas halfway down when defining the inputs in the control setup, ect. 

mickael28

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 183
  • Last login:July 01, 2020, 07:56:15 am
  • I want to build my own arcade controls!
Re: Hacking Outrun 2006
« Reply #1001 on: May 07, 2017, 07:16:51 pm »
Hi guys,

I just discovered Outrun 2 recently and I got the following versions at the moment:
* Outrun 2006 Coast to Coast PC, + the hack that enables rumble (if I keep the force feedback option checked in, it just crashes the game), although I'm using a normal xbox 360 gamepad at present.
* PSP version
* PS2 PAL version
* PS2 Japanese version, which I think supports force feedback

Anyone has been playing the PS2 Japanese version with a force feedback wheel? is it a good experience to research and buy one mainly for this game? I'm playing with a gamepad at present as well there...
And is the force feedback in the hacked PC version good as well?

Between those 2 versions, which one would you recommend to play going by experience?

Many thanks


Olywa123

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • Last login:May 20, 2017, 10:19:00 am
Re: Hacking Outrun 2006
« Reply #1002 on: May 08, 2017, 12:29:20 pm »
I've been playing it quite a bit recently. Howard's hack is very good once you get it set up and working properly and the right route for arcade purists. I keep coming back to the PS2 Jap version in the end though (through an emulator - PCSX2). If you have a decent PC I recommend giving it a shot.

I use both with a Logitech G29 and the force feedback is great on either version but the PS2 Jap version just edges it for me once set up with Qemu plugin (details elsewhere in this forum). If you dive into the game settings menus you can increase the feedback as it's a little weak at default but VERY good on full).

Pro Tip: you can use google translate app through your phones camera to translate the game menus to janky english in real time which makes things easier.
2x Fight Sticks, 1x Wheel & Pedals, 2x LightGuns
+ 1x Wife
= No Cab :(

mickael28

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 183
  • Last login:July 01, 2020, 07:56:15 am
  • I want to build my own arcade controls!
Re: Hacking Outrun 2006
« Reply #1003 on: May 20, 2017, 09:19:47 pm »
I've been playing it quite a bit recently. Howard's hack is very good once you get it set up and working properly and the right route for arcade purists. I keep coming back to the PS2 Jap version in the end though (through an emulator - PCSX2). If you have a decent PC I recommend giving it a shot.

I use both with a Logitech G29 and the force feedback is great on either version but the PS2 Jap version just edges it for me once set up with Qemu plugin (details elsewhere in this forum). If you dive into the game settings menus you can increase the feedback as it's a little weak at default but VERY good on full).

Pro Tip: you can use google translate app through your phones camera to translate the game menus to janky english in real time which makes things easier.

Why do you seem to go back to the PS2 version?

I'm not been able to play it in PCSX2, it seems my computer is not powerful enough (it's just got a Intel HD 530 built-in, although I can play games like Metal Gear Rising at 1080p, Outrun emulated is unplayable!!)

Where do you change the feedback in the PS2 version, is it the last option in this screenshot? Is that all that can be changed for the wheel feedback?
And when you use the wheel in the Japanese version, is it real force feedback (as in feeling how the car pushes whilst cornering, or mainly just rumbling)?





Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1004 on: March 04, 2019, 08:30:48 pm »
So just when you think this project is dead I find something new. 

I was messing around with FXT this evening as I'm working on an upcoming mamehooker release when I found an extremely important memory location.  I've stumbled across the function that loads files into the game and parses them!  Why is this important?  Well any file in the game, from textures to the scripts that request the next stage go through this function, so if I can trace back what is writing to the function for a particular file, I can override that file name and load another one instead.  This could lead to anything from mods, to loading specific stages or even new stages!

It's too early to tell how much I can take advantage of this, but I'll keep you all apprised of new developments. 

I've already learned a couple of things though:

1. Scripts are loaded during the Ferrari splash screen just after launch.  That means they are probably all in an array somewhere, meaning it should be possible to swap them by changing memory locations.

2.  The next stage is loaded about a quarter of the way into current stage.  That explains why my attempts to swap a stage as you get to the fork in the road failed. 

MrThunderwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1054
  • Last login:Yesterday at 03:06:18 pm
  • As I pass, do I give you the ass or the crotch?
Re: Hacking Outrun 2006
« Reply #1005 on: March 05, 2019, 07:22:19 am »
This could lead to anything from mods, to loading specific stages or even new stages!

Oooooh, colour me excited by that.

isamu

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 807
  • Last login:March 18, 2024, 02:38:32 am
  • I'm a llama!
Re: Hacking Outrun 2006
« Reply #1006 on: March 05, 2019, 10:07:06 pm »
This could lead to anything from mods, to loading specific stages or even new stages!

Oooooh, colour me excited by that.

Me too!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  :applaud: :o :afro:   100 Stage routes anyone?  ;D  Import tracks from Scud Race, Ridge Racer or F-ZeroGX?  :applaud: :dizzy:

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1007 on: March 05, 2019, 11:19:21 pm »
Let's not go that nuts just yet.  I still need to poke around the assembly and figure out wtf it's doing in terms of file formats.  Actually if anyone is good at assembly I sure could use the help as I'm not.

I think a more reasonable goal would be maybe get the night and reverse tracks selectable for modes other than time trials.  I'm also hopeful that I might be able to get 15 stage continuous routes to work on a loop and just keep racing until you run out of time.  I need to get mamehooker out first though... one thing at a time. 

I've already learned a few things though.  the "req_" (request) scripts seem to only be used in 2006 mode as they are only loaded at bootup and whenever you exit 2sp mode.  Car models are loaded differently for the menus in the two modes as well.  In 2006 mode, the models are loaded on the fly, as you select the car.  In 2sp mode they are loaded all at once... probably because there are only 10 cars.  What I would like to do is somehow reroute the function that loads cars in 2006 to work in 2sp... then when extra cars are selected I could get the models to show up instead of using those cards like I have been. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1008 on: March 06, 2019, 01:15:27 pm »
So here's an interesting thing we might be able to take advantage of....  When on the loading screens the game starts loading the necessary files (duh).  If a file is missing though, it infinitely waits and retries until the file is present.  If you put it back, it continues to load normally. 

So barring I can't figure out how to do it the "right" way, here is my plan of attack to, for example, load a mod or a different stage from the one officially selected. 

1.  Just rename the whole dang folder so that nothing can load and it hangs.
2.  Read the file the game is requesting from the memory location and use a lookup table to load the appropriate mod/different file instead of that file, change the file path in memory to match, let it load, it'll hang on the next file because we renamed everything, look it up again.... lather, rinse repeat until the whole stage is loaded.  Boom, you've got a custom stage loaded. 

I messed with the files last night and by renaming and padding a few things I managed to get the beach night stage to load instead of the regular stage.  The only thing is I couldn't get the sun turned off or the headlights turned on.  I can probably work on that though.  The reverse courses will be more of a challenge as bunki alterations are required.  I'm going to have to setup a function in fxt that logs file paths as they are loaded in so I can get a better understanding of what each stage needs and how the loading process works. 

It might also work while playing the game in the other modes.  As I mentioned, the data for the next stage is loaded after you get about 1/4 of the way through the current stage.  I could rename the next stage after the current stage is loaded and use the same technique.  It doesn't take a particularly long time to load the stages, so even with the added delay everything should be fine. 

There are a lot of IFs that need to be perfectly aligned for such a  technique to work though, but I remain hopeful. 

buttersoft

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1758
  • Last login:March 22, 2024, 12:55:20 am
  • Is running at 15kHz
Re: Hacking Outrun 2006
« Reply #1009 on: March 06, 2019, 08:41:19 pm »
Damn, Howard, this all sounds pretty awesome :)

Boomslang

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1063
  • Last login:January 01, 2024, 08:20:43 pm
  • I want to build my own arcade controls!
Re: Hacking Outrun 2006
« Reply #1010 on: March 07, 2019, 01:18:49 am »
So here's an interesting thing we might be able to take advantage of....  When on the loading screens the game starts loading the necessary files (duh).  If a file is missing though, it infinitely waits and retries until the file is present.  If you put it back, it continues to load normally. 

So barring I can't figure out how to do it the "right" way, here is my plan of attack to, for example, load a mod or a different stage from the one officially selected. 

1.  Just rename the whole dang folder so that nothing can load and it hangs.
2.  Read the file the game is requesting from the memory location and use a lookup table to load the appropriate mod/different file instead of that file, change the file path in memory to match, let it load, it'll hang on the next file because we renamed everything, look it up again.... lather, rinse repeat until the whole stage is loaded.  Boom, you've got a custom stage loaded. 

I messed with the files last night and by renaming and padding a few things I managed to get the beach night stage to load instead of the regular stage.  The only thing is I couldn't get the sun turned off or the headlights turned on.  I can probably work on that though.  The reverse courses will be more of a challenge as bunki alterations are required.  I'm going to have to setup a function in fxt that logs file paths as they are loaded in so I can get a better understanding of what each stage needs and how the loading process works. 

It might also work while playing the game in the other modes.  As I mentioned, the data for the next stage is loaded after you get about 1/4 of the way through the current stage.  I could rename the next stage after the current stage is loaded and use the same technique.  It doesn't take a particularly long time to load the stages, so even with the added delay everything should be fine. 

There are a lot of IFs that need to be perfectly aligned for such a  technique to work though, but I remain hopeful.

If its similar file format to or2sp Lindbergh (which I think it is) then the sun off will be easy to do. I made a hack on that to raise and lower sun height and it was easy to make sun disappear too

Look at lens_offset_flare.bin (I think it was called that) just open in hex editor and then look for those values in ct when game running and should find the address pretty easy

It's pretty small file so there wasnt many values one of them was 0x94 which was the default sun height and mess with the value next to it and sun will go away etc
« Last Edit: March 07, 2019, 01:26:14 am by Boomslang »

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1011 on: March 07, 2019, 09:18:44 am »
Yeah it's there, I've monkeyed around with it before, but I don't know how much that's going to affect things.   I think it's a global variable.  I'd like to figure out exactly where it's getting the data from as the sun isn't in some stages and is at different heights, ect.  One would think it would be in "scn_env_sun_beac.bin" but apparently not.  I think that contains the actual sun graphic used, but that won't remove the light and shadows cast by the sun I'm assuming.  I've got to wonder why the night stage has one though.

It's one of those deals where we are going to have to figure out more stuff about the file formats, which I don't think many people have done yet. 

Boomslang

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1063
  • Last login:January 01, 2024, 08:20:43 pm
  • I want to build my own arcade controls!
Re: Hacking Outrun 2006
« Reply #1012 on: March 07, 2019, 07:33:40 pm »
Yeah it's there, I've monkeyed around with it before, but I don't know how much that's going to affect things.   I think it's a global variable.  I'd like to figure out exactly where it's getting the data from as the sun isn't in some stages and is at different heights, ect.  One would think it would be in "scn_env_sun_beac.bin" but apparently not.  I think that contains the actual sun graphic used, but that won't remove the light and shadows cast by the sun I'm assuming.  I've got to wonder why the night stage has one though.

It's one of those deals where we are going to have to figure out more stuff about the file formats, which I don't think many people have done yet.

Not sure with PC version but Lindbergh version never changes sun height anyway but keep it up man

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1013 on: March 07, 2019, 08:02:25 pm »
Well doesn't it effect the run rising/settings as the stage changes as well?  It's been quite a while so I very well could be wrong on that.  I'll mess with it regardless and see if I can fully decipher the format for the file.  Any data we learn will probably lead to better things. 


In other news.... I know people that just want a new version of mamehooker are getting tired of having to wait, but that may have to be put on the back-burner.  I'm starting to figure some of this data out..... Just played a 15-stage continuous round of HEART ATTACK!  :)

Seeing which file is loaded when really helps me understand what some of the more vague files do. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1014 on: March 08, 2019, 12:14:08 am »
So I've made some pretty good progress.  I've figure out how to force the three modes (outrun, heart attack and time attack).  I've also sort of figured out how to switch between outrun 2 and 2sp modes. 

More importantly though I've found the values for the stages attached to the first two exit ramps!  Yes you can change the stages and yes they work.  The remaining exit ramps aren't in the same area apparently, so it'll take more time to find them, but at the very least, shuffling around the stage order should be possible.  I'm going to keep working on it. 

isamu

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 807
  • Last login:March 18, 2024, 02:38:32 am
  • I'm a llama!
Re: Hacking Outrun 2006
« Reply #1015 on: March 09, 2019, 01:15:53 pm »
Great news bro!  :notworthy:

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1016 on: March 09, 2019, 02:00:50 pm »
Thanks.  That's about as far as I got though.  The other ramp values seem to be in a completely different location and since they never change value during gameplay (I'm assuming anyway.) they've been difficult to track down.  I learned a few things anyway.... if you set the ramp value to "FFFFFFFF" it turns the exit into a loop and you start the stage over. You can change this on the fly back to a stage number and the next go through the loop that exit ramp will exit to that stage. 

I believe I'm going to have to work with the files directly to do any significant changes to the stage order though.

I have decided to try and add in 15 stage Heart Attack mode for 2sp.  I can force heart attack mode and for the most part it works.  Because the stages aren't in the expected order the wrong heart attack requests are loaded, essentially making for a new experience.  The only bug is that in one stage it asks you to run on red (and then blue) and the road doesn't get colored in. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1017 on: March 12, 2019, 03:20:30 am »
So I stayed up way too late looking at the request files in the scripts folder.  They do define the stage and stage order for the cost 2 coast mode and I was able to re-arrange some stages, load stages from other modes, and load the bonus stages (reverse, sunset, ect). 

The stages don't connect correctly, but I'm working on that.  Having the variable for the last file loaded really helped as it turns out each stage needs an individual request file and the reason I couldn't swap out the sunset/twilight stages before had to do with the fact that the game stalled looking for their non-existent request files.  Fortunately the files for the daylight versions of the stages worked enough to load things. 

I think I'm *this* close to being able to properly load the night stages via memory manipulation.   

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1018 on: March 12, 2019, 04:59:43 am »
Good news everyone!  It's taken me nearly 5 years, but I've finally figured out how to change stage order!  For arcade mode, the stage orders are stored in csc_data_cvt.bin (or csc_data_2.bin for outrun 2 stages)

There are some headers and footers that I don't understand in there, but I mostly understand the branch format.  It's as follows:

SN 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ID 00 00 00 I2 00 00 00 00 00 00 00 00 00 00 00 00
BL 00 00 00 BR

SN=The stage number
ID = The unique hex value for the actual stage, yes this can be any stage for outrun 2 or sp, even the night and reverse stages
I2 = The secondary ID.  Seems to have special properties and controls the exit ramp somewhat.  If this is changed the exit ramp doesn't connect properly, so it must be left alone.  Setting it to all "FF"s turns it into a final stage, but it'll crash unless it's a real final stage. 
BL and BR are the exit ramp branch numbers that get connected to this stage.  There's no real need to change them, but I might be able to, let's say connect the last exit ramps back to stage 0 to cause an infinite loop. 

So more experimentation is need to see exactly what the limit to these scripts are.  With what I know now it should be possible to:

1.  Make random branches for a different game path every time.
2.  Mix Outrun 2 and 2SP stages.
3.  Make a reverse course mode for outrun mode and mix reverse stages in with the forwards ones.
4.  Insert the test stages and the night stages.

Assuming I include all of that, I'm hopeful that I'll be able to increase the length of a course to make 30 and 60 stage continuous modes as well as endurance modes (you keep racing until you run out of time.)

Exciting stuff on the horizon, but for now it's time to get some much needed sleep.....I'm too old to pull all-nighters like this anymore.

MrThunderwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1054
  • Last login:Yesterday at 03:06:18 pm
  • As I pass, do I give you the ass or the crotch?
Re: Hacking Outrun 2006
« Reply #1019 on: March 12, 2019, 04:00:17 pm »
I like the idea of being able to mix and match the OR2 and SP courses (and the Night and Dusk beach courses from time attack into the main game) and the idea of 30 and 60 stage marathons. Exciting stuff on the horizon indeed Howard, great that you're still managing to discover new things in the game  :applaud:

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1020 on: March 12, 2019, 08:33:12 pm »
Thanks.  I think it's legitimate proof that persistence works for getting things done even if you lack talent.

I went ahead and mapped out all the course IDs... all frikkin 64 of them.   :angry:

It looks like there are a few blank slots.... I don't know if they could be used to insert additional courses or not... more testing would be needed.  I need to figure out whatever array in memory the game is using these IDs for... perhaps then I could redirect it to a custom array for modded stages. 

I found out some more stuff.... first off arcade mode is way more forgiving than c2c mode.   The exit ramps and stages don't want to load when I add in reverse courses in c2c.  I think it's fixable though.  What's interesting is that reverse c2c challenges are fully finished and load for each stage.. the only thing missing is the girl's audio. 

Also when loaded into memory the scripts change a bit.  The unique stage ID is just changed back to the stage number and some sort of hash or address is loaded in that blank area between the two lines of hex.  It might be the memory address to the stage name, I dunno.  Regardless renaming the bin file in the exe or in memory doesn't work... the game crashes.  I think that header in the scripts is some kind of security checksum.  Of course the easiest way to get around it is to just rename the modded file to match the old one.... that works just fine. 

I'm going to try and extend one of the 15 stage scripts tonight... it'd be cool if that worked. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1021 on: March 12, 2019, 10:57:07 pm »
Ok so I experimented with changing the exit ramps and we have a few limitations.  It appears that the final stage(s) don't behave properly if you redirect them back to the first stage....I actually blew through the crowd and hit the base of the Statue of Liberty with my first test.  If you do any other stage though, it gives you an infinite loop if you re-direct back to the first stage.  So on the last exit ramp for a 15 stage continuous, I could set the left ramp to loop back around and the right to go to the final stage.... that'd still be a pretty cool endurance mode. 

It doesn't bode well for making the courses longer though... I'm going to have to study some more. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1022 on: March 13, 2019, 02:46:02 am »
So more testing.... I made a simple course with stages from both 2 and 2sp with some reverse courses thrown in and played the crap out of it just to make sure there aren't any issues.  Everything worked fine, so remixes and endurance modes are a go. 

Unfortunately I haven't been able to extend course length though... I believe it's a hard-coded value somewhere and I haven't been able to find it..... the ending animation is always New York as well in 15 stage mode, so that tells me that some of the info is stored elsewhere.  Ironically I did manage to shorten the course length ... it has no real problem with that.  If I can't find or change the hard-coded values the only way I can think of extending stage length would be to find where the script is stored in memory, have the last exit ramps loop around to the start, and change the script on the fly so that new values are in each loop.  That would assume that the game needs to re-read the data on each loop... it might not work that way. 

I experimented with time trial mode to make sure that works.... it does, but obviously it breaks the ghost cars as they were recorded on another stage.... they'll just drive off course and ect.  I haven't really messed with arcade mode heart attack yet, so I need to do that tomorrow night. 

So new modes guaranteed and since this stuff is complex, I'll try to go ahead and roll it into a release next weekend or something. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1023 on: March 14, 2019, 12:28:29 am »
To prepare for the new release, I'm making a simple course editor.  I might get it done tonight or tomorrow.  I'll release it when done as you can edit stages without any aid from fxt.  It'll probably work on the arcade version as well... I dunno as I haven't downloaded it yet.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1024 on: March 14, 2019, 01:36:46 pm »
Ok so far anyone I haven't bored to tears with my updates.  Last night I started looking for the files loaded into memory while working on the level editor.  I managed to find it, but it's not a static address so I'll have to go pointer hunting....  who knows if I'll actually be able to find a useable pointer.  I hope I can, because apparently the game is ok with editing the stage data on the fly.  There are of course limitations... the final stage is still unchangeable and you have to change the stage data while not on said stage.  It'll take some mental gymnastics (I might need help with logic guys) but 30 stage levels should be doable.... I'll just have to redirect the exit ramp for the second to last stage back to the starting stage and change all the stages to the next set of stages while on that stage.... in continuous mode anyway... thinking about how to spoof a 30 stage branched mode hurts my head. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1025 on: March 14, 2019, 03:51:46 pm »
I had a few minutes so I went and found the pointer I needed.....  I'm having trouble getting the timing right for changing the file though, so I might have ran into a  dead end for that idea.  I can still change the files themselves though so most stuff is still doable.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1026 on: March 15, 2019, 02:42:10 am »
So the course editing app is essentially finished.  I need to add one or two more functions to make it a little more user-friendly and then I can release it.  I'll include a few sample courses as well just to make things easier.  Expect that sometime tomorrow.  It'll still be some time before I can integrate custom course into fxt (as in changing on the fly) but things are still tons of fun as-is.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1027 on: March 15, 2019, 10:01:57 pm »
Ok guys knock yourself out!  The app probably has some bugs and manipulating the courses hasn't been fully tested, ect, but it should work for you.  Please read the readme as it's important for proper useage.

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1028 on: March 16, 2019, 12:28:37 am »
Thought I would dig into the script files a bit more to see what I can figure out.  That second byte after the stage id that I mentioned you shouldn't change.... turns out it controls the model tacked onto the end of the stage (which is usually the exit ramp). 

4c 00 00 00 = The generic "goal" end level with the crowd and banner.   It's important to note that this model doesn't seem to have any physics attached.  I turned it on for the first stage and you can drive right through it, down an invisible exit ramp into the next stage. 

I'm going to keep digging. 
« Last Edit: March 16, 2019, 12:53:29 am by Howard_Casto »

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1029 on: March 16, 2019, 12:59:50 am »
Ok now we are getting somewhere.  The second set of four bytes indeed controls the model attached to the end of the level.  90% of the time you use the same id as the stage and it works but there are exceptions...The night and sunset versions of the beach don't have end level models, and those are the replacement stages I primarily tested with, thus why I didn't think you could change those values.  Also the end level models for the end stages (big statues, skyscrapers, ect) have physics attached, and thus you can't warp unless you set those to a more traditional exit ramp..... this is why I couldn't get the infinite loops working on the final stage and it DOES work if properly configured. 

There are of course even more special exit ramps, like the ones that are blocked off, ect so I'll dig through the scripts even more to find those.  Dang it I just released the stupid level editor and it's already outdated. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1030 on: March 16, 2019, 01:42:25 am »
Ok I think I have most stuff mapped now.  All of the end stages have traditional exit ramps as well as their end levels stored in the ID array. 

hex values 41-45 are for the Outrun 2 end levels and 46-4a are for 2 SP.  4c is a generic end of course goal. 

That's as much as I've figured out.  I'm sure there are ways to call other special objects as well, I'm just having trouble finding it in the scripts. 

I'll have to adjust the course editor app accordingly.... allowing you to pick the exit/end model for each stage.  It'll need some smarts so I'll have to think on it. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1031 on: March 16, 2019, 11:05:12 pm »
I had to write a big old lookup table to get the proper exit ramps aligned with the proper stages but I think it's done.  Expect a new release of the course editor later tonight. 

That being said there doesn't seem to be a lot of interest in this, so I might just shelve it after that. 

SegaOutrun

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 406
  • Last login:March 28, 2019, 03:02:05 am
  • Brakes are overrated
Re: Hacking Outrun 2006
« Reply #1032 on: March 17, 2019, 03:11:20 pm »
im sure there more lurkers like me that get excited to see you do your magic. Keep up the good work

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1033 on: March 18, 2019, 02:13:51 pm »
I appreciate it man, but there doesn't appear to be much interest. 

Anyway, I decided to hold off on the next release.... I wanted to see how much the exit/end changes fixed things in terms of making odd layouts.   15 stage Continuous doesn't appear to care when you end the game... it can be on the first stage, but Branched modes seem to crash just after you enter the finish line.  Not that it matters.... I'm not sure why you'd want to to exit early anyway, but it was worth finding out.  Loops work anywhere now, so at least it fixes that much. 

Nuexzz

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 279
  • Last login:October 01, 2023, 01:26:58 am
Re: Hacking Outrun 2006
« Reply #1034 on: March 18, 2019, 02:54:18 pm »
I appreciate it man, but there doesn't appear to be much interest. 

Anyway, I decided to hold off on the next release.... I wanted to see how much the exit/end changes fixed things in terms of making odd layouts.   15 stage Continuous doesn't appear to care when you end the game... it can be on the first stage, but Branched modes seem to crash just after you enter the finish line.  Not that it matters.... I'm not sure why you'd want to to exit early anyway, but it was worth finding out.  Loops work anywhere now, so at least it fixes that much.

Honestly, the game seems very long to me.
I would like to play my selected track 8 continuous laps in this way I will learn the memory curves (as in scud, daytona, etc)

MrThunderwing

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1054
  • Last login:Yesterday at 03:06:18 pm
  • As I pass, do I give you the ass or the crotch?
Re: Hacking Outrun 2006
« Reply #1035 on: March 18, 2019, 03:17:11 pm »
im sure there more lurkers like me that get excited to see you do your magic. Keep up the good work

Likewise dude.  :cheers:

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1036 on: March 18, 2019, 03:21:50 pm »
I appreciate it guys.  I have other things to look into in regards to other file formats, but I think it's break time.  I'll release the next version, makes sure I have everything recorded in notes and then come back to it later.  I've found some interesting things, but it'd take a loooong time to get them figured out. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1037 on: March 18, 2019, 09:02:30 pm »
So I wanted to wrap up a few mysteries in regards to the rest of the stage files and I'm figuring more out.  The two files that contain the 15 stage continuous for outrun 2 and 2 sp, first off, also appear to control things in the outrun 2006 mode as do the branched files.  They don't control things in the coast 2 coast menus though.... those are a different set of files that are very similar. 

Anyway, there's some extra data in the files and now that I actually have everything mapped, I recognize what it is.....  It's the 15 stage reverse and individual stage courses used in time trial mode when in the 2006 menus.  I need to monkey with them a little to make sure what is what.  What's interesting is that the branched modes don't seem to use extra data for the goal specific outrun modes.

This serves as an interesting dilemma in regards to the course editor.... Should this stuff be split out so it's less confusing to edit or not?  I'm thinking just save the entire file to avoid confusion.  It means some major changes to the app though... I might go ahead and release what I have as-is in a few in case I get sidetracked or otherwise pre-occupied. 

The other scripts are starting to make more sense to me... it might be possible to change heart attack events and stuff like that with further research. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1038 on: March 18, 2019, 11:51:06 pm »
So I loaded up the additional course data in the course editor (yeah I already fixed it) and boy...it's weird.  The single stage levels are in reverse order, which is odd because they are single stages... the order shouldn't make any difference.  Also odd is the exit ramp assignments..... for most of the single stages the left ramp is set to the next stage and the right ramp is set to end....this is a special arrangement that creates a "finish/retry" gate.  Some of them have the end on the left ramp with the stage on the right though.... I have no clue why or what difference that would make.  It's probably worth investigation. 

Anyway, enough for tonight unless I have trouble sleeping.  I might try to figure out the odd exit ramp assignments tomorrow or I might go ahead and release the next version... I'm not sure. 

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19399
  • Last login:Yesterday at 05:29:33 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Hacking Outrun 2006
« Reply #1039 on: March 19, 2019, 02:55:43 am »
Well I couldn't sleep (what else is new?) so I went ahead and tried changing some of those stand alone stages in the 15 stage scripts.....I'm beginning to wonder if they are left-over courses that never got used or something because I changed them but I couldn't find them in the game.  I checked time trials, the flag man courses, everything.... 

Btw there's a completely unused, completely finished extra course in 2006 mode.  If you look in your scripts file you'll see a script called "Req_Course_MIX_PS2.bin"  As strangely as it's named, that's actually Holly's course file.  Ever wondered why her course is called "Mix 1" in the game?  Well because there's actually a second mix, apparently from the psp as it's called "Req_Course_MIX_PSP.bin"  If you just rename the file it won't work, but if you change the single byte different in the header at 0x20 it loads into Holly's menu just fine.  I tested it and as far as I can tell it's fully finished, with all the sounds and models in tact for the challenges.  It seems kind of odd... maybe this is supposed to be a hidden stage or something??  You know with the headers of those two being identical save the last letter and there only being a single byte different between the headers, it makes me think that maybe the headers are just hashes of the file name. 

Anyway, I think I'll go ahead and add in the remaining files that I've figured out, essentially allowing you to change all the courses in the game, tomorrow night.  Expect a release before the week is out then I'm done for a while.