the cutting room mirror

Neighbours From Hell: Revenge is a Sweet Game

This article has a talk page!
view on tcrf.net

To do:

  • Prerelease article.
  • Add images of the game from different regions.

Neighbours from Hell is a reality show-esque strategy puzzle game, with the objective to do your neighbour a few favours.

Sub-Page#

Debug Options#

gameoptions.xml in the save directory has a couple debugging options that can be toggled under the

and tags.

showfps#

Displays the version, build, framerate and hardware usage in the top right corner.
NFH1WIN-FIN_showfps.png

loggamelogic#

Drops a GameLogicLog##.xml file in the save directory, where ## is an incremental number. It lists a whole bunch of information about what the game accesses and whatnot. The box below is what's dumped by starting the 1st introduction level.

<?xml version="1.0"?>

<level value="tutorial_1" seed="241309531"/>
<time value="0"/>
<AddIconMsg name="noise" gfx="gui/bubbles/bubble_what.tga"/>
<AddIconMsg name="shout" gfx="gui/bubbles/bubble_wut.tga"/>
<AddIconMsg name="chili_shout" gfx="gui/bubbles/bubble_chili_shout.tga"/>
<AddIconMsg name="dog_shout" gfx="gui/bubbles/bubble_dog_shout.tga"/>
<CreateGLObjMsg name="neighbor" flag="1"/>
<SetSpeedMsg animation="mg0" noise="0" speed="3" start="0"/>
<SetSpeedMsg animation="mg1" noise="0" speed="8" start="8"/>
<SetSpeedMsg animation="mg2" noise="0" speed="3" start="0"/>
<SetSpeedMsg animation="mg3" noise="0" speed="8" start="10"/>
<SetSpeedMsg animation="mr0" noise="0" speed="9" start="0"/>
<SetSpeedMsg animation="mr1" noise="0" speed="18" start="8"/>
<SetSpeedMsg animation="mr2" noise="0" speed="9" start="0"/>
<SetSpeedMsg animation="mr3" noise="0" speed="18" start="10"/>
<AddActionMsg actor="neighbor" actoranim="surprise" actornextanim="ms3" name="surprise" time="23" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="shout0_light" actornextanim="ms0" name="shout0_light" time="24" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="shout0_medium" actornextanim="ms0" name="shout0_medium" time="44" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="shout0" actornextanim="ms0" name="shout0" time="25" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="shout2" actornextanim="ms2" name="shout2" time="25" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="shout2_extra" actornextanim="ms3" name="shout2_extra" time="91" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="doubletake1" name="doubletake1" time="14" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="doubletake3" name="doubletake3" time="14" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="slip1" actornextanim="ms1" name="slip1" time="30" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="slip3" actornextanim="ms3" name="slip3" time="30" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="hurt" actornextanim="ms2" name="hurt" time="11" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="take_low" actornextanim="ms0" name="take_low" time="7" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="search" actornextanim="ms2" name="search" time="24" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="discover1" name="discover1" time="6" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="discover3" name="discover3" time="6" noise="0"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="woody" flag="1"/>
<AddHotSpotMsg name="progressbar" offset="-30/-130"/>
<SetSpeedMsg animation="mg0" noise="1" speed="6" start="0"/>
<SetSpeedMsg animation="mg1" noise="1" speed="17" start="12"/>
<SetSpeedMsg animation="mg2" noise="1" speed="6" start="0"/>
<SetSpeedMsg animation="mg3" noise="1" speed="17" start="12"/>
<SetSpeedMsg animation="sn0" noise="0" speed="2" start="0"/>
<SetSpeedMsg animation="sn1" noise="0" speed="5" start="2"/>
<SetSpeedMsg animation="sn2" noise="0" speed="2" start="0"/>
<SetSpeedMsg animation="sn3" noise="0" speed="5" start="2"/>
<AddActionMsg actor="woody" actoranim="lose" actornextanim="ms2" name="surprise" time="13" noise="0"/>
<AddActionMsg actor="woody" actoranim="laydown" actornextanim="smile" name="laydown" time="3" noise="0"/>
<AddActionMsg actor="woody" actoranim="lose" actornextanim="ms2" name="lose" time="13" noise="0"/>
<AddActionMsg actor="woody" actoranim="smile" actornextanim="ms2" name="smile" time="12" noise="0"/>
<AddActionMsg actor="woody" actoranim="decline" actornextanim="ms2" name="decline" time="18" noise="0"/>
<AddActionMsg actor="woody" actoranim="decline" actornextanim="ms2" name="declinetext" time="120" noise="0"/>
<AddActionMsg actor="woody" actoranim="triumph" actornextanim="ms2" name="triumph" time="22" noise="0"/>
<AddActionMsg actor="woody" actoranim="fear1" actornextanim="fear1_loop" name="fear1" time="8" noise="0"/>
<AddActionMsg actor="woody" actoranim="fear3" actornextanim="fear3_loop" name="fear3" time="8" noise="0"/>
<AddActionMsg actor="woody" actoranim="start" name="start" time="8" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="kill1" name="kill1" objanim="inv" time="59" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="kill2" name="kill2" objanim="inv" time="75" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="kill3" name="kill3" objanim="inv" time="67" noise="0"/>
<AddActionMsg actor="woody" actoranim="ms2" name="lookat" time="120" noise="0"/>
<AddActionMsg actor="woody" name="lookat_inv" time="120" noise="0"/>
<AddActionMsg actor="woody" actoranim="idle1" actornextanim="ms2" name="idle1" time="30" noise="0"/>
<AddActionMsg actor="woody" actoranim="idle2" actornextanim="ms2" name="idle2" time="21" noise="0"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="dog" flag="1"/>
<AddHotSpotMsg name="neighbor" offset="0/0"/>
<SetSpeedMsg animation="mg1" noise="0" speed="4" start="2"/>
<SetSpeedMsg animation="mg3" noise="0" speed="4" start="2"/>
<AddActionMsg actor="dog" actoranim="bark1" name="bark1" time="35" noise="2"/>
<AddActionMsg actor="dog" actoranim="bark3" name="bark3" time="35" noise="2"/>
<AddActionMsg actor="dog" actoranim="wakeup" actornextanim="ms3" name="wakeup" time="7" noise="0"/>
<AddActionMsg actor="dog" actoranim="fallasleep" actornextanim="sleep" name="fallasleep" time="15" noise="0"/>
<AddActionMsg actor="dog" actoranim="poor1" name="whine1" time="23" noise="0"/>
<AddActionMsg actor="dog" actoranim="poor3" name="whine3" time="23" noise="0"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="chili" flag="1"/>
<AddHotSpotMsg name="neighbor" offset="25/15"/>
<AddActionMsg actor="chili" actoranim="bark1" name="bark1" time="22" noise="2"/>
<AddActionMsg actor="chili" actoranim="bark3" name="bark3" time="22" noise="2"/>
<AddActionMsg actor="chili" actoranim="wakeup" actornextanim="ms3" name="wakeup" time="10" noise="0"/>
<AddActionMsg actor="chili" actoranim="fallasleep" actornextanim="sleep" name="fallasleep" time="21" noise="0"/>
<AddActionMsg actor="chili" actoranim="poor1" name="whine1" time="29" noise="0"/>
<AddActionMsg actor="chili" actoranim="poor3" name="whine3" time="29" noise="0"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="house" flag="0"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="HAL" flag="1"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="anc/sign" flag="0"/>
<AddHotSpotMsg name="woody" offset="58/26"/>
<SetStdActionMsg name="goto"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="lir/sign" flag="0"/>
<AddHotSpotMsg name="woody" offset="58/26"/>
<SetStdActionMsg name="goto"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="kit/sign" flag="0"/>
<AddHotSpotMsg name="woody" offset="58/26"/>
<SetStdActionMsg name="goto"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="anc/fro" flag="2"/>
<AddHotSpotMsg name="woody" offset="552/420"/>
<AddHotSpotMsg name="woody_out" offset="552/420"/>
<SetStdActionMsg name="end"/>
<AddActionMsg actor="woody" actoranim="inv" actornextanim="ms3" name="leave" objanim="woody_leave" objnextanim="ms" time="23" noise="0"/>
<AddActionMsg actor="woody" actoranim="inv" name="enter" objanim="woody_enter" objnextanim="ms" time="18" noise="0"/>
<SetFlagMsg mask="4096" value="true"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="anc/fro_dummy" flag="0"/>
<AddHotSpotMsg name="woody" offset="552/420"/>
<AddHotSpotMsg name="woody_out" offset="552/420"/>
<SetStdActionMsg name="look"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="fro/anc" flag="2"/>
<AddHotSpotMsg name="woody" offset="400/420"/>
<AddHotSpotMsg name="woody_out" offset="410/420"/>
<SetStdActionMsg name="end"/>
<AddActionMsg actor="woody" actoranim="inv" name="enter" objanim="woody_enter" objnextanim="ms" time="18" noise="0"/>
<AddActionMsg actor="woody" actoranim="inv" actornextanim="ms1" name="leave" objanim="woody_leave" objnextanim="ms" time="23" noise="0"/>
<SetFlagMsg mask="2048" value="true"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="fro/anc_dummy" flag="0"/>
<AddHotSpotMsg name="woody" offset="400/420"/>
<AddHotSpotMsg name="woody_out" offset="410/420"/>
<SetStdActionMsg name="look"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="anc/lir" flag="2"/>
<AddHotSpotMsg name="woody" offset="483/370"/>
<AddHotSpotMsg name="woody_out" offset="483/370"/>
<AddHotSpotMsg name="neighbor" offset="463/370"/>
<AddHotSpotMsg name="neighbor_out" offset="463/370"/>
<SetStdActionMsg name="goto"/>
<AddActionMsg actor="woody" actoranim="inv" name="enter" objanim="woody_enter" objnextanim="ms" time="9" noise="0"/>
<AddActionMsg actor="woody" actoranim="inv" actornextanim="ms2" name="leave" objanim="woody_leave" objnextanim="ms" time="25" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="inv" name="enter" objanim="neighbor_enter" objnextanim="ms" time="11" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="inv" actornextanim="ms3" name="leave" objanim="neighbor_leave" objnextanim="ms" time="22" noise="0"/>
<SetFlagMsg mask="512" value="true"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="anc/lir_dummy" flag="0"/>
<AddHotSpotMsg name="woody" offset="483/370"/>
<AddHotSpotMsg name="woody_out" offset="483/370"/>
<AddHotSpotMsg name="neighbor" offset="463/370"/>
<AddHotSpotMsg name="neighbor_out" offset="463/370"/>
<SetStdActionMsg name="look"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="kit/lir" flag="2"/>
<AddHotSpotMsg name="woody" offset="400/424"/>
<AddHotSpotMsg name="neighbor" offset="400/420"/>
<AddHotSpotMsg name="woody_out" offset="410/424"/>
<AddHotSpotMsg name="neighbor_out" offset="400/420"/>
<SetStdActionMsg name="goto"/>
<AddActionMsg actor="woody" actoranim="inv" name="enter" objanim="woody_enter" objnextanim="ms" time="18" noise="0"/>
<AddActionMsg actor="woody" actoranim="inv" actornextanim="ms1" name="leave" objanim="woody_leave" objnextanim="ms" time="24" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="inv" name="enter" objanim="neighbor_enter" objnextanim="ms" time="19" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="inv" actornextanim="ms1" name="leave" objanim="neighbor_leave" objnextanim="ms" time="19" noise="0"/>
<SetFlagMsg mask="2048" value="true"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="kit/lir_dummy" flag="0"/>
<AddHotSpotMsg name="woody" offset="400/420"/>
<AddHotSpotMsg name="neighbor" offset="400/420"/>
<AddHotSpotMsg name="woody_out" offset="410/420"/>
<AddHotSpotMsg name="neighbor_out" offset="400/420"/>
<SetStdActionMsg name="look"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="lir/anc" flag="2"/>
<AddHotSpotMsg name="woody" offset="483/370"/>
<AddHotSpotMsg name="woody_out" offset="483/370"/>
<AddHotSpotMsg name="neighbor" offset="463/370"/>
<AddHotSpotMsg name="neighbor_out" offset="463/370"/>
<SetStdActionMsg name="goto"/>
<AddActionMsg actor="woody" actoranim="inv" name="enter" objanim="woody_enter" objnextanim="ms" time="9" noise="0"/>
<AddActionMsg actor="woody" actoranim="inv" actornextanim="ms2" name="leave" objanim="woody_leave" objnextanim="ms" time="25" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="inv" name="enter" objanim="neighbor_enter" objnextanim="ms" time="11" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="inv" actornextanim="ms3" name="leave" objanim="neighbor_leave" objnextanim="ms" time="22" noise="0"/>
<SetFlagMsg mask="1024" value="true"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="lir/anc_dummy" flag="0"/>
<AddHotSpotMsg name="woody" offset="483/370"/>
<AddHotSpotMsg name="woody_out" offset="483/370"/>
<AddHotSpotMsg name="neighbor" offset="463/370"/>
<AddHotSpotMsg name="neighbor_out" offset="463/370"/>
<SetStdActionMsg name="look"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="lir/kit" flag="2"/>
<AddHotSpotMsg name="woody" offset="552/420"/>
<AddHotSpotMsg name="neighbor" offset="552/420"/>
<AddHotSpotMsg name="woody_out" offset="552/420"/>
<AddHotSpotMsg name="neighbor_out" offset="552/420"/>
<SetStdActionMsg name="goto"/>
<AddActionMsg actor="woody" actoranim="inv" name="enter" objanim="woody_enter" objnextanim="ms" time="15" noise="0"/>
<AddActionMsg actor="woody" actoranim="inv" actornextanim="ms3" name="leave" objanim="woody_leave" objnextanim="ms" time="23" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="inv" name="enter" objanim="neighbor_enter" objnextanim="ms" time="19" noise="0"/>
<AddActionMsg actor="neighbor" actoranim="inv" actornextanim="ms3" name="leave" objanim="neighbor_leave" objnextanim="ms" time="19" noise="0"/>
<SetFlagMsg mask="4096" value="true"/>
<EndGLObjMsg/>
<CreateGLObjMsg name="lir/kit_dummy" flag="0"/>
<AddHotSpotMsg name="woody" offset="552/420"/>
<AddHotSpotMsg name="neighbor" offset="552/420"/>
<AddHotSpotMsg name="woody_out" offset="552/420"/>
<AddHotSpotMsg name="neighbor_out" offset="552/420"/>
<SetStdActionMsg name="look"/>
<EndGLObjMsg/>
<AddNoiseTriggerMsg actor="neighbor" behavior="alarm" flag="8196" noise="2"/>
<AddNoiseTriggerMsg actor="dog" behavior="wakeup" flag="8193" noise="1"/>
<AddNoiseTriggerMsg actor="chili" behavior="wakeup" flag="8193" noise="1"/>
<AddObjectTriggerMsg object="kit/sign" actor="HAL" behavior="target" flag="4098" actionactor="woody"/>
<AddObjectTriggerMsg object="lir/kit" actor="HAL" behavior="target" flag="4097" actionactor="woody"/>
<AddObjectTriggerMsg object="lir/sign" actor="HAL" behavior="target" flag="4098" actionactor="woody"/>
<AddObjectTriggerMsg object="anc/lir" actor="HAL" behavior="target" flag="4097" actionactor="woody"/>
<AddObjectTriggerMsg object="anc/sign" actor="HAL" behavior="target" flag="4098" actionactor="woody"/>
<AddObjectTriggerMsg object="fro/anc" actor="HAL" behavior="target" flag="4097" actionactor="woody"/>
<SetLevelSizeMsg angrytime="280" size="1428/796"/>
<AddObjectMsg object="house" layer="0" offset="0/0" visible="true"/>
<ActivateAnimMsg object="house" animation="ms" frame="0"/>
<CreateRoomMsg name="fro" offset="1236/439" path1="50/218" path2="1840/218"/>
<AddObjectMsg object="fro/anc" layer="2" offset="-344/-202" visible="false"/>
<ActivateAnimMsg object="fro/anc" animation="ms" frame="0"/>
<AddObjectMsg object="fro/anc_dummy" layer="2" offset="-344/-202" visible="true"/>
<ActivateAnimMsg object="fro/anc_dummy" animation="ms" frame="0"/>
<AddNeighborMsg neighbor="anc" doorin="fro/anc" doorout="anc/fro" costs="1000"/>
<AddObjectMsg object="HAL" layer="3" offset="0/0" visible="true"/>
<ActivateAnimMsg object="HAL" animation="ms2" frame="0"/>
<EndRoomMsg/>
<CreateRoomMsg name="anc" offset="325/237" path1="100/420" path2="840/420"/>
<AddObjectMsg object="anc/sign" layer="1" offset="432/394" visible="false"/>
<ActivateAnimMsg object="anc/sign" animation="ms" frame="0"/>
<AddObjectMsg object="anc/lir" layer="1" offset="-313/0" visible="false"/>
<ActivateAnimMsg object="anc/lir" animation="ms" frame="0"/>
<AddObjectMsg object="anc/lir_dummy" layer="1" offset="-313/0" visible="true"/>
<ActivateAnimMsg object="anc/lir_dummy" animation="ms" frame="0"/>
<AddObjectMsg object="anc/fro" layer="2" offset="286/0" visible="false"/>
<ActivateAnimMsg object="anc/fro" animation="ms" frame="0"/>
<AddObjectMsg object="anc/fro_dummy" layer="2" offset="286/0" visible="true"/>
<ActivateAnimMsg object="anc/fro_dummy" animation="ms" frame="0"/>
<AddNeighborMsg neighbor="lir" doorin="anc/lir" doorout="lir/anc" costs="1000"/>
<AddNeighborMsg neighbor="fro" doorin="anc/fro" doorout="fro/anc" costs="1000"/>
<EndRoomMsg/>
<CreateRoomMsg name="kit" offset="617/-41" path1="276/420" path2="688/420"/>
<AddObjectMsg object="kit/sign" layer="1" offset="422/394" visible="false"/>
<ActivateAnimMsg object="kit/sign" animation="ms" frame="0"/>
<AddObjectMsg object="kit/lir" layer="2" offset="-121/-4" visible="false"/>
<ActivateAnimMsg object="kit/lir" animation="ms" frame="0"/>
<AddObjectMsg object="kit/lir_dummy" layer="2" offset="-121/-4" visible="true"/>
<ActivateAnimMsg object="kit/lir_dummy" animation="ms" frame="0"/>
<AddObjectMsg object="woody" layer="4" offset="650/420" visible="true"/>
<ActivateAnimMsg object="woody" animation="ms2" frame="0"/>
<AddNeighborMsg neighbor="lir" doorin="kit/lir" doorout="lir/kit" costs="1000"/>
<EndRoomMsg/>
<CreateRoomMsg name="lir" offset="4/-45" path1="184/420" path2="770/420"/>
<AddObjectMsg object="lir/sign" layer="1" offset="422/394" visible="false"/>
<ActivateAnimMsg object="lir/sign" animation="ms" frame="0"/>
<AddObjectMsg object="lir/kit" layer="2" offset="211/0" visible="false"/>
<ActivateAnimMsg object="lir/kit" animation="ms" frame="0"/>
<AddObjectMsg object="lir/kit_dummy" layer="2" offset="211/0" visible="true"/>
<ActivateAnimMsg object="lir/kit_dummy" animation="ms" frame="0"/>
<AddObjectMsg object="lir/anc" layer="1" offset="-2/-3" visible="false"/>
<ActivateAnimMsg object="lir/anc" animation="ms" frame="0"/>
<AddObjectMsg object="lir/anc_dummy" layer="1" offset="-2/-3" visible="true"/>
<ActivateAnimMsg object="lir/anc_dummy" animation="ms" frame="0"/>
<AddNeighborMsg neighbor="kit" doorin="lir/kit" doorout="kit/lir" costs="1000"/>
<AddNeighborMsg neighbor="anc" doorin="lir/anc" doorout="anc/lir" costs="1000"/>
<EndRoomMsg/>
<time value="1"/>
<time value="2"/>
<time value="3"/>
<time value="4"/>
<time value="5"/>
<time value="6"/>
<time value="7"/>
<time value="8"/>
<time value="9"/>
<StartLevelMsg/>
<StartLevelMsg/>
<time value="10"/>
<time value="11"/>
<time value="12"/>
<time value="13"/>
<time value="14"/>
<time value="15"/>

