FLSysCalc
-
Freelancer System Calculator
Version 1.0.1.1
Copyright 2010 RimShot
Description:
Modifies Freelancer system files.
Requirements:
Microsoft .NET Framework
Usage:
Select a file or folder path.
Click Scale to scale the system(s) by %.
Click Move to translate the systems(s) by X/Y/Z.Options:
The default settings should give the best results for the average user.
-
Include subfolders
-
Fix [LightSource] range
Bypass calculation of the [LightSource] range property.
- Fix [Object] pos by archetype/dock_with (Config)
Used to fix dockable objects to their associated bases.
Checks if an object archetype contains a string from the [Object] archetypes.
Validates the dock_with attribute and finds the object with matching base attribute.
Treats the object as parent.- Fix [Object] atmosphere_range
Bypass calculation of the [Object] atmosphere_range property.
- Fix [Zone] size (All)
Bypass the size calculation for zones altogether.
- Fix [Zone] size by nickname (Config)
Used to fix the size of atmosphere, death zones.
Checks if a zone nickname contains a string from the [Zone] nickname properties.- Fix [Zone] ring size
Bypass the size calculation of any zone referenced as an [Object] ring property.
- Fix [Zone] path size (Width)
Checks if a zone has the path_label property.
Leaves the first value of the size property unchanged.- Fix [Zone] vignette size
Checks if a zone has the vignette_type property.
Configuration:
The configuration file is created/loaded at startup of the application.
[Config]
; include subfolders
recursive = false
; fix [LightSource] range
light_range = false
; fix [Object] pos by archetype/dock_with
object_archetype = true
; fix [Object] atmosphere_range
atmosphere_range = true
; fix [Zone] size (all)
zone_size = false
; fix [Zone] size by nickname
zone_nickname = true
; fix [Zone] ring size
ring_size = true
; fix [Zone] path size (width)
path_size = true
; fix [Zone] vignette size
vignette_size = false; multiple sections, keys and values supported
[Object]
; fix [Object] pos by archetype/dock_with
archetype = dock_ring, docking_fixture; multiple sections, keys and values supported
[Zone]
; fix [Zone] size by nickname
nickname = death, atmosphereChange Log:
1.0.1.1
- fixed extended character problem
1.0.1.0
- added tab pages for the main interface and the settings
- optionally fix [LightSource] range
- optionally fix [Object] atmosphere_range
- optionally fix [Zone] size (all)
- optionally fix [Zone] ring size
- optionally fix [Zone] path size (width)
- optionally fix [Zone] vignette size
- full comment support for text ini files
-
-
Nice, that’s going to be practical
-
I’m so tired now I shouldn’t even be responding but if I this is what I think it is, being a GUI util of your web site system calculator then I want to express a Big Thank You!!!
Btw mirroring without orientations will screw up totally with paths. Paths can be done manually though, even semi-automated if it’s a left-right mirrorization, and line-by-line for Y mirroring, which is a bit trickier. Too tired now to explain it; if someone cares I’ll do that. Maybe this would help Rimshot in omplementing it. Maybe it’s all bloddy obvious; like I said I’m so tired I should be unconscious atm
EDIT: In the on;ine versions there were a few option I now seem to miss… Like “attach dockable object”, nice to keep planetary docking rings at the same distance of their planet, some other option to keep child objects (SATELLITES) stuck to their parent instead of x,y,z moved relative to it, and an option to not scale zones.
EDIT 2: I think you do have this options covered, so forget my whiny concerns
RimShot wrote:
thanks, btw negative scales should work for mirroring positions but orientation is not parsed cause im not sure how to do it correctly atm.
thats also why scale doesnt support X/Y/Z but a single factor. -
in my online tool i had options to bypass vignette zones, and to fix the patrol pathes width.
i dont have much time for testing now, memory is blurry, and im wondering:
1.a) can vignette zones have any size?
1.b) if so should i add option to bypass them?
2.a) can patrol pathes have any width?
2.b) if so should i add option to fix them?
3) should i change all orientations by 0, 180, 0 when the scale is negative? theoretically this should be ok, cause the system will be mirrored top-bottom and left-right. -
RimShot wrote:
in my online tool i had options to bypass vignette zones, and to fix the patrol pathes width.
i dont have much time for testing now, memory is blurry, and im wondering:
1.a) can vignette zones have any size?
1.b) if so should i add option to bypass them?
2.a) can patrol pathes have any width?
2.b) if so should i add option to fix them?
3) should i change all orientations by 0, 180, 0 when the scale is negative? theoretically this should be ok, cause the system will be mirrored top-bottom and left-right.I can’t imagine resizing the width of patrol path would have any effect. Surely the width defines a boundary within which the npc’s perform their behaviour as defined by the AI (such as heading in a direction to the next link of a patrol path or terminating object), with a small margin of error (in other words, not bounded strictly by the width, but to a percentage of it).
The only thing I can imagine is that with a wider patrol path, you may encounter the patrols outside of the path slightly (according to the nav map)… but that shouldn’t be an issue.
Now the fun part - with patrol paths, they start and terminate somewhere. It would be possible, with a bit of work, to therefore redraw the paths based upon length scaling, the angle, and the start/end locations and the angles of each section of the path.
I should add that my math is poor… and you’d have to check that the ends intersect - which shouldn’t be difficult. If they don’t, then a bit of extra trig should take care of it - but if all the application does is just move things according to a scale size, then it may add complexity above a simple scaling of width as you would need to start reading/recognising the component parts of patrol paths
-
true, its a bit beyond the scope of the program, but its something to think about. thanks for the input.
edit:
i think im gonna seperate the options a bit more like in the online version, just didnt wanna overload the GUI at first, but it makes sense. -
Great, I was looking for this since the link went down; I make use of it. Alas, whenever I try to scale things, I get this mess:
See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. ************** Exception Text ************** System.IndexOutOfRangeException: Index was outside the bounds of the array. at Freelancer.Hash.Generate(String s, Boolean sign) at flsystem.Form1.Parse(Reader reader, Single scale, Vector offset) at flsystem.Form1.parseFile(FileInfo file, Single scale, Vector offset) at flsystem.Form1.Calculate(Single scale, Vector offset) at flsystem.Form1.button3_Click(Object sender, EventArgs e) at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ************** Loaded Assemblies ************** mscorlib Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4952 (win7RTMGDR.050727-4900) CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll ---------------------------------------- flsystem Assembly Version: 1.0.4028.33948 Win32 Version: 1, 0, 1, 0 CodeBase: file:///C:/Matthew%20Backup/FreelancerExtras/FLSysCalc/FLSysCalc.exe ---------------------------------------- msvcm90 Assembly Version: 9.0.30729.4926 Win32 Version: 9.00.30729.4926 CodeBase: file:///C:/Windows/WinSxS/x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4926_none_508ed732bcbc0e5a/msvcm90.dll ---------------------------------------- System.Windows.Forms Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll ---------------------------------------- System.Drawing Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ---------------------------------------- System.Xml Assembly Version: 2.0.0.0 Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900) CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll ---------------------------------------- ************** JIT Debugging ************** To enable just-in-time (JIT) debugging, the .config file for this application or computer (machine.config) must have the jitDebugging value set in the system.windows.forms section. The application must also be compiled with debugging enabled. For example: <configuration></configuration> When JIT debugging is enabled, any unhandled exception will be sent to the JIT debugger registered on the computer rather than be handled by this dialog box.
Any ideas on what the trub is, bub?
-
oh sorry, missed your earlier post. i have now checked “Notify me of new posts in this thread”, hope it works.
its just before bed time here but i made a quick look at the source.
make sure that all your lightsources, objects and zones have unique nicknames. the hashes are used as keys holding calculation results.
assuming from your post you get this exception on every system, even vanilla? id be surprised if thats the case, but do let me know.
if that doesnt help, please send me a system file so that i can try to reproduce this.
-
Well, I’ve found an offending entry (you were right, it works fine on Vanilla systems):
[zone] nickname = Zone_Hi01_path_álvarez5_2 pos = 38646, 0, 61528 rotate = 90, -47.5, 180 shape = CYLINDER size = 750, 59373 sort = 74 toughness = 11 density = 5 repop_time = 30 max_battle_size = 4 pop_type = trade_path relief_time = 20 path_label = álvarez5, 2 usage = trade mission_eligible = true density_restriction = 1, patroller density_restriction = 1, police_patroller density_restriction = 1, pirate_patroller encounter = tradep_trade_freighter, 11, 0.275 faction = co_as_grp, 1 encounter = tradep_trade_transport, 11, 0.125 faction = co_as_grp, 0.5 faction = co_me_grp, 0.5
The only thing that I can think of is if it doesn’t parse special characters such as ‘á’.
-
mknote wrote:
[…] since the link went down […]
Aww… @ Rimshot: you took your online System Resizer down? (I don’t have the URLon my new laptop yet, so I can’t check this very simple fact myself atm)
For some reason I liked the onlone version better than the standalone tool (could be a simply irrational reason - like being familiar with the online version)
Well, if so, it’s a nice impetus to get used to the tool then
-
@mknote:
seems that is exactly the problem. im using the same hash generation function as most other tools. going to check if the import from common.dll can create hash code for those characters. might just change it to use string keys otherwise.@Moonhead:
i dont have the domain anymore, its still up on my server but needs ip which ill have to look up. sooner or later it will be gone indeed cause i have to say this is much better coded than the old version and has new features as well, so you should really try to get used to it.