View Issue Details

IDProjectCategoryView StatusLast Update
0001099FSSCPtablespublic2006-11-13 23:28
ReporterFlipside Assigned Tophreak  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Summary0001099: 2 Problems with Tables.
Description1) There is a parsing problem with $Show Primary Models which breaks secondary weapons if there is no space between the opening bracket and the first argument and the last argument and the closing bracket.

2) Ballistic Reloading seems to be malfunctioning. The support ship will dock with the ship and reload secondaries, but cannot reload ballistic primaries, it will simply make the reloading sound repeatedly.
Additional InformationThe file with both these problems can be found attached...

I think they are both table related, as some people are claiming that primary reload worked with some table tweaking. I took the Maul table from a basic Maxim setup, so there was no +Weapon Range value, which seems to be one of the factoring arguments.
TagsNo tags attached.

Activities

2006-10-09 16:05

 

Azaes.zip (847,890 bytes)

phreak

2006-10-09 20:45

developer   ~0006841

i'll take a look at this.

OMG i'm actually fixing bugs again!

phreak

2006-10-09 21:08

developer   ~0006842

Last edited: 2006-10-09 21:21

Problem 1: The parser is picking up "NO)" instead of "NO"). All that probably needs to be done is to modify copy_to_next_white() to terminate when it sees an open or close parenthesis outside of double quotation marks. advance_to_next_white() needs to have the same modification done.


Warning: Boolean 'NO)' type unknown; assuming 'no/false'
File:C:\projects\fs2_open\code\Parse\PARSELO.CPP
Line: 2203
[This filename points to the location of a file on the computer that built this executable]

Call stack:
------------------------------------------------------------------
    stuff_bool_list() parse_ship() parse_shiptbl() parse_modular_table() ship_init() game_init() game_main() WinMain() WinMainCRTStartup() kernel32.dll 7c816fd7()
------------------------------------------------------------------

edited on: 10-09-06 17:21

phreak

2006-10-09 21:13

developer   ~0006843

I can't test problem two since I get this error when the support ship tries to dock with me. What it is saying is that each "docking bay" needs two "docking points"

Assert: pm1->docking_bays[dockee_index].num_slots == 2
File: c:\projects\fs2_open\code\ai\aicode.cpp
Line: 9749
[This filename points to the location of a file on the computer that built this executable]

Call stack:
------------------------------------------------------------------
    ai_dock() ai_execute_behavior() ai_frame() ai_process() ship_process_post() obj_move_all_post() obj_move_all() game_simulation_frame() game_frame() game_do_frame() game_do_state() gameseq_process_events() game_main() WinMain() WinMainCRTStartup()------------------------------------------------------------------

Flipside

2006-10-10 00:56

reporter   ~0006847

Ok, I know what all the problems reported in your post on HLP are caused by, I'll fix and notify here when I've uploaded a corrected version.

Flipside

2006-10-10 18:22

reporter   ~0006848

Last edited: 2006-10-10 18:23

Updated version included, I've tested this and it doesn't fix the reload problem, however it does generate 2 errors, one regarding "ballistic Primaries" not being needed any more and one about not recognising 'Generate Hud Icon'. I'm assuming the first one is simply because of how the code works now, and the second because it's been deactivated or the like?

Hmmm can't seem to attach the file again, unless it's updated the old one.

Just in case, try

http://www.aqsx85.dsl.pipex.com/Azaes.zip

edited on: 10-10-06 14:23

Goober5000

2006-10-10 20:43

administrator   ~0006850

The "two dock slots" is because each dock point is actually composed of two locations in space. The game calculates a line between them to determine the orientation of a docked object. Perhaps a normal would have been better, but that's the way it goes.

phreak

2006-10-10 23:47

developer   ~0006855

Last edited: 2006-10-10 23:50

ok i found the cause of the reload bug

The variable "aip->rearm_first_ballistic_primary" controls whether or not the sound file for the loading mechanism for the support ship has played. if "aip->rearm_first_ballistic_primary" equals true, then that means the sound file hasn't played yet. The code will also recalculate the next rearm step timestamp if this variable is still true, which basically always puts it in the future after the first reload step, since the timestamp is initially zero (always in the past). The only way this variable could be set to false is if the last primary bank is a ballistic primary. This behavior was copied over from the missile reload code where all seconadary weapons used ammo. We can not assume that a ballistic primay resides last in a mixed mode primary weapon environment. So, in your implementation of the Azaes, the ballistic gun is in Bank 0, where the non-ammo using Subach HL-7 is in Bank 1, which is the cause of this rather obscure bug.

There are two potential fixes for this. First, we could just play the sound when the first ballistic primary bank is reloaded. Or we could find the last occurance of a ballistic primary (the greatest of Bank 0, 1, 2) and play it after that bank is reloaded

edited on: 10-10-06 19:48

edited on: 10-10-06 19:50

Goober5000

2006-10-11 00:48

administrator   ~0006856

It sounds like the second option comes closest to matching the existing behavior of rearming missiles.

Flipside

2006-10-12 22:19

reporter   ~0006877

Yup, second option sounds better to me too. And Kudos for spotting that one Phreak!

Dontcha just hate logic errors? Give me a nice easy syntax error over logic errors any day.

Anyway, if you need the fixes tested independently at any point, let me know :)

phreak

2006-10-30 13:43

developer   ~0007042

i haven't got around to testing my fix yet - school hit me in the ass. hopefully, i'll have it all tested by the end of the week.

phreak

2006-11-13 23:27

developer   ~0007106

Forgot to mention that the bug fix has been committed to CVS.

Issue History

Date Modified Username Field Change
2006-10-09 16:05 Flipside New Issue
2006-10-09 16:05 Flipside File Added: Azaes.zip
2006-10-09 20:45 phreak Note Added: 0006841
2006-10-09 20:46 phreak Status new => assigned
2006-10-09 20:46 phreak Assigned To => phreak
2006-10-09 21:08 phreak Note Added: 0006842
2006-10-09 21:12 phreak Note Edited: 0006842
2006-10-09 21:13 phreak Note Added: 0006843
2006-10-09 21:21 phreak Note Edited: 0006842
2006-10-09 21:21 phreak Note Edited: 0006842
2006-10-10 00:56 Flipside Note Added: 0006847
2006-10-10 18:22 Flipside Note Added: 0006848
2006-10-10 18:23 Flipside Note Edited: 0006848
2006-10-10 20:43 Goober5000 Note Added: 0006850
2006-10-10 23:47 phreak Note Added: 0006855
2006-10-10 23:48 phreak Note Edited: 0006855
2006-10-10 23:50 phreak Note Edited: 0006855
2006-10-11 00:48 Goober5000 Note Added: 0006856
2006-10-12 22:19 Flipside Note Added: 0006877
2006-10-30 13:43 phreak Note Added: 0007042
2006-11-12 21:37 phreak Status assigned => resolved
2006-11-12 21:37 phreak Resolution open => fixed
2006-11-12 21:37 phreak Steps to Reproduce Updated
2006-11-13 23:27 phreak Status resolved => feedback
2006-11-13 23:27 phreak Resolution fixed => reopened
2006-11-13 23:27 phreak Note Added: 0007106
2006-11-13 23:28 phreak Status feedback => resolved
2006-11-13 23:28 phreak Resolution reopened => fixed
2006-11-13 23:28 phreak Steps to Reproduce Updated