logpaintserver#

Drops a Call.log file by the executable at runtime. The box below shows what's dumped by starting and exitting the game.



<<New Session>>
Call to video::software::createDirectDraw1Context (
  hwnd = 006f10d6
  dimension.width = 800
  dimension.height = 600
  SurfaceFormat: = 6
  SurfaceFormat: = SurfaceFormat_R5G6B5
  BackbufferCount = 0
  )
Call to LoadLibrary.ddraw.dll (
  DDrawLibrary = 52760000
  )
Call to GetProcAddress.DirectDrawCreate (
  DirectDrawCreate = 7460c7e0
  )
Call to DirectDrawCreate ( NULL, &DDraw, NULL ) (
  #Return = DD_OK
  )
Call to DDraw->SetCooperativeLevel ( Window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN ) (
  #Return = DD_OK
  )
Call to DDraw->SetDisplayMode (
  width = 800
  height = 600
  bpp = 16
  #Return = DD_OK
  )
Call to FullScreen: DDraw->CreateSurface ( &ddsd, &Primary, NULL ) (
  #Return = DD_OK
  )
Call to FullScreen: Primary->GetSurfaceDesc ( &ddsd ) (
  #Return = DD_OK
  )
Call to DirectDraw1Context::querySurfaceFormat (
  RGBBitCount = 16
  SurfaceFormat = 6
  SurfaceFormat: = SurfaceFormat_R5G6B5
  )
