3333 _bytes ,
3434 _CDataWrapper ,
3535 _check ,
36+ _check_p ,
3637 _check_warn ,
3738 _console ,
3839 _fmt ,
@@ -1853,8 +1854,12 @@ def console_from_file(filename: str) -> tcod.console.Console:
18531854
18541855 Returns: A new :any`Console` instance.
18551856 """
1857+ if not os .path .exists (filename ):
1858+ raise RuntimeError (
1859+ "File not found:\n \t %s" % (os .path .realpath (filename ),)
1860+ )
18561861 return tcod .console .Console ._from_cdata (
1857- lib .TCOD_console_from_file (filename .encode ("utf-8" ))
1862+ _check_p ( lib .TCOD_console_from_file (filename .encode ("utf-8" ) ))
18581863 )
18591864
18601865
@@ -2068,8 +2073,14 @@ def console_save_apf(con: tcod.console.Console, filename: str) -> bool:
20682073 )
20692074
20702075
2076+ @deprecate ("Use tcod.console_from_xp to load this file." )
20712077def console_load_xp (con : tcod .console .Console , filename : str ) -> bool :
2072- """Update a console from a REXPaint `.xp` file."""
2078+ """Update a console from a REXPaint `.xp` file.
2079+
2080+ .. deprecated:: 11.18
2081+ Functions modifying console objects in-place are deprecated.
2082+ Use :any:`tcod.console_from_xp` to load a Console from a file.
2083+ """
20732084 return bool (
20742085 lib .TCOD_console_load_xp (_console (con ), filename .encode ("utf-8" ))
20752086 )
@@ -2088,15 +2099,23 @@ def console_save_xp(
20882099
20892100def console_from_xp (filename : str ) -> tcod .console .Console :
20902101 """Return a single console from a REXPaint `.xp` file."""
2102+ if not os .path .exists (filename ):
2103+ raise RuntimeError (
2104+ "File not found:\n \t %s" % (os .path .realpath (filename ),)
2105+ )
20912106 return tcod .console .Console ._from_cdata (
2092- lib .TCOD_console_from_xp (filename .encode ("utf-8" ))
2107+ _check_p ( lib .TCOD_console_from_xp (filename .encode ("utf-8" ) ))
20932108 )
20942109
20952110
20962111def console_list_load_xp (
20972112 filename : str ,
20982113) -> Optional [List [tcod .console .Console ]]:
20992114 """Return a list of consoles from a REXPaint `.xp` file."""
2115+ if not os .path .exists (filename ):
2116+ raise RuntimeError (
2117+ "File not found:\n \t %s" % (os .path .realpath (filename ),)
2118+ )
21002119 tcod_list = lib .TCOD_console_list_from_xp (filename .encode ("utf-8" ))
21012120 if tcod_list == ffi .NULL :
21022121 return None
0 commit comments