barryg613 / uqm-hd

Automatically exported from code.google.com/p/uqm-hd
0 stars 0 forks source link

640x480: trouble with quasi space #142

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Trouble entering quasi space

What steps will reproduce the problem?
1. Wait for quasi portal in Columbae
2. Enter portal 
3. Screen goes black, then returns to main menu screen

What is the expected output? What do you see instead?
Supposed to enter quasi space
Instead you are asked "new game", "load game" etc.

What version of the product are you using? On what operating system?
UQM-HD mod that was released today (1-1-13)
Running on WinXPPro-sp3,

Please provide any additional information below.
Also:
Lander is a rectangle with something that looks like a bulldozer on the front 
(not supposed to be like that? see pic)

That's it so far, still playing 

Original issue reported on code.google.com by kakkle...@gmail.com on 2 Jan 2013 at 8:28

Attachments:

GoogleCodeExporter commented 8 years ago
Hi kakkler42, where you playing in hi-res (1280x960) or in 640x480 ?
Alpha 1 release do not fully support the 640x480 resolution yet, so I'd like to 
verify this before we investigate further.

Original comment by Awakened...@gmail.com on 2 Jan 2013 at 7:24

GoogleCodeExporter commented 8 years ago
OK I have tested and I can confirm this bug is with the 640x480 resolution only.

Original comment by Awakened...@gmail.com on 2 Jan 2013 at 9:00

GoogleCodeExporter commented 8 years ago
640x480 in all my comments up through 1-3-13. My graphics card (mobility ATI 
9000, 64mb, in a CF-48 [really is an old laptop] ) makes it so that in hi-res 
mode I'm only able to see 2/3 of the screen at any given time (like my screen's 
not big enough for the game's windowed display) and resetting my display 
properties screws up my monitor. I'll try another resolution and let you know.

Original comment by kakkle...@gmail.com on 3 Jan 2013 at 9:54

GoogleCodeExporter commented 8 years ago
OK, thanks for letting us know! In the mean time, you could try the original 
resolution stretched at 2x with HQ2x, that should work!

Original comment by Awakened...@gmail.com on 3 Jan 2013 at 9:57

GoogleCodeExporter commented 8 years ago

Original comment by Jaakko.M...@gmail.com on 10 Jan 2013 at 3:37

GoogleCodeExporter commented 8 years ago

Original comment by Jaakko.M...@gmail.com on 10 Jan 2013 at 3:40

GoogleCodeExporter commented 8 years ago
Hello,
This problem did also bother me, so I went through the code to find out what it 
was due to. Hope this help.

Fact that it works in 320x200 and not in 640x400 is overall due to the global 
conception of the original project, which hasn't been made for multiple 
resolutions (if I got it right).

The problem is that parts of the resources are described:
1 - in data files
2 - in constants
3 - in code which distinguish res

That's what make it particularly hard to find where the real problem is.

Anyway, problem comes from the loading of the flagship for Quasispace:
>   UrQuanMasters.exe!init_sis()  Ligne 1035    C
    UrQuanMasters.exe!GetCodeResData(const char * ship_id, RESOURCE_DATA * resdata)  Ligne 130 + 0x14 octets    C
    UrQuanMasters.exe!loadResourceDesc(resource_desc * desc)  Ligne 39 + 0x1b octets    C
    UrQuanMasters.exe!res_GetResource(const char * res)  Ligne 126 + 0x9 octets C
    UrQuanMasters.exe!LoadCodeResInstance(const char * res)  Ligne 167 + 0x9 octets C
    UrQuanMasters.exe!load_ship(SPECIES_ID SpeciesID, BOOLEAN LoadBattleData)  Ligne 68 + 0x19 octets   C
    UrQuanMasters.exe!spawn_ship(STARSHIP * StarShipPtr)  Ligne 384 + 0xe octets    C
    UrQuanMasters.exe!GetNextStarShip(STARSHIP * LastStarShipPtr, unsigned short which_side)  Ligne 521 + 0x9 octets    C
    UrQuanMasters.exe!selectAllShips(short num_ships)  Ligne 379 + 0x9 octets   C
    UrQuanMasters.exe!Battle(void (void)* callback)  Ligne 448 + 0xa octets C
    UrQuanMasters.exe!Starcon2Main(void * threadArg)  Ligne 276 + 0xa octets    C

