Pagine

lunedì 11 dicembre 2017

New Z_CQB_players package released

I think I've finally found out the problem generated by my package ("VirtualAlloc commit failed - Attempt to access invalid address"). I think that it could be linked to the amount of md3 that you can handle from skin files and to some variable not properly sized/defined ( maybe here --> tr_image, tr_model.c or cg_character.c).

For example, in tr_image I find the following lines:
if (strstr (token, "md3_"))
{
if (skin-> numModels> MAX_PART_MODELS)
{
Ren_Warning ("WARNING: Ignoring models in '% s', the max is% d! N", name, MAX_PART_MODELS);
break;

1) initially I had this error:
------ Server Initialization ------
Server: obj_snow
RE_Shutdown( 0 )
********************
ERROR: VirtualAlloc commit failed.
Attempt to access invalid address.

********************
----- Server Shutdown -----
---------------------------
RE_Shutdown( 0 )

I solved commenting on the last two lines in head04a.skin (tested on windows TCE/CQB + all tce maps + cqb_sample)

head, "models/players/hud/head04a"
teeth, "models/players/hud/teeth01"
eye1, "models/players/hud/eye03"
eye2, "models/players/hud/eye03"
//eye_patch01, "models/players/hud/head04a"
//hair01, "models/players/hud/hair01"


2) Then came this error:
LOADING... - classes
^1ERROR: characters/temperate/axis/soldier.char, line 4: unknown token 'skinGroup'
********************
ERROR: ERROR: CG_RegisterPlayerClasses: failed to load character file 'characters/temperate/axis/soldier.char' for the Axis Soldier
********************
----- Server Shutdown -----

I solved commenting //md3_beltr in body_s.skin (tested on windows TCE/CQB + all tce maps + cqb_sample)

..
//md3_back, "models/players/temperate/allied/acc/backpack.md3"
//md3_beltr, "models/players/temperate/allied/acc/beltr_pouch01_b.md3"
md3_beltl, "models/players/temperate/allied/acc/beltl_pouch01_b.md3"
md3_belt, "models/players/temperate/allied/acc/belt_pouch01_b.md3"
md3_legr, "models/players/temperate/allied/acc/legr_holster01_b.md3"
md3_legl, "models/players/temperate/allied/acc/legl_pouch01_b.md3"
l_legs, "models/players/temperate/allied/legs02blue_woodland01"
u_body, "models/players/temperate/allied/body01blue_woodland01"
u_rthand, "models/players/temperate/common/hands01"
u_lfthand, "models/players/temperate/common/hands01"


3) ET Legacy works but does not load some shader/md3 assets and I find these WARNING
LOADING... - classes
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/body_s3.skin', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/body_s.skin', the max is 5!
^3WARNING: failed to register skin 'models/players/temperate/axis/soldier/body_s.skin' referenced from 'characters/temperate/axis/soldier.char'
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/body_s_p11.skin', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/body_s_p22.skin', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/body_s_p01.skin', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/body_s_p02.skin', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/body_s_p10.skin', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/body_s_p12.skin', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/body_s_p20.skin', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/soldier/body_s_p21.skin', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/medic/body_s3.skin', the max is 5!
^3WARNING: Ignoring models in 'models/players/temperate/axis/medic/body_s.skin', the max is 5!
^3WARNING: failed to register skin 'models/players/temperate/axis/medic/body_s.skin' referenced from 'characters/temperate/axis/medic.char'


It could also be the cause for crash when using Z_CQB_Viewarms_sg552_20160208.pk3 that contains the arms and the sig552?
I used 7 parts in sg552rdsd.weap adding tags to make a compound weapon (and doing also animations to mount/unmount the sight/suppressor/foregrip)
part 0
{
tag "tag_main"
model "models/weapons2/sg552/sg552_view_main.mdc"
}
part 1
{
tag "tag_clip"
model "models/weapons2/sg552/sg552_view_clip.mdc"
}
part 2
{
tag "tag_slide"
model "models/weapons2/sg552/sg552_view_slide.mdc"
}
part 3
{
tag "tag_sight"
model "models/weapons2/sight/sight_view_reddot.mdc"
}
part 4
{
tag "tag_suppr"
model "models/weapons2/silencer/silencer_view_silencer01.mdc"
}
part 5
{
tag "tag_clip2"
model "models/weapons2/sg552/sg552_view_clip.mdc"
}
part 6
{
tag "tag_fgrip"
model "models/weapons2/grip/grip_view_foregrip01.mdc"
}

Is it a partial limit for individual characters .skin file or is a total limit? I don't know, but It would be nice to touch the code in such a way that these treshold are increased.

The package is pretty much ready and need to be tested. Maybe it's a good idea make some screenshots at the maximum resolution. In any case, it's better use the "seta com_ignorecrash 1" option to prevent that some crash reset the configuration at the low resolution. Maybe in the future we could include the full body model in the deploy menu, using cqb_menu_idle & cqb_menu_lookweap animations (cqb_common.aninc in the Z_CQB_animations_20150513) or use head animations like pain or attack sequence.

It would be great if coroner could check the code to see if he can change the limits of md3 manageable via .skin files

You can check my last package Z_CQB_players_20171109.pk3 here (completely replaces the previous one) -->
 https://www.dropbox.com/sh/lkfbnqhn6vosmt1/AACeHjN55i_U9yX0iI6VToZZa?n=326867460