
Pages:<< prev 1 next >>


Off the Edge of the Map

GroupAdministrators
Posts1,199
JoinedMar 21, 2006
Bug: Weather system uses copy of old URANGE macro.
Danger: Medium - Could result in bogus math and things returning wrong..
Found by: Kayle
Fixed by: Kayle
---
weather.h
Find and remove the WRANGE macro.
weather.c, ApplyDeltaChanges
Find:
Replace with:
This was an attempt to make the system as reliant on the codebase as possible but ended up just causing issues. So we'll just avoid those issues by using the urange call from the codebase.
Danger: Medium - Could result in bogus math and things returning wrong..
Found by: Kayle
Fixed by: Kayle
---
weather.h
Find and remove the WRANGE macro.
weather.c, ApplyDeltaChanges
Find:
//Here we actually apply the changes making sure they stay within specific bounds cell->temperature = WRANGE( -30, cell->temperature + delta->temperature, 100 ); cell->pressure = WRANGE( 0, cell->pressure + delta->pressure, 100 ); cell->cloudcover = WRANGE( 0, cell->cloudcover + delta->cloudcover, 100 ); cell->energy = WRANGE( 0, cell->energy + delta->energy, 100 ); cell->humidity = WRANGE( 0, cell->humidity + delta->humidity, 100 ); cell->precipitation = WRANGE( 0, cell->precipitation + delta->precipitation, 100 ); cell->windSpeedX = WRANGE( -100, cell->windSpeedX + delta->windSpeedX, 100 ); cell->windSpeedY = WRANGE( -100, cell->windSpeedY + delta->windSpeedY, 100 );
Replace with:
//Here we actually apply the changes making sure they stay within specific bounds cell->temperature = URANGE( -30, cell->temperature + delta->temperature, 100 ); cell->pressure = URANGE( 0, cell->pressure + delta->pressure, 100 ); cell->cloudcover = URANGE( 0, cell->cloudcover + delta->cloudcover, 100 ); cell->energy = URANGE( 0, cell->energy + delta->energy, 100 ); cell->humidity = URANGE( 0, cell->humidity + delta->humidity, 100 ); cell->precipitation = URANGE( 0, cell->precipitation + delta->precipitation, 100 ); cell->windSpeedX = URANGE( -100, cell->windSpeedX + delta->windSpeedX, 100 ); cell->windSpeedY = URANGE( -100, cell->windSpeedY + delta->windSpeedY, 100 );
This was an attempt to make the system as reliant on the codebase as possible but ended up just causing issues. So we'll just avoid those issues by using the urange call from the codebase.
Pages:<< prev 1 next >>