10 PortA26ToA27
phosit edited this page 2024-07-11 19:37:49 +02:00

How to port your A26 mod to A27

This lists (most) of the template-changing commits, and how to fix them. And also some other breaking changes.

r27114 & r27115

Move unit portraits to their own specific folders. Modders can change their templates with the script at MISSING.

r27169

The minimap now requires a background per civilization. It should be placed in session/icons/bkg/ and named background_circle_{civ}.png You can also remove that feature by editing gui/session/minimap/MiniMapPanel.js or adding exclusions.

r27245

The requirements of training and upgrades are now handled by a Requirements helper. The schema of both is unified. One can fix the templates with: Phab:P265.

r27308

basic_spec.xml,blend_spec.xml,objectcolor_spec.xml,playercolor_spec.xml have been removed. You can use Phab:P290 to fix them.

rP27368

aura.xml basic_glow.xml basic_glow_norm.xml basic_glow_wind.xml basic_specmap.xml basic_trans_ao.xml basic_trans_ao_spec.xml basic_trans_spec.xml no_trans_ao.xml no_trans_ao_spec.xml no_trans_parallax_ao.xml no_trans_spec.xml objectcolor_specmap.xml player_trans_ao.xml player_trans_ao_parallax.xml player_trans_norm.xml player_trans_parallax.xml player_trans_spec.xml player_trans_spec_helmet.xml trans_wind.xml were removed. You can use Phab:P292 to fix them

IMPORTANT: The reason they were removed is that the more materials the least performance. You should always use empty normal maps and spec maps (2x2 null_white.dds or null_black.dds for spec) and default_norm for normal. You might notice some artifacts on transparent meshes.

r27722

The diplomacy stuff is taken out of the Player component, this leaves a smaller Player.js file and allows easier modding of just diplomacy-related code. One should change the player templates to have

    <SharedLosTech/>
    <SharedDropsitesTech/>

in a new Diplomacy node.

r28093

There is a new map generation interface. Which random maps should be converted to. The engine will warn if the old one is used. The 0 A.D. Maps are converted in r28119. You can look there for examples. Note: For the library rmgen g_Map has to stay in global scope. (I went for globalThis.) That's done in r28117.

r28120

The color property of columns inside olist objects has been renamed to textcolor for consistency reasons.

r28145

PushGuiPage doesn't take a callback anymore but returns a promise.