Call to BackBuffer and PresentFunction (
  Backbuffer.isNotNull = 1
  SurfaceFormat = 6
  SurfaceFormat: = SurfaceFormat_R5G6B5
  PresentFunction: = presentFullScreen_8_16_32_SSE
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1f
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 6
  SurfaceFormat: = SurfaceFormat_R5G6B5
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 6
  SurfaceFormat: = SurfaceFormat_R5G6B5
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createColorPaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  )
Call to Context::createColorPaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  )
Call to Context::createColorPaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  )
Call to Context::createColorPaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  )
Call to Context::createColorPaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  )
Call to Context::createColorPaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 6
  SurfaceFormat: = SurfaceFormat_R5G6B5
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 6
  SurfaceFormat: = SurfaceFormat_R5G6B5
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createColorPaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  )
Call to Context::createColorPaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  )
Call to Context::createColorPaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  )
Call to Context::createColorPaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  )
Call to Context::createColorPaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  )
Call to Context::createColorPaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  )
Call to Context::createColorPaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  )
Call to Context::createColorPaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createImagePaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  SurfaceFormat: = 9
  SurfaceFormat: = SurfaceFormat_A4R4G4B4
  Beautiness: = 0
  Beautiness: = Texure based
  )
Call to Context::createColorPaintServer (
  painter.isNotNull (): = 1
  ServerType: = SSE
  ContextFormat: = 6
  ContextFormat: = SurfaceFormat_R5G6B5
  )
