Jump to content

MTA:VC Development Thread


Recommended Posts

I'm still alive. Just waiting.

Cleaned up a small bit of code recently... other than that, nothing to report. There's really nothing else I can do anymore except clean up more code, so clean up code I shall.

EDIT: Just kidding. Not just a small bit of code that was cleaned... I optimized up a massive amount of text drawing related code (spawn menu and speedometer) in both DM and stunt. The text's properties were being applied extremely inefficiently and it wasted a lot of otherwise useful memory. Basically, the MTA team for whatever reason chose to repeat some code wherever it was necessary rather than have only one instance of this code and having other code reference only the one instance. I think there'll be a massive cleanup of pretty much everything that has a lot of repeated code like this.

Do note that none of this code cleanup affects anything you'd see at all; the only thing it does is execute things more efficiently and save a lot of memory that I could use for more useful things (like better interior code or, depending on the number of threads it uses, stunting code in DM!).

One limit that will be difficult to work around is the thread limit; there is a maximum of 128 threads in SCM, and DM is at 122 and stunt is at 121 right now. I don't think I'll be able to consolidate many threads, but when I hit the limit I'll see what I can do.

Link to comment
  • Replies 163
  • Created
  • Last Reply

Top Posters In This Topic

Got stunting code working in DM, and also realized that stunt code is broken in the Stunt SCM (which makes no sense, since the same exact code works fine in DM). I'll fix stunt tomorrow and get rid of some extraneous code. After that, it depends on how much more memory I can free up.

Link to comment
How is this going? My friends and I play MTA:VC almost every day :oops: i can't wait! :D

With VCO out I haven't been trying to get the source. Last time I asked was February 22, 2009:

[12:45] hi, has the team made a decision regarding releasing the source of 0.5 yet?

[13:29] we dont want to release the sources right now, im sorry

[13:31] ok, thanks

[13:32] would you consider releasing them in the future?

[14:01] perhaps some day, its a real messy project

[14:01] alright well, thank you for your time

I may ask again after MTASA 1.0 is released.

The update itself has been complete for months now. If you want I could send you the files if you and your friends really want to stick to playing MTA:VC.

