Quantcast

Jump to content

» «
Photo

New project goals for 2017-2018.

3 replies to this topic
X-Seti
  • X-Seti

    .Retro mod developer. (Xenon Brothers)

  • Feroci
  • Joined: 28 Jun 2005
  • Mars
  • Contribution Award [Mods]

#1

Posted 24 June 2017 - 09:19 AM Edited by X-Seti, 2 weeks ago.

GTASOL Infusions 70.5 (FireBull) November 1, 2017 - Goals for 2017-2018: [07% completed]

This page is WIP, I've strike through what is now defunct. This page serves as project notes only as content will change.

I had said that "I have totally decided to drop Renderware" but due to the C&A issued to OpenIV I can no longer continue working on the Rage version of the project.

The move to a more modern game engine is still on the cards but again it's not going to be Rage. as for SOL the maps that I have been working on for over a decade. (15 Years) This totally goes against my beliefs about modding where I have said to others modding is all about bringing something new to an old game engine no longer supported by the developer. however it hasn't gone unnoticed that people are losing interested in SOL so I have to suck it up and move with the times.

So the question here is what to do?????

I've been working lone wolf style so progress has been hard. if I am to produce something of top quality then I need people.

Below is the old goals list I was struggling with last year finding time for the project (broken computer hardware and hard drives going bad) hopefully this year I'll find the time to commit a little more. (jump to note 16) for more details.

So from Jan 7th 2017 - I will begin again.

1. Remodel the original Rockstar models for Vice City districts;
Airport, Havana, Little Havana, Downtown, Starfish, Washington, North Beach. but half of this is already done.

2. Textures the above areas with the correct collision surface types and bump /speck maps.

43% done.

LOD issues on RW is now defunct as I was working on a mipmap system to replace LODS. but now we're moving to Rage those LOD problems shouldn't be an issue.
3. I'll be putting the those bloody LODs back. but remodeling these of course.

OLD (RW) Implement mipmap textures across the SOL map so there will be no need for LODs. Mipmaps asi isn't working - LODs, SLODs are needed for rage.

Pending (RW) Add more collision surface types. hacking correct limits.

4.
OLD (RW mipmap) hacks partially done, still to do; textures will be switched instead of models depending line of sight and distance from the mipmapped objects

5. Design of LC in the style of GTAIV (keep GTAiV in rage version) umm.. now I can delete the old LC map.

6. Design of SA where LA and SF are on the west coast. I have decided the map should be more geographically correct This would involve rotating the SA map clockwise.

Tools below would assist this task. as paths, water, radar and SCM would all need to be updated.

7. (RW) Path/Radar editor. - I would like to allocate this task as part of img-factory I haven't looked into Path's and Radar tiles on Rage yet!!!, but unlikely due to recent events.

8. (RW) Water editor. - I would like to allocate this task as part of img-factory Water editor for Rage? but unlikely due to recent events.

9. (RW) Text Editor, ID manager where you can shift ID's and have all the IPL's auto updated. This is more of a priority as I am adding new content into the game all the time and need to keep track of assets and keep related content together.

More organized game. !!!!

10. (RW) fix SOLcore hacks or Rewrite them. - Assigned to Yoshibird X-Seti
Apply the Alpha Objects Limit.
Surface collisions types limit increased. (done)
2dfx array needs to be changed from ID index, to just Model name.
Backward Culling hacks (done)


11. Port SOL map to Rage.

12. Port Gang Wars/ Tuff Wars / Liberty City Survivor to Rage.
depends on Underground.

13. Walking Dead Mission mode. (SCM/ LUA scripted for VC/SA version)

14. Radio stations hacks to allow for SA and LC radios to be played. I decided to drop working on this.

15. Start game intro music. (Renderware) only update for VC.

16. Wait for GTA-Six (London?) to be released and online game modes to be discontinued from GTAV before I release anything for the first time for GTAV and not before. I don't want to get into any issues from Rockstar or Take Two interactive.

17. Removal of original Rockstar assets is now a must more then ever. all content has to be scratch made by me or anyone working with me on this project.
...

update soon.

  • Crspy, Squad and asmitgta sa like this

X-Seti
  • X-Seti

    .Retro mod developer. (Xenon Brothers)

  • Feroci
  • Joined: 28 Jun 2005
  • Mars
  • Contribution Award [Mods]

#2

Posted 3 weeks ago Edited by X-Seti, 2 weeks ago.

Pri [Action] Model                Issue
----------------------------------------

