Menu

Show posts

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 Menu

Messages - morganw

#481
My suggestion:
- Remove the sprite manager entirely (or reduce it to become a sprite viewer)
- Game compiler builds the sprite file (so as you describe)
- Sprites are are just read from disk and not duplicated anywhere

I'm not sure what the benefit is of maintaining copies of the sprites? If just to assign ID numbers, why not just start the filenames with a number, and read the filenames?
#482
If the chance is there, I'd like to suggest Perils of Poom.
QuoteCreating a humorous adventure of a quality normally reserved for commercial titles, Perils of Poom created something truly special. A great example of full and funny storytelling; this game manages to build a fantastic experience in a tangible universe, where nobody can spell the word "stereo". Highly recommended.
#483
If you use a Wav file instead of OGG or MP3, it shouldn't stutter.
#484
The idea of MaxChannels seems to be mainly for accommodating a fixed number of channels. To start with I think it needs a mixer, where any number of streams can be played back. If there is a user defined limit, it makes more sense to apply that based on the context of what you are playing (fixed AudioType isn't really flexible enough in this case), and if there is a system defined limit it would only be there to protect against distortion.

I'd suggest tags that are assigned to the mixer channels on playback, which could be applied by default based on AudioType.

As a very rough example of what I mean:
Code: ags

// define an AudioType with some tags
AudioType music = new AudioType("music", "repeating", "crossfade");
aMusic.type = music;

// play with default tags
aMusic.Play();

// play with extra tags
aMusic.Play("room2", "room3", "quiet");

// return all channels tagged as "music"
MixerChannel[] channels = Mixer.GetChannels("music")

// turn up any music which was initially tagged as "quiet" and re-tag it
foreach (MixerChannel channel in  Mixer.GetChannels("quiet", "music"))
{
    channel.Volume = 100;
    channel.RemoveTag("quiet");
    channel.AddTag("loud");
}


Potentially you could have reserved tags like "repeating" that are implemented internally, but as long as there are no arbitrary limits or assignments on the channels I think a script module would probably be able to implement something with traditional limits (if for some reason, someone still wants them).
#485
When you say "solve slopes", do you mean applying drag when moving up-hill, and moving faster down-hill?
#486
Thanks!
#487
Code: ags
player.on


This seems to be valid in the compiler, but I can't find an equivalent property which is documented.
Is this effectively the same as the room setting to show the player character? If so, I can't find an equivalent to check if the player is visible or not.
#488
As far as I know, when you get denied access, the only thing to do is retry again a little later, and then give up after a few tries. At a guess, either the game compiler isn't requesting an exclusive lock, or the handle is getting released part way through the process (before a second compilation stage requests a second handle).
#489
I'm updating the existing ones at the moment, the suggestion was to include yours as a submodule.
https://github.com/adventuregamestudio/ags-template-source/issues/2
#490
Are you accidentally cross-fading with yourself, and 150 ticks is enough to clear the cross-fade duration?
#491
Editor Development / Re: AGS Build Server
Tue 19/06/2018 17:56:23
This fixes the walking around and the hotspot detection, but character speed must have also been scaled somewhere because movement has slowed down (game speed is fine).
#492
Editor Development / Re: AGS Build Server
Sun 17/06/2018 21:21:33
I don't think I did build the 3.4.1 code, so it is probably the same issue.
Here is a (rough) script that will build the master branch: https://www.dropbox.com/s/ub9zjh1ip2vx0on/bootstrap.cmd?dl=1

Best to only use it in an empty VM, but it works on Windows 7 64bit and Windows 10 64bit.
First run needs elevated privileges, second run needs to be started from a Visual Studio command prompt.
#493
Editor Development / Re: AGS Build Server
Sat 16/06/2018 23:28:47
Yes, sure, I'll take another look.
Hotspots were also broken (@HOTSPOT@ wasn't getting updated and I couldn't interact with them), if it is the same issue.
#494
Editor Development / Re: AGS Build Server
Fri 15/06/2018 23:38:23
Quote from: Crimson Wizard on Fri 15/06/2018 19:10:52
Quote from: morganw on Fri 15/06/2018 18:06:13
Is it definitely the "allegro-4.4.2-agspatch" branch which I should be building?
What happens if you use prebuilt libraries? They are built from that branch.
Thanks for uploading those, I'll try it again tomorrow.

Quote from: Crimson Wizard on Fri 15/06/2018 19:10:52
May I get the build scripts somewhere to try and see these issues?
Yes, sure. Which version of Windows are you using?
I did find that some of the string handling in older versions of Powershell caused some problems, so I probably need to make some changes so it works in more places (possibly by not using Powershell).
#495
Editor Development / Re: AGS Build Server
Fri 15/06/2018 18:06:13
Tried the same process on Windows 7 instead of Windows 10, and ended up with the same result.
Is it definitely the "allegro-4.4.2-agspatch" branch which I should be building?
#496
Editor Development / Re: AGS Build Server
Mon 11/06/2018 23:20:34
I wasn't entirely sure if I had to run make any changes if using the patched repository and the existing VS2015 solution.
Would I have to run cmake or configure anything before building it? The build instructions seem to imply that the solution just needs to be built with no configuration.

Potentially, could I have knocked out the 8-bit support by building with the Windows 10 SDK and not specifying any sort of backwards compatibility flags?
#497
Quote from: Cassiebsg on Mon 11/06/2018 21:20:04
The Burgomaster (Barely started, so no full review yet)
Spoiler

Oh boy... well, it started bad due to the huge res, it's filling my entire screen and performing very very slow. :( I would rather something half size... but AGS can't do that! >:( Graphics are top notch as Blondbraid has already gotten us use to. :) Story seems very interesting... so I'm looking forward to play more... only someone decided that "Save game" was expendable... which means I'm reluctant to play a game I have no idea how long it'll take and plays slugish... so in other to start it, I need to wait for a slot where I might have a chance to finish it in one go. :-\ Not sure that'll happen before the voting deadline though.
[close]
I think the time to finish it for a first time player is probably about 15 minutes.
You might find the downscaling performance is significantly worse with the OpenGL renderer, if you've switched the settings.
This is a premium narrative experience, so a high resolution monitor is recommended. :)
#498
Editor Development / Re: AGS Build Server
Mon 11/06/2018 21:57:08
I used vcpkg to get the ogg, theora, and vorbis libraries, and that has let me script an install of all the requirements and run a build. Unfortunately my built game engine seems to have an input problem, where hotpots aren't registering when the cursor goes over them and room clicks are not processed (clicking on GUIs and characters is fine, but you can't walk anywhere). I've got the same problem on both the 3.4.1 and the master branches.

