Project: RSS

Viewing Issue Advanced Details Jump to Notes ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0004276 [Source patches] Multi Theft Auto : San Andreas feature N/A 2009-05-08 11:20 2012-01-15 12:38
Reporter lucasc190 View Status public  
Assigned To lucasc190
Priority normal Resolution open Platform
Status feedback   OS
Projection none   OS Version
ETA none Fixed in Version Product Version
  Target Version Product Build
Summary 0004276: Interior Weather Patch (Issue 0004138)
Description This patch adds an optional boolean argument to "setWeather" and "setWeatherBlended" (both client-side and server-side) to allow weather on all interiors.

This could be used for outdoor places that are not on interior 0 and custom maps that use interiors.
Steps To Reproduce
Additional Information
Tags No tags attached.
Attached Files ? file icon InteriorWeatherPatch.patch [^] (29,039 bytes) 2009-05-08 11:20

- Relationships
related to 0004138assignedlucasc190 New issues A Way To Allow Fog On Interiors 

-  Notes
(0009118)
eAi (administrator)
2009-05-09 17:27
edited on: 2009-05-09 17:30

This seems like a useful patch. I'm not sure if it should go further though and allow the weather to be set in a particular interior (on the server). Just having a 'set in all interiors' flag is a good start, but I think it'd be more useful and consistent to have a interiorID input (that defaults to the current interior on the client and 0 on the server).

Hacks like the one you've done in CWeatherSA::SetInteriors should probably be in multiplayer_sa. We try to make the interface to game_sa as similar to GTA's own interface where possible, and we try to hide NOP hacks etc in multiplayer_sa.

Equally:
        *(BYTE*)(0x0072B010+1)=0x90;
        *(BYTE*)(0x0072B010+2)=0x90;
        *(BYTE*)(0x0072B010+3)=0x90;
        *(BYTE*)(0x0072B010+4)=0x90;
        *(BYTE*)(0x0072B010+5)=0x90;

Could be:

        memset(0x72B010, 0x90, 5)

Which would be neater and reduce the amount of code. I can see why you've done it like that - for symmetry with the code that resets it. Alternatively, you could write a hook function and just unset and reset it.

(0009303)
lucasc190 (developer)
2009-05-22 12:00

I've moved the NOP hacks to multiplayer_sa and made it use memset where possible.

It still specifies whether or not ALL interiors have weather. 'set in all interiors' seems to be sufficient for most uses. The only time I can think of that you would want interior specific weather, would be for a particular place, which could easilly be done with a client-side colshape.

I've also made client and server side getWeather also return a boolean specifying whether or not interior weather is enabled.

The new version is here: http://lucasstuff.com/external/mta/NewInteriorWeatherPatch.patch [^]

- Issue History
Date Modified Username Field Change
2009-05-08 11:20 lucasc190 New Issue
2009-05-08 11:20 lucasc190 File Added: InteriorWeatherPatch.patch
2009-05-08 11:41 lucasc190 Issue Monitored: lucasc190
2009-05-09 17:27 eAi Note Added: 0009118
2009-05-09 17:30 eAi Note Edited: 0009118
2009-05-10 13:10 eAi Status new => assigned
2009-05-10 13:10 eAi Assigned To => lucasc190
2009-05-11 02:24 eAi Relationship added related to 0004138
2009-05-22 12:00 lucasc190 Note Added: 0009303
2012-01-15 12:38 x86 Status assigned => feedback


Mantis 1.1.8[^]
Copyright © 2000 - 2009 Mantis Group
Powered by Mantis Bugtracker