01/11/17
04. [fixed] GenVCWreckRack1 - Collision optimization.
04. [fixed] GenVCWreckRack1 - Collision optimization.

29/10/17
01. [New] NorVChavland03 - Model adjusted for LOD creation. LODVChavland03
01. [New] NorVChavroad1- Model adjusted for LOD creation. LODVChavroad1
03. [fixed] NorVCmiamiland17D - Texture correption.
03. [fixed] 2906, NorVCSupMarketo2, NorVCSupMarketo2, 1, 299, 4
03. [fixed] 2906, NorVCSupMarketo2, 0, -1006.534, -594.319, 14.898, 1, 1, 1, 0, 0, 0, 1
03. [fixed] 2907, NorVCSupMarket02, NorVCSupMarket02, 1, 299, 4
03. [fixed] 2907, NorVCSupMarket02, 0, -997.219, -637.972, 12.868, 1, 1, 1, 0, 0, 0, 1

26/10/17
10. [fixed] NorVCOlddocksD - Mesh gaps.
10. [fixed] NorVChaWarehoudist2.dff - Mesh gaps.
10. [fixed] NorVClitlhaitigb09.dff - Mesh gaps.
10. [fixed] NorVCSgroundmc4.dff - Mesh gaps.
10. [fixed] NorVChaitganggrn.dff - Mesh gaps.
10. [fixed] NorVCDrugfactoryZ.dff - Mesh gaps. Partly remodelled with new collsion
10. [fixed] NorVCOldschool.dff - Mesh gaps.
10. [fixed] NorVClh_taxifirm02.dff - Mesh gaps.
10. [fixed] NorVChlgasworksp.dff - Mesh gaps.
10. [fixed] NorVCOlddocksF.dff - Mesh gaps.
10. [fixed] NorVCOlddocks.dff - Mesh gaps.
10. [fixed] NorVClh_haiblockc2a.dff - Mesh gaps.
10. [fixed] NorVChtnroadnw2.dff - Mesh gaps.
10. [fixed] NorVCOlddocksD.dff - Mesh gaps.
10. [fixed] NorVClh_phils.dff - Mesh gaps.
10. [fixed] NorVCfffinhaiti.dff - Mesh gaps.
10. [fixed] NorVCsjmuildingld.dff - Mesh gaps. Collsion issued.
10. [fixed] NorVClitharoada1.dff - Mesh gaps.
10. [fixed] NorVClitharoada7.dff - Mesh gaps.
10. [fixed] NorVClitharoada8.dff - Mesh gaps.
10. [fixed] NorVChaicoasta2.dff - Mesh gaps.
10. [fixed] NorVChaiticent.dff - Mesh gaps.
10. [fixed] NorVChtnroadnew.dff - Mesh gaps.
10. [fixed] NorVClitharoada9.dff - Mesh gaps.
10. [fixed] NorVChaLands1.dff - Mesh gaps.
23. [fixed] NorVCsjmwarding05 - Mesh gaps, misaligment.
25. [fixed] NorVChaicoasta2 - Mesh gaps
23. [fixed] NorVCOlddocksD - Mesh gaps
24. [fixed] NorVCsjmuildingld - Mesh gaps
70. [fixed] NorVChabuildws11 - Needs door. not so important right now.

25/10/17
01. NorVCSupMarket02 - broken model best to be replaced
02. NorVChavBarCan - needs retexturing.
01. [fixed] NorVChavland117 - need to remove the hole in the model.
09. [fixed] NorVClh_haiblockc2a - Height of buiiding need to be halfed.
08. [fixed] NorVChaitgangshp - Texture correption.
09  [fixed] NorVChaitgangshp2 - new collision and roof.
09  [fixed] NorVChaWarehoudist4 - new collision and roof.
10. [fixed] NorVChaitirdbuild - underside building texture streched.
10. [fixed] NorVCmiamiware029 - ditto as above.. roof textures.
11. [removed] mllburb_hus2.txd found the annoying txd texture. (check mll .img files)
20. [removed] GenVClhnewbush - needs to be removed, Ugly bushes will be replaced by GTAV bushes.
20. [removed] GenVClabiggrass - To be removed.
20. [removed] GenVClabiggrass01 - To be removed.
03. [fixed] NorVCmiamiware029 - Retexture roof.
04. [fixed] NorVClitharoada1 - Collision issues on the road edges.
05. [fixed] NorVChtarchb03Y .
06. [fixed] NorVCsjmcoast08 - Collision holes on the side of the road.
01. NorVCOlddocksD - Unknown Collision wall.
02. [fixed] NorVCmiamiland180 - fix windows with newer texture.
03. [fixed] GenVCvrates - needs to be level with the ground.
04. [fixed] NorVClh_buildingg3 - Door at side needs to be fixed.
05. [fixed] GenVCcontrpipe01 - Wrong Collision Axis
05. [fixed] GenVCcontrpipe02 - Wrong Collision Axis
06. [fixed] IntVCBBQHouse - Messed up textures
06. [fixed] IntVCBBQcountdis - Offset collision
06. [fixed] IntVC_EposTill2 - Offset collision
06. [fixed] IntVCBBQpasstable - Offset collision
06. [fixed] IntVCBBQBenchtable - Offset collision
06. [fixed] IntVC_SinkBBQ - Offset collision
06. IntVC_BBQfrdge - Offset collision ?? wierd crash, model seems ok??
06. IntVCBBQ4track1 - Offset collision ??
06. [fixed] IntVC_BBQpizoven - Offset collision
06. [fixed] GenVCBBQBugBox - Offset collision

