@@ -885,6 +885,16 @@ public static DreamValue NativeProc_findtext(NativeProc.Bundle bundle, DreamObje
885885 return new DreamValue ( needleIndex + 1 ) ; //1-indexed
886886 }
887887
888+ [ DreamProc ( "findtext_char" ) ]
889+ [ DreamProcParameter ( "Haystack" , Type = DreamValueTypeFlag . String ) ]
890+ [ DreamProcParameter ( "Needle" , Type = DreamValueTypeFlag . String ) ]
891+ [ DreamProcParameter ( "Start" , Type = DreamValueTypeFlag . Float , DefaultValue = 1 ) ]
892+ [ DreamProcParameter ( "End" , Type = DreamValueTypeFlag . Float , DefaultValue = 0 ) ]
893+ public static DreamValue NativeProc_findtext_char ( NativeProc . Bundle bundle , DreamObject ? src , DreamObject ? usr ) {
894+ //Wrapper function, Opendream defaults to counting by chars instead of bytes.
895+ return NativeProc_findtext ( bundle , src , usr ) ;
896+ }
897+
888898 [ DreamProc ( "findtextEx" ) ]
889899 [ DreamProcParameter ( "Haystack" , Type = DreamValueTypeFlag . String ) ]
890900 [ DreamProcParameter ( "Needle" , Type = DreamValueTypeFlag . String ) ]
@@ -930,6 +940,16 @@ public static DreamValue NativeProc_findtextEx(NativeProc.Bundle bundle, DreamOb
930940 }
931941 }
932942
943+ [ DreamProc ( "findtextEx_char" ) ]
944+ [ DreamProcParameter ( "Haystack" , Type = DreamValueTypeFlag . String ) ]
945+ [ DreamProcParameter ( "Needle" , Type = DreamValueTypeFlag . String ) ]
946+ [ DreamProcParameter ( "Start" , Type = DreamValueTypeFlag . Float , DefaultValue = 1 ) ]
947+ [ DreamProcParameter ( "End" , Type = DreamValueTypeFlag . Float , DefaultValue = 0 ) ]
948+ public static DreamValue NativeProc_findtextEx_char ( NativeProc . Bundle bundle , DreamObject ? src , DreamObject ? usr ) {
949+ //Wrapper function, Opendream defaults to counting by chars instead of bytes.
950+ return NativeProc_findtextEx ( bundle , src , usr ) ;
951+ }
952+
933953 [ DreamProc ( "findlasttext" ) ]
934954 [ DreamProcParameter ( "Haystack" , Type = DreamValueTypeFlag . String ) ]
935955 [ DreamProcParameter ( "Needle" , Type = DreamValueTypeFlag . String ) ]
@@ -968,6 +988,15 @@ public static DreamValue NativeProc_findlasttext(NativeProc.Bundle bundle, Dream
968988 return new DreamValue ( needleIndex + 1 ) ; //1-indexed, or 0 if not found (LastIndexOf returns -1 if not found)
969989 }
970990
991+ [ DreamProc ( "findlasttext_char" ) ]
992+ [ DreamProcParameter ( "Haystack" , Type = DreamValueTypeFlag . String ) ]
993+ [ DreamProcParameter ( "Needle" , Type = DreamValueTypeFlag . String ) ]
994+ [ DreamProcParameter ( "Start" , Type = DreamValueTypeFlag . Float , DefaultValue = 0 ) ]
995+ [ DreamProcParameter ( "End" , Type = DreamValueTypeFlag . Float , DefaultValue = 1 ) ]
996+ public static DreamValue NativeProc_findlasttext_char ( NativeProc . Bundle bundle , DreamObject ? src , DreamObject ? usr ) {
997+ return NativeProc_findlasttext ( bundle , src , usr ) ;
998+ }
999+
9711000 [ DreamProc ( "findlasttextEx" ) ]
9721001 [ DreamProcParameter ( "Haystack" , Type = DreamValueTypeFlag . String ) ]
9731002 [ DreamProcParameter ( "Needle" , Type = DreamValueTypeFlag . String ) ]
@@ -1007,6 +1036,16 @@ public static DreamValue NativeProc_findlasttextEx(NativeProc.Bundle bundle, Dre
10071036 return new DreamValue ( needleIndex + 1 ) ; //1-indexed, or 0 if not found (LastIndexOf returns -1 if not found)
10081037 }
10091038
1039+ [ DreamProc ( "findlasttextEx_char" ) ]
1040+ [ DreamProcParameter ( "Haystack" , Type = DreamValueTypeFlag . String ) ]
1041+ [ DreamProcParameter ( "Needle" , Type = DreamValueTypeFlag . String ) ]
1042+ [ DreamProcParameter ( "Start" , Type = DreamValueTypeFlag . Float , DefaultValue = 0 ) ]
1043+ [ DreamProcParameter ( "End" , Type = DreamValueTypeFlag . Float , DefaultValue = 1 ) ]
1044+ public static DreamValue NativeProc_findlasttextEx_char ( NativeProc . Bundle bundle , DreamObject ? src , DreamObject ? usr ) {
1045+ //Wrapper function, Opendream defaults to counting by chars instead of bytes.
1046+ return NativeProc_findlasttextEx ( bundle , src , usr ) ;
1047+ }
1048+
10101049 [ DreamProc ( "flick" ) ]
10111050 [ DreamProcParameter ( "Icon" , Type = DreamValueTypeFlag . String | DreamValueTypeFlag . DreamResource ) ]
10121051 [ DreamProcParameter ( "Object" , Type = DreamValueTypeFlag . String | DreamValueTypeFlag . DreamResource ) ]
@@ -2002,6 +2041,15 @@ public static DreamValue NativeProc_nonspantext(NativeProc.Bundle bundle, DreamO
20022041 return new DreamValue ( index ) ;
20032042 }
20042043
2044+ [ DreamProc ( "nonspantext_char" ) ]
2045+ [ DreamProcParameter ( "Haystack" , Type = DreamValueTypeFlag . String ) ]
2046+ [ DreamProcParameter ( "Needles" , Type = DreamValueTypeFlag . String ) ]
2047+ [ DreamProcParameter ( "Start" , Type = DreamValueTypeFlag . Float , DefaultValue = 1 ) ]
2048+ public static DreamValue NativeProc_nonspantext_char ( NativeProc . Bundle bundle , DreamObject ? src , DreamObject ? usr ) {
2049+ //Wrapper function, Opendream defaults to counting by chars instead of bytes.
2050+ return NativeProc_nonspantext ( bundle , src , usr ) ;
2051+ }
2052+
20052053 [ DreamProc ( "num2text" ) ]
20062054 [ DreamProcParameter ( "N" ) ]
20072055 [ DreamProcParameter ( "A" , Type = DreamValueTypeFlag . Float ) ]
@@ -2334,6 +2382,17 @@ public static DreamValue NativeProc_replacetext(NativeProc.Bundle bundle, DreamO
23342382 throw new Exception ( $ "Invalid needle { needle } ") ;
23352383 }
23362384
2385+ [ DreamProc ( "replacetext_char" ) ]
2386+ [ DreamProcParameter ( "Haystack" , Type = DreamValueTypeFlag . String ) ]
2387+ [ DreamProcParameter ( "Needle" , Type = DreamValueTypeFlag . String ) ]
2388+ [ DreamProcParameter ( "Replacement" , Type = DreamValueTypeFlag . String ) ]
2389+ [ DreamProcParameter ( "Start" , Type = DreamValueTypeFlag . Float , DefaultValue = 1 ) ]
2390+ [ DreamProcParameter ( "End" , Type = DreamValueTypeFlag . Float , DefaultValue = 0 ) ]
2391+ public static DreamValue NativeProc_replacetext_char ( NativeProc . Bundle bundle , DreamObject ? src , DreamObject ? usr ) {
2392+ //Wrapper function, Opendream defaults to counting by chars instead of bytes.
2393+ return NativeProc_replacetext ( bundle , src , usr ) ;
2394+ }
2395+
23372396 [ DreamProc ( "replacetextEx" ) ]
23382397 [ DreamProcParameter ( "Haystack" , Type = DreamValueTypeFlag . String ) ]
23392398 [ DreamProcParameter ( "Needle" , Type = DreamValueTypeFlag . String ) ]
@@ -2381,6 +2440,17 @@ public static DreamValue NativeProc_replacetextEx(NativeProc.Bundle bundle, Drea
23812440 return new DreamValue ( text . Substring ( start - 1 , end - start ) . Replace ( needle , replacement , StringComparison . Ordinal ) ) ;
23822441 }
23832442
2443+ [ DreamProc ( "replacetextEx_char" ) ]
2444+ [ DreamProcParameter ( "Haystack" , Type = DreamValueTypeFlag . String ) ]
2445+ [ DreamProcParameter ( "Needle" , Type = DreamValueTypeFlag . String ) ]
2446+ [ DreamProcParameter ( "Replacement" , Type = DreamValueTypeFlag . String ) ]
2447+ [ DreamProcParameter ( "Start" , Type = DreamValueTypeFlag . Float , DefaultValue = 1 ) ]
2448+ [ DreamProcParameter ( "End" , Type = DreamValueTypeFlag . Float , DefaultValue = 0 ) ]
2449+ public static DreamValue NativeProc_replacetextEx_char ( NativeProc . Bundle bundle , DreamObject ? src , DreamObject ? usr ) {
2450+ //Wrapper function, Opendream defaults to counting by chars instead of bytes.
2451+ return NativeProc_replacetextEx ( bundle , src , usr ) ;
2452+ }
2453+
23842454 [ DreamProc ( "rgb2num" ) ]
23852455 [ DreamProcParameter ( "color" , Type = DreamValueTypeFlag . String , DefaultValue = "#FFFFFF" ) ]
23862456 [ DreamProcParameter ( "space" , Type = DreamValueTypeFlag . Float , DefaultValue = 0 ) ] // Same value as COLORSPACE_RGB
@@ -2852,6 +2922,17 @@ public static DreamValue NativeProc_splittext(NativeProc.Bundle bundle, DreamObj
28522922 }
28532923 }
28542924
2925+ [ DreamProc ( "splittext_char" ) ]
2926+ [ DreamProcParameter ( "Text" , Type = DreamValueTypeFlag . String ) ]
2927+ [ DreamProcParameter ( "Delimiter" , Type = DreamValueTypeFlag . String ) ]
2928+ [ DreamProcParameter ( "Start" , Type = DreamValueTypeFlag . Float , DefaultValue = 1 ) ]
2929+ [ DreamProcParameter ( "End" , Type = DreamValueTypeFlag . Float , DefaultValue = 0 ) ]
2930+ [ DreamProcParameter ( "include_delimiters" , Type = DreamValueTypeFlag . Float , DefaultValue = 0 ) ]
2931+ public static DreamValue NativeProc_splittext_char ( NativeProc . Bundle bundle , DreamObject ? src , DreamObject ? usr ) {
2932+ //Wrapper function, Opendream defaults to counting by chars instead of bytes.
2933+ return NativeProc_splittext ( bundle , src , usr ) ;
2934+ }
2935+
28552936 private static void OutputToStatPanel ( DreamManager dreamManager , DreamConnection connection , DreamValue name , DreamValue value ) {
28562937 if ( name . IsNull && value . TryGetValueAsDreamList ( out var list ) ) {
28572938 foreach ( var item in list . EnumerateValues ( ) )
0 commit comments