Renegade Public Forums
C&C: Renegade --> Dying since 2003™, resurrected in 2024!
Home » Tiberian Technologies / Blackhand Studios » Tiberian Technologies Forum » Commands->Get_Random_Int() is of very poor quality
Re: Commands->Get_Random_Int() is of very poor quality [message #473084 is a reply to message #473077] Sun, 12 August 2012 14:14 Go to previous messageGo to previous message
iRANian is currently offline  iRANian
Messages: 4311
Registered: April 2011
Karma:
General (4 Stars)
Seems it might be using a look up table internally, Get_Random_Int() calls Random2Class::operator()(void) for the object FreeRandom which in turn uses member data initialized in the Random2Class constructor which calls Random3Class RNG functions to initialize some member data.

There's a check to reset a member variable to 0 if it's higher than 249 in Random2Class::operator()(void) so..

edit: yeah it's using a lookup table

int __cdecl Random2Class__Random2Class(int a1, int a2)
{
  signed int v2; // ebx@1
  int result; // eax@2
  char v4; // [sp+Ch] [bp-14h]@1

  *(_DWORD *)a1 = 0;
  *(_DWORD *)(a1 + 4) = 103;
  Random3Class__Random3Class(&v4, a2, 0);
  v2 = 0;
  do
  {
    result = Random3Class__operator__(&v4);
    *(_DWORD *)(a1 + 4 * v2++ + 8) = result;
  }
  while ( v2 <= 249 );
  return result;
}


Long time and well respected Renegade community member, programmer, modder and tester.

Scripts 4.0 private beta tester since May 2011.

My Renegade server plugins releases

[Updated on: Sun, 12 August 2012 14:21]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Crash dump
Next Topic: flame tank right click
Goto Forum:
  


Current Time: Sun Feb 16 02:24:46 MST 2025

Total time taken to generate the page: 0.00661 seconds