radj307 / UniqueRegionNamesPatcher

Synthesis patcher for Unique Region Names SE
GNU General Public License v3.0
0 stars 1 forks source link

error CS0246: The type or namespace name 'RegionDataHeader' could not be found #4

Closed elinux88 closed 1 year ago

elinux88 commented 1 year ago

Just updated Synthesis UI to 0.25.4 and now I'm getting this blocking error:

"Utility\RegionMapDataHeader.cs(9,42): error CS0246: The type or namespace name 'RegionDataHeader' could not be found (are you missing a using directive or an assembly reference?)"

ssebaa commented 1 year ago

it always suprises me how some patchers are breaking after update. was the syntesis upgraded to detect more errors or the synthesis creators fixed their error so other who relied on the unfixed thing now have to update. Im not sure if u understand what i mean

radj307 commented 1 year ago

Thanks for the report!
This error is a result of the patcher using features that were removed in newer versions of the Synthesis API. It should be fairly simple for me to fix.

radj307 commented 1 year ago

Fixed in 3ad06765f3d755d0ebad01bfbae2278a877f1aec

Please let me know if you encounter any problems with the update.

radj307 commented 1 year ago

it always suprises me how some patchers are breaking after update. was the syntesis upgraded to detect more errors or the synthesis creators fixed their error so other who relied on the unfixed thing now have to update. Im not sure if u understand what i mean

It was neither, really. This error wasn't always present, and it isn't the result of any bug fixes on either side. It was introduced when the Synthesis API was updated and the RegionDataHeader class was removed (presumably) for the purpose of streamlining the code. However, the patcher still expected it to exist because it hadn't been updated yet, hence the compiler error CS0246: The type or namespace name 'RegionDataHeader' could not be found on newer versions of Synthesis where RegionDataHeader doesn't exist anymore.

These kinds of errors are fairly common since the Synthesis API is still being actively developed and is subject to change. The purpose of the Synthesis Collective organization is to allow these changes to be made without requiring patcher writers to keep up with the API changes themselves. Most of my more popular patchers (Another Archery Patcher, Speed and Reach Fixes (Synthesis)) are already part of the Synthesis Collective, but I haven't done so with Unique Region Names Patcher because it isn't feasible for anyone else to maintain it since it's so overly-complicated.

ssebaa commented 1 year ago

it always suprises me how some patchers are breaking after update. was the syntesis upgraded to detect more errors or the synthesis creators fixed their error so other who relied on the unfixed thing now have to update. Im not sure if u understand what i mean

It was neither, really. This error wasn't always present, and it isn't the result of any bug fixes on either side. It was introduced when the Synthesis API was updated and the RegionDataHeader class was removed (presumably) for the purpose of streamlining the code. However, the patcher still expected it to exist because it hadn't been updated yet, hence the compiler error CS0246: The type or namespace name 'RegionDataHeader' could not be found on newer versions of Synthesis where RegionDataHeader doesn't exist anymore.

These kinds of errors are fairly common since the Synthesis API is still being actively developed and is subject to change. The purpose of the Synthesis Collective organization is to allow these changes to be made without requiring patcher writers to keep up with the API changes themselves. Most of my more popular patchers (Another Archery Patcher, Speed and Reach Fixes (Synthesis)) are already part of the Synthesis Collective, but I haven't done so with Unique Region Names Patcher because it isn't feasible for anyone else to maintain it since it's so overly-complicated.

ooh it makes sense i understand now, thanks for that and for the update!