ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
» Topic for English speaking users | страница 4 |
|
|
|
Звездные волки 2: Гражданская война: «Topic for English speaking users» |
|
|
Tech
|
|
Tech : |
...Due to some feedback on my mods it seems that this comfortable way to use an *.dat-archive for installation doesn't work for the english version. Did it work for the russian?
|
Anyone knows?
EDIT: I had a look at "Mod 1.043" created by Lion[MX]. This mod uses a *.dat-archive. So the answer is yes...
SparkS : |
There is a little difference between them in alpha channel. But game engine understand both of them.
I use DXT3 for textures on models (that is more than enough) and non compressed RGB (ARGB) for new skyboxes and for special fx, like explosions, particles, etc.
|
I did some search and came to the following conclusion: DXT3 is for sharper and DXT5 is for smoother appearance.
What about mipmapping? At least this is still used in the SW2CW-Demo...
(*.tga ?)
Regards
Tech
|
|
|
anonilous
|
|
@EG Team,
My question is about the mission splash screens in SW1. How do you achieve the “interlace” effect? It exists in your mod “The heritage”. In SW2 it is no longer used, but I need it for the purpose of creating new level in SW1. If it is not a trade secret of some sort, can you help me?
Regards
a
EDIT: Thanks, got it now.
|
|
|
SparkS
1703 EGP
        Рейтинг канала: 5(226) Репутация: 350 Сообщения: 8585 Откуда: Киев, Украина. Зарегистрирован: 26.01.2002
 |
|
Tech : |
I did some search and came to the following conclusion: DXT3 is for sharper and DXT5 is for smoother appearance.
|
Exactly. But they are use same size of files.
Tech : |
1) Do you still use mipmaps in SW2:CW?
If yes is the usage restricted to the models (ships, stations etc.)
|
I use precalculated mipmaps inside *.dds files for models only. Icons, splash screens, skyboxes and other stuff just not required them.
Tech : |
I ask this cause in SW1/SW2 the icons of ships/modules for the interface are "mipmapped" too, which i ever thought is nonsense
|
Ther was many strange decisions in art for sw1/sw2 And most part of it is nonsense.
_________________ Death Striks from Orbit. |
|
|
Tech
|
|
SparkS : |
I use precalculated mipmaps inside *.dds files for models only. Icons, splash screens, skyboxes and other stuff just not required them.
|
Yes that's comprehensible. But i just wonder, if it might be possible to make usage of mipmapping for the icons. These must be present in three (128x128, 64x64, 32x32) or two (128x128, 32x32) versions and stored in different directories. Wouldn't it be better (easier handling, lesser files etc) if the 128x128-dds-file is mipmapped and the SW engine just reads the required (sub-)version?
I'm no expert, but afaik graphic cards can handle mipmapping (via directx) in a hardcoded way. Might be it is too circumstantial/difficult to extract a mipmap from a dds-file via a software engine. (?)
SparkS : |
Ther was many strange decisions in art for sw1/sw2 And most part of it is nonsense.
|
Any examples beside the unnecessary mipmapping?
Regards
Tech
|
|
|
SparkS
1703 EGP
        Рейтинг канала: 5(226) Репутация: 350 Сообщения: 8585 Откуда: Киев, Украина. Зарегистрирован: 26.01.2002
 |
|
Tech : |
Yes that's comprehensible. But i just wonder, if it might be possible to make usage of mipmapping for the icons. These must be present in three (128x128, 64x64, 32x32) or two (128x128, 32x32) versions and stored in different directories. Wouldn't it be better (easier handling, lesser files etc) if the 128x128-dds-file is mipmapped and the SW engine just reads the required (sub-)version?
|
Maybe we can use mip-maps for icons, i don't know for sure, i'm not a programmer. But you must understand one simple thing. That is a cheapest way to solve this problem. We create (wery fast) 2-3 files (of the one icon) with resolution 128x128,64x64,32x32 and don't spend much time on programming.
Tech : |
Any examples beside the unnecessary mipmapping?
|
As an example, the small models using high resolution textures or even two 1024x1024, with details you never see, because you can't zoom so close. Every model contain about 10-20 percent of polygons that you not see (or see but they not influence on model detailing). I just remake main models and cut this polygons off. So you don't see visual difference, but FPS are riseing. The same problem was with "collision spheres" i just delete unnecessary spheres.
And many more.
_________________ Death Striks from Orbit. |
|
|
anonilous
|
|
Er, guys... In what black hole the translation to english topic fell through? It is really interesting topic for me because I really want to play that mod.
Thanks.
|
|
|
Kalembas
1335 EGP
     Рейтинг канала: 5(145) Репутация: 263 Сообщения: 18999 Откуда: Санкт-Петербург Зарегистрирован: 21.03.2003
 |
