# Halo NTSC INI File v1.0 by SF

# Fix memory addressing and disable movie playback
HaloHack=true

main=56960
CreateThread=12BE3
rand=19F56
srand=19F49
XFindClose=145FC
fopen=1A00C
fwrite=1AA4A
fclose=1A06B
fprintf=19AA6
fscanf=1A0BC
fgets=1A32F
strtok=1A440
fread=1AB8E
fflush=1B0DD
_wtmpnam=1C5BE
_wfopen=1C37A

D3DDevice_SetRenderState_Simple=1820A0
D3D__RenderState=18F380
D3D__TextureState=18F180
D3D__DirtyFlags=18F808
D3D__IndexData=18F17C
D3DDevice_SetRenderState_PSTextureModes=182070
D3DDevice_SetRenderState_VertexBlend=182600
D3DDevice_SetRenderState_FogColor=1821E0
D3DDevice_SetRenderState_FillMode=182510
D3DDevice_SetRenderState_BackFillMode=182550
D3DDevice_SetRenderState_TwoSidedLighting=1825A0
D3DDevice_SetRenderState_NormalizeNormals=1822E0
D3DDevice_SetRenderState_ZEnable=182D50
D3DDevice_SetRenderState_StencilEnable=182DC0
D3DDevice_SetRenderState_StencilFail=182E40
D3DDevice_SetRenderState_CullMode=182230
D3DDevice_SetRenderState_FrontFace=1822A0
D3DDevice_SetRenderState_TextureFactor=182310

D3DDevice_SetRenderState_LogicOp=1824C0
D3DDevice_SetRenderState_EdgeAntiAlias=182180
D3DDevice_SetRenderState_MultiSampleAntiAlias=183000
D3DDevice_SetRenderState_MultiSampleMask=183050
D3DDevice_SetRenderState_MultiSampleMode=182040
D3DDevice_SetRenderState_ShadowFunc=1821B0
D3DDevice_SetRenderState_LineWidth=182360
D3DDevice_SetRenderState_Dxt1NoiseEnable=1823C0
D3DDevice_SetRenderState_YuvEnable=182EB0
D3DDevice_SetRenderState_OcclusionCullEnable=182EE0
D3DDevice_SetRenderState_StencilCullEnable=182F40
D3DDevice_SetRenderState_RopZCmpAlwaysRead=182FA0
D3DDevice_SetRenderState_RopZRead=182FC0
D3DDevice_SetRenderState_DoNotCullUncompressed=182FE0

D3DDevice_SetTextureState_BumpEnv=182720
D3DDevice_SetTextureState_TexCoordIndex=182640
D3DDevice_SetTextureState_BorderColor=182780
D3DDevice_SetTextureState_ColorKeyColor=1827C0

D3DDevice_SetTransform=180EF0
D3DDevice_GetTransform=181000
D3DDevice_Release=181030
D3DDevice_GetVisibilityTestResult=1810F0
D3DDevice_SetVerticalBlankCallback=181150
D3DDevice_BlockUntilVerticalBlank=181170
D3DDevice_SetFlickerFilter=1811A0
D3DDevice_SetSoftDisplayFilter=1811C0
D3DDevice_SetRenderTarget=1812C0
D3DDevice_SetViewport=1817F0
D3DDevice_SetTexture=181950
D3DDevice_SetPalette=181AB0
D3DDevice_SetIndices=181B30
D3DDevice_IsBusy=181BC0
D3D::KickOffAndWaitForIdle=188180
D3DDevice_BeginVisibilityTest=181C00
D3DDevice_EndVisibilityTest=181C30
D3DDevice_PersistDisplay=181EE0
D3DDevice_Clear=1830A0
D3DDevice_CreateVertexShader=183990
D3DDevice_SetStreamSource=183AD0
D3DDevice_LoadVertexShader=183B60
D3DDevice_SelectVertexShader=183BC0
D3DDevice_GetVertexShaderSize=183C30
D3DDevice_SetShaderConstantMode=183C50
D3DDevice_SetVertexShader=00183EB0
D3DDevice_SetVertexShaderConstantNotInline=183F90
D3DDevice_SetPixelShader=184030
D3DDevice_DrawVertices=184230
D3DDevice_DrawIndexedVertices=1842D0
D3DDevice_SetVertexData2f=184540
D3DDevice_SetVertexData4f=00184580
D3DDevice_SetVertexData2s=001845E0
D3DDevice_SetVertexData4s=00184620
D3DDevice_SetVertexDataColor=00184670
D3DDevice_Begin=1846C0
D3DDevice_End=184700
D3DResource_BlockUntilNotBusy=1885D0
D3DResource_IsBusy=00184A20
D3DResource_Register=00184AB0
D3D::PixelJar::Get2DSurfaceDesc=189940
D3DTexture_GetSurfaceLevel=184B60
D3DTexture_LockRect=00184BB0
Direct3D_CreateDevice=00184CE0
D3DDevice_Present=00185670
D3DDevice_CreateIndexBuffer=185800
D3DDevice_CreateVertexBuffer=185870
D3DDevice_SetPushBufferSize=184CC0
D3DDevice_CreatePalette=185920
D3DPalette_Lock=185840
D3DDevice_GetBackBuffer=181520
D3DDevice_GetDepthStencilSurface=1817C0
D3DDevice_CreateTexture=180E60
D3DDevice_CreateVolumeTexture=180E90
D3DDevice_CreateCubeTexture=180EC0
D3DVertexBuffer_Lock=1858D0

