View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001099 | FSSCP | tables | public | 2006-10-09 16:05 | 2006-11-13 23:28 |
Reporter | Flipside | Assigned To | phreak | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Summary | 0001099: 2 Problems with Tables. | ||||
Description | 1) 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 Information | The 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. | ||||
Tags | No tags attached. | ||||
2006-10-09 16:05
|
|
|
i'll take a look at this. OMG i'm actually fixing bugs again! |
|
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 |
|
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()------------------------------------------------------------------ |
|
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. |
|
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 |
|
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. |
|
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 |
|
It sounds like the second option comes closest to matching the existing behavior of rearming missiles. |
|
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 :) |
|
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. |
|
Forgot to mention that the bug fix has been committed to CVS. |
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 |