Bug #2138

Makepbo - link check problem with include

Added by kju almost 6 years ago. Updated over 5 years ago.

Status:Closed Start date:06/19/2009
Priority:Low Due date:
Assignee:kju % Done:

0%

Category:MakePbo (Dos Tools)
Target version:Completed
Affected Version:

Description

mikero I cannot see the problem here in my code.
Can you please check.

T:\pbodll>MakePbo.exe -L D:\Games\ArmA\x\_ofpip\OFPIP\addons\ofpip_m_dynamic_missions
MakePbo.exe Version 1.58, Dll Version 2.01
File D:\Games\ArmA\x\_ofpip\OFPIP\addons\ofpip_m_dynamic_missions\MPMissions\CO_10_DMA_LastFight_MP.abel\description.ext Line 1 Cannot include file
Lint error

Namespace: ofpip_m_dynamic_missions

.\ofpip_m_dynamic_missions\MPMissions\CO_10_DMA_LastFight_MP.abel\description.ext contains

1 #include "\ofpip_m_dynamic_missions\f\dma_lastfight\description.hpp"

.\ofpip_m_dynamic_missions\f\dma_lastfight\description.hpp contains

1 onLoadmission="DMA LastFight MP"; 2 3 respawn = "BASE"; 4 respawndelay = 4; 5 disabledAI = 0; 6 7 class Header 8 { 9 gameType = Coop; 10 minPlayers = 1; 11 maxPlayers = 10; 12 }; 13 14 briefing = 1; 15 debriefing = 1; 16 showCompass = 1; 17 ShowGPS = 0; 18 showMap = 1; 19 showNotePad = 0; 20 showPad = 0; 21 showWatch = 0; 22 23 titleParam1 = "viewDistance"; 24 valuesParam1[] = {500,800,1200,1500,2000,2500,3000,5000,10000,15000,50000}; 25 defValueParam1 = 500; 26 textsParam1[] = {"500m","800m","1200m","1500m","2000m","2500m","3000m","5000m","10000m","15000m","50000m"}; 27 28 titleParam2 = "Number of Revives:"; 29 valuesParam2[] = {1000,5,2,1,0}; 30 defValueParam2 = 0; 31 textsParam2[] = {"Infinite - Cadet","5 - Easy ","2 - Normal","1 - Hard","0 - Extreme"};

ofpip_m_cutscenes.7z (3.1 kB) kju, 06/21/2009 05:39

History

Updated by mikero almost 6 years ago

  • Status changed from New to Resolved
  • Target version set to Completed

this is probably fixed in latest dll. I wasn't passing the force arma rapify from makepbo to the rapifier

Updated by kju almost 6 years ago

  • File ofpip_m_cutscenes.7z added
  • Status changed from Resolved to Assigned
  • Target version deleted (Completed)

Nope still not working. Attached the completed folder.

T:\pbodll>MakePbo.exe -L D:\Games\ArmA\x\_ofpip\OFPIP\addons\ofpip_m_dynamic_missions
MakePbo.exe Version 1.58, Dll Version 2.05
File D:\Games\ArmA\x\_ofpip\OFPIP\addons\ofpip_m_dynamic_missions\MPMissions\CO_10_DMA_LastFight_MP.abel\description.ext Line 1 Cannot include file
Lint error
T:\pbodll>GetDePboVersion.exe
GetDePboVersion.exe Version 1.52, Dll Version 2.05

Updated by mikero almost 6 years ago

please send attachments in future as rar or zip 7z is a pain

Updated by mikero almost 6 years ago

because you are building a pbo in the D: drive

#include "\anything.....

has to assume "D:\anything

your namespace drive, as in the prefix is probably subst P: and pbo's have to be built in P:........ any\where\

Updated by kju almost 6 years ago

Ah yes. True you are correct.

What about the feature to check the namespace of the processed folder,
to see if its an internal reference of this namespace?