More exactly in the lines in sis_ship.c :
        if (GET_GAME_STATE (ARILOU_SPACE_SIDE) > 1 && RESOLUTION_FACTOR > 0)
            new_sis_desc.ship_data.ship_rsc[0] = SIS_QUASI_MASK_PMAP_ANIM;
        else
            new_sis_desc.ship_data.ship_rsc[0] = SIS_HYPER_MASK_PMAP_ANIM;

In low resolution, game is using hyperspace graphics, and it works.
In higher res however, it is using quasispace graphics, and, I don't know why, 
they are not there.

I didn't try to understand how the resources are loaded, and how to properly 
correct it,
setting the correct resource in the correct place (Already spent some time on 
it,
and don't know if it really exists).

However, just recompiled the project after replacing the lines (in sis_ship.c) :
[code]
        if (GET_GAME_STATE (ARILOU_SPACE_SIDE) > 1 && RESOLUTION_FACTOR > 0)
            new_sis_desc.ship_data.ship_rsc[0] = SIS_QUASI_MASK_PMAP_ANIM;
        else
            new_sis_desc.ship_data.ship_rsc[0] = SIS_HYPER_MASK_PMAP_ANIM;
[/code]
by
[code]
        new_sis_desc.ship_data.ship_rsc[0] = SIS_HYPER_MASK_PMAP_ANIM;
[/code]

Best would be to set the resource "ship.flagship.graphics.quasispace" 
correctly... I don't know how to do it ^^

I know, this is a little piggy hack.....

No!! *Campers* do not want to blame me!
I am clear and you do not say so much the *fat* words!
I *paint the town* everyday but *fingers* have *right of way*
Now you understand, we can *hammer* the *tulips* together.

Original comment by charleol...@gmail.com on 19 Feb 2013 at 6:32

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
This got assigned to me. It's a programming issue for Jaakko. Thanks 
Charleolive.

Original comment by dczanik@gmail.com on 11 Mar 2013 at 5:25

GoogleCodeExporter commented 8 years ago
This was not a programming issue.

The reason was that the quasispace asset lines (xxx.ani) were missing from the 
hires2x.rmp. I have now added these lines into the hires2x.rmp so the 
quasispace now works in 640x480.

Damon, I suggest that you still check the hires2x.rmp and see which lines are 
still missing (compared to hires4x.rmp). These two files differ in size and IMO 
they should be exactly the same size as they should contain all the same .ani 
files listed (with the exception that '4x' is replaced with '2x' in the 
directory names, and it doesn't affect the .rmp's filesize.)

Original comment by Jaakko.M...@gmail.com on 11 Mar 2013 at 7:15

GoogleCodeExporter commented 8 years ago
@dczanik:
> Thanks Charleolive.
Thanks you for all the work provided !

@dczanik, @Jaakko:
> This was not a programming issue.

Yes, as I stated in my post, "I didn't try to understand how the resources are 
loaded"
and proposed a temporary dirty hack to play the game, though, pointing it was a 
resource problem. Sorry if I didn't make that clear enough.

Thanks so much for all you great work

Thanks so

Original comment by charleol...@gmail.com on 11 Mar 2013 at 9:21

GoogleCodeExporter commented 8 years ago
Charleolive, no problem :)

That my "This was not a programming issue" was meant chiefly to Damon, our main 
graphician and the lead guy of this whole shebang, as the .ani files and 
graphics are more his department.

Indeed your fix does the trick, and in  many places we have to juggle whether 
to fix a graphics bug by changing the code or changing the graphic assets. In 
this case, changing the graphics was the smoother way to go.

If you're interested in how the defined macro names in the code (e.g. 
SIS_QUASI_MASK_PMAP_ANIM) are mapped into the actual .png files, take a look at 
the igfxres.h in the source code folder and the hires2x.rmp in the content 
folder.
1. The igfxres.h (as well as imusicre.h, ifontres.h, and inside all ships 
source code folders the resinst.h files) map the defined macro names into asset 
name strings:
#define SIS_QUASI_MASK_PMAP_ANIM "ship.flagship.graphics.quasispace"

2. Then, in content/addons/hires2x/hires2x.rmp this asset name string is mapped 
into an .ani file:
ship.flagship.graphics.quasispace = 
GFXRES:addons/hires2x/ships/flagship/quasispace.ani

3. Finally, in the content/addons/hires2x/ships/flagship/quasispace.ani file, 
the actual .png files are listed.

Original comment by Jaakko.M...@gmail.com on 11 Mar 2013 at 9:31

GoogleCodeExporter commented 8 years ago
Verified.

Original comment by Jaakko.M...@gmail.com on 1 Apr 2013 at 6:47