24/10/17
10. [fixed] NorVCcp_levfloor2 - Texture corruption and wrong lighting.
11. [fixed] NorVCcp_topfloor1 - Texture corruption and wrong lighting.
12. [fixed] NorVCcp_grndfloor1 - Same as above.
13. [fixed] NorVChabuildws11 - Same as above. f*cked up UV lighting.
14. [fixed] GenVCcp_levfloor2fl - Model missing??
15. [fixed] Genvcroofbit2 - Dup entries somewhere in img's found and removed.
16. [fixed] GenVCsignagelh - Weird mesh issue, needs to be looked into.
17. [removed] I do not like this building, maybe its the wrong texture facing???
22. [fixed] NorVChabuildws021 - Fixed textures. Did not look right.
23. [fixed] Floating objects where building used to be. (Havana Strip)

21/10/17
01. [removed] NorVCtaymoreBrigSp - needs to be removed and remodeled

20/10/17
07. [fixed] NorVCSgroundmc5 - Appears missing ingame but shows in KED
08. [fixed] NorVCsroadsect14 - Appears missing ingame but shows in KED
09. [fixed] NorVCSground06 - Wrong UV lighting. shows to dark in game.
18. [fixed] NorVClitharoada9 - vertex/face issues.
19. [fixed] NorVClitlhaitigb09 - Corrupted textures.
20. [fixed] NorVCpw_printworks - Collision misaligned.
21. [fixed] VCAp_WatchTwr02 texture has missing alpha texture.

 

98. LODs need to be put back now we have an idea where everything goes and IDE draw values put back.
99. UV lighting for most models is wrong.
 

  • Inan-Ahammad likes this

X-Seti
  • X-Seti

    .Retro mod developer. (Xenon Brothers)

  • Feroci
  • Joined: 28 Jun 2005
  • Mars
  • Contribution Award [Mods]

#3

Posted 3 weeks ago Edited by X-Seti, 3 weeks ago.

I finally got SOL core stable.. No crashing with cop cars and LOD's rendering is fixed.

Source and patches kept here for backup.

 

 

MiscellaneousPatches.cpp

#include "main.h"
#include "StdInc.h"

//Patches of this section are loaded through PatchMiscData()


//=======================Loading Game Screen Patches By Elvis============================

/* This patches are subject to change in the future
It Patches how the loading bar should be displayed */

char* GameStateText;
char* loadingStageText;

DWORD dwHookJmp4A6A88 = 0x4A6A88;
void _declspec (naked) GetLoadingScreenMsg() {
_asm {
mov eax, dword ptr[esp + 0x70]
mov GameStateText, eax
mov eax, dword ptr[esp + 0x74]
mov loadingStageText, eax
cmp[esp + 0x70], 0
jmp dwHookJmp4A6A88
}
}

wchar_t MsgBuffer[256];
void DisplayLoadingScreenMsg() {
if (GameStateText) {
CFont::SetPropOn();
CFont::SetBackgroundOff();
CFont::SetScale(ResolutionX / 640.0f * 0.4f, ResolutionY / 448.0f * 0.8f);

CFont::SetRightJustifyOff();
CFont::SetJustifyOff();
CFont::SetRightJustifyWrap(999.0f);
CFont::SetBackGroundOnlyTextOff();
CFont::SetFontStyle(1);
CFont::SetCentreOn();
CFont::SetBackgroundOff();
CFont::SetColor(&CRGBA(255, 255, 255, 255));
CFont::AsciiToUnicode(GameStateText, MsgBuffer);
CFont::PrintString(0.5f * (float)ResolutionX, 335.0f / 480.0f * (float)ResolutionY, MsgBuffer);
CFont::AsciiToUnicode(loadingStageText, MsgBuffer);
CFont::PrintString(0.5f * (float)ResolutionX, 365.0f / 480.0f * (float)ResolutionY, MsgBuffer);
CFont::SetScale(ResolutionX / 640.0f * 0.2f, ResolutionY / 448.0f * 0.8f);
}

_asm mov eax, 0x550250
_asm call eax
}


