Darn, was looking forward to attending tomorrow, unfortunately my household is Mac-only. Good luck everyone!
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts MenuQuote from: Crimson Wizard on Fri 05/04/2024 16:06:09@Khris I remember now, @vga256 had same problem in one game, I was able to reproduce this with his game sources, but I was not able to create the minimal test case.
Even using your code from above separated into a dummy game does not cause the issue (compiler still correctly detects undefined "nide").
It seems that a number of factors are required to make this happen, and I don't know which ones.
CurrentVehicleMap[i].FlyToPosition(terrainTile.x, terrainTile.y);
Quote from: Crimson Wizard on Wed 21/02/2024 16:36:55The crash with Software renderer is occuring within a call to Display, inside "game_start" (specifically it is displaying text "x 11 y 10 currentMapWidth 64", if that matters). It looks like engine is trying to draw room viewport for some reason, although the room is not loaded yet, and this where it crashes because some data is not initialized yet. I would need to investigate this, but most likely it's simply should be skipping certain steps when the game is drawn without any loaded room.
EDIT: yes, it's confirmed, in 3.6.1 calling Display in game_start crashes the game if using Software renderer.
Quote from: Crimson Wizard on Wed 21/02/2024 03:47:43Yes, please, either a Crashdump or a compiled game would be necessary.
Also, could you elaborate, does it crash all the time or not, and if yes, then when does the "out of bounds" happen?
Quote from: eri0o on Mon 15/01/2024 00:35:55As far as I remember it does a reverse projection of the point in the transformed rectangle of the sprite and then picks up the pixel color and returns true if it doesn't match the COLOR_TRANSPARENT
It uses some sorting to figure it out the order too (which can be slow, but it sorts only on Objects I think).
Quote from: Crimson Wizard on Fri 05/01/2024 07:57:23Please, give some details about your project: color depth, the graphics driver you are using, what is the actual room background; are these real guis or you are drawing them on a drawing surface, etc.
Quote from: Crimson Wizard on Thu 12/10/2023 16:10:18Quote from: vga256 on Fri 06/10/2023 18:22:41Oh interesting. It appears this is bug is far less generalized that I had guessed. I'll run through a few different coding scenarios until I figure out which one it can be reproduced with.
Edit: I've tried to replicate this with a new/empty test project with the same kind of code, and I cannot replicate it. Would you mind if I zipped up my project folder and sent it to you via PM? I can point out how to reproduce it using my project.
I managed to replicate this with certain code, but only after I copied lots of your code over (struct definitions, etc). My attempts to replicate this in a smaller environment failed consistently.
This is definitely a compiler's error, but not an obvious one, it fails to track element access correctly at some point, maybe it cannot handle more complicated script.
The new compiler by fernewelten, which we use in ags4, does not have this problem, it points out the scripting mistake.
Using new compiler I found multiple other syntax mistakes in your game's script, so that's not the only issue: non-optional args following optional args (with default value), comparing non-managed object to null, comparing void function return value to an integer, and so on.
Old compiler misses all these for some reason.
Too bad the new compiler has its own problems, where things that were supposed to work with old compiler normally don't work anymore. For instance, it no longer can print char[n] array as a string into String.Format. I might report these as mistakes. But I think there are workarounds for all of these cases.
Quote from: Crimson Wizard on Thu 05/10/2023 18:52:41Hmm, this sounds like a compiler error, as engine merely follows compiler's instructions there, getting into unexpected behavior.
But how do I reproduce this exactly? Trying random array access, compiler does not let this through:
An internal error has occurred. Please note down the following information.
If the problem persists, contact the game author for support or post these details on the AGS Technical Forum.
(Engine version 3.6.0.51)
Error: Error running function 'tileMapCell_OnClick':
Error (line 1878): internal error: SCMD_CALLOBJ argument is not an object of built-in or user-defined type
in the active script:
in "TerrainMap.asc", line 1878
from "GlobalScript.asc", line 863
case eModeHeliDrop:
CurrentVehicleMap[i].FlyToPosition(terrainTile.x, terrainTile.y);
Quote from: ThreeOhFour on Thu 14/09/2023 02:56:05Hello folks! The lovely Eduardo Moreno Martin emailed me and asked me if I would consider releasing this little old thing for free, as it's impossible to find anywhere online! I'm quite happy to do so, but don't have a solid hosting solution at the moment, so anybody interested, here's the Dropbox link, in true, classy, indie style!![]()
Quote from: eri0o on Wed 16/08/2023 14:27:31About dynamically created objects we need to first have either delegates (#1409) or pointer downcast (#2018), so we can pass a function/action object from script to a function/attribute that "links" the necessary interactions. Since any of these will probably be exclusive to the new compiler and ags4 is meant to have both the old and the new compiler for a while, we can't do it there until the old compiler is let go - assuming the new dynamic creation will be the only way. So I don't see this making into ags4 without big changes (possibly breaking).
By continuing to use this site you agree to the use of cookies. Please visit this page to see exactly how we use these.
Page created in 0.032 seconds with 18 queries.