|
SharkD has reconsidered the plans about the translation and quit. The thread was flooded, so it was closed and removed because of a work inconsistency and flood.
_________________ Делаешь – не бойся, боишься – не делай, а сделал – не сожалей... |
|
|
Stormcrow
1231 EGP
        Рейтинг канала: 5(162) Репутация: 226 Сообщения: 3548 Откуда: Море Дирака Зарегистрирован: 24.11.2007
 |
|
Kalembas : |
SharkD has reconsidered the plans about the translation and quit.
|
It is a pity. I really wanted and meant to help him. But it is his choice.
P.S. I won't flood here.
_________________ Лишь в сердце шторма буревестник свой покой найдёт и смысл жизни обретёт. |
|
|
anonilous
|
|
Marry cristmas and happy new year to all!
|
|
|
Kalembas
1335 EGP
     Рейтинг канала: 5(145) Репутация: 263 Сообщения: 18999 Откуда: Санкт-Петербург Зарегистрирован: 21.03.2003
 |
|
Thank you. The same to you.
_________________ Делаешь – не бойся, боишься – не делай, а сделал – не сожалей... |
|
|
anonilous
|
|
Question about modding. I'm currently rewriting the srcript of automatic flight generation /the one used to generate random flights coming out of the portals/. My intention is to give the function the ability to dinamically set roles in the flight - e.g. attack, defend, missdef, cloac, repair... Can you tell me what are the predetermined values for the function that sets the role - like ROLE_ATTACK for instance?
Thanks.
|
|
|
pingvin9798
72 EGP
 Рейтинг канала: 4(79) Репутация: 12 Сообщения: 468 Откуда: Moscow-city Зарегистрирован: 16.02.2008
 |
