The French translation was inconsistent about its quote style. Some
parts used guillemets, but others used double quotes. As far as I know,
guillemets are the standard quote form in French.
Note that in French, there are spaces on the inside of the guillemets as
well, not just on the outside as in most other languages. These inside
spaces should be non-breaking spaces, so that the guillemets are
line-wrapped together with the text being quoted.
Most parts of the German translation already used double quotes, but
especially some city notebooks used single quotes for some reason. As a
native German speaker, double quotes also seem more natural to me, and
they are the standard quote form in German, as far as I know.
The localization system *always* tries to interpret placeholders
(e. g. %1) in translations, even if it's just constant text that's not
supposed to have placeholders. To display the percent symbols here
literally, they need to be escaped (using a backslash,
counter-intuitively).
An unescaped percent symbol that doesn't form a valid placeholder will
cause strange behavior. In this case, the entire journal content before
the percent symbol was silently ignored, resulting in missing text and
broken formatting.
These quotes are apparently unintentional. Before the previous change,
they were invisible in-game, which may be why they haven't already been
removed.
Uru's fonts are limited to Latin-1 characters. If any characters outside
that range are used in in-game texts, the characters are either not
displayed at all or are replaced with a question mark symbol.
This change replaces all non-Latin-1 characters in all .loc files with
ASCII equivalents, so that they are displayed properly in-game.
Specifically, the following replacements are performed:
* Unicode dashes to ASCII hyphen-minus ([–—] to -)
* "Curly" quotes to "straight" quotes ([‘’‚] to ', [“”„] to ")
* Unicode ellipsis to ASCII dots (… to ...)
* œ to oe (sorry France)
One sentence in the King Hemelin notebook was partially destroyed at
some point, apparently as the result of a regex replace gone wrong.
Someone replaced "%.*s" with "%256s", probably meaning to adjust some
printf-style format strings, but this accidentally also matched a
literal percent symbol in the King Hemelin notebook and deleted some of
the following words.
In the English version, someone apparently noticed this and removed the
destroyed part of the sentence, but did not fully undo the incorrect
change. The French and German translations were never fixed.
This commit fully restores the sentence, based on the text from Uru CC,
where it was not yet broken. The English original and French and German
translations are fixed (there is no Italian or Spanish translation for
this notebook).
Based on a pre-release version of the notebook that was preserved by the
Guild of Archivists (formerly DPWR), the footnotes were slightly changed
at some point during development (before the release of ABM). In
particular, the first asterisk (next to a Kerath quote) was removed from
the text, and the third footnote entry (referencing a Mee-Dis War book)
was removed from the footnotes.
It appears that these changes were accidental. The removed asterisk
doesn't match the removed footnote, and the remaining asterisks and
footnotes no longer match up very well with each other. This is most
noticeable with the "Taken from Kerath's public speech" footnote: in the
pre-release version, it matches up with a Kerath quote, but in the
release version, it corresponds to a paragraph about D'ni prophets that
doesn't contain anything said by Kerath.
This commit re-adds the previously removed asterisk and Mee-Dis War
footnote, which restores the footnotes to the more consistent
pre-release state. The French and German translations are updated
accordingly, with the translation of the footnote copied from other
notebooks. The Italian and Spanish translations are *not* updated in
this commit, because they are incomplete and don't contain a translation
of the Mee-Dis War footnote anywhere.
Source:
https://archive.guildofarchivists.org/wiki/Reference:DRC_research_notebooks/King_Kerath/2002_DPWR_transcriptionhttps://archive.guildofarchivists.org/w/index.php?title=Reference:DRC_research_notebooks/King_Kerath&oldid=1481
This requires a corresponding change in xDynTextDefs.py to also double
the font size and line spacing.
[Dynamic Text Map - DynaTextWrinkledNote_dynText] Doubled width and height
[Drawable Span - Ercana_Canyon_00000000_0Spans] Fixed stretched and missing textures from "HarvesterRailing16" and Restored the correct lighting to "DashWarningLight01"
[Scene Node - Ercana_Tunnel] Added Scene Objects "Tnnl123TunnlWallLamp16_001" and "Tnnl128TunnlWallLamp18_001"
[Scene Object - Tnnl123TunnlWallLamp16_001] Added. Draw Interface "Tnnl123TunnlWallLamp16.001"
[Scene Object - Tnnl128TunnlWallLamp18_001] Added. Draw Interface "Tnnl128TunnlWallLamp18.001"
[Scene Object - Tnnl294GlarePlane55] Added coordinate interface "Tnnl294GlarePlane55", Added to Modifiers - View Face Modifier "Tnnl294GlarePlane55"
[Scene Object - Tnnl295GlarePlane56] Added coordinate interface "Tnnl295GlarePlane56", Added to Modifiers - View Face Modifier "Tnnl295GlarePlane56"
[Coord Interface - Tnnl194RTOmniLight51] Coords shifted to be better placed in tunnels
[Coord Interface - Tnnl262RTOmniLight17] Coords shifted to be better placed in tunnels
[Coord Interface - Tnnl263RTOmniLight18] Coords shifted to be better placed in tunnels
[Coord Interface - Tnnl264RTOmniLight19] Coords shifted to be better placed in tunnels
[Coord Interface - Tnnl265RTOmniLight20] Coords shifted to be better placed in tunnels
[Coord Interface - Tnnl296RTOmniLight47] Coords shifted to be better placed in tunnels
[Coord Interface - Tnnl297RTOmniLight48] Coords shifted to be better placed in tunnels
[Coord Interface - Tnnl298RTOmniLight49] Coords shifted to be better placed in tunnels
[Coord Interface - Tnnl299RTOmniLight50] Coords shifted to be better placed in tunnels
[Coord Interface - Tnnl300RTOmniLight52] Coords shifted to be better placed in tunnels
[Coord Interface - Tnnl295GlarePlane56] Created with blender.
[Coord Interface - Tnnl294GlarePlane55] Created with blender.
[Draw Interface - Tnnl123TunnlWallLamp16.001] Created.
[Draw Interface - Tnnl128TunnlWallLamp18.001] Created.
[View Face Modifier - TunnelGlareSprite01_73] Coords shifted to be better placed in tunnels
[View Face Modifier - TunnelGlareSprite01_74] Coords shifted to be better placed in tunnels
[View Face Modifier - TunnelGlareSprite01_75] Coords shifted to be better placed in tunnels
[View Face Modifier - TunnelGlareSprite01_76] Coords shifted to be better placed in tunnels
[View Face Modifier - TunnelGlareSprite01_77] Coords shifted to be better placed in tunnels
[View Face Modifier - TunnelGlareSprite01_82] Coords shifted to be better placed in tunnels
[View Face Modifier - TunnelGlareSprite01_83] Coords shifted to be better placed in tunnels
[View Face Modifier - TunnelGlareSprite01_84] Coords shifted to be better placed in tunnels
[View Face Modifier - Tnnl294GlarePlane55] Created with blender.
[View Face Modifier - Tnnl295GlarePlane56] Created with blender.
[Drawable Span - Ercana_Tunnel_00000000_0Spans] Re-exported lights in tunnels with blender and then combined with Adam Hoikas Gnarly Patcher. Manually adjusted positions of some tunnel vertexs to cover up a hole into the world.
[Drawable Span - Ercana_Tunnel_40000000_2BlendSpans] Re-exported lights in tunnels with blender and then combined with Adam Hoikas Gnarly Patcher.
[Drawable Span - Ercana_Tunnel_00000000_0Spans_NewLights] Added for two new lights.
[Drawable Span - Ercana_Tunnel_40000000_2BlendSpans_NewLights] Added for two new lights.
[Omnilight Info - Tnnl194RTOmniLight51] Coords shifted to be better placed in tunnels
[Omnilight Info - Tnnl262RTOmniLight17] Coords shifted to be better placed in tunnels
[Omnilight Info - Tnnl263RTOmniLight18] Coords shifted to be better placed in tunnels
[Omnilight Info - Tnnl264RTOmniLight19] Coords shifted to be better placed in tunnels
[Omnilight Info - Tnnl265RTOmniLight20] Coords shifted to be better placed in tunnels
[Omnilight Info - Tnnl296RTOmniLight47] Coords shifted to be better placed in tunnels
[Omnilight Info - Tnnl297RTOmniLight48] Coords shifted to be better placed in tunnels
[Omnilight Info - Tnnl298RTOmniLight49] Coords shifted to be better placed in tunnels
[Omnilight Info - Tnnl299RTOmniLight50] Coords shifted to be better placed in tunnels
[Omnilight Info - Tnnl300RTOmniLight52] Coords shifted to be better placed in tunnels
[Generic Physical - DrainValve01] Changed Mass to 1
[Generic Physical - DrainValve02] Changed Mass to 1
[Generic Physical - DrainValve03] Changed Mass to 1
[Generic Physical - DrainValve04] Changed Mass to 1
[Responder Modifier - cRespValve2Open] Removed Command that Disabled Physicals for DrainValve02
[Responder Modifier - cRespValve3Open] Removed Command that Disabled Physicals for DrainValve03
[Responder Modifier - cRespValve4Open] Removed Command that Disabled Physicals for DrainValve04
[Scene Node - Ercana_Canyon] Added Scene Object "Car-PIVOTFake"
[Scene Object - Cylinder01xx04] Added Coord interface "Cylinder01xx04"
[Scene Object - Cylinder01xx11] Added Coord interface "Cylinder01xx11"
[Scene Object - Cylinder01xx13] Added Coord interface "Cylinder01xx13"
[Scene Object - ercaStump06] Added Coord interface "ercaStump06"
[Scene Object - ercaStamp07] Added Coord interface "ercaStamp07"
[Scene Object - Loft39] Added Coord interface "Loft39"
[Scene Object - plant57] Added Coord interface "plant57"
[Scene Object - Car-PIVOTFake] Duplicate of Scene Object "Car-PIVOT", Coord Interface set to "Car-PIVOTFake" and All modifiers removed. Added to Modifiers - AG Modifier "cAnimHrvstrCarDockFake" and AG Master Mod "cAnimHrvstrCarDockFake"
[Coord Interface - BtnCallCarPOS] Adjusted to account for BtnCallCar being moved.
[Coord Interface - DashWarningLight01] Moved up because Harvester console was raised.
[Coord Interface - ercaDecalTrim] Raised Z coord by 0.1 to fix Z fighting it caused with other rocks.
[Coord Interface - Car-PIVOTFake] Duplicate of Coord Interface "Car-PIVOT". All Children removed.
[Coord Interface - Loft39] Created. Lowered plant so it touches the ground.
[Coord Interface - Cylinder01xx11] Created. Lowered plant so it touches the ground.
[Coord Interface - ercaStump06] Created. Lowered plant so it touches the ground.
[Coord Interface - ercaStamp07] Created. Lowered plant so it touches the ground.
[Coord Interface - Cylinder01xx13] Created. Lowered plant so it touches the ground.
[Coord Interface - Cylinder01xx04] Created. Lowered plant so it touches the ground.
[Coord Interface - plant57] Created. Lowered plant so it touches the ground.
[View Face Modifier - Swivel-HarvesterSpout] Face Object changed to Scene Object "Car-PIVOTFake"
[Drawable Span - Ercana_Canyon_00000000_0Spans] Changes made to vertice positions to move the cable next to the harvester ladder and to close a hole in the harvester console. Adjusted Harvester Console height higher to make using the Cart Call Button easier (It was floating before). Pipe01 moved up to account for raised console. Exported HarvesterBody3, HarvesterBody4, HarvesterBodyRear and Pipe01, then imported using Hoikas Gnarly Patcher.
[Drawable Span - Ercana_Canyon_40000000_2BlendSpans] Changes made to the vertice positions to move the save cloth near harvester start point
[Drawable span - Ercana_Canyon_40000008_2BlendSpans] Changes made to the vertice positions to move the save cloth glow near the harvester start point
[AG modifier - cAnimHrvstrCarDockFake] Duplicate of AG Modifier "cAnimHrvstrCarDock". Changed ChannelName to "Car-PIVOTFake"
[AG Master Mod - cAnimHrvstrCarDockFake] Duplicate of AG Master Mod "cAnimHrvstrCarDock". Changed private anim to ATC Anim "Car-PIVOT_CarGo_anim_2"
[Response Modifier - cRespHrvstrGoFwd] Duplicated entries for "cAnimHrvstrGo" and changed it to "cAnimHrvstrCarDockFake". Added "CarGoFake" to animname for new entries. Increased "WaitToCmdTable" cmd by 2 to account for two new commands.
[Response Modifier - cRespHrvstrGoRev] Duplicated entries for "cAnimHrvstrGo" and changed it to "cAnimHrvstrCarDockFake". Added "CarGoFake" to animname for new entries. Increased "WaitToCmdTable" cmd by 2 to account for two new commands.
[Response Modifier - cRespHrvstrStop] Duplicated entries for "cAnimHrvstrGo" and changed it to "cAnimHrvstrCarDockFake". Added "CarGoFake" to animname for new entries. Increased "WaitToCmdTable" cmd by 1 to account for new command.
[ATC Anim - BtnCallCar_Down_anim_1] Modified coords for new button position.
[ATC Anim - BtnCallCar_Up_anim_0] Modified coords for new button position.
[ATC Anim - PIVOT_CarGo_anim_2] Duplicate of ATC Anim "PIVOT_CarGo_anim_1". AGAnimParams name changed to "CarGoFake"
[Cluster Group - Cluster01_Grass_2] Lowered floating grass under the car ramp area
[Cluster Group - Cluster01_Pebble_3] Lowered floating rocks under the car ramp area
[Cluster Group - Cluster01_ScrubBrush_1] Lowered floating bush under the car ramp area
[Drawable Span - GUI_telescope_40000000_8BlendSpans] Doubled the outer area of the telescope mask by adding 8 new points in blender and created 4 faces with them. This mask is entirely black and is only noticed by ultra widescreen resolutions.
GUI_District_bkBahroRockBook.prp
[MipMap - xbahropagerock*0#0.hsm] Replaced Image with yeesha symbol that is correctly stretched to look correct in-game. Done by calumTraveler.
Co-authored-by: Traveler263 <87665301+Traveler263@users.noreply.github.com>
GUI_District_bkBahroRockBook.prp
[Dynamic Text Map - brpShareButton_dynText] Width and Height set to 512
GUI_District_BkBookImages.prp
[MipMap - xbahroyeeshashare*1#0.hsm] Enlarged MipMap "xbahroyeeshashare*1#0.hsm" from 256x256 to 512x512 with Gigapixel AI Upscaler - Art & CG filter.
[Scene Object - Elevator Wall] Coordinate Interface removed.
[Coordinate Interface - SubWorld_New] Scene Object "Elevator Wall" removed from Children
[Generic Physical - Elevator Wall] Bottom face removed. Angled and moved to bottom section of elevator shaft.
This round-trips the entire Cyan localization database through the
plLocalizationEditor built from H-uru/Plasma#958. This means that:
- the XML files are re-encoded from UTF-16 to UTF-8 and therefore should
load faster due to less run-time re-encoding
- journals should be written out as CDATA with the esHTML data visible
in the clear
This is a completely automated pass over nb01.prp with
CreateKickableSounds.py from Hoikas/moul-utils using the
nb01Marbles.json file. This is a good thing becuase the results are
completely reproducible and some rather misleading object naming is
cleaned up.
This reverts commit 2de6ebd7f0. The
intention is to run a script over the PRP to automate this process and
cleanup some of the strange object naming in the PRPs.
This collapses Sirius's additions pages into:
- Kadish_District_kdshVaultIntrYeesha
- Kadish_District_Textures
as appropriate. All Kadish files have been re-saved to ensure ObjIDs
remain consistent.
- [RopeLadder03_TOP01] Extended the collision of the upper ladder region
to ensure players cannot walk up to the edge and drop down,
potentially getting stuck inside of the ladder's proxy collision.
- [PlantProxy27] Adjusted collision such that the avatar can walk or
jump between it and PlantProxy26 without getting stuck between two
parallel vertical planes.
- [ResponderModifier] cRespHrvstrStop - remove forced halt to the
harvester car. The python script controls when the car stops.
Unconditionally forcing it to stop will prevent script controlled
actions from completing, causing state desynch.
- [ResponderModifier] cRespCallCar - Removed the forced ramp lowering,
which could result in the ramps lowering while the car and harvester
are decoupled. This would allow players to walk off the ramps and fall
out of the Age.
These already existed in the PRP files but were not hooked up correctly.
This adds all missing connections and fixes the way some objects were
parented.
- [PhysicalSndGroup] cSfxPhysSnd-Marble0[1-4]_0 added references to
random sound mods for the physical sfx.
- [CoordinateInterface] SfxMarble-(Hit|Roll)Emit0[1-4] changed parent
object to MarblePhy0[1-4] as appropriate and set the parent transform
offset to 0,0,0. Previously, this was parented to a root object that
did not move.
The other three marbles in the clock area will require the creation of
new objects and will be done in another commit.
[PXPhysical] Bendy Bridge
Changed the member group from kGroupDynamic to kGroupStatic. The
previous setting is for kickables (which this bridge is not). PhysX does
not allow for non-kinematic dynamic bodies to have triangle mesh bounds.
Because of the improper member group, we were forcing PhysX to treat the
triangle mesh bounds as a convex hull, making the whole bridge solid.
Or, as Simulation.0.log says:
```
WARNING: 'BendyBridge' is a dynamic triangle mesh; this is not supported
in PhysX 4... forcing to convex hull, sorry.
```
[Generic Physical - CamRegElevShaft02] Subworld set to <plKey NULL="True" />
[Generic Physical - ElevatorCameraBlocker] Subworld set to <plKey NULL="True" />
[Generic Physical - EntryStaticCamRegion] Subworld set to <plKey NULL="True" />
[Generic Physical - proxyTerrainMeshForElevatorCam] Subworld set to <plKey NULL="True" />
[Generic Physical - proxyTerrainMeshForElevatorCam01] Subworld set to <plKey NULL="True" />
Wrong shirt was assigned in python file mod for first week shirt. This fixes that issue.
[Python File Mod - cPythFirstWeekShirtTakable - 4] Changed to "FReward_Launch"
[Python File Mod - cPythFirstWeekShirtTakable - 5] Changed to "MReward_Launch"
This is just a re-convert with a patch to CreateClothingPRP.py that
ensures icons only have one level. If there are multiple levels,
changing the texture quality will cause certain assumptions in the ACA
python to be invalidated, resulting in junked UI.
I seem to have forgotten that SDL `STRING32` variables have a fixed
length of 32 bytes. Sigh. So we must limit our names to this. Therefore,
I have renamed the shirts to "LSMysterium2021" and "SSMysterium2021".
The SDL string "LSMysterium2021;SSMysterium2021" will use up the
entirety of the 32 byte string buffer.