void PatchLoadingBarDisplayOnly()
{
*(float*)0x68E70C = 550.0f; // length (50)
*(float*)0x68E710 = 5.0f; // Width (25)
*(float*)0x68E708 = 115.0f; // distance from bottom (27)
*(float*)0x68E704 = 275.0f; // distance from right (1)
*(float*)0x68E6FC = 0.65979f; // Progress Step
// *(byte*)0x4A6C24 = 0

//Background color
CMemory::InstallPatch<byte>(0x4A6B7C, 113); //B
CMemory::InstallPatch<byte>(0x4A6B7E, 68); //G
CMemory::InstallPatch<byte>(0x4A6B80, 11); //R


//Foreground Color (call @ 0x4A6C37)
CMemory::InstallPatch<byte>(0x4A6C29, 171);//B
CMemory::InstallPatch<byte>(0x4A6C2E, 113);//G
CMemory::InstallPatch<byte>(0x4A6C33, 47); //R

CMemory::NoOperation(0x4A6A83, 5);
CMemory::InstallCallHook(0x4A6A83, &GetLoadingScreenMsg, ASM_JMP);

CMemory::NoOperation(0x4A6D47, 5);
CMemory::InstallCallHook(0x4A6D47, &DisplayLoadingScreenMsg, ASM_CALL);
}

//=======================End of Elvis's patches===================================


// This is the pointer to the new CarGenerator Store Buffer
CCarGenerator* pNewCarGeneratorBuffer = NULL;

// ----------------------------------------------------------------
// CTheCarGenerator Array Limit patches
//ToDos :
// Nothing is done for CCarGenerators::LoadAllCarGenerators()
// Nothing is done for CCarGenerators::SaveAllCarGenerators()
// MayBe make this like SA loads from IPL?

#define ARRLEN(a) (sizeof(a)/sizeof(a[0]))


// This is the new 4-byte counter for CTheCarGenerators
int CTheCarGenerators__ProcessCounter;

DWORD dwHookJmp5A6CB4 = 0x005A6CB4;
void _declspec (naked) HookCTheCarGenerators4bCounter() {
_asm {
inc CTheCarGenerators__ProcessCounter
cmp CTheCarGenerators__ProcessCounter, 4
jnz Label_if_not_4
mov CTheCarGenerators__ProcessCounter, 0
Label_if_not_4:
mov ebx, CTheCarGenerators__ProcessCounter
jmp dwHookJmp5A6CB4
}
}


void PatchCarGeneratorLimit() {
static uint32_t dwCarGeneratorDataRefs[] =
{
0x4537A9, 0x5A69DB, 0x5A69E6, 0x5A69F1, 0x5A69FC, 0x5A6A07, 0x5A6A14, 0x5A6A21,
0x5A6A2A, 0x5A6A33, 0x5A6A3C, 0x5A6A49, 0x5A6A56, 0x5A6A61, 0x5A6A6C, 0x5A6A79,
0x5A6A85, 0x5A6B16, 0x5A6B22, 0x5A6B2A, 0x5A6B35, 0x5A6B40, 0x5A6B4C, 0x5A6B5C,
0x5A6B65, 0x5A6B6E, 0x5A6B77, 0x5A6B85, 0x5A6B95, 0x5A6BA1, 0x5A6BAC, 0x5A6BB8,
0x5A6BC1, 0x5A6C5F, 0x5A6CC3
};

// This is the new CarGenerator Array Buffer
pNewCarGeneratorBuffer = (CCarGenerator*)malloc(0x2C * MAXPARKEDCARS);

for (int i = 0; i<ARRLEN(dwCarGeneratorDataRefs); i++) {
DWORD dwPrevProt = CMemory::UnProtect(dwCarGeneratorDataRefs[i], 4);
*((uint32_t*)dwCarGeneratorDataRefs[i]) -= 0xA0DC94;
*((uint32_t*)dwCarGeneratorDataRefs[i]) += (uint32_t)pNewCarGeneratorBuffer;
CMemory::RestoreProtection(dwCarGeneratorDataRefs[i], 4, dwPrevProt);
}

// Patch cmp instruction in CreateCarGenerator
CMemory::InstallPatch<uint32_t>(0x5A6C16, MAXPARKEDCARS);

// Create a byte array of assembly instruction
uint8_t HookCCarGeneratorsInitBuffer[] = {
0xC7, 0x05, 0x90, 0x90, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00,
0xC7, 0x05, 0xA8, 0xF2, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00,
0xC3,
};

// Patch the byte array to CTheCarGenerators::Init(void) section
(*(uint32_t*)(HookCCarGeneratorsInitBuffer + 2)) = (uint32_t)&CTheCarGenerators__ProcessCounter;
CMemory::UnProtect(0x5A6BF1, sizeof(HookCCarGeneratorsInitBuffer));
memcpy((void*)0x005A6BF1, HookCCarGeneratorsInitBuffer, sizeof(HookCCarGeneratorsInitBuffer));

CMemory::NoOperation(0x005A6C97, 6);
CMemory::InstallCallHook(0x005A6C97, &HookCTheCarGenerators4bCounter, ASM_JMP);
}
//-----------------------------------------------------------------------------