Call to Primary->Release () (
  #Return = #Unknown(0x00000001)
  )
Call to DDraw->RestoreDisplayMode (
  #Return = DD_OK
  )
Call to DDraw->SetCooperativeLevel ( Window, DDSCL_NORMAL ) (
  #Return = DD_OK
  )
Call to DDraw->Release () (
  #Return = DD_OK
  )
Call to FreeLibrary.ddraw.dll (
  )

forcepaintserver & advancedpainter#

forcepaintserver on its own doesn't seem to have any function, however advancedpainter has slightly different outcomes when forcepaintserver is either on or off.

advancedpainter only seems to work when Fullscreen mode is enabled, and seems to just reduce the bit depth to 8bpp, along with some slight HUD corruption. This is where forcepaintserver would come into play to fix the broken HUD. The bit depth reduction is more noticeable on object shadows.

Normal Gameplay

advancedpainter

advancedpainter & forcepaintserver

Unused graphics#

Lost tutorial#

Icon for an unused tutorial level. Has six copies under the names of level_tut.tga, level06.tga, level09.tga, levesofa0.tga, levesofa1.tga and levesofa2.tga.

Alpha splashscreen#

A splashscreen for an alpha version, found in the game files.

Old inventory#

NFHInventory.png NFH_exit_std.png NFH_exit_hover.png NFH_exit_pressed.png

