Jump to content
The Dark Mod Forums

Search the Community

Searched results for '/tags/forums/code/' or tags 'forums/code/q=/tags/forums/code/&'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General Discussion
    • News & Announcements
    • The Dark Mod
    • Fan Missions
    • Off-Topic
  • Feedback and Support
    • TDM Tech Support
    • DarkRadiant Feedback and Development
    • I want to Help
  • Editing and Design
    • TDM Editors Guild
    • Art Assets
    • Music & SFX

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Please create a bug tracker. It's too late in 2.13 development to work on such a deep issue but we can prioritize it for 2.14. It would be helpful to see whether the same happens on 2.10, 2.06, or 2.0. If it goes back to the 2.0, then it's probably a very fundamental problem but if it is newer we can bisect the code changes that caused it.
  2. btw. the current uploaded compiler is not working because of a simple oversight. the bootstrap compiler used gcc's own libssp and not the mingw-w64 dummies which means it will fail to run unless you copy of libssp-0.dll from the winlibs ucrt compiler and place it in /ucrt32/bin. im currently rebuilding the toolchain without the libssp library from gcc so that it will work correctly with Msys2. Sorry about that... The upside to this is that im including my runtime-config script in the new build to make it easier to use the static runtimes in case you absolutely dont want your code to rely on the gcc unwinder and exception dll's. this version however will not support throwing exceptions across dll boundaries (32 bit problem only as the exception mechanism is incompatible with windows SEH exceptions. gcc uses dwarf or sjlj in 32 bit). ill post a version based on the TDM compiler later which does support it.
  3. Assuming you're talking about the sliders having a range of 0 to 10... A value of 6 for iconSize would be about 1.3 for the underlying cvar. A value of 6 for Weapons/Item Text Size would be about 1.05 for gui_small_TextSize. You multiply those and a factor of 0.16 in the GUI code to get the effective font textScale, which would be 0.22. So this would use the Stone 24pt font. Since I'm not seeing it on my screen (which is not the world's highest rez), is anyone else?
  4. @nbohr1more, I just recently noticed that back in Oct you reported in https://www.ttlg.com/forums/showthread.php?t=152771 I didn't see anything about this in the current "What's New in 2.13". Will this new functionality actually happen for 2.13, and if so what FMs can now be re-downloaded to get the enhanced translation packs? Particularly "early TDM missions [that] also have German, Italian, French, etc translations". Pointer to any new bugtracker/forum/wiki info about this appreciated.
  5. https://en.wikipedia.org/wiki/Mipmap Mipmaps are lower resolution versions of textures that are used by your graphics driver when objects are further away. Uncompressed textures typically don't include them because the default uncompressed formats don't support them ( not designed for 3D game engines ). DDS textures can include them in either uncompressed or DXT \ BC compressed formats and we typically do "generate mipmaps" when encoding DDS. How do uncompressed textures get their mipmaps ? We auto-generate them on mission load. ( That used to be painfully slow until stgatilov changed the mipmap generation code to use SIMD instructions and multi-core. ) What does the texture quality slider do? For uncompressed textures, it downscales the images before uploading to the GPU. For compressed images, it simply omits loading higher mipmap levels. It works perfectly as long as you properly encode your DDS with mipmaps.
  6. I think I see both issues in the code. Created 6610, will fix shortly after 2.13 release.
  7. Well if you can figure out how to make the material code work you can change the flickering on a per light basis via that parm4 spawnarg. I think it can be useful. I personally find it a bit complicated to wrap my head around though.
  8. More insight on what I meant earlier with definitions being hard to attribute: Suppose you have a definition of the form... atdm:something { "a" "1" "b" "2" "c" "3" } I decide to reimplement it. I open a text editor to do so. Given its simplicity, I end up writing the exact same thing by hand since that's what makes the entity work. I can't prove or disprove that I didn't copy it since no one knows what I did on my machine. Even if I did, the result is the same anyway... would it even make a difference if I retyped it from memory? What I could do is change a few of the parameters so it's more original; Say a = 3, b = 2, c = 1. Or I remove c. Or I add d = 4. Or write them in reverse as c, b, a. What counts as good enough? There's no clear line that I can think of! Not unless it's a long definition with a lot of parameters, so it has a clear structure attributed to someone writing it... in which case one could just shuffle them, change a few values, add or remove some parameters, use original code comments and it can't be traced back via any specific elements. Other assets can be attributed as they have much more complexity and chances at being different. Like if I draw over an existing texture to change a few pixels, you can tell it's the same texture and I used large parts of it without making them myself. Of course if my texture was just a single color (1x1) I could post a copy and believably claim I made it myself and just happened to get the same one color, as it would be silly for anyone to copyright any value within the range 255x255x255 that's already been used by someone somewhere countless times.
  9. Are you sure that can be set as a spawnarg? I think this needs to be specified in materials. Sorry, didn't read the wiki page well. Core light material: lights/square_strobe { { forceHighQuality map lights/squarelight1.tga red ( blinktable2 [Parm4 + (time * (6 * Parm3)) ]) * Parm0 green ( blinktable2 [Parm4 + (time * (6 * Parm3)) ]) * Parm1 blue ( blinktable2 [Parm4 + (time * (6 * Parm3)) ]) * Parm2 zeroclamp } } Maybe you have to set it in a material and then modify it via a spawnarg? The spawnarg setting for that light entity would link the specified number (0-1) to "Parm4" in the material code. I mean that makes sense to me. Or maybe that's how you meant it?
  10. I think it's good to make sure it's only happening in 2.13 and not also in 2.12. If it also happens in 2.12 it's probably just an (lod related) mission bug that the missionmaker (bikerdude) has to fix. I already send your post info to him (he's not on the forums)
  11. Yes, diii4a would need to merge our latest code changes to their fork. Otherwise they might need to use scripts, defs, materials, etc from 2.12
  12. im a bit ambivalent on the jupiter source code as it is pretty messy and relied on some old ass f... compilers. the unmodified source is buildable with msvc 6.0 and msvc .net 2003/2008 but newer compiler versions requires a massive rewrite of the build system and an even massiver rewrite of the source code to adhere to newer cxx standards. bibendovsky has made a ton of changes to make this happen and replaced some troublesome parts that wreak havoc on newer windows. he added a compatibility layer as a library that gets comiled in (spul) which also handles some of the cross libraries such as openal and ffmpeg. you can still build it with the old dsound / dinput but it might not work to well on say win10 and up. compared to the mess you needed with msvc 6.0 which needed stlport to even build, his version does build on even the latest msvc compilers. only downside is that the tools source code still needs porting. msvc .net 2003 still works even on win11 with some compatibilitiy settings applied (fullscreen optimization disabled admin and ignoring high dpi) and it's free to download. it supports upto XP and as low as win.311 directx support is a bit more shaky but you can actually use directx9 with it with some dummy headers or get this https://archive.org/details/dx90_vs2003_full.
  13. DEF files are obviously code; I don't see how it makes any sense to have them under an "artistic" license. They are not simply aesthetic aspects of the game, they are functional elements, without which the game will not work. It makes even less sense to have some DEF files under GPL3 and others under CC. The only things which should be under a CC license are purely artistic elements like textures, models or sounds.
  14. Yes it is the anthro character. In terms of the scripts, most have the GPL3 header in the file, those that don't (created by @Obsttorte and @Dragofer) therefore fall under the other licence. But, without first knowing the contents of the file how could you redefine any undocumented parameters, an example being the difficulty entity - it's a spawnclass of idStatic, but you don't know that without first looking in the definition file as there's no documentation, source code references etc. to gain this information from (unless maybe you can add one in Dark Radiant as a map entity, but even then you wouldn't know the required strings for that entity unless you looked at the file). If you did look at the file, wouldn't any new creations then be building upon the CC_NC_SA licenced work, which would then put it under that licence? (isn't trying to understand licences fun!). On the flip side, due to the way the game was structured, if these TDM .def files were announced to be GPL3: atdm:ai_bark_priority atdm:ai_base atdm:melee_set_base atdm:ambient_ai_base atdm:ambient_head_base atdm:attachment_point_swinging atdm:attachment_point_swinging_LOD atdm:campaign_info atdm:entity_base atdm:flag_waving_pirate atdm:hanging_laundry_anim01 atdm:hanging_sheets01_anim01 atdm:longbanner_anim01 atdm:propgated_sound_base atdm:shop atdm:team_relations_default atdm:vine_piece Then I believe just about every def file created (unless they came off some of the damage defs which I didn't list) by anyone would automatically become GPL3 (whether the authors of other .def files wanted it or not) because these are all the parent entity definitions from which all others are children, so they would (due to the way the GPL3 licence works) also inherit that licence.
  15. Thanks for that notice and observations! Is that my port of the anthro characters? The originals weren't created by me but I integrated them myself, their author released them as CC0 and I kept the license for my fork. Scripts and defs are an interesting question: If they count as code, they need to be GPL as one of its clauses is all code distributed with the source code must also be GPL. Of course definitions may not count as code depending on who you ask, plus the engine code and game code may not be distributed in such a way as to trigger that requirement. A fun aspect is how the defs can be rewritten from scratch to say the same thing while being unique: When is it no longer licensed to the old author? Maybe if I just change the default health value on an AI it's technically my own definition... if not then I may need to redefine all parameters and make them uniquely mine, or something in between. Since no one knows what I'm copying in my local text editor, no one can truly say when a configuration block becomes unique and can be relicensed.
  16. @Fiver - Old thread I know, but in light of my own recent attempts I can say that all the core scripts are GPL3 apart from these six files: tdm_grandfather_clock.script tdm_turret.script tdm_audiograph.script tdm_camgoyle.script tdm_safe_lock.script tdm_safe.script These are not essential scripts in regards to the engine loading and being able to run round an empty test map. The below .def files can (and were) recreated as their default values are in the source code: tdm_soundprop.def tdm_ai_base.def However, the following .def files are essential and unfortunately cannot be recreated without actually looking in the files themselves (or using Dark Radiants' entity class tree list, but I'm guessing this information is gathered from the .defs @OrbWeaver? so is still under the CC_BY_NC_SA_3 licence?) to see what information/entity definitions they contain: tdm_base.def tdm_ai_head_base.def tdm_ai_heads_springheel.def tdm_difficulty.def tdm_inventory_loot.def tdm_player_thief.def tdm_weapon_base.def tdm_weapon_unarmed.def I believe the above files were created by both @greebo and @Springheel so, if they said it was okay to recreate them based on the values/variables within them (or if multiple authors of the .def files gave permission) then it would be possible to get a basic playable version (by which I mean running round a test map). I do know from my testing that if you mess up a definition you crash the engine Anyway, attached is an image showing the most basic of basic setup for getting the engine running a test map with all of the non-GPL3 content (by which I mean core engine files - not the whole TDM file structure of tetxures,sounds,models, etc. just to clarify) removed and replaced with permissively licenced assets (the only non-permissive files still used being those 8 .def files mentioned above). The lightgem does work, but I of course had to replace the UI and never put any gui:: calls in, also the cursor is stuck on screen all the time and all my white backgrounds on my simplistic custom main menu turned black. @MirceaKitsune thanks to you releasing your character pack under CC0 it gave a test player model (though as you can see the original player_thief def file does break it somewhat).
  17. The old "Fixed FPS" ( com_fixedTic 0 ) mode is still as laggy and poorly performing as ever. With the new mode and maxFPS = 60 it's still waaaaaayyy smoother than the old mode. I can try setting it to max between r_displayRefresh and 120 to see whether a perfect double of screen refresh is still viable to remove the artifacts? I was trying to find a good way to query monitor refresh but it seems that the r_displayRefresh cvar is just an alternate to the GLFW mode data that feeds "parms.displayHz" . It seems that we treat that mode data a little differently in Win vs Linux? So I guess these are the paths to improvement here: 1) Try to use parms.displayHz instead of r_displayRefresh and hope the GFLW does a good job of picking the right value 2) Max between r_displayRefresh and 120 ? 3) Keep trying find a way to restrict maxFPS to 60 in the menus ( I got this one partially working but once you leave the game and return it's stuck at 60. I also had the inverse working, starting at 60 in the menu going to 300 then when returning to menu it was at 300 ) 4) Keep trying to find a way to force gameTic sync when entering and leaving menus ( I guess this is the "correct" thing to do... ). ( Thus far, all the glFinish, clear frame data and RunGameTic things I've tried have failed miserably. ) Sadly, r_displayRefresh is a sorta dangerous parameter to play with and thus it isn't archive-able. We could do it, of course but if a user has a legacy CRT and sets something crazy they could damage their hardware etc. Thus to enforce a higher refresh, users will need an autoexec.cfg or will need to constantly invoke the change in the console. Edit: Results thus far Max between parms.displayHz and any value ( 30, 60, 120 ) = artifacts appear Use parms.displayHz directly = artifacts appear Hard-code 120 = one blip artifact only on the first entry into the game Based on the above, and that hard-coding 60 also eliminates the artifacts I can only surmise that parms.displayHz is not picking up the correct value?
  18. Cheers, can't wait for the release! For @stgatilov@nbohr1more@AluminumHaste and other code devs: With the beta cycle coming to an end and this issue seemingly breaking intended functionality, do you think it's possible for #6565 to be checked out before the release please? I wouldn't poke about small bugs, but this prevents me from designing my entity setup the way I intend it to work, without a fix such FM's won't be playable in the next release. I plan to have interactive items appear after completing objectives. For static objects it's easier to use the hide spawnarg and trigger them to show up, as opposed to using an atdm:teleport which is currently the only workaround besides using a script. Right now anything with "hide 1" doesn't have collisions or become frobable once shown; I suspect the engine doesn't load the collision model and treats "hide 1" as "noclipmodel 1" although the entity is meant to show up later. Example for frobbing: I have a readable journal I want to appear in a room after the player completes an objective. I give my journal the spawnarg "hide 1" so it starts invisible and unfrobable, set the journal as the objective completion target. When completing the objective and triggering the journal, it will become visible as intended but can't also be frobbed so the player can't read it. Example for collisions: I want a large statue to appear after the player explores an area. I add it as a func_static give it the hide spawnarg then have a trigger_once target the statue. Currently the model becomes visible but collisions don't activate, the player will see it but is able to walk through the mesh even if it's not "solid 0" or "noclipmodel 1".
  19. Release of gen_lang_plus v 1.0 My new C++ version of gen_lang.pl, called gen_lang_plus, is now available. For a comparison and complete description, as well as downloads, see the new wiki page Gen_Lang Programs. There are some modest improvements and bug fixes compared to gen_lang.pl, which it is hopefully positioned to supersede. In the larger picture, having this code as C++ may facilitate partial re-use, e.g., perhaps as future capabilities within TDM or DR. Thanks, @Amadeus, for providing me with output file samples to compare against.
  20. In investigating this further I have come to the conclusion that, unfortunately, it would be impossible to change the licence from CC_BY_SA_NC to GPL3 on the text files due in part to not knowing every author that worked on each file (since some contain comment lines created by different people) and also it now being literally impossible to contact all the people who worked on each file. Additionally, while the majority of text files could be recreated with no reliance on the originals (in the case of @Fiver's Libre version idea, sound/material shaders would likely all require creating from new anyway, so that any values would be specific to the replacement media files) it is the DEF files which are the main issue as their contents are critical to core engine features. Also, the c++ source code appears to only contain references to parent entity classes (e.g. IDMover but no Func_Mover) which I believe means that any entities that are defined in the .DEF files (along with their associated parameters and values) are also licenced under the CC_BY_SA_NC and can't be changed to GPL3 if I understand things correctly.
  21. It enables a visualization of the blocking object and the AI direction arrow. Search: cv_ai_debug_blocked in our github repo: https://github.com/search?q=repo%3Astgatilov%2Fdarkmod_src cv_ai_debug_blocked&type=code
  22. I did a bit of digging through the forum settings and I could not find any configuration for this. Looking at the underlying code, the comment count per page is hardcoded to 3. I could update the code, but I'm reluctant to do so as this would need to be re-applied after each update. That being said, it looks like we should start to brace for status updates being removed as Invision Forums v5 no longer supports status updates (we're still on v4.x): https://invisioncommunity.com/deprecation-tracker/status-updates-r19/ https://invisioncommunity.com/forums/topic/480551-status-updates-have-been-removed-in-v5/
  23. I cannot find the 4 digit code for the 1 armed bandit in the room near the great hammers.
  24. Something wrong with the hosts? See following topic for the investigation. https://forums.thedarkmod.com/index.php?/topic/22663-cannot-download-dark-mod/
  25. Maybe something is wrong on the hosts on that time? Others cant download it as well. https://forums.thedarkmod.com/index.php?/topic/22662-error-missing-end-chunk-0-193/
×
×
  • Create New...