Another idea in addition to that:
What about porting the feature of Rapify also to MakePbo as additional param to -L.
(ignore #includes)

T:\pbodll>Rapify.exe
Rapify.exe Version 1.58, Dll Version 2.05
Syntax: Rapify.exe [-options] <filename>
-options (optional)
 -l Lintcheck only (no save file)
 -lf ignore #includes (lint check only -n Noisy. show processing

Updated by mikero almost 6 years ago

kju wrote:

Ah yes. True you are correct.

What about the feature to check the namespace of the processed folder,
to see if its an internal reference of this namespace?

[...]

changing the the include paths to relative addressing inside the pbo is a far more rational approach than attempting to match the prefix/folder/name (the name of the pbo is irrelevant)

secondly, relative addressing removes the nightmare. prevalent in ofp, not arma, of having to change paths if and when you change the prefix name.

Another idea in addition to that:
What about porting the feature of Rapify also to MakePbo as additional param to -L.
(ignore #includes)

only as an autolint, that would be possible, but i do not like the entire premise to begin with and only put it in due to demand. I am not keen to spread this misuse of lint checking any further than need be.

Updated by mikero almost 6 years ago

  • Status changed from Assigned to Resolved
  • Target version set to Completed

new version sof makebo and friends now allow a -LF option (ignore hardpath #includes)

the nature of -F for rapify (and makepbo) has altered so the ONLY hardpath includes are ignored. The contetn of all relatively addressed includes are still subject to a lintcheck

Updated by kju almost 6 years ago

  • Status changed from Resolved to Feedback

-F / -LF works.

However -L does not. I have updated the namespace to its correct location on P.

P:\x\ofpip\OFPIP\addons\m_dynamic_missions\MPMissions\CO_10_DMA_LastFight_MP.abel\description.ext contains

1 #include "\x\ofpip\OFPIP\addons\m_dynamic_missions\f\dma_lastfight\description.hpp"

P:\x\ofpip\OFPIP\addons\m_dynamic_missions\f\dma_lastfight\description.hpp exists.

P:\x\ofpip\OFPIP\addons\m_dynamic_missions\$PBOPREFIX$ contains

x\ofpip\OFPIP\addons\m_dynamic_missions

###

T:\pbodll>MakePbo.exe -L D:\Games\ArmA\x\ofpip\OFPIP\addons\m_dynamic_missions

MakePbo.exe Version 1.59, Dll Version 2.09

File D:\Games\ArmA\x\ofpip\OFPIP\addons\m_dynamic_missions\MPMissions\CO_10_DMA_LastFight_MP.abel\description.ext Line 1 Cannot include file
Lint error

Updated by kju over 5 years ago

  • Priority changed from Normal to Low
  • Target version deleted (Completed)

Still present, yet for me not bad as LF works.
Line is now 0 - before it said 1.

T:\pbodll>MakePbo.exe -L P:\x\ofpip\OFPIP\addons\m_dynamic_missions
MakePbo.exe Version 1.61, Dll Version 2.18
File P:\ofpip_m_dynamic_missions\f\dma_lastfight\description.hpp Line 0 Cannot include file
Lint error

Updated by mikero over 5 years ago

it is, so far as i can see, telling the truth, and this 'pbo' would not be usable, binarised or otherwise, in the engine

T:\pbodll>MakePbo.exe -L P:\x\ofpip\OFPIP\addons\m_dynamic_missions

the include is
#include "\ofpip_m_dynamic_missions\f\dma_lastfight\description.hpp"

there is no such folder as "ofpip_m_dynamic_missions"

secondly, EVEN if this include were made to:
#include "\m_dynamic_missions\f\dma_lastfight\description.hpp"

there is, still, no such namespace. The \root\location is

\x\ofpip\OFPIP\addons\m_dynamic_missions

thirdly, EVEN if the prefix name of the pbo was
"m_dynamic_missions"

this 'file' would not be found because that namespace does not exist at rapify time, it only exists AFTER the pbo is made

and finally, the prefix of the pbo is currently declared to be

x\ofpip\OFPIP\addons\m_dynamic_missions

Updated by mikero over 5 years ago

  • Target version set to Completed

Updated by kju over 5 years ago

  • Status changed from Feedback to Closed
  • Assignee changed from mikero to kju

As always, my fault and you are very correct. BIG THANKS for checking and spotting mikero!

Also available in: Atom PDF