Old, pop-up inventory instead of standard bar one, probably removed because it would be annoying pulling up the inventory every single time you wanted to use an item.

Old cursors#

NFHCamera.png NFHHide.png NFHCursor.png

Old variants of game cursors.

Cut items#

A shoe. Used in the console version of Sunny Morning, was brought back in Neighbours Back From Hell.

NFHBeerLaxative.png NFHBeer.png

A pack of beer and its variant with laxative. In the final game, laxative is used as a separate item, and there is no option to pick up the beer pack. Probably removed for being unnecessarily tricky rather than just putting laxative into the pack.

Football item. Football does appear in the game in The Old Spoilsport as part of a trick where you replace it with a bowling ball, but you are never able to actually pick it up. Probably removed due to being useless unless they had some different plans for it.

Cut thought bubbles#

NFHBubbleBird.png NFHBubbleDog.png

Rottweiler's thought bubbles for dog and Chilli. Probably used when Woody wakes them up causing Rottweiler to check the noise. In the final version it is replaced by a an exclamation mark and a question mark.

Unused credits screen#

An early version of the credits screen. This screen was used in the the sequel.

Unused Animations#

To do:
These are 16bpp images, .GIFs are 8bpp and won't work here without quality loss + the sizes are all different! May need something else to combine in a single combined animation, if at all (.APNG?)