Well, OK. I found out why it wasn't working. I turned off AVG, but i didn't turn off AVG Real-Time Protection, so it kept blocking the files =(

However, we are now playing VC-O which is, in my opinion, much better than MTA ^^

Link to comment

Done with code cleanup. Stunting works in DM (and Stunt now; I broke it ages ago and didn't notice, heh). DM SCM is still near memory limits (167 bytes free in MAIN and 434 in mission), but Stunt has quite a bit of room (2480 bytes in MAIN and 293 in mission) so I'll probably be able to improve some stuff in Stunt like making interior code fancier.

Link to comment

I'd just like to post another update.

So, that motorcycle fix that I conjured ages ago works fine, just some other motorcycle issues that I encountered I mistook as being caused by my fix. There are still several motorcycle related issues (passengers being able to "drive" the motorcycle on their screen, and crashing when a player jacks another player on a motorcycle, then the original driver jacks the jacker, and then the jacker attempts to get on the motorcycle as a passenger) which I cannot solve at this time (though I have some nice crash logs for the latter issue). VC-MP solved the former issue by disabling controls for the player if they are a passenger on a motorcycle, and this did work to solve the problem, but the player could not change radio controls or press Q/E or change the camera; basically, all controls were disabled. There were some other issues encountered with that fix as well.

In short, the motorcycle passenger fix has been implemented and players will not get on a motorcycle as a passenger unless there is a driver. There are other issues with motorcycles, but this one fix will still help prevent many crashes (something like 4% of all crashes were due to the motorcycle passenger bug if I recall correctly).

I fixed a couple of obscure exploits:

• Fixed an exploit where you could control Tommy from the spawn roof with the spawn menu still active. (affects both DM and Stunt)

• Fixed an exploit where a player would spawn already in a car if they pressed the enter/action key during environment loading (which might also result in a nice stunt bonus upon spawning). (affects Stunt only)

Stunt's interior code was improved to have fading effects upon entering or exiting an interior as seen in single player VC. I'm unable to add this to DM due to memory constraints, but otherwise interiors are exactly the same.

Other than that, just been removing useless car color settings (cars which are textured or cars which are not changed from their default spawning colors [i.e. service cars; Police, Ambulance, Firetruck, Police Maverick, etc] do not need their car color set) and some other useless things to save small amounts of memory. I reversed some parked car's z-angles (so they actually point in the correct direction following the follow of traffic). Also made DM initial spawn menu loading slightly faster.

Unique jumps and Ammunations will most likely never be added since they take up extremely large amounts of memory. I have very little memory left in the DM SCM (I could always remove the "car finder" feature and free up about 5.1kb of memory, but I wouldn't have much to do with that memory except implement Stunt's interior fading code; all other things I thought of still take up more than 5.1kb of memory), but a sizable amount left in Stunt. Don't know what to add to Stunt, though.

I'm pretty sure I've covered everything changed thus far. Updated changelog on first post.

Link to comment

Just cleaned up a metric ton of vehicle particle code. I have >10kb free memory now. I also deleted the Sabre Turbo (on spawn roof) respawn code so it never respawns (it's unsynced, pointless... just have it spawn once [removing it breaks vehicle sync code for some reason], if it explodes somehow, who cares?). I'll do the same cleanup to Stunt later, and probably put in unique jumps for Stunt since I'll probably have enough memory.

I'll make DM have fancy interior entrance/exit fading as in Stunt, then I'll see what other major features I can fit.

I also tested boat sync. Boats are completely unsynced.

Link to comment
  • 4 months later...

If anybody's wondering what's going on, here's a list of changes:

For DM:

• Fixed motorcycle passenger bug. A player will not mount a motorcycle as passenger unless there is a driver. There are other issues with motorcycles I found, but I am unable to fix them at this time.

• Stunting and unique jumps implemented.

• Interior improvements.

• Fixed an exploit where you could control Tommy from the spawn roof with the spawn menu still active.

• Reversed some vehicle z-coords so they are not parked against the flow of traffic (more realistic).

• Opened Vercetti Mansion doors (looks more realistic).

• Massive code optimizations.

For Stunt:

• Unique jumps implemented.

• Fixed an exploit where a player would spawn in a vehicle if they pressed the enter/action key during environment loading.

• Many applicable DM changes (motorcycle fix, interior improvements, spawn roof exploit, mansion doors, code optimizations)

• Removed weapon related sync code & minor code cleanup.

Other changes:

• Modified the “restart multi theft auto” option in the pause menu to include a note that using this option crashes the game (unfortunately I cannot disable this menu option, and making the text blank (like the "load saved game" option) doesn't look right in the pause menu). This option was never meant to work in the first place, anyway. The fact that it sometimes worked in older versions of MTA was just a bonus.

Updated the first post's changelog, too.

I will at some point begin a similar update for MTA3's SCMs and will post a topic in the General GTA3:MTA section when I have something to show.

Link to comment

If anybody's wondering what's going on, here's a list of changes:

For DM:

• Fixed motorcycle passenger bug. A player will not mount a motorcycle as passenger unless there is a driver. There are other issues with motorcycles I found, but I am unable to fix them at this time.

• Stunting and unique jumps implemented.

• Interior improvements.

• Fixed an exploit where you could control Tommy from the spawn roof with the spawn menu still active.

• Reversed some vehicle z-coords so they are not parked against the flow of traffic (more realistic).

• Opened Vercetti Mansion doors (looks more realistic).

• Massive code optimizations.

For Stunt:

• Unique jumps implemented.

• Fixed an exploit where a player would spawn in a vehicle if they pressed the enter/action key during environment loading.

• Many applicable DM changes (motorcycle fix, interior improvements, spawn roof exploit, mansion doors, code optimizations)

• Removed weapon related sync code & minor code cleanup.

Other changes:

• Modified the “restart multi theft auto” option in the pause menu to include a note that using this option crashes the game (unfortunately I cannot disable this menu option, and making the text blank (like the "load saved game" option) doesn't look right in the pause menu). This option was never meant to work in the first place, anyway. The fact that it sometimes worked in older versions of MTA was just a bonus.

Updated the first post's changelog, too.

I will at some point begin a similar update for MTA3's SCMs and will post a topic in the General GTA3:MTA section when I have something to show.

Link to comment
  • 1 month later...

Hey there,i came from vcmp and i never had played mta before,so today i installed mta 0.5 and i liked it,it has some features that vcmp doesn't but unfortunatly the mta:vc comunity is dead i could only find 2 servers online and they are always empty.We (vcmp players) are used to have some bugs here and there as long as it's not major bugs.

Synchronization it's an impossible thing to resolve at the time,but it can be improved .Vice city players never had a perfectly Synchronized version like mta:sa, and i really liked mta 0.5 altough it has some bugs,so i greatly apreciate what you are doing,or better yet what you did since this started in 2007 :shock::shock: and i bet im not the only one that would like to see this being released.

I would love to see mta:vc online again and i have some friends that would love to see that hapen too,it's such a good mod ,shame it was abandoned.... anyway i'll try to speak with some friends to see if they want to play mta:vc.

Good luck.

Edited by Guest
Link to comment

Yeah, definitely unfortunate that the game is almost completely inactive. Blame ASE going blind for that, since that killed the client's built-in server browser.

I can't improve sync without the client/server source. The only thing I could do right now is to rescan the memory addresses for every synchronized variable used by the SCMs and accessed by the client and compile a list of them. If an update were to be released then the updated list could be implemented which would likely solve many random desync issues.

Link to comment
  • 1 month later...

Whoever made GTAMA (GTA Mission Assembler) is a fucking moron. Worst interface ever. I'm glad Notepad++ exists, but it still blows compared to using Sanny Builder. I can't use SB for GTA3:MTA though due to some ridiculous "unknown opcode" error it spits out. Makes SCM scripting that much more frustrating and convoluted.

VC's SCMs have been done for around 5 months now. Will post a thread about GTA3:MTA SCM fixes soon when I finish SSV and Staunton. There's really not much to do besides a lot of code optimization and some polishing, but I haven't played GTA3:MTA nearly as much as I played MTA:VC so I'm not familiar with whatever bugs and glitches exist (feel free to drop hints, though!). I'd post some screenshots but there's really nothing terribly interesting yet. I can try to get some VC screens if anybody still gives a crap, but there isn't anything ginormous to speak of there either (at least in my opinion). Feels like I'm talking into an echo chamber (which I probably am).

Link to comment

I certainly give a 'crap' about this project. It's a shame this can't be released as an official update.

Since we started playing other VC mods, I'm not playing MTA:VC anymore. But since there is no other GTA3 MP mod than MTA3, I'm still playing that and will play that until the release of Liberty Unleashed.

Something I would love is an option to play on all 3 islands at once with vehicles scattered all over Liberty City (instead of flying from Shoreside with a Dodo or using a train causing all other players to crash)

That's really annoying by the way, when someone gets in a train all other players crash :(

Link to comment
I certainly give a 'crap' about this project. It's a shame this can't be released as an official update.

Since we started playing other VC mods, I'm not playing MTA:VC anymore. But since there is no other GTA3 MP mod than MTA3, I'm still playing that and will play that until the release of Liberty Unleashed.

Something I would love is an option to play on all 3 islands at once with vehicles scattered all over Liberty City (instead of flying from Shoreside with a Dodo or using a train causing all other players to crash)

That's really annoying by the way, when someone gets in a train all other players crash :(

I don't see why this couldn't be released as an official update, it's just that I haven't had much so far in the way of support of an MTA dev to fix up the client's server browser at the very least. That and there's been a general lack of stress testing with more than around 3 players, so it's difficult to test for potential regressions and such.

Due to constraints of the 0.x core, playing on all three islands at the same time isn't possible (stretching 49 synced vehicles over 3 islands is not an easy task, and there would likely be general issues with the GTA3 engine itself since three islands' data would have to be loaded at once). In addition, I have implemented a check for all islands to make sure you're still on the correct island, so if you attempt to fly off your island you'll be teleported back.

I know about the train glitch and will attempt to stop trains from spawning to rectify this issue.

Link to comment

im not spamming satan, people are asking for mtavc servers so i am just letting them know they still exist. and its not my server either. here is another server for all you mta vice city fans this server is based in uk 94.76.240.28 port 2003. i will keep searching for servers so anyone who likes playing mta vc check my posts. :evil::wink:

Link to comment
  • 2 months later...
  • 2 weeks later...

New:

Passenger key changed to "G"

Player no longer receives $12 upon entering a Taxi

All vehicles (including emergency vehicles) are sprayable

Only one wanted star is displayed (unfortunately I can't make the last one disappear)

Single-player "replay" functions disabled (this led to massive desync if used)

Minor code cleanup

I'm also working on modifying mabako's External Server Browser to show a list of 0.5 servers and launch MTAClient with IP, port, password (if applicable), and nickname filled in. Got the browser working in Linux but that's not terribly useful. Working on getting it to compile in Windows. EDIT: It shows both VC and GTA3 servers, which is good. EDIT2: Works with all 0.x servers.

Link to comment

External Server Browser for 0.x released.

In other news, Stoku tracked down some memory addresses to have the game continue executing when the pause menu is active (no more pausers in DM, plus there should be less desync), disable the replay functions (these also caused massive desync if pressed; disabling these via memory address is better than the workaround from my previous post), and disable trains in MTA3 (this fixes a crash that *every* player in-game would get if somebody tried boarding a train). The addresses would have to be nop'd in MTAClient, I can't do it via SCM.

I've been dragging my feet on finishing MTA3's SCMs. I should get those overwith.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...