DirectSoundCreate=194A9F
DirectSoundUseFullHRTF=00192D8C
IDirectSound_GetCaps=193AA0
IDirectSound_SetDopplerFactor=193B1F  # Unknown - possibly incorrect
IDirectSound_GetSpeakerConfig=00193ABC
IDirectSound_SetMixBinHeadroom=00193AFF
IDirectSound_SetPosition=00193B8D
IDirectSound_SetVelocity=00193BE6
IDirectSound_CommitDeferredSettings=00193C1B
IDirectSound_SetAllParameters=00193C33
IDirectSound_CreateSoundBuffer=19494B
IDirectSoundBuffer_SetVolume=193C53
IDirectSoundBuffer_SetPitch=193C6F
IDirectSoundBuffer_SetPlayRegion=193CA7
IDirectSoundBuffer_SetCurrentPosition=00193D03
IDirectSoundStream_SetVolume=193D4F
IDirectSoundStream_SetPitch=194470
IDirectSoundStream_SetRolloffFactor=00193DCB   # Unknown - possibly incorrect
IDirectSoundStream_SetPosition=193DD0
IDirectSoundStream_SetConeOrientation=193D6D
IDirectSoundStream_SetVelocity=193DF9
IDirectSoundStream_SetConeOutsideVolume=193D96
IDirectSoundStream_SetMaxDistance=00193D9B
IDirectSoundStream_SetMinDistance=00193DB3
IDirectSoundStream_SetAllParameters=193E22   # Unknown - possibly incorrect
IDirectSoundStream_SetI3DL2Source=193D63   # Unknown - possibly incorrect
IDirectSoundStream_SetConeAngles=193D68
IDirectSoundStream_SetHeadroom=194484   # Unknown - possibly incorrect
IDirectSoundStream_SetPitch_NotInline=193FF7
IDirectSoundStream_GetStatus_3911=19C5E7
DirectSoundDoWork=193E27
DirectSoundCreateBuffer=194B3D

XNetGetEthernetLinkStatus=190DC
XNetStartup=1AF55D

XCalculateSignatureBegin=15BA5
XDeleteSaveGame=143DF

XInputOpen=1D130C
XInputClose=1D1381
XInputGetState=1D138D
XInputSetState=1D13FE

#==========================================================================================
#==========================================================================================
#==========================================================================================

