csirke128 Posted April 19, 2025 Author Posted April 19, 2025 Just now, bananatex09871 said: my game just instatly crash and not report any crash flie Hi, it should still update the file error.log, even if the game crashes.
bananatex09871 Posted April 19, 2025 Posted April 19, 2025 Just now, csirke128 said: Hi, it should still update the file error.log, even if the game crashes. ok wait me
bananatex09871 Posted April 19, 2025 Posted April 19, 2025 2 minutes ago, csirke128 said: Hi, it should still update the file error.log, even if the game crashes. here is the error log error.log
csirke128 Posted April 19, 2025 Author Posted April 19, 2025 Just now, bananatex09871 said: here is the error log error.log 140.01 kB · 0 downloads [19:36:56][E][jomini_script_system.cpp:284]: Script system error! Error: untyped trigger [ Scoped object of type 'character' is not valid (null weak (Character - 4294967295)!) ] Script location: Unknown [19:37:00][E][gfx_dx11_base_buffer.cpp:68]: D3D error: hr returned: Not enough memory resources are available to complete this operation. [19:37:00][E][pdx_assert.cpp:619]: Assertion failed: hr returned: Not enough memory resources are available to complete this operation. [19:37:00][E][gfx_dx11_master_context.cpp:416]: Failed creating buffer [19:37:00][E][gfx_dx11_master_context.cpp:416]: Failed creating buffer Seems like your are running out of vRAM. Can you try download CBO Base and CBO Animation, and use those 2 instead of CBO Unofficial? (CBO Unofficial contains CBO Mesh which adds extra clothing, which take up a lot of vRAM)
bananatex09871 Posted April 19, 2025 Posted April 19, 2025 Just now, csirke128 said: [19:36:56][E][jomini_script_system.cpp:284]: Script system error! Error: untyped trigger [ Scoped object of type 'character' is not valid (null weak (Character - 4294967295)!) ] Script location: Unknown [19:37:00][E][gfx_dx11_base_buffer.cpp:68]: D3D error: hr returned: Not enough memory resources are available to complete this operation. [19:37:00][E][pdx_assert.cpp:619]: Assertion failed: hr returned: Not enough memory resources are available to complete this operation. [19:37:00][E][gfx_dx11_master_context.cpp:416]: Failed creating buffer [19:37:00][E][gfx_dx11_master_context.cpp:416]: Failed creating buffer Seems like your are running out of vRAM. Can you try download CBO Base and CBO Animation, and use those 2 instead of CBO Unofficial? (CBO Unofficial contains CBO Mesh which adds extra clothing, which take up a lot of vRAM) i was try cbo base and cbo animation before but they not work
csirke128 Posted April 19, 2025 Author Posted April 19, 2025 1 minute ago, bananatex09871 said: i was try cbo base and cbo animation before but they not work Hmm, CBO Unofficial is CBO Base + Animation + Mesh, or you mean you also had similar crashes? Can you try (temporarily) remove "CBO Unofficial\CBO Unofficial\gfx\models\portraits\f_clothes_rev" "CBO Unofficial\CBO Unofficial\gfx\models\portraits\m_clothes_rev" Maybe just removing the revealing clothing would be enough
bananatex09871 Posted April 19, 2025 Posted April 19, 2025 2 minutes ago, csirke128 said: Hmm, CBO Unofficial is CBO Base + Animation + Mesh, or you mean you also had similar crashes? Can you try (temporarily) remove "CBO Unofficial\CBO Unofficial\gfx\models\portraits\f_clothes_rev" "CBO Unofficial\CBO Unofficial\gfx\models\portraits\m_clothes_rev" Maybe just removing the revealing clothing would be enough i mean i also have similar crash when try cbo base+animation
csirke128 Posted April 19, 2025 Author Posted April 19, 2025 Just now, bananatex09871 said: i mean i also have similar crash when try cbo base+animation Can you check if you have similar errors in error.log related to memory? Maybe the crash reason is different for that.
bananatex09871 Posted April 19, 2025 Posted April 19, 2025 4 minutes ago, csirke128 said: Can you check if you have similar errors in error.log related to memory? Maybe the crash reason is different for that. i didnt find out it
csirke128 Posted April 19, 2025 Author Posted April 19, 2025 Just now, bananatex09871 said: i didnt find out it Can you share the error.log? So when the load order is Carnalitas CBO Unofficial Base CBO Unofficial Animation Better Barbershop Better Barbershop CBO Extension
bananatex09871 Posted April 19, 2025 Posted April 19, 2025 3 minutes ago, csirke128 said: Can you share the error.log? So when the load order is Carnalitas CBO Unofficial Base CBO Unofficial Animation Better Barbershop Better Barbershop CBO Extension i accidentally delete it,wait me run it with this load order and give you the error log
bananatex09871 Posted April 19, 2025 Posted April 19, 2025 25 minutes ago, csirke128 said: Can you share the error.log? So when the load order is Carnalitas CBO Unofficial Base CBO Unofficial Animation Better Barbershop Better Barbershop CBO Extension here is the error log: debug.log error.log
csirke128 Posted April 19, 2025 Author Posted April 19, 2025 2 minutes ago, bananatex09871 said: here is the error log: debug.log 1.86 MB · 0 downloads error.log 89.57 kB · 0 downloads I think it might be crashing due to this now: [20:39:25][E][pdx_gui_widget.h:1082]: [ObsoleteCppFunction] Widget not found: category_interaction_list Can you remove: Better Barbershop/gui/interaction_menu_window.gui This file has category_interaction_list
bananatex09871 Posted April 19, 2025 Posted April 19, 2025 11 minutes ago, csirke128 said: I think it might be crashing due to this now: [20:39:25][E][pdx_gui_widget.h:1082]: [ObsoleteCppFunction] Widget not found: category_interaction_list Can you remove: Better Barbershop/gui/interaction_menu_window.gui This file has category_interaction_list is work,thank you so much :))
Gav1in Posted April 20, 2025 Posted April 20, 2025 Traits are not changing the character model when in the character creator menu
csirke128 Posted April 20, 2025 Author Posted April 20, 2025 4 hours ago, Gav1in said: Traits are not changing the character model when in the character creator menu Hi, Yea its expected now, I was suspecting its causing the issue related to incorrect gene inheritance, so took it out in 1.7, but since then it turned out its caused by something else. I'll try put it back later that they take effect in character creator later (maybe when new DLC drops)
CDiet Posted April 20, 2025 Posted April 20, 2025 Quick question; the bed has replaced my normal royal court. Is there a way around that, or is it just something to live with? I don't really care aside from the inability to place court artifacts.
marinara Posted April 20, 2025 Posted April 20, 2025 (edited) Hey, I got a question. Is there a way to make custom morphs for cbo? I am decent at blender but dogshit in coding. I checked the file structure and can't figure out how. Any insights? For example, I mean: Changing the way muscles look, maybe breast morphs or clothing etc. Edited April 20, 2025 by marinara
csirke128 Posted April 20, 2025 Author Posted April 20, 2025 27 minutes ago, CDiet said: Quick question; the bed has replaced my normal royal court. Is there a way around that, or is it just something to live with? I don't really care aside from the inability to place court artifacts. You probably have a mod that adds new court rooms, if not patched those will cause issues like that, can you share your load order?
csirke128 Posted April 20, 2025 Author Posted April 20, 2025 18 minutes ago, marinara said: Hey, I got a question. Is there a way to make custom morphs for cbo? I am decent at blender but dogshit in coding. I checked the file structure and can't figure out how. Any insights? For example, I mean: Changing the way muscles look, maybe breast morphs or clothing etc. Hi, The way to add things to CK3 is usually to copy something thats already doing that. So to add new blendshapes, and triggers for them, you need to start with an existing one, and check how they are done. The next thing is to use some search function to find references in other files, I usually use the total commander search in file function to find where things are referenced. So to start out, the body is at: "CBO Unofficial Base\gfx\models\portraits\female_body\female_body.mesh" This file is referenced in "CBO Unofficial Base\gfx\models\portraits\female_body\female_body.asset" pdxmesh = { name = "female_body_mesh" file = "female_body.mesh" In here, you have blendshapes: For example, lets look at hips: blend_shape = { id = "female_bs_body_hips_max" type = "blendshapes/female_bs_body_hips_max.mesh" } blend_shape = { id = "female_bs_body_hips_min" type = "blendshapes/female_bs_body_hips_min.mesh" } You first connect a mesh file to an identifier, then you need to connect that to an attribute: attribute = { name = "bs_body_hips_max" blend_shape = "female_bs_body_hips_max" } attribute = { name = "bs_body_hips_min" blend_shape = "female_bs_body_hips_min" } The attributes are the way the blendshapes are controlled, and these attributes are common between objects, so you have the same bs_body_hips_max in the male body asset file as well, but also the same for clothing, you will see these attributes referenced there. For example: "CBO Unofficial Mesh\gfx\models\portraits\f_clothes\byzantine\nob_01\f_clothing_secular_byzantine_nob_01.asset" attribute = { name = "bs_body_hips_max" blend_shape = "female_clothing_secular_byzantine_nobility_01_bs_hips_max" } attribute = { name = "bs_body_hips_min" blend_shape = "female_clothing_secular_byzantine_nobility_01_bs_hips_min" } The main thing for blendshapes, are that you need to have the same vertex ordering in the file as the main mesh, and you don't need the skeleton, but even if you have the skeleton in the mesh, its not an issue. Then based on the attribute, you can apply the blendshape, 0 value is original mesh, 1 value is the blendshape. And these are additive, so you can have multiple of them take effect. So to control this blendshape, we need genes: "CBO Unofficial Base\common\genes\hips gene.txt" gene_bs_hips = { group = body hips = { index = 0 male = { setting = { attribute = "bs_body_hips_max" curve = { { 0.0 0.0 } { 0.33 0.0 } { 1.0 0.75 } } age = age_preset_puberty } setting = { required_tags = "hips_clothed,dressed" attribute = "bs_body_hips_max" curve = { { 0.0 0.0 } { 0.33 0.0 } { 1.0 -0.15 } } age = age_preset_puberty } setting = { attribute = "bs_body_hips_min" curve = { { 0.0 0.25 } { 0.33 0.0 } { 1.0 0.0 } } age = age_preset_puberty } } female = male boy = male girl = male } } Here, we have a gene, and the gene can have a value between 0 and 1, and these values are then mapped to attributes with these curves. curve = { { 0.0 0.0 } { 0.33 0.0 } { 1.0 0.75 } } So what this tells us, is at gene value 0, apply the blendshape with value 0 at gene value 0.33, apply the blendshape with value 0 at gene value 1.0, apply the blendshape with value 0.75 Inbetween these values, there is a curve fitted, but for simplicity just think of them as linear lines, so at 0.2, it will have a value of 0, but at 0.5, maybe its around 0.2 or smth. So based on the above, you can see that hips_max has no effect between value 0 and 0.33, and hips min has no effect between 0.33 and 1.0 The hips_clothed part is there, so that when a character is wearing clothing, the body is shrunk a bit to prevent clipping. There are 2 types of genes: morph_genes = { gene_bs_hips = { special_genes = { morph_genes = { gene_bs_pregnant = { Normal morph genes are part of the character DNA, you can add them to the file: "CBO Unofficial Base\common\ethnicities\00_ethnicities_templates.txt" ### hips ### gene_bs_hips = { 5 = { name = hips range = { 0.00 0.14 } } 11 = { name = hips range = { 0.14 0.28 } } 13 = { name = hips range = { 0.28 0.42 } } 11 = { name = hips range = { 0.42 0.58 } } 5 = { name = hips range = { 0.58 0.72 } } 2 = { name = hips range = { 0.72 0.86 } } 1 = { name = hips range = { 0.86 1.00 } } } So for random new characters, the game will first roll a dice on the number before the first =, i think maybe its 52 sided or smth, then if its less tahn 5, it picks the first category, then it choses a random value between 0 and 0.14 So it just lets you have a bit more varied distribution, here its ment to be more like a bell curve, the extreme values are less likely then the average values. There are characters with predefined DNA, these are stored at files like: "CBO Unofficial Base\common\dna_data\00_dna.txt" Here, for each character, there is a value set for that gene, I think if you dont set it, it gets a value of 0 or something like that, so I have a script that adds the CBO genes to these files (randomize_dna.py). The other gene type is special genes, these genes cannot be edited in the ruler creator, and they are not part of the character DNA, so the way these are applied is through portrait modifiers. So its not a blendshape, but one example is makeup: makeup_base_customization = { interface_position = 17 usage = customization no_makeup_base = { usage = customization dna_modifiers = { morph = { mode = add gene = makeup_base template = no_makeup_base value = 0 } } } makeup_base_full = { usage = customization dna_modifiers = { morph = { mode = add gene = makeup_base template = makeup_base value = 1.0 } } } makeup_base_half = { usage = customization dna_modifiers = { morph = { mode = add gene = makeup_base template = makeup_base value = 0.5 } } } } This adds a new option in the barbershop, and then you can select between 3 different values, and when selected, it applies the gene with the value there. It gets a bit more complicated with more details, but you will probably just need to mess around with things to understand a bit more how they work, let me know if you need some more info. 1
CDiet Posted April 20, 2025 Posted April 20, 2025 28 minutes ago, csirke128 said: You probably have a mod that adds new court rooms, if not patched those will cause issues like that, can you share your load order? My Carnalitas-related LO is #3, the others are just my complete (atm) load order. I don't think any add new court rooms, but I'll revise their pages to be sure.
csirke128 Posted April 20, 2025 Author Posted April 20, 2025 13 minutes ago, CDiet said: My Carnalitas-related LO is #3, the others are just my complete (atm) load order. I don't think any add new court rooms, but I'll revise their pages to be sure. Hi, its probably More Holding Graphics MHG CBO Patch 1.0.zip
kaxli Posted April 20, 2025 Posted April 20, 2025 On 4/19/2025 at 6:17 PM, csirke128 said: Hi, MHG needs a comp patch: I'll add it to the download section later. MHG CBO Patch 1.0.zip 2.9 kB · 1 download Thank you, I've found that using EPE or CFP makes it impossible for Eastern Europe to enter the court. Is it a matter of sorting?
marinara Posted April 20, 2025 Posted April 20, 2025 3 hours ago, csirke128 said: Hi, The way to add things to CK3 is usually to copy something thats already doing that. So to add new blendshapes, and triggers for them, you need to start with an existing one, and check how they are done. The next thing is to use some search function to find references in other files, I usually use the total commander search in file function to find where things are referenced. So to start out, the body is at: "CBO Unofficial Base\gfx\models\portraits\female_body\female_body.mesh" This file is referenced in "CBO Unofficial Base\gfx\models\portraits\female_body\female_body.asset" pdxmesh = { name = "female_body_mesh" file = "female_body.mesh" In here, you have blendshapes: For example, lets look at hips: blend_shape = { id = "female_bs_body_hips_max" type = "blendshapes/female_bs_body_hips_max.mesh" } blend_shape = { id = "female_bs_body_hips_min" type = "blendshapes/female_bs_body_hips_min.mesh" } You first connect a mesh file to an identifier, then you need to connect that to an attribute: attribute = { name = "bs_body_hips_max" blend_shape = "female_bs_body_hips_max" } attribute = { name = "bs_body_hips_min" blend_shape = "female_bs_body_hips_min" } The attributes are the way the blendshapes are controlled, and these attributes are common between objects, so you have the same bs_body_hips_max in the male body asset file as well, but also the same for clothing, you will see these attributes referenced there. For example: "CBO Unofficial Mesh\gfx\models\portraits\f_clothes\byzantine\nob_01\f_clothing_secular_byzantine_nob_01.asset" attribute = { name = "bs_body_hips_max" blend_shape = "female_clothing_secular_byzantine_nobility_01_bs_hips_max" } attribute = { name = "bs_body_hips_min" blend_shape = "female_clothing_secular_byzantine_nobility_01_bs_hips_min" } The main thing for blendshapes, are that you need to have the same vertex ordering in the file as the main mesh, and you don't need the skeleton, but even if you have the skeleton in the mesh, its not an issue. Then based on the attribute, you can apply the blendshape, 0 value is original mesh, 1 value is the blendshape. And these are additive, so you can have multiple of them take effect. So to control this blendshape, we need genes: "CBO Unofficial Base\common\genes\hips gene.txt" gene_bs_hips = { group = body hips = { index = 0 male = { setting = { attribute = "bs_body_hips_max" curve = { { 0.0 0.0 } { 0.33 0.0 } { 1.0 0.75 } } age = age_preset_puberty } setting = { required_tags = "hips_clothed,dressed" attribute = "bs_body_hips_max" curve = { { 0.0 0.0 } { 0.33 0.0 } { 1.0 -0.15 } } age = age_preset_puberty } setting = { attribute = "bs_body_hips_min" curve = { { 0.0 0.25 } { 0.33 0.0 } { 1.0 0.0 } } age = age_preset_puberty } } female = male boy = male girl = male } } Here, we have a gene, and the gene can have a value between 0 and 1, and these values are then mapped to attributes with these curves. curve = { { 0.0 0.0 } { 0.33 0.0 } { 1.0 0.75 } } So what this tells us, is at gene value 0, apply the blendshape with value 0 at gene value 0.33, apply the blendshape with value 0 at gene value 1.0, apply the blendshape with value 0.75 Inbetween these values, there is a curve fitted, but for simplicity just think of them as linear lines, so at 0.2, it will have a value of 0, but at 0.5, maybe its around 0.2 or smth. So based on the above, you can see that hips_max has no effect between value 0 and 0.33, and hips min has no effect between 0.33 and 1.0 The hips_clothed part is there, so that when a character is wearing clothing, the body is shrunk a bit to prevent clipping. There are 2 types of genes: morph_genes = { gene_bs_hips = { special_genes = { morph_genes = { gene_bs_pregnant = { Normal morph genes are part of the character DNA, you can add them to the file: "CBO Unofficial Base\common\ethnicities\00_ethnicities_templates.txt" ### hips ### gene_bs_hips = { 5 = { name = hips range = { 0.00 0.14 } } 11 = { name = hips range = { 0.14 0.28 } } 13 = { name = hips range = { 0.28 0.42 } } 11 = { name = hips range = { 0.42 0.58 } } 5 = { name = hips range = { 0.58 0.72 } } 2 = { name = hips range = { 0.72 0.86 } } 1 = { name = hips range = { 0.86 1.00 } } } So for random new characters, the game will first roll a dice on the number before the first =, i think maybe its 52 sided or smth, then if its less tahn 5, it picks the first category, then it choses a random value between 0 and 0.14 So it just lets you have a bit more varied distribution, here its ment to be more like a bell curve, the extreme values are less likely then the average values. There are characters with predefined DNA, these are stored at files like: "CBO Unofficial Base\common\dna_data\00_dna.txt" Here, for each character, there is a value set for that gene, I think if you dont set it, it gets a value of 0 or something like that, so I have a script that adds the CBO genes to these files (randomize_dna.py). The other gene type is special genes, these genes cannot be edited in the ruler creator, and they are not part of the character DNA, so the way these are applied is through portrait modifiers. So its not a blendshape, but one example is makeup: makeup_base_customization = { interface_position = 17 usage = customization no_makeup_base = { usage = customization dna_modifiers = { morph = { mode = add gene = makeup_base template = no_makeup_base value = 0 } } } makeup_base_full = { usage = customization dna_modifiers = { morph = { mode = add gene = makeup_base template = makeup_base value = 1.0 } } } makeup_base_half = { usage = customization dna_modifiers = { morph = { mode = add gene = makeup_base template = makeup_base value = 0.5 } } } } This adds a new option in the barbershop, and then you can select between 3 different values, and when selected, it applies the gene with the value there. It gets a bit more complicated with more details, but you will probably just need to mess around with things to understand a bit more how they work, let me know if you need some more info. This is so helpful, thank you so much. I will look into this rn. Thanks for all the work on the mod as well.
csirke128 Posted April 20, 2025 Author Posted April 20, 2025 32 minutes ago, kaxli said: Thank you, I've found that using EPE or CFP makes it impossible for Eastern Europe to enter the court. Is it a matter of sorting? Hi, you need to use the CFP or CFP+EPE CBO Patches, those should patch the court room so they work.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now