|
Hi anonilous!
Marry cristmas and happy new year you too
I am interested and engaged modding Star Wolves too.
We prepare mode for Star Wolves 2 Civil war.
We wish to let out it soon after release SW2CW.
Can you post your script of automatic flight generation ?
It very much has interested me.
With the best regards.
Ping.
_________________ Подарили мальчику набор "Юный Сантехник". Спился за 2 недели. |
|
|
anonilous
|
|
Hi pingvin9798, marry cristmas to ypu too!
Below I am posting below a sample of my automatic flight generation code /that part that is ready/ with two very important notes:
1. This was made for SW1 and I have no idea how it will work on SW:CV
2. It is not even half way ready and may contain errors
The general idea is for the game to be able to generate fully functional flights with proper roles and equipement. This will also make the modding a lot more easier /I really hope so /, because mutch more options can be accessed with mutch less code.
This is achieved so far:
- Entire new team added - mercenaries
- Specially equipped ships
- Two more types of flights - lone wolfs and scout ships
- You can generate flight with ability to cloak itself, with AMS or repsys for the entire flight - the flight is fully operational once it appear.
Currently working on:
- Generating ship descriptions - armed and equipped according to the task
Plans for the future
- Creation of bigship flights with fighter escort for both standart flights and flights that enter/exit through the portal.
Cкрытый текст (кликните здесь для просмотра)
This example of code and pre-defined values is for the pirates. For all other teams the only diferense is the name.
-- =========================================================================================================
-- Ships, flights, cargo and pilots for the pirates
-- =========================================================================================================
-- Fighters
Pirate2Gunships = {
-- Equipped to fight with fighters
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
-- Equipped to fight with big ships
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
-- Equipped to fight with both fighters and big ships
{},
{},
{},
{},
{},
{},
{},
{},
{},
{}
};
Pirate2GunshipsRoles = {
-- Equipped to fight with fighters
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
-- Equipped to fight with big ships
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
-- Equipped to fight with both fighters and big ships
{},
{},
{},
{},
{},
{},
{},
{},
{},
{}
};
-- MissileCariers
Pirate2MissileCariers = {
-- Equipped to fight with fighters
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
-- Equipped to fight with big ships
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
-- Equipped to fight with both fighters and big ships
{},
{},
{},
{},
{},
{},
{},
{},
{},
{}
};
Pirate2MissileCariersRoles = {
-- Equipped to fight with fighters
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
-- Equipped to fight with big ships
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
-- Equipped to fight with both fighters and big ships
{},
{},
{},
{},
{},
{},
{},
{},
{},
{}
};
-- Lone wolfs
Pirate2Wolves = {
{ },
{ },
{ },
{ },
{ },
{ },
{ },
{ },
{ },
{ }
}
-- Scout ships
Pirate2Scouts = {
{ },
{ },
{ },
{ },
{ },
{ },
{ },
{ },
{ },
{ }
};
-- Big ships - can be several in a flight
Pirate2BigSihps = {
{},
{},
{},
{},
{},
{},
{},
{},
{},
{}
};
-- Pilots
Pirate2Pilots = { "Pirate1","Pirate2","Pirate3"};
-- Cargo, weapons and ships /as cargo/ the big ships can transport.
Pirate2CargoShips = {
-- First generation
{},
-- Second Generation
{},
-- Third generation
{}
};
Pirate2Cargo = {
-- first generation modules and cargo
{},
-- second generation modules and cargo
{},
-- third generation modules and cargo
{},
-- fourth generation modules and cargo
{}
};
Pirate2CargoWeapons = {
-- first generation weapons
{},
-- first generation weapons
{},
-- first generation weapons
{},
-- first generation weapons
{}
};
--=====================================================================================================--
--=====================================================================================================--
-- Automated flight generation
--=====================================================================================================--
-- Pre-defined handlers
NEW_PIRATE_FLIGHT = "NewPirateFlight";
NEW_BERSERK_FLIGHT = "NewBerserkFlight";
NEW_PATROL_FLIGHT = "NewPatrolFlight";
NEW_NAVY_FLIGHT = "NewNavyFlight";
NEW_USS_FLIGHT = "NewUssFlight";
NEW_INOCO_FLIGHT = "NewInocoFlight";
NEW_TRADER_FLIGHT = "NewTraderFlight";
NEW_ALIEN_FLIGHT = "NewAlienFlight";
NEW_MERCENARY_FLIGHT = "NewMercenaryFlight";
--=====================================================================================================--
-- Description: Chooses a pilot to be put in the cockpit
--
-- list - Pre-defined list of pilots - most powerful first, degrading as go down
-- current - The functio is called several time for each flight. This is monitored nere.
-- total - Total number of pilots needed to
-- skill - Determies the expiriense of each pilot
function NewPilotDynamic( list, current, total, skill)
local coef = 3;
-- skill value is boosted on HARD, degraded on EASY and without change on NORMAL
if( GetLevelDifficult() == EASY) then
skill = skill - RAND( total);
coef = 4;
end;
if( GetLevelDifficult() == HARD) then
skill = skill + RAND( total);
coef = 2;
end;
skill = skill - ( coef * current);
-- There are only three possible "versions" for each pilot, so there they are !!! NOT YET COMPLETED !!!
-- N is to be replaced with constants
if( skill > N) then return list[ 1]; end;
if( skill < N and skill > N) then return list[ 2];
if( skill < N) then return list[ 3];
return list[ 4];
end;
--=====================================================================================================--
-- Description: Loads cargo to a big ship
--
-- ship - existing handler for a big ship
-- list - pre-defined table - three rows with multiple entries - low, medium and high cost
-- power - ships power - the grater the number, the greater the cargo
-- isship - if 0 the cargo is cargo cartes, if else the cargo is ship
function NewShipCargo( ship, list, power, isship)
local tmp;
local rank;
local count;
local total;
-- The total number of items and their maximulm cost is computed
if( isship) then
tmp = power / 3;
if( tmp < 2) then rank = 1; end;
if( tmp > 2 and tmp < 2.5 ) then rank = 2; end;
if( tmp > 2.4) then rank = 3; end;
-- 50% possibility
if( RAND( 100) > 50) then total = 1; else return; end;
else
tmp = power / 4;
if( tmp < 1) then rank = 1; end;
if( tmp > 1 and tmp < 2 ) then rank = 2; end;
if( tmp > 2 and tmp < 2.5 ) then rank = 3; end;
if( tmp > 2.4) then rank = 4; end;
total = RAND( power) + rank;
end;
-- if less than one no need to bother more
if( total < 1) then return; end;
for i, total do
-- tmp points to the generation of the cargo - there are four table rows
-- cout - gives the number of entries in the chosen list - that way the lenght stays dynamic
-- current - picks one of the items
tmp = RAND( rank) + 1;
count = getn( list[ tmp]) - 1;
current = RAND( count) + 1;
if( isship) then
ship:AddShipToInventory( list[ tmp][ current], 1);
else
ship:AddModuleToInventory( list[ tmp][ current], 1);
end;
end;
end;
--=====================================================================================================--
-- Description: /same for all NewXXXXXXXFlight/
-- group - Name of existing group to attach the flight to
-- sign - Template to generate unique name for each ship
-- pos - Vector3 coordinates where the flight will appear
-- type - Type of flight:
-- 1 - Fighters specially equiped to fight fighters
-- 2 - Fighters specially equiped to fight big sihps
-- 3 - Fighters equiped to fight both fightes and big ships /universal/
-- 4 - Missile cariers specially equiped to fight fighters
-- 5 - Missile cariers specially equiped to big ships
-- 6 - Missile cariers equiped to fight both fightes and big ships /universal/
-- 7 - Lone wolf - heavy fighter/missile carier equipped to act on his own, equiped to fight both fightes and big ships /universal/
-- 8 - Scout ship - special ship, cloaked and/or with booster, equipped with sensor array and capable to act on his own
-- 9 - Big ship
-- power - Determines strenght of the flight and pilots experience 1 - 10
-- orient - Vector3 direction for the flight to "point" where it appears
--=====================================================================================================--
function NewPirateFlight( group, sign, pos, type, power, orient)
local flight;
local pilot;
local skill;
local ship;
local grp;
local tmp;
local ships = {};
local roles = {};
-- Checking the primary variables - without them the function will be useless
if( group == nil) then return FALSE; end;
if( sign == nil) then return FALSE; end;
if( pos == nil) then return FALSE; end;
-- Checking the secondary variables - if not defined, random values are picked
if( power < 1 or power > 10 ) then power = RAND( 9) + 1; end;
if( type < 1 or type > 9 ) then type = RAND( 8) + 1; end;
if( type == 7) then skill = power + RAND( 2); else skill = power; end;
if( skill > 10) then skill = 10; end;
orient = orient or Vector3( 0, 0, 1);
--
tmp = ( type * 10) - 10;
if( tmp > 30) then tmp = tmp - 30; end;
tmp = tmp + power;
if( type < 4) then
ships = Pirate2Gunships[ tmp];
roles = Pirate2GunshipsRoles[ tmp];
end;
if( type > 3 and type < 7) then
ships = Pirate2MissileCariers[ tmp];
roles = Pirate2MissileCariersRoles[ tmp];
end;
if( type == 7) then ships = Pitare2Wolves[ power]; end;
if( type == 8) then ships = Pitare2Scouts[ power]; end;
if( type == 9) then ships = Pitare2BigShips[ power]; end;
tmp = getn( ships);
grp = getglobal( group);
flight = grp:CreateFlight( "flight_"..sign);
setglobal( "flight_"..sign, flight);
for i, sqship in ships do
ship = CreateCarcass( sqship, pos + Vector3( 0, 0, ( i - 1) * 5));
pilot = NewPilotDynamic( Pirate2Pilots, i, tmp, skill);
ship:AssignPilot( pilot);
flight:AddShip( ship);
setglobal( "ship_"..sign.."_"..i, ship);
setglobal( "pilot_"..sign.."_"..i, pilot);
if( type > 6) then ship:SetRole( ROLE_ATTACK); else ship:SetRole( roles[ i]); end;
if( type == 9) then
NewShipCargo( ship, Pirate2Cargo, power, 0);
NewShipCargo( ship, Pirate2CargoWeapons, power, 0);
NewShipCargo( ship, Pirate2CargoShips, power, 1);
end;
end;
flight:SetFormation( "shipFormation");
flight:SetOrientation( orient);
return flight;
end;
--=====================================================================================================--
|
I hope I was able to help. Good luck with your mod.
example.zip |
Описание: |
The spoiler made a mess with the code. Posting it again here. |
|
Имя файла: |
example.zip |
Размер файла: |
2.63 KB |
Скачано: |
1552 раз(а) |
|
|
|
Kalembas
1335 EGP
     Рейтинг канала: 5(145) Репутация: 263 Сообщения: 18999 Откуда: Санкт-Петербург Зарегистрирован: 21.03.2003
 |