Anyone have any ideas?

Quote from: msbuild.exe
Build succeeded.

"C:\Libs\ags\Solutions\Engine.sln" (default target) (1) ->
"C:\Libs\ags\Solutions\Common.Lib\Common.Lib.vcxproj" (default target) (2) ->
(ClCompile target) ->
  ..\..\Common\ac\gamesetupstruct.cpp(297): warning C4101: 'bb': unreferenced local variable [C:\Libs\ags\Solutions\Common.Lib\Common.Lib.vcxproj]
  C:\Libs\ags\Common\font/wfnfont.h(78): warning C4267: 'return': conversion from 'size_t' to 'uint16_t', possible loss of data [C:\Libs\ags\Solutions\Common.Lib\Common.Lib.vcxproj]
  C:\Libs\ags\Common\font/wfnfont.h(78): warning C4267: 'return': conversion from 'size_t' to 'uint16_t', possible loss of data [C:\Libs\ags\Solutions\Common.Lib\Common.Lib.vcxproj]
  ..\..\Common\font\wfnfont.cpp(38): warning C4267: '=': conversion from 'size_t' to 'uint16_t', possible loss of data[C:\Libs\ags\Solutions\Common.Lib\Common.Lib.vcxproj]
  C:\Libs\ags\Common\font/wfnfont.h(78): warning C4267: 'return': conversion from 'size_t' to 'uint16_t', possible loss of data [C:\Libs\ags\Solutions\Common.Lib\Common.Lib.vcxproj]
  ..\..\Common\game\main_game_file.cpp(268): warning C4101: 'buffer': unreferenced local variable [C:\Libs\ags\Solutions\Common.Lib\Common.Lib.vcxproj]