void PatchMiscData() {
PatchLoadingBarDisplayOnly();
PatchCarGeneratorLimit();

// Apply the streaming memory patch.
CMemory::InstallPatch<DWORD>(0x94DD54, 1024 * 1024 * 1024);

// Change the fade-out color to black upon death/busted.
CMemory::InstallPatch<BYTE>(0x42BC1A, 0);
CMemory::InstallPatch<BYTE>(0x42BC1F, 0);
CMemory::InstallPatch<BYTE>(0x42BC24, 0);

// Backward face culling.
CMemory::InstallPatch<byte>(0x4C9E5F, 0);
CMemory::InstallPatch<byte>(0x4C9F08, 0);
CMemory::InstallPatch<byte>(0x4C9F5D, 0);
CMemory::InstallPatch<byte>(0x4CA157, 0);
CMemory::InstallPatch<byte>(0x4CA199, 0);
CMemory::InstallPatch<byte>(0x4E0146, 0);

//Unknown testing....
CMemory::InstallPatch<BYTE>(0x69B1D8, 0);

// These patches allow us to have a custom horizon, replacing the "ugly grey" color.
CMemory::NoOperation(0x53F4AC, 0x05);
CMemory::NoOperation(0x53F4DE, 0x05);
CMemory::NoOperation(0x53F514, 0x05);
CMemory::NoOperation(0x53F519, 0x07);
CMemory::InstallPatch<DWORD>(0x978574, 0xFF646464);

// Collision Limits. default 44000
static char colbuffer[250000]; // increase bytes.

CMemory::InstallPatch<char*>(0x48A84D, colbuffer);
CMemory::InstallPatch<char*>(0x48A8CB, colbuffer);
CMemory::InstallPatch<char*>(0x48A987, colbuffer);
CMemory::InstallPatch<char*>(0x48AA1D, colbuffer);
CMemory::InstallPatch<char*>(0x48AA55, colbuffer);
CMemory::InstallPatch<char*>(0x48AAFC, colbuffer);
CMemory::InstallPatch<char*>(0x48AB31, colbuffer);
CMemory::InstallPatch<char*>(0x48AB61, colbuffer);

// AlphaEntityList object "typedef dummy_object<0x8>;"
static char alphabuffer[100000];
CMemory::InstallPatch<char*>(0x5828DB + 1, alphabuffer);

if (*(DWORD*)0x97F30C == 0x4CBEBC20)
{
CMemory::InstallPatch<char*>(0x582870, alphabuffer);
CMemory::InstallPatch<char*>(0x5828A0, alphabuffer);
}

// Green, White Scanlines Enabled
//CMemory::InstallPatch<byte>(0xA10B69, 0); /G
//CMemory::InstallPatch<byte>(0xA10B68, 0); /W

// Time of Day
//CMemory::InstallPatch<byte>(0xA10B6B, 1);

// Initialize the lod/default limit for the detail distance (infusions).
CMemory::InstallPatch<float>(0x69022C, 300.0f); //Default
CMemory::InstallPatch<float>(0x698FE0, 300.0f); //LOD

// Initialize the draw limit for the draw distance.
CMemory::InstallPatch<float>(0x86964C, 30.0);
CMemory::InstallPatch<float>(0x690220, 30.0);

// Misc Water hacks. Z level negative underwater.
// CMemory::InstallPatch<float>(0x6912DC, 240.0); // Z depth level.
// CMemory::InstallPatch<float>(0x78D658, 6.0); // Visible tiles.
// CMemory::InstallPatch<float>(0x78D65C, 6.0); // Physical tiles.

// Initialize Gravity, (float). 0.008f is normal.
CMemory::InstallPatch<float>(0x68f5f0, 0.008f);

// 6F 12 83 3B 0.004 half gravity
// 6F 12 03 3B 0.002 quater gravity
// 6F 12 83 3C 0.016 double gravity
// 6F 12 03 3D 0.032 fourfold gravity
// 6F 12 03 BC - 0.008 negative gravity
// 00 00 80 3F 1.0 very high gravity
// 17 B7 D1 38 0.0001 very low gravity


// Radar Size (XY)
//CMemory::InstallPatch<float>(0x68FD28, 0.0); // Radar Size Multiplier
CMemory::InstallPatch<float>(0x68FD2C, 40.0); // Left X pos
CMemory::InstallPatch<float>(0x68FD34, 115.0); // Botten Y Pos
CMemory::InstallPatch<float>(0x68FD38, 0.0); // X shape
CMemory::InstallPatch<float>(0x68FD3C, 0.0); // Y shape

// Initialize Radar Width(byte)
//CMemory::InstallPatch<byte>(0x68FD16, 1);

// Only radar ring visible
//CMemory::InstallPatch<byte>(0x68FD17, 1);

// Initialize Game engine clock speed (float)
CMemory::InstallPatch<float>(0x68F1F0, 60.0f); // set 50.0 default
CMemory::InstallPatch<float>(0x68F1F4, 6.0f); // multiplier 5.0 default
CMemory::InstallPatch<float>(0x68F1F8, 60.0f); // set 50.0 default
CMemory::InstallPatch<float>(0x68F1FC, 6.0f); // multiplier 5.0 default

// Controls removing cars that are far away, needs looking at.
//CMemory::InstallPatch<byte>(0x426640, 0);

// Vehicle speed multiplier
CMemory::InstallPatch<float>(0x821F7C, 5.0f); //Default is 4

// Disable the calls to the default ingame menu. (works)
//CMemory::NoOperation(0x49A062, 0x7);
//CMemory::NoOperation(0x499BEC, 0x7);
//CMemory::NoOperation(0x4994FA, 0x7);
//CMemory::NoOperation(0x497378, 0x7);

// Igorx's Memu hacks.
DWORD _old;

VirtualProtect((LPVOID)0x4A2831, 5, PAGE_READWRITE, &_old);
memset((PVOID)0x4A2831, 0x90, 5);
VirtualProtect((LPVOID)0x4A292B, 5, PAGE_READWRITE, &_old);
memset((PVOID)0x4A292B, 0x90, 5);
VirtualProtect((LPVOID)0x4A2A34, 5, PAGE_READWRITE, &_old);
memset((PVOID)0x4A2A34, 0x90, 5);
VirtualProtect((LPVOID)0x4A2DB9, 5, PAGE_READWRITE, &_old);
memset((PVOID)0x4A2DB9, 0x90, 5);
VirtualProtect((LPVOID)0x4A2EB3, 5, PAGE_READWRITE, &_old);
memset((PVOID)0x4A2EB3, 0x90, 5);
VirtualProtect((LPVOID)0x4A2FC2, 5, PAGE_READWRITE, &_old);
memset((PVOID)0x4A2FC2, 0x90, 5);
VirtualProtect((LPVOID)0x4A30D1, 5, PAGE_READWRITE, &_old);
memset((PVOID)0x4A30D1, 0x90, 5);

//0x90 is nop. It replaces the call function to figure out the black bars (2d effects) on the game menu.

// Initialize Set Actor, byte (0 off 1 on).

// Various text-related stuff
//CMemory::InstallPatch<float>(0x6971cf, 0.0f); // Width of letters
//CMemory::InstallPatch<float>(0x6971d3, 0.0f); // Scale of letters
//CMemory::InstallPatch<float>(0x6971d7, 0.0f); // Height of letters
//CMemory::InstallPatch<float>(0x6971e8, 20.0f); // X Pos
//CMemory::InstallPatch<float>(0x6971f0, 20.0f); // Y Pos

// Disable Wanted Status. c2 or cb or ca?
//CMemory::InstallPatch<unsigned char>(0x4d1610, 0xc2);
//CMemory::InstallPatch<unsigned char>(0x4d1610 + 1, 3 * 4);
//CMemory::InstallPatch<unsigned char>(0x532070, 0xc2);
//CMemory::InstallPatch<unsigned char>(0x532070 + 1, 1 * 4);

// Writes to wanted counter :
/*
CMemory::InstallPatch<byte>(0x4d22dc, 0); //every second(only with < 2 stars) (even if wanted counter doesn't change)
CMemory::InstallPatch<byte>(0x4d2440, 0); //on respawn from wasted
CMemory::InstallPatch<byte>(0x4d209e, 0); //leavemealone cheat input
CMemory::InstallPatch<byte>(0x43118f, 0); //pay n spray
CMemory::InstallPatch<byte>(0x4d209e, 0); //walk into wanted star pickup
CMemory::InstallPatch<byte>(0x4d1966, 0); //throw grenade(near fed)
CMemory::InstallPatch<byte>(0x4d206e, 0); //throw grenade(near fed)
CMemory::InstallPatch<byte>(0x4d1751, 0); //grenade exploding(near fed)
CMemory::InstallPatch<byte>(0x4d1966, 0); //grenade exploding(near fed)
CMemory::InstallPatch<byte>(0x4d1778, 0); //grenade exploding(near fed)
CMemory::InstallPatch<byte>(0x4d1966, 0); //grenade exploding(near fed)
CMemory::InstallPatch<byte>(0x4d16b5, 0); //punch ped
CMemory::InstallPatch<byte>(0x4d1966, 0); //punch ped
CMemory::InstallPatch<byte>(0x4d206e, 0); //punch ped - [only sometimes ? ]
CMemory::InstallPatch<byte>(0x4d1966, 0); //shoot ped(near fed)
CMemory::InstallPatch<byte>(0x4d1751, 0); //shoot ped(near fed)
CMemory::InstallPatch<byte>(0x4d1966, 0); //shoot ped(near fed)
CMemory::InstallPatch<byte>(0x4d1966, 0); //shoot ped with m4(not near fed)
CMemory::InstallPatch<byte>(0x4d1751, 0); //shoot ped with m4(not near fed)
CMemory::InstallPatch<byte>(0x4d1966, 0); //shoot ped with m4(not near fed)
CMemory::InstallPatch<byte>(0x4d1966, 0); //shoot m4 into air near fed
CMemory::InstallPatch<byte>(0x4d1751, 0); //headshot ped
CMemory::InstallPatch<byte>(0x4d2076, 0); //kill fed with grenade
CMemory::InstallPatch<byte>(0x4d183b, 0); //run over ped
CMemory::InstallPatch<byte>(0x4d1966, 0); //run over ped
CMemory::InstallPatch<byte>(0x4d179f, 0); //enter empty vehicle
CMemory::InstallPatch<byte>(0x4d1966, 0); //enter empty vehicle
CMemory::InstallPatch<byte>(0x4d179f, 0); //jack taxi
CMemory::InstallPatch<byte>(0x4d1966, 0); //jack taxi
CMemory::InstallPatch<byte>(0x4d206e, 0); //jack taxi
CMemory::InstallPatch<byte>(0x4d206e, 0); //rob store(1 star)
CMemory::InstallPatch<byte>(0x4d2076, 0); //rob store(2 star)
CMemory::InstallPatch<byte>(0x4d206e, 0); //vehicle collision with fed car
CMemory::InstallPatch<byte>(0x4d2076, 0); //enter fed station when not fed skin(2 stars)
CMemory::InstallPatch<byte>(0x4d1778, 0); //headshot fed with sniper(2 stars)
CMemory::InstallPatch<byte>(0x4d2076, 0); //headshot fed with sniper(2 stars)
*/

// SetWantedLevel(int); int is 0-6
//CMemory::InstallPatch<int*>(0x4d1fa0, 0);

// Initialize Translucent Text Box OnScreen, byte (0 off 1 on).
//CMemory::InstallPatch<byte>(0xA10B83, 0);

// On screen credits
//CMemory::InstallPatch<byte>(0xA10B9C, 0);

// Fast Time - Not Game Speed
//CMemory::InstallPatch<byte>(0xA10B80, 0);

// Completely Disable HUD
//CMemory::InstallPatch<float>(0xA10B45, 0);

// Initialize ambient lighting.
//CMemory::InstallPatch<float>(0x698A8C, 20.0);

// f*cked up Camera, Try it LOL
//CMemory::InstallPatch<byte>(0xA10B4F, 0);

// Initialize Wide Screen, byte (0 off 1 on).
//CMemory::InstallPatch<byte>(0x869652, 1); // needs looking at.
//CMemory::InstallPatch<byte>(0x7E46F5, 1); // cinamatic borders.

// Initialize Subtitles, byte (0 off 1 on).
CMemory::InstallPatch<byte>(0x869650, 0);

// Initialize Frame Limiter, byte (0 off 1 on).
CMemory::InstallPatch<byte>(0x869655, 1);

// Initialize Hud Mode, byte (0 off 1 on).
//CMemory::InstallPatch<byte>(0x86963A, 0);
//CMemory::InstallPatch<byte>(0xA10B39, 1);

// Initialize Police chopper chasing player, byte (0 off 1 on).
//CMemory::InstallPatch<byte>(0xA10ADB, 1);

// Initialize Tick rate, need currect values between low and fast.
//CMemory::InstallPatch<byte>(0x69102E, 0);

// police debug code = 0/1

//Static char policeflag[1];
//CMemory::InstallPatch<char*>(0x602E00, policeflag);
//Debug log = effects all other vehicles. so we are on the right track.

// All cops have Chainsaws, (float). 4 is default.
//CMemory::InstallPatch<byte>(0x4ED772, 11);
//CMemory::InstallPatch<byte>(0x4EC21D, 11);
//CMemory::InstallPatch<byte>(0x4EC228, 11);

// Initialize spawned taxi light status, byte (0 off 1 on).
//CMemory::InstallPatch<byte>(0xA10ABB, 1);

// Police Car light corona.
//CMemory::InstallPatch<float>(0x69a633, 600.0); // Size of the corona.
//CMemory::InstallPatch<float>(0x69a65c, 500.0); // EM lights actually effect

// Linear momentum (p=mv)
//CMemory::InstallPatch<float>(0x69a647, 20.0f);

// Car suspension
//CMemory::InstallPatch<float>(0x69a5dc, 1.0f);

//Disables rendering and game processing.
//CMemory::InstallPatch<byte>(0xA10B76, 0);

/* work in progress */
/*
static char policeweap[11];
CMemory::InstallPatch<char*>(0x4ec1e7, policeweap);
CMemory::InstallPatch<char*>(0x4ee108, policeweap);
CMemory::InstallPatch<char*>(0x4ec21d, policeweap);
CMemory::InstallPatch<char*>(0x4ec228, policeweap);
CMemory::InstallPatch<char*>(0x4ec21d, policeweap);
CMemory::InstallPatch<char*>(0x4ec228, policeweap);
*/

/* to be checked later.

//Police Weapons:
0x4EC21D
0x4EC228

//Swat Weapons:
0x4ed7d1
0x4ed7dc

//Vicechee Weapons
0x4ed8bc
0x4ed8c3

//Fbi weapons
0x4ed820
0x4ed827

//Army weapons
0x4ed842
0x4ed84d

//The skins
Police
0x4ed762
0x4ed76b

//Swat
0x4ed7c3

//Fbi
0x4ed812

//Army
0x4ed834

CMemory::RAND_Random();
{0, -Unarmed
1, -BrassKnuckle
2, -ScrewDriver
3, -GolfClub
4, -NightStick
5, -Knife
6, -BaseballBat
7, -Hammer
8, -Cleaver
9, -Machete
10, -Katana
11, -Chainsaw
};
*/

// Mp3 addresses.
//Number of mp3s found[dword].
//CMemory::InstallPatch<DWORD>(0xA108B0, 0)

//Mp3 station playing[byte].
//CMemory::InstallPatch<DWORD>(0xA10B50, 0)

//Pointer to first mp3 file block[dword].
//CMemory::InstallPatch<DWORD>(0x9753E0, 0)

//Index of mp3 playing[dword].
//CMemory::InstallPatch<DWORD>(0x97881C, 0)

//Pointer to HDIG Driver(mss)[dword].
//CMemory::InstallPatch<DWORD>(0x978550, 0)

//Current stream(mss)[dword].
//CMemory::InstallPatch<DWORD>(0x978668, 0)

//Total length of all mp3s(in milliseconds)[dword].
//CMemory::InstallPatch<DWORD>(0x94C104, 0)

}

X-Seti
  • X-Seti

    .Retro mod developer. (Xenon Brothers)

  • Feroci
  • Joined: 28 Jun 2005
  • Mars
  • Contribution Award [Mods]

#4

Posted 2 weeks ago Edited by X-Seti, 2 weeks ago.

I've lost a lot of content in the passed so keeping notes here seems to be a logical backup.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users