|
anonilous : |
Question about modding.
|
Cant tell is this correct for SW1, but current engine works with these values:
"ROLE_LEADER"
"ROLE_DEFEND"
"ROLE_ATTACK"
"ROLE_NOTHING"
"ROLE_CLOACKING"
"ROLE_MISSLEDEFENCE"
"ROLE_REPAIR"
_________________ Делаешь – не бойся, боишься – не делай, а сделал – не сожалей... |
|
|
anonilous
|
|
Thanks!
|
|
|
pingvin9798
72 EGP
 Рейтинг канала: 4(79) Репутация: 12 Сообщения: 468 Откуда: Moscow-city Зарегистрирован: 16.02.2008
 |
|
Hi anonilous
Thanks you for your extensive answer. Our best script-writer pilot1992 has told us that will use part of yours scripts in our own. Certainly we will mention you in thanks list of our project.
With best regards.
Ping.
_________________ Подарили мальчику набор "Юный Сантехник". Спился за 2 недели. |
|
|
TrashMan
|
|
I have a question if anyone here knows it.
How exactly does one go about importing a ship into Star Wolves 2? I have a bunch of ships I made for other games, but so far the IMD importer is giving me trouble.
Can anyone tell me the exact setting needed when exporting/importing?
(I use 3DMax 7 to export to .obj and .mat and then the IMD Editor, but it doesn't work)
|
|
|
SparkS
1703 EGP
        Рейтинг канала: 5(226) Репутация: 350 Сообщения: 8585 Откуда: Киев, Украина. Зарегистрирован: 26.01.2002
 |
|
We use original plug-in from developers of "Star Volves 1" to export models to the game. So probably you need to ask how to work with IMD importer from its creator - Tech - http://freenet-homepage.de/allaway/star_wolves/index_english.html (you can found here a contacts)
_________________ Death Striks from Orbit. |
|
|
TrashMan
|
|
Ha..
Figurted it out. My fighter is in-game and working. Easy-peasy.
Cкрытый текст (кликните здесь для просмотра)
|
And I converted the lower-detail version ofhhte fighter to boot by mistake...
Heh
When you post a highscale picture, frame it with [ spoiler ] tags. Kalem.
Последний раз редактировалось: Kalembas (23:25 11-05-2009), всего редактировалось 1 раз |
|
|
TrashMan
|
|
Say, do you guys by any chance need a few models for the Cold War?
I'm making a few anyway for my personal enjoyment, and I'm perfectly fine with passing them along.
|
|
|
|
|
|
Звездные волки 2: Гражданская война: «Topic for English speaking users» |
|
К списку каналов | Наверх страницы |
Цитата не в тему: Существует архив конференции еще с 1999 года. Там чудеса, там Химик бродит и Рунгер на ветвях сидит. (Рассказывает сказки на ночь serg)
|
» Topic for English speaking users | страница 4 |
|