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

Create shared Loader model. #92

Closed
7 tasks done
malortie opened this issue Feb 28, 2022 · 2 comments
Closed
7 tasks done

Create shared Loader model. #92

malortie opened this issue Feb 28, 2022 · 2 comments
Assignees
Labels

Comments

@malortie
Copy link
Collaborator

malortie commented Feb 28, 2022

The loader has no HD variant.

HL1 <-> Op4

  • same hitboxes
  • same mesh
  • same textures, but Op4 has different crate textures
  • same sequences and fps for those available

HL1 <-> Blue Shift

  • Identical

  • Add Op4 crate texture as new skin

Add the following Opposing Force sequences :

  • 45_left
  • park
  • blocked
  • freed
  • dropbox
  • pivotback

Additional information

1- freeze sequence is identical to heroidle. It was removed.

2- Original LD/HD all use hitgroup 0 (HITGROUP_GENERIC). Correct hitgroups have been added for the new models.

3- Hitbox 'body' was covering unnecessary area. It was removed.

4- Several hitboxes have been reworked.

Notable hitgroups:

  • Crate: 0
  • Rear left leg: 8
  • Rear right leg: 9

5- Op4 Loader crate texture is different from HL1. It has been put as a second skin.

Additional details

In HLAM, I found the Op4 crate texture was cropped. When investigating in StudioMDL, I found that the crate03 and crate03b textures are skipped when calculating texture coordinates.

https://github.com/ValveSoftware/halflife/blob/c7240b965743a53a29491dd49320c88eecf6257b/utils/studiomdl/studiomdl.c#L1631-L1637

As a result, the parent texture min/max texcoords are used because texture[i].max_s < texture[i].min_s.

https://github.com/ValveSoftware/halflife/blob/c7240b965743a53a29491dd49320c88eecf6257b/utils/studiomdl/studiomdl.c#L1654-L1657

I manually set the expected S and T values and compiled normally. In HLAM, it still shows cropped in 3D viewport, but in texture panel the texture is full and uncut. In game, it seems to ignore different texture sizes and simply takes the first skin family texture dimension. It seems the game assumes all textures per skin family have the same dimension. This can't be fixed unless Valve updates the renderer.

Because the Op4 crate textures dimensions were 96x128, this caused them to appear stretched because of the box has a cube shape. I extracted C1A1_CRATE2 from halflife.wad which is 96x96 and resized wooden crate textures so they all have the same dimensions.

Unprecached event sounds

Many sequences play sounds using events. Extra sounds may need to be precached in code.

  • ambience/wood2.wav
  • ambience/warn2.wav
  • ambience/turretrot1.wav
  • common/splash_large.wav
  • debris/bustmetal1.wav
  • debris/bustmetal2.wav
  • debris/metal6.wav

Map changes

See of1a4b / Loader in #27.

@malortie malortie self-assigned this Feb 28, 2022
@malortie
Copy link
Collaborator Author

malortie commented Apr 8, 2022

@SamVanheer

Please, can you review the following models in Release v0.3.0-rc.5 and confirm if the issue can be closed ?

Loader has 1 variant:

  • models/loader.mdl

Important - Make sure to read sections 'Unprecached event sounds' and 'Map changes' at the end of the first post.

@SamVanheer
Copy link
Collaborator

The model looks good, you can close the issue.

@malortie malortie added the model label Dec 31, 2022
@malortie malortie mentioned this issue Apr 8, 2022
7 tasks
@SamVanheer SamVanheer transferred this issue from another repository Mar 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants