Author Topic: Utilities from a Tiranas  (Read 783 times)

0 Members and 1 Guest are viewing this topic.

Offline Alec - WS3D Developer

  • Producer
  • Administrator
  • Marquess
  • *
  • Posts: 884
  • Reputation 34
  • Game making is my hobby for life!
Re: Utilities from a Tiranas
« Reply #120 on: August 12, 2018, 05:35:48 PM »
Делаем вывод: для FreeBasic WorldSim3D единственный перпективный движок.
Tiranas, ты проделал отличную работу. Я лично очень рад. Справка понравилась. Конечно всю не прочитал, но то, что просмотрел впечатляет точностью перевода и указанием всех параметров. Всё сделано аккуратно. Можно с радостью пользоваться.  :)
WorldSim3D = 3D + FreeBasic. Программируй в удовольствие, а не "в тягость"! Make your project with pleasure, not with strain!

Online Tiranas

  • Friends
  • Esquire
  • *
  • Posts: 60
  • Reputation 30
  • Совсем Тёмный.
Re: Utilities from a Tiranas
« Reply #121 on: August 12, 2018, 05:57:46 PM »
Alec - WS3D Developer
Спасибо за поддержку!
Но ошибки, конечно, есть, я  ещё их правлю.
Буду обновлять архив, один раз в три дня (примерно).
Ещё статьями занимаюсь.
Пока думаю отдельный раздел под статьи приспособить.
А там будет видно.


Кстати, вы люди продвинутые, кто-нибудь знает, как конвертировать сохранённую HTML в более простой вариант HTML, чтобы остались, только, стили, текст и картинки, без всего остального мусора?
Может программа для обработки, какая есть?
У меня есть несколько утилит, но они паршиво справляются с данной задачей.

« Last Edit: August 12, 2018, 06:18:24 PM by Tiranas »
Людям с более широким кругозором ведомо, что четкой границы между реальным, действительным и ирреальным воображаемым не существует, что каждый из нас, благодаря тонким физиологическим и психологическим различиям, воспринимает все явления по-своему. (Говард Филлипс Лавкрафт)

Offline Vuvk

  • Friends
  • Baron (-ess)
  • *
  • Posts: 337
  • Reputation 30
  • Lokemundux Desco Domus Shaantitus
Re: Utilities from a Tiranas
« Reply #122 on: August 13, 2018, 05:55:25 AM »

Объёмом проделанной работы впечатлён. С такой справкой может быть буду даже ей пользоваться ))
Хочу вставить свои пять копеек по поводу текста.
1. Копирайты от 2017 года. Почему?
2. Конвертирование чисел, вектров, цвета (wUtil...) - внимание на "вектров"
3. Мешбуфер - то он с одной "ф", то с двумя, то через дефис ("меш-буфер"), то слитно.
4. Мышь, клавиатура, джостик - "джостик". Там же ниже "события от клавиатуры, мыши, джостика"
5. "Список кодов клавиш, использующихся для доступа пользователей через клавиатуру к проектам, сделанным НА? WorldSim3D".


Ну и там с запятыми по-моему бардачок-с встречается. В любом случае лови ещё плюсиков. ;)
Crudux Cruo!

Online Tiranas

  • Friends
  • Esquire
  • *
  • Posts: 60
  • Reputation 30
  • Совсем Тёмный.
Re: Utilities from a Tiranas
« Reply #123 on: August 13, 2018, 07:45:11 AM »
Vuvk
Спасибо, буду править...

Исправил ошибки, которые сам нашёл и
Исправил ошибки, на которые любезно указал Vuvk.
Ссылка прежняя.

« Last Edit: August 13, 2018, 09:37:50 AM by Tiranas »
Людям с более широким кругозором ведомо, что четкой границы между реальным, действительным и ирреальным воображаемым не существует, что каждый из нас, благодаря тонким физиологическим и психологическим различиям, воспринимает все явления по-своему. (Говард Филлипс Лавкрафт)

Offline Nikolas - WS3D Developer

  • Programmer
  • Global Moderator
  • Marquess
  • *
  • Posts: 869
  • Reputation 59
Re: Utilities from a Tiranas
« Reply #124 on: August 14, 2018, 06:33:15 PM »
Привет всем. Случайно обнаружил, что в иррле 1.9 изменен енумератор логов:

Вместо старого:
Code: [Select]
typedef enum
{
    wLL_NONE=0, //'Logs with ELL_NONE will never be filtered. And used as filter it will remove all logging except ELL_NONE messages.
wLL_DEBUG=1, //'Used for printing information helpful in debugging.
wLL_ERROR=2, //'Something did go wrong.
wLL_INFORMATION=3, //'Useful information to print. For example hardware infos or something started/stopped.
wLL_WARNING=4 //'Warnings that something isn't as expected and can cause oddities.
}wLoggingLevel;

поменял на новый:

Code: [Select]
typedef enum
{
    wLL_DEBUG=0, //'Used for printing information helpful in debugging.
wLL_INFORMATION=1, //'Useful information to print. For example hardware infos or something started/stopped. 
  wLL_WARNING=2 //'Warnings that something isn't as expected and can cause oddities. 
wLL_ERROR=3, //'Something did go wrong.
wLL_NONE=4, //'Logs with wLL_NONE will never be filtered. And used as filter it will remove all logging except wLL_NONE messages.
}wLoggingLevel;

На бейсике:
Code: [Select]
Enum
wLL_DEBUG = 0
wLL_INFORMATION = 1
wLL_WARNING = 2
wLL_ERROR = 3
wLL_NONE = 4
end enum

-----
Убрал про типы устройств, точнее, осталось как было. Не будем вводить в заблуждения.
« Last Edit: August 14, 2018, 09:03:04 PM by Nikolas - WS3D Developer »
Под лежачий камень мы всегда успеем...

Offline Nikolas - WS3D Developer

  • Programmer
  • Global Moderator
  • Marquess
  • *
  • Posts: 869
  • Reputation 59
Re: Utilities from a Tiranas
« Reply #125 on: August 18, 2018, 12:20:30 PM »
Уважаемый Tiranas, проверь такую процедуру, если нет- добавь в раздел wNode:
Code: [Select]
declare sub  wNodeSetDecalsEnabled(byval node as wNode)-добавляет нод в менеджер декалей. Теперь возможно наложение декалей на поверхность меша данного нода.
Под лежачий камень мы всегда успеем...

Online Tiranas

  • Friends
  • Esquire
  • *
  • Posts: 60
  • Reputation 30
  • Совсем Тёмный.
Re: Utilities from a Tiranas
« Reply #126 on: August 18, 2018, 04:07:44 PM »
Добавил!
Будьте внимательны, ссылка для скачивания справки изменилась:
Тык
Людям с более широким кругозором ведомо, что четкой границы между реальным, действительным и ирреальным воображаемым не существует, что каждый из нас, благодаря тонким физиологическим и психологическим различиям, воспринимает все явления по-своему. (Говард Филлипс Лавкрафт)

Offline ALex98

  • Commoner
  • *
  • Posts: 20
  • Reputation 3
Re: Utilities from a Tiranas
« Reply #127 on: August 18, 2018, 10:52:50 PM »
Посмотрел справку. В разы стало удобнее пользоваться. Класс ;D

Online Tiranas

  • Friends
  • Esquire
  • *
  • Posts: 60
  • Reputation 30
  • Совсем Тёмный.
Re: Utilities from a Tiranas
« Reply #128 on: August 19, 2018, 08:01:18 AM »
ALex98
Приветствую! Спасибо, я рад, что есть польза!

Nikolas - WS3D Developer
Моё почтение.

Названия трёх функций в разделе Collision, бросаются в глаза, оставляем как есть?

wCollisionGroupCreate
wCollisionGroupAddCollision
wCollisionGroupRemoveAll
wCollisionGroupRemoveCollision
wCollisionCreateFromMesh
wCollisionCreateFromStaticMesh
wCollisionCreateFromBatchingMesh
wCollisionCreateFromMeshBuffer
wCollisionCreateFromOctreeMesh
wCollisionCreateFromBox
wCollisionCreateFromTerrain

wNodeRemoveCollision
wNodeAddCollision

wCollisionGetNodeFromCamera

wCameraSetCollisionWithScene

wCollisionGetNodeFromRay
wCollisionGetNodeChildFromRay
wCollisionGetNodeAndPointFromRay
wCollisionGetNodeFromScreen
wCollisionGetScreenCoordFrom3dPosition
wCollisionGetRayFromScreenCoord
wCollisionGet3dPositionFromScreen
wCollisionGet2dPositionFromScreen
wCollisionGetPointFromRay
wCollisionGetNodeChildFromPoint
wCollisionGetResultPosition
Людям с более широким кругозором ведомо, что четкой границы между реальным, действительным и ирреальным воображаемым не существует, что каждый из нас, благодаря тонким физиологическим и психологическим различиям, воспринимает все явления по-своему. (Говард Филлипс Лавкрафт)

Offline Nikolas - WS3D Developer

  • Programmer
  • Global Moderator
  • Marquess
  • *
  • Posts: 869
  • Reputation 59
Re: Utilities from a Tiranas
« Reply #129 on: August 19, 2018, 08:52:21 AM »
Привет, Tiranas!

Я посмотрел в свои обновленные заголовки (точнее, они уже доступны всем сотрудникам нашей "конторы").
Функция wNodeRemoveCollision- среди прочих подобных.
По логике надо в раздел wNode.

wCameraSetCollisionWithScene- уже среди функций wCamera. Значит, в разделе wCamera ей и быть.
Под лежачий камень мы всегда успеем...

Offline Nikolas - WS3D Developer

  • Programmer
  • Global Moderator
  • Marquess
  • *
  • Posts: 869
  • Reputation 59
Re: Utilities from a Tiranas
« Reply #130 on: August 19, 2018, 04:38:52 PM »
Привет всем.
Tiranas, нам опять прибыла работенка.
Один из уважаемых активистов нашего коммьюнити (Vuvk) высказал заслуженную вполне претензию к описанию строк в WS3D.
Действительно, накопилось разночтений: где char* (ZString ptr), кое-где const char* (Const ZString ptr).
Для пользователей бейсика эти изменения вообще едва заметны, там почти всегда хватает просто string-а.
Но.... порядок должен быть.   Решили мы привести и этот момент к единообразию.

Все С-строки у нас отныне объявляются как const char*.
В заголовках я исправил, кое-где подкорректировал код внутри, а вот справку нужно освежить.  Кое-где добавить const

Прилагаю список измененных функций:
Quote
-------------------
declare function wTextureLoad(byval cptrFile as const zstring ptr) as wTexture

declare function wTextureCreate(byval name as const zstring ptr,_
                        byval size as wVector2i,_
                        byval format as wColorFormat) as wTexture

----------------                        
declare function wFontLoad(byval fontPath as const zstring ptr) as wFont

declare function wFontAddToFont(byval fontPath as const zstring ptr,_
                        byval destFont as wFont) as wFont
                        
declare function wFontLoadFromTTF(byval fontPath as const zstring ptr,_
                        byval size as UInt32,_
                        byval antialias as Boolean = false,_
                        byval transparency as Boolean = false) as wFont

---------------                     
declare function wImageLoad(byval cptrFile as const zstring ptr) as wImage

---------------
declare sub wLogSetFile(byval path as const zstring ptr)

declare sub wLogClear(byval path as const zstring ptr)

declare sub wLogWrite(byval hint as const wstring ptr,_
               byval text as const wstring ptr,_
               byval path as const zstring ptr = 0,_
               byval mode as UInt32 = 1)
--------------------
declare function wUtilVector3fToStr(byval vector as wVector3f,_
                           byval s as const zstring ptr =@";",_
                           byval addNullChar as Boolean = false) as const zstring ptr
                           
declare function wUtilVector2fToStr(byval vector as wVector2f,_
                           byval s as const zstring ptr =@";",_
                           byval addNullChar as Boolean = false) as const zstring ptr
                           
declare function wUtilColor4sToStr(byval color as wColor4s,_
                           byval s as const zstring ptr =@";",_
                           byval addNullChar as Boolean = false) as const zstring ptr
                           
declare function wUtilColor4fToStr(byval color as wColor4f,_
                           byval s as const zstring ptr =@";",_
                           byval addNullChar as Boolean = false) as const zstring ptr
-----------------------
declare function wEngineLoadCreationParameters(byval outParameters as wEngineCreationParameters ptr,_
                                    byval xmlFilePath as const zstring ptr) as Boolean

declare function wEngineSaveCreationParameters(byval inParameters as wEngineCreationParameters ptr,_
                                    byval xmlFilePath as const zstring ptr) as Boolean

