editor: LOD_MAP table is missing some LOD models

Aperta
#555 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

  • #556 di @Fernando-A-Rocha — chiusa senza merge

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
36/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
lua, python
Ambito
game-dev

Direzione di ricerca

Start with [editor]/editor_main/server/mapEditorScriptingExtension_s.lua at the linked LOD_MAP table, then review client/main.lua’s processCursorLineOfSight() use of processLineOfSight and how it obtains buildingId and buildingLOD. The issue cites model 3589 mapping to LOD 3592 and a Python script that parsed IPL files; use those as starting points to identify missing associations. Done means LOD_MAP includes the missing GTA:SA object-to-LOD mappings.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

Which resource(s) have this problem?
editor_main => server => mapEditorScriptingExtension_s.lua

https://github.com/multitheftauto/mtasa-resources/blob/d4c04db009cdd68913fdb47bbc73acd91e63f981/%5Beditor%5D/editor_main/server/mapEditorScriptingExtension_s.lua#L78

Describe the bug
This table is missing certain object model ID => LOD model ID associations.

e.g. ID 3589 (compfukhouse3)'s LOD model is 3592 (LODpfukhouse3)

To Reproduce
The correct LOD model of a world object / building is actually provided in processLineOfSight ("This function casts a ray between two points in the world, and tells you information about the point that was hit, if any."), which is used by the Map Editor in editor_main => client => main.lua @ processCursorLineOfSight() obtaining buildingId and buildingLOD.

Expected behavior
LOD_MAP should include all Object=>LOD model IDs in GTA:SA.

Screenshots

Version
MTA LOD Table [object] = [lodmodel]

Version of Apr 11, 2023 (last change as of submitting this issue)

Additional context
I created a Python script to parse all of the game's IPL files (including the binary IPLs converted to text), and create a dictionary of object model ID => LOD object model ID according to the info in https://gtamods.com/wiki/LOD#GTA_San_Andreas_.26_GTA_IV . I obtained the same LOD_MAP table in this experiment.

I noticed that some LOD Models like LODpfukhouse3 (3592) aren't actually linked by index by any object model in the same IPL file, which is why the script did not find them... Hmm...

EDIT: I understand now, Rockstar separated some LODs into separate binary IPL files :D

Lingua principale
Lua
Stelle
185
Fork
180
Merge medio
5g 13h
PR unite (30g)
2

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di multitheftauto/mtasa-resources

Tutte le issue di multitheftauto/mtasa-resources

Issue simili

Altre issue su Lua

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.