Jump to content

Mission Coding


Recommended Posts

spaceeinstein

Script file update (last updated 2016-02-27)

Important! Delete IIItoVC.asi if it exists!

Changes:

  • All vehicle sound effects can be customized from the vehicleSfx.dat file. Look here for reference.
  • The clicks of the Sniper Rifle and Rocket Launcher are fixed.
  • New opcodes added.

    [table]

     

    Opcode Command Mission(s)

     

    024C SET_PHONE_MESSAGE

     

    Payday for Ray

     

    0351 IS_NASTY_GAME

     

    Grand Theft Aero

     

    03C2 IS_PHONE_DISPLAYING_MESSAGE

     

    Payday for Ray

     

    0410 SET_GANG_PED_MODEL_PREFERENCE

     

    Rumble

     

    0421 FORCE_RAIN

     

    The Introduction

     

    0422 DOES_GARAGE_CONTAIN_CAR

     

    Don't Spank Ma Bitch Up, Grand Theft Auto

     

    042A IS_THREAT_FOR_PED_TYPE

     

    Trial by Fire, The Pick-Up

     

    0444 SET_SCRIPT_FIRE_AUDIO

     

    Silence the Sneak

     

    0447 IS_PLAYER_LIFTING_A_PHONE

     

    Payday for Ray

    [/table]

Edited by spaceeinstein
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068550813
Share on other sites

Craig Kostelecky

Oh space, I am so happy to see this. I look forward to testing these missions to see the changes.

 

Can the vehicle sfx file be used to mute the helicopter sound on the DeLorean (or replace it with a car engine sound)? I wasn't sure if helicopter sounds would be different.

 

You are @#*%ing awesome!

Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068553513
Share on other sites

spaceeinstein

 

:) Helicopter sounds are handled separately and are different from what I've dealt with in the past so it might take a while to make that work.

  • Like 1
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068559401
Share on other sites

Craig Kostelecky

I noticed that you were able to mute the General Lee's standard horn. It's so much better not hearing both at the same time.

 

The other thing I noticed while playing the updated missions is in Payday for Ray. If Claude was running while getting close enough to the phone to pick it up, the he keeps running for a while after the screen changes. It looks a little weird. But if it can't be changed, I'm still happy with it.

 

And are your phone booths transparent on one side? Mine are again though I thought the 2D fix on those was done way back in the early days of the mod. I wonder if one of my files got overwritten. I did mass copy everything from the Dropbox folder to my own before playing it this time.

Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068561426
Share on other sites

spaceeinstein

The payphone animation may need to be converted to prevent the player character from moving as he picks up the phone. I could add in some code to stop the player from moving instead. I don't know what happened to the backface culling. The DLL file doesn't touch that as far as I can tell. If needed, we could use code from The Hero's SkyGfx mod to disable backface culling.

Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068561616
Share on other sites

We shouldn't disable backface culling. A whitelist of non-backface culled objects would probably be a better idea - in fact, such a list could be obtained from III Mobile and it'd require very little to no tweaks.

  • Like 3
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068570346
Share on other sites

  • 3 months later...
spaceeinstein

dinput8.dll update (last updated 2016-06-29)

Reminder! Delete IIItoVC.asi if it exists!

Changes:

  • You can scroll your weapons while you have the detonator. I used this in my Vice City Detonator CLEO script if you want to try it out in the default Vice City game.
  • Disabled backface culling is applied globally. I don't know how to disable individual models yet but you can help out if you want. The code is on GitHub.
  • I managed to replicate five new crane opcodes. The primary issue now is that the game is not recognizing any cranes in the world so the opcodes are not useful yet. After that is fixed, we won't need to rely on simulation of cranes through SCM anymore (except the sound effects of the crusher crane). If you place the DLL file into the default Vice City game, you can use this line of code to activate a crane by one of the ships in Viceport:

     

    01EE: create_crane -964.0 -1490.0 -974.0 -1500.0 -954.0 -1480.0 -951.0 -1525.0 20.0 160.0
    Make sure to add this line into the VCSCM.INI so that it compiles in Sanny Builder:

     

    01EE=10,activate_crane %1d% %2d% %3d% %4d% %5d% %6d% %7d% %8d% %9d% %10d%
    [table]

     

    Opcode Command

     

    01EE ACTIVATE_CRANE

     

    01EF DEACTIVATE_CRANE

     

    02FB ACTIVATE_CRUSHER_CRANE

     

    0368 ACTIVATE_MILITARY_CRANE

     

    03A0 IS_CRANE_LIFTING_CAR

    [/table]