The files under gfxdata.bnd\dog\ reveal that the neighbour's dog has a walking and scratching animations, that aren't ever used in-game.

T_walk1 T_walk3

T_scratch

T_scratch#

T_walk1#

T_walk3#

Unused sounds#

An unused sounds for dog walking animation.

Unused jingle intended to be played when you get 100% viewer rating, it was reused in the sequel and the console version.

Oddities#

Lost levels?#

Each level background has its own, numbered name: house_05, house_04 etc. However, there is no house_06 and respectively no level_06. Same goes to level_tut, level_09, level sofa_1, level sofa_2 and level_0, that have placeholder icons but no code.

Sunny Morning alternate icon#

Finishing Sunny Morning on minimal percentage replaces its icon with a different one than the used as an oversight.

Icon differences#

Some of the icons for levels may have different content, which gives an idea of what these icons were used for in the early stages of development.

Icon

In game

Notes

The pig's cage is in a different location.

The beer mugs are in a different location. The neighbor's animation frame when he pours the beer is different, and there is a lounge chair next to him that is not present on the level itself. You can also see part of an umbrella in the right corner.

Absent ringing phone thought bubble#

Hovering over ringing phone will reveal it is clickable, yet Woody won't give you any thoughts on it, suggesting developers forgot to add the bubble into the game or it was cut for some reason. likely due to the fact it is nearly impossible to actually read the phone, since it only rings in the level "The Old Spoilsport" and the neighbour is walking towards the phone while it rings. the developers properly thought it didn't matter since no one would try to look at the phone while it rang.

