Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using a parameter in a palette which is defined in a different palette doesn't work #78003

Open
Milopetilo opened this issue Nov 19, 2024 · 0 comments
Labels
[C++] Changes (can be) made in C++. Previously named `Code` (S2 - Confirmed) Bug that's been confirmed to exist

Comments

@Milopetilo
Copy link
Contributor

Describe the bug

When making use of a parameter in a palette which uses a different palette that has the parameter, eg. carpet_color_type from parametrized_carpets_palette, the game throws an error.
This only occurs when the palette that is using the other palette defines its own symbols for the parameter, for example

    "type": "palette",
    "id": "collapsed_tower",
    "palettes": [ "parametrized_concrete_carpets_palette" ],
    "terrain": {
      ...
      "r": { "param": "carpet_color_type", "fallback": "t_carpet_red" },
      ...

throws mapgen 'palette collapsed_tower' uses undefined parameter 'carpet_color_type'.

Attach save file

N/A

Steps to reproduce

Replace data/json/mapgen_palettes/collapsed_tower.json with this one collapsed_tower.json.
Alternatively add any palette that has parameters (such as parametrized_carpets_palette) to another palette and make a symbol use the parameter by adding { "param": "carpet_color_type", "fallback": "t_carpet_red" } to any symbol.

Expected behavior

To have the game not throw an error and use the parameter from the other palette, just like it does when using it in a map.

Screenshots

No response

Versions and configuration

  • OS: Windows
    • OS Version: 10.0.19045.5131 (22H2)
  • Game Version: c544d81 [64-bit]
  • Graphics Version: Tiles
  • Game Language: System language []
  • Mods loaded: [
    Dark Days Ahead [dda],
    Disable NPC Needs [no_npc_food],
    Portal Storms Ignore NPCs [personal_portal_storms],
    Slowdown Fungal Growth [no_fungal_growth],
    Translate Complex Dialogue [translate_dialogue]
    ]

Additional context

debug.log

19:21:01.720 : Starting log.
19:21:01.720 INFO : Cataclysm DDA version c544d81
19:21:01.720 INFO : [main] C locale set to English_Belgium.utf8
19:21:01.720 INFO : [main] C++ locale set to
19:21:01.720 INFO : SDL version used during compile is 2.26.4
19:21:01.720 INFO : SDL version used during linking and in runtime is 2.26.4
19:21:01.766 INFO : SDL render devices: direct3d, direct3d11, direct3d12, opengl, opengles2, software
19:21:01.769 INFO : [options] C locale set to English_Belgium.utf8
19:21:01.769 INFO : [options] C++ locale set to
19:21:01.769 INFO : Setting language to: 'en'
19:21:01.769 INFO : [i18n] Scanning core translations from lang/mo/
19:21:03.469 INFO : Active renderer: 2/direct3d12
19:21:04.289 INFO : USE_COLOR_MODULATED_TEXTURES is set to 0
19:21:04.372 INFO : Setting language to: 'en'
19:21:43.073 INFO : Loaded tileset: Chibi_Ultica
19:21:43.140 INFO : Loaded tileset: Larwick Overmap
19:21:47.780 ERROR : (error message will follow backtrace)
#0
(dbghelp: debug_write_backtrace+0xb5@00007FF6D36DBA85[cataclysm-tiles.exe+0x54ba85]),
#1
(dbghelp: DebugLog+0x2b8@00007FF6D36DA7E8[cataclysm-tiles.exe+0x54a7e8]),
#2
(dbghelp: realDebugmsg+0x1fd@00007FF6D36DDB3D[cataclysm-tiles.exe+0x54db3d]),
#3
(dbghelp: mapgen_value<int_id<ter_t> >::param_source::check+0x2db@00007FF6D44DD55B[cataclysm-tiles.exe+0x134d55b]),
#4
(dbghelp: mapgen_palette::check+0x1a3@00007FF6D44DC5D3[cataclysm-tiles.exe+0x134c5d3]),
#5
(dbghelp: mapgen_palette::check_definitions+0x1f@00007FF6D44EE36F[cataclysm-tiles.exe+0x135e36f]),
#6
(dbghelp: DynamicDataLoader::check_consistency+0x21b3@00007FF6D460F4C3[cataclysm-tiles.exe+0x147f4c3]),
#7
(dbghelp: DynamicDataLoader::finalize_loaded_data+0x1eee@00007FF6D4611C2E[cataclysm-tiles.exe+0x1481c2e]),
#8
(dbghelp: game::load_world_modfiles+0x7aa@00007FF6D3783D3A[cataclysm-tiles.exe+0x5f3d3a]),
#9
(dbghelp: game::setup+0x1e2@00007FF6D37A4342[cataclysm-tiles.exe+0x614342]),
#10
(dbghelp: main_menu::load_game+0x17f@00007FF6D38FC58F[cataclysm-tiles.exe+0x76c58f]),
#11
(dbghelp: main_menu::load_character_tab+0xa00@00007FF6D38FC3C0[cataclysm-tiles.exe+0x76c3c0]),
#12
(dbghelp: main_menu::opening_screen+0x1f92@00007FF6D3900422[cataclysm-tiles.exe+0x770422]),
#13
(dbghelp: WinMain+0xe0b@00007FF6D3567D9B[cataclysm-tiles.exe+0x3d7d9b]),
#14
(dbghelp: __scrt_common_main_seh+0x106@00007FF6D4DFC9AE[cataclysm-tiles.exe+0x1c6c9ae]),
#15
(dbghelp: BaseThreadInitThunk+0x14@00007FF998D77374[KERNEL32.DLL+0x17374]),
#16
(dbghelp: RtlUserThreadStart+0x21@00007FF999EBCC91[ntdll.dll+0x4cc91]),
Backtrace emission took 1 seconds.
(continued from above) ERROR : D:\a\Cataclysm-DDA\Cataclysm-DDA\src\mapgen.cpp:1426 [check] mapgen 'palette collapsed_tower' uses undefined parameter 'carpet_color_type'

@Milopetilo Milopetilo added the (S1 - Need confirmation) Report waiting on confirmation of reproducibility label Nov 19, 2024
@Procyonae Procyonae added (S2 - Confirmed) Bug that's been confirmed to exist [C++] Changes (can be) made in C++. Previously named `Code` and removed (S1 - Need confirmation) Report waiting on confirmation of reproducibility labels Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C++] Changes (can be) made in C++. Previously named `Code` (S2 - Confirmed) Bug that's been confirmed to exist
Projects
None yet
Development

No branches or pull requests

2 participants