Edited by spaceeinstein
  • Like 4
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068901041
Share on other sites

IDE model flag for disabling backface culling per model would probably be best. Besides, don't we already have some sort of whitelist? Unless that was in IIItoVC.asi only.

 

 

EDIT:

Apparently I can push to ModellingMan's repository directly - I pushed your changes there!

 

 

EDIT2:

The whitelist could be stolen from III mobile - they hardcoded it inside the binary.

Edited by Silent
  • Like 1
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068901687
Share on other sites

spaceeinstein

Thanks Silent. I don't know if there was a whitelist already. I'll look into the mobile version.

 

I don't know how to build the file without being dependent on that DLL file. I think you have to download this to get it working.

Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068902475
Share on other sites

I don't know how to build the file without being dependent on that DLL file.

Pushed fixed project settings to MM's repo.

 

Also, I see this does not contain my mss32.dll hacks - did you ever end up getting access to the repo with those?

Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068902614
Share on other sites

spaceeinstein

How did you add my commits without changes? I tried to do it with git cherry-pick and it changes the date of your commit. I don't think I've seen the mss32.dll hacks. I used whatever is in ModelingMan's repo on GitHub.

Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068902737
Share on other sites

How did you add my commits without changes?

I pulled your commits from your remote and pushed to MM's. MM's repo had no additional commits so the revision tree is still perfectly straight.

Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068902766
Share on other sites

spaceeinstein

Crane and pickup update! (last updated 2016-07-05)

Reminder! Delete IIItoVC.asi if it exists!

Changes:

  • All cranes have been implemented! They should all behave nearly the same as GTA III, including movements, magnets and their positions, and messages. There should be no more game crashes related to the cranes. The only thing missing is the audio for the crusher.

    lccrane_th.jpglccrane2_th.jpglccrane3_th.jpglccrane4_th.jpg

  • One new opcode:

    [table]

     

    03EC HAS_MILITARY_CRANE_COLLECTED_ALL_CARS

    [/table]

  • Second police helicopter now spawns at 5/6 stars.

    lcheli_th.jpg

EDIT: Another update! Changes:
  • Pickup text indexing has been redone. This affects anything that uses the #bonus (for I/E garages and military crane) and #clothesp models. The "ammo" parameter now follows GTA III. For clothes pickups, offset the number by 40, e.g. outfit 1 uses ammo 41.

    lccrane5_th.jpg

EDIT: Another update! Changes:
  • Pickup colors/glows/halos for non-weapon objects match GTA III more closely.

    pickupcolor_th.jpgfloatpackage_th.jpg

Edited by spaceeinstein
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068911614
Share on other sites

Craig Kostelecky

Awesome! I look forward to testing this in the next couple of days or so.

Part of me will miss our custom crane code. That was one of the earlier things I remember working on. I have forgotten now who did the initial version, but I remember tweaking the hell out of it (and playing/testing it over and over) about 10 years ago now.

Edit: I didn't wait long to give it my first test :)

The first thing I did was morph the DeLorean by the crane. And I was able to! My first run seemed to go perfectly until when I was just about to quit, I had a crash with the DeLorean (I think it was morphing) by the car lot. Not sure if it's anything to worry about.

Exception at address:	0x006437DFEXE Version:         	gta-vc.exe 1.0 USLast opcode executed:	0001 opcode_0001In thread:           	rctrigRegisters -----------------------------------------------------EAX: 0x00020000	EBX: 0x00000000	ECX: 0x0000016C	EDX: 0x129B5670ESI: 0x00000050	EDI: 0x0000000F	EBP: 0x04CF0340	ESP: 0x0019FCB8EFLAGS: 10000001000000110

Edit 2:Did you touch the code in meat1 or joey5? Those are the only two missions that used the crusher (I think). I played meat1 and it didn't look like it was updated in my first try.

 

Also, none of the bikes were picked up, and there wasn't a denied message either.

 

I'm loving this new code! Maybe we'll see proper trains too at some point :D

Edited by Craig Kostelecky
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068915266
Share on other sites

Pickup text indexing has been redone.

Will it allow for Vice Cheetah to have its own pickup in here? As an LC extra.

 

 

Pickup colors/glows/halos for non-weapon objects match GTA III more closely.