Unused thought bubble#

Text

Level

Notes

The antenna is made of easily twistable wire.

TV afternoon (level_sofa)

Due to the fact that Woody immediately twists the antenna, this description cannot be viewed.

My neighbour seems to be into painting.

Art for mum's sake (level_art)

This description cannot be viewed because the neighbor immediately interacts with the stand, and it changes to another one.

There's a key hanging on this.

One Little Piggy (level_pig)

Perhaps, initially, it was not easy to take the key, and there was something like glass there.

This is what my neighbour uses to polish his balcony railings. It makes a hell of a racket.

Do it yourself (level_DIY)

Just like the antenna, woody immediately interacts with it, making the description unused.

That's what you get for shooting all those hamsters and guinea pigs.

Night of The Hunter (level_hunter)

It was meant to be a thought bubble for dirty trophies but due to the fact that the neighbor immediately wipes them and the cups become clean, they cannot be viewed, but you can still see the inscription on them.

Regional Differences#

Sometime after this game was released, the game later got released in the US, Russia, and Germany with a few differences.

In the US, the logo "Neighbours From Hell" was slightly altered to say "Neighbors From Hell". This also happened to the game in the other countries.

Do It Yourself#

Just like the logo, the level "Do It Yourself" was for some reason renamed to "Home Improvement" in the US version

Unused Code#

In the gamedata.bnd dialogs/mainmenuwhilegame.xml there is an unused line with the logo, perhaps it could be a smaller version of the logo that stands on the green or blue bar NFHUnusedScriptScreenshot.png

<frame name="logo" offset="154/20">
<image gfx="gui/logo/logo_main.tga"/>
</frame>

Anti-piracy#

If the game detects that it has been played on an illegal copy, a pop-up message will appear saying "Copy protection error! Please put the original CD in your CD-ROM or DVD-ROM drive".