House Name after System Name: Let's Solve this Basterd
-
If you don’t mind the system name and region showing up in missions, the navmap and various other places, then just reassign each vanilla system name to a new ids number, and include the region name as Tunicle said above. Then go through the resources .dll and remove the system suffix from each of the variable lines ‘%s’. Then as a final touch, remove the pre-done region names from the system infocards… ‘LIBERTY’, ‘OUTCASTS’ and so on. Looks much better on the info screens on the navmap. It’s a workaround, and a fairly big one at that, with the compromise of having to have the region displayed in more places than you want (due to the system names IDS getting parsed from many locations), but I don’t think it looks to shabby. Give it a go and report back ;D
-
Yes, this prevents the whole message. I will, however dig some more. And if I can selectively ‘purge’ the second bit, I will of course post up
0x77->0xEB in freelancer.exe, 0x5b029 = force "%s System." IDS (1373 in resources.dll) to be used for all system arrival text ```Also, I now pretty much completely understand how the code to determine what region to use works, so I'll post some sort of guide if I figure out a way to add another in (which does seem possible).
-
You’ve just piqued my interest here, M0tah ;D
-
I’ve made two solutions to this problem. The first allows you to specify a custom house for each system (but each system must have a house). The second allows you to specify custom system arrival text for each system. Both of these rely on restructuring system IDSs because the text is stored in the system’s IDS + 1.
Custom house only (requires each system to have a house)
First, do the following hexedit:0x83FFFFFCFF83F8->0xAB01000000EB2F in freelancer.exe, 0x5b021 = Make the house in the system arrival text the system's IDS + 1 ```Then set each system's IDS+1 to what you want the house to be. Obviously, this also requires that you change the existing system IDSs to make room for the house IDSs. Custom system arrival text First, do the following hexedit:
0x83FFFFFCFF83F8->0x9B01000000EB2D in freelancer.exe, 0x5b021 = Make system arrival text the system’s IDS + 1 (be sure to also change IDS 1373 to just “%s”)
Finally, set each system's IDS+1 to what you want the system arrival text to be. As with the custom house method, this requires that you change the existing system IDSs to make room for the arrival text IDSs.
-
He’s clever, lol Good job M0tah
I’m rolling with my ‘workaround’. I actually like the region displayed in more places than just the system jump.
-
Need some help with this. Anyway I did the hex edit correctly for Freelancer.exe.
In resources.dll i changed 1373 to just %s.
Now I wanted to change the arrival text for Leeds system (just as a simple test).
The IDS number of Leeds is 196617.
Instead of Dublin (196618) I replaced it with “System, Bretonia Space”.
Now when I arrive to leeds it only shows LEEDS on top and nothing else. I am testing it on local server.
Im just curious what I did wrong.
(I am using M0tah’s second method).
-
I asked if anyone wanted this on TLR a while ago and got no response. Since it went down, I’ve moved here (and DB; didn’t really like ReactorForge), and obviously came across this post. The method I was thinking of using involved an ini file, specifying the ids of the system you wanted to display as a territory: string_id[-string_id] = faction_id; or as an explicit message: string_id = My New System, My New Territory. It would have been done as a DLL, added to DACOM.ini. No one replied, so I never wrote it.
-
The only problem you might have with storing it in strid_name is with people who would want to use unicode characters in the system name/arrival text. As far as I know, INI_Reader doesn’t support unicode, though I haven’t explicitly tested it.
Sethernis wrote:
…
Now when I arrive to leeds it only shows LEEDS on top and nothing else. I am testing it on local server.Im just curious what I did wrong.
(I am using M0tah’s second method).
There’s two things I can think of that could cause this:
1. You changed the hex to 0x9B00000000EB2D instead of 0x9B01000000EB2D.
2. You changed Leed’s strid_name to 196616. -
Since it’s small enough, I’ve attached the first version of my system name customizer. Copy territory.dll to your EXE directory and add it to DACOM.ini’s [Libraries] section. Then copy territory.ini to the DATA directory and edit it to suit your needs. Look at the start of territory.cpp for what you can do. Note that the names are in UTF-8 format; I don’t test for a failed conversion, so it’ll probably duplicate the previous name, should that happen.
Edit: final version is available here.
-
Well done adoxa, gonna test this, will report back
*** Goes away and tests…. comes back ***
http://i5.photobucket.com/albums/y155/Wargibbon/Galacticum/Customspace.jpgWell i got it working ok, adoxa, i officially want your baby, fine work amigo. Bear in mind i’m not the quickest gibbon on the block but after a few attempts i got this working. Think i have it in my head now so most of you other clever gits should be able to work this out lol
And no comments about the green interface, even i think it sucks :oops:
-
Yup…
Great work adoxa! I have one question though… How do I remove the Space part in the arrival text?
EDIT:
Just to prevent misunderstandings… I would like it to say “Solar System, Solarian Empire”
It’s because I have other systems/smaller zones controlled by smaller factions so they should look like “New Eden System, Unified Pirate League Territory” and it would look kinda stupid ending with the space part after territory!
-
Use the [Systems] section rather than the [Houses], which also enables you to put the territory before the system, if you’d prefer, or even rename the system altogether (well, in space, anyway).
[Systems] format = %s System, Solarian Empire. systems = <first_solar_system>, <second_solar_system>... ; or shorthand if they're consecutive: <solar_system_ids>= Solarian Empire - %s System.</solar_system_ids></second_solar_system></first_solar_system> ```I should be able to make it use system nicknames, too (so instead of "196643-196648" you could use "Iw01-6", also demonstrating a simplified range), but I'll wait a bit and see if there's any other problems/suggestions…
-
adoxa wrote:
Use the [Systems] section rather than the [Houses], which also enables you to put the territory before the system, if you’d prefer, or even rename the system altogether (well, in space, anyway).[Systems] format = %s System, Solarian Empire. systems = <first_solar_system>, <second_solar_system>... ; or shorthand if they're consecutive: <solar_system_ids>= Solarian Empire - %s System.</solar_system_ids></second_solar_system></first_solar_system> ```I should be able to make it use system nicknames, too (so instead of "196643-196648" you could use "Iw01-6", also demonstrating a simplified range), but I'll wait a bit and see if there's any other problems/suggestions…
Thanks buddy… That did the trick and now it looks exactly as I wished it to!
-
I have attached an improved version, the main updates being able to specify systems by nickname and placing houses on the Nav Map. I’ve also dropped support for the single-line/shorthand definitions. Here’s the description of the new file format:
[Settings] caps = false ; don't force the message to upper case ; Define a house and the systems that use it. [Houses] ; Change the message, either specifying it directly, or by its resource ; number. The first %s will be replaced with the system, the second ; with the house. Maximum length of 63 characters. format = %s System, %s Territory. format_id = number ; No need to create a resource, the house can be named directly. house = name ; The first number is the resource id of the house; the second allows a ; separate name for the Nav Map. The Nav Map has to be a resource ; number, so the first number is optional if you use the house value. house_id = [number][, number] ; The system(s) that belong to the house. This value can be repeated. systems = system[-system][, ...] ; Add the house to the Nav Map. The coordinates are the same as the ; pos value for the systems. Font will default to SubHeader; see ; DATA\FONTS\fonts.ini for the list, or to add your own. NavMap = X, Y[, font] ; Repeat for each house you want to add. ; Define a general format for systems, where the %s is replaced by the ; system name (it's optional, allowing the system to have a different ; name in space). Maximum length of 63 characters. [Systems] format = %s System, Independent. format_id = number systems = system[-system][, ...] ; Repeat for each format you want to add. ```And here's the sample file:
;[Settings]
;caps = false[Houses]
;house_id = 1249 ; LIBERTY
;systems = Li01-5
;NavMap = 5.66, 10.7;house_id = 1250 ; BRETONIA
;systems = Br01-6
;NavMap = -1.32, 11.91;house_id = 1251 ; KUSARI
;systems = Ku01-7
;NavMap = 7.87, 2.94;house_id = 1252 ; RHEINLAND
;systems = Rh01-5
;NavMap = 10.07, 12.9house_id = 328908 ; Outcast
systems = Ew02, Hi01 ; Omicron Beta, Omicron Alpha
NavMap = 9, 0house_id = 328906 ; Corsair
systems = Hi02 ; Omicron Gamma
NavMap = 13, 15format = %s System, %s Worlds.
house = Border
systems = Bw01-10house = Edge
systems = Ew01, Ew03-4[Systems]
format = %s System, Independent.
systems = Iw01-6Edit: final version is available [here](http://adoxa.110mb.com/freelancer/territory.zip).