declare function wEngineStartWithGui(byval captionText as const wstring ptr,_
                           byval fontPath as const zstring ptr=0,_
                           byval logo as const zstring ptr=0,_
                           byval language as wLanguage=wL_EN,_
                           byval outParams as wEngineCreationParameters ptr=0,_
                           byval inXmlConfig as const zstring ptr=0) as Boolean
------------------------
declare function wSceneGetTextureByName(byval File as zstring ptr) as wTexture

declare function wSceneGetMeshByName(byval name as const zstring ptr)as wMesh

declare function wSceneGetNodeByName(byval name as const zstring ptr) as wNode

-------------------
declare sub wFileAddZipArchive( byval cptrFile as const zstring ptr,_
                        byval boIgnoreCase as Boolean,_
                        byval boIgnorePaths as Boolean)
                        
declare sub wFileAddArchive(byval cptrFile as const zstring ptr,_
                     byval boIgnoreCase as Boolean,_
                     byval boIgnorePaths as Boolean,_
                     byval aType as wFileArchiveType = wFAT_UNKNOWN,_
                     byval password as const ZString ptr =@"")
                     
declare sub wFileAddPakArchive(byval cptrFile as const zstring ptr, byval boIgnoreCase as Boolean, byval boIgnorePaths as Boolean)

declare sub wFileAddDirectory(byval cptrFile as const zstring ptr, byval boIgnoreCase as Boolean, byval boIgnorePaths as Boolean)

declare function wFileIsExist(byval cptrFile as const zstring ptr) as Boolean

declare function wFileGetAbsolutePath(byval cptrPath as const zstring ptr) as const zstring ptr

///ВНИМАНИЕ- ИСПРАВЛЕНО///
declare function wFileGetRelativePath(byval cptrPath as const zstring ptr,_
                             byval directory as const zstring ptr) as const zstring ptr
                            
declare function wFileGetBaseName(byval cptrPath as const zstring ptr, byval keepExtension as Boolean) as const zstring ptr

declare function wFileGetDirectory(byval cptrPath as const zstring ptr) as const zstring ptr

declare function wFileOpenForRead(byval cptrFile as const zstring ptr) as wFile

declare function wFileCreateForWrite(byval cptrFile as const zstring ptr, byval append as Boolean) as wFile
-----------------------
declare function wXmlReaderCreate(byval cptrFile as const zstring ptr) as wXmlReader

declare function wXMLReaderCreateUTF8(byval cptrFile as const zstring ptr) as wXmlReader

declare function wXmlWriterCreate(byval cptrFile as const zstring ptr) as wXmlWriter

-------------------
declare sub wZoneManagerAddTerrain(byval node as wNode, byval terrainSource as wNode, byval structureMap as const zstring ptr, byval colorMap as const zstring ptr, byval detailMap as const zstring ptr, byval pos as wVector2i, byval sliceSize as Int32)

---------------------
declare function wNodeGetJointByName(byval node as wNode, byval node_name as const zstring ptr) as wNode
------------------
declare function wMeshLoad(byval cptrFile as const zstring ptr,_
                     byval ToTangents as Boolean=false) as wMesh

declare function wMeshCreate(byval cptrMeshName as const ZString ptr)as wMesh

-------------------
declare function wBspGetEntityIndexByName(byval entityList as UInt32 ptr, byval EntityName as zstring ptr) as wVector2i

declare function wBspGetVarGroupValueAsVec(byval group as UInt32 ptr, byval strName as const zstring ptr, byval parsePos as UInt32) as wVector3f

declare function wBspGetVarGroupValueAsFloat(byval group as UInt32 ptr, byval strName as const zstring ptr, byval parsePos as UInt32) as Float32

declare function wBspGetVarGroupValueAsString(byval group as UInt32 ptr, byval strName as const zstring ptr) as const zstring ptr

declare function wBspCreateFromMesh(byval mesh as wMesh, byval isTangent as Boolean, byval isOctree as Boolean, byval fileEntity as const zstring ptr = 0, byval isLoadShaders as Boolean = true, byval PolysPerNode as UInt32 = 512) as wNode