Cool, but on the other hand I'd keep weapon pickups as is and call it an improvement LC brings over III. However I don't remember how these pickups you showed used to look either :D

Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068915876
Share on other sites

Come to think of it, with all those VC extras we might need a New Game+ feature or something... asking people to toggle things via SCM is not too intuitive, and this way more VC stuff could be added and made available only in NG+ - restart taxis, bike sidemissions, VC sidemissions etc.

  • Like 1
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068915907
Share on other sites

spaceeinstein

Script update (last updated 2016-07-06)

Changes:

  • I suspect the DeLorean objects having no entries in the object.dat are causing seemingly random crashes so I added them in.
  • Cranes can now detect bikes.

    lccrane6_th.jpg

  • I modified 053E so that it can grab mission vehicles. Now the crusher can crush both mission and non-mission vehicles.

    lccrane7_th.jpg

I made the pickup text easy to maintain so that you only need to change two locations: change or add an entry in PickupText.inc and change the array size in CPickupsHack.cpp. What GXT key do you want for the Vice Cheetah?

 

For NG+, I'm thinking of having a setting saved into the .set file. When "The Exchange" is passed, that setting is switched on so that all save games can experience NG+ features. We would have new opcodes defined to set and read that setting so that the script can easily detect NG+.

 

EDIT: Another update. Changes:

  • The Vice Cheetah uses GXT key VICECHE.
  • MM's scrollbars are forced to enable by default. In his original code, enabling scrollbars causes the planes' trails and Dodos' banner to appear. I have disabled both of them.
Edited by spaceeinstein
  • Like 3
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068917478
Share on other sites

For NG+, I'm thinking of having a setting saved into the .set file. When "The Exchange" is passed, that setting is switched on so that all save games can experience NG+ features. We would have new opcodes defined to set and read that setting so that the script can easily detect NG+.

I'd rather have it unlocked from the start. For people who play III for "original" experience and try LC for an "enhanced" experience - no need to force them to go through the story again.

 

 

What GXT key do you want for the Vice Cheetah?

Not sure - doesn't it use the same entries as car names in default.ide? If so, Vice Cheetah should have something already.

Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068917484
Share on other sites

spaceeinstein

VC's Vice Cheetah uses the regular Cheetah's name. I just remembered VCS uses a unique name so I'll use VICECHE.

Edited by spaceeinstein
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068917842
Share on other sites

spaceeinstein

Cheats update (last updated 2016-07-09)

  • GUNSGUNSGUNS (weapons are limited)
  • IFIWEREARICHMAN
  • GESUNDHEIT
  • MOREPOLICEPLEASE
  • NOPOLICEPLEASE
  • GIVEUSATANK
  • BANGBANGBANG
  • WEAPONSFORALL
  • TIMEFLIESWHENYOU
  • BOOOOORING
  • TURTOISE/TORTOISE
  • SKINCANCERFORME
  • ILIKESCOTLAND
  • ILOVESCOTLAND
  • PEASOUP
  • MADWEATHER
  • ANICESETOFWHEELS
  • CHITTYCHITTYBB
  • CORNERSLIKEMAD
EDIT: WEAPONSFORALL now uses most of GTA III's weapons set. Peds using the Rocket Launcher crashes the game sometimes so I removed it from the set. I can't pinpoint the cause. I also fixed the Purple Nines glitch that was introduced when I implemented 0410.

 

EDIT: WEAPONSFORALL now uses all of GTA III's weapons set. Now you can replicate Liberty City Survivor!

Edited by spaceeinstein
  • Like 3
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068923762
Share on other sites

Craig Kostelecky

EDIT: Another update. Changes:

  • MM's scrollbars are forced to enable by default. In his original code, enabling scrollbars causes the planes' trails and Dodos' banner to appear. I have disabled both of them.

Thank you for this! I didn't notice the edit until just now. I had thought you may have accidentally fixed it with your cheats update. This also got rid of the escalators in the airport too!

 

This thing is quickly running out of known bugs. Though the more I play, the more comes back to me. Maybe I'll try to make a new list of everything I'm aware of as I continue to test.

Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068924035
Share on other sites

Are VC cheats still present? Mainly mean weapon cheats because the rest makes little sense.

Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068924493
Share on other sites

spaceeinstein

All of VC's cheats and their behavior are untouched except OURGODGIVENRIGHTTOBEARARMS, which uses the same weapon set as WEAPONSFORALL. I fixed a possible bug in the original game code that could be causing the crashes when peds are using the Rocket Launcher. The download is updated.