"C:\Libs\ags\Solutions\Engine.sln" (default target) (1) ->
"C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj.metaproj" (default target) (3) ->
"C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj" (default target) (4) ->
  ..\..\Engine\ac\datetime.cpp(22): warning C4244: '=': conversion from 'time_t' to 'int', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\global_datetime.cpp(38): warning C4244: 'return': conversion from 'time_t' to 'int', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\math.cpp(67): warning C4244: '=': conversion from 'double' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\math.cpp(75): warning C4244: '=': conversion from 'double' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\math.cpp(83): warning C4244: '=': conversion from 'double' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\math.cpp(91): warning C4244: '=': conversion from 'double' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\math.cpp(99): warning C4244: '=': conversion from 'double' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\math.cpp(107): warning C4244: '=': conversion from 'double' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\math.cpp(116): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\math.cpp(124): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\math.cpp(132): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\math.cpp(140): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\math.cpp(148): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\math.cpp(156): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\math.cpp(164): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\math.cpp(173): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\ac\math.cpp(206): warning C4244: '=': conversion from 'double' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\debug\debug.cpp(263): warning C4477: 'sprintf' : format string '%d' requires an argument of type 'int',but variadic argument 1 has type 'HWND' [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\gfx\ali3dogl.cpp(503): warning C4838: conversion from 'const int32_t' to 'BYTE' requires a narrowing conversion [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\main\engine.cpp(1628): warning C4477: 'sprintf' : format string '%08X' requires an argument of type 'unsigned int', but variadic argument 2 has type 'PVOID' [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\platform\windows\gfx\ali3dd3d.cpp(765): warning C4838: conversion from 'double' to 'float' requires a narrowing conversion [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\libsrc\alogg\alogg.c(395): warning C4101: 'data_array': unreferenced local variable [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\libsrc\alogg\alogg.c(396): warning C4101: 'x': unreferenced local variable [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\libsrc\alogg\alogg.c(579): warning C4101: 'data_array': unreferenced local variable [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\libsrc\alogg\alogg.c(580): warning C4101: 'x': unreferenced local variable [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\libsrc\alogg\alogg.c(955): warning C4101: 'data_array': unreferenced local variable [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\libsrc\alogg\alogg.c(956): warning C4101: 'x': unreferenced local variable [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\libsrc\dumb-0.9.2\IT\ITREAD.C(244): warning C4244: '=': conversion from 'long' to 'byte', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\libsrc\dumb-0.9.2\IT\ITREAD.C(253): warning C4244: '=': conversion from 'long' to 'byte', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\libsrc\dumb-0.9.2\IT\ITRENDER.C(484): warning C4244: '=': conversion from 'sample_t' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\libsrc\dumb-0.9.2\IT\ITRENDER.C(485): warning C4244: '=': conversion from 'sample_t' to 'float', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\libsrc\dumb-0.9.2\IT\ITRENDER.C(2971): warning C4244: 'function': conversion from 'float' to 'int', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  ..\..\Engine\libsrc\dumb-0.9.2\IT\ITRENDER.C(2974): warning C4244: 'function': conversion from 'float' to 'int', possible loss of data [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]

"C:\Libs\ags\Solutions\Engine.sln" (default target) (1) ->
"C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj.metaproj" (default target) (3) ->
"C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj" (default target) (4) ->
(Link target) ->
  alfont_mt.lib(alfont.obj) : warning LNK4049: locally defined symbol _uvszprintf imported [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  alfont_mt.lib(alfont.obj) : warning LNK4049: locally defined symbol _set_blender_mode imported [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  alfont_mt.lib(alfont.obj) : warning LNK4049: locally defined symbol _makecol imported [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  alfont_mt.lib(alfont.obj) : warning LNK4049: locally defined symbol _getr imported [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  alfont_mt.lib(alfont.obj) : warning LNK4049: locally defined symbol _getg imported [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  alfont_mt.lib(alfont.obj) : warning LNK4049: locally defined symbol _getb imported [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  alfont_mt.lib(alfont.obj) : warning LNK4049: locally defined symbol _drawing_mode imported [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  alfont_mt.lib(alfont.obj) : warning LNK4049: locally defined symbol _solid_mode imported [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]
  alfont_mt.lib(alfont.obj) : warning LNK4049: locally defined symbol _ugetxc imported [C:\Libs\ags\Solutions\Engine.App\Engine.App.vcxproj]

    48 Warning(s)
    0 Error(s)
#499
Editor Development / Re: AGS Build Server
Sun 10/06/2018 19:20:56
Thanks, got it going for libogg, libtheora has no solution file (so I skipped that for the moment), for libvorbis it seems to keep references to the old Windows SDK (so no include for standard libraries that are installed).

I've now found this:
https://developercommunity.visualstudio.com/content/problem/198082/upgrading-a-solution-from-the-command-line-with-vi.html
...so it looks like if you install Visual Studio you get a tool to do the upgrade, but you can't specify a change in the Windows SDK as part of that.

Quote from: Antoine ALLARD
The whole point of using the CLI tools like devenv or msbuild is to automate stuff and not require any user intervention. This is mandatory when trying to build a CI/CD pipeline, having to manually open a project/solution in the IDE to re-target it totally kills this usage.
Indeed.

What I have was designed to be serverless, but it looks like this is going to need modified projects to exist somewhere, so this isn't going to work.
#500
Editor Development / Re: AGS Build Server
Sun 10/06/2018 16:15:38
I've been dabbling with a script to download everything and build it, but when trying to compile the first library it looks like I need an older set of build tools.
QuoteBuild started 10/06/2018 16:03:16.
Project "C:\Libs\Xiph\libogg-1.3.3\win32\VS2015\libogg_dynamic.sln" on node 1 (default targets).
ValidateSolutionConfiguration:
  Building solution configuration "Debug|Win32".
Project "C:\Libs\Xiph\libogg-1.3.3\win32\VS2015\libogg_dynamic.sln" (1) is building "C:\Libs\Xiph\libogg-1.3.3\win32\VS2015\libogg_dynamic.vcxproj" (2) on node 1
(default targets).
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(57,5): error MSB8020: The build tools for v120 (Platform Toolset = 'v120')
cannot be found. To build using the v120 build tools, please install v120 build tools.  Alternatively, you may upgrade to the current Visual Studio tools by sele
cting the Project menu or right-click the solution, and then selecting "Retarget solution". [C:\Libs\Xiph\libogg-1.3.3\win32\VS2015\libogg_dynamic.vcxproj]
Done Building Project "C:\Libs\Xiph\libogg-1.3.3\win32\VS2015\libogg_dynamic.vcxproj" (default targets) -- FAILED.
Done Building Project "C:\Libs\Xiph\libogg-1.3.3\win32\VS2015\libogg_dynamic.sln" (default targets) -- FAILED.

I haven't got Visual Studio installed, so does anyone know of a way to do the equivalent of "Retarget Solution" from the command line?
SMF spam blocked by CleanTalk