----------------------------
declare function wSphericalTerrainCreate(byval cptrFile0 as const zstring ptr,_
                              byval cptrFile1 as const zstring ptr,_
                              byval cptrFile2 as const zstring ptr,_
                              byval cptrFile3 as const zstring ptr,_
                              byval cptrFile4 as const zstring ptr,_
                              byval cptrFile5 as const zstring ptr,_
                              byval position as wVector3f,_
                              byval rotation as wVector3f,_
                              byval scale as wVector3f,_
                              byval color as wColor4s,_
                              byval smootFactor as Int32,_
                              byval spherical as Boolean,_
                              byval maxLOD as Int32,_
                              byval patchSize as wTerrainPatchSize) as wNode
                              
----------------------------
declare function wTerrainCreate(byval cptrFile as const zstring ptr,_
                        byval position as wVector3f=wVECTOR3f_ZERO,_
                        byval rotation as wVector3f=wVECTOR3f_ZERO,_
                        byval scale as wVector3f=wVECTOR3f_ONE,_
                        byval color as wColor4s=wColor4s_WHITE,_
                        byval smoothing as Int32=0,_
                        byval maxLOD as Int32=5,_
                        byval patchSize as wTerrainPatchSize=wTPS_17) as wNode

--------------------
declare function wVideoLoad(byval fileName as const zstring ptr) as wVideo

-------------------------
declare function wGuiLoad(byval fileName as const zstring ptr, byval start as wGuiObject = 0) as Boolean

declare function wGuiSave(byval fileName as const zstring ptr, byval start as wGuiObject = 0) as Boolean

---------------------
declare function wGuiSpriteBankLoad(byval file as const zstring ptr) as wGuiObject

declare function wGuiSpriteBankCreate(byval name as const zstring ptr) as wGuiObject

« Last Edit: August 19, 2018, 04:41:38 PM by Nikolas - WS3D Developer »
Под лежачий камень мы всегда успеем...

Online Tiranas

  • Friends
  • Esquire
  • *
  • Posts: 60
  • Reputation 30
  • Совсем Тёмный.
Re: Utilities from a Tiranas
« Reply #131 on: August 19, 2018, 05:23:23 PM »
Nikolas - WS3D Developer
Приветствую! Сделаем.
Людям с более широким кругозором ведомо, что четкой границы между реальным, действительным и ирреальным воображаемым не существует, что каждый из нас, благодаря тонким физиологическим и психологическим различиям, воспринимает все явления по-своему. (Говард Филлипс Лавкрафт)

Offline Alec - WS3D Developer

  • Producer
  • Administrator
  • Marquess
  • *
  • Posts: 884
  • Reputation 34
  • Game making is my hobby for life!
Re: Utilities from a Tiranas
« Reply #132 on: August 19, 2018, 09:53:54 PM »
Quote
Названия трёх функций в разделе Collision, бросаются в глаза, оставляем как есть?
Дав, бывает трудно определить куда именно функцию, т.е. в какой разде отнести.
WorldSim3D = 3D + FreeBasic. Программируй в удовольствие, а не "в тягость"! Make your project with pleasure, not with strain!

Offline Nikolas - WS3D Developer

  • Programmer
  • Global Moderator
  • Marquess
  • *
  • Posts: 869
  • Reputation 59
Re: Utilities from a Tiranas
« Reply #133 on: August 21, 2018, 09:27:27 AM »
Еще один недостаток найден, небольшой.
Для бейсик-юзеров  смешной, потому как ЯП нечувствителен к регистру. Но для С/С++ и других ЯП- важно.

В общем есть два раздела: wBillboard и wBillboardGroup (кстати, они тоже были как wBillBoard и wBillBoardGroup).
В разделах 16 функций, мы решили названия привести к одному стилю: wBillboardCreate,....., wBillboardGroupGetFirstElement.
Чтобы не было разночтений. Я не обратил внимания сразу, но бдительный Vuvk все видит.  ;D
Заголовки уже поправлены, будем надеяться, что при возможности и желании Tiranas заглянет еще разок в справку.
Под лежачий камень мы всегда успеем...

Online Tiranas

  • Friends
  • Esquire
  • *
  • Posts: 60
  • Reputation 30
  • Совсем Тёмный.
Re: Utilities from a Tiranas
« Reply #134 on: August 21, 2018, 01:22:03 PM »
Nikolas - WS3D Developer
Приветствую!

Справку обновил.
Людям с более широким кругозором ведомо, что четкой границы между реальным, действительным и ирреальным воображаемым не существует, что каждый из нас, благодаря тонким физиологическим и психологическим различиям, воспринимает все явления по-своему. (Говард Филлипс Лавкрафт)