Edited by spaceeinstein
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068925817
Share on other sites

spaceeinstein

Dodo update (last updated 2016-07-10)

The Dodo's camera distance/height now uses the car's regular camera, you can look left and right in it, and the cinematic camera now uses the aircraft's cinematic camera. The sound used by RC helicopters is replaced by the Dodo's and I've assigned the Dodo to it. However it's not a match with the actual Dodo and this replacement causes RC helicopters to also sound like the Dodo. I want this fixed someday but it's much better than what we have before.

dodo_th.jpgdodo2_th.jpgdodo3_th.jpg

 

Some character cheats crash the game because the character models aren't in the game. What should we do with this? Readd the models, remove the cheats, or alter the cheats to use different models?

Edited by spaceeinstein
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068927622
Share on other sites

Craig Kostelecky

Nice! One thing I've wished for with our mod was to also have a full-winged dodo available. Think we can do that? I know Silent thought it was possible when we last chatted about it (I think that was just after he initially released his III Aircraft mod). It should be able to share the model used in A Drop in the Ocean and SAM in theory.

 

It's been years since I've played GTA3 but I thought that the camera with the RC cars was a bit different in VC. It was most noticeable when paying the Diablo Distruction mission and driving up the hills towards St. Marks. If that's something that you could easily fix, it would be nice.

 

Regarding the missing character models, I'd think the easiest thing to do would be to duplicate another model we are using. Though from your perspective it might easier to alter the cheat. I'm fine with any approach as it's only something that can be activated via a cheat code.

 

And since I've been testing this a bit again, I've noticed (or recalled) a few things that are still issues (some very minor). The lights of the sirens are offset a bit for the fire truck and ambulance. The police car looks fine. I do not recall how the enforcer, FBI, or Vice Cheetah looked. But the normal police car looked good.

 

Another bug I noticed was in Dead Skunk in the Trunk. If you alert the brothers from the roof of the diner, they'll both just drive around in circles. It's like some paths are missing. If I recall the genesis of this project, the paths were built manually to duplicate 3's behavior. While they do a good job for almost everything, there are some glitches like these (Sayonara Salvatore was another, but that was fixed with some scm workarounds). Is it possible to directly convert the paths files from GTA3 with what we know now?

 

That's all I can think of now. I'll have to start taking notes as I play. But there are not many bugs left at all. I'm very happy with how this is playing now.

Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068927903
Share on other sites

alter the cheats to use different models?

This.

Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068927923
Share on other sites

spaceeinstein

For GXT key DL_HLP9, is the button suppose to be PED_SPRINT or VEHICLE_ACCELERATE? The one in Dropbox has the former while I have the latter.

 

EDIT: Does anyone mind if I replace all the debug global variables with an opcode? I'm thinking of allowing their values to be read through the gta-lc.ini file so that the SCM file does not need to be touched.

 

EDIT: Here is what I plan for the character models. What do you think?

  • igbuddy -> eight2
  • igcandy -> misty
  • igken -> ray
  • ighlary -> tony
  • igjezz -> love
  • igphil -> dealer
  • igsonny -> frankie
  • igmerc -> maria
  • igdick -> donky
  • igdiaz -> sam
For Dead Skunk in the Trunk, there are no additional paths around the diner. The behavior in both games are similar: sometimes they are lost, sometimes they find me. But it's not exactly the same. Should this be fixed with additional paths? The Forellis won't reach the player either way. Edited by spaceeinstein
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068928752
Share on other sites

Craig Kostelecky

I love the idea of the debug variables in the ini. Let's give it a try.

 

Do I need to update the gxt in Dropbox? If so, I'll do that today. Speaking of Dropbox, are all of the scm files up to date with your version?

 

I like your replacements. They match the idea of the cheat code nicely.

 

Up to you on Dead Skunk. I am very happy with it being just like GTA3.

Edited by Craig Kostelecky
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068930163
Share on other sites

spaceeinstein

Your changes to the SCM include a crusher opcode that I haven't implemented yet. I didn't touch the crusher, only its crane.

  • Like 1
Link to comment
https://gtaforums.com/topic/743524-mission-coding/page/3/#findComment-1068932454
Share on other sites

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
  • 0 User Currently Viewing
    0 members, 0 Anonymous, 0 Guests

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.