CopyFileA=00014AAD
CopyFileExA=000147CB
CreateDirectoryA=00014ACC
CreateEventA=00012C62
CreateFileA=00014640
CreateMutexA=00012D01
D3D::PixelJar::Lock2DSurface=00189C30
D3D::PixelJar::Lock3DSurface=00189CD0
D3DDevice_DeleteVertexShader=00183D90
D3DDevice_GetDeviceCaps=00180E40
D3DDevice_InsertFence=001BA0F0
D3DDevice_KickPushBuffer=001B1572
D3DDevice_SetRenderState_ZBias=00182440
D3DResource_AddRef=00184990
D3DResource_Release=001849D0
D3DSurface_LockRect=001859B0
DeleteFileA=00014DCF
Direct3DCreate8=00185AF0
Direct3D_SetPushBufferSize=001B6C80
FileTimeToLocalFileTime=0001350B
FileTimeToSystemTime=00013038
FindFirstFileA=000154FC
FindNextFileA=00015609
FlushFileBuffers=0001534E
GetCurrentThreadId=00012C37
GetDiskFreeSpaceExA=000156B3
GetExitCodeThread=00012AB6
GetFileAttributesA=00014C6C
GetFileAttributesExA=00014CB7
GetFileInformationByHandle=0001519E
GetFileSize=00015455
GetFileSizeEx=00015375
GetFileTime=00015276
GetLastError=0001364F
GetProcessHeap=001D1598
GetSystemTime=00012FCC
GetTickCount=00013030
GetTimeZoneInformation=00013359
GlobalMemoryStatus=000135CE
HeapFree=00013536
IDirectSoundBuffer_Lock=00193D1F
IDirectSoundBuffer_Play=00194414
IDirectSoundBuffer_Release=00192D76
IDirectSoundBuffer_SetLoopRegion=00194450
IDirectSoundBuffer_Stop=00194438
IDirectSoundBuffer_Unlock=00192D71
IDirectSound_CommitEffectData=00193C1B
IDirectSound_CreateSoundStream=0019496F
IDirectSound_DownloadEffectsImage=00193AD8
IDirectSound_Release=00192D5B
IDirectSound_SetDistanceFactor=00193BC2
IDirectSound_SetOrientation=00193B43
LocalAlloc=00013585
LocalFree=00013567
LocalReAlloc=000135A2
LocalSize=00013553
MoveFileA=00014D39
RaiseException=00012A4D
ReadFile=00014E5D
RemoveDirectoryA=00014B38
RtlSizeHeap=0001691C
SetEndOfFile=00015020
SetFileAttributesA=00014BC6
SetFilePointer=000150A4
SetFileTime=000152DC
SetLastError=00013677
SetThreadPriority=000129D5
SleepEx=00012E3D
SwitchToThread=00012AA3
SystemTimeToFileTime=000130A3
USBD_Init=001CFD15
UnhandledExceptionFilter=000129B8
WaitForMultipleObjects=00012EA1
WaitForMultipleObjectsEx=00012DBD
WaitForSingleObject=00012E8F
WaitForSingleObjectEx=00012D79
WriteFile=00014F4A
XCalculateSignatureEnd=00015BFD
XCalculateSignatureUpdate=00015BE3
XCreateSaveGame=0001417C
XFindFirstNicknameW=00013C4A
XFindFirstSaveGame=000144AE
XFindNextSaveGame=000145B5
XGetAudioFlags=00015D9B
XGetDeviceChanges=001D129F
XGetLaunchInfo=00013796
XGetParentalControlSetting=00015DDF
XLaunchNewImageA=0001383F
XPhysicalAlloc=0001565A
XPhysicalProtect=0001569D
XRegisterThreadNotifyRoutine=00012B02
XSetNicknameW=00013952
_control87=0001AD88
_controlfp=0001ADBA
_exit=00019A94
_fgetwchar=000B96E0
_flushall=0001F11A
_fpclass=0001CFC0
_heap_alloc=0001D1CE
_isctype=0001FE4C
_ismbcspace=0002051D
_ltow=00021A66
_nh_malloc=0001D1F5
_snprintf=0001993E
_snwprintf=0001CC85
_strnicmp=000247C0
_ultoa=00023B2A
_vsnwprintf=0001C101
_wcsicmp=0001B974
_wcslwr=00024A2F
_wcsnicmp=0001B9FC
_wcsupr=00024A5B
_wrmdir=0001C4E0
_wtol=0001C9E2
atol=0001A858
calloc=0001E084
ctime=0001CA46
exit=00019A82
localtime=0001A1AF
mainXapiStartup=00015C5A
malloc=0001D221
mbstowcs=00023AAB
mbtowc=000209DC
sprintf=00019470
strtol=0001C83E
strtoul=0001C855
time=00019F78
tolower=0001A137
toupper=0001A106
towlower=0001A168
towupper=0001B92D
ungetc=00020A13
vsprintf=0001B11E
vswprintf=0001C170
wcscat=0001A8ED
wcschr=0001A8CB
wcscmp=0001B5D5
wcscpy=0001A917
wcscspn=0001B60C
wcslen=0001A8B5
wcsncat=0001B6A0
wcsncmp=0001B6DD
wcsncpy=0001B712
wcspbrk=0001B74F
wcsrchr=0001B78F
wcsspn=0001B7BF
wcsstr=0001B805
wcsxfrm=0001B908