:
Destination Time
:
Present Time
:
Last Time Departed

BTTFModMachine

Advanced Members
  • Content Count

    822
  • Joined

  • Last visited

  • Days Won

    80

Everything posted by BTTFModMachine

  1. I've updated the ASI. // dllmain.cpp : Defines the entry point for the DLL application. #include "stdafx.h" #include <memory.h> #include <windows.h> #include <iostream> #include <stdio.h> #include <minwindef.h> //#pragma unmanaged BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { DisableThreadLibraryCalls(hModule); switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: { Unprotect(0x543A4A, 4); memset((PVOID)0x543A4A, 0x00695870, 4); Unprotect(0x0058D8FE, 1); memset((PVOID)0x0058D8FE, 0x74, 1); Unprotect(0x0058D972, 1); memset((PVOID)0x0058D972, 0x74, 1); Unprotect(0x0058E0A3, 1); memset((PVOID)0x0058E0A3, 0x74, 1); Unprotect(0x0058E10D, 1); memset((PVOID)0x0058E10D, 0x74, 1); Unprotect(0x00543B92, 4); memset((PVOID)0x00543B92, 0x0067E188, 4); Unprotect(0x00543A52, 4); memset((PVOID)0x00543A52, 0x00696AA0, 4); break; } } return TRUE; } I still get unhandled exception c0000005 at address 00543b90. I am using this script as an example: https://code.google.com/p/vcmp-enhancement-asi/source/browse/VCMPEnhance/dllmain.cpp
  2. Can anyone help me out with this (who knows C++): I'm trying to make an ASI plugin for VC that removes the transparent light blocks. I have a series of memory addresses I had gotten from a cleo script by ThirteenAG that does the same thing. Here's what I have: // dllmain.cpp : Defines the entry point for the DLL application. #include "stdafx.h" #include "memory.h" #include <windows.h> #include <iostream> #pragma unmanaged BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { DisableThreadLibraryCalls(hModule); switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: // DO STUFF HERE //VirtualProtectEx(NULL, (LPVOID)0x543A4A, sizeof(0x00695870), PAGE_EXECUTE_READWRITE, 0); // Remove protection on protected addresses //WriteProcessMemory(NULL, (LPVOID)0x543A4A, (LPCVOID)0x00695870, sizeof(0x00695870), NULL); // VirtualProtectEx(NULL, (LPVOID)0x543A4A, sizeof(0x00695870), 0, 0); // Restore protection to address after write // VirtualProtectEx(NULL, (LPVOID)0x0058D8FE, sizeof(0x74), PAGE_EXECUTE_READWRITE, 0); // Remove protection on protected addresses //WriteProcessMemory(NULL, (LPVOID)0x0058D8FE, (LPCVOID)0x74, sizeof(0x74), NULL); // VirtualProtectEx(NULL, (LPVOID)0x0058D8FE, sizeof(0x74), 0, 0); // Restore protection to address after write // VirtualProtectEx(NULL, (LPVOID)0x0058D972, sizeof(0x74), PAGE_EXECUTE_READWRITE, 0); // Remove protection on protected addresses // WriteProcessMemory(NULL, (LPVOID)0x0058D972, (LPCVOID)0x74, sizeof(0x74), NULL); // VirtualProtectEx(NULL, (LPVOID)0x0058D972, sizeof(0x74), 0, 0); // Restore protection to address after write // VirtualProtectEx(NULL, (LPVOID)0x0058E0A3, sizeof(0x74), PAGE_EXECUTE_READWRITE, 0); // Remove protection on protected addresses // WriteProcessMemory(NULL, (LPVOID)0x0058E0A3, (LPCVOID)0x74, sizeof(0x74), NULL); // VirtualProtectEx(NULL, (LPVOID)0x0058E0A3, sizeof(0x74), 0, 0); // Restore protection to address after write // VirtualProtectEx(NULL, (LPVOID)0x0058E10D, sizeof(0x74), PAGE_EXECUTE_READWRITE, 0); // Remove protection on protected addresses // WriteProcessMemory(NULL, (LPVOID)0x0058E10D, (LPCVOID)0x74, sizeof(0x74), NULL); // VirtualProtectEx(NULL, (LPVOID)0x0058E10D, sizeof(0x74), 0, 0); // Restore protection to address after write // VirtualProtectEx(NULL, (LPVOID)0x00543B92, sizeof(0x0067E188), PAGE_EXECUTE_READWRITE, 0); // Remove protection on protected addresses // WriteProcessMemory(NULL, (LPVOID)0x00543B92, (LPCVOID)0x0067E188, sizeof(0x0067E188), NULL); // VirtualProtectEx(NULL, (LPVOID)0x00543B92, sizeof(0x0067E188), 0, 0); // Restore protection to address after write // VirtualProtectEx(NULL, (LPVOID)0x00543A52, sizeof(0x00696AA0), PAGE_EXECUTE_READWRITE, 0); // Remove protection on protected addresses // WriteProcessMemory(NULL, (LPVOID)0x00543A52, (LPCVOID)0x00696AA0, sizeof(0x00696AA0), NULL); // VirtualProtectEx(NULL, (LPVOID)0x00543A52, sizeof(0x00696AA0), 0, 0); // Restore protection to address after write Unprotect(0x543A4A, 4); memset((PVOID)0x543A4A, 0x00695870, 4); Unprotect(0x0058D8FE, 1); memset((PVOID)0x0058D8FE, 0x74, 1); Unprotect(0x0058D972, 1); memset((PVOID)0x0058D972, 0x74, 1); Unprotect(0x0058E0A3, 1); memset((PVOID)0x0058E0A3, 0x74, 1); Unprotect(0x0058E10D, 1); memset((PVOID)0x0058E10D, 0x74, 1); Unprotect(0x00543B92, 4); memset((PVOID)0x00543B92, 0x0067E188, 4); Unprotect(0x00543A52, 4); memset((PVOID)0x00543A52, 0x00696AA0, 4); case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; } Here is ThirteenAG's script: 05DF: write_memory 0x543A4A size 4 value 0x00695870 virtual_protect 1 05DF: write_memory 0x0058D8FE size 1 value 0x74 virtual_protect 1 //disable lightbox 1 05DF: write_memory 0x0058D972 size 1 value 0x74 virtual_protect 1 //disable lightbox 2 05DF: write_memory 0x0058E0A3 size 1 value 0x74 virtual_protect 1 //disable lightbox 3 05DF: write_memory 0x0058E10D size 1 value 0x74 virtual_protect 1 //disable lightbox 4 05DF: write_memory 0x00543B92 size 4 value 0x0067E188 virtual_protect 1 //lamp corona stretch 05DF: write_memory 0x00543A52 size 4 value 0x00696AA0 virtual_protect 1 //car lights stretch When I run VC, it freezes as soon as Marty appears in the game. What am I doing wrong? Is there any way to fix this?
  3. We're all pinned to our seats waiting for that destination time to change. This is not a time to lose interest. Rock on HV!
  4. First things first: You can edit your post in your first topic and post an update in a new post. (Admins please merge these topics) The lightning run date is Nov 12 1955, not Nov 5 1955. There is nothing wrong with your game.
  5. Added model update for Delorean KITT and KARR. See first post!
  6. Nice! However, I think I would have some difficulty taking this from timetravel.s and putting it into timecircuits.cs. In timecircuits.cs, traffic by year and all the ped settings are already in place. All I need is a teleport section. Or, at least my modded timecircuits.cs in Delorean88MP's mod.
  7. Very nice job! I like the Knight Industries Time Traveler.
  8. Install CLEO 4. Apparently for me, CLEO 3 doesn't allow you to install another asi except cleo.asi. 2dfx sounds interesting.
  9. I'm trying to incorporate it into timecircuits.cs. I have way too many timetravel.s files. One for each of my deloreans.
  10. I've got an issue: I attached a smoke particle to the train in SA, but the particle stream is slow and the individual particles are far from each other. Can this problem be fixed? I've already tried: Making the particle bigger (which is too big for the train). AND Making the effect life very short (which doesn't look good).
  11. OK. Now I have another question: I am editing the BTTF SA train push scene script. I want to make a black particle come out of the funnel of the train until the presto log activates. The presto log effects loop over and over again. However, when I add a black smoke particle (which is an edited version of the presto log particle) to the script, it only activates once and fades away. Here is the code snippet: 06D8: 4@ = create_train_at 802.3121 2611.383 20.56644 type 0 direction 0 072B: put_actor $PLAYER_ACTOR into_car 4@ passengerseat -1 07CC: set_player $PLAYER_CHAR can_enter_exit_vehicles 0 Model.Destroy(#FREIGHT) Model.Destroy(#FREIFLAT) Camera.Restore Camera.OnVehicle(0@, 18, 2) Player.CanMove($PLAYER_CHAR) = True 081D: set_car 0@ engine_broken 1 0918: set_car 0@ engine_operation 0 07CC: set_player $PLAYER_CHAR can_enter_exit_vehicles 0 Audiostream.PerformAction(7@, STOP) Audiostream.PerformAction(7@, PLAY) if 32@ < 76500 //value before presto log activates then 066B: 17@ = attach_particle "TRAIN_TRAILB" to_car 4@ with_offset 0.0 6.0 2.25 type 1 064C: make_particle 17@ visible 064F: remove_references_to_particle 17@ else end //More code in-between :TRAIN_TRAIL_2622 32@ >= 76500 //value after presto log activates else_jump @TRAIN_TRAIL_2387 0407: store_coords_to 1@ 2@ 3@ from_car 4@ with_offset 0.0 0.0 0.0 0565: create_soundless_explosion_at 1@ 2@ 3@ type 10 06DD: set_train 4@ speed 19.0 12@ = 47.0 32@ = 0 33@ = 0 :TRAIN_TRAIL_2715 wait 1 if and not Car.Wrecked(0@) not Car.Wrecked(4@) not Actor.Dead($PLAYER_ACTOR) 8741: not actor $PLAYER_ACTOR busted else_jump @TRAIN_TRAIL_11129 gosub @TRAIN_TRAIL_11498 Car.LockInCurrentPosition(4@) = 4 0508: car 4@ close_all_doors 0629: change_integer_stat 181 to 4 33@ >= 350 else_jump @TRAIN_TRAIL_2994 066B: 13@ = attach_particle "TRAIN_TRAIL3" to_car 4@ with_offset 0.0 7.5 -2.0 type 1 064C: make_particle 13@ visible 064F: remove_references_to_particle 13@ 066B: 17@ = attach_particle "TRAIN_TRAILG" to_car 4@ with_offset 0.0 6.0 2.25 type 1 064C: make_particle 17@ visible 064F: remove_references_to_particle 17@ 066B: 21@ = attach_particle "TRAIN_TRAILG" to_car 4@ with_offset 0.0 6.0 2.25 type 1 064C: make_particle 21@ visible 064F: remove_references_to_particle 21@ 066B: 22@ = attach_particle "TRAIN_TRAILG" to_car 4@ with_offset 0.0 6.0 2.25 type 1 064C: make_particle 22@ visible 064F: remove_references_to_particle 22@ 33@ = 0 EDIT: Never mind. It was an effects.fxp issue.
  12. I'm looking for just the year part. Is there any way to split that variable?
  13. Interesting. Cutscene time travel teleporting doesn't work for me at all. I think I know why when I time travel, first I travel to the year specified, and don't teleport. Then, I travel again in the same year, and then teleport. It is depending on the current year variable. When I set the destination time, the year hasn't changed yet, so I don't teleport. Then, the year has changed, so the next time I time travel in that year, I teleport. I think it should read from the destination year, not the current year variable. Unfortunately, there is no destination year variable. Does anyone have any suggestions?
  14. Does cutscene time travel teleporting work with your version?
  15. I've encountered a bug in the script. I modified it to teleport for all years less than 3000. However, when I time travel, first I travel to the year specified, and don't teleport. Then, I travel again in the same year, and then teleport. Here's the modified code:
  16. Oh. I see. I'll try it out. So if I wanted to call this function up front, how would I activate it?
  17. I'd like to include this in timecircuits.cs, so that when teleporting is on, a delorean could travel to 88MPH and teleport. Could you add this feature into your script?
  18. I adjusted the volume of the engine idle sound to match another engine idle sound's volume from another sound pack. The engine idle clip's pitch needs to be increased by 17% in order to sound normal in game. Compare the in game engine pitch with the second clip Mike posted of his delorean engine. They sound about the same.
  19. Nice! Now, how to make it so it uses 3@ as a var for year instead of a keypress...
  20. I can't make sense of the layout. Can you help me extend this script for multiple eras and locations?
  21. I'm thinking of redoing the teleport script. I found a teleport to marker script by loquendomax9814 for BTTF SA: I have never seen a teleport script formed like this. Can someone help me figure out how to set specific locations by year rather than a marker location?
  22. In beta 3, it includes uokka's TC scripts and bttf.fxt. If you don't have beta 3, the time circuits don't show. You are using beta 2, then.
  23. Beta 1 and 2 don't show the time circuits. Are you using beta 3?